X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Finclude%2Fperformance.hh;h=f9c53ff2e85e7baa70007deb34e59c18d5697d28;hb=0b25807868f2e1f3372a8fb5e19d9036dec53ecc;hp=a98133fc1e9be9e4ae7a6b12f0ec766e5b93272e;hpb=fd58a98a46a3def26b80a895f1f7b81c92590fc3;p=lilypond.git diff --git a/lily/include/performance.hh b/lily/include/performance.hh index a98133fc1e..f9c53ff2e8 100644 --- a/lily/include/performance.hh +++ b/lily/include/performance.hh @@ -1,37 +1,55 @@ /* - performance.hh -- declare Performance + This file is part of LilyPond, the GNU music typesetter. - (c) 1997--2003 Jan Nieuwenhuizen - */ + Copyright (C) 1997--2015 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 PERFORMANCE_HH #define PERFORMANCE_HH -#include "parray.hh" -#include "lily-proto.hh" -#include "cons.hh" +#include "std-vector.hh" #include "music-output.hh" -/** all stuff which goes onto midi. notes, signs, symbols in a score - #Performance# contains the items, the columns. - */ - -class Performance : public Music_output { +/* MIDI output. */ +class Performance : public Music_output +{ public: - Performance (); + Performance (bool ports = false); ~Performance (); + DECLARE_CLASSNAME (Performance); + + SCM get_header () const; + void set_header (SCM header); + + virtual void derived_mark () const; - void add_element (Audio_element*p); - - void output (Midi_stream& midi_stream_r); - void output_header_track (Midi_stream& midi_stream_r); + void add_element (Audio_element *p); + virtual void process (); + void remap_grace_durations (); + void output (Midi_stream &midi_stream, const string &performance_name) const; + void output_header_track (Midi_stream &midi_stream) const; void print () const; - void process (String); + void write_output (string filename, const string &performance_name) const; - Link_array audio_staffs_; - Cons *audio_elem_p_list_; - Midi_def * midi_; + vector audio_staffs_; + vector audio_elements_; + Output_def *midi_; + bool ports_; + SCM header_; }; -#endif // PERFORMANCE_HH +#endif /* PERFORMANCE_HH */