From b47f6e58961eaf9fdfac513040b4f3f9c40afb64 Mon Sep 17 00:00:00 2001 From: Ben Loftis Date: Wed, 24 Mar 2010 21:38:37 +0000 Subject: [PATCH] anchor the crossfade start and endpoints, and add Help shortcuts to the manual and online reference git-svn-id: svn://localhost/ardour2/branches/2.0-ongoing@6791 d708f5d6-7413-0410-9779-e7cbd77b26cf --- gtk2_ardour/ardour.menus.in | 2 ++ gtk2_ardour/ardour_ui.cc | 12 ++++++++++++ gtk2_ardour/ardour_ui.h | 3 +++ gtk2_ardour/ardour_ui_ed.cc | 4 ++++ gtk2_ardour/crossfade_edit.cc | 5 +++-- libs/ardour/crossfade.cc | 6 ++++++ 6 files changed, 30 insertions(+), 2 deletions(-) diff --git a/gtk2_ardour/ardour.menus.in b/gtk2_ardour/ardour.menus.in index 3f10527a38..8a913e9c7d 100644 --- a/gtk2_ardour/ardour.menus.in +++ b/gtk2_ardour/ardour.menus.in @@ -580,6 +580,8 @@ + + diff --git a/gtk2_ardour/ardour_ui.cc b/gtk2_ardour/ardour_ui.cc index a206160710..d9a7fd4595 100644 --- a/gtk2_ardour/ardour_ui.cc +++ b/gtk2_ardour/ardour_ui.cc @@ -2817,6 +2817,18 @@ ARDOUR_UI::launch_chat () #endif } +void +ARDOUR_UI::launch_manual () +{ + NagScreen::open_uri("http://en.flossmanuals.net/Ardour/Introduction"); +} + +void +ARDOUR_UI::launch_reference () +{ + NagScreen::open_uri("http://vm-nice.stackingdwarves.net:8888/ardour-en/8-ARDOUR/24-ARDOUR.html"); +} + void ARDOUR_UI::hide_about () { diff --git a/gtk2_ardour/ardour_ui.h b/gtk2_ardour/ardour_ui.h index b2f125ed46..6e0889db9a 100644 --- a/gtk2_ardour/ardour_ui.h +++ b/gtk2_ardour/ardour_ui.h @@ -115,6 +115,9 @@ class ARDOUR_UI : public Gtkmm2ext::UI void hide_splash (); void launch_chat (); + void launch_manual (); + void launch_reference (); + void show_about (); void hide_about (); diff --git a/gtk2_ardour/ardour_ui_ed.cc b/gtk2_ardour/ardour_ui_ed.cc index e5da29339d..832b01cf19 100644 --- a/gtk2_ardour/ardour_ui_ed.cc +++ b/gtk2_ardour/ardour_ui_ed.cc @@ -221,7 +221,11 @@ ARDOUR_UI::install_actions () act = ActionManager::register_toggle_action (common_actions, X_("ToggleBigClock"), _("Big Clock"), mem_fun(*this, &ARDOUR_UI::toggle_big_clock_window)); ActionManager::session_sensitive_actions.push_back (act); ActionManager::register_action (common_actions, X_("About"), _("About"), mem_fun(*this, &ARDOUR_UI::show_about)); + ActionManager::register_action (common_actions, X_("Chat"), _("Chat"), mem_fun(*this, &ARDOUR_UI::launch_chat)); + ActionManager::register_action (common_actions, X_("Manual"), _("Manual"), mem_fun(*this, &ARDOUR_UI::launch_manual)); + ActionManager::register_action (common_actions, X_("Reference"), _("Reference"), mem_fun(*this, &ARDOUR_UI::launch_reference)); + ActionManager::register_toggle_action (common_actions, X_("ToggleThemeManager"), _("Theme Manager"), mem_fun(*this, &ARDOUR_UI::toggle_theme_manager)); ActionManager::register_toggle_action (common_actions, X_("ToggleKeyEditor"), _("Keybindings"), mem_fun(*this, &ARDOUR_UI::toggle_key_editor)); diff --git a/gtk2_ardour/crossfade_edit.cc b/gtk2_ardour/crossfade_edit.cc index f4e18c69c4..9e4f8cbc03 100644 --- a/gtk2_ardour/crossfade_edit.cc +++ b/gtk2_ardour/crossfade_edit.cc @@ -412,15 +412,16 @@ CrossfadeEditor::point_event (GdkEvent* event, Point* point) if (point_grabbed) { double new_x, new_y; - /* can't drag first or last points horizontally */ + /* can't drag first or last points horizontally or vetically*/ if (point == fade[current].points.front() || point == fade[current].points.back()) { new_x = point->x; + new_y = point->y; } else { new_x = (event->motion.x - canvas_border)/effective_width(); + new_y = 1.0 - ((event->motion.y - canvas_border)/effective_height()); } - new_y = 1.0 - ((event->motion.y - canvas_border)/effective_height()); point->move_to (x_coordinate (new_x), y_coordinate (new_y), new_x, new_y); redraw (); diff --git a/libs/ardour/crossfade.cc b/libs/ardour/crossfade.cc index 890a86a9cc..41737b1f93 100644 --- a/libs/ardour/crossfade.cc +++ b/libs/ardour/crossfade.cc @@ -798,6 +798,9 @@ Crossfade::set_state (const XMLNode& node) } } + _fade_in.front()->value=0.0; + _fade_in.back()->value=1.0; + _fade_in.thaw (); /* fade out */ @@ -823,6 +826,9 @@ Crossfade::set_state (const XMLNode& node) } } + _fade_out.front()->value=1.0; + _fade_out.back()->value=0.0; + _fade_out.thaw (); StateChanged (what_changed); /* EMIT SIGNAL */