mirror of
https://github.com/Ardour/ardour.git
synced 2025-12-08 07:45:00 +01:00
triggerboxUI: skeleton for triggerbox bindings and actions, include triggering of scene 1
This commit is contained in:
parent
07a98734f3
commit
b7ce131557
5 changed files with 44 additions and 1 deletions
|
|
@ -54,6 +54,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 "step_entry.h"
|
#include "step_entry.h"
|
||||||
#include "opts.h"
|
#include "opts.h"
|
||||||
#include "utils.h"
|
#include "utils.h"
|
||||||
|
|
@ -89,6 +90,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 ();
|
||||||
|
|
||||||
/* Global, editor, mixer, processor box actions are defined now. Link
|
/* Global, editor, mixer, processor box actions are defined now. Link
|
||||||
them with any bindings, so that GTK does not get a chance to define
|
them with any bindings, so that GTK does not get a chance to define
|
||||||
|
|
|
||||||
|
|
@ -1118,6 +1118,7 @@ Editor::access_action (const std::string& action_group, const std::string& actio
|
||||||
try {
|
try {
|
||||||
act = ActionManager::get_action (action_group.c_str(), action_item.c_str());
|
act = ActionManager::get_action (action_group.c_str(), action_item.c_str());
|
||||||
if (act) {
|
if (act) {
|
||||||
|
cerr << "firing up " << action_item << endl;
|
||||||
act->activate();
|
act->activate();
|
||||||
}
|
}
|
||||||
} catch ( ActionManager::MissingActionException const& e) {
|
} catch ( ActionManager::MissingActionException const& e) {
|
||||||
|
|
|
||||||
|
|
@ -30,6 +30,7 @@
|
||||||
#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"
|
||||||
|
|
||||||
|
|
@ -253,6 +254,9 @@ TriggerEntry::prop_change (PropertyChange const & change)
|
||||||
|
|
||||||
/* ---------------------------- */
|
/* ---------------------------- */
|
||||||
|
|
||||||
|
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)
|
||||||
: Table (parent)
|
: Table (parent)
|
||||||
, _triggerbox (tb)
|
, _triggerbox (tb)
|
||||||
|
|
@ -272,6 +276,33 @@ TriggerBoxUI::~TriggerBoxUI ()
|
||||||
update_connection.disconnect ();
|
update_connection.disconnect ();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
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"));
|
||||||
|
|
||||||
|
ActionManager::register_toggle_action (trigger_actions, "trigger-scene-1", _("Scene 1"), sigc::bind (sigc::ptr_fun (TriggerBoxUI::trigger_scene), 1));
|
||||||
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
TriggerBoxUI::trigger_scene (int32_t n)
|
||||||
|
{
|
||||||
|
TriggerBox::scene_bang (n);
|
||||||
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
TriggerBoxUI::build ()
|
TriggerBoxUI::build ()
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -86,6 +86,11 @@ class TriggerBoxUI : public ArdourCanvas::Table
|
||||||
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);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
ARDOUR::TriggerBox& _triggerbox;
|
ARDOUR::TriggerBox& _triggerbox;
|
||||||
typedef std::vector<TriggerEntry*> Slots;
|
typedef std::vector<TriggerEntry*> Slots;
|
||||||
|
|
@ -94,6 +99,10 @@ class TriggerBoxUI : public ArdourCanvas::Table
|
||||||
sigc::connection file_chooser_connection;
|
sigc::connection file_chooser_connection;
|
||||||
Gtk::Menu* _context_menu;
|
Gtk::Menu* _context_menu;
|
||||||
|
|
||||||
|
static Gtkmm2ext::Bindings* bindings;
|
||||||
|
static void load_bindings ();
|
||||||
|
static void register_actions ();
|
||||||
|
|
||||||
bool bang (GdkEvent*, uint64_t);
|
bool bang (GdkEvent*, uint64_t);
|
||||||
bool text_event (GdkEvent*, uint64_t);
|
bool text_event (GdkEvent*, uint64_t);
|
||||||
bool event (GdkEvent*, uint64_t);
|
bool event (GdkEvent*, uint64_t);
|
||||||
|
|
|
||||||
|
|
@ -912,7 +912,7 @@ def build(bld):
|
||||||
for b in [ 'ardour' ] :
|
for b in [ 'ardour' ] :
|
||||||
obj = bld(
|
obj = bld(
|
||||||
target = b + '.keys',
|
target = b + '.keys',
|
||||||
source = [ b + '.keys.in', 'mixer.bindings', 'processor_box.bindings', 'step_editing.bindings', 'monitor.bindings' ],
|
source = [ b + '.keys.in', 'mixer.bindings', 'processor_box.bindings', 'step_editing.bindings', 'monitor.bindings', 'trigger.bindings' ],
|
||||||
rule = a_rule
|
rule = a_rule
|
||||||
)
|
)
|
||||||
obj.install_path = bld.env['CONFDIR']
|
obj.install_path = bld.env['CONFDIR']
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue