X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Finclude%2Faudio-item.hh;h=45dcc7b7991f6b486fbd1f8c284cafa0f56bbf61;hb=32a34dcef0c0041c6d62677487a380b5c8b85712;hp=3230e5ce4839bac468aea840ccf05e02076ad5b9;hpb=86fcede8899ba1abd58db8afe7e1e537bec80c30;p=lilypond.git diff --git a/lily/include/audio-item.hh b/lily/include/audio-item.hh index 3230e5ce48..45dcc7b799 100644 --- a/lily/include/audio-item.hh +++ b/lily/include/audio-item.hh @@ -1,7 +1,20 @@ /* - audio-item.hh -- declare Audio_items + This file is part of LilyPond, the GNU music typesetter. - (c) 1996--2007 Jan Nieuwenhuizen + Copyright (C) 1996--2012 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 AUDIO_ITEM_HH @@ -14,12 +27,14 @@ class Audio_item : public Audio_element { public: - Audio_item (); Audio_column *audio_column_; + int channel_; + + Audio_item (); Audio_column *get_column () const; virtual void render (); - + private: Audio_item (Audio_item const &); Audio_item &operator = (Audio_item const &); @@ -31,21 +46,22 @@ public: Audio_dynamic (); Real volume_; + bool silent_; }; class Audio_span_dynamic : public Audio_element { public: Direction grow_dir_; - vector dynamics_; - + vector dynamics_; + Real min_volume_; + Real max_volume_; virtual void render (); - void add_absolute (Audio_dynamic*); - Audio_span_dynamic (); + void add_absolute (Audio_dynamic *); + Audio_span_dynamic (Real min_volume, Real max_volume); }; - class Audio_key : public Audio_item { public: @@ -68,12 +84,14 @@ class Audio_note : public Audio_item public: Audio_note (Pitch p, Moment m, bool tie_event, Pitch transposition); - void tie_to (Audio_note *); + // with tieWaitForNote, there might be a skip between the tied notes! + void tie_to (Audio_note *, Moment skip = 0); Pitch pitch_; Moment length_mom_; Pitch transposing_; - + Audio_dynamic *dynamic_; + Audio_note *tied_; bool tie_event_; }; @@ -89,10 +107,10 @@ class Audio_text : public Audio_item { public: enum Type - { - TEXT = 1, COPYRIGHT, TRACK_NAME, INSTRUMENT_NAME, LYRIC, - MARKER, CUE_POINT - }; + { + TEXT = 1, COPYRIGHT, TRACK_NAME, INSTRUMENT_NAME, LYRIC, + MARKER, CUE_POINT + }; Audio_text (Audio_text::Type type, string text_string);