Page 1 of 19

Remote Script for Novation Nocturn and Live

Posted: Tue Aug 25, 2009 4:44 pm
by guille
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

Re: New Remote Script for Novation Nocturn and Live 8

Posted: Fri Aug 28, 2009 1:49 am
by honeydont
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

Re: New Remote Script for Novation Nocturn and Live 8

Posted: Fri Aug 28, 2009 2:05 am
by djsynchro
nice! will try...

Re: New Remote Script for Novation Nocturn and Live 8

Posted: Fri Aug 28, 2009 6:25 am
by baltazar
Hello. Looks good. How to install it ?

THX

Re: New Remote Script for Novation Nocturn and Live 8

Posted: Fri Aug 28, 2009 7:18 am
by madlab
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.

Re: New Remote Script for Novation Nocturn and Live 8

Posted: Fri Aug 28, 2009 10:28 am
by guille
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.

Re: New Remote Script for Novation Nocturn and Live 8

Posted: Sat Aug 29, 2009 11:16 am
by djgroovy
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.

Re: New Remote Script for Novation Nocturn and Live 8

Posted: Sat Aug 29, 2009 1:44 pm
by guille
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.

Re: New Remote Script for Novation Nocturn and Live 8

Posted: Sat Aug 29, 2009 2:50 pm
by djgroovy
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.

Re: New Remote Script for Novation Nocturn and Live 8

Posted: Sat Aug 29, 2009 3:33 pm
by madlab
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.

Re: New Remote Script for Novation Nocturn and Live 8

Posted: Mon Aug 31, 2009 5:34 pm
by guille
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.

Re: New Remote Script for Novation Nocturn and Live 8

Posted: Tue Sep 01, 2009 10:02 am
by djgroovy
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?

Re: New Remote Script for Novation Nocturn and Live 8

Posted: Tue Sep 01, 2009 3:34 pm
by guille
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.

Re: New Remote Script for Novation Nocturn and Live 8

Posted: Tue Sep 01, 2009 4:08 pm
by djgroovy
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.

Re: New Remote Script for Novation Nocturn and Live 8

Posted: Fri Sep 04, 2009 7:34 am
by madlab
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 !