add post-export audition seeking
This commit is contained in:
parent
fbbde01f25
commit
fc5c247aa1
@ -554,6 +554,7 @@ ExportReport::ExportReport (Session* session, StatusPtr s)
|
||||
ytme->flush ();
|
||||
CimgArea *tm = manage (new CimgArea (ytme));
|
||||
tm->set_audition_axis (m_l, width);
|
||||
tm->seek_playhead.connect (sigc::bind<0> (sigc::mem_fun (*this, &ExportReport::audition_seek), page));
|
||||
timeline.push_back (tm);
|
||||
vb->pack_start (*tm);
|
||||
} else {
|
||||
@ -764,3 +765,11 @@ ExportReport::audition_progress (framecnt_t pos, framecnt_t len)
|
||||
timeline[_audition_num]->set_playhead ((float)pos / len);
|
||||
}
|
||||
}
|
||||
|
||||
void
|
||||
ExportReport::audition_seek (int page, float pos)
|
||||
{
|
||||
if (_audition_num == page && _session) {
|
||||
_session->the_auditioner()->seek_to_percent (100.f * pos);
|
||||
}
|
||||
}
|
||||
|
@ -80,6 +80,17 @@ public:
|
||||
_aw = w;
|
||||
}
|
||||
|
||||
sigc::signal<void, float> seek_playhead;
|
||||
|
||||
protected:
|
||||
bool on_button_press_event (GdkEventButton *ev) {
|
||||
CairoWidget::on_button_press_event (ev);
|
||||
if (ev->button == 1 && _aw > 0 && ev->x >= _x0 && ev->x <= _x0 + _aw) {
|
||||
seek_playhead (((float) ev->x - _x0) / (float)_aw);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
private:
|
||||
Cairo::RefPtr<Cairo::ImageSurface> _surface;
|
||||
float _playhead;
|
||||
@ -109,6 +120,7 @@ private:
|
||||
void audition (std::string, unsigned int, int);
|
||||
void stop_audition ();
|
||||
void audition_active (bool);
|
||||
void audition_seek (int, float);
|
||||
void audition_progress (ARDOUR::framecnt_t, ARDOUR::framecnt_t);
|
||||
void on_switch_page (GtkNotebookPage*, guint page_num);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user