🔥 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.

Listener Tracks - Track is/can be armed - Loop - List

Submitted by trololololol on Wed, 04/12/2023 - 12:01
trololololol
Control Surface Studio User

Hi,

im trying to do following.

REACTION called WRITE ARM GROUP LIST

On initialize i clear 3 lists (list 3-5).
List 3 has channel numbers of all tracks (via loop iteration number)
List 4 has "can be armed" bools of all tracks

List 5 should get "is armed" of all tracks.

I tried different things and i cant get List 5 to work. I get an css log message:

(MPC) There's a problem with 'Action Block ' in reaction 'WRITE ARM GROUP LIST' (from 'script is initialised' listener) >>
>> Master or sendtracks have no 'Arm' state!

I tried to condition the loop with a lookup to list 4 if the channel can be armed but i still get the exact same error.

somebody knows how to get the arm states of all channels in a list?

upload files: 
Topic Category: 

7 Responses

Comments

trololololol
Control Surface Studio User
#1

WHY does the track list target the Master or Sendtracks? This makes no sense. This must be a Bug. i cant get rid of the error...

fatphil
Control Surface Studio User
#2

I took your json, added it to a simple controller and added a bit of logging to see what was happening. I do not get the error on my machine. It manages to go through my list of tracks as expected.

I have 4 tracks, alice, bob, charlie, dave
bob and charlie are both armed for recording

Here's the output:
tracks[0] >> name = Alice
tracks[1] >> name = Bob
tracks[2] >> name = Charlie
tracks[3] >> name = Dave
tracks[0].can_be_armed >> Alice can_be_armed=True
tracks[1].can_be_armed >> Bob can_be_armed=True
tracks[2].can_be_armed >> Charlie can_be_armed=True
tracks[3].can_be_armed >> Dave can_be_armed=True
tracks[0].arm >> Alice Arm=False
tracks[1].arm >> Bob Arm=True
tracks[2].arm >> Charlie Arm=True
tracks[3].arm >> Dave Arm=False

fatphil
Control Surface Studio User
#3

Sorry, I should have mentioned I'm on Live 10.1

trololololol
Control Surface Studio User
#4

Thanks*

ok, im on Version 13.

Can you check if you get this working if you have Groups (all unfolded) in the game?
Like 4 Groups a 4 Tracks, then 4 Return Tracks?
I think the bug is in the Group Tracks...

fatphil
Control Surface Studio User
#5

Ok I found and fixed the problem :-)

When your code checks the arm status of the first group it has the error, because group tracks cannot be armed. (Not only master and return tracks as the error message suggests)

In your Action Block 4, only continue if:
self.get_list_item("list4", loop_number) == True
put this instead. It needs to be offset by 1
self.get_list_item("list4", loop_number+1) == True

Looks like reading from lists starts at 1 not 0.
Also self.get_list_item("list4", 0) is strangely returning true. I'd expect an out of bounds error if 1 is the first item.

self.get_list_item("list4", 1) actually returns what you wanted, which is the can_be_armed of the 1st group track.

Hope this helps!

upload files: 
fatphil
Control Surface Studio User
#6
trololololol
Control Surface Studio User
#7

Thaaaaaaank you! I knew IT was there as my track counter started with 2x O.