• SONAR
  • Feature Request: Option to unlink MIDI and Audio mute and solo buttons (p.4)
2014/09/27 11:01:15
Splat
Nothing wrong with it. I think it's a good idea as a preference option. After all most people don't use half their PC resources anyway. A similar idea was to have a diagnostic mode which again would have performance penalties.

Both ideas would reduce support costs for the user and cakewalk. So win win.

Cheers..
2014/09/27 11:33:49
Anderton
stevec
The way I read it, if the synth's audio and MIDI tracks are completely unlinked, then soloing the audio track will not solo its MIDI tracks so there's nothing feeding that audio track because only it is solo'd.  However, if you mute the audio track then it doesn't matter if anything is or is not feeding that audio track - it's muted.   At least I think I have that right... 
 
BTW, great discussion, very interesting.



First of all Noel, you remain totally awesome   And not just for putting up with me. This thread gives some fascinating insights into the software design process.
 
I see what Noel is saying, Solo mutes everything else and you can't have the instrument's MIDI data muted or you won't hear any audio. But I've been thinking about this some more. Seems to me a MIDI track will be doing one of three things:
 
1. Controlling a VI.
2. Sending data through the physical output to control external hardware.
3. Sending control signals to a processor that accepts MIDI. 
 
In any of those cases, it makes sense that the targets for the MIDI data should always be updated with the latest MIDI information, regardless of the mute or solo status of any track. 
 
The only place where I see an issue is this. Suppose you have a folder for a multitimbral synth with one audio track (representing the sum of the multi-timbral instruments) and multiple MIDI tracks feeding that synth. If you solo the MIDI track, you would want to mute to the other MIDI tracks so you hear only the one instrument. (Of course this would not be an issue if the synth had multiple audio outputs, because you could just solo the desired audio output.) I think the following rules would accommodate all situations:
 
1. If any MIDI track is muted, only that track is muted. All other MIDI tracks remain unmuted unless muted manually.
2. If a synth's MIDI track is soloed, all other MIDI tracks assigned to that synth are muted.
3. If a synth's audio track is soloed, any unsoloed audio tracks are muted but this has no effect on any MIDI tracks.
4. If a synth's audio track is muted, only that track is muted and this has no effect on any MIDI tracks.
 
Am I missing anything?
 
Basically, this protocol treats VIs as essentially audio tracks. The more I think about "all MIDI all the time," the more it makes sense to me because I won't have situations such as (for example) a synth mutes in the middle of a pitch bend, then unmutes later in the song but missed the pitch bend data that returned it to normal pitch. 
 
 
2014/09/27 12:16:34
Splat
Looking at the way drum maps are handled in X3 (esp with solo etc) it won't surprise me whatsoever that there will probably be some significant changes in routing for X4, and general behaviour. Just speculation.
2014/09/27 12:16:35
SilkTone
stevec
The way I read it, if the synth's audio and MIDI tracks are completely unlinked, then soloing the audio track will not solo its MIDI tracks so there's nothing feeding that audio track because only it is solo'd.  However, if you mute the audio track then it doesn't matter if anything is or is not feeding that audio track - it's muted.   At least I think I have that right... 

 
Steve, you have to see a solo as simply muting all other non-soloed tracks. So internally there is no "solo" mode for a track per se, it is just that the control logic simply decided to mute it internally due to another track being soloed.
 
So... In order to have a completely unlinked MIDI and synth audio track work properly together during a solo, all you have to do is... not mute the MIDI track.
 
Anderton,
 
The four points you list sounds like it should work properly.
 
Now of course if one really wants to use a mute button as a way to save CPU cycles, nothing stops you from muting the MIDI track itself.
 
I'm wondering if treating MIDI and audio mute/solo states as complete different entities makes sense. So if one mutes or solos an audio track, only outputs of audio tracks are muted or unmuted, and no MIDI tracks are touched. On the other hand if one mutes or solos a MIDI track, only MIDI tracks are muted or unmuted, and no audio tracks are touched.
2014/09/27 13:46:23
Noel Borthwick [Cakewalk]
Hi guys,
This gets hard to convey in a few sentences since solo and mutes have pretty complex rules behind the scenes and there are many things to be careful of so that we don't break the logic. For example we have solo, exclusive solo, and also quick group operations to handle.
 
Solo is not handled by muting tracks directly. ie the actual track mute states never change but the another "mute due to solo" state gets activated for that track. This aspect is identical for audio tracks. So if track A is soloed track B implicitly gets mute unless it is also soloed explicitly. Thats why for instrument tracks or synth audio tracks we also need to solo all other MIDI tracks, because we don't know which track might contribute to any given output.
In the case of soloing synth MIDI tracks we must solo ALL related audio tracks for the same reason.
 
Craig we can't mute all related MIDI tracks when one is muted. That would prevent you from muting a kick drum MIDI track sent to a sampler when other MIDI tracks are feeding it. Obviously unwanted behavior. In general your proposal of treating audio and MIDI tracks differently for solo/mute wouldn't be consistent with how mute and solo work across the rest of the sequencer. I definitely wouldn't want to mess with that :) Soloing a track always has an effect on all other tracks irrespective of track type. It would be problematic if it didn't do that and there are a lot of things that depend on it working that way...
 
I think I will leave the logic as is for SOLO. The OP's original problem doesn't relate to solo anyway as far as I can see. Its hard enough to do for mute since there is different handling for instrument tracks and normal synth tracks...
2014/09/27 14:37:32
Anderton
Noel Borthwick [Cakewalk]
Hi guys,
This gets hard to convey in a few sentences



Actually I think you conveyed it really well, and your choice of how to implement makes sense. I do think it will represent an improvement for those using virtual instruments.
 
As you know, I am unburdened by any knowledge whatsoever of how coding works . I appreciate your looking at this to determine what is and is not doable.
 
All hail THE NOEL!
2014/09/27 17:46:19
SilkTone
Noel Borthwick [Cakewalk]
... 
I think I will leave the logic as is for SOLO. The OP's original problem doesn't relate to solo anyway as far as I can see. Its hard enough to do for mute since there is different handling for instrument tracks and normal synth tracks...



Noel,
 
Thanks again for looking into a way to improve this behavior. Solo is in fact one of the places where I see this problem too. In fact it is worse there because when muting you interrupt just one flow of MIDI data, while with soloing you are interrupting all other non-soloed track's flow of MIDI data. So there is a much larger chance of ending up with un-triggered notes and out-of-sync controller data across multiple tracks.
 
TBH I still don't see the use case where not muting MIDI tracks at all will result in undesirable behavior, whether for muting or for soloing. Noel I read through your posts again but I can't get that part. We can't "hear" MIDI data, so there is no reason to mute any MIDI track when we specifically click on any audio track's mute or solo buttons. As long as the output of the audio tracks are all following the correct logic, the end result will be correct.
 
Example: If a synth is fed with multiple MIDI tracks but it only has one audio track, then muting or soloing that audio track would result in the correct behavior if no MIDI tracks are muted. Now if the synth has many MIDI tracks feeding into it, and many audio tracks, muting or soloing just one audio track will still have the correct results if no MIDI tracks are muted. What am I missing?
 
The only use case I can imagine where this would have the undesirable behavior is if one feeds an external synth, and that synth's audio is not fed back into Sonar, but instead is mixed on an external mixer. So now Sonar has no way to mute its audio. But how common is such a use case? The solution in then is to mute the MIDI track itself.
 
I would love to hear of other use cases where it won't have the correct behavior.
2014/09/27 17:55:00
SilkTone
 
Noel,
 
How about this: An option to either leave the behavior as it currently is (the default), or simply unlink all MIDI and audio track mute and solo buttons? This will basically disable your #1 and #2 cases for both mute and solo if the option is checked:

[ ] Unlink MIDI and synth audio mute and solo buttons

 
The advantage is that you can't break any existing use cases, and at the same time this will get the feature some good field testing to make sure it doesn't result in some undesired behavior (in which case one can simply switch the option off again).
 
This one can make a nice difference in how smooth Sonar feels while muting/soloing.
2014/09/27 18:14:49
SilkTone
Noel Borthwick [Cakewalk]
...
Thats why for instrument tracks or synth audio tracks we also need to solo all other MIDI tracks, because we don't know which track might contribute to any given output.

 
Noel I don't understand. If MIDI tracks never get muted when audio tracks get soloed (either directly or due to another track being soloed), why would we need to care about which MIDI track contributes to any given output? The user specifically muted/soloed a specific audio track, so if the output of audio tracks all follow the correct logic, the end result will be correct.
 
In the case of soloing synth MIDI tracks we must solo ALL related audio tracks for the same reason.

 
Why not then just solo that MIDI track (by muting all other related MIDI tracks) and leave all the audio tracks unmuted? After all, the user specifically wanted to solo the MIDI track.
 
Craig we can't mute all related MIDI tracks when one is muted. That would prevent you from muting a kick drum MIDI track sent to a sampler when other MIDI tracks are feeding it. Obviously unwanted behavior.

 
In this case, just mute the MIDI track that the user muted. Leave everything else as it was. This should be the correct behavior.


2014/09/28 01:08:20
Noel Borthwick [Cakewalk]
I think were going in circles a bit. Soloing a synth MIDI track is implicitly leaving the synth audio tracks unmuted by soloing them as well. SONAR is a sequencer that supports both hardware and software MIDI and solo and in general mute work consistently across both hardware and software tracks. There is a tremendous amount of complexity dealing with mutes and solos that I can't get really detail here. Its not as simple as having an option to do it one way or another.
 
>>Noel I don't understand. If MIDI tracks never get muted when audio tracks get soloed (either directly or due to >>another track being soloed), why would we need to care about which MIDI track contributes to any given output?
MIDI tracks DO get implicitly muted when something is soloed in SONAR causing them to stop sending MIDI. That's a pretty fundamental paradigm that every version of the sequencer has had and would be pretty risky to mess with. When you solo a synth audio track there is no way for the program to determine which MIDI track contributes to that specific output, so it has to specifically solo all related MIDI tracks or you could get silence. 
 
As explained earlier the best that can be done at this point is no longer muting synth MIDI tracks when the parent audio track is muted which should alleviate the main issue you raised. Even that was a pretty complex change to make.
© 2026 APG vNext Commercial Version 5.1

Use My Existing Forum Account

Use My Social Media Account