View Single Post
Old 04-06-2008, 03:14 AM   #24
Deric
Human being with feelings
 
Join Date: Mar 2007
Posts: 794
Default

Thing is, I think this stuff is 'just' looking at MIDI messages that are being sent from the MCU TO the PC...

i.e. I think that they are 'just' MIDI messages.

I'm assuming (oh, oh) that therefore the code we are looking at is just using these (standard) MIDI messages and deciding what to do depending on what is received.

Problem is, whilst I can see what my surfaces are generating, I can't figure out how to modify the 'receive value' as far as Justin/Christophe's code goes.

i.e. I think they've seen what the MCU generates and made various commands as a result - but other control surfaces generate different codes for the same thing.

In this particular case I'm trying to understand how to give a different value to 'Shift' so that I can have two functions for each button.

Justin/Christophe have done it like this:

if (evt->midi_message[1] == 0x59)
{
SendMessage(g_hwnd,WM_COMMAND,IsKeyDown(VK_SHIFT)? ID_INSERT_MARKERRGN:ID_INSERT_MARKER,0);
}

This will insert a 'marker region' if the Shift key is down, or will insert a 'marker' if the Shift key is not down.

I want to assign a value to VK_SHIFT so that it will work with something that sends a different value than the MCU.

I also want to understand how the Zoom key works...

There is so much power and felxibilty that could be implemented... Next/Previous Transient, Next/Previous Item, Adjust Loop size, etc, etc...

A little (OK, tiny!) bit of knowledge is so frustrating! I can see what I want to do - but can't work out how to do it!

Edit: Do you understand how the m_mackie_modifiers code sample (you posted) works? (I don't BTW).
__________________
REAPER? Oh yes...

Last edited by Deric; 04-06-2008 at 03:16 AM. Reason: Added question.
Deric is offline   Reply With Quote