mirror of
https://github.com/Ardour/ardour.git
synced 2025-12-16 03:36:32 +01:00
Indicate current Disk-I/O setting
This commit is contained in:
parent
848831d844
commit
7fe9fb1f4e
2 changed files with 16 additions and 3 deletions
|
|
@ -40,6 +40,8 @@
|
||||||
|
|
||||||
#include <gtkmm/messagedialog.h>
|
#include <gtkmm/messagedialog.h>
|
||||||
|
|
||||||
|
#include "pbd/unwind.h"
|
||||||
|
|
||||||
#include "gtkmm2ext/colors.h"
|
#include "gtkmm2ext/colors.h"
|
||||||
#include "gtkmm2ext/gtk_ui.h"
|
#include "gtkmm2ext/gtk_ui.h"
|
||||||
#include "gtkmm2ext/menu_elems.h"
|
#include "gtkmm2ext/menu_elems.h"
|
||||||
|
|
@ -114,6 +116,8 @@ using namespace Gtkmm2ext;
|
||||||
using namespace ArdourWidgets;
|
using namespace ArdourWidgets;
|
||||||
|
|
||||||
ProcessorBox* ProcessorBox::_current_processor_box = 0;
|
ProcessorBox* ProcessorBox::_current_processor_box = 0;
|
||||||
|
bool ProcessorBox::_ignore_disk_io_change = false;
|
||||||
|
|
||||||
RefPtr<Action> ProcessorBox::paste_action;
|
RefPtr<Action> ProcessorBox::paste_action;
|
||||||
RefPtr<Action> ProcessorBox::cut_action;
|
RefPtr<Action> ProcessorBox::cut_action;
|
||||||
RefPtr<Action> ProcessorBox::copy_action;
|
RefPtr<Action> ProcessorBox::copy_action;
|
||||||
|
|
@ -2276,6 +2280,10 @@ ProcessorBox::show_processor_menu (int arg)
|
||||||
manage_pins_action->set_sensitive (pi != 0);
|
manage_pins_action->set_sensitive (pi != 0);
|
||||||
if (boost::dynamic_pointer_cast<Track>(_route)) {
|
if (boost::dynamic_pointer_cast<Track>(_route)) {
|
||||||
disk_io_action->set_sensitive (true);
|
disk_io_action->set_sensitive (true);
|
||||||
|
PBD::Unwinder<bool> uw (_ignore_disk_io_change, true);
|
||||||
|
ActionManager::get_toggle_action (X_("ProcessorMenu"), "disk-io-prefader")->set_active (_route->disk_io_point () == DiskIOPreFader);
|
||||||
|
ActionManager::get_toggle_action (X_("ProcessorMenu"), "disk-io-postfader")->set_active (_route->disk_io_point () == DiskIOPostFader);
|
||||||
|
ActionManager::get_toggle_action (X_("ProcessorMenu"), "disk-io-custom")->set_active (_route->disk_io_point () == DiskIOCustom);
|
||||||
} else {
|
} else {
|
||||||
disk_io_action->set_sensitive (false);
|
disk_io_action->set_sensitive (false);
|
||||||
}
|
}
|
||||||
|
|
@ -3841,9 +3849,9 @@ ProcessorBox::register_actions ()
|
||||||
|
|
||||||
/* Disk IO stuff */
|
/* Disk IO stuff */
|
||||||
disk_io_action = ActionManager::register_action (processor_box_actions, X_("disk-io-menu"), _("Disk I/O ..."));
|
disk_io_action = ActionManager::register_action (processor_box_actions, X_("disk-io-menu"), _("Disk I/O ..."));
|
||||||
ActionManager::register_action (processor_box_actions, X_("disk-io-prefader"), _("Pre-Fader."), sigc::bind (sigc::ptr_fun (ProcessorBox::rb_set_disk_io_position), DiskIOPreFader));
|
ActionManager::register_toggle_action (processor_box_actions, X_("disk-io-prefader"), _("Pre-Fader"), sigc::bind (sigc::ptr_fun (ProcessorBox::rb_set_disk_io_position), DiskIOPreFader));
|
||||||
ActionManager::register_action (processor_box_actions, X_("disk-io-postfader"), _("Post-Fader."), sigc::bind (sigc::ptr_fun (ProcessorBox::rb_set_disk_io_position), DiskIOPostFader));
|
ActionManager::register_toggle_action (processor_box_actions, X_("disk-io-postfader"), _("Post-Fader"), sigc::bind (sigc::ptr_fun (ProcessorBox::rb_set_disk_io_position), DiskIOPostFader));
|
||||||
ActionManager::register_action (processor_box_actions, X_("disk-io-custom"), _("Custom."), sigc::bind (sigc::ptr_fun (ProcessorBox::rb_set_disk_io_position), DiskIOCustom));
|
ActionManager::register_toggle_action (processor_box_actions, X_("disk-io-custom"), _("Custom"), sigc::bind (sigc::ptr_fun (ProcessorBox::rb_set_disk_io_position), DiskIOCustom));
|
||||||
|
|
||||||
/* show editors */
|
/* show editors */
|
||||||
edit_action = ActionManager::register_action (
|
edit_action = ActionManager::register_action (
|
||||||
|
|
@ -3882,6 +3890,9 @@ ProcessorBox::rb_set_disk_io_position (DiskIOPoint diop)
|
||||||
if (_current_processor_box == 0) {
|
if (_current_processor_box == 0) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
if (_ignore_disk_io_change) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
_current_processor_box->set_disk_io_position (diop);
|
_current_processor_box->set_disk_io_position (diop);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -628,6 +628,8 @@ private:
|
||||||
|
|
||||||
XMLNode* entry_gui_object_state (ProcessorEntry *);
|
XMLNode* entry_gui_object_state (ProcessorEntry *);
|
||||||
PBD::ScopedConnection amp_config_connection;
|
PBD::ScopedConnection amp_config_connection;
|
||||||
|
|
||||||
|
static bool _ignore_disk_io_change;
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif /* __ardour_gtk_processor_box__ */
|
#endif /* __ardour_gtk_processor_box__ */
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue