Remote Script for Novation Nocturn and Live

Discuss music production with Ableton Live.
Post Reply
guille
Posts: 58
Joined: Sat Oct 27, 2007 5:06 am
Location: Spain

Remote Script for Novation Nocturn and Live

Post by guille » Tue Aug 25, 2009 4:44 pm

UPDATE 2014: Here the file to download and source repository:
http://github.com/guition/Nocturn-RS4L

Hello.

I've programmed some Python scripts for Novation Nocturn and Ableton Live. I think it can be interesting for some users, so I've decided to share this under GPL license.

Spanish thread here:
http://www.hispasonic.com/comunidad/scr ... 77312.html

Funk N. Furter has a tutorial here:
http://www.macableton.com/hardware-revi ... mapno.html

mbakirov recorded a video also:
https://www.youtube.com/watch?v=gOAAqrcZ5x8

What is new:

Revision 2.1 (2009-12-16):
- Bug fixed on parameter bank selection with 3rd party plugins

Revision 2 (2009-10-18):
- Transport controls added.
- Now all or selected notes of a MIDI clip can be transposed.
- Loop control improvement and bug fixed.
- Free buttons of User section (last page) now stop all clips.

Revision 1 (2009-09-01):
- Bug fixed when a device has less of 8 parameters.

Code: Select all

Control specification
=====================

Mixer Section
-------------

- Page 1:
    - Rotary encoder 1-8: Volumes of tracks
    - Buttons 1-8: Track on
- Page 2:
    - Rotary encoder 1-8: Panning of tracks
    - Buttons 1-8: Track solo
- Page 3:
    - Rotary encoder 1-4: Volumes of return tracks
    - Buttons 1-4: Return track on
    - Rotary encoder 5: Master volume
    - Button 5: Enable arm of tracks or only selection
    - Rotary encoder 6: Master panning
    - Rotary encoder 7: Cue volume
    - Button 6,7: Tempo nudge down and nudge up
    - Rotary encoder 8: Tempo
    - Button 8: Tap tempo

    
Instrument Section
------------------

- Page 1:
    - Rotary encoder 1-8: Parameters of selected device.
    - Buttons 1-8: Track arm and/or selection (see Mixer Section, Page 3, Button 5)
- Page 2:
    - Rotary encoder 1-8: Parameters of selected device.
    - Buttons 1-8: Parameters bank 1-8 of selected device (max. 64 parameters)


Fx Section
----------

- Page 1:
    - Rotary encoder 1-8: Send A of tracks
    - Button 1-8: Tracks bank 1-8, 9-16, 17-24, 25-32, 33-40, 41-48, 49-56, 57-64
- Page 2:
    - Rotary encoder 1-8: Send B of tracks
    - Button 1-8: Tracks bank 1-8, 9-16, 17-24, 25-32, 33-40, 41-48, 49-56, 57-64
- Page 3:
    - Rotary encoder 1-8: Send C of tracks
    - Button 1-8: Tracks bank 1-8, 9-16, 17-24, 25-32, 33-40, 41-48, 49-56, 57-64
- Page 4:
    - Rotary encoder 1-8: Send D of tracks
    - Button 1-8: Tracks bank 1-8, 9-16, 17-24, 25-32, 33-40, 41-48, 49-56, 57-64


User Section
------------

- Page 1:
    - Button 1: Metronome on/off
    - Button 2: Play
    - Button 3: Stop
    - Button 4: Record
    - Button 5: Overwrite on/off
    - Button 6: Punch in
    - Button 7: Loop enabled
    - Button 8: Punch out
    - Rotary encoder 1: Select a scene in session view
    - Rotary encoder 2: Select a track
    - Rotary encoder 3: Change the global quantization
    - Rotary encoder 4: Move the global position
    - Rotary encoder 5: Move the playing position of selected clip
    - Rotary encoder 6: Move the loop start of selected clip or arrangement (if the master section
                        is selected)
    - Rotary encoder 7: Move the loop length of selected clip or arrangement (if the master section
                        is selected)
    - Rotary encoder 8: Change the coarse pitch of an audio clip. Transpose selected notes or all
                        notes of a MIDI clip.
- Page 2:
    - Button 1-8: Playing status of clip slot of selected scene of each track
        - Off: The clip is stopped
        - On: The clip is playing
        - Blinking: The clip is triggered
        - Rotary encoder 1-8: See page 1
- Page 3:
    - Button 1-8: Show if each track is playing a clip
        - Off: Track don't play any clip. Pressing the button trigger the clip of selected scene.
        - On: Track play a clip. Pressing the button stop this clip.
        - Blinking: A clip slot is triggered.
    - Rotary encoders: See Page 1
Last edited by guille on Tue Apr 15, 2014 10:26 pm, edited 6 times in total.

honeydont
Posts: 15
Joined: Sat Aug 22, 2009 5:41 am

Re: New Remote Script for Novation Nocturn and Live 8

Post by honeydont » Fri Aug 28, 2009 1:49 am

Guille,

didn't know you were here at the forums. Saw your work on the Novation site and recommended it on this thread:

http://forum.ableton.com/viewtopic.php? ... 6&p=969554

Hope you don't mind. Really sorry. :oops: I'll point the folks to this thread.

If you did this in 2 weeks, cant wait for the v2.0!

Raphael

djsynchro
Posts: 7471
Joined: Thu Jun 23, 2005 9:06 pm
Location: Amsterdam, Netherlands
Contact:

Re: New Remote Script for Novation Nocturn and Live 8

Post by djsynchro » Fri Aug 28, 2009 2:05 am

nice! will try...

baltazar
Posts: 75
Joined: Fri Oct 29, 2004 1:13 pm
Contact:

Re: New Remote Script for Novation Nocturn and Live 8

Post by baltazar » Fri Aug 28, 2009 6:25 am

Hello. Looks good. How to install it ?

THX

madlab
Posts: 1389
Joined: Fri May 02, 2003 6:38 am
Location: France

Re: New Remote Script for Novation Nocturn and Live 8

Post by madlab » Fri Aug 28, 2009 7:18 am

Hi Guille, thanks for what seems to be a great stuff but I can't get it to work on my macbook pro using 10.5.4 and Live 8.04.
I've followed your instructions and put it in the app-ressource content under 'midi remote' folder and set everything as described, but there was no way I could open the automaps ou provided from there. I then moved everything in the ableton prefs folder, as in the case of the instant mappings. From there i could open the automap files but they didn't control anything in Live. Do you think there is a possible conflict with the presence of the instant mappings ? I tried to delete the automap prefs to start from scratch but couldn't find them. Thanks for your help.
Aboard from V. 1
MBP M1 Pro 2021 - 16 Go RAM - Monterey 12.6.3
MBP 2.5 Ghz I7 16 Go SSD OSX 10.14
iPad + Mira+ TouchOsc
RME FF UC Live 11.3.21 M4L Max 8
Band : https://elastocat.org/
Madlab sound unit / objects, guitar, electronics / end_of_transmission

guille
Posts: 58
Joined: Sat Oct 27, 2007 5:06 am
Location: Spain

Re: New Remote Script for Novation Nocturn and Live 8

Post by guille » Fri Aug 28, 2009 10:28 am

honeydont, don't worry, I posted this thread for this.

madlab, you need those files...
  • __init__.pyc
  • consts.pyc
  • Nocturn.pyc
  • NocturnComponent.pyc
  • MixerController.pyc
  • DeviceController.pyc
  • SceneController.pyc
  • PlayingController.pyc
in this folder (Mac OS X):
Live.app/Contents/App-Resources/MIDI Remote Scripts/Nocturn

Make sure that /Users/YourName/Library/Preferences/Ableton/Live 8.0.4/User Remote Scripts doesn't contain a folder called Nocturn.

Configure Ableton Live in Preferences->MIDI/Sync:
  • Control Surface: Nocturn
  • Input: Automap MIDI
  • Output: Automap MIDI
Don't forget to connect Nocturn before you open Live.

djgroovy
Posts: 2025
Joined: Thu Sep 28, 2006 12:15 pm
Location: Portugal

Re: New Remote Script for Novation Nocturn and Live 8

Post by djgroovy » Sat Aug 29, 2009 11:16 am

I got this working, but there is a bug on the user page.
When i use encoder 2 for track selection and i reach the last track in the set, suddenly none of the encoders work anymore on the user template.

guille
Posts: 58
Joined: Sat Oct 27, 2007 5:06 am
Location: Spain

Re: New Remote Script for Novation Nocturn and Live 8

Post by guille » Sat Aug 29, 2009 1:44 pm

djgroovy wrote:I got this working, but there is a bug on the user page.
When i use encoder 2 for track selection and i reach the last track in the set, suddenly none of the encoders work anymore on the user template.
Really? I try to recreate the bug but I have no problem with it. When you move the encoder to the right at last track the selection go to returns tracks and later to master track. But if return section is hidden the selection could seem lost.

djgroovy
Posts: 2025
Joined: Thu Sep 28, 2006 12:15 pm
Location: Portugal

Re: New Remote Script for Novation Nocturn and Live 8

Post by djgroovy » Sat Aug 29, 2009 2:50 pm

guille wrote:
djgroovy wrote:I got this working, but there is a bug on the user page.
When i use encoder 2 for track selection and i reach the last track in the set, suddenly none of the encoders work anymore on the user template.
Really? I try to recreate the bug but I have no problem with it. When you move the encoder to the right at last track the selection go to returns tracks and later to master track. But if return section is hidden the selection could seem lost.
No, it really stops working at some point. Everything works fine but the track selection. It's not even when it reaches the final track, after some more testing, it appears to be random. And when it happens, the other controls stop working too.

madlab
Posts: 1389
Joined: Fri May 02, 2003 6:38 am
Location: France

Re: New Remote Script for Novation Nocturn and Live 8

Post by madlab » Sat Aug 29, 2009 3:33 pm

I also got something of the kind happening with this template. If my memory's ok the template supposed to make you move through tracks etc. controlled the send A say directly from -64 to 0, then got stuck.
Aboard from V. 1
MBP M1 Pro 2021 - 16 Go RAM - Monterey 12.6.3
MBP 2.5 Ghz I7 16 Go SSD OSX 10.14
iPad + Mira+ TouchOsc
RME FF UC Live 11.3.21 M4L Max 8
Band : https://elastocat.org/
Madlab sound unit / objects, guitar, electronics / end_of_transmission

guille
Posts: 58
Joined: Sat Oct 27, 2007 5:06 am
Location: Spain

Re: New Remote Script for Novation Nocturn and Live 8

Post by guille » Mon Aug 31, 2009 5:34 pm

No, it really stops working at some point. Everything works fine but the track selection. It's not even when it reaches the final track, after some more testing, it appears to be random. And when it happens, the other controls stop working too.
Probably python throw an exception. If you send me the log generated I can to see what error produces the script.
  • Delete the log file: /Users/YourName/Library/Preferences/Ableton/Live 8.0.4/Log.txt
  • Start Ableton Live.
  • When the bug appear, copy Log.txt generated.

djgroovy
Posts: 2025
Joined: Thu Sep 28, 2006 12:15 pm
Location: Portugal

Re: New Remote Script for Novation Nocturn and Live 8

Post by djgroovy » Tue Sep 01, 2009 10:02 am

Hi, i've done what you asked. Please give me an email address by PM so i can send you the full log.txt if you want.
But i looked around in the log, and i copied the part that seems relevant:
17048 ms. RemoteScriptError: Traceback (most recent call last):

17049 ms. RemoteScriptError: File "Nocturn.py", line 112, in build_midi_map

17050 ms. RemoteScriptError: File "DeviceController.py", line 82, in build_midi_map

17050 ms. RemoteScriptError: IndexError
17050 ms. RemoteScriptError: :
17050 ms. RemoteScriptError: tuple index out of range
17051 ms. RemoteScriptError:

18746 ms. RemoteScriptError: Traceback (most recent call last):

18747 ms. RemoteScriptError: File "Nocturn.py", line 112, in build_midi_map

18748 ms. RemoteScriptError: File "DeviceController.py", line 82, in build_midi_map

18748 ms. RemoteScriptError: IndexError
18749 ms. RemoteScriptError: :
18749 ms. RemoteScriptError: tuple index out of range
18749 ms. RemoteScriptError:

20542 ms. RemoteScriptError: Traceback (most recent call last):

20543 ms. RemoteScriptError: File "Nocturn.py", line 112, in build_midi_map

20544 ms. RemoteScriptError: File "DeviceController.py", line 82, in build_midi_map

20544 ms. RemoteScriptError: IndexError
20544 ms. RemoteScriptError: :
20545 ms. RemoteScriptError: tuple index out of range
20545 ms. RemoteScriptError:

22481 ms. Default App: End ExchangeDocument
24185 ms. RemoteScriptError: Traceback (most recent call last):

24186 ms. RemoteScriptError: File "Nocturn.py", line 112, in build_midi_map

24186 ms. RemoteScriptError: File "DeviceController.py", line 82, in build_midi_map

24187 ms. RemoteScriptError: IndexError
24187 ms. RemoteScriptError: :
24187 ms. RemoteScriptError: tuple index out of range
24188 ms. RemoteScriptError:

24405 ms. Default App: End InitApplication
24406 ms. Live App: End Init
25468 ms. ASIO: AsioSupportsTimeInfo
25469 ms. ASIO: AsioSampleRateChanged
26483 ms. Default App: Begin SavePrefs
26553 ms. Default App: End SavePrefs
28761 ms. RemoteScriptError: Traceback (most recent call last):

28762 ms. RemoteScriptError: File "Nocturn.py", line 112, in build_midi_map

28763 ms. RemoteScriptError: File "DeviceController.py", line 82, in build_midi_map

28763 ms. RemoteScriptError: IndexError
28763 ms. RemoteScriptError: :
28764 ms. RemoteScriptError: tuple index out of range
28764 ms. RemoteScriptError:
Can you make something out of that?
One other thing, on your zip file, Live folder, there is the Nocturn folder, that i copied, and a src folder, that i didn't. Does that src folder need to be on my computer somewhere?

guille
Posts: 58
Joined: Sat Oct 27, 2007 5:06 am
Location: Spain

Re: New Remote Script for Novation Nocturn and Live 8

Post by guille » Tue Sep 01, 2009 3:34 pm

djgroovy wrote:Can you make something out of that?
One other thing, on your zip file, Live folder, there is the Nocturn folder, that i copied, and a src folder, that i didn't. Does that src folder need to be on my computer somewhere?
Yes, is a tiny problem mapping parameters in a bank with less of 8 parameters.

I've uploaded a revision that fix this bug:
http://www.hispasonic.com/comunidad/dow ... p?id=80626

I think that it will solve your problem.

src folder is only source file. You don't need this folder to get the remote script work with Live.

djgroovy
Posts: 2025
Joined: Thu Sep 28, 2006 12:15 pm
Location: Portugal

Re: New Remote Script for Novation Nocturn and Live 8

Post by djgroovy » Tue Sep 01, 2009 4:08 pm

Downloaded and tested, seems ok now!
Thanks guille, nice template.

I'm still waiting for my apc40, having pre-ordered on June 1st, so this comes in handy.

madlab
Posts: 1389
Joined: Fri May 02, 2003 6:38 am
Location: France

Re: New Remote Script for Novation Nocturn and Live 8

Post by madlab » Fri Sep 04, 2009 7:34 am

Finally made it work with the rev 1 version. Had a hard time to figure out that the 'inst automap' was designed to control inst and FX because it didn't work for me with the first version !
I'll test that seriously and make some comments. Thanks for making that as I don't know Python, though I expected Ableton to be more involved in bringing real automap support. Novation users, sign up the petition for that !
Aboard from V. 1
MBP M1 Pro 2021 - 16 Go RAM - Monterey 12.6.3
MBP 2.5 Ghz I7 16 Go SSD OSX 10.14
iPad + Mira+ TouchOsc
RME FF UC Live 11.3.21 M4L Max 8
Band : https://elastocat.org/
Madlab sound unit / objects, guitar, electronics / end_of_transmission

Post Reply