X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=gtk2_ardour%2Fcrossfade_edit.h;h=f18b26ae8ad30262de231af77c94a0f469d30d05;hb=d53af10c9261172c57dbc66b6b4d1143b37bbcae;hp=5d9e665ba0f3f0515b3a1fe53af4402c972b97d0;hpb=75b933eadbe8f90a73a29bb207ff26eebcd4121a;p=ardour.git diff --git a/gtk2_ardour/crossfade_edit.h b/gtk2_ardour/crossfade_edit.h index 5d9e665ba0..f18b26ae8a 100644 --- a/gtk2_ardour/crossfade_edit.h +++ b/gtk2_ardour/crossfade_edit.h @@ -44,12 +44,15 @@ namespace ArdourCanvas { class Rectangle; class Line; class Polygon; +} + +namespace ArdourWaveview { class WaveView; } class CrossfadeEditor : public ArdourDialog { - public: +public: CrossfadeEditor (ARDOUR::Session*, boost::shared_ptr, double miny, double maxy); ~CrossfadeEditor (); @@ -57,25 +60,24 @@ class CrossfadeEditor : public ArdourDialog static const double canvas_border; - /* these are public so that a caller/subclass can make them do the right thing. - */ + /* these are public so that a caller/subclass can make them do the right thing. */ Gtk::Button* cancel_button; Gtk::Button* ok_button; struct PresetPoint { - double x; - double y; + double x; + double y; - PresetPoint (double a, double b) - : x (a), y (b) {} + PresetPoint (double a, double b) + : x (a), y (b) {} }; struct Preset : public std::list { - const char* name; - const char* image_name; + const char* name; + const char* image_name; - Preset (const char* n, const char* x) : name (n), image_name (x) {} + Preset (const char* n, const char* x) : name (n), image_name (x) {} }; typedef std::list Presets; @@ -83,46 +85,46 @@ class CrossfadeEditor : public ArdourDialog static Presets* fade_in_presets; static Presets* fade_out_presets; - protected: +protected: bool on_key_press_event (GdkEventKey*); bool on_key_release_event (GdkEventKey*); - private: +private: boost::shared_ptr xfade; Gtk::VBox vpacker; struct Point { - ~Point(); + ~Point(); - ArdourCanvas::Rectangle* box; - ArdourCanvas::PolyLine* curve; - double x; - double y; + ArdourCanvas::Rectangle* box; + ArdourCanvas::PolyLine* curve; + double x; + double y; - static const int32_t size; + static const int32_t size; - void move_to (double x, double y, double xfract, double yfract); + void move_to (double x, double y, double xfract, double yfract); }; struct PointSorter { - bool operator() (const CrossfadeEditor::Point* a, const CrossfadeEditor::Point *b) { - return a->x < b->x; - } + bool operator() (const CrossfadeEditor::Point* a, const CrossfadeEditor::Point *b) { + return a->x < b->x; + } }; ArdourCanvas::Rectangle* toplevel; ArdourCanvas::GtkCanvas* canvas; struct Half { - ArdourCanvas::PolyLine* line; - ArdourCanvas::Polygon* shading; - std::list points; - ARDOUR::AutomationList normative_curve; /* 0 - 1.0, linear */ - ARDOUR::AutomationList gain_curve; /* 0 - 2.0, gain mapping */ - std::vector waves; - - Half(); + ArdourCanvas::PolyLine* line; + ArdourCanvas::Polygon* shading; + std::list points; + ARDOUR::AutomationList normative_curve; /* 0 - 1.0, linear */ + ARDOUR::AutomationList gain_curve; /* 0 - 2.0, gain mapping */ + std::vector waves; + + Half(); }; enum WhichFade {