lilypond-devel
[Top][All Lists]
Advanced

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

Re: Map voices to channels in MIDI output


From: Keith OHara
Subject: Re: Map voices to channels in MIDI output
Date: Sat, 12 Mar 2011 10:00:59 -0800
User-agent: Opera Mail/11.01 (Win32)

On Sat, 12 Mar 2011 05:48:08 -0800, Jan Nieuwenhuizen <address@hidden> wrote:

Ugh.  I have just pushed fixes for setting the instrument and assigning
each track to a new port.  It would be nice if you could test it, but
afaics it does not work with timidity, alas.


I see (with hexedit) the new midi events for instrument changes on all voices, 
and port settings.

I have only one sound card in my system.  All players I tried (Timidity(linux) 
WindowsMediaPlayer NotationPlayer and Podium) route all ports to this one sound 
card.  You send the instrument changes just before the first note in the voice, 
and some players change the instrument sound on the channel at that moment.

All instruments on a given channel still have the same instrument sound and 
volume at any given moment.

To associate several Tracks with one staff,
you could write [ the Staff name ] into Track Name [...]

I think this is the best solution, although I think it's a custom
solution and thus clumsy?

My description was clumsy.
TrackName is an optional field, and LilyPond 2.12 fills it with the name of the 
Staff context, if any.  It seems quite natural for Lilypond 2.14 to write the 
name of the Staff context as TrackName for each track associated with that 
Staff.

I'll be looking into this.  I think I'll be doing

    No Port setting (ie, single port)
    midiInstrument <-> Channel
       (possibly with option: Staff_performer <-> Channel)
    Voice <-> Track

That looks very nice.
Staff_performer responds to properties like midiInstrument that belong to a 
channel, and right now each Staff_performer contains one Audio_staff as a 
member.  Performance::output writes each Audio_staff as a midi track.
If Staff_performer can contain multiple Audio_staff members, with some mapping 
from voices to individual Audio_staffs, that could be really elegant (maybe 
with some editing of class names).




reply via email to

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