MIDI.InputDevicesStart method |
|
Remarks
After having enumerated, through a call to the MIDI.InputDevicesEnum method, the list of available MIDI input devices installed inside the system, starts a MIDI input device and sets a callback for receiving raw MIDI events from the MIDI input channel.
If incoming MIDI events should be sent and played directly through a player instanced by the control, it would be recommended using the MIDI.InputDevicesStartOnPlayer method.
For further details about the use of MIDI protocol see the MIDIMan class section and the How to deal with MIDI protocol tutorial.
Syntax
[Visual Basic] Public Function InputDevicesStart ( nDeviceIndex as Int32, pCallback as MidiCallbackFunction, nUserData as Int32 ) as enumErrorCodes |
[C#] public enumErrorCodes InputDevicesStart ( Int32 nDeviceIndex, MidiCallbackFunction pCallback, Int32 nUserData ); |
[C++] public: enumErrorCodes InputDevicesStart ( Int32 nDeviceIndex, MidiCallbackFunction pCallback, Int32 nUserData ); |
Parameter |
Description |
||||||
|
|
||||||
nDeviceIndex |
Number representing the zero-based index of the MIDI input device. The number of available MIDI input devices installed inside the system can be obtained directly to the MIDI.InputDevicesEnum method or, after having performed the enumeration, through the MIDI.InputDevicesCountGet method. |
||||||
pCallback |
Pointer to the callback function that will receive raw MIDI events from the MIDI input channel. Remember that callback functions must be as fast as possible in order to avoid slowing down overall performances. A callback function is defined like this:
[Visual Basic ]
Public Sub MyMidiCallback( ByVal bufferRawEvents As IntPtr, ByVal bufferLength As Int32, ByVal nUserData As Int32 )
[Visual C#]
void MyMidiCallback ( IntPtr bufferRawEvents, Int32 bufferLength, Int32 nUserData );
Visual C++]
void MyMidiCallback ( IntPtr bufferRawEvents, Int32 bufferLength, Int32 nUserData );
where
|
||||||
nUserData |
User data to pass to the callback |
Return value
Value |
Meaning |
|
|
Negative value |
An error occurred (see the LastError property for further error details) |
enumErrorCodes.NOERROR (0) |
The method call was successful. |