[all pages:] introduction tscore cwn mugraph sigadlib signal score2sig utilities references [site map]



All pages: introduction tscore cwn mugraph sigadlib signal score2sig utilities references [site map]



go one page back go to start go to start go one page ahead
cwn BandM muSig sigadlib

bandm muGraph, a rendering machine for music-like structures



1 Intentions and Areas of Application

muGraph is an interpreter for rendering and printing "score-like" structures in the tradition of CWN sheet music. Nevertheless, it tries to be utmost generic and customizable w.r.t. user definable graphems, syntax and arrangement.
It is intended as a back-end of algorithmic composition, but can of course also be taken as the back-end of some future notation program.

The main features can be summarized as follows:

  1. Realization as a Java library, interpreting a Java data structure with algebraic semantics.
  2. Multi-phase approach: first horizontal rendering and line break, then page break, finally printing. Each phase can be called independently.
  3. Abstracting from music semantics as far as possible.
  4. Fully parametrizable.
  5. Extendable by deriving user classes with different render and print behaviour.

The following text explains the basic data structures. It should be read in combination with the API doc of the packages muGraph and muGraphX.

2 Basic Input Data Structures

The input to muGraph is always an instance of the data model as defined in the umod source MuGraph.umod .

The top most object is always a Score .

A Score always consists of a sequence (ordered collection) of Staff objects (also called "Staves" in human language texts!-)

Each Staff contains a sequence, mixed from the following kinds of objects:

  1. MeasureMark --- identify the point where a new measure starts, and give the number of this measure.
  2. BarLine --- draw a (simple or complicated) line which runs 90 degrees across the staves.
  3. StaffLines --- draws the lines which make up the staves, in the convenional sense.
  4. TimedObjects --- Pauses, Notes, Chords, but also sung Syllables, which are positioned horizontally according to their point in time.
  5. Prepended --- Objects which are printed relative to TimedObject, e.g. a pre-pended clef change, or an arriving glissando curve.
  6. Floating --- Objects which are positioned relative to one or more (>=1) TimedObjects, like accents, or intensity, or slurs, or crescendo forks.

The sequential order in this list reflects roughly the order of evaluation, whenver a Score shall be printed.

3 Processing and Auxiliary Data Structures

4 User Extensions

5 Current State of the Implementation

JUST STARTED




go one page back go to start go to start go one page ahead
cwn BandM muSig sigadlib

made    2024-09-01_10h38   by    lepper   on    happy-ubuntu        Valid XHTML 1.0 Transitional Valid CSS 2.1

produced with eu.bandm.metatools.d2d    and    XSLT    FYI view page d2d source text