X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=gtk2_ardour%2Faudio_region_view.h;h=9dc7e507a14aa6526a389c38bcc19efb8fc50696;hb=4901f9d1d20ea5878b34db025a3dc305d3a78c2e;hp=f7b8404d7b7c9bb768ac75a1a7ad7d7493a97cbe;hpb=73192bc1a7ea55fa1864dc3826845b15c00dd2ec;p=ardour.git diff --git a/gtk2_ardour/audio_region_view.h b/gtk2_ardour/audio_region_view.h index f7b8404d7b..9dc7e507a1 100644 --- a/gtk2_ardour/audio_region_view.h +++ b/gtk2_ardour/audio_region_view.h @@ -61,7 +61,6 @@ class AudioRegionView : public RegionView bool recording, TimeAxisViewItem::Visibility); - AudioRegionView (const AudioRegionView& other); AudioRegionView (const AudioRegionView& other, boost::shared_ptr); ~AudioRegionView (); @@ -88,12 +87,11 @@ class AudioRegionView : public RegionView bool waveform_rectified() const { return _flags & WaveformRectified; } bool waveform_logscaled() const { return _flags & WaveformLogScaled; } bool waveform_visible() const { return _flags & WaveformVisible; } - bool envelope_visible() const { return _flags & EnvelopeVisible; } void add_gain_point_event (ArdourCanvas::Item *item, GdkEvent *event); void remove_gain_point_event (ArdourCanvas::Item *item, GdkEvent *event); - AudioRegionGainLine* get_gain_line() const { return gain_line; } + boost::shared_ptr get_gain_line() const { return gain_line; } void region_changed (const PBD::PropertyChange&); void envelope_active_changed (); @@ -102,13 +100,13 @@ class AudioRegionView : public RegionView void reset_fade_in_shape_width (framecnt_t); void reset_fade_out_shape_width (framecnt_t); - + void show_fade_line(framepos_t pos); void hide_fade_line(); - + void set_fade_visibility (bool); void update_coverage_frames (LayerDisplay); - + void update_transient(float old_pos, float new_pos); void remove_transient(float pos); @@ -125,34 +123,32 @@ class AudioRegionView : public RegionView to specify their visibility requirements to the TimeAxisViewItem parent class */ - + enum Flags { - EnvelopeVisible = 0x1, WaveformVisible = 0x4, WaveformRectified = 0x8, WaveformLogScaled = 0x10, }; - + std::vector waves; std::vector tmp_waves; ///< see ::create_waves() - - std::list > feature_lines; - + + std::list > feature_lines; + ArdourCanvas::Polygon* sync_mark; ///< polgyon for sync position - ArdourCanvas::SimpleLine* zero_line; ArdourCanvas::Polygon* fade_in_shape; ArdourCanvas::Polygon* fade_out_shape; ArdourCanvas::SimpleRect* fade_in_handle; ///< fade in handle, or 0 ArdourCanvas::SimpleRect* fade_out_handle; ///< fade out handle, or 0 ArdourCanvas::SimpleLine* fade_position_line; - - AudioRegionGainLine * gain_line; - + + boost::shared_ptr gain_line; + double _amplitude_above_axis; - + uint32_t _flags; uint32_t fade_color; - + void reset_fade_shapes (); void reset_fade_in_shape (); void reset_fade_out_shape (); @@ -160,34 +156,33 @@ class AudioRegionView : public RegionView void fade_out_changed (); void fade_in_active_changed (); void fade_out_active_changed (); - + void region_resized (const PBD::PropertyChange&); void region_muted (); void region_scale_amplitude_changed (); void region_renamed (); - + void create_one_wave (uint32_t, bool); - void manage_zero_line (); void peaks_ready_handler (uint32_t); void set_flags (XMLNode *); void store_flags (); - + void set_colors (); void compute_colors (Gdk::Color const &); void reset_width_dependent_items (double pixel_width); void set_waveview_data_src(); void set_frame_color (); - + void color_handler (); - + std::vector wave_caches; - + void transients_changed(); - + private: - + void setup_fade_handle_positions (); - + /** A ScopedConnection for each PeaksReady callback (one per channel). Each member * may be 0 if no connection exists. */