@@ -1178,7 +1178,7 @@ void postToggleTrackSolo(int command) {
11781178 outputMessage (s);
11791179}
11801180
1181- void postToggleTrackArm (int command) {
1181+ void postToggleLastTouchedTrackArm (int command) {
11821182 MediaTrack* track = GetLastTouchedTrack ();
11831183 if (!track) {
11841184 outputMessage (translate (" no selected tracks" ));
@@ -1189,6 +1189,46 @@ void postToggleTrackArm(int command) {
11891189 translate (" unarmed" ));
11901190}
11911191
1192+ void postToggleTrackArm (int command) {
1193+ int armedCount=0 ;
1194+ int unarmedCount=0 ;
1195+ int selCount = CountSelectedTracks2 (nullptr , true );
1196+ if (selCount== 0 ) {
1197+ outputMessage (translate (" no selected tracks" ));
1198+ return ;
1199+ }
1200+ if (selCount==1 ) {
1201+ outputMessage (isTrackArmed (GetSelectedTrack2 (nullptr , 0 , true )) ?
1202+ translate (" armed" ) : translate (" unarmed" ));
1203+ return ;
1204+ }
1205+ ostringstream s;
1206+ for (int i=0 ; i<selCount; ++i) {
1207+ if (isTrackArmed (GetSelectedTrack2 (nullptr , i, true ))) {
1208+ ++armedCount;
1209+ } else {
1210+ ++unarmedCount;
1211+ }
1212+ }
1213+ if (armedCount>0 ) {
1214+ // Translators: Reported when multiple tracks are armed. {} will be replaced
1215+ // with the number of tracks; e.g. "2 tracks armed".
1216+ s << format (translate_plural (" {} track armed" , " {} tracks armed" , armedCount),
1217+ armedCount);
1218+ if (unarmedCount > 0 ) {
1219+ s << " , " ;
1220+ }
1221+ }
1222+ if (unarmedCount>0 ) {
1223+ // Translators: Reported when multiple tracks are unarmed. {} will be
1224+ // replaced with the number of tracks; e.g. "2 tracks unarmed".
1225+ s << format (
1226+ translate_plural (" {} track unarmed" , " {} tracks unarmed" , unarmedCount),
1227+ unarmedCount);
1228+ }
1229+ outputMessage (s);
1230+ }
1231+
11921232void postCycleTrackMonitor (int command) {
11931233 MediaTrack* track = GetLastTouchedTrack ();
11941234 if (!track) {
@@ -2722,7 +2762,7 @@ PostCommand POST_COMMANDS[] = {
27222762 {7 , postToggleTrackSolo}, // Track: Toggle solo for selected tracks
27232763 {40281 , postToggleTrackSolo}, // Track: Solo/unsolo tracks
27242764 {9 , postToggleTrackArm}, // Track: Toggle record arm for selected tracks
2725- {40294 , postToggleTrackArm }, // Toggle record arming for current ( last touched) track
2765+ {40294 , postToggleLastTouchedTrackArm }, // Track: Toggle record arming for current/ last touched track
27262766 {40495 , postCycleTrackMonitor}, // Track: Cycle track record monitor
27272767 {40282 , postInvertTrackPhase}, // Track: Invert track phase
27282768 {40298 , postToggleTrackFxBypass}, // Track: Toggle FX bypass for current track
0 commit comments