APC40 - Step Sequencer, Note Mode, 2nd Device Control, etc.
Re: Note Mode for the APC40 - Python Scripts
On a separate, mostly unrelated note...
It seems like it would be cool if someone with the knowhow would do a good abstraction of these things for midi implementation. What I am after would be along the lines of LiveOSC where various functions are exposed and controlled by midi control numbers provided by a consts script or something such that a person with controller X could open up consts and designate the note/control numbers, channels, and types they want for various functions. Maybe also provide variables for feedback behavior... Instant control surface! Maybe even provide variables for a red box X by Y dimensions (controlled in consts).
In my admittedly limited sense of programming, it seems like this should be relatively easy to do and if so, it would provide awesome python goodness to the greatest possible number of non-programming users like me...
S
It seems like it would be cool if someone with the knowhow would do a good abstraction of these things for midi implementation. What I am after would be along the lines of LiveOSC where various functions are exposed and controlled by midi control numbers provided by a consts script or something such that a person with controller X could open up consts and designate the note/control numbers, channels, and types they want for various functions. Maybe also provide variables for feedback behavior... Instant control surface! Maybe even provide variables for a red box X by Y dimensions (controlled in consts).
In my admittedly limited sense of programming, it seems like this should be relatively easy to do and if so, it would provide awesome python goodness to the greatest possible number of non-programming users like me...
S
http://www.semuta.com
Ableton Suite 9 : Push : Maschine : Komplete 8 Ultimate : Sugar Bundle : Diva
Ableton Suite 9 : Push : Maschine : Komplete 8 Ultimate : Sugar Bundle : Diva
Re: Note Mode for the APC40 - Python Scripts
Basically just setting the note values (or you could use CCs) in a way that a row or column can be used to control a continuous parameter. For example if you look a couple of pages back on my user mode page the bottom row controls groove percentage. All it is is a row of continuous notes that can be used to assign as a range control in midi mapping. CC would be much more efficient once I work out how to implement those.HeadrickProductions wrote:The first two are great ideas.flippo wrote:
- EQ3 kills for each channel
- adjusting in/auto/off for each channel.
- vertical columns of consecutive notes to provide stepped control over a continuous parameters for each track (could be used for effect wet/dry etc)
- horizontal rows of consecutive notes to provide higher resolution stepped control of a continuous parameter.
- blocks of colored buttons; solid color used for on/off of an effect, flashing used for parameter control of said effect.
Could you explain what you mean by the other three.
You gonna offer up the python script you've been working on to the public once it's done??
As far as making them available, as Hanz said a lot of those ideas don't work on their own and require users to assign them as regular midi mapping to devices in their live set. Also a lot of my stuff launches clips that then have their own inbuilt remote control automations in them, like the reverb settings, all the python script does is fire out a note to launch the clip.
New idea that might be achievable with live API: delete, copy and paste clips? Would require the buttons to be kept in the context of the red square so might be a bit more work involved.
back to the feedback issue
I had another look at this. If you use track control output to send messages to the the APC, then the LEDs correspond to the original APC note values regardless of being in the user mode or not, that's correct. However, if you've got remote mapping of your python user mode, then some functions do have feedback on their respective notes and channels in that user mode - they all come back to the right LED regardless of what channel or note. And its not just a simple case of toggling, because you can change the status of that remote control with your mouse inside live and the light will turn on or off accordingly, and buttons assigned to a clip launch remain on when the clip is playing, and turn off as soon as it stops. There must be something in the code that allows for this. It suggests to me that note values and midi channels probably don't need to be change on the incoming messages, but just the velocities to change the colors.@flippo: Based on your observations, I had a quick look at MIDI feedback in Note Mode. It would seem that feedback sort of works, but maps back to the original note and channel values for the various buttons, and not to the translated Note Mode values, as I suspected. So, for example, if you use the Note Mode grid to send out note 52 on channel 10, then bounce it back to the APC on channel 1, it will light up the first button of the first row (since note 52 channel 1 is the default value for this button).
although, you also lose any colour you've coded in when remote output is enabled - they all revert to off until their respective clip is launched or device parameter is adjusted to the the maximum in midi mapping; to combat this I've sent my remote control on the user mode in via a track, and pitched all the notes up past the range of the user mode so that the feedback doesn't find its way back to the lights and turns them all off. This allows me to still have remote output for my rotaries so that they update when switching banks again, without ruining the pretty colors I coded in user mode.
-
Hanz_Petrov
- Posts: 119
- Joined: Sat Feb 06, 2010 2:39 pm
- Contact:
Re: Note Mode for the APC40 - Python Scripts
Hey all,
Sorry it's taken so long, but I've finally managed to put up a new script for the APC40. Implementing User Mode almost killed me, so I hope it works. ;)
Bug reports welcome. Here's the scoop:
The files are at my blog, on the support files page.
Best,
Hanz
PS: Still working on adding a few other features, as time allows...
Sorry it's taken so long, but I've finally managed to put up a new script for the APC40. Implementing User Mode almost killed me, so I hope it works. ;)
Bug reports welcome. Here's the scoop:
Code: Select all
-------------------
APS40_21 revision 0
-------------------
This set of Python scripts adds APC20/Launchpad-style User Mode/Note Mode functionality to the APC40, with additional shifted control mappings. Compatible with Live 8.1 & higher, on PC or mac.
To use, drop the APC40_21 folder into Ableton's MIDI Remote Scripts directory, and select APC40_21 from the MIDI Preferences dialog. Switch Track Input to "On" for Note Mode, and switch Remote to "On" for User Modes.
Modifications and customizations include the following:
------
Matrix
------
* Shift + Track Select buttons = Matrix Modes selection. There are 8 Matrix Modes available. The default setup of the Matrix Modes is as follows:
* Shift + Track Select 1 = Clip Launch (default)
* Shift + Track Select 2 = Session Overview
* Shift + Track Select 3 = User 1 -> 8 x 6 Note Mode grid on Channel 10, Drum Rack mapping (4 notes wide)
* Shift + Track Select 4 = User 2 -> 8 x 6 Note Mode grid on Channel 11, notes laid out left to right (8 notes wide)
* Shift + Track Select 5 = User 3 -> 8 x 6 Note Mode grid on Channel 12, same as previous, but with sharps turned off
* Shift + Track Select 6 = User 4 -> 8 x 5 Note Mode grid on Channel 13, double grid 4 notes wide; does not use Clip Stop buttons
* Shift + Track Select 7 = User 5 -> 8 x 6 Note Mode grid on Channel 14, notes ascend in vertical columns
* Shift + Track Select 8 = User 6 -> 8 x 6 user Mode grid on Channel 15, no MIDI notes sent
For each of the User Matrix Modes, the following options are available for customization (by editing the Matrix_Maps.py file):
* LED colour assignment for each button
* MIDI note assignment for each button
* Channel assignment for entire grid
* Stop Track buttons included as part of grid
* Note Mode or User Mode setting (Note Mode sends MIDI notes, except where buttons are mapped; User Mode does not send MIDI notes).
The Drum Rack selection box is automapped to MIDI notes 36 through 72 on Channel 10 (User Mode 1 by default). This is the lower left 4 x 4 grid of User Mode 1, also coloured solid green by default.
-------
Sliders
-------
* Shift + Arm buttons = Slider Reassignment. 8 Slider Modes are available (left to right):
* Shift + Arm button 1 = Volume (default)
* Shift + Arm button 1 = Pan
* Shift + Arm button 1 = Send A
* Shift + Arm button 1 = Send B
* Shift + Arm button 1 = Send C
* Shift + Arm button 1 = User 1
* Shift + Arm button 1 = User 2
* Shift + Arm button 1 = User 3
-----
Other
-----
* Shift + Tap Tempo = Device Lock.
* Shift + Nudge- = Undo.
* Shift + Nudge+ = Redo.
* Shift + Cue Volume = Tempo Control.Best,
Hanz
PS: Still working on adding a few other features, as time allows...
http://remotescripts.blogspot.com/ - an introduction to the Framework classes
Re: Note Mode for the APC40 - Python Scripts
Hey Hanz, just tried out the new script and not sure if this is by design or a bug. When you hold down shift, session overview is show when in clip launch mode, this is not consistent with the other modes. Session overview should only be show when shift and track select 2 is selected.
If you record a clip in "clip launch mode" its nice to hit shift nudge-(UNDO) and see the clip disappear from the apc, right now all you see is the session overview when shift is held down.
If you record a clip in "clip launch mode" its nice to hit shift nudge-(UNDO) and see the clip disappear from the apc, right now all you see is the session overview when shift is held down.
Re: Note Mode for the APC40 - Python Scripts
Wow. Just... Wow.
Thanks Hanz! So many goodies!
S
Thanks Hanz! So many goodies!
S
http://www.semuta.com
Ableton Suite 9 : Push : Maschine : Komplete 8 Ultimate : Sugar Bundle : Diva
Ableton Suite 9 : Push : Maschine : Komplete 8 Ultimate : Sugar Bundle : Diva
-
Hanz_Petrov
- Posts: 119
- Joined: Sat Feb 06, 2010 2:39 pm
- Contact:
Re: Note Mode for the APC40 - Python Scripts
@Markemark: This is intentional. At one point, I had disconnected Session Overview from the Shift button, but this breaks the APC40’s original functionality, so I kept it enabled. The current version allows the Session Overview mode to persist by selecting matrix page 2, or be accessed via the Shift button while in Clip Launch mode. Keeps it working the way it always has, and avoids an extra button press to get to Session Overview.
@Semuta: Thanks for the encouragement. :) Your idea for “generic” control scripts is on the radar, and should not be too hard to get going.
Best,
Hanz
@Semuta: Thanks for the encouragement. :) Your idea for “generic” control scripts is on the radar, and should not be too hard to get going.
Best,
Hanz
http://remotescripts.blogspot.com/ - an introduction to the Framework classes
Re: Note Mode for the APC40 - Python Scripts
Hi Hanz. Again, loving your stuff!
I did some more judicious editing of your R4 package, and got the Track Control stuff disabled without breaking anything else. I wound up having to fall back to a userconfiguration.txt along with Bome's to make the secondary automap group work, but it works!
I'll be looking forward to being able to do away with the userconfig/Bome's setup one day!
S
I did some more judicious editing of your R4 package, and got the Track Control stuff disabled without breaking anything else. I wound up having to fall back to a userconfiguration.txt along with Bome's to make the secondary automap group work, but it works!
I'll be looking forward to being able to do away with the userconfig/Bome's setup one day!
S
http://www.semuta.com
Ableton Suite 9 : Push : Maschine : Komplete 8 Ultimate : Sugar Bundle : Diva
Ableton Suite 9 : Push : Maschine : Komplete 8 Ultimate : Sugar Bundle : Diva
Re: Note Mode for the APC40 - Python Scripts
So its not possible then? What functionality was broken by this. In max4live I was able to remove the shift button from activating session overview but still keep the shift functions to the other components (device control banks).Hanz_Petrov wrote:@Markemark: This is intentional. At one point, I had disconnected Session Overview from the Shift button, but this breaks the APC40’s original functionality, so I kept it enabled. The current version allows the Session Overview mode to persist by selecting matrix page 2, or be accessed via the Shift button while in Clip Launch mode. Keeps it working the way it always has, and avoids an extra button press to get to Session Overview.
@Semuta: Thanks for the encouragement.Your idea for “generic” control scripts is on the radar, and should not be too hard to get going.
Best,
Hanz
-
Hanz_Petrov
- Posts: 119
- Joined: Sat Feb 06, 2010 2:39 pm
- Contact:
Re: Note Mode for the APC40 - Python Scripts
Yes, it is possible - and easy to modify either way. Perhaps I should have said that disconnecting the Shift button from Session Overview changes (not breaks) the APC40's original functionality. I decided to keep it mapped to Shift, so that all of my mods are transparent - and users who are used to the orginal APC40 scripts won't have to change their session zooming habits. ;)Markemark wrote: So its not possible then? What functionality was broken by this. In max4live I was able to remove the shift button from activating session overview but still keep the shift functions to the other components (device control banks).
Best,
Hanz
http://remotescripts.blogspot.com/ - an introduction to the Framework classes
Re: Note Mode for the APC40 - Python Scripts
Great!! It's also nice to use the other shift functions while controlling the clips, like I mentioned earlier shift nudge-(undo) and also shift cue level(tempo). You can then view/edit the clips when changing tempo. Never liked the original functionality of the shift for session overview because it limits us from using shift on the clip launch grid. For instance in clip launch mode we could use shift then the clip button and that would delete the clip, or even shift then a scene launch button to just select that scene but not launch it.Hanz_Petrov wrote:Yes, it is possible - and easy to modify either way. Perhaps I should have said that disconnecting the Shift button from Session Overview changes (not breaks) the APC40's original functionality. I decided to keep it mapped to Shift, so that all of my mods are transparent - and users who are used to the orginal APC40 scripts won't have to change their session zooming habits.Markemark wrote: So its not possible then? What functionality was broken by this. In max4live I was able to remove the shift button from activating session overview but still keep the shift functions to the other components (device control banks).
Best,
Hanz
If you could do an alt version where shift does not turn on session overview for clip launch mode this would be great, and I think would leave us with more shifted options for all modes for the future.
Hanz thanks again for all your work.
Re: Note Mode for the APC40 - Python Scripts
Hanz would you be so kind to decompile some of the _Framework scripts for us and post them on your blog? I'd like to look at the SessionZoomingComponent. Thanks!!
-
Hanz_Petrov
- Posts: 119
- Joined: Sat Feb 06, 2010 2:39 pm
- Contact:
Re: Note Mode for the APC40 - Python Scripts
You're joking, right? Have you ever looked at my blog, or at the links there?Markemark wrote:Hanz would you be so kind to decompile some of the _Framework scripts for us and post them on your blog? I'd like to look at the SessionZoomingComponent. Thanks!!
http://remotescripts.blogspot.com/ - an introduction to the Framework classes
Re: Note Mode for the APC40 - Python Scripts
hanz, i finally got to install this and play a bit with it last night - nice!!
it allseems to be working swell and i think this very very kind of you to
do
i was wondering about the lights on the buttons, mainly if it's possible to
have feedback - if there's a clip/sound then light is on if not it's off........
whatdya think?
it allseems to be working swell and i think this very very kind of you to
do
i was wondering about the lights on the buttons, mainly if it's possible to
have feedback - if there's a clip/sound then light is on if not it's off........
whatdya think?
rekloos presents: BASS KULTURE : all things dubwise ! Every Sunday @12PM / Fridays @6PM(EST):
http://radio614.org/
dub album out now on juno&beatport:
http://bit.ly/S26jun
http://bit.ly/SS26bp
running with scissors.
http://radio614.org/
dub album out now on juno&beatport:
http://bit.ly/S26jun
http://bit.ly/SS26bp
running with scissors.
Re: Note Mode for the APC40 - Python Scripts
Sorry I'm new to the whole python thing. I read most of your blog and thanks for that, but from what I read the _Framework folder in ableton was not decompiled, if there is an obvious reason this is not available I'm sorry I asked. The reason I'm interested in looking at it is because I started looking at the scripts you decompiled but some calls refer back to these other scripts in the _Framework folder. Again I just looked through the .py files in a simple text editor but how can we convert the .pyc files to .py? when no applications are available for 2.5 .pcy files that ableton 8 uses?Hanz_Petrov wrote:You're joking, right? Have you ever looked at my blog, or at the links there?Markemark wrote:Hanz would you be so kind to decompile some of the _Framework scripts for us and post them on your blog? I'd like to look at the SessionZoomingComponent. Thanks!!
-
Datendisco
- Posts: 20
- Joined: Wed Nov 19, 2008 10:36 am
- Location: Hamburg
Re: Note Mode for the APC40 - Python Scripts
Awesome! Thanks a lot for your hared work Hanz - tested here and it's working very well 
