Plugin analysis numerics
[ardour.git] / gtk2_ardour / export_report.h
index 019b2f71c392f15e87e455a14b01a1c897fd9ad3..9fdf5c7b4055e2f3db4299ea14498ddc0c8b2795 100644 (file)
@@ -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<Cairo::Context> 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<Cairo::ImageSurface> _surface;
@@ -186,9 +186,15 @@ class ExportReport : public ArdourDialog
 public:
        typedef boost::shared_ptr<ARDOUR::ExportStatus> 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<Cairo::ImageSurface>& wave,
                        ARDOUR::ExportAnalysisPtr, uint32_t, int, size_t, int, int, bool, bool);
 
@@ -198,12 +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;