markusschloesser / MackieC4_P3

A Mackie C4 Midi Remote Script for Ableton 11
20 stars 2 forks source link

Record Arm channel mode button doesn't respect "exclusive Record Arm" option setting #82

Open BilldarBagdar opened 3 years ago

BilldarBagdar commented 3 years ago

Happening when first loading a project, not sure how long it stays around, but assume this one is fairly "permanent" (also probably an easy fix after finding the option setting?).

With the Options>Preferences>Record/Warp/Launch tab's "exclusive Arm" button enabled, "arming" any Track, is supposed to disarm any others. But our C4 script does not respect that setting, at least not for me, and at least right after a session loads.

I think it's a "real deal issue" because I don't remember anything in the code related to "record arm" events where it checks for the status of that Preferences... option or takes any related actions like sometimes disarming "other armed tracks".

markusschloesser commented 3 years ago

The MackieControl scripts also don't respect that setting, and as most of the code is based on those, it makes sense that that doesn't work. Btw always interesting to see how many of the other scripts are still based on those and their old school approach. IMHO as this needs listeners, it will only make sense to implement when we switch to the new ControlSurface inherited approach. Same with a lot of the the ToDos, like frozen track support, chained instrument access etc

BilldarBagdar commented 1 year ago

I "discovered" code that should resolve this issue [Here] (https://github.com/markusschloesser/MackieC4_P3/blob/3ab666541f581cffa80c5969a60c1ccf08a3103a/wip/V2C4/C4ChannelStripComponent.py#L65) Specifically, the if song.exclusive_arm: part starting on line 79.

The code is modeled after one of the Axiom MixerComponent specializations. Just making a note of this probable solution right now. Currently "busy" chasing V2C4 rabbits.

EDIT: I'm commenting out the code linked above (and then probably removing soon). Super annoying. It absolutely works, but the implemented behavior is narcissistic when it runs 10 times per second. As written in the linked commit, a user can't arm an unselected track from anywhere in Live (for more than 100 milliseconds) and the selected Track always gets armed if it's "armable" and something else isn't already recording. (a user can't disarm the selected track from anywhere in Live for more than 100 milliseconds.)

markusschloesser commented 1 year ago

is this important to you? I could probably implement this, but I don't use exclusive arm at all