Extend ctrl surface API to be more flexible when creating markers
This commit is contained in:
@@ -152,10 +152,10 @@ BasicUI::goto_end ()
|
||||
}
|
||||
|
||||
void
|
||||
BasicUI::add_marker (const std::string& markername)
|
||||
BasicUI::add_marker (const std::string& markername, Location::Flags flags)
|
||||
{
|
||||
timepos_t where (session->audible_sample());
|
||||
Location *location = new Location (*session, where, where, markername, Location::IsMark);
|
||||
Location *location = new Location (*session, where, where, markername, flags);
|
||||
session->begin_reversible_command (_("add marker"));
|
||||
XMLNode &before = session->locations()->get_state();
|
||||
session->locations()->add (location, true);
|
||||
|
||||
@@ -30,6 +30,7 @@
|
||||
|
||||
#include "temporal/timeline.h"
|
||||
|
||||
#include "ardour/location.h"
|
||||
#include "ardour/types.h"
|
||||
#include "ardour/presentation_info.h"
|
||||
|
||||
@@ -49,7 +50,7 @@ class LIBCONTROLCP_API BasicUI {
|
||||
BasicUI (ARDOUR::Session&);
|
||||
virtual ~BasicUI ();
|
||||
|
||||
void add_marker (const std::string& = std::string());
|
||||
void add_marker (const std::string& = std::string(), ARDOUR::Location::Flags flags = ARDOUR::Location::IsMark);
|
||||
void remove_marker_at_playhead ();
|
||||
|
||||
// void mark_in();
|
||||
|
||||
@@ -145,7 +145,7 @@ FaderPort::FaderPort (Session& s)
|
||||
get_button (Punch).set_action (std::bind (&FaderPort::punch, this), true);
|
||||
|
||||
get_button (Loop).set_action (std::bind (&BasicUI::loop_toggle, this), true);
|
||||
get_button (Loop).set_action (std::bind (&BasicUI::add_marker, this, string()), true, ShiftDown);
|
||||
get_button (Loop).set_action (std::bind (&BasicUI::add_marker, this, string(), Location::IsMark), true, ShiftDown);
|
||||
|
||||
get_button (Punch).set_action (std::bind (&BasicUI::prev_marker, this), true, ShiftDown);
|
||||
get_button (User).set_action (std::bind (&BasicUI::next_marker, this), true, ShiftDown);
|
||||
|
||||
Reference in New Issue
Block a user