Exemplo n.º 1
0
        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");
        }
Exemplo n.º 2
0
        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();
        }
Exemplo n.º 3
0
 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();
        }