add Run() to Remote type. Launches Voicemeeter GUI

pooler no longer defined as singleton
This commit is contained in:
onyx-and-iris 2022-12-15 00:00:20 +00:00
parent 68e9654502
commit 2a9b925623
2 changed files with 24 additions and 15 deletions

View File

@ -75,22 +75,20 @@ type pooler struct {
} }
func newPooler(k *kind) *pooler { func newPooler(k *kind) *pooler {
if p == nil { p = &pooler{
p = &pooler{ k: k,
k: k, run: true,
run: true, event: newEvent(),
event: newEvent(), pdirtyDone: make(chan bool),
pdirtyDone: make(chan bool), mdirtyDone: make(chan bool),
mdirtyDone: make(chan bool), midiDone: make(chan bool),
midiDone: make(chan bool), ldirtyDone: make(chan bool),
ldirtyDone: make(chan bool),
}
go p.done()
go p.parameters()
go p.macrobuttons()
go p.midi()
go p.levels()
} }
go p.done()
go p.parameters()
go p.macrobuttons()
go p.midi()
go p.levels()
return p return p
} }

View File

@ -55,6 +55,17 @@ func (r *Remote) InitPooler() {
r.pooler = newPooler(r.Kind) r.pooler = newPooler(r.Kind)
} }
// Run launches the Voicemeeter GUI for a kind.
func (r *Remote) Run(kindId string) error {
err := runVoicemeeter(kindId)
if err != nil {
return err
}
time.Sleep(time.Second)
clear()
return nil
}
// Type returns the type of Voicemeeter (basic, banana, potato) // Type returns the type of Voicemeeter (basic, banana, potato)
func (r *Remote) Type() string { func (r *Remote) Type() string {
val, err := getVMType() val, err := getVMType()