APC20 : having the Record Arm row always in shift mode

Discuss music production with Ableton Live.
SBRK
Posts: 81
Joined: Tue Feb 08, 2011 3:26 pm
Location: Paris, France
Contact:

APC20 : having the Record Arm row always in shift mode

Post by SBRK » Wed Feb 09, 2011 10:44 am

Hello, I just bought an APC20, and have a question : is it possible to keep the Record Arm row always in shift mode ?
Because when I play live, I don't use the arm buttons, but on the other hand I switch a lot between volume, send a, b, c, and user 1 2 3... So it's a pain in the ass having to push shift all the time, and not seeing at any moment in which mode I am...

And if it's not possible (I guess it's the case...) It would be a feature to consider, don't you think ? :roll:

EDIT :
Since I found a solution, I'll share it with everyone.
Read more and download here :

http://midicontrolds.blogspot.com/2011/ ... t-for.html
Last edited by SBRK on Thu Feb 10, 2011 4:52 am, edited 1 time in total.

seattletruth
Posts: 402
Joined: Tue Dec 28, 2010 12:20 am

Re: APC20 : having the Record Arm row always in shift mode ?

Post by seattletruth » Wed Feb 09, 2011 12:48 pm

I don't have an APC but from what I understand its just sending MIDI msgs, correct? Ones that are automapped to Live, right?

So you should be able to accomplish what you wish using Bome's MIDI translator (the classic edition will work for your case and its free).

You can program without-shift to act as if it's with the shift, and program with-shift to act as if it's without-shift very easily by capturing the incoming MIDI messages for the incoming and outgoing settings. You also need to install MIDI Yolk (or the mac equivalent) to be able to use the Midi translator. I made a youtube tutorial on the whole process (which will apply to your APC also.. same business).

http://www.youtube.com/watch?v=o3ggc1D3xb8

let me know if you need any help!

Hanz_Petrov
Posts: 119
Joined: Sat Feb 06, 2010 2:39 pm
Contact:

Re: APC20 : having the Record Arm row always in shift mode ?

Post by Hanz_Petrov » Wed Feb 09, 2011 3:47 pm

The APC20 remote script re-assigns the slider functionality (changes modes) if an arm button is pressed while Shift is held down. The same MIDI messages and channels are used for all modes. Haven't used Bomes myself, but it would need to intercept the Arm button Note On and replace with a Shift button Note On, followed by the Arm button Note On, then Note Offs for both. To do the opposite action, it would need to intercept the Shift Note On, then check for an Arm Note On happening before the Shift Note Off, then forward only the Arm Notes (but not the Shift Notes).

Probably easier to mod the APC20 script to invert the arm button shifted modes.

Best,

Hanz
http://remotescripts.blogspot.com/ - an introduction to the Framework classes

SBRK
Posts: 81
Joined: Tue Feb 08, 2011 3:26 pm
Location: Paris, France
Contact:

Re: APC20 : having the Record Arm row always in shift mode ?

Post by SBRK » Wed Feb 09, 2011 7:13 pm

If i send those note messages to the APC, via a midi channel in live, will they trigger the original functions in the APC ?

Edit :
I read your message again. If i understand right, everything is handled software-side, by the scrit, and not hardware side (much like a Novation Nocturn communiczting with Automap and Automap sending the midi to the softwares and sending the visual feedback to the Nocturn) ? In that case, yeah, modding the script would be a solution, but i've never done that beforr. They're coded in Python, right ?

Edit bis :
How can I edit the APC 20 remote scripts ? ^^ is there a way to de-compile them ? It looks like you managed to do that (I've been on your blog), how did you do ?

Edit ter :

Nevermind, I found the links to the decompiled APC20 scripts. I hope they will work with Ableton 8.2

SBRK
Posts: 81
Joined: Tue Feb 08, 2011 3:26 pm
Location: Paris, France
Contact:

Re: APC20 : having the Record Arm row always in shift mode ?

Post by SBRK » Wed Feb 09, 2011 8:17 pm

So, I transformed this part in ShiftableSelectorComponent.py :

Code: Select all

            if self._mode_index == int(self._invert_assignment):
                self._slider_modes.set_mode_buttons(None)
                for index in range(len(self._select_buttons)):
                    self._mixer.channel_strip(index).set_arm_button(self._arm_buttons[index])
            else:
                for index in range(len(self._select_buttons)):
                    self._mixer.channel_strip(index).set_arm_button(None)
                self._slider_modes.set_mode_buttons(self._arm_buttons)
Into that :

Code: Select all

            if self._mode_index == int(self._invert_assignment):
                for index in range(len(self._select_buttons)):
                    self._mixer.channel_strip(index).set_arm_button(None)
                self._slider_modes.set_mode_buttons(self._arm_buttons)
            else:
                self._slider_modes.set_mode_buttons(None)
                for index in range(len(self._select_buttons)):
                    self._mixer.channel_strip(index).set_arm_button(self._arm_buttons[index])
Will that work ?

And subsidiary question : how do I compile it ? :)

SBRK
Posts: 81
Joined: Tue Feb 08, 2011 3:26 pm
Location: Paris, France
Contact:

Re: APC20 : having the Record Arm row always in shift mode ?

Post by SBRK » Wed Feb 09, 2011 9:58 pm

Yeah ! it worked. Apparently, Ableton Live compiles the .py files automaticaly at launch, so I put my modified ShiftableSelectorComponent.py and removed the original ShiftableSelectorComponent.pyc from the folder, and now, the shift mode of the Arm buttons is inverted.

EDIT :

for some reason, the Up and Down buttons are inverted. I'm not sure why, and I'll try to see if other odd stuff happens.
Left and right are inverted aswell. It must have something to do with the code I changed... Or maybe it's because it comes from an older version of Ableton and some things changed in the meantime ? Different constant names maybe ?

EDIT bis :
Found it. I had to change index 6 and 7, and index 4 and 5 here :

Code: Select all

self._session.set_track_bank_buttons(self._select_buttons[5], self._select_buttons[4])
self._session.set_scene_bank_buttons(self._select_buttons[7], self._select_buttons[6])
self._zooming.set_nav_buttons(self._select_buttons[7], self._select_buttons[6], self._select_buttons[5], self._select_buttons[4])

SBRK
Posts: 81
Joined: Tue Feb 08, 2011 3:26 pm
Location: Paris, France
Contact:

Re: APC20 : having the Record Arm row always in shift mode ?

Post by SBRK » Wed Feb 09, 2011 10:39 pm

Here's the script I created, you can download it at that link :

http://midicontrolds.blogspot.com/2011/ ... t-for.html

The Leveller
Posts: 452
Joined: Tue Jul 13, 2010 8:20 pm

Re: APC20 : having the Record Arm row always in shift mode

Post by The Leveller » Thu Feb 10, 2011 1:53 pm

I am going to say it since no-one else has. Bloody good work in solving your problem man! well done. 8)

Hanz_Petrov
Posts: 119
Joined: Sat Feb 06, 2010 2:39 pm
Contact:

Re: APC20 : having the Record Arm row always in shift mode ?

Post by Hanz_Petrov » Fri Feb 11, 2011 3:00 am

Nice work SBRK. :-)

Just a couple of things:
SBRK wrote:I had to change index 6 and 7, and index 4 and 5 here :

Code: Select all

self._session.set_track_bank_buttons(self._select_buttons[5], self._select_buttons[4])
self._session.set_scene_bank_buttons(self._select_buttons[7], self._select_buttons[6])
^Looks like this is correct; the left/right and up/down button assignments were inadvertantly switched in the decompiled APC20 script.

On the other hand, I don't think the following line needs to be fixed:

Code: Select all

self._zooming.set_nav_buttons(self._select_buttons[6], self._select_buttons[7], self._select_buttons[4], self._select_buttons[5])
The zooming nav buttons are only used in combination mode with an APC40 (for session overview navigation), since they can't be accessed on the APC20 alone (e.g. shift + left is for track 5 select, not session overview left nav). At any rate, it works fine here in combination mode without fixing.

Salutations,

Hanz
http://remotescripts.blogspot.com/ - an introduction to the Framework classes

SBRK
Posts: 81
Joined: Tue Feb 08, 2011 3:26 pm
Location: Paris, France
Contact:

Re: APC20 : having the Record Arm row always in shift mode ?

Post by SBRK » Fri Feb 11, 2011 5:31 pm

Hanz_Petrov wrote:Nice work SBRK. :-)

Just a couple of things:
SBRK wrote:I had to change index 6 and 7, and index 4 and 5 here :

Code: Select all

self._session.set_track_bank_buttons(self._select_buttons[5], self._select_buttons[4])
self._session.set_scene_bank_buttons(self._select_buttons[7], self._select_buttons[6])
^Looks like this is correct; the left/right and up/down button assignments were inadvertantly switched in the decompiled APC20 script.

On the other hand, I don't think the following line needs to be fixed:

Code: Select all

self._zooming.set_nav_buttons(self._select_buttons[6], self._select_buttons[7], self._select_buttons[4], self._select_buttons[5])
The zooming nav buttons are only used in combination mode with an APC40 (for session overview navigation), since they can't be accessed on the APC20 alone (e.g. shift + left is for track 5 select, not session overview left nav). At any rate, it works fine here in combination mode without fixing.

Salutations,

Hanz
I think the code I posted was after I corrected it. Anyways, it works like a charm now :)
I'm gonna read your blog more, in order to understand better how the script works and how to male more advanced stuff.

allareone_tcf
Posts: 4
Joined: Tue Oct 06, 2009 5:09 am

Re: APC20 : having the Record Arm row always in shift mode

Post by allareone_tcf » Fri May 27, 2011 9:41 am

nice scripting mod! i like the inverted slider mode idea

i put in the changes in my personal script, but noticed a tiny glitch maybe..... after shifting to arm view and you release shift, the current mode [vol, pan, user etc.] doesnt light up when it reverts back.... any ideas? still love the mod tho....

VC
Posts: 34
Joined: Tue Aug 02, 2005 8:42 pm

Re: APC20 : having the Record Arm row always in shift mode

Post by VC » Fri May 27, 2011 1:00 pm

Hi i tried this script but i could not get it to work. I also tried Hanz 822 script and neither of these even showed the red(in my case green) box.
Any ideas what could be done to get it work?

Muzik 4 Machines
Posts: 769
Joined: Thu Oct 22, 2009 9:35 am

Re: APC20 : having the Record Arm row always in shift mode

Post by Muzik 4 Machines » Sun Sep 11, 2011 6:02 am

this is brillant, so i guess i can also be done to have the track select permanently on instead of the transport an other functions? (and use shift for play rec, and arrows, as in a live situation, i'll never ever have to press stop/record, but quickly selecting a track happens pretty often (like for arming vs volume/pan/etc)

Hermanus
Posts: 1659
Joined: Mon Apr 20, 2009 7:47 pm
Location: Belgium

Re: APC20 : having the Record Arm row always in shift mode

Post by Hermanus » Sun Sep 11, 2011 8:59 am

bookmark *

nice finding SBRK

gilas
Posts: 5
Joined: Fri Jan 06, 2012 3:52 pm
Location: Madrid

Re: APC20 : having the Record Arm row always in shift mode

Post by gilas » Fri Jan 27, 2012 2:06 pm

Hi I made the script running on live 8.2.2

try here:

http://www.mediafire.com/?5owpcx8jnbcqiq7

Post Reply