X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=gtk2_ardour%2Faudio_streamview.h;h=0c50986f9383fe832a3467255246eb395ce15f59;hb=718b2eab6706f304e398f036e3d817567cd746e8;hp=b3bfb65c5c409e84e5b2826fa3bb75e16651fb89;hpb=fe7c3976c9382bb9f19797034dece570eefcbf01;p=ardour.git diff --git a/gtk2_ardour/audio_streamview.h b/gtk2_ardour/audio_streamview.h index b3bfb65c5c..0c50986f93 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 @@ -25,10 +25,9 @@ #include -#include -#include "enums.h" +#include "ardour/location.h" +#include "editing.h" #include "simplerect.h" -#include "color.h" #include "streamview.h" namespace Gdk { @@ -37,7 +36,6 @@ namespace Gdk { namespace ARDOUR { class Route; - class Diskstream; class Crossfade; class PeakData; class AudioRegion; @@ -58,54 +56,61 @@ class AudioStreamView : public StreamView AudioStreamView (AudioTimeAxisView&); ~AudioStreamView (); - void set_waveform_shape (WaveformShape); - - int set_height (gdouble h); int set_samples_per_unit (gdouble spp); + void horizontal_position_changed (); 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::weak_ptr src); - void update_rec_regions (); - - void add_region_view_internal (boost::shared_ptr, bool wait_for_waves, bool watch_death); + void rec_peak_range_ready (framepos_t start, ARDOUR::framecnt_t cnt, boost::weak_ptr src); + void update_rec_regions (ARDOUR::framepos_t, ARDOUR::framecnt_t); + + 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 (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__ */