Keith OHara schreef op di 15-03-2011 om 23:09 [-0700]: > On Tue, 15 Mar 2011 13:53:41 -0700, Jan Nieuwenhuizen > <jann...@gnu.org> wrote:
> It is, at least, the same kludge others (classicalmidiconnection.com) > use when they have more than 16 simultaneous lines of music. To have > some sympathy for the brokenness, remember that MIDI is primarily a > delivery protocol to playback hardware. Sure. > I tried to summarize what the relevant classes do, and indicated the > desired extensions in [[ ]] below : > Objects of class Staff_performer correspond MIDI channels. Not really: * midiChannelMapping = #'instrument (default) midiInstrument <-> MIDI channel voice -> track * midiChannelMapping = #'staff (old) Staff <-> MIDI channel <-> track voices are merged and unrecoverable * midiChannelMapping = #'voice (nice, but unsupported) Staff+voice <-> channel midi-port <->Staff<->Track (staff 1, voice 1 --> channel 0 2 --> channel 1 (staff 2, voice 1 --> channel 0, etc.) > Each Staff_performer has > a channel number, > optionally a MidiInstrument, midiMinimumVolume, etc., not really, these can change > one [[or more]] objects of class Audio_Staff. > This class implements the LilyPond performer "Staff_performer" yes > Normally each Staff_performer gets a unique MIDI channel number, > [[ but if midiChannelMapping==#'instrument then Staff_performers with > the same midiInstrument share a channel number. Program-changes and > midiVolume events from each Staff_performer will affect the shared > MIDI channel.]] Yes, although normally is [[ ...]] is the default. > Staff_performer is responsible for routing Audio_items to the > appropriate Audio_staff. Yes > Normally there is one Audio_staff per Staff_performer, for 'staff and for 'voice, not for 'instrument > [[ but if midiTrackMapping==#'voice then each uniquely-named Voice has > its own Audio_staff.]] no, that's for 'instrument > I still have the net change to midi output at > http://codereview.appspot.com/4271043/ in case it is useful. Ok. > Should the Audio_staff be "promoted" to Track_performer, in Voice > context by default, and collect its own Audio_items? > Do you still want all those maps ? Not sure, if it works and is nicer, I'm all for it. However, I do want to keep these three output options for now. Jan. -- Jan Nieuwenhuizen <jann...@gnu.org> | GNU LilyPond http://lilypond.org Freelance IT http://JoyofSource.com | AvatarĀ® http://AvatarAcademy.nl _______________________________________________ lilypond-devel mailing list lilypond-devel@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-devel