[all pages:] introduction tscore cwn mugraph signal score2sig utilities references file_tscore_umod file_mugraph_umod


go one page back go to start go to start
file_tscore_umod bandm models of music

APPENDIX: The umod Model Definition File for the Model Elements of the muGraph Input Syntax



The following text shows the model definition following the umod syntax of the input data structures to the muGraph Music Rendering Machine.

MODEL MuGraph =
  DOCU "Generic graphic back-end for music rendering."

  VISITOR 0 MultiVisit  MULTIPHASE ; 
  VISITOR 0 Visitor  ; 
  VISITOR 0 Dump    IS PRINTER ; 


  EXT object = java.lang.Object
  EXT bigdecimal = java.math.BigDecimal

  EXT docid = eu.bandm.tools.message.XMLDocumentIdentifier 
  EXT location = eu.bandm.tools.message.Location<docid>
  EXT rational = eu.bandm.tools.util.Rational 

  EXT SOURCE Extension =  eu.bandm.music.mugraph.Extension
  EXT SOURCE GlyphWrapper =  eu.bandm.music.mugraph.GlyphWrapper


ENUM Halign = left, middle, right 
  
ENUM BarLineType = spontanuous, recurringStart, recurringEnd 

TOPLEVEL CLASS
  GraphicObject
	location	OPT location
	rawExtension	ABSTRACT GETTER Extension 
	semantics	OPT object
        JAVA public void doPrint (final Printer pr,
				  final eu.bandm.music.mugraph.Renderer.RunningPrefix p,
				  final int debugLevel,
				  final int pos,
                                  final float x, 
				  final float aux,
				  final float y, 
				  final float dist){
	  throw new UnsupportedOperationException(" doPrint(..) in "+this);
         }$$

  | Visible
        logicalColor	int = "0"
	logicalSize	int = "0"
	glyph		OPT GlyphWrapper
        JAVA public void doPrint (final Printer pr,
				  final eu.bandm.music.mugraph.Renderer.RunningPrefix p,
				  final int debugLevel,
				  final int pos,
                                  final float x, final float aux,
				  final float y, final float dist){
           if (glyph!=null){
             glyph.draw(pr.gr(), p, debugLevel, pos, this, x, y, dist);
	     if (debugLevel>10)
	       pr.drawExtension(p.seg.getExtension(pos, this), 
                                x, y, java.awt.Color.YELLOW, true);
           }
           else {
             final Extension ext = p.seg.getExtension(pos, this);
	     pr.drawExtension(ext, x, y, java.awt.Color.RED,false);
           }
         }$$

  | | Score
	staves		SEQ Staff		! V 0/1 ; 
	start		OPT bigdecimal 

  | | Staff
	ident		OPT string              ! C 0/0 ; 
	contents	SEQ GraphicObject	! V 0/1 ; 

  | | TimedObject
	  when		rational		! C 0/0 ; 
  | | | Chord
	  accidentals   MAP int TO Accidental	! V 0/1 R ; 
	  left		MAP int TO NoteHead	! V 0/2 R ; 
          right         MAP int TO NoteHead	! V 0/3 R ; 
          dots          MAP int TO int
          ties          MAP int TO bool	
          stemUp	OPT Stem 		! V 0/4 ; 
          stemDown	OPT Stem		! V 0/5 ; 
  | | | Cluster
          lefts		SEQ Chord		!        V 0/0 ;
	  middle	Chord			! C 0/1  V 0/1 ;	
	  rights	SEQ Chord		!        V 0/2 ; 
  | | | Rest
          position	OPT int			! C 0/1 ;  
	  dots		int			! C 0/2 ; 
	  wholeMeasure	bool			! C 0/3 ; 

  | | | TextEvent
	  halign	Halign = "Halign.left" 

  | | | GraphicEvent

  | | Label
          text		string		! C 0/0 ; 
	  fontIndex	int             ! C 0/1 ; 

  | | StaffLines
	  positionFactors	SEQ float	! C 0/1 ; 
	  lineWidth		OPT SEQ float	! C 0/2 ; 
	  logColors		OPT SEQ int	! C 0/3 ; 
	  logLineTypes		OPT SEQ int	
	  automatedLedgers	bool = "true"

  | | Prepended
  | | |  GraceGroup
		contents	SEQ TimedObject 
  | | |  ClefPrint
		pos	int		! C 0/1 ; 
		name	ABSTRACT string 
  | | |  MetricPrint
		fontIndex	int = "0"
  | | |  KeyPrint
		accidentals	MAP int TO Accidental 
		prefixOnly	bool = "false"

  | | BarLine
		type		BarLineType		! C 0/0 ; 
		when		OPT rational		! C 0/1 ; 
		ranges		SEQ BarLineRange	

  | | Floating
  | | |  FloatingOne
		reference	TimedObject		! C 0/0;
  | | |  FloatingTwo
		reference	TimedObject		! C 0/0;
		reference2	TimedObject		! C 0/1;
  | | |  FloatingMulti
		references	SEQ TimedObject	
  | | | | Beam
		 
  | | NoteHead
			   
  | | Accidental
	prependNatural	bool		! C 0/0;
	inParentheses   bool		! C 0/1;

  | | Stem
	length		OPT float	! C 0/0 1/0 2/0 ;
	beamGroup	OPT int		! C 0/1 1/1 2/1 ;
	flags		int = "0"       ! C     1/2 ; 
	leftLong	int = "0"	! C     1/3 ; 
	leftShort	int = "0"	! C     1/4 ; 
	rightLong	int = "0"	! C     1/5 ; 
	rightShort	int = "0"	! C     1/6 ; 
	crossed		bool = "false"	! C         2/2 ; 
	tremoli		int = "0"	! C         2/3 ; 




  | MeasureMark
	when		rational	! C 0/0 ; 
  	barNumber	OPT bigdecimal	! C 0/1 ; 

  | MinDistance
  | MinHeight
	
TOPLEVEL CLASS
  BarLineRange 
	       from	Staff		! C 0/1 ; 
	       fromTop	bool		! C 0/2 ; 
	       to	Staff		! C 0/3 ; 
	       toBottom bool		! C 0/4 ; 
END MODEL

 




[all pages:] introduction tscore cwn mugraph signal score2sig utilities references file_tscore_umod file_mugraph_umod


go one page back go to start go to start
file_tscore_umod bandm models of music

made    2016-07-01_17h17   by    lepper   on    linux-q699.site        Valid XHTML 1.0 Transitional Valid CSS 2.1

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