Rosegardens still seems to always send MIDI controller changes for:
a) MIDI channels of tracks with segments
b) MIDI channel 10 regardless of the fact it does or does not have segments
(see screenshot)
For each of the above channels it sends controller changes that reflect the corresponding General Midi 'mixer' settings, namely:
CC 7 volume
CC10 pan
CC91 reverb
CC93 chorus
While this might be useful with general midi (e.g. soundfonts) there are use cases when this is not useful and actually even bothersome:
Of course this has nothing to do with control changes embedded in segments which should always be sent.
It also makes sense to keep sending CC64 (pedal) and CC123 (not off) every time playback is stopped.
Ideally there should be a way to disable this per file/project. Even better this would be set for the MIDI device - e.g. I might want to use yoshimi (do not send anything) plus general midi soundfont (sent controllers)
Otherwise have a global option would be acceptable interpreting this as a general behaivour.
Another (less good) option could be to set this per track
You can turn off CC91 and CC93 on a per device basis by deleting those controllers from the device in Manage MIDI Devices (select the device and press Controllers...). Unfortunately, removing CC7 and CC10 does not actually remove them. That needs some investigation.
The mess on channel 10 is related to the metronome. However, even if the metronome is turned off for playback (Studio > Manage Metronome), CCs are still sent on channel 10 at playback for the metronome. I've not looked into it, but thanks for letting me know this is an issue. I will have a closer look.
[r15750] removes the
<volume>
and<pan>
tags in the .rg file for MIDI instruments. This was making it impossible to stop Volume and Pan CCs from going out. Even after deletion, the CCs would mysteriously come back after a file load. Now, if you remove all the controllers from the Device, absolutely no CCs should ever go out (other than those in the Segment, of course).[r15751] fixes extraneous CCs going out on channel 10 when the metronome is muted in playback and/or record.
The combination of these two now make it possible to disable all CCs generated by rg.
This should cover this feature request. Please test the latest svn and let me know how it goes.
Related
Commit: [r15750]
Commit: [r15751]
Last edit: Ted Felix 2020-03-29
This seems so obvious in hindsight, but I sure tried and never figured it out.
Thanks for taking care of this. As a recap from some quick testing I did (useful maybe for other users as well).
Now it looks like:
Last edit: Ted Felix 2020-04-20
I tried to reproduce this, but I could not. Can you still reproduce this? If so, can you provide a more detailed test procedure to get this to happen? Thanks.
And here is a quick screengrab of testing it, hopefully it's useful
It appears as if my changes break loading of volume/pan settings. E.g. try loading one of the example files. It's very likely that the track volume will be 0 for them. More work needs to be done on this before this can be shipped.
Looks like we just need to determine whether
<controlchange>
tags are missing and fall back on<volume>
and<pan>
tags. This only affects older files, so not a really big deal. Will get this in shortly.Should be fixed in [r15765].
Related
Commit: [r15765]
Unfortunately it seems that CC7 and CC10 are still sent on the channel used either on channel 1 or on the very first track with thelowest channel number. Unfortunatelly I can't seem to get a consistent thing for this.
I tested this by creating a new device and removing all visible controls. First I thought it was channel 1, but then I tried switching the same track to channel 15 and so CC7 and CC10 were sent on channel 2. etc. Then I tried reproducing and it was just channel 1.
Also this is very inconsistent. I tested with creating a new file and even with the default General Midi device which does have controllers no CCs are sent.
I'm a bit puzzled.
Completely deleting the controller from the device seems to not send anything. But then it means you don't have that controller available any more, in particular in the rulers in matrix and notation.
Last edit: Lorenzo 2020-06-15
I think after some testing this might be simpler... Seems RG (even with deleting the controllers from the position menu with 'not showing' will send CC10 and CC7 IF the segment is at bar 1.
I casually incurred into this by shifting the start of piece to bar 2 for recording purpouses and sending CCs disappeared? Maybe someone could cross-test this?
Unfortunately even this seems to be somewhat random :-|
Update: CC7 and CC10 are also sent if playback is started at the same time as the segment starts. Example the segment starts at bar 2, you position the playhead at bar 2, stat playback then CC10 and CC7 are sent
Hopefully this can help hunt the unwanted behaviour
Sounds like this is working as designed. If playback starts within a Segment, a search is performed to find out what the CCs should be at that point in time and those CCs are sent to make sure synths are up-to-date with what is currently going on at this point in the Segment. The beginning of the Segment is considered "within" the Segment for this purpose and (I think) that's why you are seeing these.
Sounds like what you want is finer grain control of the various features. Not a problem if we can come up with a set of features that works for you. Here's a proposal. Might not quite match what you need, but should be a complete enough list to start the discussion:
Am I missing anything here?
I'm not sure I get you: we are talking about sending CC10 and CC7 which were removed from the panel, so in theory they should "never" be sent, even if playback is tarted at segment start?
The most straigthforward IMHO would be:
ALWAYS send CCs upon playback/stop (depending on CC):
Send CCs in both MIPP and Mixer window (saame) ONLY if they have a position and therefore show in MIPP and therefore Mixer (from Manage Controllers window)
Makes sense?
I think I get it now. Since the knob isn't visible, why should it still have an effect on anything?
As I'm thinking this through, there are some subtle problems that might creep up in certain situations. (The search for the previous CC value comes to mind.) I need to spend some time looking more closely at how this works, and put together some examples and test plans to illustrate the issues and then hopefully we can mitigate the problems and refine the requirements.
Seems like compositions created with 19.06 and before, that are then loaded into the current svn, have problems similar to what you describe. I'm not seeing CCs going out at playback, but I am definitely seeing them go out at file load. So, something is wrong.
It's probably yet another case I hadn't considered when getting rid of the pan and volume attributes in the file format. More digging needed...
I suspect there may be a workaround...
This should be the end of CCs going out.
Just a theory. I was able to make this happen with my test compositions. Let me know how it goes.
I'm looking into a less irritating solution right now.
Last edit: Ted Felix 2020-09-26
Unexpected CCs problem should be fixed in [r15961]. Please test and let me know how it goes.
Related
Commit: [r15961]
Hi Ted, thanks for this! I'm a bit limited in time bandwidth at the moment, will try to test asap!.
Lorenzo