How to : use midi remote script Major Update (sparkle)

Discussion of music production, audio, equipment and any related topics, either with or without Ableton Live
Buleriachk
Posts: 1257
Joined: Sat Dec 21, 2002 3:52 am
Location: Santa Barbara, CA
Contact:

Re: How to : use midi remote script Major Update (sparkle)

Post by Buleriachk » Fri Mar 14, 2014 3:54 pm

Thanks, that helps. I would like to modify the Push consts.py file; is there a decompiled version (.pyc?) around somewhere, or is there a way to decompile it to .pyc?
fishmonkey wrote:the .py files are Python source code files, if you set things up right (which is covered in the first post of this thread) then Live will compile the .py files down to .pyc (Python byte code).

the best editor to use is a programmer's editor that supports Python syntax. two decent free options are TextWrangler (OS X) and NotePad++ (Windows)...

ttilberg
Posts: 587
Joined: Wed Oct 05, 2011 4:55 pm
Contact:

Re: How to : use midi remote script Major Update (sparkle)

Post by ttilberg » Fri Mar 14, 2014 9:09 pm

It, and all others can be found here: https://github.com/gluon/AbletonLive9_RemoteScripts
Tim Tilberg - Duluth, MN | SoundCloud - Arsenal
2011 13" MBP w/8GB ram | Live 9 Suite, Reason 6.5, FXPansion DCAM/Etch/Maul, Izotope Ozone 5

Buleriachk
Posts: 1257
Joined: Sat Dec 21, 2002 3:52 am
Location: Santa Barbara, CA
Contact:

Re: How to : use midi remote script Major Update (sparkle)

Post by Buleriachk » Fri Mar 14, 2014 9:30 pm

ttilberg wrote:It, and all others can be found here: https://github.com/gluon/AbletonLive9_RemoteScripts
Ok, great, thanks. For a first step, I just want to change the order the scales appear in push.
So I just rearrange them and replace the consts.py file in Push with the new one (after backing the old one up, of course....) Then Live compiles it automatically?

fishmonkey
Posts: 4099
Joined: Wed Oct 24, 2007 4:50 am

Re: How to : use midi remote script Major Update (sparkle)

Post by fishmonkey » Fri Mar 14, 2014 9:38 pm

Buleriachk wrote:Thanks, that helps. I would like to modify the Push consts.py file; is there a decompiled version (.pyc?) around somewhere, or is there a way to decompile it to .pyc?
you have it backwards, the .py files are the source code files that you edit (which in the case of the publicly available versions have been decompiled from the .pyc files)...

Buleriachk
Posts: 1257
Joined: Sat Dec 21, 2002 3:52 am
Location: Santa Barbara, CA
Contact:

Re: How to : use midi remote script Major Update (sparkle)

Post by Buleriachk » Sat Mar 15, 2014 12:40 am

Yeah, I always get things backwards. That's why my wife split up with me..... :)
fishmonkey wrote:
Buleriachk wrote:Thanks, that helps. I would like to modify the Push consts.py file; is there a decompiled version (.pyc?) around somewhere, or is there a way to decompile it to .pyc?
you have it backwards, the .py files are the source code files that you edit (which in the case of the publicly available versions have been decompiled from the .pyc files)...

Buleriachk
Posts: 1257
Joined: Sat Dec 21, 2002 3:52 am
Location: Santa Barbara, CA
Contact:

Re: How to : use midi remote script Major Update (sparkle)

Post by Buleriachk » Sat Mar 15, 2014 1:19 am

Nevermind, it worked!!!

Thanks much, I can now switch between Phrygian and Minor Gypsy by toggling adjacent buttons in Note mode from Push, instead of using ClyphX. Whee!

Buleriachk
Posts: 1257
Joined: Sat Dec 21, 2002 3:52 am
Location: Santa Barbara, CA
Contact:

Re: How to : use midi remote script Major Update (sparkle)

Post by Buleriachk » Sat Mar 15, 2014 3:09 am

Ok, now that I have my scales in the correct order, does anyone know where the key rows are set up? I would like to order them by related major/minor instead of circle of fifths....

Update: It seems the place to do this would be in "InstrumentComponent.py", but the calculations are complex, and would require a great deal of reverse engineering. Oh well, just being able to reorder the scales so I can toggle between my first three:

1. "Bhairav" - this is Gypsy Minor Scale with sharp 7th (E.g. E* Phrygian with D->D#, which allows the use of F7 as a substitute for F in the progression F->E.
2. "Minor Gypsy" - this is Phrygian Mode (E*) with the G set to G# as the "Final/Tonic" in the progression F->E OR (perhaps following by) the progression E7->Am (Harmonic relative to E*) The chord Em is never used in this context.
3. "Phrygian Mode" - this allows me to use the note G in the chords G and C

The other chords (Dm,F,Am,B) are common to these related scales. Once the tonal center is set (i.e. C), these three scales in that order at the top of the list allow me to switch between them as I need them.

For other chords (e.g., secondary dominants), I can use ClyphX and a Launchpad, as outlined in the articles in my signature. But I can do a great deal of "blocking out" by using the above scales in that order on Push....

So it is almost as easy (but not quite) as playing a guitar.... :)

Buleriachk
Posts: 1257
Joined: Sat Dec 21, 2002 3:52 am
Location: Santa Barbara, CA
Contact:

Re: How to : use midi remote script Major Update (sparkle)

Post by Buleriachk » Sat Mar 15, 2014 4:25 pm

Ok, final question....
I changed a couple more scale positions (grouping major, harmonic minor, natural minor, minor together),
and copied the new .py file into the Push folder. But how do I tell Ableton to compile it?

I've tried switching Ableton off and on in the Control Surface list, restarting Live, rebooting the computer, but the file still remains the same. I tried deleting the .pyc file (so there is just the .py file in the folder), and that doesn't work either.

So what is the exact sequence of events necessary to get Ableton to recompile?

UPDATE: I got it to recompile; not sure what I did. I did notice that when I saved the "consts.py" file it appeared in the folder as "Consts.py" I tried renaming it, but it kept implementing the capital letter.
Finally, after several tries, I noticed that the .py file was uncapitalized, so I deleted the .pyc file, restarted both Push and Live, and it finally recompiled. Not at all sure if this is the answer, but it is the only thing I noticed.....

akamed
Posts: 30
Joined: Mon Sep 23, 2013 1:16 pm

Re: How to : use midi remote script Major Update (sparkle)

Post by akamed » Mon Mar 24, 2014 11:45 pm

Hello again, Raztua!

do you know how assing some keyboard shortcuts to ButtonElemnt (instead of MIDI messages), that would run some GUI functions like Copy, Paste, etc?
I am searching about how to do it but I only find it is posible by using external programs and I wish I could do it from inside Live´s API.

Thanks!

Buleriachk
Posts: 1257
Joined: Sat Dec 21, 2002 3:52 am
Location: Santa Barbara, CA
Contact:

Re: How to : use midi remote script Major Update (sparkle)

Post by Buleriachk » Mon Mar 24, 2014 11:59 pm

BTW, I looked at the script, and there is no easy way to order the key signatures, like there is for the scale definitions and the order in which they appear in Push....

I hope that Ableton can make the scale definitions and order accessible to users via a User Options text file, rather than hard coded into script.

That said, Cthulhu solves the problem of generating chords independently of the Midi trigger note of the pad.... and has a nice arpeggiator as well.

http://www.xferrecords.com/products/cthulhu

Raztua
Posts: 24
Joined: Fri Dec 20, 2013 7:38 pm

Re: How to : use midi remote script Major Update (sparkle)

Post by Raztua » Sun May 25, 2014 11:43 am

Hi every one, i'm back !

@ttilberg : how is bour bcr script going ? i would be glad to know if you manage to finished it and use it !

@Buleriachk: can you telle me more precisely what you want to do ? i don't have push, and don't know the way it react :)

@akamed :
Hello again, Raztua!

do you know how assing some keyboard shortcuts to ButtonElemnt (instead of MIDI messages), that would run some GUI functions like Copy, Paste, etc?
I am searching about how to do it but I only find it is posible by using external programs and I wish I could do it from inside Live´s API.

Thanks!
this is done by the add value listener function :

for exemple on the sparkle4.py you can see for the update_pattern_button function :

Code: Select all

def update_pattern_button(self):
        if self.actual_mode_button==self.mode_buttons[0]:    #switch cases, in order to modify the pattern button depending on the mode button pressed
            for element in self.pattern_buttons:             #loop between each pattern button ( for the sparkle pattern buttons works like a keyboard)
                self.turn_led_off(element.identifier)        #turn the light off ...
                element.clear_value_listeners()              # HERE it is : remove the way the button react before
                element.add_value_listener(element.bank_button_value, identify_sender= False)  # assign a new fuctionthat will be Called EACH time the button will be pressed
        elif self.actual_mode_button==self.mode_buttons[1]:  #switch cases, in order to modify the pattern button depending on the mode button pressed
            for element in self.pattern_buttons:
                self.turn_led_off(element.identifier)
                element.clear_value_listeners()
                element.add_value_listener(element.pattern_button_value, identify_sender= False)
Now we have to take a look at the the PAttern_button_value function. each time a pattern button is pressed, the fuction pattern_button value is called
This function is inside of the PatternButton.py file

Code: Select all

def pattern_button_value(self,value):
            self.turn_led_off(self.parent.actual_clipslot.identifier)
            self.parent.actual_clipslot=self.parent.actual_track.clip_slots[self.identifier] #here it modifies the track on the live software depending of the self.identifier ( a number from 1 to 16 ) to select the track from 1 to 16
         
        
Feel free to ask if you need more clarification
By the wayill soone add the copy and erase functionnalities on the sparkle to i will tell you how to do it more precisely

Jekblad
Posts: 2351
Joined: Tue May 13, 2008 2:02 am
Contact:

Re: How to : use midi remote script Major Update (sparkle)

Post by Jekblad » Sun May 25, 2014 2:54 pm

I love this thread thank you.

I am very interested to know if it is possible to control more than 8 parameters without paging... Can you trick the API to thinking the next row of knobs has been "paged"?

Early on in the thread you mentioned some browser usage, but without the ability to hit "enter". Is that still where it's at? I mean, if push can do it, it's contained in the API somewhere right?

Thank you all.
2.4 ghz Macbook Pro 8gb RAM, SSD, Live 9 Suite, Puremagnetik, Minimal Talent

Raztua
Posts: 24
Joined: Fri Dec 20, 2013 7:38 pm

Re: How to : use midi remote script Major Update (sparkle)

Post by Raztua » Mon May 26, 2014 8:30 pm

I have been unable to find a way to get it working (the only way is to keep the enter key of your keyboard next to the sparkle) :roll: .

I have taken a look to the push broswer and their is a major difference: as the push controller have a screen, you can import the module " information" such as name etc... and create a browser.
With the sparkle, the only way i had found was to control the Live software and to select an instrument or another. if we had a screen i would have done a browser :s

can you tell me what you mean by the "paging trick"? with the sparkle or another controller? what is your aim ?

Btw on the next version of the script ill try to add a CV step sequencer, if you're interested, tell me ill try to make it faster ;)

Jekblad
Posts: 2351
Joined: Tue May 13, 2008 2:02 am
Contact:

Re: How to : use midi remote script Major Update (sparkle)

Post by Jekblad » Tue May 27, 2014 2:33 pm

I have been unable to find a way to get it working (the only way is to keep the enter key of your keyboard next to the sparkle)
such is life.. :/
as the push controller have a screen, you can import the module " information" such as name etc... and create a browser.
would it be possible to trick live into thinking there is a screen, and import that information into a floating window within Live? This way controllers without a screen can have a screen, you know?
an you tell me what you mean by the "paging trick"?
this would be another hack that i have no idea of possible :)
The idea would be having more than 8 instant mapping available. Currently on most controllers, you can access more parameters by "paging". So it's possible to see these extra parameters. Can we trick the API into thinking one bank of knobs is already several pages in? This way we could access 16 parameters at once.
Btw on the next version of the script ill try to add a CV step sequencer
i don't have any use for this personally but it sounds awesome.
2.4 ghz Macbook Pro 8gb RAM, SSD, Live 9 Suite, Puremagnetik, Minimal Talent

ttilberg
Posts: 587
Joined: Wed Oct 05, 2011 4:55 pm
Contact:

Re: How to : use midi remote script Major Update (sparkle)

Post by ttilberg » Wed Jun 18, 2014 9:59 pm

Raz,

Unfortunately I've been on something of an Ableton Vacation. I'm buying my first house in two weeks, and getting married in a few months, and our weather has finally flipped from a constant -30 farenheit to a cozy 60-70. I did punch at it a little bit more, and felt confident I'd be able to finish it, but never ended up doing so. I hope to do more with it later. Cheers!
Tim Tilberg - Duluth, MN | SoundCloud - Arsenal
2011 13" MBP w/8GB ram | Live 9 Suite, Reason 6.5, FXPansion DCAM/Etch/Maul, Izotope Ozone 5

Post Reply