lilypond-auto
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Lilypond-auto] Issue 3581 in lilypond: Patch: Add support for setti


From: lilypond
Subject: Re: [Lilypond-auto] Issue 3581 in lilypond: Patch: Add support for setting MIDI pan position, and reverb and chorus levels
Date: Sat, 19 Oct 2013 14:08:18 +0000


Comment #34 on issue 3581 by address@hidden: Patch: Add support for setting MIDI pan position, and reverb and chorus levels
http://code.google.com/p/lilypond/issues/detail?id=3581

"Well, we can't really get along without any MIDI initializations when a piece contains actual dynamics. I'd actually be fine with keeping the hands off the global volume knob and do normal dynamics just by using key velocity (I think one can't avoid that one). And we can't get away without some defaults like for the tempo I think."

That's probably true.

"So it's sort of a balancing act. Now I don't want to imply that the old code was sane. But it was doing something, and now we are doing something else."

I agree: it's good that you noticed this possible change in the behavior, and therefore the change that removed the instrumentName setting should be reverted for safety. If this still requires an action from my part, please tell me what to do next. (The handling of the new MIDI properties does not depend on removing instrumentName, so putting it back will not interfere with the added behavior.)

"And that's a good opportunity to reconsider what we _want_ to be doing in the first place."

In this specific case of MIDI instrument volume equalization, it looks like that, if there's (assuming the default midiChannelMapping) a staff whose midiInstrument, instrumentName, midiMaximumVolume, midiMinimumVolume, and instrumentEqualizer haven't been set in the input, the dynamic performer will try to equalize the note velocities using the range defined for "bright acoustic" – after removing the instrumentName setting from ly/performer-init.ly, the performer would try "piano" as you said. The default instrument equalizer (defined in scm/midi.scm) doesn't define a velocity range for either of these two names, so removing the instrumentName property setting from performer-init.ly indeed had no real effect when using the current default instrument equalizer, but the situation could easily change if the default equalizer is modified, or if using a custom instrument equalizer.

In my opinion, if a staff doesn't have a midiInstrument (and no midiMinimumVolume/midiMaximumVolume) set, no note velocity equalization should be applied on that staff (keeping with the principle of not enforcing any defaults if possible). Alternatively, if this cannot be avoided, the default instrument equalizer could be modified to provide a special "default" key and make the dynamic performer use that instead of any actual instrument names as the fallback, and add a mention about the "default" key in the documentation on equalizing MIDI instruments.

Anyway, it's probably better to move the discussion about the current behavior of the dynamic performer (and the need for defining instrumentName in ly/performer-init.ly) elsewhere since it is no longer related to this issue.


--
You received this message because this project is configured to send all issue notifications to this address.
You may adjust your notification preferences at:
https://code.google.com/hosting/settings

reply via email to

[Prev in Thread] Current Thread [Next in Thread]