feat: add the ability to use Sointu as a sync-tracker

There is a new "sync" opcode that saves the top-most signal every 256 samples to the new "syncBuffer" output. Additionally, you can enable saving the current fractional row as sync[0], avoiding calculating the beat in the shader, but also calculating the beat correctly when the beat is modulated.
This commit is contained in:
vsariola
2021-03-09 23:47:27 +02:00
parent a3bdf565fd
commit 99dbdfe223
30 changed files with 375 additions and 88 deletions

24
rpc/rpc_test.go Normal file
View File

@ -0,0 +1,24 @@
package rpc_test
import (
"testing"
"github.com/vsariola/sointu/rpc"
)
func TestSendReceive(t *testing.T) {
receiver, err := rpc.Receiver()
if err != nil {
t.Fatalf("rpc.Receiver error: %v", err)
}
sender, err := rpc.Sender("127.0.0.1")
if err != nil {
t.Fatalf("rpc.Sender error: %v", err)
}
value := []float32{42}
sender <- value
valueGot := <-receiver
if valueGot[0] != value[0] {
t.Fatalf("rpc.Sender error: %v", err)
}
}