private void Form1_FormClosing(Object sender, FormClosingEventArgs e) { if (start == StartResult.Success) { DialogResult r = MessageBox.Show("Do you want to restore your VoiceMeeter settings?", "Exit", MessageBoxButtons.YesNoCancel); if (r == DialogResult.Yes) { restoreVoiceMeeter(); } if (r == DialogResult.Cancel) { e.Cancel = true; return; } } //Closing the VoiceMeeter remote connection if startup didn't fail on the VoiceMeeter step if (start != StartResult.VM) { vm.Dispose(); //Closing the Telnet TeamSpeak connection if startup didn't fail on the TeamSpeak step if (start != StartResult.TS) { ti.Write("quit"); } } Console.WriteLine("Connections interrupted"); }
public void Main() { tr.Elapsed += OnTime; vm = new VmClient(); tr.AutoReset = true; tr.Enabled = true; vL.cVol = VolumeLane.Vol.Music; Thread.Sleep(50); while (true) { while (cmd.Count == 0) { Thread.Sleep(1); } if (cmd[0] == 0xff) { break; } switch (cmd[0]) { case 0x29: case 0x2a: case 0x2b: SwitchVolOutput(cmd[0]); break; case 0x28: SwitchMute(); break; case 0x027: SwitchMode(); break; case 0x22: VolumeUp(vol); break; case 0x21: VolumeDown(vol); break; case 0x26: vm.SetParam("Command.Restart", 1.0f); break; case 0x23: vol = vol == 3 ? 1 : 3; break; } cmd.RemoveAt(0); } tr.Dispose(); vm.Dispose(); }
public void Cleanup() { VmClient.Dispose(); }
static void Main(string[] args) { var isCanceled = false; Console.CancelKeyPress += (sender, eventArgs) => { Console.WriteLine("Got the Ctrl-C"); isCanceled = true; eventArgs.Cancel = true; }; var deviceName = "X"; var vb = new VmClient(); var od = new OutputDevice(GetMidiOutputDevice(deviceName)); var id = new InputDevice(GetMidiInputDevice(deviceName)); for (int channel = 1; channel <= 8; channel++) { od.Send(new ChannelMessage(ChannelCommand.Controller, 0, channel, 0)); } //UpdateCCVoiceMeter(vb, "Bus[0].Gain", 116); //UpdateCCVoiceMeter(vb, "Bus[1].Gain", 89); //UpdateCCVoiceMeter(vb, "Bus[2].Gain", 0); //UpdateCCVoiceMeter(vb, "Bus[3].Gain", 127, 12.0f); //UpdateCCVoiceMeter(vb, "Bus[4].Gain", 127, 12.0f); //UpdateCCVoiceMeter(vb, "Strip[0].Gain", 102); //UpdateCCVoiceMeter(vb, "Strip[1].Gain", 102); //UpdateCCVoiceMeter(vb, "Strip[2].Gain", 127, 12.0f); //UpdateCCVoiceMeter(vb, "Strip[3].Gain", 102); //UpdateCCVoiceMeter(vb, "Strip[4].Gain", 102); id.ChannelMessageReceived += (ob, e) => { var m = e.Message; if (m.MessageType == MessageType.Channel && m.Command == ChannelCommand.NoteOff) { float vmVal; switch (m.Data1) { case 8: ToggleVoiceMeeter(vb, "Strip[0].B1"); break; case 16: ToggleVoiceMeeter(vb, "Strip[0].B2"); break; case 9: ToggleVoiceMeeter(vb, "Strip[1].B1"); break; case 17: ToggleVoiceMeeter(vb, "Strip[1].B2"); break; case 10: ToggleVoiceMeeter(vb, "Strip[2].B1"); break; case 18: ToggleVoiceMeeter(vb, "Strip[2].B2"); break; case 12: ToggleVoiceMeeter(vb, "Strip[3].A1"); break; case 20: ToggleVoiceMeeter(vb, "Strip[3].A2"); break; case 13: ToggleVoiceMeeter(vb, "Strip[4].A1"); break; case 21: ToggleVoiceMeeter(vb, "Strip[4].A2"); break; case 14: ToggleVoiceMeeter(vb, "Bus[0].Mute"); break; case 15: ToggleVoiceMeeter(vb, "Bus[1].Mute"); break; case 23: ToggleVoiceMeeter(vb, "Bus[2].Mute"); break; } } else if (m.MessageType == MessageType.Channel && m.Command == ChannelCommand.Controller) { switch (m.Data1) { case 1: // CC1 UpdateCCVoiceMeter(vb, "Strip[0].Gain", m.Data2); break; case 2: // CC2 UpdateCCVoiceMeter(vb, "Strip[1].Gain", m.Data2); break; case 3: UpdateCCVoiceMeter(vb, "Strip[2].Gain", m.Data2); //UpdateCCVoiceMeter(vb, "Strip[2].Gain", m.Data2, 12.0f); break; case 5: UpdateCCVoiceMeter(vb, "Strip[3].Gain", m.Data2); break; case 6: UpdateCCVoiceMeter(vb, "Strip[4].Gain", m.Data2); break; case 7: UpdateCCVoiceMeter(vb, "Bus[0].Gain", m.Data2); break; case 8: UpdateCCVoiceMeter(vb, "Bus[1].Gain", m.Data2); break; case 9: UpdateCCVoiceMeter(vb, "Bus[2].Gain", m.Data2); break; } } }; id.StartRecording(); while (!isCanceled) { if (vb.Poll()) { //strip 0 var vmVal = vb.GetParam($"Strip[0].B1"); od.Send(new ChannelMessage(ChannelCommand.NoteOn, 0, 0, (int)vmVal)); vmVal = vb.GetParam($"Strip[0].B2"); od.Send(new ChannelMessage(ChannelCommand.NoteOn, 0, 8, (int)vmVal)); //strip 1 vmVal = vb.GetParam($"Strip[1].B1"); od.Send(new ChannelMessage(ChannelCommand.NoteOn, 0, 1, (int)vmVal)); vmVal = vb.GetParam($"Strip[1].B2"); od.Send(new ChannelMessage(ChannelCommand.NoteOn, 0, 9, vmVal == 1 ? 2 : 0)); //strip 2 vmVal = vb.GetParam($"Strip[2].B1"); od.Send(new ChannelMessage(ChannelCommand.NoteOn, 0, 2, (int)vmVal)); vmVal = vb.GetParam($"Strip[2].B2"); od.Send(new ChannelMessage(ChannelCommand.NoteOn, 0, 10, vmVal == 1 ? 2 : 0)); //strip 3 vmVal = vb.GetParam($"Strip[3].A1"); od.Send(new ChannelMessage(ChannelCommand.NoteOn, 0, 4, (int)vmVal)); vmVal = vb.GetParam($"Strip[3].A2"); od.Send(new ChannelMessage(ChannelCommand.NoteOn, 0, 12, (int)vmVal)); //strip 4 vmVal = vb.GetParam($"Strip[4].A1"); od.Send(new ChannelMessage(ChannelCommand.NoteOn, 0, 5, (int)vmVal)); vmVal = vb.GetParam($"Strip[4].A2"); od.Send(new ChannelMessage(ChannelCommand.NoteOn, 0, 13, (int)vmVal)); //Bus 0 vmVal = vb.GetParam($"Bus[0].Mute"); od.Send(new ChannelMessage(ChannelCommand.NoteOn, 0, 6, vmVal == 1 ? 2 : 0)); vmVal = vb.GetParam($"Bus[1].Mute"); od.Send(new ChannelMessage(ChannelCommand.NoteOn, 0, 7, vmVal == 1 ? 2 : 0)); vmVal = vb.GetParam($"Bus[2].Mute"); od.Send(new ChannelMessage(ChannelCommand.NoteOn, 0, 15, vmVal == 1 ? 2 : 0)); } Thread.Sleep(20); } id.Dispose(); od.Dispose(); vb.Dispose(); }