public void staffInformationTest() { LilypondComposer comp = new LilypondComposer(); D_Staff staff = new D_Staff(); staff.tempo = 120; staff.clef = clef.g_key; staff.addMeasure(1, 4, 0); D_Bar bar = new D_Bar(2); bar.addNote(new D_Note(NoteLevel.A, 1, 4)); bar.addNote(new D_Note(NoteLevel.B, 1, 4)); bar.addNote(new D_Note(NoteLevel.C, 1, 5)); bar.addNote(new D_Note(NoteLevel.D, 1, 5)); staff.addBar(bar); bar = new D_Bar(2); bar.addNote(new D_Note(NoteLevel.E, 1, 5)); bar.addNote(new D_Note(NoteLevel.F, 1, 5)); bar.addNote(new D_Note(NoteLevel.G, 1, 5)); bar.addNote(new D_Note(NoteLevel.A, 1, 5)); staff.addBar(bar); bar = new D_Bar(2); bar.addNote(new D_Note(NoteLevel.B, 1, 5)); bar.addNote(new D_Note(NoteLevel.C, 1, 6)); staff.addBar(bar); Assert.AreEqual("\\relative c{\r\n\\clef treble\r\n\\tempo 4=120\r\n\\time 2/4\r\n", comp.composeLilypondFromStaff(staff)); }
private void btnShowContentClick(object sender, RoutedEventArgs e) { string filename = txt_SongFilePath.Text; string extension = System.IO.Path.GetExtension(filename); switch (extension) { case ".mid": showMidiTracks(MidiReader.ReadMidi(filename)); D_Staff midi_staff = MidiParser.getInstance().parseFile(filename); string converted_lilypond = LilypondComposer.getInstance().composeLilypondFromStaff(midi_staff); this.editor.setText(converted_lilypond); this.editor.enable(); break; case ".ly": this.editor.enable(); this.editor.setFileName(filename); this.editor.readFile(); //this.songData = LilypondParser.getInstance().parseFile(filename); break; default: Console.WriteLine("I can't parse " + extension); break; } this.updateNoteViewer(); }
protected override Composition CreateComposition(string lilypondText) { var tokenizer = new LilypondTokenizer(); var lilypondTokens = tokenizer.Read(lilypondText); var composer = new LilypondComposer(); var composition = composer.Compose(lilypondTokens); return(composition); }