private void SendControlChangeUpdate()
 {
     ThreadPool.QueueUserWorkItem(
         o =>
     {
         ControlChangeLogic.SendControlChange(_mOut, SelectedParameter, CCValue, MidiChannel);
     }
         );
 }
Beispiel #2
0
        public MidiControlViewModel(IEventAggregator ea, IRegionManager region, IUnityContainer container, MidiIn midiIn, MidiOut midiOut)
        {
            _ea = ea; _region = region; _container = container;

            //Inject midi + event subscriptions
            _mIn  = midiIn;
            _mOut = midiOut;
            _mIn.MessageReceived += _mIn_MessageReceived;
            _mIn.ErrorReceived   += _mIn_ErrorReceived;

            _scopedRegion = _region.CreateRegionManager();

            //Initialize midi and scale listings
            ScaleList       = new List <string>(Scales.GetScaleNames());
            MidiChannels    = Enumerable.Range(1, 16).ToList();
            KeyList         = Keys.GetKeyNames();
            SelectedChannel = MidiChannels.First();
            SelectedScale   = ScaleList.First();
            SelectedKey     = KeyList.First();

            UserInputMode = false;

            //Initialize Values
            LengthList = "500"; //500ms
            OctaveList = "0";   //Middle-Octave
            Repeat     = 1;     //Play Once

            //Init to Middle-C value to sliders
            SetNotes(NoteLogic.OctaveC[4], NoteLogic.OctaveC[4], NoteLogic.OctaveC[4], NoteLogic.OctaveC[4]);

            //Bind Commands to Methods
            StartInvProgressionCommand = new DelegateCommand(StartInversion);

            PlayMelody1 = new DelegateCommand(StartMelody1);
            PlayMelody2 = new DelegateCommand(StartMelody2);
            PlayMelody3 = new DelegateCommand(StartMelody3);
            PlayMelody4 = new DelegateCommand(StartMelody4);

            RollTheDiceCommand = new DelegateCommand(RollTheDice);

            //Strum begin
            Strum1BCommand = new DelegateCommand(Strum1B);
            Strum2BCommand = new DelegateCommand(Strum2B);
            Strum3BCommand = new DelegateCommand(Strum3B);
            Strum4BCommand = new DelegateCommand(Strum4B);
            //Strum end
            Strum1ECommand = new DelegateCommand(Strum1E);
            Strum2ECommand = new DelegateCommand(Strum2E);
            Strum3ECommand = new DelegateCommand(Strum3E);
            Strum4ECommand = new DelegateCommand(Strum4E);

            //CC Panel
            ConfigList = new ObservableCollection <string>(ControlChangeLogic.GetSynthConfigs());
        }
Beispiel #3
0
        public void GetConfigs()
        {
            var configs = ControlChangeLogic.GetSynthConfigs();

            Assert.IsNotNull(configs);
        }