X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=gtk2_ardour%2Fexport_report.h;h=9fdf5c7b4055e2f3db4299ea14498ddc0c8b2795;hb=5b2eb6107c3ae056e7c27182008b46b4df5c2b28;hp=a509682808ec745e7ba0477da471381a9076f3f6;hpb=7e59435ee872ded6d969360d22f3839ad2615c5b;p=ardour.git diff --git a/gtk2_ardour/export_report.h b/gtk2_ardour/export_report.h index a509682808..9fdf5c7b40 100644 --- a/gtk2_ardour/export_report.h +++ b/gtk2_ardour/export_report.h @@ -46,12 +46,12 @@ protected: virtual void overlay (cairo_t* cr, cairo_rectangle_t* r) {} - virtual void render (cairo_t* cr, cairo_rectangle_t* r) + virtual void render (Cairo::RefPtr const& ctx, cairo_rectangle_t* r) { - cairo_rectangle (cr, r->x, r->y, r->width, r->height); - cairo_clip (cr); - background (cr, r); - overlay (cr, r); + ctx->rectangle (r->x, r->y, r->width, r->height); + ctx->clip (); + background (ctx->cobj(), r); + overlay (ctx->cobj(), r); } Cairo::RefPtr _surface; @@ -147,14 +147,12 @@ public: { } - void set_logscale (Gtk::ToggleButton *b) { - bool en = b->get_active (); + void set_logscale (bool en) { _logscale = en; set_dirty (); } - void set_rectified (Gtk::ToggleButton *b) { - bool en = b->get_active (); + void set_rectified (bool en) { _rectified = en; set_dirty (); } @@ -188,9 +186,15 @@ class ExportReport : public ArdourDialog public: typedef boost::shared_ptr StatusPtr; ExportReport (ARDOUR::Session*, StatusPtr); + ExportReport (const std::string & title, const ARDOUR::AnalysisResults & ar); int run (); + void on_response (int response_id) { + Gtk::Dialog::on_response (response_id); + } + private: + void init (const ARDOUR::AnalysisResults &, bool); void draw_waveform (Cairo::RefPtr& wave, ARDOUR::ExportAnalysisPtr, uint32_t, int, size_t, int, int, bool, bool); @@ -200,10 +204,11 @@ private: void play_audition (); void audition_active (bool); void audition_seek (int, float); - void audition_progress (ARDOUR::framecnt_t, ARDOUR::framecnt_t); + void audition_progress (ARDOUR::samplecnt_t, ARDOUR::samplecnt_t); void on_switch_page (GtkNotebookPage*, guint page_num); + void on_logscale_toggled (Gtk::ToggleButton*); + void on_rectivied_toggled (Gtk::ToggleButton*); - StatusPtr status; Gtk::Notebook pages; ARDOUR::Session* _session; Gtk::Button* stop_btn; @@ -219,6 +224,7 @@ private: std::map > timeline; std::map files; + std::list waves; int _audition_num; int _page_num;