public ScoreControl(IUnityContainer container, IOutput output, IMidiInput midiInput, IInputEvents inputEvents, IMediaServiceHost mediaServiceHost, IVirtualKeyBoard virtualKeyboard, ILogger logger, XScore musicScore) : this() { _container = container; _output = output; _intputEvents = inputEvents; _midiInput = midiInput; _virtualKeyboard = virtualKeyboard; _musicScore = musicScore; _mediaServiceHost = mediaServiceHost; _logger = logger; _updateScrollTimer = new Timer(ScrollTimerHandler, null, Timeout.Infinite, _scrollTimingPerdiod); _scoreParser = new ScoreParser(_musicScore, ScoreGrid); _scoreParser.Render(); ScoreGrid.Width = _scoreParser.GetMaxHorizontalPosition(); nextBarDetails = new BarDetails(); nextBarDetails.NoteTime = 0; nextBarDetails.XCoord = 0; _intputEvents.MessageReceived += HandleInputEvent; _midiInput.StartRecording(); ConfigureSongEventController(); }
public BasicTestControl(IUnityContainer container, IOutput output) { //XScore testMusicScore = new XScore(@".\ScoreRenderer\Examples\Dichterliebe01.xml"); //XScore testMusicScore = new XScore(@".\ScoreRenderer\Examples\LedgerTest.xml"); //XScore testMusicScore = new XScore(@".\ScoreRenderer\Examples\Scales-C-2-Hands.xml"); //XScore testMusicScore = new XScore(@".\ScoreRenderer\Examples\Promenade_Example.xml"); //XScore testMusicScore = new XScore(@".\ScoreRenderer\Examples\Simple2NoteTest.xml"); XScore testMusicScore = new XScore(@".\ScoreRenderer\Examples\Nocturne Op. 9, No. 2.xml"); //Don't like the param overrides approach... Maybe allow only 1 active score and register the instance?? _control = container.Resolve <ScoreControl>(new ParameterOverrides { { "musicScore", testMusicScore } }); }
public static void Main() { XScore xcTest = new XScore(@"C:\Users\Alex\MrKeys\ThirdParty\MusicXML.Net\Promenade_Example.xml"); foreach (Part part in xcTest.Parts) { foreach (Measure measure in part.Measures) { foreach (Note note in measure.Notes) { Console.WriteLine(note); } } } Console.ReadLine(); }
public XScoreNoteEventParser(XScore score) { this._score = score; }
public ScoreParser(XScore score, Canvas scorePanel) { this._score = score; this._scorePanel = scorePanel; }
public static Part SelectPianoPart(XScore score) { return(score.Parts.Last()); }
public MusicParser(XScore score) { this._score = score; }