Midi out?

6 posts / 0 new
Last post
Eric
Offline
Joined: 01/25/2010
Midi out?

Hi all,
I have a small problem when trying to feedback midi from my M4L patch to ableton. I ll explain myself: I m using TouchOSC on my iPod to communicate with Osculator. From there I route the OSC messages to Max MSP (not M4L) and from there to Ableton. Now, that works fine, but when I try to incorporate this patch to M4L (so to avoid having Max opened and have everything in Ableton), the midi is not feeding in Ableton anymore. Any idea of how get around this?
Btw, I m using ctrlout obect (although it doesn't seem to be different when using midiout or noteout).
Thanks for your help.
 
Eric

mchenetz's picture
mchenetz
Offline
Joined: 09/17/2009

What are you trying to do with ctlout? If you are trying to control stuff in Ableton Live, then it might be better to just map your OSC messages to functions using the Live API right in M4L. If you are using it to control external midi hardware, then just make sure you have your midi track set to, "on" for midi. You have to realize that midi is controlled in Live with M4L and does not use the device selection from Max.

Mike

Eric
Offline
Joined: 01/25/2010

Hi Mike,

Thanks for your help. I m just beginning working with Ableton, so it's quite new for me. What I m actually trying to do is to create a preset patch for M4L. With TouchOSC, I can control various sound parameters in ableton (via OSCulator). Now the idea was to make snapshots of all controlled parameters and store them into presets. So, I routed the OSC messages from OSCulator to MaxMSP where they were translated into midi (as I don't know how to forward osc message from Max to Ableton), stored and forwarded to Ableton live.
Ipod TouchOSC --> Osculator --OSC--> Max MSP --midi--> Ableton

Now this congifuration works fine, but it doesn't when I integrate it into M4L.

So, in a nutshell, is it possible to have a MaxMSP ctrlout preset patch (see below) in M4L?

I hope this makes sense... Thanks again!

Eric
----------begin_max5_patcher----------
{
"patcher" : {
"fileversion" : 1,
"rect" : [ 25.0, 69.0, 640.0, 480.0 ],
"bglocked" : 0,
"defrect" : [ 25.0, 69.0, 640.0, 480.0 ],
"openrect" : [ 0.0, 0.0, 0.0, 0.0 ],
"openinpresentation" : 0,
"default_fontsize" : 12.0,
"default_fontface" : 0,
"default_fontname" : "Arial",
"gridonopen" : 0,
"gridsize" : [ 15.0, 15.0 ],
"gridsnaponopen" : 0,
"toolbarvisible" : 1,
"boxanimatetime" : 200,
"imprint" : 0,
"enablehscroll" : 1,
"enablevscroll" : 1,
"devicewidth" : 0.0,
"boxes" : [ {
"box" : {
"maxclass" : "toggle",
"numoutlets" : 1,
"outlettype" : [ "int" ],
"patching_rect" : [ 48.0, 25.0, 20.0, 20.0 ],
"numinlets" : 1,
"id" : "obj-14"
}

}
, {
"box" : {
"maxclass" : "message",
"text" : "127",
"numoutlets" : 1,
"outlettype" : [ "" ],
"fontsize" : 12.0,
"patching_rect" : [ 48.0, 96.0, 32.5, 18.0 ],
"numinlets" : 2,
"id" : "obj-13",
"fontname" : "Arial"
}

}
, {
"box" : {
"maxclass" : "newobj",
"text" : "sel 1",
"numoutlets" : 2,
"outlettype" : [ "bang", "" ],
"fontsize" : 12.0,
"patching_rect" : [ 48.0, 60.0, 36.0, 20.0 ],
"numinlets" : 2,
"id" : "obj-12",
"fontname" : "Arial"
}

}
, {
"box" : {
"maxclass" : "message",
"text" : "0",
"numoutlets" : 1,
"outlettype" : [ "" ],
"fontsize" : 12.0,
"patching_rect" : [ 63.0, 119.0, 32.5, 18.0 ],
"numinlets" : 2,
"id" : "obj-11",
"fontname" : "Arial"
}

}
, {
"box" : {
"maxclass" : "newobj",
"text" : "ctlout 0 1",
"numoutlets" : 0,
"fontsize" : 12.0,
"patching_rect" : [ 48.0, 150.0, 59.0, 20.0 ],
"numinlets" : 3,
"id" : "obj-6",
"fontname" : "Arial"
}

}
],
"lines" : [ {
"patchline" : {
"source" : [ "obj-14", 0 ],
"destination" : [ "obj-12", 0 ],
"hidden" : 0,
"midpoints" : [ ]
}

}
, {
"patchline" : {
"source" : [ "obj-12", 0 ],
"destination" : [ "obj-13", 0 ],
"hidden" : 0,
"midpoints" : [ ]
}

}
, {
"patchline" : {
"source" : [ "obj-12", 1 ],
"destination" : [ "obj-11", 0 ],
"hidden" : 0,
"midpoints" : [ ]
}

}
, {
"patchline" : {
"source" : [ "obj-11", 0 ],
"destination" : [ "obj-6", 0 ],
"hidden" : 0,
"midpoints" : [ ]
}

}
, {
"patchline" : {
"source" : [ "obj-13", 0 ],
"destination" : [ "obj-6", 0 ],
"hidden" : 0,
"midpoints" : [ ]
}

}
]
}

}
-----------end_max5_patcher-----------

Eric
Offline
Joined: 01/25/2010

Ok, I think I got my answer here:

http://www.cycling74.com/forums/topic.php?id=23673

Seems like it's not possible:

"MIDI can only be sent to the Live track from an MFL device. External MIDI devices are not available from inside devices.

I now see this is what you mean by "external max patch". If you wish to distribute the MIDI generated from your OSC on system MIDI ports you'll need to do it from a max patch running in the max runtime or MaxMSP itself.

-A "

mchenetz's picture
mchenetz
Offline
Joined: 09/17/2009

You can actually skip the Osculator to midi to Max to M4L thing and just do TouchOSC -> M4L -> Live function. Learn a little bit about the Live API and then you can choose a device or track or whatever you want to control right from TouchOSC to M4L. You take a lot of the complexity that way.

Mike

Eric
Offline
Joined: 01/25/2010

Hi Mike,

I have actually skip the OSCulator part, having just TouchOSC-->MaxMSP-->ableton.
You can get a sketchy idea of what it's all about here:
http://www.youtube.com/watch?v=x93e3foXUVI

When you say M4L -> Live function, how do u do yo mean? of what I understamd so far, the only things M4L can route to Ableton are midi notes and audio but no control commands nor OSC. If I m correct, this means that you cannot control ableton with external controllers (as ACP, Launchpad...) when routing it through M4L. I m sure I missing something as I find this is a bit odd.