Page 1 of 1

customize M4L Stepsequencer

Posted: Sat Nov 07, 2009 11:12 pm
by phattline
Hi there...
I need a little push to get in the right direction...

I want the stepsequencer to be open for other midicontrollers... so I make a button matrix in a M4L Patch- where i assign midinotes (steps from other midicontrollers) to this "virtual" buttons ---- this virtual buttons are making the same as the APC or Launchpad - simply send and receive notes to the ableton midiclips...ok ok...

My problem is, in the sequencer Patch, the APC or Launchpad data comes from Ableton Live -> from a yellow square called "live objedct" or "live path" the logic behind it :?: ... :arrow: yes of course the Note data from APC comes from live... but the question is - where can I hack me in to assign my "virtul" push button to the sequencer instead the apc and launchpad sh..t?
here is the max4live file:
http://www.megaupload.com/?d=DGNDER0G

here the picture with the pushbuttonsmatrix
Image

here the shematic of the plug,
Image


where to hack me in...

Re: customize M4L Stepsequencer

Posted: Sun Nov 08, 2009 6:40 pm
by phattline
Ok what does this thing?!?:
1a. Select a midiclip
1b. Select all notes in it
1c. Make a list of all notes (and its positions)
1d. Assign this notes to a button
1e. Send the button state out.

2a. Select a button
2b. Change the entry of the notelist??????????
2c. ........... I DONT KNOW... thats bretty heavy stuff... the describtion in the patch - is not good enough too fully understand whats going on!

Re: customize M4L Stepsequencer

Posted: Mon Nov 09, 2009 7:24 pm
by chroos
I made a 16x16 port for the monome. its scrollable in x- and y-direction. I will upload it when its prepared for editing note lenght and has a changeable resolution of steps.


to your question:

From [p configure_control_surfance] there is a connection to a [live.path] which goes into a [live.observer]. Out of that object comes the position for your new note.

[p update_hardware] does turn the lights of and off.

whats going on:

a1. select all notes
a2. get a list of notes and positions etc
a3. store that notes into a [coll]
a4. select all notes
a5. replace the notes by the ones in [coll]
a6. turn lights on/off

if you press a button:
b1. get position of your pressed note inside [coll]
b2. replace/set the new note
b3. goto a4.

Re: customize M4L Stepsequencer

Posted: Tue Nov 10, 2009 12:55 pm
by Surreal
thank you for that explanation. i thought that was what was going on, but have not had enough time to really dig in to confirm yet.

Re: customize M4L Stepsequencer

Posted: Wed Nov 11, 2009 8:40 pm
by phattline
So this baby is running:
http://www.megaupload.com/?d=70C6KV5H

it shows the Loop end and start point of the current selectet Clip - look here:

http://img32.imageshack.us/img32/5168/l ... unning.jpg


What I now would make is, to press on one of this 64 buttons, to set the end
point, and by pressing shift and one of these buttons to get the start point

but this is now the problem ---there is no function for this? look @ this:


print: info id 2
print: info type Clip
print: info description This class represents a Clip in Live. It can be either an Audio Clip or a MIDI Clip\, in an Arrangement or the Session\, depending on the Track (Slot) it lives in.
print: info child canonical_parent ClipSlot
print: info property color int
print: info property is_audio_clip bool
print: info property is_midi_clip bool
print: info property is_playing bool
print: info property is_recording bool
print: info property is_triggered bool
print: info property length float
print: info property loop_end float
print: info property loop_start float
print: info property looping bool
print: info property muted bool
print: info property name unicode
print: info property signature_denominator int
print: info property signature_numerator int
print: info property will_record_on_start bool
print: info function deselect_all_notes
print: info function fire
print: info function get_selected_notes
print: info function move_playing_pos
print: info function replace_selected_notes
print: info function select_all_notes
print: info function set_fire_button_state
print: info function stop
print: info done