// // dolmetschctl // // // Copyright (C) 2019 Christian Pointner // // This file is part of dolmetschctl. // // dolmetschctl is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // any later version. // // dolmetschctl is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // // You should have received a copy of the GNU General Public License // along with dolmetschctl. If not, see . // package main import ( "log" "os" "time" "spreadspace.org/dolmetschctl/pkg/mixer" ) func main() { log.Println("hello world.") m, err := mixer.NewMixer(mixer.Config{"ESI MIDIMATE eX MIDI 2", "ESI MIDIMATE eX MIDI 1"}) if err != nil { log.Println("Error opening the mixer: %v", err) os.Exit(1) } defer m.Shutdown() log.Printf("successfully connected to mixer:") log.Printf(" input: %s\t%s", m.DevIn.ID, m.DevIn.Name) log.Printf(" output: %s\t%s", m.DevOut.ID, m.DevOut.Name) if err = m.Init(); err != nil { log.Println("Error initializeing the mixer: %v", err) os.Exit(1) } log.Printf("mixer successfully initialized!") // TODO: implement state machine m.UnMute(0x24) m.SetLevel(0x24, 42) time.Sleep(2 * time.Second) m.Mute(0x24) m.SetLevel(0x24, mixer.FaderLevel0db) log.Printf("exiting.") }