19 #ifndef _gtkardour_export_report_h_
20 #define _gtkardour_export_report_h_
22 #include <cairo/cairo.h>
36 CimgArea (Cairo::RefPtr<Cairo::ImageSurface> sf)
44 virtual void background (cairo_t* cr, cairo_rectangle_t* r) {
45 cairo_set_source_surface (cr,
_surface->cobj(), 0, 0);
46 cairo_set_operator (cr, CAIRO_OPERATOR_OVER);
50 virtual void overlay (cairo_t* cr, cairo_rectangle_t* r) {}
52 virtual void render (Cairo::RefPtr<Cairo::Context>
const& ctx, cairo_rectangle_t* r)
54 ctx->rectangle (r->x, r->y, r->width, r->height);
66 CimgPlayheadArea (Cairo::RefPtr<Cairo::ImageSurface> sf,
float x0,
float w,
bool h =
false)
92 virtual void overlay (cairo_t* cr, cairo_rectangle_t* r) {
93 if (
_playhead > 0 && _playhead < 1.0 && _aw > 0) {
96 cairo_set_source_rgba (cr, .4, .4, .6, .4);
101 const float h =
_surface->get_height();
102 cairo_set_source_rgba (cr, 1, 0, 0, 1);
103 cairo_set_line_width (cr, 1.5);
104 cairo_move_to (cr,
_x0 + x, 0);
105 cairo_line_to (cr,
_x0 + x, h);
124 if (pos < 0 || pos > 1) {
return; }
125 const float x = pos *
_aw;
139 Cairo::RefPtr<Cairo::ImageSurface> sf,
140 Cairo::RefPtr<Cairo::ImageSurface> sf_log,
141 Cairo::RefPtr<Cairo::ImageSurface> sf_rect,
142 Cairo::RefPtr<Cairo::ImageSurface> sf_logrec,
165 virtual void background (cairo_t* cr, cairo_rectangle_t* r) {
167 cairo_set_source_surface (cr,
_sf_logrec->cobj(), 0, 0);
169 cairo_set_source_surface (cr,
_sf_log->cobj(), 0, 0);
171 cairo_set_source_surface (cr,
_sf_rect->cobj(), 0, 0);
173 cairo_set_source_surface (cr,
_surface->cobj(), 0, 0);
175 cairo_set_operator (cr, CAIRO_OPERATOR_OVER);
190 typedef std::shared_ptr<ARDOUR::ExportStatus>
StatusPtr;
226 std::map<int, std::list<CimgPlayheadArea*> >
timeline;
virtual void render(Cairo::RefPtr< Cairo::Context > const &ctx, cairo_rectangle_t *r)
virtual void background(cairo_t *cr, cairo_rectangle_t *r)
CimgArea(Cairo::RefPtr< Cairo::ImageSurface > sf)
Cairo::RefPtr< Cairo::ImageSurface > _surface
virtual void overlay(cairo_t *cr, cairo_rectangle_t *r)
void set_playhead(float pos)
void invalidate(float pos)
sigc::signal< void, float > seek_playhead
virtual void overlay(cairo_t *cr, cairo_rectangle_t *r)
bool on_button_press_event(GdkEventButton *ev)
This is a default handler for the signal signal_button_press_event().
CimgPlayheadArea(Cairo::RefPtr< Cairo::ImageSurface > sf, float x0, float w, bool h=false)
void set_logscale(bool en)
virtual void background(cairo_t *cr, cairo_rectangle_t *r)
Cairo::RefPtr< Cairo::ImageSurface > _sf_rect
Cairo::RefPtr< Cairo::ImageSurface > _sf_log
CimgWaveArea(Cairo::RefPtr< Cairo::ImageSurface > sf, Cairo::RefPtr< Cairo::ImageSurface > sf_log, Cairo::RefPtr< Cairo::ImageSurface > sf_rect, Cairo::RefPtr< Cairo::ImageSurface > sf_logrec, float x0, float w)
Cairo::RefPtr< Cairo::ImageSurface > _sf_logrec
void set_rectified(bool en)
PBD::ScopedConnectionList auditioner_connections
void audition_progress(ARDOUR::samplecnt_t, ARDOUR::samplecnt_t)
void init(const ARDOUR::AnalysisResults &, bool)
void on_rectivied_toggled(Gtk::ToggleButton *)
void on_response(int response_id)
This is a default handler for the signal signal_response().
std::shared_ptr< ARDOUR::ExportStatus > StatusPtr
std::map< int, AuditionInfo > files
void audition_active(bool)
ExportReport(ARDOUR::Session *, StatusPtr)
ARDOUR::Session * _session
std::map< int, std::list< CimgPlayheadArea * > > timeline
void audition_seek(int, float)
std::list< CimgWaveArea * > waves
void on_logscale_toggled(Gtk::ToggleButton *)
ExportReport(const std::string &title, const ARDOUR::AnalysisResults &ar)
void open_folder(std::string)
void on_switch_page(GtkNotebookPage *, guint page_num)
void audition(std::string, unsigned int, int)
virtual void on_response(int response_id)
This is a default handler for the signal signal_response().
struct _GtkNotebookPage GtkNotebookPage
std::map< std::string, ExportAnalysisPtr > AnalysisResults
Temporal::samplecnt_t samplecnt_t
AuditionInfo(std::string p, unsigned int c)