Help with Roland GFC-50

Gray Fox

2009-08-28 12:04:06

Hi guys,
You'll have to excuse my ignorance, I'm relatively new to MT and would appreciate any help with the following :)

I'm using this with Ableton Live 8
1: I'm wanting to have the GFC-50 sustain a certain note when I keep my foot pressed down on a particular switch and I want it to stop when I take my foot off the switch (on/off scenario)
2: I'm wanting to have another switch turn on a particular note when I hit the switch and then sustain that note until I hit the same switch again (toggle scenario)

At the moment when I hit any switch, it just stays on solidly & won't stop, I've experimented a bit but unfortunately I'm a bit of a novice with this all.

The incoming midi from the GFC-50 switches are:
C0 00, C0 01, C0 02, C0 03, C0 04, C0 05, C0 06, C0 07, C0 08 & C0 09 which I believe are all program change messages.
I know how to change these to note on & note off on the outgoing trigger of MT but I can't figure out how to get it to behave as I require above.

Any help would be greatly appreciated
:D:lol:

florian

2009-09-07 23:14:35

Hi Gray,

sorry for the late reply.

When you use "Capture MIDI", do you see MIDI messages coming in only when pressing down a pedal? Your sequence of MIDI data suggests that... if you don't get two separate MIDI message for pressing and releasing the pedal, you won't be able to do 1).

Regarding 2), that's quite easy. You just ignore the program change value as incoming:

Code: Select all

INCOMING: MIDI C0 pp
Now that translator will be triggered by any program change -- the variable pp will be set to the corresponding program number, but we don't need it.

Now you will need a little logic for the toggle behavior. We use one global variable g0 that we set to 1 if the note is currently ON, and back to 0 when it's off. Then we just need to check it's value and patch the outgoing message accordingly. We use 90 40 7F for starting the note, and 90 40 00 for stopping the note. So we only need to define the last byte, for which we use the variable qq. 7F in hexadecimal is 127, the maximum velocity.

Code: Select all

Rules:
if g0 == 0 then qq=127
if g0 == 1 then qq=0
g0=1-g0

Outgoing: MIDI 90 40 qq
Note the last line of the rules: it's an efficient way to always alternate g0 between 0 and 1.

Let me know how it works!
Florian

Gray Fox

2009-09-08 14:04:19

Hi Florian,

Thank you so much :D
It works perfectly & I just purchased the full version of MT.
I definitely need to spend more time learning about the MT Rules etc, so I can have a better understanding, I'm feeling like a complete novice at the moment :?
Once again, thank you for your help, it's greatly appreciated :mrgreen:

Darcy

florian

2009-09-09 08:12:41

great to hear!
Florian