Add all_tracks_rec actions

This commit is contained in:
Ben Loftis 2016-01-19 14:00:03 -06:00
parent fe7aac8dac
commit 5493e20c84
6 changed files with 36 additions and 0 deletions

View File

@ -305,6 +305,8 @@ class LIBARDOUR_API Session : public PBD::StatefulDestructible, public PBD::Scop
void maybe_enable_record ();
void disable_record (bool rt_context, bool force = false);
void step_back_from_record ();
void set_all_tracks_record_enabled(bool);
void maybe_write_autosave ();

View File

@ -1832,6 +1832,19 @@ Session::enable_record ()
}
}
void
Session::set_all_tracks_record_enabled (bool enable )
{
boost::shared_ptr<RouteList> rl = routes.reader();
for (RouteList::iterator i = rl->begin(); i != rl->end(); ++i) {
boost::shared_ptr<Track> tr = boost::dynamic_pointer_cast<Track> (*i);
if (tr) {
tr->set_record_enabled (enable, this);
}
}
}
void
Session::disable_record (bool rt_context, bool force)
{

View File

@ -211,6 +211,18 @@ BasicUI::rec_enable_toggle ()
}
}
void
BasicUI::all_tracks_rec_in ()
{
session->set_all_tracks_record_enabled (true);
}
void
BasicUI::all_tracks_rec_out ()
{
session->set_all_tracks_record_enabled (false);
}
void
BasicUI::save_state ()
{

View File

@ -133,6 +133,9 @@ class LIBCONTROLCP_API BasicUI {
void rec_enable_toggle ();
void toggle_all_rec_enables ();
void all_tracks_rec_in ();
void all_tracks_rec_out ();
ARDOUR::framecnt_t timecode_frames_per_hour ();
void timecode_time (framepos_t where, Timecode::Time&);

View File

@ -359,6 +359,8 @@ OSC::register_callbacks()
REGISTER_CALLBACK (serv, "/ardour/toggle_punch_out", "", toggle_punch_out);
REGISTER_CALLBACK (serv, "/ardour/rec_enable_toggle", "", rec_enable_toggle);
REGISTER_CALLBACK (serv, "/ardour/toggle_all_rec_enables", "", toggle_all_rec_enables);
REGISTER_CALLBACK (serv, "/ardour/all_tracks_rec_in", "f", all_tracks_rec_in);
REGISTER_CALLBACK (serv, "/ardour/all_tracks_rec_out", "f", all_tracks_rec_out);
REGISTER_CALLBACK (serv, "/ardour/remove_marker", "", remove_marker_at_playhead);
REGISTER_CALLBACK (serv, "/ardour/jump_bars", "f", jump_by_bars);
REGISTER_CALLBACK (serv, "/ardour/jump_seconds", "f", jump_by_seconds);
@ -425,6 +427,8 @@ OSC::register_callbacks()
REGISTER_CALLBACK (serv, "/ardour/pushbutton/toggle_punch_out", "f", toggle_punch_out);
REGISTER_CALLBACK (serv, "/ardour/pushbutton/rec_enable_toggle", "f", rec_enable_toggle);
REGISTER_CALLBACK (serv, "/ardour/pushbutton/toggle_all_rec_enables", "f", toggle_all_rec_enables);
REGISTER_CALLBACK (serv, "/ardour/pushbutton/all_tracks_rec_in", "f", all_tracks_rec_in);
REGISTER_CALLBACK (serv, "/ardour/pushbutton/all_tracks_rec_out", "f", all_tracks_rec_out);
REGISTER_CALLBACK (serv, "/ardour/pushbutton/remove_marker", "f", remove_marker_at_playhead);
REGISTER_CALLBACK (serv, "/ardour/pushbutton/mark_in", "f", mark_in);
REGISTER_CALLBACK (serv, "/ardour/pushbutton/mark_out", "f", mark_out);

View File

@ -191,6 +191,8 @@ class OSC : public ARDOUR::ControlProtocol, public AbstractUI<OSCUIRequest>
PATH_CALLBACK(toggle_punch_out);
PATH_CALLBACK(rec_enable_toggle);
PATH_CALLBACK(toggle_all_rec_enables);
PATH_CALLBACK(all_tracks_rec_in);
PATH_CALLBACK(all_tracks_rec_out);
PATH_CALLBACK(remove_marker_at_playhead);
PATH_CALLBACK(mark_in);
PATH_CALLBACK(mark_out);