コード例 #1
0
        public FiveLaneKeysMonitor()
        {
            this.InitializeComponent();
            var buttons = new List <ButtonName>();

            buttons.Add(ButtonName.Green);
            buttons.Add(ButtonName.Red);
            buttons.Add(ButtonName.Yellow);
            buttons.Add(ButtonName.Blue);
            buttons.Add(ButtonName.Orange);

            this.device = new PsDevice("Five Lane Keys Midi Profile", DeviceType.Piano);
            this.device.ProfileButtons = new List <PsProfileButton>();
            this.monitorButtons        = new List <MonitorButton>();

            foreach (var button in buttons)
            {
                var profileButton = new PsProfileButton(button, 0, 0, 0);
                var monitorButton = new MonitorButton(profileButton);

                this.device.ProfileButtons.Add(profileButton);
                this.monitorButtons.Add(monitorButton);
            }

            this.OnPropertyChanged("MonitorButtons");

            this.GreenVisibility  = Visibility.Hidden;
            this.RedVisibility    = Visibility.Hidden;
            this.YellowVisibility = Visibility.Hidden;
            this.BlueVisibility   = Visibility.Hidden;
            this.OrangeVisibility = Visibility.Hidden;
        }
コード例 #2
0
        private void ClearClicked(object sender, RoutedEventArgs e)
        {
            this.profileButton.Note         = 0;
            this.profileButton.Channel      = 0;
            this.profileButton.NoteOffValue = 0;
            this.ProfileButton = this.profileButton;

            if (this.Cleared != null)
            {
                this.Cleared(this, EventArgs.Empty);
            }
        }
コード例 #3
0
        private void AddButtonRequested(object obj)
        {
            var profileButton    = new PsProfileButton(ButtonName.None, 0, 0, 0);
            var monitorButton    = new MonitorButton(profileButton);
            var removeableButton = new RemoveableMonitorButton(monitorButton);

            removeableButton.Removed += this.OnRemoveableMonitorButtonRemoved;

            this.device.ProfileButtons.Add(profileButton);
            this.monitorButtons.Add(monitorButton);
            this.RemoveableButtons.Add(removeableButton);

            this.OnPropertyChanged("RemoveableButtons");
            this.OnPropertyChanged("AddButtonBorderColor");
        }
コード例 #4
0
        public RealDrumsMonitor()
        {
            this.InitializeComponent();
            var buttons = new List <ButtonName>();

            buttons.Add(ButtonName.Red);
            buttons.Add(ButtonName.Yellow_C);
            buttons.Add(ButtonName.Yellow_O);
            buttons.Add(ButtonName.Yellow_P);
            buttons.Add(ButtonName.Yellow_S);
            buttons.Add(ButtonName.Yellow_Tom);
            buttons.Add(ButtonName.Blue);
            buttons.Add(ButtonName.Blue_Tom);
            buttons.Add(ButtonName.Green);
            buttons.Add(ButtonName.Green_Tom);
            buttons.Add(ButtonName.Bass);
            buttons.Add(ButtonName.Bass);

            this.device = new PsDevice("Real Drums Midi Profile", DeviceType.DrumsReal);
            this.device.ProfileButtons = new List <PsProfileButton>();
            this.monitorButtons        = new List <MonitorButton>();

            foreach (var button in buttons)
            {
                var profileButton = new PsProfileButton(button, 0, 0, 0);
                var monitorButton = new MonitorButton(profileButton);

                this.device.ProfileButtons.Add(profileButton);
                this.monitorButtons.Add(monitorButton);
            }

            this.OnPropertyChanged("MonitorButtons");

            this.RedVisibility          = Visibility.Hidden;
            this.RimVisibility          = Visibility.Hidden;
            this.YellowClosedVisibility = Visibility.Hidden;
            this.YellowOpenVisibility   = Visibility.Hidden;
            this.YellowPedalVisibility  = Visibility.Hidden;
            this.YellowSizzleVisibility = Visibility.Hidden;
            this.YellowTomVisibility    = Visibility.Hidden;
            this.BlueVisibility         = Visibility.Hidden;
            this.BlueTomVisibility      = Visibility.Hidden;
            this.GreenVisibility        = Visibility.Hidden;
            this.GreenTomVisibility     = Visibility.Hidden;
            this.BassVisibility         = Visibility.Hidden;
        }
コード例 #5
0
        public FiveFretGuitarMonitor()
        {
            this.InitializeComponent();

            var buttons = new List <ButtonName>();

            buttons.Add(ButtonName.Green);
            buttons.Add(ButtonName.Red);
            buttons.Add(ButtonName.Yellow);
            buttons.Add(ButtonName.Blue);
            buttons.Add(ButtonName.Orange);
            buttons.Add(ButtonName.Up);
            buttons.Add(ButtonName.Down);
            buttons.Add(ButtonName.Start);
            buttons.Add(ButtonName.Back);

            this.device                = new PsDevice("Five Fret Whammy Guitar Midi Profile", Enums.DeviceType.Guitar);
            this.device.Method         = (int)Method.GuitarLegacy;
            this.device.ProfileButtons = new List <PsProfileButton>();
            this.monitorButtons        = new List <MonitorButton>();

            foreach (var button in buttons)
            {
                var profileButton = new PsProfileButton(button, 0, 0, 0);
                var monitorButton = new MonitorButton(profileButton);

                this.device.ProfileButtons.Add(profileButton);
                this.monitorButtons.Add(monitorButton);
            }

            this.OnPropertyChanged("MonitorButtons");

            this.GreenVisibility  = Visibility.Hidden;
            this.RedVisibility    = Visibility.Hidden;
            this.YellowVisibility = Visibility.Hidden;
            this.BlueVisibility   = Visibility.Hidden;
            this.OrangeVisibility = Visibility.Hidden;
            this.UpVisibility     = Visibility.Hidden;
            this.DownVisibility   = Visibility.Hidden;
            this.StartVisibility  = Visibility.Hidden;
            this.BackVisibility   = Visibility.Hidden;
        }
コード例 #6
0
        public SevenLaneDrumsMonitor()
        {
            this.InitializeComponent();
            var buttons = new List <ButtonName>();

            buttons.Add(ButtonName.Red);
            buttons.Add(ButtonName.Yellow_Tom);
            buttons.Add(ButtonName.Blue_Tom);
            buttons.Add(ButtonName.Green_Tom);
            buttons.Add(ButtonName.Yellow);
            buttons.Add(ButtonName.Green);
            buttons.Add(ButtonName.Blue);
            buttons.Add(ButtonName.Bass);
            buttons.Add(ButtonName.Bass);

            this.device = new PsDevice("Seven Lane Drums Midi Profile", DeviceType.Drums);
            this.device.ProfileButtons = new List <PsProfileButton>();
            this.monitorButtons        = new List <MonitorButton>();

            foreach (var button in buttons)
            {
                var profileButton = new PsProfileButton(button, 0, 0, 0);
                var monitorButton = new MonitorButton(profileButton);

                this.device.ProfileButtons.Add(profileButton);
                this.monitorButtons.Add(monitorButton);
            }

            this.OnPropertyChanged("MonitorButtons");

            this.RedVisibility          = Visibility.Hidden;
            this.YellowTomVisibility    = Visibility.Hidden;
            this.BlueTomVisibility      = Visibility.Hidden;
            this.GreenTomVisibility     = Visibility.Hidden;
            this.YellowCymbalVisibility = Visibility.Hidden;
            this.GreenCymbalVisibility  = Visibility.Hidden;
            this.BlueCymbalVisibility   = Visibility.Hidden;
            this.BassVisibility         = Visibility.Hidden;
        }
コード例 #7
0
        private void DetectNoteClicked(object sender, RoutedEventArgs e)
        {
            var mainWindow = Application.Current.MainWindow;

            if (mainWindow == null)
            {
                return;
            }

            var detector = new NoteDetector(mainWindow.DataContext as MidiViewModel, this.profileButton.Name);

            detector.NoteDetected += (ss, ee) =>
            {
                this.profileButton.Note         = ee.DetectedNote;
                this.profileButton.Channel      = ee.Channel;
                this.profileButton.NoteOffValue = ee.NoteOffValue;
                this.ProfileButton = profileButton;
            };

            detector.Owner = mainWindow;
            detector.WindowStartupLocation = WindowStartupLocation.CenterOwner;
            detector.ShowDialog();
        }
コード例 #8
0
 public MonitorButton(PsProfileButton profileButton)
     : this()
 {
     this.ProfileButton = profileButton;
 }