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; }
public MmlSemanticTreeBuilder(MmlTokenSet tokenSet) { if (tokenSet == null) throw new ArgumentNullException ("tokenSet"); token_set = tokenSet; result = new MmlSemanticTreeSet () { BaseCount = tokenSet.BaseCount }; }