a few useful keybindings in the xfade editor

git-svn-id: svn://localhost/ardour2/branches/2.0-ongoing@4116 d708f5d6-7413-0410-9779-e7cbd77b26cf
This commit is contained in:
Paul Davis 2008-11-09 08:22:48 +00:00
parent 09dd88c0e5
commit e4c30241e8
3 changed files with 52 additions and 2 deletions

View File

@ -1359,8 +1359,9 @@ gnome_canvas_waveview_render (GnomeCanvasItem *item,
prev_pymax = pymax;
prev_pymin = pymin;
}
}
else if(waveview->filled && rectify) {
} else if (waveview->filled && rectify) {
int prev_pymax = -1;
int last_pymax = -1;
int next_pymax;

View File

@ -1338,3 +1338,48 @@ CrossfadeEditor::audition_left_dry_toggled ()
}
}
}
bool
CrossfadeEditor::on_key_press_event (GdkEventKey *ev)
{
return true;
}
bool
CrossfadeEditor::on_key_release_event (GdkEventKey* ev)
{
switch (ev->keyval) {
case GDK_Right:
if (Keyboard::modifier_state_equals (ev->state, Keyboard::PrimaryModifier)) {
audition_right_dry_button.set_active (!audition_right_dry_button.get_active());
} else {
audition_right_button.set_active (!audition_right_button.get_active());
}
break;
case GDK_Left:
if (Keyboard::modifier_state_equals (ev->state, Keyboard::PrimaryModifier)) {
audition_left_dry_button.set_active (!audition_left_dry_button.get_active());
} else {
audition_left_button.set_active (!audition_left_button.get_active());
}
break;
case GDK_space:
if (audition_left_dry_button.get_active() ||
audition_left_button.get_active () ||
audition_right_dry_button.get_active () ||
audition_right_button.get_active () ||
audition_both_button.get_active ()) {
cancel_audition ();
} else {
audition_both_button.set_active (!audition_both_button.get_active());
}
break;
default:
break;
}
return true;
}

View File

@ -72,6 +72,10 @@ class CrossfadeEditor : public ArdourDialog
static Presets* fade_in_presets;
static Presets* fade_out_presets;
protected:
bool on_key_press_event (GdkEventKey*);
bool on_key_release_event (GdkEventKey*);
private:
boost::shared_ptr<ARDOUR::Crossfade> xfade;