Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
System Exclusive MIDI commands.
#1
Ginataras,

I would like to build a program interface that controls a FX processor using SysEx MIDI messages.

MIDI-OX (midiox.com) provides an editor that allows a user to send and receive SysEx messages. There are command line parameters in MIDI-OX that QM could use, I guess. I was wondering if the MIDI trigger functions could be modified to handle these SysEx messages, or perhaps help using the MIDI-OX COM interface? The QM program must be able to receive SysEx messages as well because the FX processor reports information about the data structure that is necessary to properly write the SysEx message that will be sent back to change parameters on the FX processor.

It will also be necessary for the QM program to receive continuous control (CC) MIDI message data because I'll be building an external MIDI controller that will send continuous control MIDI messages to control the whole QM program from the external control interface.

Thanks,
jimmy Vig
#2
I think all it is possible in QM. For example, midiOutLongMsg sends system exclusive messages. Look in MSDN. Maybe also possible with DirectMusic.
#3
Thank you Gintaras,

If it is at all possible, could you work up a simple example?

Also, just to provide extra information the effects unit I am controlling is the Lexicon MPX 1.
Here are the MIDI Implementation Details: http://www.lexiconpro.com/product_downl ... l_Rev1.pdf

If you have time or are just curious to look at that, maybe you could provide some insight on writing functions that will communicate between QM and the Lexicon MPX 1.

Thanks again,
Jimmy Vig
#4
Cannot give an example. Maybe it would be simple, but I would have to learn much, and find and install MIDI software for testing.

Receiving:
At first create something similar to QM MIDI triggers, but simpler, so that you would understand how everything works. Then extend to receive sysex messages. It is documented in MSDN.

Sending:
Sending sysex messages should be easier. Open MIDI out and call midiOutLongMsg.
#5
Is this along the right lines?:
MIDIHDR SysEx.lpData="F0 06 09 00 06 03 00 02 00 00 00 00 00 00 00 01 00 00 00 F7"
midiOutLongMsg(deviceid &SysEx sizeof(SysEx))

How do I get the device id?
#6
Gintaras,

I found this http://web.tiscalinet.it/giordy/midi-tech/lowmidi.htm:
Code:
Copy      Help
HMIDIOUT    handle;
MIDIHDR     midiHdr;
UINT        err;
char        sysEx[] = {0xF0, 0x7F, 0x7F, 0x04, 0x01, 0x7F, 0x7F, 0xF7};

/* Open default MIDI Out device */
if (!midiOutOpen(&handle, 0, 0, 0, CALLBACK_NULL))
{
    /* Store pointer in MIDIHDR */
    midiHdr.lpData = (LPBYTE)&sysEx[0];

    /* Store its size in the MIDIHDR */
    midiHdr.dwBufferLength = sizeof(sysEx);

    /* Flags must be set to 0 */
    midiHdr.dwFlags = 0;

    /* Prepare the buffer and MIDIHDR */
    err = midiOutPrepareHeader(handle,  &midiHdr, sizeof(MIDIHDR));
    if (!err)
    {
        /* Output the SysEx message */
        err = midiOutLongMsg(handle, &midiHdr, sizeof(MIDIHDR));
        if (err)
        {
            char   errMsg[120];

            midiOutGetErrorText(err, &errMsg[0], 120);
            printf("Error: %s\r\n", &errMsg[0]);
        }

        /* Unprepare the buffer and MIDIHDR */
        while (MIDIERR_STILLPLAYING == midiOutUnprepareHeader(handle, &midiHdr, sizeof(MIDIHDR)))
        {
            /* Should put a delay in here rather than a busy-wait */            
        }
    }

    /* Close the MIDI device */
    midiOutClose(handle);

Could you put it into QM and then I'll test.
Thanks,
jimmy Vig
#7
By the way...this works for sending short midi messages:
int hMidiOut
midiOutOpen &hMidiOut 1 0 0 0
midiOutShortMsg hMidiOut 616627
midiOutClose hMidiOut

That was pretty simple to get working
#8
Macro Macro1282
Code:
Copy      Help
int    handle;
MIDIHDR     midiHdr;
int        e;
str sysEx.decrypt(8 "F0 06 09 00 06 03 00 02 00 00 00 00 00 00 00 01 00 00 00 F7") ;;this is easiest way to fill str with binary data
;outb sysEx sysEx.len
;
;/* Open default MIDI Out device */
if !midiOutOpen(&handle, 0, 0, 0, CALLBACK_NULL)
;{
;;;;;/* Store pointer in MIDIHDR */
,midiHdr.lpData=sysEx
;
;;;;;/* Store its size in the MIDIHDR */
,midiHdr.dwBufferLength=sysEx.len
;
;;;;;/* Flags must be set to 0 */
;;;;;midiHdr.dwFlags = 0;
;
;;;;;/* Prepare the buffer and MIDIHDR */
,e = midiOutPrepareHeader(handle,  &midiHdr, sizeof(MIDIHDR));
,if !e
;;;;;{
,,;/* Output the SysEx message */
,,e = midiOutLongMsg(handle, &midiHdr, sizeof(MIDIHDR));
,,if e
;;;;;;;;;{
,,,str   errMsg.all(120);
;
,,,midiOutGetErrorText(e, errMsg, 120);
,,,out "Error: %s", errMsg
;;;;;;;;;}
;
;;;;;;;;;/* Unprepare the buffer and MIDIHDR */
,,rep
,,,if(MIDIERR_STILLPLAYING != midiOutUnprepareHeader(handle, &midiHdr, sizeof(MIDIHDR))) break
;;;;;;;;;{
;;;;;;;;;;;;;/* Should put a delay in here rather than a busy-wait */        
,,,1
;;;;;;;;;}
;;;;;}
;
;;;;;/* Close the MIDI device */
,midiOutClose(handle);
#9
Does not work. QM doesn't seem to be running most of the code.

Played around:
Function MIDI_SysEx
Code:
Copy      Help
function str'SysEx;;Sends MIDI SysEx command over Windows default MIDI device.
int handle e
MIDIHDR midiHdr
SysEx.decrypt(8 SysEx)
if !midiOutOpen(&handle 0 0 0 CALLBACK_NULL)
,midiHdr.lpData=SysEx
,midiHdr.dwBufferLength=SysEx.len
,e = midiOutPrepareHeader(handle &midiHdr sizeof(MIDIHDR))
,if !e
,,e = midiOutLongMsg(handle &midiHdr sizeof(MIDIHDR))
,if e
,,,str errMsg.all(120)
,,,midiOutGetErrorText(e errMsg 120)
,,,out "Error: %s" errMsg
,,rep
,,,if(MIDIERR_STILLPLAYING != midiOutUnprepareHeader(handle &midiHdr sizeof(MIDIHDR))) break
,,,1
,midiOutClose(handle)
,ret 1
That ERRORS: The specified device handle is invalid. (NOTE: EXAMPLE above fixed. Now works!!!)
#10
My code runs without errors on my PC.
If on your PC midiOutOpen returns a nonzero value, call midiOutGetErrorText with that value to see what is wrong.
#11
Sorry, I had my system configured strange.

It works.

Thanks! No to just learn the Lexicon MIDI implementation!
#12
Unless I have a "learn" function on the program I won't need to receive SysEx message. I think a learn would be really complicated program.

I have a problem on my second parameter I'm programming.

The values on the processor are (Off) (-89db) - (+6db)
The following is the SysEx output from the machine I recorded using Midi-OX=
Code:
Copy      Help
F0 06 09 00 01 01 00 00 00 06 0A 04 00 00 00 00 00 00 00 04 00 00 00 01 00 00 00 01 00 00 00 F7
F0 06 09 00 01 01 00 00 00 07 0A 04 00 00 00 00 00 00 00 04 00 00 00 01 00 00 00 01 00 00 00 F7
F0 06 09 00 01 01 00 00 00 08 0A 04 00 00 00 00 00 00 00 04 00 00 00 01 00 00 00 01 00 00 00 F7
F0 06 09 00 01 01 00 00 00 09 0A 04 00 00 00 00 00 00 00 04 00 00 00 01 00 00 00 01 00 00 00 F7
F0 06 09 00 01 01 00 00 00 0A 0A 04 00 00 00 00 00 00 00 04 00 00 00 01 00 00 00 01 00 00 00 F7
F0 06 09 00 01 01 00 00 00 0B 0A 04 00 00 00 00 00 00 00 04 00 00 00 01 00 00 00 01 00 00 00 F7
F0 06 09 00 01 01 00 00 00 0C 0A 04 00 00 00 00 00 00 00 04 00 00 00 01 00 00 00 01 00 00 00 F7
F0 06 09 00 01 01 00 00 00 0D 0A 04 00 00 00 00 00 00 00 04 00 00 00 01 00 00 00 01 00 00 00 F7
F0 06 09 00 01 01 00 00 00 0E 0A 04 00 00 00 00 00 00 00 04 00 00 00 01 00 00 00 01 00 00 00 F7
F0 06 09 00 01 01 00 00 00 0F 0A 04 00 00 00 00 00 00 00 04 00 00 00 01 00 00 00 01 00 00 00 F7
F0 06 09 00 01 01 00 00 00 00 0B 04 00 00 00 00 00 00 00 04 00 00 00 01 00 00 00 01 00 00 00 F7
F0 06 09 00 01 01 00 00 00 01 0B 04 00 00 00 00 00 00 00 04 00 00 00 01 00 00 00 01 00 00 00 F7
F0 06 09 00 01 01 00 00 00 02 0B 04 00 00 00 00 00 00 00 04 00 00 00 01 00 00 00 01 00 00 00 F7
F0 06 09 00 01 01 00 00 00 03 0B 04 00 00 00 00 00 00 00 04 00 00 00 01 00 00 00 01 00 00 00 F7
F0 06 09 00 01 01 00 00 00 04 0B 04 00 00 00 00 00 00 00 04 00 00 00 01 00 00 00 01 00 00 00 F7
F0 06 09 00 01 01 00 00 00 05 0B 04 00 00 00 00 00 00 00 04 00 00 00 01 00 00 00 01 00 00 00 F7
F0 06 09 00 01 01 00 00 00 06 0B 04 00 00 00 00 00 00 00 04 00 00 00 01 00 00 00 01 00 00 00 F7
F0 06 09 00 01 01 00 00 00 07 0B 04 00 00 00 00 00 00 00 04 00 00 00 01 00 00 00 01 00 00 00 F7
F0 06 09 00 01 01 00 00 00 08 0B 04 00 00 00 00 00 00 00 04 00 00 00 01 00 00 00 01 00 00 00 F7
F0 06 09 00 01 01 00 00 00 09 0B 04 00 00 00 00 00 00 00 04 00 00 00 01 00 00 00 01 00 00 00 F7
F0 06 09 00 01 01 00 00 00 0A 0B 04 00 00 00 00 00 00 00 04 00 00 00 01 00 00 00 01 00 00 00 F7
F0 06 09 00 01 01 00 00 00 0B 0B 04 00 00 00 00 00 00 00 04 00 00 00 01 00 00 00 01 00 00 00 F7
F0 06 09 00 01 01 00 00 00 0C 0B 04 00 00 00 00 00 00 00 04 00 00 00 01 00 00 00 01 00 00 00 F7
F0 06 09 00 01 01 00 00 00 0D 0B 04 00 00 00 00 00 00 00 04 00 00 00 01 00 00 00 01 00 00 00 F7
F0 06 09 00 01 01 00 00 00 0E 0B 04 00 00 00 00 00 00 00 04 00 00 00 01 00 00 00 01 00 00 00 F7
F0 06 09 00 01 01 00 00 00 0F 0B 04 00 00 00 00 00 00 00 04 00 00 00 01 00 00 00 01 00 00 00 F7
F0 06 09 00 01 01 00 00 00 00 0C 04 00 00 00 00 00 00 00 04 00 00 00 01 00 00 00 01 00 00 00 F7
F0 06 09 00 01 01 00 00 00 01 0C 04 00 00 00 00 00 00 00 04 00 00 00 01 00 00 00 01 00 00 00 F7
F0 06 09 00 01 01 00 00 00 02 0C 04 00 00 00 00 00 00 00 04 00 00 00 01 00 00 00 01 00 00 00 F7
F0 06 09 00 01 01 00 00 00 03 0C 04 00 00 00 00 00 00 00 04 00 00 00 01 00 00 00 01 00 00 00 F7
F0 06 09 00 01 01 00 00 00 04 0C 04 00 00 00 00 00 00 00 04 00 00 00 01 00 00 00 01 00 00 00 F7
F0 06 09 00 01 01 00 00 00 05 0C 04 00 00 00 00 00 00 00 04 00 00 00 01 00 00 00 01 00 00 00 F7
F0 06 09 00 01 01 00 00 00 06 0C 04 00 00 00 00 00 00 00 04 00 00 00 01 00 00 00 01 00 00 00 F7
F0 06 09 00 01 01 00 00 00 07 0C 04 00 00 00 00 00 00 00 04 00 00 00 01 00 00 00 01 00 00 00 F7
F0 06 09 00 01 01 00 00 00 08 0C 04 00 00 00 00 00 00 00 04 00 00 00 01 00 00 00 01 00 00 00 F7
F0 06 09 00 01 01 00 00 00 09 0C 04 00 00 00 00 00 00 00 04 00 00 00 01 00 00 00 01 00 00 00 F7
F0 06 09 00 01 01 00 00 00 0A 0C 04 00 00 00 00 00 00 00 04 00 00 00 01 00 00 00 01 00 00 00 F7
F0 06 09 00 01 01 00 00 00 0B 0C 04 00 00 00 00 00 00 00 04 00 00 00 01 00 00 00 01 00 00 00 F7
F0 06 09 00 01 01 00 00 00 0C 0C 04 00 00 00 00 00 00 00 04 00 00 00 01 00 00 00 01 00 00 00 F7
F0 06 09 00 01 01 00 00 00 0D 0C 04 00 00 00 00 00 00 00 04 00 00 00 01 00 00 00 01 00 00 00 F7
F0 06 09 00 01 01 00 00 00 0E 0C 04 00 00 00 00 00 00 00 04 00 00 00 01 00 00 00 01 00 00 00 F7
F0 06 09 00 01 01 00 00 00 0F 0C 04 00 00 00 00 00 00 00 04 00 00 00 01 00 00 00 01 00 00 00 F7
F0 06 09 00 01 01 00 00 00 00 0D 04 00 00 00 00 00 00 00 04 00 00 00 01 00 00 00 01 00 00 00 F7
F0 06 09 00 01 01 00 00 00 01 0D 04 00 00 00 00 00 00 00 04 00 00 00 01 00 00 00 01 00 00 00 F7
F0 06 09 00 01 01 00 00 00 02 0D 04 00 00 00 00 00 00 00 04 00 00 00 01 00 00 00 01 00 00 00 F7
F0 06 09 00 01 01 00 00 00 03 0D 04 00 00 00 00 00 00 00 04 00 00 00 01 00 00 00 01 00 00 00 F7
F0 06 09 00 01 01 00 00 00 04 0D 04 00 00 00 00 00 00 00 04 00 00 00 01 00 00 00 01 00 00 00 F7
F0 06 09 00 01 01 00 00 00 05 0D 04 00 00 00 00 00 00 00 04 00 00 00 01 00 00 00 01 00 00 00 F7
F0 06 09 00 01 01 00 00 00 06 0D 04 00 00 00 00 00 00 00 04 00 00 00 01 00 00 00 01 00 00 00 F7
F0 06 09 00 01 01 00 00 00 07 0D 04 00 00 00 00 00 00 00 04 00 00 00 01 00 00 00 01 00 00 00 F7
F0 06 09 00 01 01 00 00 00 08 0D 04 00 00 00 00 00 00 00 04 00 00 00 01 00 00 00 01 00 00 00 F7
F0 06 09 00 01 01 00 00 00 09 0D 04 00 00 00 00 00 00 00 04 00 00 00 01 00 00 00 01 00 00 00 F7
F0 06 09 00 01 01 00 00 00 0A 0D 04 00 00 00 00 00 00 00 04 00 00 00 01 00 00 00 01 00 00 00 F7
F0 06 09 00 01 01 00 00 00 0B 0D 04 00 00 00 00 00 00 00 04 00 00 00 01 00 00 00 01 00 00 00 F7
F0 06 09 00 01 01 00 00 00 0C 0D 04 00 00 00 00 00 00 00 04 00 00 00 01 00 00 00 01 00 00 00 F7
F0 06 09 00 01 01 00 00 00 0D 0D 04 00 00 00 00 00 00 00 04 00 00 00 01 00 00 00 01 00 00 00 F7
F0 06 09 00 01 01 00 00 00 0E 0D 04 00 00 00 00 00 00 00 04 00 00 00 01 00 00 00 01 00 00 00 F7
F0 06 09 00 01 01 00 00 00 0F 0D 04 00 00 00 00 00 00 00 04 00 00 00 01 00 00 00 01 00 00 00 F7
F0 06 09 00 01 01 00 00 00 00 0E 04 00 00 00 00 00 00 00 04 00 00 00 01 00 00 00 01 00 00 00 F7
F0 06 09 00 01 01 00 00 00 01 0E 04 00 00 00 00 00 00 00 04 00 00 00 01 00 00 00 01 00 00 00 F7
F0 06 09 00 01 01 00 00 00 02 0E 04 00 00 00 00 00 00 00 04 00 00 00 01 00 00 00 01 00 00 00 F7
F0 06 09 00 01 01 00 00 00 03 0E 04 00 00 00 00 00 00 00 04 00 00 00 01 00 00 00 01 00 00 00 F7
F0 06 09 00 01 01 00 00 00 04 0E 04 00 00 00 00 00 00 00 04 00 00 00 01 00 00 00 01 00 00 00 F7
F0 06 09 00 01 01 00 00 00 05 0E 04 00 00 00 00 00 00 00 04 00 00 00 01 00 00 00 01 00 00 00 F7
F0 06 09 00 01 01 00 00 00 06 0E 04 00 00 00 00 00 00 00 04 00 00 00 01 00 00 00 01 00 00 00 F7
F0 06 09 00 01 01 00 00 00 07 0E 04 00 00 00 00 00 00 00 04 00 00 00 01 00 00 00 01 00 00 00 F7
F0 06 09 00 01 01 00 00 00 08 0E 04 00 00 00 00 00 00 00 04 00 00 00 01 00 00 00 01 00 00 00 F7
F0 06 09 00 01 01 00 00 00 09 0E 04 00 00 00 00 00 00 00 04 00 00 00 01 00 00 00 01 00 00 00 F7
F0 06 09 00 01 01 00 00 00 0A 0E 04 00 00 00 00 00 00 00 04 00 00 00 01 00 00 00 01 00 00 00 F7
F0 06 09 00 01 01 00 00 00 0B 0E 04 00 00 00 00 00 00 00 04 00 00 00 01 00 00 00 01 00 00 00 F7
F0 06 09 00 01 01 00 00 00 0C 0E 04 00 00 00 00 00 00 00 04 00 00 00 01 00 00 00 01 00 00 00 F7
F0 06 09 00 01 01 00 00 00 0D 0E 04 00 00 00 00 00 00 00 04 00 00 00 01 00 00 00 01 00 00 00 F7
F0 06 09 00 01 01 00 00 00 0E 0E 04 00 00 00 00 00 00 00 04 00 00 00 01 00 00 00 01 00 00 00 F7
F0 06 09 00 01 01 00 00 00 0F 0E 04 00 00 00 00 00 00 00 04 00 00 00 01 00 00 00 01 00 00 00 F7
F0 06 09 00 01 01 00 00 00 00 0F 04 00 00 00 00 00 00 00 04 00 00 00 01 00 00 00 01 00 00 00 F7
F0 06 09 00 01 01 00 00 00 01 0F 04 00 00 00 00 00 00 00 04 00 00 00 01 00 00 00 01 00 00 00 F7
F0 06 09 00 01 01 00 00 00 02 0F 04 00 00 00 00 00 00 00 04 00 00 00 01 00 00 00 01 00 00 00 F7
F0 06 09 00 01 01 00 00 00 03 0F 04 00 00 00 00 00 00 00 04 00 00 00 01 00 00 00 01 00 00 00 F7
F0 06 09 00 01 01 00 00 00 04 0F 04 00 00 00 00 00 00 00 04 00 00 00 01 00 00 00 01 00 00 00 F7
F0 06 09 00 01 01 00 00 00 05 0F 04 00 00 00 00 00 00 00 04 00 00 00 01 00 00 00 01 00 00 00 F7
F0 06 09 00 01 01 00 00 00 06 0F 04 00 00 00 00 00 00 00 04 00 00 00 01 00 00 00 01 00 00 00 F7
F0 06 09 00 01 01 00 00 00 07 0F 04 00 00 00 00 00 00 00 04 00 00 00 01 00 00 00 01 00 00 00 F7
F0 06 09 00 01 01 00 00 00 08 0F 04 00 00 00 00 00 00 00 04 00 00 00 01 00 00 00 01 00 00 00 F7
F0 06 09 00 01 01 00 00 00 09 0F 04 00 00 00 00 00 00 00 04 00 00 00 01 00 00 00 01 00 00 00 F7
F0 06 09 00 01 01 00 00 00 0A 0F 04 00 00 00 00 00 00 00 04 00 00 00 01 00 00 00 01 00 00 00 F7
F0 06 09 00 01 01 00 00 00 0B 0F 04 00 00 00 00 00 00 00 04 00 00 00 01 00 00 00 01 00 00 00 F7
F0 06 09 00 01 01 00 00 00 0C 0F 04 00 00 00 00 00 00 00 04 00 00 00 01 00 00 00 01 00 00 00 F7
F0 06 09 00 01 01 00 00 00 0D 0F 04 00 00 00 00 00 00 00 04 00 00 00 01 00 00 00 01 00 00 00 F7
F0 06 09 00 01 01 00 00 00 0E 0F 04 00 00 00 00 00 00 00 04 00 00 00 01 00 00 00 01 00 00 00 F7
F0 06 09 00 01 01 00 00 00 0F 0F 04 00 00 00 00 00 00 00 04 00 00 00 01 00 00 00 01 00 00 00 F7
F0 06 09 00 01 01 00 00 00 00 00 04 00 00 00 00 00 00 00 04 00 00 00 01 00 00 00 01 00 00 00 F7
F0 06 09 00 01 01 00 00 00 01 00 04 00 00 00 00 00 00 00 04 00 00 00 01 00 00 00 01 00 00 00 F7
F0 06 09 00 01 01 00 00 00 02 00 04 00 00 00 00 00 00 00 04 00 00 00 01 00 00 00 01 00 00 00 F7
F0 06 09 00 01 01 00 00 00 03 00 04 00 00 00 00 00 00 00 04 00 00 00 01 00 00 00 01 00 00 00 F7
F0 06 09 00 01 01 00 00 00 04 00 04 00 00 00 00 00 00 00 04 00 00 00 01 00 00 00 01 00 00 00 F7
F0 06 09 00 01 01 00 00 00 05 00 04 00 00 00 00 00 00 00 04 00 00 00 01 00 00 00 01 00 00 00 F7
F0 06 09 00 01 01 00 00 00 06 00 04 00 00 00 00 00 00 00 04 00 00 00 01 00 00 00 01 00 00 00 F7

The value for the parameter change is formatted here =
F0 06 09 00 01 01 00 00 00 0%s 0%s 04 00 00 00 00 00 00 00 04 00 00 00 01 00 00 00 01 00 00 00 F7
The Hex is backwards in strings. So the first value 0xA6 and would be inserted like:
F0 06 09 00 01 01 00 00 00 06 0A 04 00 00 00 00 00 00 00 04 00 00 00 01 00 00 00 01 00 00 00 F7

From here I need to convert the 0-127 Midi value over to the value that is to be inserted into the hex.
I could code this line by line with the corresponding midi values...

I have a lot more of these to go and they might be super complicated at times or, like the first one I did, super easy. None the less, I need a good system to take care of this process for me.

Thanks for your help,
Jimmy Vig
#13
I was totally looking at it wrong. This will work great!!
Function Function88
Code:
Copy      Help
str s="F0 06 09 00 01 01 00 00 00 06 0A 04 00 00 00 00 00 00 00 04 00 00 00 01 00 00 00 01 00 00 00 F7 F0 06 09 00 01 01 00 00 00 07 0A 04 00 00 00 00 00 00 00 04 00 00 00 01 00 00 00 01 00 00 00 F7 F0 06 09 00 01 01 00 00 00 08 0A 04 00 00 00 00 00 00 00 04 00 00 00 01 00 00 00 01 00 00 00 F7 F0 06 09 00 01 01 00 00 00 09 0A 04 00 00 00 00 00 00 00 04 00 00 00 01 00 00 00 01 00 00 00 F7 F0 06 09 00 01 01 00 00 00 0A 0A 04 00 00 00 00 00 00 00 04 00 00 00 01 00 00 00 01 00 00 00 F7 F0 06 09 00 01 01 00 00 00 0B 0A 04 00 00 00 00 00 00 00 04 00 00 00 01 00 00 00 01 00 00 00 F7 F0 06 09 00 01 01 00 00 00 0C 0A 04 00 00 00 00 00 00 00 04 00 00 00 01 00 00 00 01 00 00 00 F7 F0 06 09 00 01 01 00 00 00 0D 0A 04 00 00 00 00 00 00 00 04 00 00 00 01 00 00 00 01 00 00 00 F7 F0 06 09 00 01 01 00 00 00 0E 0A 04 00 00 00 00 00 00 00 04 00 00 00 01 00 00 00 01 00 00 00 F7 F0 06 09 00 01 01 00 00 00 0F 0A 04 00 00 00 00 00 00 00 04 00 00 00 01 00 00 00 01 00 00 00 F7 F0 06 09 00 01 01 00 00 00 00 0B 04 00 00 00 00 00 00 00 04 00 00 00 01 00 00 00 01 00 00 00 F7 F0 06 09 00 01 01 00 00 00 01 0B 04 00 00 00 00 00 00 00 04 00 00 00 01 00 00 00 01 00 00 00 F7 F0 06 09 00 01 01 00 00 00 02 0B 04 00 00 00 00 00 00 00 04 00 00 00 01 00 00 00 01 00 00 00 F7 F0 06 09 00 01 01 00 00 00 03 0B 04 00 00 00 00 00 00 00 04 00 00 00 01 00 00 00 01 00 00 00 F7 F0 06 09 00 01 01 00 00 00 04 0B 04 00 00 00 00 00 00 00 04 00 00 00 01 00 00 00 01 00 00 00 F7 F0 06 09 00 01 01 00 00 00 05 0B 04 00 00 00 00 00 00 00 04 00 00 00 01 00 00 00 01 00 00 00 F7 F0 06 09 00 01 01 00 00 00 06 0B 04 00 00 00 00 00 00 00 04 00 00 00 01 00 00 00 01 00 00 00 F7 F0 06 09 00 01 01 00 00 00 07 0B 04 00 00 00 00 00 00 00 04 00 00 00 01 00 00 00 01 00 00 00 F7 F0 06 09 00 01 01 00 00 00 08 0B 04 00 00 00 00 00 00 00 04 00 00 00 01 00 00 00 01 00 00 00 F7 F0 06 09 00 01 01 00 00 00 09 0B 04 00 00 00 00 00 00 00 04 00 00 00 01 00 00 00 01 00 00 00 F7 F0 06 09 00 01 01 00 00 00 0A 0B 04 00 00 00 00 00 00 00 04 00 00 00 01 00 00 00 01 00 00 00 F7 F0 06 09 00 01 01 00 00 00 0B 0B 04 00 00 00 00 00 00 00 04 00 00 00 01 00 00 00 01 00 00 00 F7 F0 06 09 00 01 01 00 00 00 0C 0B 04 00 00 00 00 00 00 00 04 00 00 00 01 00 00 00 01 00 00 00 F7 F0 06 09 00 01 01 00 00 00 0D 0B 04 00 00 00 00 00 00 00 04 00 00 00 01 00 00 00 01 00 00 00 F7 F0 06 09 00 01 01 00 00 00 0E 0B 04 00 00 00 00 00 00 00 04 00 00 00 01 00 00 00 01 00 00 00 F7 F0 06 09 00 01 01 00 00 00 0F 0B 04 00 00 00 00 00 00 00 04 00 00 00 01 00 00 00 01 00 00 00 F7 F0 06 09 00 01 01 00 00 00 00 0C 04 00 00 00 00 00 00 00 04 00 00 00 01 00 00 00 01 00 00 00 F7 F0 06 09 00 01 01 00 00 00 01 0C 04 00 00 00 00 00 00 00 04 00 00 00 01 00 00 00 01 00 00 00 F7 F0 06 09 00 01 01 00 00 00 02 0C 04 00 00 00 00 00 00 00 04 00 00 00 01 00 00 00 01 00 00 00 F7 F0 06 09 00 01 01 00 00 00 03 0C 04 00 00 00 00 00 00 00 04 00 00 00 01 00 00 00 01 00 00 00 F7 F0 06 09 00 01 01 00 00 00 04 0C 04 00 00 00 00 00 00 00 04 00 00 00 01 00 00 00 01 00 00 00 F7 F0 06 09 00 01 01 00 00 00 05 0C 04 00 00 00 00 00 00 00 04 00 00 00 01 00 00 00 01 00 00 00 F7 F0 06 09 00 01 01 00 00 00 06 0C 04 00 00 00 00 00 00 00 04 00 00 00 01 00 00 00 01 00 00 00 F7 F0 06 09 00 01 01 00 00 00 07 0C 04 00 00 00 00 00 00 00 04 00 00 00 01 00 00 00 01 00 00 00 F7 F0 06 09 00 01 01 00 00 00 08 0C 04 00 00 00 00 00 00 00 04 00 00 00 01 00 00 00 01 00 00 00 F7 F0 06 09 00 01 01 00 00 00 09 0C 04 00 00 00 00 00 00 00 04 00 00 00 01 00 00 00 01 00 00 00 F7 F0 06 09 00 01 01 00 00 00 0A 0C 04 00 00 00 00 00 00 00 04 00 00 00 01 00 00 00 01 00 00 00 F7 F0 06 09 00 01 01 00 00 00 0B 0C 04 00 00 00 00 00 00 00 04 00 00 00 01 00 00 00 01 00 00 00 F7 F0 06 09 00 01 01 00 00 00 0C 0C 04 00 00 00 00 00 00 00 04 00 00 00 01 00 00 00 01 00 00 00 F7 F0 06 09 00 01 01 00 00 00 0D 0C 04 00 00 00 00 00 00 00 04 00 00 00 01 00 00 00 01 00 00 00 F7 F0 06 09 00 01 01 00 00 00 0E 0C 04 00 00 00 00 00 00 00 04 00 00 00 01 00 00 00 01 00 00 00 F7 F0 06 09 00 01 01 00 00 00 0F 0C 04 00 00 00 00 00 00 00 04 00 00 00 01 00 00 00 01 00 00 00 F7 F0 06 09 00 01 01 00 00 00 00 0D 04 00 00 00 00 00 00 00 04 00 00 00 01 00 00 00 01 00 00 00 F7 F0 06 09 00 01 01 00 00 00 01 0D 04 00 00 00 00 00 00 00 04 00 00 00 01 00 00 00 01 00 00 00 F7 F0 06 09 00 01 01 00 00 00 02 0D 04 00 00 00 00 00 00 00 04 00 00 00 01 00 00 00 01 00 00 00 F7 F0 06 09 00 01 01 00 00 00 03 0D 04 00 00 00 00 00 00 00 04 00 00 00 01 00 00 00 01 00 00 00 F7 F0 06 09 00 01 01 00 00 00 04 0D 04 00 00 00 00 00 00 00 04 00 00 00 01 00 00 00 01 00 00 00 F7 F0 06 09 00 01 01 00 00 00 05 0D 04 00 00 00 00 00 00 00 04 00 00 00 01 00 00 00 01 00 00 00 F7 F0 06 09 00 01 01 00 00 00 06 0D 04 00 00 00 00 00 00 00 04 00 00 00 01 00 00 00 01 00 00 00 F7 F0 06 09 00 01 01 00 00 00 07 0D 04 00 00 00 00 00 00 00 04 00 00 00 01 00 00 00 01 00 00 00 F7 F0 06 09 00 01 01 00 00 00 08 0D 04 00 00 00 00 00 00 00 04 00 00 00 01 00 00 00 01 00 00 00 F7 F0 06 09 00 01 01 00 00 00 09 0D 04 00 00 00 00 00 00 00 04 00 00 00 01 00 00 00 01 00 00 00 F7 F0 06 09 00 01 01 00 00 00 0A 0D 04 00 00 00 00 00 00 00 04 00 00 00 01 00 00 00 01 00 00 00 F7 F0 06 09 00 01 01 00 00 00 0B 0D 04 00 00 00 00 00 00 00 04 00 00 00 01 00 00 00 01 00 00 00 F7 F0 06 09 00 01 01 00 00 00 0C 0D 04 00 00 00 00 00 00 00 04 00 00 00 01 00 00 00 01 00 00 00 F7 F0 06 09 00 01 01 00 00 00 0D 0D 04 00 00 00 00 00 00 00 04 00 00 00 01 00 00 00 01 00 00 00 F7 F0 06 09 00 01 01 00 00 00 0E 0D 04 00 00 00 00 00 00 00 04 00 00 00 01 00 00 00 01 00 00 00 F7 F0 06 09 00 01 01 00 00 00 0F 0D 04 00 00 00 00 00 00 00 04 00 00 00 01 00 00 00 01 00 00 00 F7 F0 06 09 00 01 01 00 00 00 00 0E 04 00 00 00 00 00 00 00 04 00 00 00 01 00 00 00 01 00 00 00 F7 F0 06 09 00 01 01 00 00 00 01 0E 04 00 00 00 00 00 00 00 04 00 00 00 01 00 00 00 01 00 00 00 F7 F0 06 09 00 01 01 00 00 00 02 0E 04 00 00 00 00 00 00 00 04 00 00 00 01 00 00 00 01 00 00 00 F7 F0 06 09 00 01 01 00 00 00 03 0E 04 00 00 00 00 00 00 00 04 00 00 00 01 00 00 00 01 00 00 00 F7 F0 06 09 00 01 01 00 00 00 04 0E 04 00 00 00 00 00 00 00 04 00 00 00 01 00 00 00 01 00 00 00 F7 F0 06 09 00 01 01 00 00 00 05 0E 04 00 00 00 00 00 00 00 04 00 00 00 01 00 00 00 01 00 00 00 F7 F0 06 09 00 01 01 00 00 00 06 0E 04 00 00 00 00 00 00 00 04 00 00 00 01 00 00 00 01 00 00 00 F7 F0 06 09 00 01 01 00 00 00 07 0E 04 00 00 00 00 00 00 00 04 00 00 00 01 00 00 00 01 00 00 00 F7 F0 06 09 00 01 01 00 00 00 08 0E 04 00 00 00 00 00 00 00 04 00 00 00 01 00 00 00 01 00 00 00 F7 F0 06 09 00 01 01 00 00 00 09 0E 04 00 00 00 00 00 00 00 04 00 00 00 01 00 00 00 01 00 00 00 F7 F0 06 09 00 01 01 00 00 00 0A 0E 04 00 00 00 00 00 00 00 04 00 00 00 01 00 00 00 01 00 00 00 F7 F0 06 09 00 01 01 00 00 00 0B 0E 04 00 00 00 00 00 00 00 04 00 00 00 01 00 00 00 01 00 00 00 F7 F0 06 09 00 01 01 00 00 00 0C 0E 04 00 00 00 00 00 00 00 04 00 00 00 01 00 00 00 01 00 00 00 F7 F0 06 09 00 01 01 00 00 00 0D 0E 04 00 00 00 00 00 00 00 04 00 00 00 01 00 00 00 01 00 00 00 F7 F0 06 09 00 01 01 00 00 00 0E 0E 04 00 00 00 00 00 00 00 04 00 00 00 01 00 00 00 01 00 00 00 F7 F0 06 09 00 01 01 00 00 00 0F 0E 04 00 00 00 00 00 00 00 04 00 00 00 01 00 00 00 01 00 00 00 F7 F0 06 09 00 01 01 00 00 00 00 0F 04 00 00 00 00 00 00 00 04 00 00 00 01 00 00 00 01 00 00 00 F7 F0 06 09 00 01 01 00 00 00 01 0F 04 00 00 00 00 00 00 00 04 00 00 00 01 00 00 00 01 00 00 00 F7 F0 06 09 00 01 01 00 00 00 02 0F 04 00 00 00 00 00 00 00 04 00 00 00 01 00 00 00 01 00 00 00 F7 F0 06 09 00 01 01 00 00 00 03 0F 04 00 00 00 00 00 00 00 04 00 00 00 01 00 00 00 01 00 00 00 F7 F0 06 09 00 01 01 00 00 00 04 0F 04 00 00 00 00 00 00 00 04 00 00 00 01 00 00 00 01 00 00 00 F7 F0 06 09 00 01 01 00 00 00 05 0F 04 00 00 00 00 00 00 00 04 00 00 00 01 00 00 00 01 00 00 00 F7 F0 06 09 00 01 01 00 00 00 06 0F 04 00 00 00 00 00 00 00 04 00 00 00 01 00 00 00 01 00 00 00 F7 F0 06 09 00 01 01 00 00 00 07 0F 04 00 00 00 00 00 00 00 04 00 00 00 01 00 00 00 01 00 00 00 F7 F0 06 09 00 01 01 00 00 00 08 0F 04 00 00 00 00 00 00 00 04 00 00 00 01 00 00 00 01 00 00 00 F7 F0 06 09 00 01 01 00 00 00 09 0F 04 00 00 00 00 00 00 00 04 00 00 00 01 00 00 00 01 00 00 00 F7 F0 06 09 00 01 01 00 00 00 0A 0F 04 00 00 00 00 00 00 00 04 00 00 00 01 00 00 00 01 00 00 00 F7 F0 06 09 00 01 01 00 00 00 0B 0F 04 00 00 00 00 00 00 00 04 00 00 00 01 00 00 00 01 00 00 00 F7 F0 06 09 00 01 01 00 00 00 0C 0F 04 00 00 00 00 00 00 00 04 00 00 00 01 00 00 00 01 00 00 00 F7 F0 06 09 00 01 01 00 00 00 0D 0F 04 00 00 00 00 00 00 00 04 00 00 00 01 00 00 00 01 00 00 00 F7 F0 06 09 00 01 01 00 00 00 0E 0F 04 00 00 00 00 00 00 00 04 00 00 00 01 00 00 00 01 00 00 00 F7 F0 06 09 00 01 01 00 00 00 0F 0F 04 00 00 00 00 00 00 00 04 00 00 00 01 00 00 00 01 00 00 00 F7 F0 06 09 00 01 01 00 00 00 00 00 04 00 00 00 00 00 00 00 04 00 00 00 01 00 00 00 01 00 00 00 F7 F0 06 09 00 01 01 00 00 00 01 00 04 00 00 00 00 00 00 00 04 00 00 00 01 00 00 00 01 00 00 00 F7 F0 06 09 00 01 01 00 00 00 02 00 04 00 00 00 00 00 00 00 04 00 00 00 01 00 00 00 01 00 00 00 F7 F0 06 09 00 01 01 00 00 00 03 00 04 00 00 00 00 00 00 00 04 00 00 00 01 00 00 00 01 00 00 00 F7 F0 06 09 00 01 01 00 00 00 04 00 04 00 00 00 00 00 00 00 04 00 00 00 01 00 00 00 01 00 00 00 F7 F0 06 09 00 01 01 00 00 00 05 00 04 00 00 00 00 00 00 00 04 00 00 00 01 00 00 00 01 00 00 00 F7 F0 06 09 00 01 01 00 00 00 06 00 04 00 00 00 00 00 00 00 04 00 00 00 01 00 00 00 01 00 00 00 F7"

s.findreplace("F7" "F7[]")

ARRAY(str) a=s
out a

int i=numlines(s)
i=i-1
CURRENCY MidiCCval=127
;
MidiCCval=(MidiCCval/127)
str SysEx1 SysEx2
int SysExVal=i*MidiCCval

MIDI_SysEx a[SysExVal]


Forum Jump:


Users browsing this thread: 1 Guest(s)