X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=gtk2_ardour%2Faudio_streamview.h;h=8e9b095537d47e6f4e0d8725c9ec7b321f8be24c;hb=e466ce40ad1ba591543020cb7c0aa15dbebef81e;hp=05ce8125f618d514b155851076b5d808f80b769c;hpb=79986643c0c904f6574bb5323e2233a43a9e622e;p=ardour.git diff --git a/gtk2_ardour/audio_streamview.h b/gtk2_ardour/audio_streamview.h index 05ce8125f6..8e9b095537 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,10 @@ #include #include -#include -#include "enums.h" -#include "simplerect.h" -#include "color.h" +#include + +#include "ardour/location.h" +#include "editing.h" #include "streamview.h" namespace Gdk { @@ -34,12 +34,10 @@ namespace Gdk { } namespace ARDOUR { - class Route; - class Diskstream; - class Crossfade; - class PeakData; class AudioRegion; + class Route; class Source; + struct PeakData; } class PublicEditor; @@ -47,64 +45,40 @@ class Selectable; class AudioTimeAxisView; class AudioRegionView; class RegionSelection; -class CrossfadeView; class Selection; class AudioStreamView : public StreamView { public: 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 show_all_fades (); + void hide_all_fades (); - void foreach_crossfadeview (void (CrossfadeView::*pmf)(void)); + std::pair, std::list > hide_xfades_with (boost::shared_ptr ar); - 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 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 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); - void undisplay_diskstream (); - void redisplay_diskstream (); - void playlist_modified (); - void playlist_changed (ARDOUR::Diskstream *ds); + RegionView* add_region_view_internal (boost::shared_ptr, bool wait_for_waves, bool recording = false); + void remove_audio_region_view (boost::shared_ptr ); - void add_crossfade (ARDOUR::Crossfade*); - void remove_crossfade (ARDOUR::Crossfade*); + void redisplay_track (); - void color_handler (ColorID id, uint32_t val); - + void color_handler (); double _amplitude_above_axis; - - typedef list CrossfadeViewList; - CrossfadeViewList crossfade_views; - bool crossfades_visible; - - list peak_ready_connections; - jack_nframes_t last_rec_peak_frame; - map rec_peak_ready_map; - + + std::map, bool> rec_data_ready_map; + + bool outline_region; }; #endif /* __ardour_audio_streamview_h__ */