X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=gtk2_ardour%2Faudio_streamview.h;h=93c74c5bb2bc086ec6aede0d98ab7c709bb7439f;hb=04150d80698c8756dd669b28627c53cc753e1c40;hp=cf66637b9b2efc6d458df474dc665a4b0e13ecfa;hpb=25d1670a61d19e795227b939a98be9cf5a050c67;p=ardour.git diff --git a/gtk2_ardour/audio_streamview.h b/gtk2_ardour/audio_streamview.h index cf66637b9b..93c74c5bb2 100644 --- a/gtk2_ardour/audio_streamview.h +++ b/gtk2_ardour/audio_streamview.h @@ -1,5 +1,5 @@ /* - Copyright (C) 2001, 2006 Paul Davis + Copyright (C) 2001, 2006 Paul Davis This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -23,10 +23,11 @@ #include #include -#include -#include "enums.h" +#include + +#include "ardour/location.h" +#include "editing.h" #include "simplerect.h" -#include "color.h" #include "streamview.h" namespace Gdk { @@ -35,7 +36,6 @@ namespace Gdk { namespace ARDOUR { class Route; - class Diskstream; class Crossfade; class PeakData; class AudioRegion; @@ -56,49 +56,60 @@ class AudioStreamView : public StreamView AudioStreamView (AudioTimeAxisView&); ~AudioStreamView (); - void set_waveform_shape (WaveformShape); - - int set_height (gdouble h); int set_samples_per_unit (gdouble spp); int set_amplitude_above_axis (gdouble app); gdouble get_amplitude_above_axis () { return _amplitude_above_axis; } void set_show_waveforms (bool yn); - void set_show_waveforms_recording (bool yn) { use_rec_regions = yn; } void foreach_crossfadeview (void (CrossfadeView::*pmf)(void)); + void show_all_fades (); + void hide_all_fades (); + void show_all_xfades (); void hide_all_xfades (); void hide_xfades_involving (AudioRegionView&); void reveal_xfades_involving (AudioRegionView&); + RegionView* create_region_view (boost::shared_ptr, bool, bool); + private: void setup_rec_box (); - void rec_peak_range_ready (jack_nframes_t start, jack_nframes_t cnt, ARDOUR::Source* src); + void rec_peak_range_ready (nframes_t start, nframes_t cnt, boost::weak_ptr src); void update_rec_regions (); - - void add_region_view_internal (ARDOUR::Region*, bool wait_for_waves); - void remove_region_view (ARDOUR::Region* ); - void remove_audio_region_view (ARDOUR::AudioRegion* ); - void remove_audio_rec_region (ARDOUR::AudioRegion*); - - void undisplay_diskstream (); - void redisplay_diskstream (); - void playlist_modified (); - void playlist_changed (boost::shared_ptr); - - void add_crossfade (ARDOUR::Crossfade*); - void remove_crossfade (ARDOUR::Crossfade*); - - void color_handler (ColorID id, uint32_t val); - + + RegionView* add_region_view_internal (boost::shared_ptr, bool wait_for_waves, bool recording = false); + void remove_region_view (boost::weak_ptr ); + void remove_audio_region_view (boost::shared_ptr ); + + void undisplay_track (); + void redisplay_track (); + void playlist_layered (boost::weak_ptr); + void playlist_switched (boost::weak_ptr); + + void add_crossfade (boost::weak_ptr); + void remove_crossfade (boost::shared_ptr); + + void color_handler (); + + void update_contents_height (); + void update_content_height (CrossfadeView *); + + void parameter_changed (std::string const &); + void set_waveform_shape (ARDOUR::WaveformShape); + void set_waveform_scale (ARDOUR::WaveformScale); + double _amplitude_above_axis; - - typedef list CrossfadeViewList; + + typedef std::map, CrossfadeView*> CrossfadeViewList; CrossfadeViewList crossfade_views; bool crossfades_visible; + + std::map, bool> rec_data_ready_map; + + bool outline_region; }; #endif /* __ardour_audio_streamview_h__ */