About how hi (human interface) messages are handled

Questions and discussion about building and using Max for Live devices
Post Reply
toscanini
Posts: 410
Joined: Thu May 05, 2005 5:42 pm

About how hi (human interface) messages are handled

Post by toscanini » Fri Nov 12, 2010 5:33 pm

Hello,

I have been using the hi object to dispose of the computer keyboard for playing synths or other control possibilities. It has many advantages over the regular "Computer MIDI Keyboard" option: more keys at disposal, no need for the Live window to be focused on, fast response.
(This is my very simple setup: Live MIDI track, a Max MIDI effect that contains the patch with the hi object, and a VST plug synth.)

But: it is not perfectly clear how the message output from the hi object has to be translated into MIDI. I translate the output into regular MIDI messages (lists of pitch and velocity values), which is fairly easy, I use a coll object that contains the translated values for all keyboard keys, and some routing.
The resulting message, fed into a noteout or into a midiout, works fine for playing, but not for recording. The only way that I have found to record my keyboard actions is to route the MIDI message to another MIDI track. And this I'd like to avoid.

Of course the hi object works independently of the Live set's MIDI setup, and for this reason you can play synth on a MIDI track where MIDI from is set to "no input". As another proof of this my Max MIDI Effect's MIDI OUT indicator blinks as it should. I can even throw more MIDI effects after it in the chain. And yet, that MIDI info is not directly available for recording on the track.

I fear it is some kind of Live inner architecture issue: because I could not specify the "MIDI From" for the track (or if I did it is irrelevant anyway), Live does not treat my MIDI message as a 100% authentic one. But I hope I am wrong, and I overlooked something, I should use another object than noteout or midiout...
...or at least tell me a hack is possible. I tried to throw a dummy Max MIDI effect in the chain, not good enough :wink:

thank you for all advices,
toscanini


f.w.i.w. here is my patch, sorry this is not a general solution, but lets you see what is going on...


<pre><code>
----------begin_max5_patcher----------
1038.3ocyY00jaZCE8Y6eEZ3wNtonug9V5ac5q8sLY1Q1nrqZvfGPNc2lI+2
KRf23ciD95.KievevEcPGc3dDRW955UIaqeT2lf9czGPqV800qV4C4BrZ33U
I6UOtqT05aVRk9eq29OIa5OkU+n0G1h1h1dJZ0w8lpRs0i.OD7S0U1Vy+o8w
ReW5P3CJ6tGLU2eWidmsmHYtyhHYtuywuiuAg69O5iCHLE9driE+p7rdr9n8
TWRFh1Gx9zAc+ENYqp59jMC+97EzwrJ0deiRdeiQUh9i5xhD2Y+150tu1LM0
YuovXplK4Q3DFZJ18CyqUwzGQX8AGSeLU1kVV9T4w1GlIkgPjdogvb+v4iIM
T1ss1bPs6yHCxDTZH+rRCg4kl7QyZn3qTZV7bl5l8JaPkQ9SqLY4dMIcTogH
u8cTcbXl8Sh9oZjioL3HIMoK1XeWcY47NvwY9ANOermAgijRvh5V1b1mKlaL
bZ2f6tBkUMnKCBi6DGq7rlI1LD5Ty9fugO2zty7Y8Sunocg9hp73.yXBzGGh
2eyHHXZDvRHfIogAmAALiGFbNHvxo.lDDLOEjfkEFLFTOSCCl.Bb1D.SXgAS
AANBsYf.GQs4fFy4S.LMbRBGjwfDN8jCxXvvgACxXvSm.XZDACjwfDdx.AHi
AI7XV.xXvmBXV3baALiQ3jDAHiAMrwP.xXvIS.LKbRh.jwfDNIQ.6IFQnMHi
AmNAvjvS.JfYLhHXfLFxvfkfLFb1D.Si.FjwfF1UIAYLjQ.CxXv4S.LMBXPF
CQX+rDjwPFN2VBxXHvSAbXigDjwPD1XHAYLDQFyfLFhvomYfxsEguOmcdt8v
e6tJ8qbtU8EcwccqTua082or1Fy1i19Zdc95n062p8KpGO.e91Xxu31U4bsO
9beYwv4T+NyXitkra7x+brxUjiYdKabwkKvAlck0MzILaVb8ooiG5tgMBiQX
BBSQXV2.DgEnWroyoHamp2Aou5GLwn5FMrtkCZqtg97Vnl60ssp60+fb99CG
J0n+rxpap5t7+k9os0plhe6ua5xBOnJPzYxih4dyIWbVMDvhvRZ9sPo1hoXG
pKKmMUoup98hBUNllvtgK+XYspn+sHLiupC.kqlbkZxR+FNdvLySHk1mnPFs
zaW4z3klV6UOsiuscPqd86IySdW7WpVs0Ga1cpGO8lFPem+E5VqoRYM0Um0H
W4SOqQOXJJzUmW+z8lhC0cO.ZfD8qx4Gt2AkSt5XeQN8Jh+VyILHNsr5jaIT
v3Ddw3zqjfvb5U2feq4DnT7qiQY9ptmk4m.H84ClHQymehhEj2BlB4traAYK
oav0cYWhSK7rFrWX9hvIwxyoKduaYcnhavGBAfRKqHIAjKku3L5RZzTLbcG7
s0++rOQVO
-----------end_max5_patcher-----------
</code></pre>

hoffman2k
Posts: 14694
Joined: Tue Jun 15, 2004 6:40 pm
Location: Belgium
Contact:

Re: About how hi (human interface) messages are handled

Post by hoffman2k » Fri Nov 12, 2010 5:46 pm

That is how Live works. You can't record the output of a MIDI Track and its effects on the same track. The signal chain goes: Clip > Effects > Output

zalo
Posts: 999
Joined: Sat Jun 27, 2009 9:10 pm

Re: About how hi (human interface) messages are handled

Post by zalo » Sat Nov 13, 2010 3:55 pm

max runtime

toscanini
Posts: 410
Joined: Thu May 05, 2005 5:42 pm

Re: About how hi (human interface) messages are handled

Post by toscanini » Sat Nov 13, 2010 8:49 pm

zalo wrote:max runtime
Wow. I did think of using some independent application just for this, although I have no idea what will decide if Live recognises this application as a potential MIDI source. But I did not think of using my very patch as a Max runtime. I'll need to learn how to do this, though.
Actually I have thought out a potentially better MIDI routing in the Live set after Hoffman's answer, but ideally I'd really prefer like this, I never really trust those routings, and maybe there is even some way in max to put the hi on/off control directly into the OS menubar 8)

toscanini
Posts: 410
Joined: Thu May 05, 2005 5:42 pm

Re: About how hi (human interface) messages are handled

Post by toscanini » Tue Nov 16, 2010 7:07 pm

zalo wrote:ok, i think i figured it out

the limitations of M4L are the same limitations that Live has,

if you open up a max patch inside M4L your only output options will be into live (not including OSC) but all midi and audio input and output will either be from or to live

just like any other live plugin

here is where it gets interesting

once you open Max via M4L effect edit button, you can go to file>new patcher

now you can create any max patch, and it saves as a max patch (.maxpat) not as a M4L device (.amxd)

download max runtime, start up max run time and open the max patch you just created, you dont have the option of editing while its open but you dont have the limitations of M4L

here is a simple max patch, click the button and the drop down menu shows all the available midi outs, open in inside M4L and with the max runtime and you can see the difference

i made this patch without a Max 5 license just a M4L one


[/code]

Fantastic. And to complete this, just select the route double clicking the midiout object in the runtime and in the "MIDI from" menu of the Live track, instant happiness. Thank you for this:))
Last edited by toscanini on Thu Nov 18, 2010 2:14 pm, edited 1 time in total.

zalo
Posts: 999
Joined: Sat Jun 27, 2009 9:10 pm

Re: About how hi (human interface) messages are handled

Post by zalo » Wed Nov 17, 2010 2:09 am

toscanini wrote:Fantastic. And to complete this, just select the route double clicking the midiout object in the runtime and in the MIDI from menu of the Live track, instant happiness. Thank you for this:))
i completely forgot about that post

Post Reply