Obey snap setting for MIDI stuff.
[ardour.git] / gtk2_ardour / audio_streamview.h
index 79aef2c042902565ef82d788ecebc7b3fe6d2461..bd56b371a3006315402c604800cc0b286d1e17e0 100644 (file)
@@ -28,7 +28,6 @@
 #include <ardour/location.h>
 #include "enums.h"
 #include "simplerect.h"
-#include "color.h"
 #include "streamview.h"
 
 namespace Gdk {
@@ -59,8 +58,10 @@ class AudioStreamView : public StreamView
        ~AudioStreamView ();
 
        void set_waveform_shape (WaveformShape);
+       WaveformShape get_waveform_shape () const { return _waveform_shape; }
+       void set_waveform_scale (WaveformScale);
+       WaveformScale get_waveform_scale () const { return _waveform_scale; }
 
-       int set_height (gdouble h);
        int set_samples_per_unit (gdouble spp);
 
        int     set_amplitude_above_axis (gdouble app);
@@ -81,25 +82,34 @@ class AudioStreamView : public StreamView
        void rec_peak_range_ready (nframes_t start, nframes_t cnt, boost::weak_ptr<ARDOUR::Source> src); 
        void update_rec_regions ();
        
-       void add_region_view_internal (boost::shared_ptr<ARDOUR::Region>, bool wait_for_waves);
+       RegionView* add_region_view_internal (boost::shared_ptr<ARDOUR::Region>, bool wait_for_waves);
        void remove_region_view (boost::weak_ptr<ARDOUR::Region> );
        void remove_audio_region_view (boost::shared_ptr<ARDOUR::AudioRegion> );
 
        void undisplay_diskstream ();
        void redisplay_diskstream ();
-       void playlist_modified ();
+       void playlist_modified_weak (boost::weak_ptr<ARDOUR::Diskstream>);
+       void playlist_modified (boost::shared_ptr<ARDOUR::Diskstream>);
        void playlist_changed (boost::shared_ptr<ARDOUR::Diskstream>);
 
-       void add_crossfade (ARDOUR::Crossfade*);
-       void remove_crossfade (ARDOUR::Crossfade*);
+       void add_crossfade (boost::shared_ptr<ARDOUR::Crossfade>);
+       void add_crossfade_weak (boost::weak_ptr<ARDOUR::Crossfade>);
+       void remove_crossfade (boost::shared_ptr<ARDOUR::Region>);
 
-       void color_handler (ColorID id, uint32_t val);
+       void color_handler ();
+
+       void update_contents_y_position_and_height ();
        
        double _amplitude_above_axis;
        
        typedef list<CrossfadeView*> CrossfadeViewList;
        CrossfadeViewList crossfade_views;
        bool              crossfades_visible;
+
+       WaveformShape     _waveform_shape;
+       WaveformScale     _waveform_scale;
+       
+       map<boost::shared_ptr<ARDOUR::Source>, bool> rec_data_ready_map;
 };
 
 #endif /* __ardour_audio_streamview_h__ */