X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=gtk2_ardour%2Faudio_streamview.h;h=ba118190da2273e981360ed970cbae864976ff9e;hb=927a33c5f3a0f67adea222aad34bbf435c61f6ca;hp=d7f0c2571e5521a68a5a4367ee815534645e92eb;hpb=458c588e2c7dfe7c0e62647fb5e0d0c06cdf8f04;p=ardour.git diff --git a/gtk2_ardour/audio_streamview.h b/gtk2_ardour/audio_streamview.h index d7f0c2571e..ba118190da 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,9 +25,9 @@ #include -#include +#include "ardour/location.h" +#include "point_selection.h" #include "editing.h" -#include "simplerect.h" #include "streamview.h" namespace Gdk { @@ -35,12 +35,10 @@ namespace Gdk { } namespace ARDOUR { - class Route; - class Diskstream; - class Crossfade; - class PeakData; class AudioRegion; + class Route; class Source; + struct PeakData; } class PublicEditor; @@ -48,77 +46,41 @@ class Selectable; class AudioTimeAxisView; class AudioRegionView; class RegionSelection; -class CrossfadeView; class Selection; class AudioStreamView : public StreamView { - public: +public: AudioStreamView (AudioTimeAxisView&); - ~AudioStreamView (); - - 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); 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&); + std::pair, std::list > hide_xfades_with (boost::shared_ptr ar); - private: + RegionView* create_region_view (boost::shared_ptr, bool, bool); + void set_selected_points (PointSelection&); + +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 rec_peak_range_ready (samplepos_t start, ARDOUR::samplecnt_t cnt, boost::weak_ptr src); + void update_rec_regions (ARDOUR::samplepos_t, ARDOUR::samplecnt_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_weak (boost::weak_ptr); - void playlist_modified (boost::shared_ptr); - void playlist_changed_weak (boost::weak_ptr); - void playlist_changed (boost::shared_ptr); - - void add_crossfade (boost::shared_ptr); - void add_crossfade_weak (boost::weak_ptr); - void remove_crossfade (boost::shared_ptr); + void redisplay_track (); void color_handler (); - void update_contents_height (); - double _amplitude_above_axis; - - typedef list CrossfadeViewList; - CrossfadeViewList crossfade_views; - bool crossfades_visible; - - std::list rec_data_ready_connections; - nframes_t last_rec_data_frame; - map, bool> rec_data_ready_map; + std::map, bool> rec_data_ready_map; bool outline_region; - - Editing::WaveformShape _waveform_shape; - Editing::WaveformScale _waveform_scale; }; #endif /* __ardour_audio_streamview_h__ */