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);
        }