Control selected track \w keyboard shortcuts

Discussion of music production, audio, equipment and any related topics, either with or without Ableton Live
Amyas_Wilson
Posts: 4
Joined: Mon Feb 20, 2012 5:22 pm

Re: Control selected track \w keyboard shortcuts

Post by Amyas_Wilson » Thu Aug 28, 2014 7:56 pm

What would be an absolute KILLER would be a shift button...

esotericmetal
Posts: 15
Joined: Wed Mar 06, 2013 6:00 am

Re: Control selected track \w keyboard shortcuts

Post by esotericmetal » Thu Oct 23, 2014 8:04 am

Hi,
Just stumbled upon this script after looking for some ways to program a Livid Instrument controller I just got. Is it possible to be able to select which MIDI channel is used to send data? I know it says in the documentation that MIDI data is expected to be on channel 0 or 1, but I was wondering if there was a way around that.

wiffbi
Posts: 238
Joined: Wed Aug 18, 2004 4:53 pm

Re: Control selected track \w keyboard shortcuts

Post by wiffbi » Thu Oct 23, 2014 8:36 am

Yes, there is a file inside the Selected_Track_Control-folder called MIDI.py (NOT .pyc!). In there on line 8 it says:

Code: Select all

DEFAULT_CHANNEL = 0
Change that to the channel number you want, starting with 0 – so the 16 MIDI-channels go from 0 to 15 (that is programmers counting vs. the "natural" 1-16).

mooncaine
Posts: 323
Joined: Mon Apr 17, 2006 9:22 pm

Re: Control selected track \w keyboard shortcuts

Post by mooncaine » Sun Feb 01, 2015 2:02 am

Oooh, cool, I just figured out how to install it properly. You gotta copy the folder *inside* the folder that appears when a Mac user unzips the downloaded file.

comod
Posts: 4
Joined: Sat Feb 07, 2015 4:38 pm

Re: Control selected track \w keyboard shortcuts

Post by comod » Sat Feb 07, 2015 7:45 pm

Hi at all!
I doing the whole weekend nothing else as studying THIS script :)

Is it possible to send the current values (volume, sends, ect) back to the midi-controller when i change/scroll the track or scenes/clips?
would be cool also if its possible to send colors of the current clip to the controller/button

wiffbi
Posts: 238
Joined: Wed Aug 18, 2004 4:53 pm

Re: Control selected track \w keyboard shortcuts

Post by wiffbi » Mon Feb 09, 2015 9:03 am

Hi comod,
I am sorry, currently STC does not support MIDI-feedback – STC started out as a helper to get my Kimidi keyboard-shortcuts working and did not need Value-Takeover or MIDI-feedback or clip colors.

STC2 is still a lot of work, but it will be based on Live’s _Framework-Classes, which add Value-Takeover and MIDI-feedback. Regarding clip-colors, I am not sure, if the default _framework-classes support it – I assume it does not easily out of the box, as color-coding is somewhat special: do you just want the states (playing, recording, ready, …) to be color coded or do you need full RGB-support. Also, what hardware does the color coding do – distinct LEDs for e.g. red, green and orange or is it one RGB-LED …

Richard

re:dream
Posts: 4549
Joined: Fri Dec 28, 2007 9:42 am
Location: Hoerikwaggo's sunset side...
Contact:

Re: Control selected track \w keyboard shortcuts

Post by re:dream » Mon Feb 09, 2015 9:11 am

STC2?

Exciting!

When will it be ready?

wiffbi
Posts: 238
Joined: Wed Aug 18, 2004 4:53 pm

Re: Control selected track \w keyboard shortcuts

Post by wiffbi » Tue Feb 17, 2015 6:34 pm

@re:dream: good question! I have some basic code fragments working, but it is still a lot of work – and I have the feeling spare time for such projects is getting less and less. There are some stressful weeks at work ahead, but hopefully after that I have more time to finish this thing! Fingers crossed!

comod
Posts: 4
Joined: Sat Feb 07, 2015 4:38 pm

Re: Control selected track \w keyboard shortcuts

Post by comod » Wed Feb 18, 2015 9:54 pm

Hi wiffbi!

It would be nice to get the current CC Values to my device if i change the Track. Color is not really important if its so difficult.

In other Scripts, they dont work too, i see something like this:

Code: Select all

    
_LED_OFF                    = 0x00
_LED_RED                    = 0x10
_LED_GREEN                  = 0x20
_LED_BLUE                   = 0x40
_LED_CYAN                   = 0x60
_LED_MAGENTA                = 0x50
_LED_YELLOW                 = 0x30
_LED_WHITE                  = 0x70
I would like to understand first, how to send a send_midi command out of the box:

For Example:
Chanel: 1
Controller-Index (CC-Index): 5
Value: 127

Code: Select all

midi_bytes = (1,5,127) // dont know the order - i dont know anything :-)
self.c_instance.send_midi(midi_bytes)
self.c_instance.show_message("send_midi > " + str(midi_bytes))
its really difficult for beginners.. :roll:

thanks in advance

wiffbi
Posts: 238
Joined: Wed Aug 18, 2004 4:53 pm

Re: Control selected track \w keyboard shortcuts

Post by wiffbi » Thu Feb 19, 2015 9:05 am

From the top of my head, it should work like this: the tuple midi_bytes has 3 elements, all of them 1 byte. You need to encode 4 types of information in those 3 bytes. MIDI channel, what type of midi message (Note On, Note Off, CC, etc.) and note/cc number and value. Note/CC number is one byte (0-127) and value is also one byte (0-127), so you need to combine MIDI channel (0-15) und type of MIDI message into one byte (the first byte).

So you almost have it right, you need bitwise OR (that is the single pipe "|") the channel with the MIDI message type. In STC there are helper values in MIDI.py, that have CC_STATUS and NOTEON_STATUS and NOTEOFF_STATUS ready. They are:

CC_STATUS = 0xb0
NOTEON_STATUS = 0x90
NOTEOFF_STATUS = 0x80

You can either use them inside STC like so:

midi_bytes = (MIDI.CC_STATUS | 1, 5, 127)

Or use them directly (or in any other variable you like):

midi_bytes = (0xb0 | 1, 5, 127)
self.c_instance.send_midi(midi_bytes)

I hope that helps.

The next step would be to map Live’s API values to MIDI values – that is not necessarily easy, as not all values are evenly distribute between 0 and 1. You need to read the min and max values of a property and also if it is stepped and then AFAIK there is still some special properties such as volume which as far as I can remember do not work linearly.

comod
Posts: 4
Joined: Sat Feb 07, 2015 4:38 pm

Re: Control selected track \w keyboard shortcuts

Post by comod » Thu Feb 19, 2015 12:35 pm

wiffbi wrote: midi_bytes = (MIDI.CC_STATUS | 1, 5, 127)
Youre right! It works. I dont belive that the pipe was the key to get this done :roll:

On channel 0 i can Change the Dots (0-127) and with Channel 1 i can change the color of the led... Nice!
Image

Now i take a look to the send values and the volume...

Thank you

Bdumaguina
Posts: 112
Joined: Wed Jul 04, 2012 8:29 pm
Location: Manila, Philippines

Re: Control selected track \w keyboard shortcuts

Post by Bdumaguina » Sun May 17, 2015 3:33 am

Just wanted to share in case someone's looking for an alternative. I couldn't find anything like STC (solo exclusively selected track with a keyboard shortcut)

For those looking to use it on a Windows 7 platform (the extended keyboard shortcuts for Live specifically since KIMIDI is Mac-only as of this posting) , BUT can't afford Bome's Midi Translator Pro. The free classic edition will only convert MIDI notes/cc to keyboard shortcut commands, but it WILL NOT do the other way around (I really tried messing around with it to no avail) It will NOT translate keyboard commands to MIDI notes/CC. Which is what we need in order to use STC.

Have the specific keyboard shortcut send the specific MIDI message as indicated in the MIDI Implementation Chart of STC, then have STC control Live as intended.

You may look into MIDI OX and MIDI Keys by Mr. Yellow. Programming can be tricky, as I haven't found any tutorials. (If any of you know where it is kindly share it in this thread.) MIDI Keys will translate keyboard commands to MIDI messages (CC/ notes). Choose your preferred virtual MIDI router, I prefer loopMIDI by Tobias Erichsen. Route the output of MIDI OX messages through the virtual MIDI port - then route virtual MIDI port to STC in Live. It should work. :)

chookz
Posts: 3
Joined: Fri Sep 18, 2015 11:04 pm

Re: Control selected track \w keyboard shortcuts

Post by chookz » Sat Sep 19, 2015 12:24 am

Hey guys,
I downloaded the file from the STC website but can't for the life of me understand how to get this working. Here's what Ive done, can someone please kindly point out anything im missing?
- Downloaded STC, unzipped and moved STC folder to MIDI Remote Scripts folder
- In Ableton preferences I select STC as the control surface with MaschineMK2 set as the input & output
- I open un Maschine Controller Editor software and select say the SOLO button. Following the sheet on the website I set the channel to 1 and the note to C#-2
- Now in Ableton I hit the SOLO button but it doesn't solo the track. I can see in the drum rack it is actually triggering the pad for note C#-2

Have a missed a step or something basic? I browsed through the posts on here but couldn't quite find a 'beginner' walkthrough of how to set this up.
Apologies for my ignorance but any help would be greatly appreciated!
Cheers

yur2die4
Posts: 6388
Joined: Sat Oct 03, 2009 3:02 am
Location: Menasha, Wisconsin
Contact:

Re: Control selected track \w keyboard shortcuts

Post by yur2die4 » Sat Sep 19, 2015 5:13 am

Sometimes the octave is wrong.

Usually in these cases I will first attempt anything I can possibly get to work first (like if there are consecutive midi cc#'s like 3 in a row for the script, I'll use the middle one and then see which it works with).

In the case of the octave, I'd try an octave Up, I think an octave down is probably not possible.

Make sure you're not using two scripts on the same midi channel at once or you'll have conflicts. Like if one does Notes modes and another uses note mappings, one might interfere. If a script allows you to use another midi channel, you may be able to circumvent that.

chookz
Posts: 3
Joined: Fri Sep 18, 2015 11:04 pm

Re: Control selected track \w keyboard shortcuts

Post by chookz » Sat Sep 19, 2015 7:52 am

Thanks for the reply but no it's not that the octave is wrong. It's like Live is just reading the MIDI data as if it's for Maschine, not for STC controlled with the Maschine hardware. If I change it an octave higher, it triggers the pad an octave higher

Post Reply