#include <vector>
-#include <libgnomecanvasmm/libgnomecanvasmm.h>
+#include <libgnomecanvasmm.h>
#include <libgnomecanvasmm/polygon.h>
#include <sigc++/signal.h>
#include <ardour/region.h>
#include "enums.h"
#include "waveview.h"
#include "canvas.h"
+#include "color.h"
namespace ARDOUR {
class AudioRegion;
AudioTimeAxisView&,
ARDOUR::AudioRegion&,
double initial_samples_per_unit,
- double amplitude_above_axis,
- Gdk::Color& base_color,
- bool wait_for_waves);
+ Gdk::Color& basic_color);
+
~AudioRegionView ();
+ virtual void init (double amplitude_above_axis, Gdk::Color& base_color, bool wait_for_waves);
+
ARDOUR::AudioRegion& region; // ok, let 'em have it
bool is_valid() const { return valid; }
void set_valid (bool yn) { valid = yn; }
- std::string get_item_name();
void set_height (double);
void set_samples_per_unit (double);
bool set_duration (jack_nframes_t, void*);
virtual void entered ();
virtual void exited ();
- private:
+ protected:
+
+ /* this constructor allows derived types
+ to specify their visibility requirements
+ to the TimeAxisViewItem parent class
+ */
+
+ AudioRegionView (ArdourCanvas::Group *,
+ AudioTimeAxisView&,
+ ARDOUR::AudioRegion&,
+ double initial_samples_per_unit,
+ Gdk::Color& basic_color,
+ TimeAxisViewItem::Visibility);
+
enum Flags {
EnvelopeVisible = 0x1,
WaveformVisible = 0x4,
double _height;
bool in_destructor;
bool wait_for_waves;
+ sigc::connection peaks_ready_connection;
void reset_fade_shapes ();
void reset_fade_in_shape ();
void set_colors ();
void compute_colors (Gdk::Color&);
- void set_frame_color ();
+ virtual void set_frame_color ();
void reset_width_dependent_items (double pixel_width);
void set_waveview_data_src();
vector<GnomeCanvasWaveViewCache*> wave_caches;
vector<GhostRegion*> ghosts;
+
+ void color_handler (ColorID, uint32_t);
};
#endif /* __gtk_ardour_region_view_h__ */