New: In Control: Launchpad Ediiton Part 1 & 2 and now 3

Learn about building and using Max for Live devices.
technog0d
Posts: 265
Joined: Mon May 26, 2008 1:14 pm
Location: Philly
Contact:

New: In Control: Launchpad Ediiton Part 1 & 2 and now 3

Post by technog0d » Fri Nov 27, 2009 5:18 pm

New Tutorials:

1. max4live.info tutorial: In Control (Launchpad Edition) - Observing Buttons through the Live API
2. max4live.info tutorial: In Control: (Launchpad Edition) - Switching Modes
3. max4live.info tutorial: In Control: (Launchpad Edition) - Sending Values


Check it out:

http://www.max4live.info/

Mike
Last edited by technog0d on Mon Nov 30, 2009 10:22 pm, edited 2 times in total.
Websites:
Max For Live Community site:
http://www.max4live.info
http://www.noisemakers.info

Controllers: Lemur, Ohm 64, Monome, APC40, Launchpad
Daw: Live 8 Suite
Audio Interfaces: Apogee Ensemble & Duet
Monitors: JBL LSR 4300

S4racen
Posts: 5834
Joined: Fri Aug 24, 2007 4:08 pm
Location: Dunstable
Contact:

Re: tutorial: In Control: Observing Buttons through the Live API

Post by S4racen » Fri Nov 27, 2009 6:42 pm

Wicked, keep em coming mike, just when i start to wane another video pops up and it makes me realise that the effort will be worth it...

I haven't even plugged my apc in yet!

Cheers
D

jon_moore
Posts: 320
Joined: Thu Oct 23, 2008 4:50 pm

Re: tutorial: In Control: Observing Buttons through the Live API

Post by jon_moore » Fri Nov 27, 2009 7:45 pm

Nice work Mike.
JM

http://leftside-wobble.blogspot.com/

MacBook Pro 2.8 (10.5.6)

technog0d
Posts: 265
Joined: Mon May 26, 2008 1:14 pm
Location: Philly
Contact:

Re: tutorial: In Control: Observing Buttons through the Live API

Post by technog0d » Fri Nov 27, 2009 11:21 pm

Thanks guys... I should be creating parts 2 and 3 in the next day or so. These will include the following:

- How to change modes to a user mode so that other modes are not effected
- Sending data to the Control surface through the API


Future tutorials will include creating control surface logic. Possibly a tutorial on creating a Monome Emulator utilizing the Live API.

Mike
Websites:
Max For Live Community site:
http://www.max4live.info
http://www.noisemakers.info

Controllers: Lemur, Ohm 64, Monome, APC40, Launchpad
Daw: Live 8 Suite
Audio Interfaces: Apogee Ensemble & Duet
Monitors: JBL LSR 4300

technog0d
Posts: 265
Joined: Mon May 26, 2008 1:14 pm
Location: Philly
Contact:

Re: tutorial: In Control: Observing Buttons through the Live API

Post by technog0d » Sat Nov 28, 2009 8:52 pm

Part 2 of the In Control Launchpad series is now posted. This part goes over switching modes, when using the Launchpad.

http://www.max4live.info/content/max4li ... hing-modes

Mike
Websites:
Max For Live Community site:
http://www.max4live.info
http://www.noisemakers.info

Controllers: Lemur, Ohm 64, Monome, APC40, Launchpad
Daw: Live 8 Suite
Audio Interfaces: Apogee Ensemble & Duet
Monitors: JBL LSR 4300

jon_moore
Posts: 320
Joined: Thu Oct 23, 2008 4:50 pm

Re: New: tutorial: In Control: Launchpad Ediiton Part 1 & 2

Post by jon_moore » Sat Nov 28, 2009 10:50 pm

Ta.
JM

http://leftside-wobble.blogspot.com/

MacBook Pro 2.8 (10.5.6)

Lo-Fi Massahkah
Posts: 3604
Joined: Fri Jun 04, 2004 2:57 pm
Location: The south east suburbs of Malmö, Sweden.

Re: New: tutorial: In Control: Launchpad Ediiton Part 1 & 2

Post by Lo-Fi Massahkah » Sun Nov 29, 2009 6:41 pm

You've helped me understand some stuff, which led to some streamlining...

<pre><code>
----------begin_max5_patcher----------
768.3oc0W1riZCCDG+L7TXkK8BkFGxGjJ0CspG22fUUqLINfqRrQ1NrPWsu6
0ej.Ygj.KDp1d.hFam3Y9k4+3IuLdjyB1VrvA7UvifQidY7nQlgzCLpxdjSA
ZaRNRXVlSBqn.SkNSryIwaklwYzuvxxl.RX4S.b1yS.E6DRLeGHKGsrd4qQx
jUD5xm33DocaggtScm.770+CCLFv4ScA+p5dHo1MXwu+rmW8CJiQkTTA1L02
4DTN3Gr7z5ookEDZNVZ7YXi6QP9i4df58Y+ZYkx5E6pG70wi0+M4FYxhRojQ
ep.I4jsfuoXCUxY4B.rGd3EGZ3wb2K.Hv3+q.hZdserD7.pjlrZMJEPD.4JL
HivExZ.ADk7LTBFHv4JtfUqhBdfrA+IAXMGmg4XZhJss5wmSn3DVI0rGdmmr
9UIbPyk3NHavGRxRwOq7tS.aNCkVfE6QhcWj6Visgtiy9XrMIHzyfB245KAQ
8JAit6bAdEbQG7nk3SkfH5xqDJgMJK4YUggMXhJQTnxwQRBi1LDaxpvqgUdu
KV0h2zLk2u1uOJHFPDqX2pZk6SUJWAvskpcWWVoUtBi7O4UPST6e+Q8PxLNa
MlK2A1fxKwWGelaTqyBLTJJtO5.+XRmNJlIAK.4cxDqh9b4NdV3XSgl4OMnm
yPu+MU3MfU5UGCNUK45NoYR0uKQbEYtD.6sIC3cGPyFX.wVHv7MXd+P57pKe
WSwGKk5hOA2cwk2.1C1OwaHpVqTvQRRTdXNofreUqHoo32bbVKnopdr8Bbde
nom1SG19mLatoSvi9ZFi+qG+snRvJ4I0IC080.NDCoXgjP2e39iGNkowhNPq
ZGrfjtlQnxJmniyYuXex+B7Is57enOEbIXR02C.1hKAa2khiz0m8s8mDEXDd
MMfw1jLu3SspJc4Gchgm0vKT+v0F2XjqOmnQT0dnGzQj2wKCXvLyATyrEXrm
hej07v5ODLnxZHBjylV8NS0gyLuDq783CF2pyBu.peTDcu0.vKQWFbCtjx30
w+U16vgf
-----------end_max5_patcher-----------
</code></pre>

.m

technog0d
Posts: 265
Joined: Mon May 26, 2008 1:14 pm
Location: Philly
Contact:

Re: New: tutorial: In Control: Launchpad Ediiton Part 1 & 2

Post by technog0d » Sun Nov 29, 2009 9:04 pm

@Lo-Fi

That looks good. I would probably create a little function that gets the ControlSurface by name and then you never have to worry about what slot the Control surface is located in. Then come out of that into a Control. But, your example looks great.

Mike
Websites:
Max For Live Community site:
http://www.max4live.info
http://www.noisemakers.info

Controllers: Lemur, Ohm 64, Monome, APC40, Launchpad
Daw: Live 8 Suite
Audio Interfaces: Apogee Ensemble & Duet
Monitors: JBL LSR 4300

phattline
Posts: 176
Joined: Sun Jul 05, 2009 5:54 pm

Re: New: tutorial: In Control: Launchpad Ediiton Part 1 & 2

Post by phattline » Sun Nov 29, 2009 10:33 pm

1000 thankz agein - this will help me to automate my setup for the sq sc mod again...---

Question:
did you discribe how to deactivate a specific button on APC like the "record arm" for e.g. chanal1? - I meen to deactivate it for Ableton - so if i press record arm - ableton dont do nothing, but in max4live i do something....

I know that i can turn on and off the matrix with the "enable 0" and "enable 1" but this buttons (arm, solo, stop for the 8 tracks) dont react to this commandos- the "getinfo" command of this buttons say to me that there is now enable disable...- but some other strange commandos that arent discribt in the docomentation...or in the AKAI communications protokoll-pdf.

come this info with part 3? or did you say about this something in part 1&2 (i have seen both...)

technog0d
Posts: 265
Joined: Mon May 26, 2008 1:14 pm
Location: Philly
Contact:

Re: New: tutorial: In Control: Launchpad Ediiton Part 1 & 2

Post by technog0d » Sun Nov 29, 2009 11:38 pm

phattline wrote:1000 thankz agein - this will help me to automate my setup for the sq sc mod again...---

Question:
did you discribe how to deactivate a specific button on APC like the "record arm" for e.g. chanal1? - I meen to deactivate it for Ableton - so if i press record arm - ableton dont do nothing, but in max4live i do something....

I know that i can turn on and off the matrix with the "enable 0" and "enable 1" but this buttons (arm, solo, stop for the 8 tracks) dont react to this commandos- the "getinfo" command of this buttons say to me that there is now enable disable...- but some other strange commandos that arent discribt in the docomentation...or in the AKAI communications protokoll-pdf.

come this info with part 3? or did you say about this something in part 1&2 (i have seen both...)
I am just guessing because I haven't looked at my APC40 yet with the API. But... I think if you use the M4L.api.SelectComponent in a bpatcher and select the component you want to disable and then call the function, "call set_enabled 0" into a live.object, you would probably be good.

Mike
Websites:
Max For Live Community site:
http://www.max4live.info
http://www.noisemakers.info

Controllers: Lemur, Ohm 64, Monome, APC40, Launchpad
Daw: Live 8 Suite
Audio Interfaces: Apogee Ensemble & Duet
Monitors: JBL LSR 4300

yop44
Posts: 182
Joined: Wed Nov 11, 2009 3:02 pm

Re: New: tutorial: In Control: Launchpad Ediiton Part 1 & 2

Post by yop44 » Mon Nov 30, 2009 9:19 am

Really, really interesting , thks.
Can't wait for part 3 :)
My music : Soundcloud

phattline
Posts: 176
Joined: Sun Jul 05, 2009 5:54 pm

Re: New: tutorial: In Control: Launchpad Ediiton Part 1 & 2

Post by phattline » Mon Nov 30, 2009 10:52 am

technog0d wrote: I am just guessing because I haven't looked at my APC40 yet with the API. But... I think if you use the M4L.api.SelectComponent in a bpatcher and select the component you want to disable and then call the function, "call set_enabled 0" into a live.object, you would probably be good.

Mike
Hm I think I have done this yesterday, but call set_enabled does not exist for these buttons (but for the matrix), I will try today again, and report the possibilitis with a list of commandos getting with "getinfo". there are functions with sysex strings and so on...in technical cryptic english :lol: we will see

S4racen
Posts: 5834
Joined: Fri Aug 24, 2007 4:08 pm
Location: Dunstable
Contact:

Re: New: tutorial: In Control: Launchpad Ediiton Part 1 & 2

Post by S4racen » Mon Nov 30, 2009 1:20 pm

I'm the same as Mike, i haven't even plugged the APC in yet, i'm building the devices i want to control first and then i'll look at the midi from the APC.....

I hope someone will have done the groundwork for me by then!!

Cheers
D

technog0d
Posts: 265
Joined: Mon May 26, 2008 1:14 pm
Location: Philly
Contact:

Re: New: tutorial: In Control: Launchpad Ediiton Part 1 & 2

Post by technog0d » Mon Nov 30, 2009 1:34 pm

I will definitely plug-in my APC in the next day or so in order to take a look at the controls and components.

Just an FYI...

I currently have the following Controllers in the max4live.info labs. If you want to know anything about any of them please do not hesitate to ask.

Novation Launchpad
Akai APC40
Livid Instruments Ohm64
Jazzmutant Lemur

I have a Monome 64, but i am waiting to get it back from somebody. Hopefully soon.

Mike
Websites:
Max For Live Community site:
http://www.max4live.info
http://www.noisemakers.info

Controllers: Lemur, Ohm 64, Monome, APC40, Launchpad
Daw: Live 8 Suite
Audio Interfaces: Apogee Ensemble & Duet
Monitors: JBL LSR 4300

phattline
Posts: 176
Joined: Sun Jul 05, 2009 5:54 pm

Re: New: tutorial: In Control: Launchpad Ediiton Part 1 & 2

Post by phattline » Mon Nov 30, 2009 6:05 pm

So I hope this helps:
The Solo, Arm, Activater, Stop clips, scene launch buttons - are CONTROLLS, so they are not listened under COMPONENT.
If you look down to the "print:"s - i got with "getinfo" the message call enabled does not exist - but some other strange things like "disconnect" which kills the button for ableton and max hehehe - maybe this things must be "rewired" somehow???


This is what the M4L.api.SelectControlcan do (turn on, off only activates the light on the apc...)::::

print: info id 88
print: info type ButtonElement
print: info description Class representing a button a the controller
print: info property canonical_parent APC40
print: info property name str
print: info property release_class_attributes function
print: info property set_forwarding_callback function
print: info property set_mapping_callback function
print: info property set_register_control_callback function
print: info property set_send_midi_callback function
print: info property set_translation_callback function
print: info function clear_send_cache
print: info function connect_to
print: info function disconnect
print: info function install_connections
print: info function is_momentary
print: info function mapped_parameter
print: info function message_channel
print: info function message_identifier
print: info function message_map_mode
print: info function message_type
print: info function needs_takeover
print: info function receive_value
print: info function release_parameter
print: info function reset
print: info function send_midi
print: info function send_value
print: info function set_channel
print: info function set_feedback_delay
print: info function set_identifier
print: info function set_needs_takeover
print: info function set_report_values
print: info function status_byte
print: info function turn_off
print: info function turn_on
print: info function use_default_message
print: info done

Image




This is what the M4L.api.SelectComponent can do (here you can set enabled...but the button is not listend-like you see in the picture below:
print: info id 3
print: info type PedaledSessionComponent
print: info description Special SessionComponent with a button (pedal) to fire the selected clip slot
print: info child selected_scene instancemethod
print: info property canonical_parent APC40
print: info property name str
print: info property release_class_attributes function
print: info property set_highlighting_callback function
print: info property set_register_component_callback function
print: info property set_register_timer_notification_callback function
print: info property set_request_rebuild_callback function
print: info property set_show_message_callback function
print: info property set_song_and_application function
print: info property set_unregister_timer_notification_callback function
print: info function application
print: info function disconnect
print: info function height
print: info function is_enabled
print: info function on_enabled_changed
print: info function on_scene_list_changed
print: info function on_selected_scene_changed
print: info function on_selected_track_changed
print: info function on_track_list_changed
print: info function register_components
print: info function scene
print: info function scene_offset
print: info function set_allow_update
print: info function set_enabled
print: info function set_mixer
print: info function set_offset_callback
print: info function set_offsets
print: info function set_scene_bank_buttons
print: info function set_select_buttons
print: info function set_show_highlight
print: info function set_slot_launch_button
print: info function set_stop_all_clips_button
print: info function set_stop_track_clip_buttons
print: info function set_stop_track_clip_value
print: info function set_track_bank_buttons
print: info function song
print: info function track_offset
print: info function tracks_to_use
print: info function update
print: info function width
print: info done

Image



Here is the patch, that i did use for this test:

<pre><code>
----------begin_max5_patcher----------
922.3ocyXs0aSCCE94hz9ObTdhGJUw14RKZuvXShIA7.iWPHzjSpaqgT6pDm
sAH9uiuzTx5JsIrPydIWNNw967kuyEmedxyF3kHuiU3AuD9LLXvO0VFXsYrL
nxv.ukz6RynE1GzKUtbISn7FtdPE6NkcfSO8zKg2ewEmCe7MW.eLml9sq8u9
Jkb00mUpTRAnj.TnuGzyQofmRUbs0a4pEfZACx32v.k48JfmWHAtBJVHKylB
zTUIMK66fPpVOCY7UECgjREbIbKUnLStLofkqmC8KNSlCTPCbXEUktXCZy3B
VprTXgLox5LoPUv+AyXD4OxuxNep0yjIe8EA364woxLYti37GEGfPwQC0WgF
GPPAlqhCiFGQFBnQ9vWpdSQ4RtHiorLIplUYopx7lE2BbtX904rTkaohvFvA
3IliD2MA2aELdhftz5IduJmSyfyjYS2f8Y4ySZLrsuyuN4Yly5SCe7Zj2E71
QzU7QWwxzN0q0fMWl40lOCHuthLCBGa3OTr8H1cy3lPl++4kkqjh5OXSXF+N
iYPiirjgUegBBOBLifcq1IdHwrJm2NZfDb.Z3dQtSzA.AwFg+jfI9XyE9gtq
1NvsgbGNF4zSVJjPZN2UMdx7VAwNmxMogGoGw3Rsf3ww6l3w6lCQ6gCCCczl
uMOW3j1ygtER88UL2L548HHpkrhB5b1CYp4LEWLS1J4oeWyRis5sPWrZTuQR
IVDxx2L62Py2r36OsecQzghdo4yW2uRsfy8tLizvTiMucSv38VfvVZHvIFCs
oAwg0Y3GxfCebrXGGSh5tXRbL1ESF7jHlrUxssqlVmgh5RA25E5eWxghI0Ja
3ZPg32KRtVW4EQ52JuUUMHjm5Ud+qsA5zQvmjk4v4ra3orVUAt65MFETqnBd
Re1Z7GXEoTArNaNbUY9LZpdSqsonKtyHFrqZ6waKCI1sNuqTWDRq7p8kbO9O
N0N7oGjxIgJl68mw2JrwrCRrMrIBMIxer8JskfPaDzQsGi0pkcRegcdqFqWs
8m9mru82aawvs4KWvGlb3j+CeB0d6jttgi3w+Gau0MY1eJz1+ELKhLCrE0Un
yMmVMiU8XA0f0TVgl1r+ZqZOkYao0epE7oSYh6ksYIe5Jotl6FQ2e+KZiAGt
QfyT4tO.mgSPGBbVW.czAmYiZGl41leOVfKrQfqezblb.MPy0OLmoe+Cq4P8
jlqQeVstPO7Ykzn7bgOZvYLnO8a.mXPjJA
-----------end_max5_patcher-----------
</code></pre>

Post Reply