X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=gtk2_ardour%2Faudio_streamview.h;h=85055249c5fc8eba9ed3f32e54368e73f6ac18fd;hb=beb3eea62bf217d0a7b2a86a96d5c375329df10a;hp=d05ecd930796ffc82eb7442854b33adcd2c3efaf;hpb=60454cc8dc1ca5e1819b853b55916d52497d495c;p=ardour.git diff --git a/gtk2_ardour/audio_streamview.h b/gtk2_ardour/audio_streamview.h index d05ecd9307..85055249c5 100644 --- a/gtk2_ardour/audio_streamview.h +++ b/gtk2_ardour/audio_streamview.h @@ -23,10 +23,11 @@ #include #include +#include + #include -#include "enums.h" +#include "editing.h" #include "simplerect.h" -#include "color.h" #include "streamview.h" namespace Gdk { @@ -56,13 +57,14 @@ class AudioStreamView : public StreamView AudioStreamView (AudioTimeAxisView&); ~AudioStreamView (); - void set_waveform_shape (WaveformShape); - - int set_height (gdouble h); + void set_waveform_shape (Editing::WaveformShape); + Editing::WaveformShape get_waveform_shape () const { return _waveform_shape; } + void set_waveform_scale (Editing::WaveformScale); + Editing::WaveformScale get_waveform_scale () const { return _waveform_scale; } int set_samples_per_unit (gdouble spp); - int set_amplitude_above_axis (gdouble app); + int set_amplitude_above_axis (gdouble app); gdouble get_amplitude_above_axis () { return _amplitude_above_axis; } void set_show_waveforms (bool yn); @@ -70,6 +72,9 @@ class AudioStreamView : public StreamView 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&); @@ -77,35 +82,42 @@ class AudioStreamView : public StreamView 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*); + 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_diskstream (); void redisplay_diskstream (); - void playlist_modified (); - void playlist_changed (ARDOUR::Diskstream *ds); + void playlist_modified_weak (boost::weak_ptr); + void playlist_modified (boost::shared_ptr); + void playlist_changed (boost::shared_ptr); - bool crossfades_visible; - void add_crossfade (ARDOUR::Crossfade*); - void remove_crossfade (ARDOUR::Crossfade*); + void add_crossfade (boost::shared_ptr); + void add_crossfade_weak (boost::weak_ptr); + void remove_crossfade (boost::shared_ptr); - void color_handler (ColorID id, uint32_t val); - + void color_handler (); + void update_contents_height (); + + double _amplitude_above_axis; + typedef list CrossfadeViewList; CrossfadeViewList crossfade_views; + bool crossfades_visible; - double _amplitude_above_axis; - list peak_ready_connections; - jack_nframes_t last_rec_peak_frame; - map rec_peak_ready_map; - + std::list rec_data_ready_connections; + nframes_t last_rec_data_frame; + map, bool> rec_data_ready_map; + + bool outline_region; + + Editing::WaveformShape _waveform_shape; + Editing::WaveformScale _waveform_scale; }; #endif /* __ardour_audio_streamview_h__ */