trigger_ui: refactor Actions into the TriggerUI base class
This commit is contained in:
parent
133b51922a
commit
f35020fc59
@ -56,7 +56,7 @@
|
|||||||
#include "rc_option_editor.h"
|
#include "rc_option_editor.h"
|
||||||
#include "route_params_ui.h"
|
#include "route_params_ui.h"
|
||||||
#include "time_info_box.h"
|
#include "time_info_box.h"
|
||||||
#include "triggerbox_ui.h"
|
#include "trigger_ui.h"
|
||||||
#include "step_entry.h"
|
#include "step_entry.h"
|
||||||
#include "opts.h"
|
#include "opts.h"
|
||||||
#include "utils.h"
|
#include "utils.h"
|
||||||
@ -92,7 +92,7 @@ ARDOUR_UI::we_have_dependents ()
|
|||||||
*/
|
*/
|
||||||
ProcessorBox::register_actions ();
|
ProcessorBox::register_actions ();
|
||||||
StepEntry::setup_actions_and_bindings ();
|
StepEntry::setup_actions_and_bindings ();
|
||||||
TriggerBoxUI::setup_actions_and_bindings ();
|
TriggerUI::setup_actions_and_bindings ();
|
||||||
ClipEditorBox::init ();
|
ClipEditorBox::init ();
|
||||||
|
|
||||||
/* Global, editor, mixer, processor box actions are defined now. Link
|
/* Global, editor, mixer, processor box actions are defined now. Link
|
||||||
|
@ -58,6 +58,9 @@ std::string TriggerUI::longest_quantize;
|
|||||||
std::vector<std::string> TriggerUI::launch_strings;
|
std::vector<std::string> TriggerUI::launch_strings;
|
||||||
std::string TriggerUI::longest_launch;
|
std::string TriggerUI::longest_launch;
|
||||||
|
|
||||||
|
Gtkmm2ext::Bindings* TriggerUI::bindings = 0;
|
||||||
|
Glib::RefPtr<Gtk::ActionGroup> TriggerUI::trigger_actions;
|
||||||
|
|
||||||
TriggerUI::TriggerUI ()
|
TriggerUI::TriggerUI ()
|
||||||
: _renaming (false)
|
: _renaming (false)
|
||||||
{
|
{
|
||||||
@ -96,6 +99,38 @@ TriggerUI::~TriggerUI()
|
|||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
TriggerUI::setup_actions_and_bindings ()
|
||||||
|
{
|
||||||
|
load_bindings ();
|
||||||
|
register_actions ();
|
||||||
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
TriggerUI::load_bindings ()
|
||||||
|
{
|
||||||
|
bindings = Bindings::get_bindings (X_("Triggers"));
|
||||||
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
TriggerUI::register_actions ()
|
||||||
|
{
|
||||||
|
trigger_actions = ActionManager::create_action_group (bindings, X_("Triggers"));
|
||||||
|
|
||||||
|
for (int32_t n = 0; n < TriggerBox::default_triggers_per_box; ++n) {
|
||||||
|
const std::string action_name = string_compose ("trigger-scene-%1", n);
|
||||||
|
const std::string display_name = string_compose (_("Scene %1"), n);
|
||||||
|
|
||||||
|
ActionManager::register_toggle_action (trigger_actions, action_name.c_str (), display_name.c_str (), sigc::bind (sigc::ptr_fun (TriggerUI::trigger_scene), n));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
TriggerUI::trigger_scene (int32_t n)
|
||||||
|
{
|
||||||
|
TriggerBox::scene_bang (n);
|
||||||
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
TriggerUI::choose_color ()
|
TriggerUI::choose_color ()
|
||||||
{
|
{
|
||||||
|
@ -21,6 +21,9 @@
|
|||||||
|
|
||||||
#include "gtkmm/colorselection.h"
|
#include "gtkmm/colorselection.h"
|
||||||
|
|
||||||
|
#include "gtkmm2ext/actions.h"
|
||||||
|
#include "gtkmm2ext/bindings.h"
|
||||||
|
|
||||||
#include "ardour/triggerbox.h"
|
#include "ardour/triggerbox.h"
|
||||||
#include "widgets/ardour_button.h"
|
#include "widgets/ardour_button.h"
|
||||||
#include "widgets/slider_controller.h"
|
#include "widgets/slider_controller.h"
|
||||||
@ -48,9 +51,18 @@ public:
|
|||||||
static std::vector<std::string> launch_strings;
|
static std::vector<std::string> launch_strings;
|
||||||
static std::string longest_launch;
|
static std::string longest_launch;
|
||||||
|
|
||||||
|
static void setup_actions_and_bindings ();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
void trigger_changed (PBD::PropertyChange); //calls on_trigger_changed to subclasses
|
void trigger_changed (PBD::PropertyChange); //calls on_trigger_changed to subclasses
|
||||||
|
|
||||||
|
/* Actions for Triggers: accessed via ardour_ui and shortcuts and lua */
|
||||||
|
static Glib::RefPtr<Gtk::ActionGroup> trigger_actions;
|
||||||
|
static void trigger_scene (int32_t);
|
||||||
|
static Gtkmm2ext::Bindings* bindings;
|
||||||
|
static void load_bindings ();
|
||||||
|
static void register_actions ();
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
void choose_color ();
|
void choose_color ();
|
||||||
void choose_sample ();
|
void choose_sample ();
|
||||||
|
@ -41,7 +41,6 @@
|
|||||||
#include "canvas/polygon.h"
|
#include "canvas/polygon.h"
|
||||||
#include "canvas/text.h"
|
#include "canvas/text.h"
|
||||||
|
|
||||||
#include "gtkmm2ext/actions.h"
|
|
||||||
#include "gtkmm2ext/colors.h"
|
#include "gtkmm2ext/colors.h"
|
||||||
#include "gtkmm2ext/utils.h"
|
#include "gtkmm2ext/utils.h"
|
||||||
|
|
||||||
@ -482,9 +481,6 @@ TriggerEntry::ui_parameter_changed (std::string const& p)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Gtkmm2ext::Bindings* TriggerBoxUI::bindings = 0;
|
|
||||||
Glib::RefPtr<Gtk::ActionGroup> TriggerBoxUI::trigger_actions;
|
|
||||||
|
|
||||||
TriggerBoxUI::TriggerBoxUI (ArdourCanvas::Item* parent, TriggerBox& tb)
|
TriggerBoxUI::TriggerBoxUI (ArdourCanvas::Item* parent, TriggerBox& tb)
|
||||||
: Rectangle (parent)
|
: Rectangle (parent)
|
||||||
, _triggerbox (tb)
|
, _triggerbox (tb)
|
||||||
@ -534,38 +530,6 @@ TriggerBoxUI::selection_changed ()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
|
||||||
TriggerBoxUI::setup_actions_and_bindings ()
|
|
||||||
{
|
|
||||||
load_bindings ();
|
|
||||||
register_actions ();
|
|
||||||
}
|
|
||||||
|
|
||||||
void
|
|
||||||
TriggerBoxUI::load_bindings ()
|
|
||||||
{
|
|
||||||
bindings = Bindings::get_bindings (X_("Triggers"));
|
|
||||||
}
|
|
||||||
|
|
||||||
void
|
|
||||||
TriggerBoxUI::register_actions ()
|
|
||||||
{
|
|
||||||
trigger_actions = ActionManager::create_action_group (bindings, X_("Triggers"));
|
|
||||||
|
|
||||||
for (int32_t n = 0; n < TriggerBox::default_triggers_per_box; ++n) {
|
|
||||||
const std::string action_name = string_compose ("trigger-scene-%1", n);
|
|
||||||
const std::string display_name = string_compose (_("Scene %1"), n);
|
|
||||||
|
|
||||||
ActionManager::register_toggle_action (trigger_actions, action_name.c_str (), display_name.c_str (), sigc::bind (sigc::ptr_fun (TriggerBoxUI::trigger_scene), n));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
void
|
|
||||||
TriggerBoxUI::trigger_scene (int32_t n)
|
|
||||||
{
|
|
||||||
TriggerBox::scene_bang (n);
|
|
||||||
}
|
|
||||||
|
|
||||||
void
|
void
|
||||||
TriggerBoxUI::build ()
|
TriggerBoxUI::build ()
|
||||||
{
|
{
|
||||||
|
@ -106,11 +106,6 @@ public:
|
|||||||
void start_updating ();
|
void start_updating ();
|
||||||
void stop_updating ();
|
void stop_updating ();
|
||||||
|
|
||||||
static Glib::RefPtr<Gtk::ActionGroup> trigger_actions;
|
|
||||||
static void setup_actions_and_bindings ();
|
|
||||||
|
|
||||||
static void trigger_scene (int32_t);
|
|
||||||
|
|
||||||
void _size_allocate (ArdourCanvas::Rect const&);
|
void _size_allocate (ArdourCanvas::Rect const&);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
@ -125,10 +120,6 @@ private:
|
|||||||
Gtk::Menu* _context_menu;
|
Gtk::Menu* _context_menu;
|
||||||
bool _ignore_menu_action;
|
bool _ignore_menu_action;
|
||||||
|
|
||||||
static Gtkmm2ext::Bindings* bindings;
|
|
||||||
static void load_bindings ();
|
|
||||||
static void register_actions ();
|
|
||||||
|
|
||||||
bool play_button_event (GdkEvent*, uint64_t);
|
bool play_button_event (GdkEvent*, uint64_t);
|
||||||
bool name_button_event (GdkEvent*, uint64_t);
|
bool name_button_event (GdkEvent*, uint64_t);
|
||||||
bool follow_button_event (GdkEvent*, uint64_t);
|
bool follow_button_event (GdkEvent*, uint64_t);
|
||||||
|
Loading…
Reference in New Issue
Block a user