#388 Add a solo LED to track buttons

Not Likely
gui (26)

Hi Guys

Sometimes I solo a track and don't remember which one is solo. It's boring. A green "led" besides Mute and Rec "led" would be nice. To allow Solo more than one track would be awesome.


And Sorry my brazilian english.


Feature Requests: #418


  • D. Michael McIntyre

    Logged In: YES
    Originator: NO

    I agree with some of this sentiment in principle, but this is something I fought for and lost all the way back in 2003. It's never gonna happen. Sorry.

    I've even looked at the code, and this is just one of those "broken by design" things that's almost impossible to fix this far into the game. (Like true mid-stream program changes, for example.)

  • Flávio Luiz Schiavoni

    Logged In: YES
    Originator: YES

    I really don't believe that a layout change can be compared with true mid-stream.
    To "Solo" a track (ore more than one) isn't the same as to "Mute" all the other tracks?
    Forgive me if I'm being boring but here is a "screenshot" to show what I mean.
    Can you please look at it?


    File Added: Captura_da_tela.png

  • D. Michael McIntyre

    Logged In: YES
    Originator: NO

    The comparison to mid-stream program changes relates to the internal stuff, not the user interface. It's fairly easy to draw a picture on the screen, but a lot harder to make it do something.

    A third thing on this list is the ability to select more than one track at a time. I put all three of these (multi-track selections, solo that applies to more than one track, and true mid-stream program changes) on the same list of stuff I'd love to see, and have ABSOLUTELY NO IDEA how to accomplish myself.


  • Davy Durham

    Davy Durham - 2011-06-12

    I also would like to see a Solo button put in place. Console mixer's often have them because you want to hear just one or two tracks by themselves without having to go and mute every other track and then remember which of those were unmuted before you started to solo. It would really be a time-saver.

    Thanks for a great piece of software nonetheless!

  • D. Michael McIntyre

    • Group: --> Not Likely
  • Ted Felix

    Ted Felix - 2016-06-03
    • summary: Please, add a SOLO "led" to tracks --> Add a solo LED to track buttons
    • assigned_to: Ted Felix
  • Ted Felix

    Ted Felix - 2016-06-03

    Proposed design:

    • Green LED.
    • Click one to solo that one.
    • Ctrl-Click one to toggle membership in the solo group. This allows for "soloing" multiple tracks.
    • Click any soloed track to turn off solo on all tracks.
    • Remove the Solo button from the transport view.
    • D. Michael McIntyre

      It seems less daunting now than it did in 2003. Multi-track selection has been sort of possible for ages now, and I bet the rest of it is much less tangled now. If you're up for it, it would certainly put a smile on my face to see it.

      If you do the hard bit, I'll futz around with the transport layout bit. The transport dialog is a very ancient and very weird corner of Rosegarden, but I mostly remember the lay of the land.

      • D. Michael McIntyre

        I think I still have a green LED around here somewhere too...

  • Ted Felix

    Ted Felix - 2016-06-04

    This seems like a good next task for me. I'll dig around to see how the current solo works (I'm sure I've bumped into it a few times in my travels), then come up with a design for a more powerful implementation with a solo flag for each track.

    Adding the LED to the track should be very easy. TrackButtons::makeButton() is the place to start. I cleaned this up a while ago, so it's pretty easy to follow. It looks like LedButton might be able to draw any color LED. I've not tried it, though.

  • D. Michael McIntyre

    I'm pretty foggy headed right at the moment, but it just hit me that we probably want to keep the solo button. The plan was always to play the various solo-enabled tracks whenever in solo mode, and to allow switching in and out of solo freely, as now. Reading your summary above, I don't see how you planned to handle that bit, and it hits me that using the button for that purpose would work fine. It's already there; just repurpose it slightly.

    I'm pretty sure that's how the commercial stuff does it, although I haven't used commercial stuff in almost 20 years now.

  • Ted Felix

    Ted Felix - 2016-06-04

    My proposed design doesn't allow for switching in and out of solo repeatedly with multiple tracks at once. Since we don't allow that now, it didn't enter my mind. I'll see if Cakewalk has any ideas we can steal.

  • D. Michael McIntyre

    Now that I have had time to slow down and study what you said a couple days ago, I realize you were thinking along considerably different lines. I feel like my concept for this is about right.

    When transport is in solo mode, the one presently active track plays solo. Which track is "active" isn't always obvious, and if you want to solo two or more tracks, you have to manage all the mute buttons manually. (This is why we have mute all and mute none shortcut buttons.)

    Solo becomes a Track::isSolo() with logic to read and write the new property (defaults to false when reading old .rg files)
    When transport is in solo mode, tracks with isSolo() sound
    To avoid confusion, disable the solo mode button when 0 tracks have the green light lit[1]
    The mute all/none buttons can go away

    1. The disable the button bit seems potentially very tricky to get right, and I consider it icing more than cake.
  • Ted Felix

    Ted Felix - 2016-06-06

    OK, I've investigated how Pro Tools does things and I've pieced together some use cases that we can use for discussion. Not sure if any of this syncs with your thoughts. Let me know how far off I am.

    Use Case #1: Solo one track.

    We should probably make this as simple as possible since it is likely the most common use case. It should work like on a physical mixing console.

    1. System starts out with all track solo LEDs off.
    2. User clicks the solo LED on track 1. It lights up. The sequencer is now only playing track 1.
    3. User clicks the solo LED on track 1. It darkens. The sequencer is no longer in solo mode. All (unmuted) tracks are heard.

    Use Case #5: Solo canceling mode.

    As in Pro Tools, we should offer solo canceling mode by default. This makes it easy to solo tracks one after another when looking for something specific.

    1. System starts out with all track solo LEDs off.
    2. User clicks on the solo LED on track 1. Sequencer solos track 1.
    3. User clicks on the solo LED on track 2. Track 1's solo LED goes off, Track 2's solo LED goes on. The sequencer is now soloing track 2.
    4. User clicks on the solo LED on track 2. Track 2's solo LED goes off. Sequencer is back to normal. All tracks are playing.

    Use Case #2: Solo two tracks. Latching mode.

    1. System starts out with all track solo LEDs off.
    2. User clicks a track's solo LED. It lights up. The sequencer is now soloing that track.
    3. User shift-clicks on a different track's solo LED. It lights up. The sequencer is now "soloing" the two tracks with lit solo LEDs.
    4. User clicks on either of the two lit solo LEDs to turn off both LEDs. Sequencer is back to normal, playing all tracks.

    Use Case #3: Bringing multiple tracks in and out of solo.

    On a physical mixing console, this can be done with multiple fingers/hands. We don't have that luxury with a GUI. So, we need a compromise. The transport solo button could be used for this.

    1. The user solos two tracks by shift-clicking on their solo LEDs. (Use Case #2.)
    2. The transport solo button becomes enabled and unpressed to indicate that it can now be used to disable/enable solo.
    3. The user presses the transport solo button.
    4. The transport solo button becomes pressed and stays pressed. The sequencer goes out of solo mode. All tracks can now be heard. (Might be helpful to have some sort of change to the solo LEDs to indicate solo is off. Maybe dim them?) (We also need a name for this feature. Global Solo Disable?)
    5. The user presses the transport solo button.
    6. The transport solo button becomes unpressed and stays unpressed. The sequencer is once again "soloing" the two tracks.

    Using the transport solo button for Global Solo Disable seems slightly inconvenient since it is so far away, or might not even be visible. To remedy this, we might put a solo button in the toolbar and the menu. To bring things even closer together, a right-click on a solo LED could perform the same Global Solo Disable/enable.

    (In Pro Tools, ctrl-click on the solo button puts the track in solo-safe mode. Solo will not affect this track.)

    Use Case #4: User gets confused in Global Solo Disable mode.

    1. As with use case #3, the user solos two tracks, then presses the transport solo button to disable solo mode.
    2. Now the user forgets what they've done and cannot do any more soloing since solo mode is disabled via the transport solo button. (User confusion in solo modes is a common problem.)
    3. At this point, we might make any clicks on the solo LEDs re-enable solo mode. That would get them out of their predicament. (Someone who wants to tweak the solo LEDs while solo is disabled will be inconvenienced, but that seems like a fringe case.)
    Last edit: Ted Felix 2016-06-06
  • D. Michael McIntyre

    Honstly, reading through all that kind of has my head hurting. Apparently current incarnations of Cakewalk do something even more complicated than this. The world has moved on, and I am stuck in the past. All I can do is shrug and step out of your way.

  • Ted Felix

    Ted Felix - 2016-06-14

    I've implemented this in [r14669]. Please test the latest svn.

    Clicking on a solo LED puts it in solo. Shift-clicking adds another track to solo. The solo button on the transport and the editors is a quick way to solo the selected track. The solo no longer follows the track selection. Hopefully no one was too attached to that feature.



    Commit: [r14669]

Log in to post a comment.

Get latest updates about Open Source Projects, Conferences and News.

Sign up for the SourceForge newsletter:

JavaScript is required for this form.

No, thanks