package module moved into root of repository.

example in readme updated.

level pooler implemented, runs in its own goroutine.

Remote type now exported

observers example updated.
This commit is contained in:
onyx-and-iris
2022-07-09 19:01:58 +01:00
parent f16bed893f
commit 70d69f5599
32 changed files with 179 additions and 75 deletions

View File

@@ -2,37 +2,45 @@ package main
import (
"fmt"
"strings"
"time"
"github.com/onyx-and-iris/voicemeeter-api-go/voicemeeter"
"github.com/onyx-and-iris/voicemeeter-api-go"
)
type observer struct {
i int
vm *voicemeeter.Remote
}
func (o observer) OnUpdate(subject string) {
fmt.Println(o.i, subject)
if strings.Compare(subject, "pdirty") == 0 {
fmt.Println("pdirty!")
}
if strings.Compare(subject, "mdirty") == 0 {
fmt.Println("mdirty!")
}
if strings.Compare(subject, "ldirty") == 0 {
fmt.Printf("%v %v %v %v %v %v %v %v\n",
o.vm.Bus[0].Levels().IsDirty(),
o.vm.Bus[1].Levels().IsDirty(),
o.vm.Bus[2].Levels().IsDirty(),
o.vm.Bus[3].Levels().IsDirty(),
o.vm.Bus[4].Levels().IsDirty(),
o.vm.Bus[5].Levels().IsDirty(),
o.vm.Bus[6].Levels().IsDirty(),
o.vm.Bus[7].Levels().IsDirty(),
)
}
}
func main() {
vmRem := voicemeeter.GetRemote("banana")
vmRem := voicemeeter.GetRemote("potato")
vmRem.Login()
o := observer{1}
o2 := observer{2}
o3 := observer{3}
o4 := observer{4}
o := observer{vmRem}
vmRem.Register(o)
vmRem.Register(o2)
vmRem.Register(o3)
vmRem.Register(o4)
time.Sleep(5 * time.Second)
vmRem.Deregister(o2)
time.Sleep(5 * time.Second)
time.Sleep(30 * time.Second)
vmRem.Deregister(o)
vmRem.Logout()
}