lilypond-devel
[Top][All Lists]
Advanced

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

Re: midi performance hacking


From: Mats Bengtsson
Subject: Re: midi performance hacking
Date: Mon, 19 Apr 2004 11:40:26 +0200
User-agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.6) Gecko/20040113

I don't really see why you include a new context, at least
not as long as you don't add the corresponding type of context
for the paper output.

So far, people who have tried to use the MIDI output for anything
else then plain "proof reading" (which really is the level of ambition
for the current MIDI support), have typically needed to do a separate
\score{} declaration for the MIDI. If your intention is to make easier
to affect the MIDI output while keeping a single \score{} for both the
MIDI and paper output, I see the point. However, then I would not solve
it by adding more types of contexts. Rather, it should be done with
properties. One possibility in current LilyPond that may be useful
is the \tag feature, see
http://lilypond.org/doc/v2.2/Documentation/user/out-www/lilypond/Different-editions-from-one-source.html#Different%20editions%20from%20one%20source

Regarding your previous email on restructuring the MIDI support, I hope
you can also solve the following bug report:
http://mail.gnu.org/archive/html/bug-lilypond/2003-10/msg00069.html


   /Mats

Michael Welsh Duggan wrote:
The included file demonstrates one of the things I want to do on a
general basis: to be able to determine at what context levels midi
tracks are aggregated upon.

It would be nice if this were less tortuous, and didn't require
making a new type of Staff.  Can anyone think of a good way to do
this?  (Doesn't necessarily have to be possible in current LilyPond.
Something which makes good sense which could be implemented would be
just fine.  Of course, I am volunteering to help with
implementation.)

\include "english.ly"
\version "2.2.3"

\score {
    <<
        \new StaffTrack \notes a'1

\new PianoStaff <<
            \new Staff \notes a'
            \new Staff \notes {\clef bass a}
        >>
    >>
    \paper { raggedright = ##t }
    \midi {
        \context {
            \ScoreContext
            \accepts StaffTrack
        }
        \context {
            \name StaffTrack
            \accepts Voice
            \type "Staff_performer"
            \consists "Key_performer"
            \consists "Tempo_performer"
            \consists "Time_signature_performer"
        }
        \context {
            \StaffContext
            \type "Performer_group_performer"
            \remove "Key_performer"
            \remove "Tempo_performer"
            \remove "Time_signature_performer"
        }
        \context {
            \PianoStaffContext
            \type "Staff_performer"
            \consists "Key_performer"
            \consists "Tempo_performer"
            \consists "Time_signature_performer"
        }
    }
}


--
=============================================
        Mats Bengtsson
        Signal Processing
        Signals, Sensors and Systems
        Royal Institute of Technology
        SE-100 44  STOCKHOLM
        Sweden
        Phone: (+46) 8 790 8463                         
        Fax:   (+46) 8 790 7260
        Email: address@hidden
        WWW: http://www.s3.kth.se/~mabe
=============================================




reply via email to

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