=comment
# Solo
$solo = $track_frame->Button;
my @muted;
$solo->configure( -command => sub {
# do nothing if mix track
return if $n == 1; MIX
# do nothing if setup not connected
return if ! grep{/$project_name/} eval_iam(q(cs-connected));
# do nothing if someone else is soloing;
return if grep{ is_soloing($_) } grep {$_ != $n} @all_chains; # but some may
# not be in
# chain
# setup
# restore prior mute settings if I had been soloing
if (is_soloing($n) ) {
$solo->configure(-foreground => $old_bg );
$solo->configure(-activeforeground => $old_bg );
map{ toggle_mute($_) if $muted[$_] != is_muted($_) }
grep{$_ != 1} @all_chains; # MIX
}
# otherwise save muted status for each track and mute all
else {
map{ $mute($_) = is_muted($_) } grep{$_ != 1} @all_chains; # MIX
map{ toggle_mute($_) }
grep {! is_muted($_) }
grep {$_ != $n}
grep {$_ != 1}
@all_chains;
is_muted($n) and toggle_mute($n);
$solo->configure(-foreground => q(yellow) );
$solo->configure(-activeforeground => q(yellow) );
}
});
=cut