On 07/15/2017 12:56 PM, Tim wrote:


On 07/15/2017 06:10 AM, martin wrote:
Hello all,


When I select a Midi/Drum track in the arranger, I can toggle between seeing the trackinfo as a bunch of entry fields and buttons (alt checked) and something that looks more like a mixer strip (alt not checked).

With the entry fields in the alt display, I can, among others, set volume an pan and make it part of the song by clicking on the respective button. A corresponding midi event is inserted at the current locator position. I can achieve the same thing by editing the volume or pan controller in a part editor, e.g. a pianoroll…

(1) With the non-alt display I can't seem to save volume and pan, or can I?
Yup. Right-click any midi GUI control, such as volume, pan,
 or the other knobs on a midi strip, and under the 'automation'
 heading, select 'add event' or 'erase event'.

The 'alt' panel is a relic, soon to be removed, before release 3.
It is what existed before MusE got a proper midi strip in the Arranger.
I left the 'alt' panel there as work progressed on the midi strip,
 in case there were problems with the new strip.

(2) So what is the effect of volume and pan changes in the non-alt display? Does it set default values, which will be
effective before the first explicit volume or pan event?

No. Default values are the job of the defined midi instruments and which
 instrument is chosen for the particular track, such as GM or XG etc.

If you examine an instrument's defined midi controllers in the
Instrument Editor, you will see that each can be assigned a default value.
Some have a default, and some do not.

These default values are sent out as midi messages to the
 devices at certain times, such as when a track's instrument is changed.
Another important time when these messages are sent:
When a song is first loaded, or rewound to the beginning.
This is because some songs did not store all necessary 'starting'
 controller values at the song's beginning, and thus if rewound,
some controllers will be left in whatever state they were before rewinding,
 which may make the song not sound correct when it is played again,
 so default values are taken from the instrument definitions to give a
 reasonable controller setup before playing the song through.

However, some users may not want this behaviour, so it /must/ be enabled
 by the user in 'MusE settings > Global Settings > Midi tab >
'Send instrument controller default values if none in song, at init or rewind'".
As that name implies, if the song does in fact have explicit stored
 controller values at time zero, /those/ values will take priority over
 any defaults, when the song is loaded or rewound.

Therefore, a rule of thumb, best practice when composing any midi song:
Make sure all of your desired controllers have explicit values stored at time zero.
Otherwise you leave it to the host to find something reasonable to send.


A clarification may help:
What if a song is stored and loaded with it's play head at a non-zero location? MusE will send whatever controller values are stored at /that/ location as well, and if there are no values there, it will use instrument defaults /if/ enabled,
 for a reasonable start.

What does /no/ stored value mean?

* * *
A refresher on MusE's midi controller 'off' state, not to be confused with strip 'off':

As you may know, our midi gui controls can be turned to an 'off' position,
 (now called 'bypass' in recent git master).
It does not mean zero or less than zero, nor does bypass mean 'disengaged'
like our audio controllers (todo: that same feature would really nice for midi). It is not an actual value, it means an 'unknown' value - a value that existed
 before inside the midi device, that we don't (cannot) know about
 (since it is unidirectional midi here).

When these controls say 'off', and an instrument's controller definition
 has no default value, it means you are permitting whatever came before to
 rule what the current value is, and we won't /touch/ that value.

Even with our 'Program' midi controller, each of the three Hi-bank, Lo-bank,
 and Program values can have an 'unknown' state.

Notice that in our midi controller automation graphs, in the midi editors,
there can be a portion starting from the left and ending at the first stored value,
 which is called the 'unknown' region. Again, whatever came before rules
 the current values inside this 'unknown' region.

Thus, you can see that it can be important to actually store something
 there at time zero. Or not. It's up to you, whether you want the midi
 device's own current settings to rule and /not/ let MusE touch them,
 or whether you want MusE to really have full control over all values
 at all times.

Tim.

Hope that helps.
Tim.

Should that be the case, then it is a bad idea to use both
methods on the same midi channel, because in the end, the explicit setting will soon override any defaults.












------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Lmuse-user mailing list
Lmuse-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/lmuse-user


------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Lmuse-user mailing list
Lmuse-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/lmuse-user

Reply via email to