[all pages:] introduction tscore cwn mugraph signal score2sig utilities references file_tscore_umod file_mugraph_umod
references | bandm models of music | file_mugraph_umod |
APPENDIX: The umod Model Definition File for the Model Elements of the "Raw" tscore Model Layer
The following text shows the model definition following the umod syntax of the "raw" tscore layer.
MODEL TScore = DOC Generic score model for denotating time-based sequences of arbitrary events. All tscore packages are intended for, but not restricted, to conventional music notation. <br/>See also the <a href='{@docRoot}/../usage/tscore.html'> user documentation</a>. $$ VISITOR 0 Match MULTIPHASE ; VISITOR 0 SingleMatch ; VISITOR 0 Dump IS PRINTER ; EXT location = eu.bandm.tools.message.Location<eu.bandm.tools.message.XMLDocumentIdentifier> TOPLEVEL CLASS Container conform OPT string timeless string -> string | TimeScape tpTops string -> TpTop parts string <-> Part ! V 0/0 ; voices string -> Vox voicesBySource SEQ Vox | Part context TimeScape ! C 1/0; location location ! C 1/1; name string ! C 1/2; voices string -> Vox ! V 0/0 ; voicesBySource SEQ Vox tlines SEQ SEQ TpTop JAVA public static final String timeline_pseudo_voice = "$timeline" ; $$ JAVA public @eu.bandm.tools.annotations.Opt String getTimeless (final String key){ ///**/System.err.println(" trying "+key+" --->"+timeless.get(key)); if (timeless.containsKey(key)) return (timeless.get(key)); ///**/System.err.println(" CONTEXT --->"+context.timeless.get(key)); return context.timeless.get(key); }$$ | Vox context TimeScape ! C 0/0; name string ! C 0/1; events SET Event ! V 0/0; sortedByStart Tp -> Event sortedBySource SEQ Event eventSets string -> EventSet parameterNames SET string JAVA public Event newEvent (final eu.bandm.tools.message.Location <eu.bandm.tools.message.XMLDocumentIdentifier> loc, final Tp when){ final Event newEvent = new Event (loc, this, when); get_sortedBySource().add(newEvent); get_sortedByStart().put(when, newEvent); get_events().add(newEvent); return newEvent ; }$$ TDivision from Tp ! C 0/0 ; upto Tp ! C 0/1 ; defByEvent bool ! C 0/2; points SEQ TpSub TOSTRING JAVA return ""+from+"=>"+upto+"/"+points.size()+"" ; $$ JAVA public Tp getTp (int num){ if (num==0) return from; final int cnt = points.size(); if (num==cnt) return upto; else if (num>0 && num<cnt) return points.get(num); else throw new IllegalArgumentException ("timepoint with index " +num+" not known in "+this); } public int get_depth(){ return Math.max(from.get_depth(), upto.get_depth()) + 1 ; } public int get_count(){ return points.size(); } $$ Tp ABSTRACT divisions Tp -> (int-> TDivision) ! V 0 ; location OPT location ! C 0/0; defByEvent ABSTRACT GETTER bool JAVA public TDivision makeDivision(Tp tp, int cnt, boolean defByEvent){ if (containsKey_divisions(tp,cnt)) return divisions.get(tp).get(cnt); TDivision d = new TDivision(this, tp, defByEvent); put_divisions(tp, cnt, d); for ( int i=0;i<cnt;i++) d.points.add(new TpSub((Location<XMLDocumentIdentifier>)null, d,i,defByEvent)); return d; } abstract int get_depth(); $$ | TpTop absTime_text string ! C 0/1; defByEvent bool = "false" depth int = "0" TOSTRING JAVA return absTime_text; $$ | TpSub division TDivision ! C 0/1; TOSTRING JAVA return "(/"+division+"#"+pos+")" ; $$ pos int ! C 0/2; defByEvent bool ! C 0/3; JAVA public int get_depth(){ return division.get_depth(); } $$ Event location location ! C 0/0; voice Vox ! C 0/1; when Tp ! C 0/2; upto OPT Tp containedIn SET EventSet params string -> SEQ (location * string) JAVA public static final String main_parameter_name = "$main" ; $$ JAVA public static final String when_parameter_name = "$when" ; $$ EventSet name string ! C 0/0 1/0 ; events SET Event startText OPT string ! C 1/1 ; endText OPT string constructionSequence SEQ Event overlapping OPT bool hasgaps OPT bool voices OPT SET Vox TOSTRING JAVA return "{EVENT SET \""+name+"\" ,events = "+ constructionSequence +" start/endText = \""+startText+"\"/\""+endText+"\" }" ; $$ JAVA public void add (Event ev){ events.add(ev); constructionSequence.add(ev); ev.containedIn.add(this); }$$ END MODEL |
[all pages:] introduction tscore cwn mugraph signal score2sig utilities references file_tscore_umod file_mugraph_umod
references | bandm models of music | file_mugraph_umod |
made
2019-11-13_08h41 by
lepper on
linux-q699.site
produced with
eu.bandm.metatools.d2d
and
XSLT
FYI view
page d2d source text