コード例 #1
0
ファイル: Engine.cs プロジェクト: mavanmanen/Plaid-Pad-MIDI
 private static void HIDManager_OnConnected(object sender, EventArgs e)
 {
     CurrentState = GetState();
     HIDManager.StartListening();
     SendRawHIDMessage(RawHIDMessage.HID_CONNECTED);
     OnConnected?.Invoke(typeof(Engine), new EventArgs());
 }
コード例 #2
0
        public HIDSetupPage()
        {
            this.InitializeComponent();

            this.manager                = HIDManager.Current;
            this.resources              = new ResourceLoader();
            this.boxToButtonMappings    = new Dictionary <UIElement, Utility.Button>();
            this.boxToButtonMappingsAlt = new Dictionary <UIElement, Utility.Button>();

            this.services = new UWPServiceProvider(this.Dispatcher);

            this.boxToButtonMappings.Add(this.leftBindingBox, Utility.Button.Left);
            this.boxToButtonMappingsAlt.Add(this.leftBindingBox2, Utility.Button.Left);
            this.boxToButtonMappings.Add(this.upBindingBox, Utility.Button.Up);
            this.boxToButtonMappingsAlt.Add(this.upBindingBox2, Utility.Button.Up);
            this.boxToButtonMappings.Add(this.rightBindingBox, Utility.Button.Right);
            this.boxToButtonMappingsAlt.Add(this.rightBindingBox2, Utility.Button.Right);
            this.boxToButtonMappings.Add(this.downBindingBox, Utility.Button.Down);
            this.boxToButtonMappingsAlt.Add(this.downBindingBox2, Utility.Button.Down);
            this.boxToButtonMappings.Add(this.startBindingBox, Utility.Button.Start);
            this.boxToButtonMappingsAlt.Add(this.startBindingBox2, Utility.Button.Start);
            this.boxToButtonMappings.Add(this.selectBindingBox, Utility.Button.Select);
            this.boxToButtonMappingsAlt.Add(this.selectBindingBox2, Utility.Button.Select);
            this.boxToButtonMappings.Add(this.lBindingBox, Utility.Button.L);
            this.boxToButtonMappingsAlt.Add(this.lBindingBox2, Utility.Button.L);
            this.boxToButtonMappings.Add(this.rBindingBox, Utility.Button.R);
            this.boxToButtonMappingsAlt.Add(this.rBindingBox2, Utility.Button.R);
            this.boxToButtonMappings.Add(this.aBindingBox, Utility.Button.A);
            this.boxToButtonMappingsAlt.Add(this.aBindingBox2, Utility.Button.A);
            this.boxToButtonMappings.Add(this.bBindingBox, Utility.Button.B);
            this.boxToButtonMappingsAlt.Add(this.bBindingBox2, Utility.Button.B);
            this.boxToButtonMappings.Add(this.turboBindingBox, Utility.Button.Turbo);
            this.boxToButtonMappingsAlt.Add(this.turboBindingBox2, Utility.Button.Turbo);
        }
コード例 #3
0
ファイル: Engine.cs プロジェクト: mavanmanen/Plaid-Pad-MIDI
 /// <summary>
 /// Starts this engine. This will wait till the correct HID device is connected and create the virtual MIDI device.
 /// </summary>
 public static void Start()
 {
     HIDManager.OnConnected       += HIDManager_OnConnected;
     HIDManager.OnDisconnected    += HIDManager_OnDisconnected;
     HIDManager.OnHidDataReceived += HIDManager_OnHidDataReceived;
     HIDManager.WaitForDevice(0xFEED, 0xAF12, 0xFF60);
     _midiDevice = new VirtualMidiDevice("Plaid Pad MIDI");
 }
コード例 #4
0
ファイル: Engine.cs プロジェクト: mavanmanen/Plaid-Pad-MIDI
        private static byte[] SendRawHIDMessage(RawHIDMessage message, bool waitForReply = false, byte[] messageData = null)
        {
            var data = new byte[32];

            data[1] = (byte)message;

            if (messageData != null)
            {
                for (var i = 0; i < messageData.Length; i++)
                {
                    data[i + 1] = messageData[i];
                }
            }

            if (waitForReply)
            {
                return(HIDManager.SendDataWaitForReply(data));
            }

            HIDManager.SendData(data);
            return(null);
        }
コード例 #5
0
ファイル: Engine.cs プロジェクト: mavanmanen/Plaid-Pad-MIDI
 /// <summary>
 /// Stops the engine. This will disconnect with the HID device.
 /// </summary>
 public static void Stop()
 {
     SendRawHIDMessage(RawHIDMessage.HID_DISCONNECTED);
     HIDManager.StopListening();
 }
コード例 #6
0
ファイル: Engine.cs プロジェクト: mavanmanen/Plaid-Pad-MIDI
 private static void HIDManager_OnDisconnected(object sender, EventArgs e)
 {
     HIDManager.StopListening();
     OnDisconnected?.Invoke(typeof(Engine), new EventArgs());
 }