Skip to content

Commit

Permalink
fix: warn user if sample rate other than 44100 Hz
Browse files Browse the repository at this point in the history
Closes #129.
  • Loading branch information
vsariola committed Feb 17, 2024
1 parent 954b306 commit db6c9f6
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 0 deletions.
3 changes: 3 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,8 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
- Fixed the dropdown for targeting sends making it impossible to choose certain
ops. This was done just by reducing the default height of popup menus so they
fit on screen ([#121][i121])
- Warn user about sample rate being other than 44100 Hz, as this lead to weird
behaviour. Sointu assumes the samplerate always to be 44100 Hz. ([#129][i129])

## v0.3.0
### Added
Expand Down Expand Up @@ -126,4 +128,5 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
[i120]: https://github.com/vsariola/sointu/issues/120
[i121]: https://github.com/vsariola/sointu/issues/121
[i122]: https://github.com/vsariola/sointu/issues/122
[i129]: https://github.com/vsariola/sointu/issues/129
[i130]: https://github.com/vsariola/sointu/issues/130
10 changes: 10 additions & 0 deletions cmd/sointu-vsti/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,11 @@ package main
import (
"crypto/rand"
"encoding/hex"
"fmt"
"math"
"os"
"path/filepath"
"time"

"github.com/vsariola/sointu"
"github.com/vsariola/sointu/cmd"
Expand Down Expand Up @@ -63,6 +66,13 @@ func init() {
model, player := tracker.NewModelPlayer(cmd.MainSynther, recoveryFile)
t := gioui.NewTracker(model)
tracker.Bool{BoolData: (*tracker.InstrEnlarged)(model)}.Set(true)
if s := h.GetSampleRate(); math.Abs(float64(h.GetSampleRate()-44100.0)) > 1e-6 {
model.Alerts().AddAlert(tracker.Alert{
Message: fmt.Sprintf("VSTi host sample rate is %.0f Hz; sointu supports 44100 Hz only", s),
Priority: tracker.Error,
Duration: 10 * time.Second,
})
}
go t.Main()
context := VSTIProcessContext{host: h}
buf := make(sointu.AudioBuffer, 1024)
Expand Down

0 comments on commit db6c9f6

Please sign in to comment.