Modify Mididata by pressing a Button?! (Akai APC40)

VJVertex

2010-10-22 11:25:52

Hi,

first i want to say, MT is a really great programm!
I use it with my Akai APC40 and a Codanova VMX for VJing.
The most things i want working like i want,but there is one thing i need, but i´m not sure if it´s possible.

I need a kind of "shift-function", normaly i press a key on my APC40 and it sends a midi note. Is it possible to create a expression or anything else which change this midi note if i press another key?

example:
pressing key 1 => midi note: C1
pressing key 2 & key 1 => midi note: G1 (when key 2 & 1 is pressed, midi note from key 1 is modified)

it´s similar to the "shift button", pressing "a" = "a" pressing "shift & "a" = "A"

sorry for my bad english, but it´s really difficult to describe what i want.

Hope anybody understand what i need and there is a way to solve the problem.
greets

S4racen

2010-10-25 18:30:03

You simply need to investigate Global Variables,

eg. at start gg = 0 when key 2 is pressed gg == 1
When key 1 is pressed bomes checks the value of gg if it = 0 then it passes the original midi if gg == 1 then it swallows the original midi and passes your modified midi...

Cheers
D

VJVertex

2010-10-25 20:40:07

thats what i tried, but don´t work correctly.

for the shift-key (#2)i have input and an expression =>push key => gg=1
but what i have to do with the normal-key (#1), if gg==1 pp=90? and for the input "pp 35 00"

The APC normally sends for example "90 35 00" but with shit i should send "95 35 00"
so input is "pp 35 00" expression "if gg==1 pp=pp+5" ? output "pp 35 00" ?

sorry, maybe i made a mistake, but i think thats what a tried. How long is gg==1 active? only for the time of pushing key #2 ? If its a kind of variable holding i have to make another command => release key => gg=0.

Is it possible to mix Numbers with Variables? "9p 35 00" or only whole blocks pp qq aso.

Attigo

2010-10-27 22:01:49

Hi VJVertex,

You are almost right...

When you set a variable, like gg to be 1 when a button is pressed, and then 0 when released, this is correct. But for the 'shifted' function, to keep it simple, you just have 2 translators with the same input, but different outputs. One will only send output if gg=0 and the other will only send output if gg=1, (gg=1 being your shift mode)

The rule you must use is...

if gg=0 then skip rules, execute outgoing action

or

if gg=1 then skip rules, execute outgoing action

You can make the output messages whatever you wish, just map it in correctly afterwards...

I hope this helps!!

cheers,
Scott