Component: USB MIDI (Comms: USB): Difference between revisions
Appearance
No edit summary |
m Text replacement - "style="background-color:#EAE1EA;"" to "class="mtx-class-propfolder"" |
||
| (5 intermediate revisions by the same user not shown) | |||
| Line 92: | Line 92: | ||
===Initialise=== | ===Initialise=== | ||
{| class="wikitable | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''Initialise''' | ||
|- | |- | ||
| colspan="2" | Starts up the USB communications and attempts to enumerate. Returns 0 for a successful startup or 255 for a enumeration timeout. | | colspan="2" | Starts up the USB communications and attempts to enumerate. Returns 0 for a successful startup or 255 for a enumeration timeout. | ||
| Line 106: | Line 106: | ||
===ReadData=== | ===ReadData=== | ||
{| class="wikitable | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''ReadData''' | ||
|- | |- | ||
| colspan="2" | Reads a byte from the last received MIDI message | | colspan="2" | Reads a byte from the last received MIDI message | ||
| Line 125: | Line 125: | ||
===ReceiveMIDI=== | ===ReceiveMIDI=== | ||
{| class="wikitable | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''ReceiveMIDI''' | ||
|- | |- | ||
| colspan="2" | Waits for the time specified in the timeout parameter for an incoming MIDI message. Returns 0 to indicate a timeout, otherwise returns the first value from the MIDI message. | | colspan="2" | Waits for the time specified in the timeout parameter for an incoming MIDI message. Returns 0 to indicate a timeout, otherwise returns the first value from the MIDI message. | ||
| Line 144: | Line 144: | ||
===SendChannelPressure=== | ===SendChannelPressure=== | ||
{| class="wikitable | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''SendChannelPressure''' | ||
|- | |- | ||
| colspan="2" | | | colspan="2" | | ||
| Line 168: | Line 168: | ||
===SendControl=== | ===SendControl=== | ||
{| class="wikitable | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''SendControl''' | ||
|- | |- | ||
| colspan="2" | Sends a control command using the channel, controller and value specified. | | colspan="2" | Sends a control command using the channel, controller and value specified. | ||
| Line 197: | Line 197: | ||
===SendMIDI=== | ===SendMIDI=== | ||
{| class="wikitable | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''SendMIDI''' | ||
|- | |- | ||
| colspan="2" | Sends a MIDI packet consisting of up to three bytes of information, | | colspan="2" | Sends a MIDI packet consisting of up to three bytes of information, | ||
| Line 226: | Line 226: | ||
===SendNoteOff=== | ===SendNoteOff=== | ||
{| class="wikitable | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''SendNoteOff''' | ||
|- | |- | ||
| colspan="2" | Sends a note off command using the channel, note and velocity specified. | | colspan="2" | Sends a note off command using the channel, note and velocity specified. | ||
| Line 255: | Line 255: | ||
===SendNoteOn=== | ===SendNoteOn=== | ||
{| class="wikitable | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''SendNoteOn''' | ||
|- | |- | ||
| colspan="2" | Sends a note on command using the channel, note and velocity specified. | | colspan="2" | Sends a note on command using the channel, note and velocity specified. | ||
| Line 284: | Line 284: | ||
===SendPatch=== | ===SendPatch=== | ||
{| class="wikitable | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''SendPatch''' | ||
|- | |- | ||
| colspan="2" | | | colspan="2" | | ||
| Line 308: | Line 308: | ||
===SendPitchChange=== | ===SendPitchChange=== | ||
{| class="wikitable | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''SendPitchChange''' | ||
|- | |- | ||
| colspan="2" | Sends out a pitch change command on the specified channel. | | colspan="2" | Sends out a pitch change command on the specified channel. | ||
| Line 332: | Line 332: | ||
===SendPolyPressure=== | ===SendPolyPressure=== | ||
{| class="wikitable | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''SendPolyPressure''' | ||
|- | |- | ||
| colspan="2" | Sends a note press with an associated polyphonic pressure value. | | colspan="2" | Sends a note press with an associated polyphonic pressure value. | ||
| Line 362: | Line 362: | ||
==Property reference== | ==Property reference== | ||
{| class="wikitable | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-prop-icon.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''Properties''' | ||
|- | |- | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-propfolder" | [[File:Fc9-conn-icon.png]] | ||
| width="90%" | | width="90%" class="mtx-class-propfolder" | USB Properties | ||
|- | |- | ||
|- | |- | ||
| Line 407: | Line 407: | ||
| colspan="2" | Specifies if the enumeration (Initialise function) can timeout if taking too long. | | colspan="2" | Specifies if the enumeration (Initialise function) can timeout if taking too long. | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-propfolder" | [[File:Fc9-conn-icon.png]] | ||
| width="90%" | | width="90%" class="mtx-class-propfolder" | Simulation | ||
|- | |- | ||
|- | |- | ||
Latest revision as of 14:37, 13 July 2026
| Author | Matrix Ltd. |
| Version | 1.3 |
| Category | Comms: USB |
USB MIDI component
Component to create and communicate using a standard MIDI connection. Compatible with simulation and USB enabled microcontroller devices. Currently only compatible with the 16-bit PIC range of devices.
Component Source Code
Please click here to download the component source project: FC_Comp_Source_USBMIDI.fcfx
Please click here to view the component source code (Beta): FC_Comp_Source_USBMIDI.fcfx
Detailed description
No detailed description exists yet for this component
Examples
No additional examples
Macro reference
Initialise
| Initialise | |
| Starts up the USB communications and attempts to enumerate. Returns 0 for a successful startup or 255 for a enumeration timeout. | |
| Return | |
ReadData
| ReadData | |
| Reads a byte from the last received MIDI message | |
| Idx | |
| Byte to read 0-3 | |
| Return | |
ReceiveMIDI
SendChannelPressure
| SendChannelPressure | |
| Channel | |
| Pressure | |
| Return | |
SendControl
| SendControl | |
| Sends a control command using the channel, controller and value specified. | |
| Channel | |
| Controller | |
| Value | |
| Return | |
SendMIDI
SendNoteOff
| SendNoteOff | |
| Sends a note off command using the channel, note and velocity specified. | |
| Channel | |
| Note | |
| Velocity | |
| Return | |
SendNoteOn
| SendNoteOn | |
| Sends a note on command using the channel, note and velocity specified. | |
| Channel | |
| Note | |
| Velocity | |
| Return | |
SendPatch
| SendPatch | |
| Channel | |
| Instrument | |
| Return | |
SendPitchChange
| SendPitchChange | |
| Sends out a pitch change command on the specified channel. | |
| Channel | |
| Channel to send the pitch change to | |
| Pitch_Change | |
| New pitch value to use, Default 0x2000 | |
| Return | |
SendPolyPressure
| SendPolyPressure | |
| Sends a note press with an associated polyphonic pressure value. | |
| Channel | |
| Note | |
| Pressure | |
| Return | |