X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=gtk2_ardour%2Faudio_streamview.h;h=93c74c5bb2bc086ec6aede0d98ab7c709bb7439f;hb=04150d80698c8756dd669b28627c53cc753e1c40;hp=b61101f78820ac5d1f3d0be1926ae0b76efb4e4d;hpb=93c7aeba048f19df5abee5e4325ef8b0ef62c279;p=ardour.git diff --git a/gtk2_ardour/audio_streamview.h b/gtk2_ardour/audio_streamview.h index b61101f788..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,55 +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 (nframes_t start, nframes_t cnt, boost::shared_ptr 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 (boost::shared_ptr, bool wait_for_waves); - void remove_region_view (boost::shared_ptr ); + + 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 remove_audio_rec_region (boost::shared_ptr); - void undisplay_diskstream (); - void redisplay_diskstream (); - void playlist_modified (); - void playlist_changed (boost::shared_ptr); + void undisplay_track (); + void redisplay_track (); + void playlist_layered (boost::weak_ptr); + void playlist_switched (boost::weak_ptr); - void add_crossfade (ARDOUR::Crossfade*); - void remove_crossfade (ARDOUR::Crossfade*); + void add_crossfade (boost::weak_ptr); + void remove_crossfade (boost::shared_ptr); - void color_handler (ColorID id, uint32_t val); - + 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; - list peak_ready_connections; - nframes_t last_rec_peak_frame; - map, bool> rec_peak_ready_map; - + std::map, bool> rec_data_ready_map; + + bool outline_region; }; #endif /* __ardour_audio_streamview_h__ */