mirror of
https://github.com/Ardour/ardour.git
synced 2026-01-04 20:55:48 +01:00
permit OSX native package without JACK; prevent excessive track name lengths from messing up JACK port names; splash screen tweaks for OS X; new region gain control operations ; work on AU plugin GUIs (totally incomplete); don't needlessly create prompters in a barcontroller (create on demand)
git-svn-id: svn://localhost/ardour2/branches/2.0-ongoing@2938 d708f5d6-7413-0410-9779-e7cbd77b26cf
This commit is contained in:
parent
7356c65a2a
commit
df1da084ed
25 changed files with 405 additions and 156 deletions
|
|
@ -32,13 +32,19 @@ using namespace std;
|
|||
using namespace PBD;
|
||||
|
||||
BindingProxy::BindingProxy (Controllable& c)
|
||||
: prompter (Gtk::WIN_POS_MOUSE, 30000, false),
|
||||
: prompter (0),
|
||||
controllable (c),
|
||||
bind_button (2),
|
||||
bind_statemask (Gdk::CONTROL_MASK)
|
||||
|
||||
{
|
||||
prompter.signal_unmap_event().connect (mem_fun (*this, &BindingProxy::prompter_hiding));
|
||||
}
|
||||
|
||||
BindingProxy::~BindingProxy ()
|
||||
{
|
||||
if (prompter) {
|
||||
delete prompter;
|
||||
}
|
||||
}
|
||||
|
||||
void
|
||||
|
|
@ -61,8 +67,12 @@ BindingProxy::button_press_handler (GdkEventButton *ev)
|
|||
if ((ev->state & bind_statemask) && ev->button == bind_button) {
|
||||
if (Controllable::StartLearning (&controllable)) {
|
||||
string prompt = _("operate controller now");
|
||||
prompter.set_text (prompt);
|
||||
prompter.touch (); // shows popup
|
||||
if (prompter == 0) {
|
||||
prompter = new PopUp (Gtk::WIN_POS_MOUSE, 30000, false);
|
||||
prompter->signal_unmap_event().connect (mem_fun (*this, &BindingProxy::prompter_hiding));
|
||||
}
|
||||
prompter->set_text (prompt);
|
||||
prompter->touch (); // shows popup
|
||||
learning_connection = controllable.LearningFinished.connect (mem_fun (*this, &BindingProxy::learning_finished));
|
||||
}
|
||||
return true;
|
||||
|
|
@ -75,7 +85,9 @@ void
|
|||
BindingProxy::learning_finished ()
|
||||
{
|
||||
learning_connection.disconnect ();
|
||||
prompter.touch (); // hides popup
|
||||
if (prompter) {
|
||||
prompter->touch (); // hides popup
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue