No difficult algorithms. Associated datastructures have prefix Input
(eg Input_score, Input_command). The .ly file is read, and converted
-to Requests, Voice_elements, Voices.
+to
-The result looks something like this (? = 0 or 1, * =0 or more, + = 1
-or more)
-
- Score {
- Midi_def?
- Paper_def?
- Staff+ {
- Voice+ {
- start_moment
- Voice_element* {
- duration
- Request*
- }
- }
- Input_register { ..}
- }
- }
-
-Request is a baseclass for almost all kinds of information. As you can
-see, the info is stored horizontally; horizontally is the natural form
-for entering music.
-
-=item Setting up music
-
-Simultaneous Requests are grouped into columns. Vertical is the
-natural form for processing music.
-
-=item Processing:
+=item Creating elements
Requests are processed and used to create elements (like balls, stems,
slurs etc). This is done by a hierarchy of "brokers" (called
=head1 INTERNALS
-This chapter deals with the internals of Mudela. In the end Mudela
-converted to Voice, which contain Voice_elements which (in turn)
-contain Requests. The former 2 types are basically containers (lists).
-Consider the following simple mudela
-
- \music { c4 <e4 g4> }
-
-After the parsing, this is converted to: (from the debug output)
-
- Voice { start: 0
- voice_element { dur :1/4
- Stem_req {duration { 4}}
- Note_req {notename: 0 acc: 0 oct: -1
- duration { 4}}
- Group_change_req {}
- }
- voice_element { dur :0
- Terminate_voice_req {}
- }
- }
-
- Voice { start: 1/4
- voice_element { dur :1/4
- Stem_req {duration { 4}}
- Note_req {notename: 2 acc: 0 oct: -1
- duration { 4}}
- Group_change_req {}
- }
- voice_element { dur :0
- Terminate_voice_req {}
- }
- }
-
- Voice { start: 1/4
- voice_element { dur :1/4
- Stem_req {duration { 4}}
- Note_req {notename: 4 acc: 0 oct: -1
- duration { 4}}
- Group_change_req {}
- }
- voice_element { dur :0
- Terminate_voice_req {}
- }
- }
-
+This chapter deals with the internals of Mudela.
=head2 Requests
note, therefore fore each C<Dynamic> request carries a time, measured
from the start of its note.
-=head2 Voice_element
-
-Voice_element is a list of requests together with a duration. It is
-strictly horizontal
-
-=head2 Voice
-
-Voice is a list of Voice_elements together with a starting time.
-
=head2 Voice groups
Voice group is a (time-dependent) collection of voices which share
=head1 DESCRIPTION
A (not-at-all complete) overview of other music-typesetting/notation
-packages. Feel free to add info (and mail it to me). Partly based on
-a reflist by Miguel Filgueiras <mig@ncc.up.pt>.
+packages. Feel free to add info (and mail it to me).
=head2 Free packages (with source)
G Sharp, http://dept-info.labri.u-bordeaux.fr/~strandh/Gsharp
+An alpha version notation editor for X. Source available on request.
+
Rosegarden, http://www.math.bath.ac.uk/~masjpf/rose.html
-Common Music/Common Notation, ftp://ccrma-ftp.stanford.edu/pub/Lisp
+A Notation editor/Sequencer for X (win95 port underway). Outputs musictex.
+
+Common Notation, ftp://ccrma-ftp.stanford.edu/pub/Lisp
+
+A versatile lisp package. Part of the Common Music system. Input is in Lisp.
+
+Vivace, http://
-Vivace
+A amateurish notation program for TclTk and X
MPP, http://www.stack.nl/~hanwen/mpp-english.html
-Jan Nieuwenhuizen, Using TeX and the MusiXTeX macro package to
-write parts and scores of music. Department of Physics, Eindhoven
-University of Technology, 1995.
+A preprocessor to MusixTeX by Jan Nieuwenhuizen and Han-Wen Nienhuys.
+It is outdated by its successor, LilyPond.
-MusicEase, ftp://ftp.secret.com/ad-ftp
+Music, http://
-Described in Computer vol 29(6)
+A TROFF preprocessor by Eric Foxley
+MusicEase, ftp://ftp.secret.com/ad-ftp
+Described in Computer vol 29(6)
MusE
-A-R Editions, Inc.
+A-R Music Engraving, by A-R Editions, Inc. Professional engraving on
+Sun boxen.
Mup, http://www.arkkra.com/
A program which creates PS from a script input. Although it comes with
-C source code, it is Shareware ($29).
+C source code, it is Shareware ($ 29).
-PMX
+PMX, http://www.gmd.de/Misc/Music/
-Don Simons, PMX, A Preprocessor for MusiXTeX (Version 1.04).
-dsimons@logicon.com.
+A Preprocessor for MusiXTeX by Don Simons
-Musi*TeX, http://www.gmd.de/misc/music
+Musi*TeX, http://www.gmd.de/Misc/Music/
-Daniel Taupin, Ross Mitchell and Andreas Egler, MusixTeX: Using TeX
-to Write Polyphonic or Instrumental Music (Version T.64). Laboratoire
-de Physique des Solides, Centre Universitaire, Orsay, 1993.
+MusixTeX is a macro package for TeX to typeset polyphonic or
+instrumental music by Daniel Taupin, Ross Mitchell and Andreas
+Egler. It includes a font set with lots symbols
-ABC2MTeX
+ABC2MTeX, http://www.gmd.de/Misc/Music/
-Chris Walshaw, ABC2MTeX --- An easy way of transcribing folk
-and traditional music. School of Maths, University of Greenwich, 1993.
+A preprocessor to MusixTeX by Chris Walshaw for way of transcribing folk
+and traditional music.
SceX
-Miguel Filgueiras and Jos\'e Paulo Leal, A First Formulation of
-SceX, a Music Typesetting System. Centro de Inform\'atica da
-Universidade do Porto, 1993.
+A preprocessor to MusixTeX by Miguel Filgueiras. Source in prolog
+available on request. (?)
-MUTEX
+MUTEX, http://www.gmd.de/Misc/Music/
-Fran\ccois Jalbert, MuTeX User's Guide (Version 1.1). Computer
-Science Department, University of British Columbia, 1989.
+A TeX macro package for typesetting single-staff music by Angelika
+Schofer & Andrea Steinbach. With some fonts
=head2 Free (zero cents)
Calliope, http://www.cl.cam.ac.uk/users/wfc/
-A NeXT package
-
-Mozart
-
-A windows package
+A NeXT package by William F Clocksin. Requires Adobe fonts
=head2 Proprietary
Score
+Personal Composer
+
+Mozart,
+
+A shareware windows package,
+
+Capella
+
+Encore
+
Musicator
=head2 Unknown