Mute Sends

5.64K viewsCSS Feature RequestsSENDS
0

Hello.

Track Send works great, but is there are also way to add mute/unmute specific send?

pedjableton Answered question
0

Is it possible for custom variables? Maybe a new vector to be assigned and stored in log file?

Multy dimensional vector with next fields:

Field 1 – Truck number
Field 2-13 – Sends 1-12 values
Fileds 14-26 – On/off state of sends

Maybe that will be enough for selecting tracks and saves information about Sends in tracks.

pedjableton Answered question
0

Hi Glenn,

I just now see about log files  (your post in another question about Reaction problem and exit reaction) and must to study and investigate these options… Its new posibilites I did not see 🙂

Thanks a lot!!!

pedjableton Answered question
0

Hi Pedjableton,

I’ll be looking into this by the end of this week (I’ll have more time then).
I’ll try to post a rundown at some point, on how I would approach this build, because there will be possible difficulties that are better considered before starting the build. For now, here’s some of my thoughts:

How to have more than 20 modifiers?

CSS has a functionality called Lists built in, which can be used to keep track of multiple values.
Personally, however, I like to use another method. In the past I found that I could set up a dictionary in one of the Modifiers + create some of my own functions to deliver and retrieve values to and from the dictionary. This dictionary has a few useful features:

  • It can store an (virtually) unlimited amount of values.
  • The values need to be linked to a key. Meaning you could define a value with a text string, making it easier to remember what the stored value means.

Another benefit of this approach would be that I could log the whole dictionary at once, to store the values between Ableton sessions.

How are we going to remember which send_values belong to which Track?

This question might give a little headache when you try to consider Tracks can be moved, deleted or added. Simply using Track index numbers won’t help in this case.

One option would be to use specific Track Names, so that we can link saved_send_values to the corresponding track_name.

The option that I would like to work with, but I’ll need to experiment with it, is to save the Track_object itself. This wil be a bit Pythonic but, Tracks are instances of the Track class, each instance is unique, so if we were able to save that object and used the saved object as a tool for comparison, to find out where that Track lives in the list of Tracks, then we wouldn’t need to worry about index numbers or Track_names.

Glenn V. Answered question
0

Hello Glenn,

In the meantime, I found some solution for controling selected track 12 sends. I made in m4l some dummy device with 24 knobs, 12 for send states (when muted) and 12 for muted state (on..0, off …127). I put these in every tack in 1st place (for audio track) and second ( for midi track). With little CSS more it works. On behringer X touch mini controller 8 knobs for selected track sends (8 knobs for  mode 1 and same 4 knobs for mode 2), and 8 buttons for sends mute…

It is liitle complicated becouse I must add in every track that additional m4l, but this m4l devce remenber states between sesions (if in some track sends stay muted).

Maybe it can be used for also other things like tracks (personal) memory.

I working on something else that also need relative track position, and for now cant solve that with this my previos solution (m4l dummy).

Specific track names are subject to change during the project…

Track object inspires confidence, but I dont have any experience with Python. I looked on net for some Abeltons Python guide, but did not find anything.

pedjableton Edited answer
0

Hi Pedjableton,

I’ve been looking into the use of a Track Object as an identifier but I think it’s going to be a dead end. The reason is something I barely understand myself atm, something with a hash value that’s being regenerated with every session which means the hash value of the saved Track will be different from that of the reloaded Track. Because of this difference, the Track objects appear as different from each other and can’t be used as identifiers.

Another possible strategy

While looking in the API docs I found 2 interesting Track methods:

  • set_data: lets us store a value to a key inside of the Track object
  • get_data: lets us retrieve that value inside of the Track object based on the key

Meaning we could use these methods to save a track_ID inside each Track object.
Or, we could use it to save all of the last_send_values inside the Track object.

The cool thing about set_data is that, if you don’t forget to save your Ableton Set, the data will persist over different Ableton Sessions.

The Custom Code construction looks like this

  • [track].set_data(key, value)
  • [track].get_data(key, default_value)

get_data will return default_value when the key wasn’t found to be stored in the [track].
So you could make None the default_value and whenever None is returned, you’ll know there was nothing stored with the given key.

Glenn V. Edited answer