X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Finclude%2Fmidi-walker.hh;h=f23b7407e89aa8e59f05ff76fe3d307389e8e438;hb=fa2596b6ec273e7d82907f97acf0c65559b3c1b4;hp=d98d209242a0febc553c60827e124d665b7fa6a9;hpb=9d4a5bbc9687aef811a60aabd9cb839412984e96;p=lilypond.git diff --git a/lily/include/midi-walker.hh b/lily/include/midi-walker.hh index d98d209242..f23b7407e8 100644 --- a/lily/include/midi-walker.hh +++ b/lily/include/midi-walker.hh @@ -1,8 +1,21 @@ /* - midi-walker.hh -- declare Midi_walker + This file is part of LilyPond, the GNU music typesetter. - (c) 1996--2006 Han-Wen Nienhuys + Copyright (C) 1996--2015 Han-Wen Nienhuys Jan Nieuwenhuizen + + LilyPond is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + LilyPond is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with LilyPond. If not, see . */ #ifndef MIDI_WALKER_HH @@ -12,9 +25,9 @@ #include "lily-proto.hh" #include "moment.hh" -struct Midi_note_event : PQueue_ent +struct Midi_note_event : PQueue_ent { - bool ignore_b_; + bool ignore_; Midi_note_event (); }; @@ -26,24 +39,28 @@ int compare (Midi_note_event const &left, Midi_note_event const &right); class Midi_walker { public: - Midi_walker (Audio_staff *audio_staff, Midi_track *midi_track); + Midi_walker (Audio_staff *audio_staff, Midi_track *midi_track, int start_tick); ~Midi_walker (); void process (); - void operator ++ (int); + void operator ++(int); bool ok () const; + void finalize (); private: void do_start_note (Midi_note *note); - void do_stop_notes (Moment now_mom); - void output_event (Moment now_mom, Midi_item *l); - + void do_stop_notes (int); + void output_event (int, Midi_item *l); + Midi_item *get_midi (Audio_item *); Midi_track *track_; - Audio_staff *staff_; - int index_; - Link_array__Audio_item_ *items_; + bool percussion_; + bool merge_unisons_; + vsize index_; + vector items_; PQueue stop_note_queue; - Moment last_mom_; + int last_tick_; + + vector midi_events_; }; #endif // MIDI_WALKER_HH