Version 2.2.0
Software & Hardware Requirements
The plugin works with FileMaker Pro 12 & above and FileMaker Advanced 12 & above on Mac OS X and Windows. The plugin is intended for client applications and will not function as a server plugin. However, it will work fine with files hosted on FileMaker Server and FileMaker Server Advanced. The hardware requirements are the same as what's required to run FileMaker Pro. For additional information, check the requirements of your version of FileMaker or visit the FileMaker Web Site.
FM2MIDI_PortCount( PortType ) | |
Gets the number of MIDI ports based on port type. | |
Use this function to give you a limit for a looping script allowing you to get the port names. This will be a count of the ports beginning with 1. Keep in mind that the port numbers begin with 0. The last port number will be one fewer then the actual port count. If no ports are found this function returns a 0. | |
PortType - "in" for MIDI in ports and "out" for MIDI out ports. | |
The number of ports currently available. | |
// Gets the number of available MIDI in ports // Gets the number of available MIDI out ports
|
FM2MIDI_PortName( PortType ; PortNumber ) | |
Gets the name of a MIDI port by port number. | |
Use this function to get the name of a MIDI port. The MIDI port numbers always begin with 0 as the first port. Use the FM2MIDI_PortCount function to get the number of available ports and a looping script to get the port names. | |
PortType - "in" for MIDI in ports and "out" for MIDI out ports. PortNumber - A whole number representing the port to query. |
|
The name of the MIDI port. | |
// Gets the name of the MIDI in port at port number 0
|
FM2MIDI_MIDISend( PortNumber ; Message ) | |
Opens a MIDI port and sends a MIDI message. | |
Opens an output port and transmits the MIDI message. You can transmit any MIDI message with this command including patch changes, control changes, note on/off, and Sysex. | |
PortNumber - A whole number representing the port to open. Message - A MIDI message to send out the MIDI port. |
|
0 | |
// Send patch change on Port 0, channel 1, and patch 11.
|
FMFM2MIDI_Receive( InPort ; { OutPort ; Request } ) | |
Gets MIDI input from the input buffer. | |
Opens an input port and waits for a MIDI message to fill the buffer. The function will timeout if no message is received. You can use the MIDI Request parameter to send a Data Dump Request to the MIDI instrument. | |
InPort - A whole number representing the MIDI in port to open. OutPort - A whole number representing the MIDI out port to open. Request - A MIDI message to send via the MIDI out port. |
|
The MIDI message received from the MIDI in port. | |
// Sends the request on Port 1 and waits for a response on port 0. // Open port 2 and wait for a response.
|
FM2MIDI_NumToBin( NumToConvert ) | |
Converts a number to the binary equivalent. | |
Takes a list of numbers and converts them to a list of binary values. For example the numbers "64,128" would be converted to "01000000,10000000". | |
NumToConvert - A coma delimited list of number values. | |
A comma delimited list of binary values. | |
// Convert the number list to the binary equivalent.
|
FM2MIDI_BinToNum( BinToConvert ) | |
Converts a list of binary values to their number equivalent. | |
Takes a list of 8-bit values and converts them to a list of numbers. For example the binary values "01000000,10000000" would be converted to "64,128". | |
BinToConvert - A coma delimited list of binary values. | |
A comma delimited list of numbers. | |
// Convert the binary value list to numbers.
|
FM2MIDI_NumToHex( NumToConvert ) | |
Converts a list of numbers to the hexadecimal equivalent. | |
Takes a list of numbers and converts them to a list of hexadecimal values. For example the numbers "77,127" would be converted to "4D,7F". | |
NumToConvert - A comma delimited list of number values. | |
A comma delimited list of hexadecimal values. | |
// Convert the number list to the hexadecimal equivalent.
|
FM2MIDI_HexToNum( HexToConvert ) | |
Converts a list of hexadecimal values to their number equivalent. | |
Takes a list of hexadecimal values and converts them to a list of numbers. For example the hexadecimal value "4D,7F" would be converted to "77,127". | |
HexToConvert - A coma delimited list of hexadecimal values. | |
A comma delimited list of numbers. | |
// Convert the list of hexadecimal values to numbers.
|
FM2MIDI_BytesToValue( BytesToConvert ; LSBFirst ) | |
Converts a list of numbers that represent 7-bit bytes (0-127) into a single numeric value. Used to calculate multibyte values for sysex or NRPNs. | |
Takes a list of up-to-four 7-bit bytes (0-127) as numbers and converts them to a combined value. The order of the bytes is important. If for example the least significant byte was first, then the numbers "127,1" would equal 255. If the least significant byte was last the value would be 16257. | |
BytesToConvert - A coma delimited list of numbers. LSBFirst - Calculate with the LSB first ("true" or "false"). |
|
A single numeric value. | |
// Convert the list of numbers into a value.
|
FM2MIDI_ValueToBytes( NumToConvert ; NumOfBytes ; LSBFirst ) | |
Breaks a single number into bytes. Supports a maximum of up to 4 bytes. | |
Takes a number and converts it into 7-bit bytes. A 7-bit byte can only represent the values 0-127. The 7-bit bytes are used in MIDI for sysex parameters and NPRNs (Non-Registered Parameter Number). In order to represent values larger then 127 you need to use multiple bytes. A large number like 16383 can be split into two bytes (127,127). Four 7-bit bytes are the max for backwards compatibility with 32-bit versions of FileMaker Pro and FileMaker Advanced. | |
BytesToConvert - A coma delimited list of numbers. NumOfBytes - The number of bytes to return from "1" to "4". LSBFirst - Calculate with the LSB first ("true" or "false"). |
|
A comma delimited list of numbers. | |
// Convert the number into 2 bytes, the LSB is first.
|
FM2MIDI_Checksum( NumbersToSum ) | |
Sums a string of comma delimited numbers and returns the remainder of a mod function with a divider of 128. | |
Typically this is used to calculate checksum of a stored patch. Most manufactures will just sum the total of the parameters. Roland typically includes the MIDI header information as well. You will need to check the MIDI implementation for your specific instrument. | |
NumbersToSum - A comma delimited list of whole numbers. | |
A whole number between 0 and 127. | |
// Sums number list and returns Mod of 128
|
FM2MIDI_SysexWrite( DataToSave ; PathToFile ) | |
Writes data to a Sysex file. | |
Creates a new file if one doesn’t exists and opens the file for writing. Converts a comma-delimited list of integers to bytes as it writes the data to the file. The Sysex data must be a complete Sysex message beginning with 240 and ending with 247. Note: Use a file plugin by 24U or Troi to allow the user to set the file name & path. http://www.24usoftware.com http://www.troi.com |
|
DataToSave - A comma-delimited list of integers between 0 and 255. PathToFile - A file path, typically from the root directory. |
|
0 | |
// Write the data to a Sysex file.
|
FM2MIDI_SysexRead( PathToFile ) | |
Opens a Sysex file and returns the file data. | |
Opens the file specified by the PathToFile parameter and returns the data. Each byte is converted to an integer and returned as a comma-delimited list. Note: Use a file plugin by 24U or Troi to get a file path from the user. http://www.24usoftware.com http://www.troi.com |
|
PathToFile - A file path, typically from the root directory. | |
If successful returns the file data. | |
// Read the file and return the data.
|
FM2MIDI_Version( { Format } ) | |
Returns the Plugin version in a number of different formats. | |
Use this function to determine the Plugin version installed. Use no parameters for the basic format. | |
Format - The format you would like returned (see examples). | |
The plugin version in the format specified. | |
// Get the plugin version (short) format. // Get the plugin version (Long) format. // Get the plugin version (autoupdate) format.
|