#include <map>
#include <cmath>
+#include <boost/weak_ptr.hpp>
+
#include <ardour/location.h>
#include "enums.h"
#include "simplerect.h"
~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);
private:
void setup_rec_box ();
- void rec_peak_range_ready (nframes_t start, nframes_t cnt, boost::shared_ptr<ARDOUR::Source> src);
+ 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);
- void remove_region_view (boost::shared_ptr<ARDOUR::Region> );
+ void remove_region_view (boost::weak_ptr<ARDOUR::Region> );
void remove_audio_region_view (boost::shared_ptr<ARDOUR::AudioRegion> );
- void remove_audio_rec_region (boost::shared_ptr<ARDOUR::AudioRegion>);
void undisplay_diskstream ();
void redisplay_diskstream ();
void playlist_modified ();
- void playlist_changed (boost::shared_ptr<ARDOUR::Diskstream>);
+ void playlist_changed (boost::weak_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::Crossfade>);
void color_handler (ColorID id, uint32_t val);
list<sigc::connection> peak_ready_connections;
nframes_t last_rec_peak_frame;
map<boost::shared_ptr<ARDOUR::Source>, bool> rec_peak_ready_map;
-
+
+ WaveformShape _waveform_shape;
+ WaveformScale _waveform_scale;
};
#endif /* __ardour_audio_streamview_h__ */