)
type Stream struct {
- name string
- ctr uint32
- actr uint32
- muted bool
- in chan []byte
- stats *Stats
+ name string
+ ctr uint32
+ actr uint32
+ muted bool
+ silenced bool
+ in chan []byte
+ stats *Stats
}
var (
if err := GUI.SetKeybinding("", gocui.KeyTab, gocui.ModNone, tabHandle); err != nil {
log.Fatal(err)
}
- if err := GUI.SetKeybinding("", gocui.KeyF1, gocui.ModNone, mute); err != nil {
+ if err := GUI.SetKeybinding("", gocui.KeyF1, gocui.ModNone,
+ func(gui *gocui.Gui, v *gocui.View) error {
+ muteToggle()
+ return nil
+ },
+ ); err != nil {
log.Fatal(err)
}
- if err := GUI.SetKeybinding("", gocui.KeyF10, gocui.ModNone, guiQuit); err != nil {
+ if err := GUI.SetKeybinding("", gocui.KeyF10, gocui.ModNone,
+ func(gui *gocui.Gui, v *gocui.View) error {
+ Finish <- struct{}{}
+ return gocui.ErrQuit
+ },
+ ); err != nil {
log.Fatal(err)
}
if !ok {
break
}
+ if stream.silenced {
+ continue
+ }
if _, err = io.Copy(player,
bytes.NewReader(pcmbuf)); err != nil {
log.Println("play:", err)