🔥 Lifetime deal! Get Control Surface Studio for Just £67 👉 Click Here To Get It
Time left... mailtimers.com
⚠️ Lifetime licenses are ending soon, get yours before they're gone ⚠️
Your shopping cart is empty.

Track name change listener, not responding

Submitted by Christian Björklund on Tue, 12/28/2021 - 13:37
Christian Björklund
Control Surface Studio User

Hell again! So many questions during these holiday times. =) I could be wrong but this feels like a bug somewhere...

I can't seem to use "Selected track's value has changed" as a listener in a reaction.

This is my test action, show the selected tracks name and that works fine when using a button press as listener:
self.show_message(str(self.song().view.selected_track.name))

But this as a listener won't make it run: self.song().view.selected_track.add_name_listener

..this is not my actual script but i wanted other stuff to happen anytime the selected track is renamed.. should work, right?

The screenshot is form my actual script that I want to run on initialization or whenever a track is moved, added, renamed etc etc and the renaming part doesn't do much.

Topic Category: 

7 Responses

Comments

Christian Björklund
Control Surface Studio User
#1

Definitely something going on here..

If I choose a specific track's name as a listener, it works fine, but selected track doesn't. (Out of curiosity I tested to use "Selected Parameter's name value changed" and that also works, anywhere I rename a parameter trigs it.)

So, this works, and I can choose what channel to use just fine
self.song().tracks[0].add_name_listener

..but changing to "selected channel" gives me nothing. Curious if anyone else gets this too?

JohnC
Forum Admin
#2

I just checked this and you're right.
The selected track listener is stuck to whichever track is selected when the script first initialises.
I will make a note of this to be investigated.

Christian Björklund
Control Surface Studio User
#3

Ah that's great, thanks! It's strange though since "selected track" work fine in other occasions but..

I wonder if there's something similar or even connected with that other problem I mentioned here: https://remotify.io/community/question/looper-status-led-midi-feedback

..where this works:
self.song().tracks[4].devices[1].parameters[1].add_value_listener

but not this (even though m2 is set to 4):
self.song().tracks[self.get_modifier_value("m2")].devices[1].parameters[1].add_value_listener

It will just listen to the device parameter in track 0.

Christian Björklund
Control Surface Studio User
#4

Ah but this must at least be the exact same problem as I mentioned in verdeal's thread, the view.add_selected_drum_pad_listener thing, also worked on specific track but not selected track, good stuff!

Christian Björklund
Control Surface Studio User
#5

I found temporary workaround for most issues, but this thing I can't just figure out. Not sure if it's the same bug but it's something around using modifiers as channel numbering..

If I use numbers here for the Highlight Navigation funktion, everything is ok, but when I change to modifiers the buttons still work but the LED feedback stops working. The weirdest thing is that the exact same setup works fine in another script, using modifiers.

upload files: 
Christian Björklund
Control Surface Studio User
#6

Ok so that last one, the difference between the projects was that I had Track Selectors for the one that works and the LED feedback came from there so that was fixable. I mean, I don't need for anything else and if Highlight Navigation works with numbered channels I suppose it should work with modifiers too but..

The otther one (self.song().view.selected_track.devices[0].parameters[1].add_value_listener) still bugs me though, for most cases I covered it with a bunch of alternative listeners but it's not water proof.

Hugo Kant
Control Surface Studio User
#7

Bringing this back up as i just created another topic around that same problem.

What i can understand for this issue is that it is a listener so that needs to be created and must point to a specific object in live. As opposed to an action that gets the value of the currently selected track and is working just fine. We would need to be able to insert logic for adding AND removing listeners on the fly and the ability to write actions reacting to the newly created listener and not only the one initialized on init().