Tweaking Hanz's APC40 Remote Script

Share your favorite Ableton Live tips, tricks, and techniques.
Post Reply
handsofire
Posts: 46
Joined: Thu Aug 30, 2012 10:00 pm

Tweaking Hanz's APC40 Remote Script

Post by handsofire » Fri Sep 28, 2012 10:21 pm

Hanz's script is awesome! I have a comment and then a question.

I can't SHIFT+TrackSelect:1 to return to Clip Launch View with one hand so this tweak will make the reachable SHIFT+TrackSelect:6 into an alternative Clip Launch toggle. In the Matrix_Maps.py, just delete the code between Page 6 and Page 7. Then, in the MatrixModesComponent.py under elif (self._mode_index == 5):

REPLACE THIS

Code: Select all

self._set_note_mode(PATTERN_4, CHANNEL_4, NOTEMAP_4, USE_STOP_ROW_4, IS_NOTE_MODE_4)
WITH THIS

Code: Select all

self._session_zoom._zoom_value(1) #zoom out


Now I am trying to get the red bank box to move when I switch between these modes. I have 16 tracks laid out and I want to move the bank selection with the SHIFT+TrackSelect buttons as well. If I can get this, I can reach out with one hand and SHIFT+TrackSelect to change Modes and Banks simultaneously while playing the piano live--- and my track arm buttons will still line up properly.

Any advice is appreciated!
- Love each other, don't work for free, and always say "thank you."

handsofire
Posts: 46
Joined: Thu Aug 30, 2012 10:00 pm

Re: Tweaking Hanz's APC40 Remote Script

Post by handsofire » Sun Sep 30, 2012 3:41 am

I was able to get this figured out with Travis' help. Again, this is modification of Hanz' script, and it is hard coded specifically for use with 16 tracks. My tracks 1-8 are Instruments, VSTs & a vocal. Tracks 9-16 are 8 mic tracks with Loopers at the bottom (controled by Shift8). I also have back up Loopers for tracks 1-8 (controled by Shift7). Finally, I have also modified Shift6 as an alternative Clip Launch so it can be reached with one hand.

The code below is in MatrixModesComponent.py and it allows me to do the following:
1. Auto move red box to 9-16 when pressing Shift8, and enter 9-16 mapped Loop mode.
2. Auto move red box to 1-8 when pressing Shift1 or Shift6 and enter 1-8 Clip Launch.
3. Auto move red box to 1-8 when pressing Shift7, and enter 1-8 mapped Loop mode.

PM me if you want the files. In set modes around line 143, this is what it looks like:

Code: Select all

self._session_zoom._zoom_value(1) #zoom out
				self._session.set_offsets(0, 0)
				self._session.update()

                        
            elif (self._mode_index == 1): #Session Overview
                self._session_zoom.set_enabled(True)
                self._session_zoom._is_zoomed_out = True
                self._session_zoom._scene_bank_index = int(((self._session_zoom._session.scene_offset() / self._session_zoom._session.height()) / self._session_zoom._buttons.height()))               
                self._session.set_enabled(False)
                self._session_zoom.update()
                self._session_zoom.set_zoom_button(None)
    
            elif (self._mode_index == 2):
                self._set_note_mode(PATTERN_1, CHANNEL_1, NOTEMAP_1, USE_STOP_ROW_1, IS_NOTE_MODE_1)
            elif (self._mode_index == 3):
                self._set_note_mode(PATTERN_2, CHANNEL_2, NOTEMAP_2, USE_STOP_ROW_2, IS_NOTE_MODE_2)
            elif (self._mode_index == 4):
                self._set_note_mode(PATTERN_3, CHANNEL_3, NOTEMAP_3, USE_STOP_ROW_3, IS_NOTE_MODE_3)
            elif (self._mode_index == 5):
				self._session.update()
				self._session_zoom._zoom_value(1) #zoom out
				self._session.set_offsets(0, 0)
				self._session.update()
            elif (self._mode_index == 6):
				self._session.update()
				self._session.set_offsets(0, 0)
				self._session.update()
				self._set_note_mode(PATTERN_5, CHANNEL_5, NOTEMAP_5, USE_STOP_ROW_5, IS_NOTE_MODE_5)
            elif (self._mode_index == 7):
				self._set_note_mode(PATTERN_6, CHANNEL_6, NOTEMAP_6, USE_STOP_ROW_6, IS_NOTE_MODE_6)
				self._session.set_offsets(8, 0)
				self._session.update()
            else:
                pass
            self._session.set_allow_update(True)
            self._session_zoom.set_allow_update(True)
            #self._rebuild_callback()
You could easily make Shift5 your 9-16 clip launch view if you think you'd use it.

If you follow this exact setup, you will also need to delete Page6 data from Matrix_Maps.py in order to use Shift6 as your Clip Launch view. Page 7&8 uses StopRow=True and NoteMode=False. Then, just have fun with setting the colors to match your Looper setup.
- Love each other, don't work for free, and always say "thank you."

Post Reply