add method (taken from GTK GUI) to goto_nth_marker() to BasicUI
This commit is contained in:
parent
93dd5414d6
commit
ac9b5f872d
@ -539,6 +539,37 @@ BasicUI::cancel_all_solo ()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
struct SortLocationsByPosition {
|
||||||
|
bool operator() (Location* a, Location* b) {
|
||||||
|
return a->start() < b->start();
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
void
|
||||||
|
BasicUI::goto_nth_marker (int n)
|
||||||
|
{
|
||||||
|
if (!session) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
const Locations::LocationList& l (session->locations()->list());
|
||||||
|
Locations::LocationList ordered;
|
||||||
|
ordered = l;
|
||||||
|
|
||||||
|
SortLocationsByPosition cmp;
|
||||||
|
ordered.sort (cmp);
|
||||||
|
|
||||||
|
for (Locations::LocationList::iterator i = ordered.begin(); n >= 0 && i != ordered.end(); ++i) {
|
||||||
|
if ((*i)->is_mark() && !(*i)->is_hidden() && !(*i)->is_session_range()) {
|
||||||
|
if (n == 0) {
|
||||||
|
session->request_locate ((*i)->start(), session->transport_rolling());
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
--n;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
#if 0
|
#if 0
|
||||||
this stuff is waiting to go in so that all UIs can offer complex solo/mute functionality
|
this stuff is waiting to go in so that all UIs can offer complex solo/mute functionality
|
||||||
|
|
||||||
|
@ -140,6 +140,8 @@ class LIBCONTROLCP_API BasicUI {
|
|||||||
void all_tracks_rec_in ();
|
void all_tracks_rec_in ();
|
||||||
void all_tracks_rec_out ();
|
void all_tracks_rec_out ();
|
||||||
|
|
||||||
|
void goto_nth_marker (int n);
|
||||||
|
|
||||||
ARDOUR::framecnt_t timecode_frames_per_hour ();
|
ARDOUR::framecnt_t timecode_frames_per_hour ();
|
||||||
|
|
||||||
void timecode_time (framepos_t where, Timecode::Time&);
|
void timecode_time (framepos_t where, Timecode::Time&);
|
||||||
|
Loading…
Reference in New Issue
Block a user