class Rectangle;
class Line;
class Polygon;
+}
+
+namespace ArdourWaveview {
class WaveView;
}
class CrossfadeEditor : public ArdourDialog
{
- public:
+public:
CrossfadeEditor (ARDOUR::Session*, boost::shared_ptr<ARDOUR::Crossfade>, double miny, double maxy);
~CrossfadeEditor ();
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<PresetPoint> {
- 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<Preset*> Presets;
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<ARDOUR::Crossfade> 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<Point*> points;
- ARDOUR::AutomationList normative_curve; /* 0 - 1.0, linear */
- ARDOUR::AutomationList gain_curve; /* 0 - 2.0, gain mapping */
- std::vector<ArdourCanvas::WaveView*> waves;
-
- Half();
+ ArdourCanvas::PolyLine* line;
+ ArdourCanvas::Polygon* shading;
+ std::list<Point*> points;
+ ARDOUR::AutomationList normative_curve; /* 0 - 1.0, linear */
+ ARDOUR::AutomationList gain_curve; /* 0 - 2.0, gain mapping */
+ std::vector<ArdourWaveView::WaveView*> waves;
+
+ Half();
};
enum WhichFade {