private void MusicLoader_OnCompositionChanged(object sender, CompositionChangedArgs args) { var visitor = new ToMidiVisitor(); foreach (var token in args.NewComposition.Tokens) { token.Accept(visitor); } // reset sequencer with new sequence Stop(); _sequencer.Sequence = visitor.Sequence; }
public void Save(Composition composition, string filename) { var visitor = new ToMidiVisitor(); foreach (var token in composition.Tokens) { token.Accept(visitor); } var sequence = visitor.Sequence; sequence.Save(filename); }