public MmlResolvedTrack(int number, MmlSemanticTreeSet source)
 {
     Number = number;
     Events = new List<MmlResolvedEvent> ();
     Macros = new Hashtable ();
     foreach (var m in source.Macros)
         if (m.TargetTracks == null || m.TargetTracks.Contains (number))
             Macros [m.Name] = m; // possibly overwrite.
 }
 public MmlResolveContext(MmlSemanticTreeSet song, MmlResolveContext globalContext)
 {
     GlobalContext = globalContext;
     SourceTree = song;
     MacroArguments = new Hashtable ();
     Values = new Dictionary<MmlSemanticVariable,object> ();
     Loops = new Stack<Loop> ();
 }
 MmlEventStreamGenerator(MmlSemanticTreeSet source)
 {
     this.source = source;
     result = new MmlResolvedMusic () { BaseCount = source.BaseCount };
 }
 public static MmlResolvedMusic Generate(MmlSemanticTreeSet source)
 {
     var gen = new MmlEventStreamGenerator (source);
     gen.Generate ();
     return gen.result;
 }
Esempio n. 5
0
 public MmlSemanticTreeBuilder(MmlTokenSet tokenSet)
 {
     if (tokenSet == null)
         throw new ArgumentNullException ("tokenSet");
     token_set = tokenSet;
     result = new MmlSemanticTreeSet () { BaseCount = tokenSet.BaseCount };
 }