2007-04-26 16:54:31 -04:00
/*
Copyright ( C ) 2000 - 2007 Paul Davis
This program is free software ; you can redistribute it and / or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation ; either version 2 of the License , or
( at your option ) any later version .
This program is distributed in the hope that it will be useful ,
but WITHOUT ANY WARRANTY ; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE . See the
GNU General Public License for more details .
You should have received a copy of the GNU General Public License
along with this program ; if not , write to the Free Software
Foundation , Inc . , 675 Mass Ave , Cambridge , MA 0213 9 , USA .
*/
2009-02-25 13:26:51 -05:00
# include "ardour/ardour.h"
# include "ardour/profile.h"
2005-10-09 13:58:06 -04:00
2005-11-12 17:07:07 -05:00
# include "actions.h"
2005-11-23 12:21:12 -05:00
# include "ardour_ui.h"
2009-02-18 19:15:54 -05:00
# include "editing.h"
# include "editor.h"
2006-09-29 17:39:39 -04:00
# include "gui_thread.h"
2009-02-18 19:15:54 -05:00
# include "time_axis_view.h"
# include "utils.h"
2005-10-09 13:58:06 -04:00
# include "i18n.h"
using namespace Gtk ;
2005-11-24 09:59:36 -05:00
using namespace Glib ;
2005-10-09 13:58:06 -04:00
using namespace std ;
using namespace sigc ;
using namespace ARDOUR ;
2006-06-21 19:01:03 -04:00
using namespace PBD ;
2005-10-09 13:58:06 -04:00
using namespace Editing ;
2005-10-09 01:03:29 -04:00
void
Editor : : register_actions ( )
{
2005-11-24 09:59:36 -05:00
RefPtr < Action > act ;
2006-04-09 23:54:00 -04:00
editor_actions = ActionGroup : : create ( X_ ( " Editor " ) ) ;
2005-12-24 13:25:26 -05:00
/* non-operative menu items for menu bar */
2006-01-07 21:56:49 -05:00
2008-02-19 17:10:27 -05:00
ActionManager : : register_action ( editor_actions , X_ ( " AlignMenu " ) , _ ( " Align " ) ) ;
ActionManager : : register_action ( editor_actions , X_ ( " Autoconnect " ) , _ ( " Autoconnect " ) ) ;
ActionManager : : register_action ( editor_actions , X_ ( " Crossfades " ) , _ ( " Crossfades " ) ) ;
2005-12-24 13:25:26 -05:00
ActionManager : : register_action ( editor_actions , X_ ( " Edit " ) , _ ( " Edit " ) ) ;
2007-11-12 17:23:01 -05:00
ActionManager : : register_action ( editor_actions , X_ ( " EditCursorMovementOptions " ) , _ ( " Move Selected Marker " ) ) ;
2008-02-19 17:10:27 -05:00
ActionManager : : register_action ( editor_actions , X_ ( " EditSelectRangeOptions " ) , _ ( " Select Range Operations " ) ) ;
ActionManager : : register_action ( editor_actions , X_ ( " EditSelectRegionOptions " ) , _ ( " Select Regions " ) ) ;
ActionManager : : register_action ( editor_actions , X_ ( " EditPointMenu " ) , _ ( " Edit Point " ) ) ;
ActionManager : : register_action ( editor_actions , X_ ( " FadeMenu " ) , _ ( " Fade " ) ) ;
ActionManager : : register_action ( editor_actions , X_ ( " LatchMenu " ) , _ ( " Latch " ) ) ;
ActionManager : : register_action ( editor_actions , X_ ( " Layering " ) , _ ( " Layering " ) ) ;
ActionManager : : register_action ( editor_actions , X_ ( " Link " ) , _ ( " Link " ) ) ;
2008-12-12 09:43:24 -05:00
ActionManager : : register_action ( editor_actions , X_ ( " ZoomFocusMenu " ) , _ ( " Zoom Focus " ) ) ;
ActionManager : : register_action ( editor_actions , X_ ( " KeyMouseActions " ) , _ ( " Key Mouse " ) ) ;
2009-01-02 22:35:56 -05:00
ActionManager : : register_action ( editor_actions , X_ ( " LocateToMarker " ) , _ ( " Locate to Markers " ) ) ;
2008-02-19 17:10:27 -05:00
ActionManager : : register_action ( editor_actions , X_ ( " MarkerMenu " ) , _ ( " Markers " ) ) ;
2006-01-07 21:56:49 -05:00
ActionManager : : register_action ( editor_actions , X_ ( " MeterFalloff " ) , _ ( " Meter falloff " ) ) ;
2008-02-19 17:10:27 -05:00
ActionManager : : register_action ( editor_actions , X_ ( " MeterHold " ) , _ ( " Meter hold " ) ) ;
2008-04-11 10:06:50 -04:00
ActionManager : : register_action ( editor_actions , X_ ( " MiscOptions " ) , _ ( " Misc Options " ) ) ;
2006-01-07 21:56:49 -05:00
ActionManager : : register_action ( editor_actions , X_ ( " Monitoring " ) , _ ( " Monitoring " ) ) ;
2008-02-19 17:10:27 -05:00
ActionManager : : register_action ( editor_actions , X_ ( " MoveActiveMarkMenu " ) , _ ( " Active Mark " ) ) ;
ActionManager : : register_action ( editor_actions , X_ ( " MovePlayHeadMenu " ) , _ ( " Playhead " ) ) ;
ActionManager : : register_action ( editor_actions , X_ ( " NudgeRegionMenu " ) , _ ( " Nudge " ) ) ;
ActionManager : : register_action ( editor_actions , X_ ( " PlayMenu " ) , _ ( " Play " ) ) ;
ActionManager : : register_action ( editor_actions , X_ ( " PrimaryClockMenu " ) , _ ( " Primary Clock " ) ) ;
2006-09-18 12:50:42 -04:00
ActionManager : : register_action ( editor_actions , X_ ( " Pullup " ) , _ ( " Pullup / Pulldown " ) ) ;
2008-03-17 16:54:03 -04:00
ActionManager : : register_action ( editor_actions , X_ ( " RegionMenu " ) , _ ( " Region " ) ) ;
2008-02-19 17:10:27 -05:00
ActionManager : : register_action ( editor_actions , X_ ( " RegionEditOps " ) , _ ( " Region operations " ) ) ;
ActionManager : : register_action ( editor_actions , X_ ( " RegionGainMenu " ) , _ ( " Gain " ) ) ;
ActionManager : : register_action ( editor_actions , X_ ( " RulerMenu " ) , _ ( " Rulers " ) ) ;
2008-09-10 11:03:30 -04:00
ActionManager : : register_action ( editor_actions , X_ ( " SavedViewMenu " ) , _ ( " Views " ) ) ;
2008-02-19 17:10:27 -05:00
ActionManager : : register_action ( editor_actions , X_ ( " ScrollMenu " ) , _ ( " Scroll " ) ) ;
ActionManager : : register_action ( editor_actions , X_ ( " SecondaryClockMenu " ) , _ ( " Secondary Clock " ) ) ;
ActionManager : : register_action ( editor_actions , X_ ( " Select " ) , _ ( " Select " ) ) ;
ActionManager : : register_action ( editor_actions , X_ ( " SelectMenu " ) , _ ( " Select " ) ) ;
ActionManager : : register_action ( editor_actions , X_ ( " SeparateMenu " ) , _ ( " Separate " ) ) ;
ActionManager : : register_action ( editor_actions , X_ ( " SetLoopMenu " ) , _ ( " Loop " ) ) ;
ActionManager : : register_action ( editor_actions , X_ ( " SetPunchMenu " ) , _ ( " Punch " ) ) ;
ActionManager : : register_action ( editor_actions , X_ ( " Solo " ) , _ ( " Solo " ) ) ;
2006-11-20 09:27:56 -05:00
ActionManager : : register_action ( editor_actions , X_ ( " Subframes " ) , _ ( " Subframes " ) ) ;
2008-03-17 16:54:03 -04:00
ActionManager : : register_action ( editor_actions , X_ ( " SyncMenu " ) , _ ( " Sync " ) ) ;
2008-02-19 17:10:27 -05:00
ActionManager : : register_action ( editor_actions , X_ ( " TempoMenu " ) , _ ( " Tempo " ) ) ;
ActionManager : : register_action ( editor_actions , X_ ( " Timecode " ) , _ ( " Timecode fps " ) ) ;
2008-03-17 16:54:03 -04:00
ActionManager : : register_action ( editor_actions , X_ ( " TrackHeightMenu " ) , _ ( " Height " ) ) ;
ActionManager : : register_action ( editor_actions , X_ ( " TrackMenu " ) , _ ( " Track " ) ) ;
2008-02-19 17:10:27 -05:00
ActionManager : : register_action ( editor_actions , X_ ( " Tools " ) , _ ( " Tools " ) ) ;
ActionManager : : register_action ( editor_actions , X_ ( " TrimMenu " ) , _ ( " Trim " ) ) ;
ActionManager : : register_action ( editor_actions , X_ ( " View " ) , _ ( " View " ) ) ;
2008-03-17 16:54:03 -04:00
ActionManager : : register_action ( editor_actions , X_ ( " WaveformMenu " ) , _ ( " Waveforms " ) ) ;
2008-09-10 11:03:30 -04:00
ActionManager : : register_action ( editor_actions , X_ ( " ZoomFocus " ) , _ ( " Zoom Focus " ) ) ;
2008-02-19 17:10:27 -05:00
ActionManager : : register_action ( editor_actions , X_ ( " ZoomMenu " ) , _ ( " Zoom " ) ) ;
2005-10-09 01:03:29 -04:00
2005-11-17 16:31:37 -05:00
/* add named actions for the editor */
2008-04-11 10:06:50 -04:00
ActionManager : : register_action ( editor_actions , " break-drag " , _ ( " Break drag " ) , mem_fun ( * this , & Editor : : break_drag ) ) ;
2008-01-10 16:20:59 -05:00
2006-03-09 11:28:07 -05:00
act = ActionManager : : register_toggle_action ( editor_actions , " show-editor-mixer " , _ ( " Show Editor Mixer " ) , mem_fun ( * this , & Editor : : editor_mixer_button_toggled ) ) ;
2006-01-30 22:27:25 -05:00
ActionManager : : session_sensitive_actions . push_back ( act ) ;
2007-06-15 03:39:20 -04:00
act = ActionManager : : register_toggle_action ( editor_actions , " show-editor-list " , _ ( " Show Editor List " ) , mem_fun ( * this , & Editor : : editor_list_button_toggled ) ) ;
ActionManager : : session_sensitive_actions . push_back ( act ) ;
2006-01-30 22:27:25 -05:00
2008-10-09 17:55:05 -04:00
act = ActionManager : : r egister_action ( editor_actions , " toggle-selected-region-fade-in " , _ ( " Toggle Region Fade In " ) , bind ( mem_fun ( * this , & Editor : : toggle_selected_region_fades ) , 1 ) ) ; ;
ActionManager : : session_sensitive_actions . push_back ( act ) ;
act = ActionManager : : register_action ( editor_actions , " toggle-selected-region-fade-out " , _ ( " Toggle Region Fade Out " ) , bind ( mem_fun ( * this , & Editor : : toggle_selected_region_fades ) , - 1 ) ) ; ;
ActionManager : : session_sensitive_actions . push_back ( act ) ;
act = ActionManager : : register_action ( editor_actions , " toggle-selected-region-fades " , _ ( " Toggle Region Fades " ) , bind ( mem_fun ( * this , & Editor : : toggle_selected_region_fades ) , 0 ) ) ;
2008-10-09 10:15:45 -04:00
ActionManager : : session_sensitive_actions . push_back ( act ) ;
2005-12-24 13:25:26 -05:00
2009-04-15 14:04:23 -04:00
act = ActionManager : : register_action ( editor_actions , " playhead-to-next-region-boundary " , _ ( " Playhead to Next Region Boundary " ) , bind ( mem_fun ( * this , & Editor : : cursor_to_next_region_boundary ) , true ) ) ;
2008-01-10 16:20:59 -05:00
ActionManager : : session_sensitive_actions . push_back ( act ) ;
2009-04-15 14:04:23 -04:00
act = ActionManager : : register_action ( editor_actions , " playhead-to-next-region-boundary-noselection " , _ ( " Playhead to Next Region Boundary (No Track Selection) " ) , bind ( mem_fun ( * this , & Editor : : cursor_to_next_region_boundary ) , false ) ) ;
ActionManager : : session_sensitive_actions . push_back ( act ) ;
act = ActionManager : : register_action ( editor_actions , " playhead-to-previous-region-boundary " , _ ( " Playhead to Previous Region Boundary " ) , bind ( mem_fun ( * this , & Editor : : cursor_to_previous_region_boundary ) , true ) ) ;
ActionManager : : session_sensitive_actions . push_back ( act ) ;
act = ActionManager : : register_action ( editor_actions , " playhead-to-previous-region-boundary-noselection " , _ ( " Playhead to Previous Region Boundary (No Track Selection " ) , bind ( mem_fun ( * this , & Editor : : cursor_to_previous_region_boundary ) , false ) ) ;
2008-01-10 16:20:59 -05:00
ActionManager : : session_sensitive_actions . push_back ( act ) ;
2006-03-09 11:28:07 -05:00
act = ActionManager : : register_action ( editor_actions , " playhead-to-next-region-start " , _ ( " Playhead to Next Region Start " ) , bind ( mem_fun ( * this , & Editor : : cursor_to_next_region_point ) , playhead_cursor , RegionPoint ( Start ) ) ) ;
2005-12-24 13:25:26 -05:00
ActionManager : : session_sensitive_actions . push_back ( act ) ;
2006-03-09 11:28:07 -05:00
act = ActionManager : : register_action ( editor_actions , " playhead-to-next-region-end " , _ ( " Playhead to Next Region End " ) , bind ( mem_fun ( * this , & Editor : : cursor_to_next_region_point ) , playhead_cursor , RegionPoint ( End ) ) ) ;
2005-12-24 13:25:26 -05:00
ActionManager : : session_sensitive_actions . push_back ( act ) ;
2006-03-09 11:28:07 -05:00
act = ActionManager : : register_action ( editor_actions , " playhead-to-next-region-sync " , _ ( " Playhead to Next Region Sync " ) , bind ( mem_fun ( * this , & Editor : : cursor_to_next_region_point ) , playhead_cursor , RegionPoint ( SyncPoint ) ) ) ;
2005-12-24 13:25:26 -05:00
ActionManager : : session_sensitive_actions . push_back ( act ) ;
2006-03-09 11:28:07 -05:00
act = ActionManager : : register_action ( editor_actions , " playhead-to-previous-region-start " , _ ( " Playhead to Previous Region Start " ) , bind ( mem_fun ( * this , & Editor : : cursor_to_previous_region_point ) , playhead_cursor , RegionPoint ( Start ) ) ) ;
2005-12-24 13:25:26 -05:00
ActionManager : : session_sensitive_actions . push_back ( act ) ;
2006-03-09 11:28:07 -05:00
act = ActionManager : : register_action ( editor_actions , " playhead-to-previous-region-end " , _ ( " Playhead to Previous Region End " ) , bind ( mem_fun ( * this , & Editor : : cursor_to_previous_region_point ) , playhead_cursor , RegionPoint ( End ) ) ) ;
2005-12-24 13:25:26 -05:00
ActionManager : : session_sensitive_actions . push_back ( act ) ;
2006-03-09 11:28:07 -05:00
act = ActionManager : : register_action ( editor_actions , " playhead-to-previous-region-sync " , _ ( " Playhead to Previous Region Sync " ) , bind ( mem_fun ( * this , & Editor : : cursor_to_previous_region_point ) , playhead_cursor , RegionPoint ( SyncPoint ) ) ) ;
2005-12-24 13:25:26 -05:00
ActionManager : : session_sensitive_actions . push_back ( act ) ;
2009-04-15 14:04:23 -04:00
act = ActionManager : : register_action ( editor_actions , " selected-marker-to-next-region-boundary " , _ ( " to Next Region Boundary " ) , bind ( mem_fun ( * this , & Editor : : selected_marker_to_next_region_boundary ) , true ) ) ;
ActionManager : : session_sensitive_actions . push_back ( act ) ;
act = ActionManager : : register_action ( editor_actions , " selected-marker-to-next-region-boundary-noselection " , _ ( " to Next Region Boundary (No Track Selection) " ) , bind ( mem_fun ( * this , & Editor : : selected_marker_to_next_region_boundary ) , false ) ) ;
ActionManager : : session_sensitive_actions . push_back ( act ) ;
act = ActionManager : : register_action ( editor_actions , " selected-marker-to-previous-region-boundary " , _ ( " to Previous Region Boundary " ) , bind ( mem_fun ( * this , & Editor : : selected_marker_to_previous_region_boundary ) , true ) ) ;
ActionManager : : session_sensitive_actions . push_back ( act ) ;
act = ActionManager : : register_action ( editor_actions , " selected-marker-to-previous-region-boundary-noselection " , _ ( " to Previous Region Boundary (No Track Selection) " ) , bind ( mem_fun ( * this , & Editor : : selected_marker_to_previous_region_boundary ) , false ) ) ;
ActionManager : : session_sensitive_actions . push_back ( act ) ;
2008-01-10 16:20:59 -05:00
2009-01-02 22:35:56 -05:00
act = ActionManager : : register_action ( editor_actions , " edit-cursor-to-next-region-start " , _ ( " To Next Region Start " ) , bind ( mem_fun ( * this , & Editor : : selected_marker_to_next_region_point ) , RegionPoint ( Start ) ) ) ;
2005-12-24 13:25:26 -05:00
ActionManager : : session_sensitive_actions . push_back ( act ) ;
2009-01-02 22:35:56 -05:00
act = ActionManager : : register_action ( editor_actions , " edit-cursor-to-next-region-end " , _ ( " To Next Region End " ) , bind ( mem_fun ( * this , & Editor : : selected_marker_to_next_region_point ) , RegionPoint ( End ) ) ) ;
2005-12-24 13:25:26 -05:00
ActionManager : : session_sensitive_actions . push_back ( act ) ;
2009-01-02 22:35:56 -05:00
act = ActionManager : : register_action ( editor_actions , " edit-cursor-to-next-region-sync " , _ ( " To Next Region Sync " ) , bind ( mem_fun ( * this , & Editor : : selected_marker_to_next_region_point ) , RegionPoint ( SyncPoint ) ) ) ;
2005-12-24 13:25:26 -05:00
ActionManager : : session_sensitive_actions . push_back ( act ) ;
2009-01-02 22:35:56 -05:00
act = ActionManager : : register_action ( editor_actions , " edit-cursor-to-previous-region-start " , _ ( " To Previous Region Start " ) , bind ( mem_fun ( * this , & Editor : : selected_marker_to_previous_region_point ) , RegionPoint ( Start ) ) ) ;
2005-12-24 13:25:26 -05:00
ActionManager : : session_sensitive_actions . push_back ( act ) ;
2009-01-02 22:35:56 -05:00
act = ActionManager : : register_action ( editor_actions , " edit-cursor-to-previous-region-end " , _ ( " To Previous Region End " ) , bind ( mem_fun ( * this , & Editor : : selected_marker_to_previous_region_point ) , RegionPoint ( End ) ) ) ;
2005-12-24 13:25:26 -05:00
ActionManager : : session_sensitive_actions . push_back ( act ) ;
2009-01-02 22:35:56 -05:00
act = ActionManager : : register_action ( editor_actions , " edit-cursor-to-previous-region-sync " , _ ( " To Previous Region Sync " ) , bind ( mem_fun ( * this , & Editor : : selected_marker_to_previous_region_point ) , RegionPoint ( SyncPoint ) ) ) ;
2005-12-24 13:25:26 -05:00
ActionManager : : session_sensitive_actions . push_back ( act ) ;
2009-01-02 22:35:56 -05:00
act = ActionManager : : register_action ( editor_actions , " edit-cursor-to-range-start " , _ ( " To Range Start " ) , mem_fun ( * this , & Editor : : selected_marker_to_selection_start ) ) ;
2005-12-24 13:25:26 -05:00
ActionManager : : session_sensitive_actions . push_back ( act ) ;
2009-01-02 22:35:56 -05:00
act = ActionManager : : register_action ( editor_actions , " edit-cursor-to-range-end " , _ ( " To Range End " ) , mem_fun ( * this , & Editor : : selected_marker_to_selection_end ) ) ;
2005-12-24 13:25:26 -05:00
ActionManager : : session_sensitive_actions . push_back ( act ) ;
2007-11-12 17:23:01 -05:00
act = ActionManager : : register_action ( editor_actions , " playhead-to-range-start " , _ ( " Playhead to Range Start " ) , bind ( mem_fun ( * this , & Editor : : cursor_to_selection_start ) , playhead_cursor ) ) ;
2005-12-24 13:25:26 -05:00
ActionManager : : session_sensitive_actions . push_back ( act ) ;
2007-11-12 17:23:01 -05:00
act = ActionManager : : register_action ( editor_actions , " playhead-to-range-end " , _ ( " Playhead to Range End " ) , bind ( mem_fun ( * this , & Editor : : cursor_to_selection_end ) , playhead_cursor ) ) ;
2005-12-24 13:25:26 -05:00
ActionManager : : session_sensitive_actions . push_back ( act ) ;
2007-10-09 20:15:41 -04:00
act = ActionManager : : register_action ( editor_actions , " select-all " , _ ( " Select All " ) , bind ( mem_fun ( * this , & Editor : : select_all ) , Selection : : Set ) ) ;
2005-12-24 13:25:26 -05:00
ActionManager : : session_sensitive_actions . push_back ( act ) ;
2008-01-10 16:20:59 -05:00
act = ActionManager : : register_action ( editor_actions , " deselect-all " , _ ( " Deselect All " ) , mem_fun ( * this , & Editor : : deselect_all ) ) ;
2006-01-23 11:02:48 -05:00
ActionManager : : session_sensitive_actions . push_back ( act ) ;
2008-01-10 16:20:59 -05:00
act = ActionManager : : register_action ( editor_actions , " invert-selection " , _ ( " Invert Selection " ) , mem_fun ( * this , & Editor : : invert_selection ) ) ;
ActionManager : : session_sensitive_actions . push_back ( act ) ;
act = ActionManager : : register_action ( editor_actions , " select-all-after-edit-cursor " , _ ( " Select All After Edit Point " ) , bind ( mem_fun ( * this , & Editor : : select_all_selectables_using_edit ) , true ) ) ;
ActionManager : : session_sensitive_actions . push_back ( act ) ;
act = ActionManager : : register_action ( editor_actions , " select-all-before-edit-cursor " , _ ( " Select All Before Edit Point " ) , bind ( mem_fun ( * this , & Editor : : select_all_selectables_using_edit ) , false ) ) ;
2006-01-23 11:02:48 -05:00
ActionManager : : session_sensitive_actions . push_back ( act ) ;
2008-04-11 10:06:50 -04:00
act = ActionManager : : register_action ( editor_actions , " select-all-between-cursors " , _ ( " Select All Overlapping Edit Range " ) , bind ( mem_fun ( * this , & Editor : : select_all_selectables_between ) , false ) ) ;
2006-01-23 11:02:48 -05:00
ActionManager : : session_sensitive_actions . push_back ( act ) ;
2008-04-11 10:06:50 -04:00
act = ActionManager : : register_action ( editor_actions , " select-all-within-cursors " , _ ( " Select All Inside Edit Range " ) , bind ( mem_fun ( * this , & Editor : : select_all_selectables_between ) , true ) ) ;
2007-11-12 17:23:01 -05:00
ActionManager : : session_sensitive_actions . push_back ( act ) ;
2008-04-11 10:06:50 -04:00
act = ActionManager : : register_action ( editor_actions , " select-range-between-cursors " , _ ( " Select Edit Range " ) , mem_fun ( * this , & Editor : : select_range_between ) ) ;
2006-03-31 19:21:25 -05:00
ActionManager : : session_sensitive_actions . push_back ( act ) ;
2006-01-23 11:02:48 -05:00
2006-03-09 11:28:07 -05:00
act = ActionManager : : register_action ( editor_actions , " select-all-in-punch-range " , _ ( " Select All in Punch Range " ) , mem_fun ( * this , & Editor : : select_all_selectables_using_punch ) ) ;
2006-01-23 11:02:48 -05:00
ActionManager : : session_sensitive_actions . push_back ( act ) ;
2006-03-09 11:28:07 -05:00
act = ActionManager : : register_action ( editor_actions , " select-all-in-loop-range " , _ ( " Select All in Loop Range " ) , mem_fun ( * this , & Editor : : select_all_selectables_using_loop ) ) ;
2006-01-23 11:02:48 -05:00
ActionManager : : session_sensitive_actions . push_back ( act ) ;
2008-01-10 16:20:59 -05:00
act = ActionManager : : register_action ( editor_actions , " select-next-route " , _ ( " Select Next Track/Bus " ) , mem_fun ( * this , & Editor : : select_next_route ) ) ;
ActionManager : : session_sensitive_actions . push_back ( act ) ;
act = ActionManager : : register_action ( editor_actions , " select-prev-route " , _ ( " Select Previous Track/Bus " ) , mem_fun ( * this , & Editor : : select_prev_route ) ) ;
ActionManager : : session_sensitive_actions . push_back ( act ) ;
2008-12-12 09:43:24 -05:00
act = ActionManager : : register_action ( editor_actions , " track-record-enable-toggle " , _ ( " Toggle Record Enable " ) , mem_fun ( * this , & Editor : : toggle_record_enable ) ) ;
ActionManager : : session_sensitive_actions . push_back ( act ) ;
2008-01-10 16:20:59 -05:00
2008-09-10 11:03:30 -04:00
act = ActionManager : : register_action ( editor_actions , " save-visual-state-1 " , _ ( " Save View 1 " ) , bind ( mem_fun ( * this , & Editor : : start_visual_state_op ) , 0 ) ) ;
ActionManager : : session_sensitive_actions . push_back ( act ) ;
act = ActionManager : : register_action ( editor_actions , " goto-visual-state-1 " , _ ( " Goto View 1 " ) , bind ( mem_fun ( * this , & Editor : : cancel_visual_state_op ) , 0 ) ) ;
ActionManager : : session_sensitive_actions . push_back ( act ) ;
act = ActionManager : : register_action ( editor_actions , " save-visual-state-2 " , _ ( " Save View 2 " ) , bind ( mem_fun ( * this , & Editor : : start_visual_state_op ) , 1 ) ) ;
ActionManager : : session_sensitive_actions . push_back ( act ) ;
act = ActionManager : : register_action ( editor_actions , " goto-visual-state-2 " , _ ( " Goto View 2 " ) , bind ( mem_fun ( * this , & Editor : : cancel_visual_state_op ) , 1 ) ) ;
ActionManager : : session_sensitive_actions . push_back ( act ) ;
act = ActionManager : : register_action ( editor_actions , " save-visual-state-3 " , _ ( " Save View 3 " ) , bind ( mem_fun ( * this , & Editor : : start_visual_state_op ) , 2 ) ) ;
ActionManager : : session_sensitive_actions . push_back ( act ) ;
act = ActionManager : : register_action ( editor_actions , " goto-visual-state-3 " , _ ( " Goto View 3 " ) , bind ( mem_fun ( * this , & Editor : : cancel_visual_state_op ) , 2 ) ) ;
ActionManager : : session_sensitive_actions . push_back ( act ) ;
act = ActionManager : : register_action ( editor_actions , " save-visual-state-4 " , _ ( " Save View 4 " ) , bind ( mem_fun ( * this , & Editor : : start_visual_state_op ) , 3 ) ) ;
ActionManager : : session_sensitive_actions . push_back ( act ) ;
act = ActionManager : : register_action ( editor_actions , " goto-visual-state-4 " , _ ( " Goto View 4 " ) , bind ( mem_fun ( * this , & Editor : : cancel_visual_state_op ) , 3 ) ) ;
ActionManager : : session_sensitive_actions . push_back ( act ) ;
act = ActionManager : : register_action ( editor_actions , " save-visual-state-5 " , _ ( " Save View 5 " ) , bind ( mem_fun ( * this , & Editor : : start_visual_state_op ) , 4 ) ) ;
ActionManager : : session_sensitive_actions . push_back ( act ) ;
act = ActionManager : : register_action ( editor_actions , " goto-visual-state-5 " , _ ( " Goto View 5 " ) , bind ( mem_fun ( * this , & Editor : : cancel_visual_state_op ) , 4 ) ) ;
ActionManager : : session_sensitive_actions . push_back ( act ) ;
act = ActionManager : : register_action ( editor_actions , " save-visual-state-6 " , _ ( " Save View 6 " ) , bind ( mem_fun ( * this , & Editor : : start_visual_state_op ) , 5 ) ) ;
ActionManager : : session_sensitive_actions . push_back ( act ) ;
act = ActionManager : : register_action ( editor_actions , " goto-visual-state-6 " , _ ( " Goto View 6 " ) , bind ( mem_fun ( * this , & Editor : : cancel_visual_state_op ) , 5 ) ) ;
ActionManager : : session_sensitive_actions . push_back ( act ) ;
act = ActionManager : : register_action ( editor_actions , " save-visual-state-7 " , _ ( " Save View 7 " ) , bind ( mem_fun ( * this , & Editor : : start_visual_state_op ) , 6 ) ) ;
ActionManager : : session_sensitive_actions . push_back ( act ) ;
act = ActionManager : : register_action ( editor_actions , " goto-visual-state-7 " , _ ( " Goto View 7 " ) , bind ( mem_fun ( * this , & Editor : : cancel_visual_state_op ) , 6 ) ) ;
ActionManager : : session_sensitive_actions . push_back ( act ) ;
act = ActionManager : : register_action ( editor_actions , " save-visual-state-8 " , _ ( " Save View 8 " ) , bind ( mem_fun ( * this , & Editor : : start_visual_state_op ) , 7 ) ) ;
ActionManager : : session_sensitive_actions . push_back ( act ) ;
act = ActionManager : : register_action ( editor_actions , " goto-visual-state-8 " , _ ( " Goto View 8 " ) , bind ( mem_fun ( * this , & Editor : : cancel_visual_state_op ) , 7 ) ) ;
ActionManager : : session_sensitive_actions . push_back ( act ) ;
act = ActionManager : : register_action ( editor_actions , " save-visual-state-9 " , _ ( " Save View 9 " ) , bind ( mem_fun ( * this , & Editor : : start_visual_state_op ) , 8 ) ) ;
ActionManager : : session_sensitive_actions . push_back ( act ) ;
act = ActionManager : : register_action ( editor_actions , " goto-visual-state-9 " , _ ( " Goto View 9 " ) , bind ( mem_fun ( * this , & Editor : : cancel_visual_state_op ) , 8 ) ) ;
ActionManager : : session_sensitive_actions . push_back ( act ) ;
act = ActionManager : : register_action ( editor_actions , " save-visual-state-10 " , _ ( " Save View 10 " ) , bind ( mem_fun ( * this , & Editor : : start_visual_state_op ) , 9 ) ) ;
ActionManager : : session_sensitive_actions . push_back ( act ) ;
act = ActionManager : : register_action ( editor_actions , " goto-visual-state-10 " , _ ( " Goto View 10 " ) , bind ( mem_fun ( * this , & Editor : : cancel_visual_state_op ) , 9 ) ) ;
ActionManager : : session_sensitive_actions . push_back ( act ) ;
act = ActionManager : : register_action ( editor_actions , " save-visual-state-11 " , _ ( " Save View 11 " ) , bind ( mem_fun ( * this , & Editor : : start_visual_state_op ) , 10 ) ) ;
ActionManager : : session_sensitive_actions . push_back ( act ) ;
act = ActionManager : : register_action ( editor_actions , " goto-visual-state-11 " , _ ( " Goto View 11 " ) , bind ( mem_fun ( * this , & Editor : : cancel_visual_state_op ) , 10 ) ) ;
ActionManager : : session_sensitive_actions . push_back ( act ) ;
act = ActionManager : : register_action ( editor_actions , " save-visual-state-12 " , _ ( " Save View 12 " ) , bind ( mem_fun ( * this , & Editor : : start_visual_state_op ) , 11 ) ) ;
ActionManager : : session_sensitive_actions . push_back ( act ) ;
act = ActionManager : : register_action ( editor_actions , " goto-visual-state-12 " , _ ( " Goto View 12 " ) , bind ( mem_fun ( * this , & Editor : : cancel_visual_state_op ) , 11 ) ) ;
ActionManager : : session_sensitive_actions . push_back ( act ) ;
2008-01-10 16:20:59 -05:00
act = ActionManager : : register_action ( editor_actions , " goto-mark-1 " , _ ( " Locate to Mark 1 " ) , bind ( mem_fun ( * this , & Editor : : goto_nth_marker ) , 0 ) ) ;
ActionManager : : session_sensitive_actions . push_back ( act ) ;
act = ActionManager : : register_action ( editor_actions , " goto-mark-2 " , _ ( " Locate to Mark 2 " ) , bind ( mem_fun ( * this , & Editor : : goto_nth_marker ) , 1 ) ) ;
ActionManager : : session_sensitive_actions . push_back ( act ) ;
act = ActionManager : : register_action ( editor_actions , " goto-mark-3 " , _ ( " Locate to Mark 3 " ) , bind ( mem_fun ( * this , & Editor : : goto_nth_marker ) , 2 ) ) ;
ActionManager : : session_sensitive_actions . push_back ( act ) ;
act = ActionManager : : register_action ( editor_actions , " goto-mark-4 " , _ ( " Locate to Mark 4 " ) , bind ( mem_fun ( * this , & Editor : : goto_nth_marker ) , 3 ) ) ;
ActionManager : : session_sensitive_actions . push_back ( act ) ;
act = ActionManager : : register_action ( editor_actions , " goto-mark-5 " , _ ( " Locate to Mark 5 " ) , bind ( mem_fun ( * this , & Editor : : goto_nth_marker ) , 4 ) ) ;
ActionManager : : session_sensitive_actions . push_back ( act ) ;
act = ActionManager : : register_action ( editor_actions , " goto-mark-6 " , _ ( " Locate to Mark 6 " ) , bind ( mem_fun ( * this , & Editor : : goto_nth_marker ) , 5 ) ) ;
ActionManager : : session_sensitive_actions . push_back ( act ) ;
act = ActionManager : : register_action ( editor_actions , " goto-mark-7 " , _ ( " Locate to Mark 7 " ) , bind ( mem_fun ( * this , & Editor : : goto_nth_marker ) , 6 ) ) ;
ActionManager : : session_sensitive_actions . push_back ( act ) ;
act = ActionManager : : register_action ( editor_actions , " goto-mark-8 " , _ ( " Locate to Mark 8 " ) , bind ( mem_fun ( * this , & Editor : : goto_nth_marker ) , 7 ) ) ;
ActionManager : : session_sensitive_actions . push_back ( act ) ;
act = ActionManager : : register_action ( editor_actions , " goto-mark-9 " , _ ( " Locate to Mark 9 " ) , bind ( mem_fun ( * this , & Editor : : goto_nth_marker ) , 8 ) ) ;
ActionManager : : session_sensitive_actions . push_back ( act ) ;
2006-01-23 11:02:48 -05:00
2006-03-09 11:28:07 -05:00
act = ActionManager : : register_action ( editor_actions , " jump-forward-to-mark " , _ ( " Jump Forward to Mark " ) , mem_fun ( * this , & Editor : : jump_forward_to_mark ) ) ;
2005-12-24 13:25:26 -05:00
ActionManager : : session_sensitive_actions . push_back ( act ) ;
2006-03-09 11:28:07 -05:00
act = ActionManager : : register_action ( editor_actions , " jump-backward-to-mark " , _ ( " Jump Backward to Mark " ) , mem_fun ( * this , & Editor : : jump_backward_to_mark ) ) ;
2005-12-24 13:25:26 -05:00
ActionManager : : session_sensitive_actions . push_back ( act ) ;
2007-02-02 15:55:16 -05:00
act = ActionManager : : register_action ( editor_actions , " add-location-from-playhead " , _ ( " Add Mark from Playhead " ) , mem_fun ( * this , & Editor : : add_location_from_playhead_cursor ) ) ;
2005-12-24 13:25:26 -05:00
ActionManager : : session_sensitive_actions . push_back ( act ) ;
2008-01-18 22:49:52 -05:00
act = ActionManager : : register_action ( editor_actions , " nudge-forward " , _ ( " Nudge Forward " ) , bind ( mem_fun ( * this , & Editor : : nudge_forward ) , false , false ) ) ;
2005-12-24 13:25:26 -05:00
ActionManager : : session_sensitive_actions . push_back ( act ) ;
2008-01-18 22:49:52 -05:00
act = ActionManager : : register_action ( editor_actions , " nudge-next-forward " , _ ( " Nudge Next Forward " ) , bind ( mem_fun ( * this , & Editor : : nudge_forward ) , true , false ) ) ;
2005-12-24 13:25:26 -05:00
ActionManager : : session_sensitive_actions . push_back ( act ) ;
2008-01-18 22:49:52 -05:00
act = ActionManager : : register_action ( editor_actions , " nudge-backward " , _ ( " Nudge Backward " ) , bind ( mem_fun ( * this , & Editor : : nudge_backward ) , false , false ) ) ;
2005-12-24 13:25:26 -05:00
ActionManager : : session_sensitive_actions . push_back ( act ) ;
2008-01-18 22:49:52 -05:00
act = ActionManager : : register_action ( editor_actions , " nudge-next-backward " , _ ( " Nudge Next Backward " ) , bind ( mem_fun ( * this , & Editor : : nudge_backward ) , true , false ) ) ;
2005-12-24 13:25:26 -05:00
ActionManager : : session_sensitive_actions . push_back ( act ) ;
2008-02-16 17:43:18 -05:00
act = ActionManager : : register_action ( editor_actions , " nudge-playhead-forward " , _ ( " Nudge Playhead Forward " ) , bind ( mem_fun ( * this , & Editor : : nudge_forward ) , false , true ) ) ;
ActionManager : : session_sensitive_actions . push_back ( act ) ;
act = ActionManager : : register_action ( editor_actions , " nudge-playhead-backward " , _ ( " Nudge Playhead Backward " ) , bind ( mem_fun ( * this , & Editor : : nudge_backward ) , false , true ) ) ;
ActionManager : : session_sensitive_actions . push_back ( act ) ;
2009-01-02 22:35:56 -05:00
act = ActionManager : : register_action ( editor_actions , " playhead-forward-to-grid " , _ ( " Forward to Grid " ) , mem_fun ( * this , & Editor : : playhead_forward_to_grid ) ) ;
2008-02-19 17:10:27 -05:00
ActionManager : : session_sensitive_actions . push_back ( act ) ;
2009-01-02 22:35:56 -05:00
act = ActionManager : : register_action ( editor_actions , " playhead-backward-to-grid " , _ ( " Backward to Grid " ) , mem_fun ( * this , & Editor : : playhead_backward_to_grid ) ) ;
2008-02-19 17:10:27 -05:00
ActionManager : : session_sensitive_actions . push_back ( act ) ;
2008-02-16 17:43:18 -05:00
2008-01-10 16:20:59 -05:00
2006-03-09 11:28:07 -05:00
act = ActionManager : : register_action ( editor_actions , " temporal-zoom-out " , _ ( " Zoom Out " ) , bind ( mem_fun ( * this , & Editor : : temporal_zoom_step ) , true ) ) ;
2005-12-24 13:25:26 -05:00
ActionManager : : session_sensitive_actions . push_back ( act ) ;
2006-03-09 11:28:07 -05:00
act = ActionManager : : register_action ( editor_actions , " temporal-zoom-in " , _ ( " Zoom In " ) , bind ( mem_fun ( * this , & Editor : : temporal_zoom_step ) , false ) ) ;
2005-12-24 13:25:26 -05:00
ActionManager : : session_sensitive_actions . push_back ( act ) ;
2006-03-09 11:28:07 -05:00
act = ActionManager : : register_action ( editor_actions , " zoom-to-session " , _ ( " Zoom to Session " ) , mem_fun ( * this , & Editor : : temporal_zoom_session ) ) ;
2005-12-24 13:25:26 -05:00
ActionManager : : session_sensitive_actions . push_back ( act ) ;
2008-09-10 11:03:30 -04:00
act = ActionManager : : register_action ( editor_actions , " zoom-to-region " , _ ( " Zoom to Region " ) , bind ( mem_fun ( * this , & Editor : : toggle_zoom_region ) , false ) ) ;
ActionManager : : session_sensitive_actions . push_back ( act ) ;
act = ActionManager : : register_action ( editor_actions , " zoom-to-region-both-axes " , _ ( " Zoom to Region (W&H) " ) , bind ( mem_fun ( * this , & Editor : : toggle_zoom_region ) , true ) ) ;
2008-01-10 16:20:59 -05:00
ActionManager : : session_sensitive_actions . push_back ( act ) ;
act = ActionManager : : register_action ( editor_actions , " toggle-zoom " , _ ( " Toggle Zoom State " ) , mem_fun ( * this , & Editor : : swap_visual_state ) ) ;
ActionManager : : session_sensitive_actions . push_back ( act ) ;
2005-12-24 13:25:26 -05:00
2008-12-08 13:16:12 -05:00
act = ActionManager : : register_action ( editor_actions , " move-selected-tracks-up " , _ ( " Move Selected Tracks Up " ) , bind ( mem_fun ( * this , & Editor : : move_selected_tracks ) , true ) ) ;
ActionManager : : session_sensitive_actions . push_back ( act ) ;
act = ActionManager : : register_action ( editor_actions , " move-selected-tracks-down " , _ ( " Move Selected Tracks Down " ) , bind ( mem_fun ( * this , & Editor : : move_selected_tracks ) , false ) ) ;
ActionManager : : session_sensitive_actions . push_back ( act ) ;
2006-03-09 11:28:07 -05:00
act = ActionManager : : register_action ( editor_actions , " scroll-tracks-up " , _ ( " Scroll Tracks Up " ) , mem_fun ( * this , & Editor : : scroll_tracks_up ) ) ;
2005-12-24 13:25:26 -05:00
ActionManager : : session_sensitive_actions . push_back ( act ) ;
2006-03-09 11:28:07 -05:00
act = ActionManager : : register_action ( editor_actions , " scroll-tracks-down " , _ ( " Scroll Tracks Down " ) , mem_fun ( * this , & Editor : : scroll_tracks_down ) ) ;
2005-12-24 13:25:26 -05:00
ActionManager : : session_sensitive_actions . push_back ( act ) ;
2006-03-09 11:28:07 -05:00
act = ActionManager : : register_action ( editor_actions , " step-tracks-up " , _ ( " Step Tracks Up " ) , mem_fun ( * this , & Editor : : scroll_tracks_up_line ) ) ;
2005-12-24 13:25:26 -05:00
ActionManager : : session_sensitive_actions . push_back ( act ) ;
2006-03-09 11:28:07 -05:00
act = ActionManager : : register_action ( editor_actions , " step-tracks-down " , _ ( " Step Tracks Down " ) , mem_fun ( * this , & Editor : : scroll_tracks_down_line ) ) ;
2005-12-24 13:25:26 -05:00
ActionManager : : session_sensitive_actions . push_back ( act ) ;
2006-03-09 11:28:07 -05:00
act = ActionManager : : register_action ( editor_actions , " scroll-backward " , _ ( " Scroll Backward " ) , bind ( mem_fun ( * this , & Editor : : scroll_backward ) , 0.8f ) ) ;
2005-12-24 13:25:26 -05:00
ActionManager : : session_sensitive_actions . push_back ( act ) ;
2006-03-09 11:28:07 -05:00
act = ActionManager : : register_action ( editor_actions , " scroll-forward " , _ ( " Scroll Forward " ) , bind ( mem_fun ( * this , & Editor : : scroll_forward ) , 0.8f ) ) ;
2005-12-24 13:25:26 -05:00
ActionManager : : session_sensitive_actions . push_back ( act ) ;
act = ActionManager : : register_action ( editor_actions , " goto " , _ ( " goto " ) , mem_fun ( * this , & Editor : : goto_frame ) ) ;
ActionManager : : session_sensitive_actions . push_back ( act ) ;
2008-03-17 16:54:03 -04:00
act = ActionManager : : register_action ( editor_actions , " center-playhead " , _ ( " Center Playhead " ) , mem_fun ( * this , & Editor : : center_playhead ) ) ;
2005-12-24 13:25:26 -05:00
ActionManager : : session_sensitive_actions . push_back ( act ) ;
2008-03-17 16:54:03 -04:00
act = ActionManager : : register_action ( editor_actions , " center-edit-cursor " , _ ( " Center Active Marker " ) , mem_fun ( * this , & Editor : : center_edit_point ) ) ;
2005-12-24 13:25:26 -05:00
ActionManager : : session_sensitive_actions . push_back ( act ) ;
2007-01-17 08:13:58 -05:00
2008-03-17 16:54:03 -04:00
act = ActionManager : : register_action ( editor_actions , " scroll-playhead-forward " , _ ( " Playhead Forward " ) , bind ( mem_fun ( * this , & Editor : : scroll_playhead ) , true ) ) ; ;
2005-12-24 13:25:26 -05:00
ActionManager : : session_sensitive_actions . push_back ( act ) ;
2007-01-17 08:13:58 -05:00
act = ActionManager : : register_action ( editor_actions , " scroll-playhead-backward " , _ ( " Playhead Backward " ) , bind ( mem_fun ( * this , & Editor : : scroll_playhead ) , false ) ) ;
2005-12-24 13:25:26 -05:00
ActionManager : : session_sensitive_actions . push_back ( act ) ;
2007-01-17 08:13:58 -05:00
2009-01-02 22:35:56 -05:00
act = ActionManager : : register_action ( editor_actions , " playhead-to-edit " , _ ( " Playhead to Active Mark " ) , bind ( mem_fun ( * this , & Editor : : cursor_align ) , true ) ) ;
2005-12-24 13:25:26 -05:00
ActionManager : : session_sensitive_actions . push_back ( act ) ;
2009-01-02 22:35:56 -05:00
act = ActionManager : : register_action ( editor_actions , " edit-to-playhead " , _ ( " Active Mark to Playhead " ) , bind ( mem_fun ( * this , & Editor : : cursor_align ) , false ) ) ;
2005-12-24 13:25:26 -05:00
ActionManager : : session_sensitive_actions . push_back ( act ) ;
2009-01-02 22:35:56 -05:00
act = ActionManager : : register_action ( editor_actions , " trim-front " , _ ( " Trim Start at Edit Point " ) , mem_fun ( * this , & Editor : : trim_region_front ) ) ;
2008-01-10 16:20:59 -05:00
ActionManager : : session_sensitive_actions . push_back ( act ) ;
2008-02-19 17:10:27 -05:00
ActionManager : : region_selection_sensitive_actions . push_back ( act ) ;
2009-01-02 22:35:56 -05:00
act = ActionManager : : register_action ( editor_actions , " trim-back " , _ ( " Trim End at Edit Point " ) , mem_fun ( * this , & Editor : : trim_region_back ) ) ;
2008-01-10 16:20:59 -05:00
ActionManager : : session_sensitive_actions . push_back ( act ) ;
2008-02-19 17:10:27 -05:00
ActionManager : : region_selection_sensitive_actions . push_back ( act ) ;
2007-11-12 17:23:01 -05:00
2009-01-02 22:35:56 -05:00
act = ActionManager : : register_action ( editor_actions , " trim-from-start " , _ ( " Start to Edit Point " ) , mem_fun ( * this , & Editor : : trim_region_from_edit_point ) ) ;
2007-11-12 17:23:01 -05:00
ActionManager : : session_sensitive_actions . push_back ( act ) ;
2008-02-19 17:10:27 -05:00
ActionManager : : region_selection_sensitive_actions . push_back ( act ) ;
2009-01-02 22:35:56 -05:00
act = ActionManager : : register_action ( editor_actions , " trim-to-end " , _ ( " Edit Point to End " ) , mem_fun ( * this , & Editor : : trim_region_to_edit_point ) ) ;
2007-11-12 17:23:01 -05:00
ActionManager : : session_sensitive_actions . push_back ( act ) ;
2008-02-19 17:10:27 -05:00
ActionManager : : region_selection_sensitive_actions . push_back ( act ) ;
2009-01-02 22:35:56 -05:00
act = ActionManager : : register_action ( editor_actions , " trim-region-to-loop " , _ ( " Trim to Loop " ) , mem_fun ( * this , & Editor : : trim_region_to_loop ) ) ;
2007-11-12 17:23:01 -05:00
ActionManager : : session_sensitive_actions . push_back ( act ) ;
2008-02-19 17:10:27 -05:00
ActionManager : : region_selection_sensitive_actions . push_back ( act ) ;
2009-01-02 22:35:56 -05:00
act = ActionManager : : register_action ( editor_actions , " trim-region-to-punch " , _ ( " Trim to Punch " ) , mem_fun ( * this , & Editor : : trim_region_to_punch ) ) ;
2007-11-12 17:23:01 -05:00
ActionManager : : session_sensitive_actions . push_back ( act ) ;
2008-02-19 17:10:27 -05:00
ActionManager : : region_selection_sensitive_actions . push_back ( act ) ;
2008-01-10 16:20:59 -05:00
2009-04-20 17:02:46 -04:00
act = ActionManager : : register_action ( editor_actions , " trim-to-previous-region " , _ ( " Trim to Previous " ) , mem_fun ( * this , & Editor : : trim_region_to_previous_region_end ) ) ;
ActionManager : : session_sensitive_actions . push_back ( act ) ;
ActionManager : : region_selection_sensitive_actions . push_back ( act ) ;
act = ActionManager : : register_action ( editor_actions , " trim-to-next-region " , _ ( " Trim to Next " ) , mem_fun ( * this , & Editor : : trim_region_to_next_region_start ) ) ;
ActionManager : : session_sensitive_actions . push_back ( act ) ;
ActionManager : : region_selection_sensitive_actions . push_back ( act ) ;
2009-01-02 22:35:56 -05:00
act = ActionManager : : register_action ( editor_actions , " set-loop-from-edit-range " , _ ( " Set Loop from Edit Range " ) , bind ( mem_fun ( * this , & Editor : : set_loop_from_edit_range ) , false ) ) ;
2008-01-10 16:20:59 -05:00
ActionManager : : session_sensitive_actions . push_back ( act ) ;
2009-01-02 22:35:56 -05:00
act = ActionManager : : register_action ( editor_actions , " set-loop-from-region " , _ ( " Set Loop from Region " ) , bind ( mem_fun ( * this , & Editor : : set_loop_from_region ) , false ) ) ;
2008-01-10 16:20:59 -05:00
ActionManager : : session_sensitive_actions . push_back ( act ) ;
2008-02-19 17:10:27 -05:00
ActionManager : : region_selection_sensitive_actions . push_back ( act ) ;
2008-01-10 16:20:59 -05:00
act = ActionManager : : register_action ( editor_actions , " loop-region " , _ ( " Loop Region " ) , bind ( mem_fun ( * this , & Editor : : set_loop_from_region ) , true ) ) ;
ActionManager : : session_sensitive_actions . push_back ( act ) ;
2008-12-12 09:43:24 -05:00
ActionManager : : region_selection_sensitive_actions . push_back ( act ) ;
2009-01-02 22:35:56 -05:00
act = ActionManager : : register_action ( editor_actions , " set-punch-from-edit-range " , _ ( " Set Punch from Edit Range " ) , mem_fun ( * this , & Editor : : set_punch_from_edit_range ) ) ;
2008-01-10 16:20:59 -05:00
ActionManager : : session_sensitive_actions . push_back ( act ) ;
2008-01-10 17:22:29 -05:00
act = ActionManager : : register_action ( editor_actions , " set-punch-from-region " , _ ( " Set Punch From Region " ) , mem_fun ( * this , & Editor : : set_punch_from_region ) ) ;
ActionManager : : session_sensitive_actions . push_back ( act ) ;
2008-02-19 17:10:27 -05:00
ActionManager : : region_selection_sensitive_actions . push_back ( act ) ;
2008-01-10 16:20:59 -05:00
act = ActionManager : : register_action ( editor_actions , " pitch-shift-region " , _ ( " Transpose " ) , mem_fun ( * this , & Editor : : pitch_shift_regions ) ) ;
ActionManager : : session_sensitive_actions . push_back ( act ) ;
2008-02-19 17:10:27 -05:00
ActionManager : : region_selection_sensitive_actions . push_back ( act ) ;
2008-09-10 11:03:30 -04:00
act = ActionManager : : register_action ( editor_actions , " toggle-opaque-region " , _ ( " Toggle Opaque " ) , mem_fun ( * this , & Editor : : toggle_region_opaque ) ) ;
ActionManager : : session_sensitive_actions . push_back ( act ) ;
ActionManager : : region_selection_sensitive_actions . push_back ( act ) ;
2008-12-12 09:43:24 -05:00
act = ActionManager : : register_action ( editor_actions , " add-range-marker-from-region " , _ ( " Add 1 Range Marker " ) , mem_fun ( * this , & Editor : : add_location_from_audio_region ) ) ;
ActionManager : : session_sensitive_actions . push_back ( act ) ;
ActionManager : : region_selection_sensitive_actions . push_back ( act ) ;
act = ActionManager : : register_action ( editor_actions , " add-range-markers-from-region " , _ ( " Add Range Marker(s) " ) , mem_fun ( * this , & Editor : : add_locations_from_audio_region ) ) ;
ActionManager : : session_sensitive_actions . push_back ( act ) ;
ActionManager : : region_selection_sensitive_actions . push_back ( act ) ;
2007-11-12 17:23:01 -05:00
act = ActionManager : : register_action ( editor_actions , " set-fade-in-length " , _ ( " Set Fade In Length " ) , bind ( mem_fun ( * this , & Editor : : set_fade_length ) , true ) ) ;
ActionManager : : session_sensitive_actions . push_back ( act ) ;
2008-01-10 16:20:59 -05:00
act = ActionManager : : register_action ( editor_actions , " toggle-fade-in-active " , _ ( " Toggle Fade In Active " ) , bind ( mem_fun ( * this , & Editor : : toggle_fade_active ) , true ) ) ;
ActionManager : : session_sensitive_actions . push_back ( act ) ;
2007-11-12 17:23:01 -05:00
act = ActionManager : : register_action ( editor_actions , " set-fade-out-length " , _ ( " Set Fade Out Length " ) , bind ( mem_fun ( * this , & Editor : : set_fade_length ) , false ) ) ;
ActionManager : : session_sensitive_actions . push_back ( act ) ;
2008-01-10 16:20:59 -05:00
act = ActionManager : : register_action ( editor_actions , " toggle-fade-out-active " , _ ( " Toggle Fade Out Active " ) , bind ( mem_fun ( * this , & Editor : : toggle_fade_active ) , false ) ) ;
ActionManager : : session_sensitive_actions . push_back ( act ) ;
2007-11-12 17:23:01 -05:00
2006-03-09 11:28:07 -05:00
act = ActionManager : : register_action ( editor_actions , " align-regions-start " , _ ( " Align Regions Start " ) , bind ( mem_fun ( * this , & Editor : : align ) , ARDOUR : : Start ) ) ;
2005-12-24 13:25:26 -05:00
ActionManager : : session_sensitive_actions . push_back ( act ) ;
2008-02-19 17:10:27 -05:00
ActionManager : : region_selection_sensitive_actions . push_back ( act ) ;
2006-03-09 11:28:07 -05:00
act = ActionManager : : register_action ( editor_actions , " align-regions-start-relative " , _ ( " Align Regions Start Relative " ) , bind ( mem_fun ( * this , & Editor : : align_relative ) , ARDOUR : : Start ) ) ;
2005-12-24 13:25:26 -05:00
ActionManager : : session_sensitive_actions . push_back ( act ) ;
2008-02-19 17:10:27 -05:00
ActionManager : : region_selection_sensitive_actions . push_back ( act ) ;
2006-03-09 11:28:07 -05:00
act = ActionManager : : register_action ( editor_actions , " align-regions-end " , _ ( " Align Regions End " ) , bind ( mem_fun ( * this , & Editor : : align ) , ARDOUR : : End ) ) ;
2005-12-24 13:25:26 -05:00
ActionManager : : session_sensitive_actions . push_back ( act ) ;
2008-02-19 17:10:27 -05:00
ActionManager : : region_selection_sensitive_actions . push_back ( act ) ;
2006-03-09 11:28:07 -05:00
act = ActionManager : : register_action ( editor_actions , " align-regions-end-relative " , _ ( " Align Regions End Relative " ) , bind ( mem_fun ( * this , & Editor : : align_relative ) , ARDOUR : : End ) ) ;
2005-12-24 13:25:26 -05:00
ActionManager : : session_sensitive_actions . push_back ( act ) ;
2008-02-19 17:10:27 -05:00
ActionManager : : region_selection_sensitive_actions . push_back ( act ) ;
2006-01-23 11:02:48 -05:00
2006-03-09 11:28:07 -05:00
act = ActionManager : : register_action ( editor_actions , " align-regions-sync " , _ ( " Align Regions Sync " ) , bind ( mem_fun ( * this , & Editor : : align ) , ARDOUR : : SyncPoint ) ) ;
2005-12-24 13:25:26 -05:00
ActionManager : : session_sensitive_actions . push_back ( act ) ;
2008-02-19 17:10:27 -05:00
ActionManager : : region_selection_sensitive_actions . push_back ( act ) ;
2006-03-09 11:28:07 -05:00
act = ActionManager : : register_action ( editor_actions , " align-regions-sync-relative " , _ ( " Align Regions Sync Relative " ) , bind ( mem_fun ( * this , & Editor : : align_relative ) , ARDOUR : : SyncPoint ) ) ;
2005-12-24 13:25:26 -05:00
ActionManager : : session_sensitive_actions . push_back ( act ) ;
2008-02-19 17:10:27 -05:00
ActionManager : : region_selection_sensitive_actions . push_back ( act ) ;
2008-01-10 16:20:59 -05:00
act = ActionManager : : register_action ( editor_actions , " play-from-edit-point " , _ ( " Play From Edit Point " ) , mem_fun ( * this , & Editor : : play_from_edit_point ) ) ;
ActionManager : : session_sensitive_actions . push_back ( act ) ;
act = ActionManager : : register_action ( editor_actions , " play-from-edit-point-and-return " , _ ( " Play from Edit Point & Return " ) , mem_fun ( * this , & Editor : : play_from_edit_point_and_return ) ) ;
ActionManager : : session_sensitive_actions . push_back ( act ) ;
act = ActionManager : : register_action ( editor_actions , " play-edit-range " , _ ( " Play Edit Range " ) , mem_fun ( * this , & Editor : : play_edit_range ) ) ;
act = ActionManager : : register_action ( editor_actions , " play-selected-regions " , _ ( " Play Selected Region(s) " ) , mem_fun ( * this , & Editor : : play_selected_region ) ) ;
2006-01-20 07:36:24 -05:00
ActionManager : : session_sensitive_actions . push_back ( act ) ;
2008-02-19 17:10:27 -05:00
ActionManager : : region_selection_sensitive_actions . push_back ( act ) ;
2006-03-09 11:28:07 -05:00
act = ActionManager : : register_action ( editor_actions , " brush-at-mouse " , _ ( " Brush at Mouse " ) , mem_fun ( * this , & Editor : : kbd_brush ) ) ;
2006-01-20 07:36:24 -05:00
ActionManager : : session_sensitive_actions . push_back ( act ) ;
2005-10-09 01:03:29 -04:00
2008-03-17 16:54:03 -04:00
act = ActionManager : : register_action ( editor_actions , " set-playhead " , _ ( " Playhead to Mouse " ) , mem_fun ( * this , & Editor : : set_playhead_cursor ) ) ;
2007-11-12 17:23:01 -05:00
ActionManager : : session_sensitive_actions . push_back ( act ) ;
2008-04-11 10:06:50 -04:00
act = ActionManager : : register_action ( editor_actions , " set-edit-point " , _ ( " Active Marker to Mouse " ) , mem_fun ( * this , & Editor : : set_edit_point ) ) ;
2007-11-12 17:23:01 -05:00
ActionManager : : session_sensitive_actions . push_back ( act ) ;
2008-02-19 17:10:27 -05:00
act = ActionManager : : register_action ( editor_actions , " duplicate-region " , _ ( " Duplicate Region " ) , bind ( mem_fun ( * this , & Editor : : duplicate_dialog ) , false ) ) ;
ActionManager : : session_sensitive_actions . push_back ( act ) ;
ActionManager : : region_selection_sensitive_actions . push_back ( act ) ;
act = ActionManager : : register_action ( editor_actions , " multi-duplicate-region " , _ ( " Multi-Duplicate Region " ) , bind ( mem_fun ( * this , & Editor : : duplicate_dialog ) , true ) ) ;
ActionManager : : session_sensitive_actions . push_back ( act ) ;
ActionManager : : region_selection_sensitive_actions . push_back ( act ) ;
act = ActionManager : : register_action ( editor_actions , " duplicate-range " , _ ( " Duplicate Range " ) , bind ( mem_fun ( * this , & Editor : : duplicate_dialog ) , false ) ) ;
ActionManager : : session_sensitive_actions . push_back ( act ) ;
ActionManager : : region_selection_sensitive_actions . push_back ( act ) ;
act = ActionManager : : register_action ( editor_actions , " insert-region " , _ ( " Insert Region " ) , mem_fun ( * this , & Editor : : keyboard_insert_region_list_selection ) ) ;
ActionManager : : session_sensitive_actions . push_back ( act ) ;
ActionManager : : region_selection_sensitive_actions . push_back ( act ) ;
act = ActionManager : : register_action ( editor_actions , " normalize-region " , _ ( " Normalize Region " ) , mem_fun ( * this , & Editor : : normalize_region ) ) ;
ActionManager : : session_sensitive_actions . push_back ( act ) ;
ActionManager : : region_selection_sensitive_actions . push_back ( act ) ;
act = ActionManager : : register_action ( editor_actions , " rename-region " , _ ( " Rename " ) , mem_fun ( * this , & Editor : : rename_region ) ) ;
ActionManager : : session_sensitive_actions . push_back ( act ) ;
ActionManager : : region_selection_sensitive_actions . push_back ( act ) ;
act = ActionManager : : register_action ( editor_actions , " auto-rename-region " , _ ( " Auto-Rename " ) , mem_fun ( * this , & Editor : : rename_region ) ) ;
ActionManager : : session_sensitive_actions . push_back ( act ) ;
ActionManager : : region_selection_sensitive_actions . push_back ( act ) ;
act = ActionManager : : register_action ( editor_actions , " boost-region-gain " , _ ( " Boost Region Gain " ) , bind ( mem_fun ( * this , & Editor : : adjust_region_scale_amplitude ) , true ) ) ;
ActionManager : : session_sensitive_actions . push_back ( act ) ;
ActionManager : : region_selection_sensitive_actions . push_back ( act ) ;
act = ActionManager : : register_action ( editor_actions , " cut-region-gain " , _ ( " Cut Region Gain " ) , bind ( mem_fun ( * this , & Editor : : adjust_region_scale_amplitude ) , false ) ) ;
ActionManager : : session_sensitive_actions . push_back ( act ) ;
ActionManager : : region_selection_sensitive_actions . push_back ( act ) ;
2007-11-12 17:23:01 -05:00
act = ActionManager : : register_action ( editor_actions , " split-region " , _ ( " Split Region " ) , mem_fun ( * this , & Editor : : split ) ) ;
ActionManager : : session_sensitive_actions . push_back ( act ) ;
2008-02-19 17:10:27 -05:00
ActionManager : : region_selection_sensitive_actions . push_back ( act ) ;
2008-01-10 16:20:59 -05:00
act = ActionManager : : register_action ( editor_actions , " set-region-sync-position " , _ ( " Set Region Sync Position " ) , mem_fun ( * this , & Editor : : set_region_sync_from_edit_point ) ) ;
ActionManager : : session_sensitive_actions . push_back ( act ) ;
2008-02-19 17:10:27 -05:00
ActionManager : : region_selection_sensitive_actions . push_back ( act ) ;
act = ActionManager : : register_action ( editor_actions , " remove-region-sync " , _ ( " Remove Region Sync " ) , mem_fun ( * this , & Editor : : remove_region_sync ) ) ;
ActionManager : : session_sensitive_actions . push_back ( act ) ;
ActionManager : : region_selection_sensitive_actions . push_back ( act ) ;
act = ActionManager : : register_action ( editor_actions , " raise-region " , _ ( " Raise Region " ) , mem_fun ( * this , & Editor : : raise_region ) ) ;
ActionManager : : session_sensitive_actions . push_back ( act ) ;
ActionManager : : region_selection_sensitive_actions . push_back ( act ) ;
act = ActionManager : : register_action ( editor_actions , " lower-region " , _ ( " Lower Region " ) , mem_fun ( * this , & Editor : : lower_region ) ) ;
ActionManager : : session_sensitive_actions . push_back ( act ) ;
ActionManager : : region_selection_sensitive_actions . push_back ( act ) ;
act = ActionManager : : register_action ( editor_actions , " export-region " , _ ( " Export Region " ) , mem_fun ( * this , & Editor : : export_region ) ) ;
ActionManager : : session_sensitive_actions . push_back ( act ) ;
ActionManager : : region_selection_sensitive_actions . push_back ( act ) ;
act = ActionManager : : register_toggle_action ( editor_actions , " lock-region " , _ ( " Lock Region " ) , mem_fun ( * this , & Editor : : toggle_region_lock ) ) ;
ActionManager : : session_sensitive_actions . push_back ( act ) ;
ActionManager : : region_selection_sensitive_actions . push_back ( act ) ;
2009-01-02 22:35:56 -05:00
act = ActionManager : : register_toggle_action ( editor_actions , " glue-region " , _ ( " Glue Region to Bars & Beats " ) , bind ( mem_fun ( * this , & Editor : : set_region_lock_style ) , Region : : MusicTime ) ) ;
2008-02-19 17:10:27 -05:00
ActionManager : : session_sensitive_actions . push_back ( act ) ;
ActionManager : : region_selection_sensitive_actions . push_back ( act ) ;
2009-01-02 22:35:56 -05:00
act = ActionManager : : register_action ( editor_actions , " naturalize-region " , _ ( " Move to Original Position " ) , mem_fun ( * this , & Editor : : naturalize ) ) ;
2008-02-19 17:10:27 -05:00
ActionManager : : session_sensitive_actions . push_back ( act ) ;
ActionManager : : region_selection_sensitive_actions . push_back ( act ) ;
act = ActionManager : : register_action ( editor_actions , " reverse-region " , _ ( " Reverse " ) , mem_fun ( * this , & Editor : : reverse_region ) ) ;
ActionManager : : session_sensitive_actions . push_back ( act ) ;
ActionManager : : region_selection_sensitive_actions . push_back ( act ) ;
act = ActionManager : : register_action ( editor_actions , " monoize-region " , _ ( " Make mono regions " ) , ( mem_fun ( * this , & Editor : : split_multichannel_region ) ) ) ;
ActionManager : : session_sensitive_actions . push_back ( act ) ;
ActionManager : : region_selection_sensitive_actions . push_back ( act ) ;
act = ActionManager : : register_action ( editor_actions , " region-fill-track " , _ ( " Fill Track " ) , ( mem_fun ( * this , & Editor : : region_fill_track ) ) ) ;
ActionManager : : session_sensitive_actions . push_back ( act ) ;
ActionManager : : region_selection_sensitive_actions . push_back ( act ) ;
act = ActionManager : : register_action ( editor_actions , " mute-unmute-region " , _ ( " Mute/Unmute Region " ) , mem_fun ( * this , & Editor : : kbd_mute_unmute_region ) ) ;
ActionManager : : session_sensitive_actions . push_back ( act ) ;
ActionManager : : region_selection_sensitive_actions . push_back ( act ) ;
2007-11-12 17:23:01 -05:00
2006-11-16 13:42:48 -05:00
undo_action = act = ActionManager : : register_action ( editor_actions , " undo " , _ ( " Undo " ) , bind ( mem_fun ( * this , & Editor : : undo ) , 1U ) ) ;
2005-12-24 13:25:26 -05:00
ActionManager : : session_sensitive_actions . push_back ( act ) ;
2006-11-16 13:42:48 -05:00
redo_action = act = ActionManager : : register_action ( editor_actions , " redo " , _ ( " Redo " ) , bind ( mem_fun ( * this , & Editor : : redo ) , 1U ) ) ;
2005-12-24 13:25:26 -05:00
ActionManager : : session_sensitive_actions . push_back ( act ) ;
2005-10-09 01:03:29 -04:00
2008-09-17 04:44:51 -04:00
act = ActionManager : : register_action ( editor_actions , " export-audio " , _ ( " Export Audio " ) , mem_fun ( * this , & Editor : : export_audio ) ) ;
2005-12-24 13:25:26 -05:00
ActionManager : : session_sensitive_actions . push_back ( act ) ;
2008-09-17 04:44:51 -04:00
act = ActionManager : : register_action ( editor_actions , " export-range " , _ ( " Export Range " ) , mem_fun ( * this , & Editor : : export_range ) ) ;
2005-12-24 13:25:26 -05:00
ActionManager : : session_sensitive_actions . push_back ( act ) ;
2005-10-09 01:03:29 -04:00
2008-01-10 16:20:59 -05:00
act = ActionManager : : register_action ( editor_actions , " editor-separate " , _ ( " Separate " ) , mem_fun ( * this , & Editor : : separate_region_from_selection ) ) ;
ActionManager : : session_sensitive_actions . push_back ( act ) ;
2008-04-11 10:06:50 -04:00
ActionManager : : mouse_edit_point_requires_canvas_actions . push_back ( act ) ;
2008-02-19 17:10:27 -05:00
act = ActionManager : : register_action ( editor_actions , " separate-from-punch " , _ ( " Separate Using Punch Range " ) , mem_fun ( * this , & Editor : : separate_region_from_punch ) ) ;
ActionManager : : session_sensitive_actions . push_back ( act ) ;
2008-04-11 10:06:50 -04:00
ActionManager : : mouse_edit_point_requires_canvas_actions . push_back ( act ) ;
2008-02-19 17:10:27 -05:00
act = ActionManager : : register_action ( editor_actions , " separate-from-loop " , _ ( " Separate Using Loop Range " ) , mem_fun ( * this , & Editor : : separate_region_from_loop ) ) ;
ActionManager : : session_sensitive_actions . push_back ( act ) ;
2008-04-11 10:06:50 -04:00
ActionManager : : mouse_edit_point_requires_canvas_actions . push_back ( act ) ;
2008-01-10 16:20:59 -05:00
act = ActionManager : : register_action ( editor_actions , " editor-crop " , _ ( " Crop " ) , mem_fun ( * this , & Editor : : crop_region_to_selection ) ) ;
ActionManager : : session_sensitive_actions . push_back ( act ) ;
2008-04-11 10:06:50 -04:00
ActionManager : : mouse_edit_point_requires_canvas_actions . push_back ( act ) ;
2005-12-24 13:25:26 -05:00
act = ActionManager : : register_action ( editor_actions , " editor-cut " , _ ( " Cut " ) , mem_fun ( * this , & Editor : : cut ) ) ;
ActionManager : : session_sensitive_actions . push_back ( act ) ;
2006-02-07 08:58:33 -05:00
/* Note: for now, editor-delete does the exact same thing as editor-cut */
act = ActionManager : : register_action ( editor_actions , " editor-delete " , _ ( " Delete " ) , mem_fun ( * this , & Editor : : cut ) ) ;
ActionManager : : session_sensitive_actions . push_back ( act ) ;
2005-12-24 13:25:26 -05:00
act = ActionManager : : register_action ( editor_actions , " editor-copy " , _ ( " Copy " ) , mem_fun ( * this , & Editor : : copy ) ) ;
ActionManager : : session_sensitive_actions . push_back ( act ) ;
act = ActionManager : : register_action ( editor_actions , " editor-paste " , _ ( " Paste " ) , mem_fun ( * this , & Editor : : keyboard_paste ) ) ;
ActionManager : : session_sensitive_actions . push_back ( act ) ;
2008-02-01 22:57:35 -05:00
2008-01-12 18:45:50 -05:00
act = ActionManager : : register_action ( editor_actions , " quantize-region " , _ ( " Quantize Region " ) , mem_fun ( * this , & Editor : : quantize_region ) ) ;
2007-08-06 01:30:18 -04:00
ActionManager : : session_sensitive_actions . push_back ( act ) ;
2008-09-10 11:03:30 -04:00
ActionManager : : region_selection_sensitive_actions . push_back ( act ) ;
2008-02-01 22:57:35 -05:00
act = ActionManager : : register_action ( editor_actions , " set-tempo-from-region " , _ ( " Set Tempo from Region=Bar " ) , mem_fun ( * this , & Editor : : use_region_as_bar ) ) ;
ActionManager : : session_sensitive_actions . push_back ( act ) ;
2008-04-11 10:06:50 -04:00
ActionManager : : region_selection_sensitive_actions . push_back ( act ) ;
2008-02-01 22:57:35 -05:00
act = ActionManager : : register_action ( editor_actions , " set-tempo-from-edit-range " , _ ( " Set Tempo from Edit Range=Bar " ) , mem_fun ( * this , & Editor : : use_range_as_bar ) ) ;
ActionManager : : session_sensitive_actions . push_back ( act ) ;
act = ActionManager : : register_action ( editor_actions , " split-region-at-transients " , _ ( " Split Regions At Percussion Onsets " ) , mem_fun ( * this , & Editor : : split_region_at_transients ) ) ;
ActionManager : : session_sensitive_actions . push_back ( act ) ;
2008-02-19 17:10:27 -05:00
ActionManager : : region_selection_sensitive_actions . push_back ( act ) ;
2008-02-01 22:57:35 -05:00
act = ActionManager : : register_action ( editor_actions , " toggle-rhythm-ferret " , _ ( " Rhythm Ferret " ) , mem_fun ( * this , & Editor : : show_rhythm_ferret ) ) ;
ActionManager : : session_sensitive_actions . push_back ( act ) ;
2009-01-20 09:46:00 -05:00
act = ActionManager : : register_action ( editor_actions , " toggle-bundle-manager " , _ ( " Bundle Manager " ) , mem_fun ( * this , & Editor : : show_bundle_manager ) ) ;
2009-01-23 16:24:11 -05:00
ActionManager : : session_sensitive_actions . push_back ( act ) ;
act = ActionManager : : register_action ( editor_actions , " toggle-audio-connection-manager " , _ ( " Audio Connection Manager " ) , bind ( mem_fun ( * this , & Editor : : show_global_port_matrix ) , ARDOUR : : DataType : : AUDIO ) ) ;
ActionManager : : session_sensitive_actions . push_back ( act ) ;
act = ActionManager : : register_action ( editor_actions , " toggle-midi-connection-manager " , _ ( " MIDI Connection Manager " ) , bind ( mem_fun ( * this , & Editor : : show_global_port_matrix ) , ARDOUR : : DataType : : MIDI ) ) ;
ActionManager : : session_sensitive_actions . push_back ( act ) ;
2008-02-01 22:57:35 -05:00
act = ActionManager : : register_action ( editor_actions , " tab-to-transient-forwards " , _ ( " Move Forward to Transient " ) , bind ( mem_fun ( * this , & Editor : : tab_to_transient ) , true ) ) ;
ActionManager : : session_sensitive_actions . push_back ( act ) ;
2008-02-02 12:22:04 -05:00
act = ActionManager : : register_action ( editor_actions , " tab-to-transient-backwards " , _ ( " Move Backwards to Transient " ) , bind ( mem_fun ( * this , & Editor : : tab_to_transient ) , false ) ) ;
2008-02-01 22:57:35 -05:00
ActionManager : : session_sensitive_actions . push_back ( act ) ;
2007-10-09 20:15:41 -04:00
act = ActionManager : : register_action ( editor_actions , " crop " , _ ( " Crop " ) , mem_fun ( * this , & Editor : : crop_region_to_selection ) ) ;
2005-12-24 13:25:26 -05:00
ActionManager : : session_sensitive_actions . push_back ( act ) ;
2006-03-09 11:28:07 -05:00
act = ActionManager : : register_action ( editor_actions , " insert-chunk " , _ ( " Insert Chunk " ) , bind ( mem_fun ( * this , & Editor : : paste_named_selection ) , 1.0f ) ) ;
2005-12-24 13:25:26 -05:00
ActionManager : : session_sensitive_actions . push_back ( act ) ;
2005-10-09 01:03:29 -04:00
2007-11-12 17:23:01 -05:00
act = ActionManager : : register_action ( editor_actions , " split-at-edit-cursor " , _ ( " Split At Edit Point " ) , mem_fun ( * this , & Editor : : split_region ) ) ;
ActionManager : : edit_point_in_region_sensitive_actions . push_back ( act ) ;
2005-10-09 01:03:29 -04:00
2006-03-09 11:28:07 -05:00
act = ActionManager : : register_action ( editor_actions , " start-range " , _ ( " Start Range " ) , mem_fun ( * this , & Editor : : keyboard_selection_begin ) ) ;
2005-12-24 13:25:26 -05:00
ActionManager : : session_sensitive_actions . push_back ( act ) ;
2006-03-09 11:28:07 -05:00
act = ActionManager : : register_action ( editor_actions , " finish-range " , _ ( " Finish Range " ) , bind ( mem_fun ( * this , & Editor : : keyboard_selection_finish ) , false ) ) ;
2005-12-24 13:25:26 -05:00
ActionManager : : session_sensitive_actions . push_back ( act ) ;
2006-03-09 11:28:07 -05:00
act = ActionManager : : register_action ( editor_actions , " finish-add-range " , _ ( " Finish add Range " ) , bind ( mem_fun ( * this , & Editor : : keyboard_selection_finish ) , true ) ) ;
2005-12-24 13:25:26 -05:00
ActionManager : : session_sensitive_actions . push_back ( act ) ;
2005-10-09 01:03:29 -04:00
2006-03-09 11:28:07 -05:00
act = ActionManager : : register_action ( editor_actions , " extend-range-to-end-of-region " , _ ( " Extend Range to End of Region " ) , bind ( mem_fun ( * this , & Editor : : extend_selection_to_end_of_region ) , false ) ) ;
2005-12-24 13:25:26 -05:00
ActionManager : : session_sensitive_actions . push_back ( act ) ;
2006-03-09 11:28:07 -05:00
act = ActionManager : : register_action ( editor_actions , " extend-range-to-start-of-region " , _ ( " Extend Range to Start of Region " ) , bind ( mem_fun ( * this , & Editor : : extend_selection_to_start_of_region ) , false ) ) ;
2005-12-24 13:25:26 -05:00
ActionManager : : session_sensitive_actions . push_back ( act ) ;
2005-10-09 01:03:29 -04:00
2006-03-21 10:27:57 -05:00
act = ActionManager : : register_toggle_action ( editor_actions , " toggle-follow-playhead " , _ ( " Follow Playhead " ) , ( mem_fun ( * this , & Editor : : toggle_follow_playhead ) ) ) ;
2005-12-24 13:25:26 -05:00
ActionManager : : session_sensitive_actions . push_back ( act ) ;
2006-03-09 11:28:07 -05:00
act = ActionManager : : register_action ( editor_actions , " remove-last-capture " , _ ( " Remove Last Capture " ) , ( mem_fun ( * this , & Editor : : remove_last_capture ) ) ) ;
2005-12-24 13:25:26 -05:00
ActionManager : : session_sensitive_actions . push_back ( act ) ;
2005-10-09 01:03:29 -04:00
2008-04-11 10:06:50 -04:00
act = ActionManager : : register_action ( editor_actions , " insert-time " , _ ( " Insert Time " ) , ( mem_fun ( * this , & Editor : : do_insert_time ) ) ) ;
ActionManager : : session_sensitive_actions . push_back ( act ) ;
ActionManager : : track_selection_sensitive_actions . push_back ( act ) ;
2008-03-17 16:54:03 -04:00
act = ActionManager : : register_action ( editor_actions , " toggle-track-active " , _ ( " Toggle Active " ) , ( mem_fun ( * this , & Editor : : toggle_tracks_active ) ) ) ;
ActionManager : : session_sensitive_actions . push_back ( act ) ;
ActionManager : : track_selection_sensitive_actions . push_back ( act ) ;
2008-12-12 09:43:24 -05:00
if ( Profile - > get_sae ( ) ) {
act = ActionManager : : register_action ( editor_actions , " remove-track " , _ ( " Delete " ) , ( mem_fun ( * this , & Editor : : remove_tracks ) ) ) ;
} else {
act = ActionManager : : register_action ( editor_actions , " remove-track " , _ ( " Remove " ) , ( mem_fun ( * this , & Editor : : remove_tracks ) ) ) ;
}
2008-03-17 16:54:03 -04:00
ActionManager : : session_sensitive_actions . push_back ( act ) ;
ActionManager : : track_selection_sensitive_actions . push_back ( act ) ;
2008-09-10 11:03:30 -04:00
act = ActionManager : : register_action ( editor_actions , " fit-tracks " , _ ( " Fit Selected Tracks " ) , ( mem_fun ( * this , & Editor : : fit_tracks ) ) ) ;
ActionManager : : session_sensitive_actions . push_back ( act ) ;
2009-02-18 19:15:54 -05:00
act = ActionManager : : register_action ( editor_actions , " track-height-largest " , _ ( " Largest " ) , bind (
mem_fun ( * this , & Editor : : set_track_height ) , TimeAxisView : : hLargest ) ) ;
2008-03-17 16:54:03 -04:00
ActionManager : : session_sensitive_actions . push_back ( act ) ;
ActionManager : : track_selection_sensitive_actions . push_back ( act ) ;
2009-02-18 19:15:54 -05:00
act = ActionManager : : register_action ( editor_actions , " track-height-larger " , _ ( " Larger " ) , bind (
mem_fun ( * this , & Editor : : set_track_height ) , TimeAxisView : : hLarger ) ) ;
2008-03-17 16:54:03 -04:00
ActionManager : : session_sensitive_actions . push_back ( act ) ;
ActionManager : : track_selection_sensitive_actions . push_back ( act ) ;
2009-02-18 19:15:54 -05:00
act = ActionManager : : register_action ( editor_actions , " track-height-large " , _ ( " Large " ) , bind (
mem_fun ( * this , & Editor : : set_track_height ) , TimeAxisView : : hLarge ) ) ;
2008-03-17 16:54:03 -04:00
ActionManager : : session_sensitive_actions . push_back ( act ) ;
ActionManager : : track_selection_sensitive_actions . push_back ( act ) ;
2009-02-18 19:15:54 -05:00
act = ActionManager : : register_action ( editor_actions , " track-height-normal " , _ ( " Normal " ) , bind (
mem_fun ( * this , & Editor : : set_track_height ) , TimeAxisView : : hNormal ) ) ;
2008-03-17 16:54:03 -04:00
ActionManager : : session_sensitive_actions . push_back ( act ) ;
ActionManager : : track_selection_sensitive_actions . push_back ( act ) ;
2009-02-18 19:15:54 -05:00
act = ActionManager : : register_action ( editor_actions , " track-height-small " , _ ( " Small " ) , bind (
mem_fun ( * this , & Editor : : set_track_height ) , TimeAxisView : : hSmall ) ) ;
2008-03-17 16:54:03 -04:00
ActionManager : : track_selection_sensitive_actions . push_back ( act ) ;
ActionManager : : session_sensitive_actions . push_back ( act ) ;
ActionManager : : track_selection_sensitive_actions . push_back ( act ) ;
2009-02-18 19:15:54 -05:00
act = ActionManager : : register_action ( editor_actions , " track-height-smaller " , _ ( " Smaller " ) , bind (
mem_fun ( * this , & Editor : : set_track_height ) , TimeAxisView : : hSmaller ) ) ;
2008-03-17 16:54:03 -04:00
ActionManager : : session_sensitive_actions . push_back ( act ) ;
ActionManager : : track_selection_sensitive_actions . push_back ( act ) ;
2005-10-09 13:58:06 -04:00
Glib : : RefPtr < ActionGroup > zoom_actions = ActionGroup : : create ( X_ ( " Zoom " ) ) ;
RadioAction : : Group zoom_group ;
2005-10-09 01:03:29 -04:00
2006-11-01 12:41:28 -05:00
ActionManager : : register_radio_action ( zoom_actions , zoom_group , " zoom-focus-left " , _ ( " Zoom Focus Left " ) , bind ( mem_fun ( * this , & Editor : : zoom_focus_chosen ) , Editing : : ZoomFocusLeft ) ) ;
2005-12-24 13:25:26 -05:00
ActionManager : : session_sensitive_actions . push_back ( act ) ;
2006-11-01 12:41:28 -05:00
ActionManager : : register_radio_action ( zoom_actions , zoom_group , " zoom-focus-right " , _ ( " Zoom Focus Right " ) , bind ( mem_fun ( * this , & Editor : : zoom_focus_chosen ) , Editing : : ZoomFocusRight ) ) ;
2005-12-24 13:25:26 -05:00
ActionManager : : session_sensitive_actions . push_back ( act ) ;
2006-11-01 12:41:28 -05:00
ActionManager : : register_radio_action ( zoom_actions , zoom_group , " zoom-focus-center " , _ ( " Zoom Focus Center " ) , bind ( mem_fun ( * this , & Editor : : zoom_focus_chosen ) , Editing : : ZoomFocusCenter ) ) ;
2005-12-24 13:25:26 -05:00
ActionManager : : session_sensitive_actions . push_back ( act ) ;
2006-11-01 12:41:28 -05:00
ActionManager : : register_radio_action ( zoom_actions , zoom_group , " zoom-focus-playhead " , _ ( " Zoom Focus Playhead " ) , bind ( mem_fun ( * this , & Editor : : zoom_focus_chosen ) , Editing : : ZoomFocusPlayhead ) ) ;
2005-12-24 13:25:26 -05:00
ActionManager : : session_sensitive_actions . push_back ( act ) ;
2007-11-07 20:40:25 -05:00
ActionManager : : register_radio_action ( zoom_actions , zoom_group , " zoom-focus-mouse " , _ ( " Zoom Focus Mouse " ) , bind ( mem_fun ( * this , & Editor : : zoom_focus_chosen ) , Editing : : ZoomFocusMouse ) ) ;
ActionManager : : session_sensitive_actions . push_back ( act ) ;
2006-11-01 12:41:28 -05:00
ActionManager : : register_radio_action ( zoom_actions , zoom_group , " zoom-focus-edit " , _ ( " Zoom Focus Edit " ) , bind ( mem_fun ( * this , & Editor : : zoom_focus_chosen ) , Editing : : ZoomFocusEdit ) ) ;
2005-12-24 13:25:26 -05:00
ActionManager : : session_sensitive_actions . push_back ( act ) ;
2005-10-09 01:03:29 -04:00
2005-10-09 13:58:06 -04:00
Glib : : RefPtr < ActionGroup > mouse_mode_actions = ActionGroup : : create ( X_ ( " MouseMode " ) ) ;
RadioAction : : Group mouse_mode_group ;
2005-10-09 01:03:29 -04:00
2006-03-09 11:28:07 -05:00
ActionManager : : register_radio_action ( mouse_mode_actions , mouse_mode_group , " set-mouse-mode-object " , _ ( " Object Tool " ) , bind ( mem_fun ( * this , & Editor : : set_mouse_mode ) , Editing : : MouseObject , false ) ) ;
ActionManager : : register_radio_action ( mouse_mode_actions , mouse_mode_group , " set-mouse-mode-range " , _ ( " Range Tool " ) , bind ( mem_fun ( * this , & Editor : : set_mouse_mode ) , Editing : : MouseRange , false ) ) ;
ActionManager : : register_radio_action ( mouse_mode_actions , mouse_mode_group , " set-mouse-mode-gain " , _ ( " Gain Tool " ) , bind ( mem_fun ( * this , & Editor : : set_mouse_mode ) , Editing : : MouseGain , false ) ) ;
ActionManager : : register_radio_action ( mouse_mode_actions , mouse_mode_group , " set-mouse-mode-zoom " , _ ( " Zoom Tool " ) , bind ( mem_fun ( * this , & Editor : : set_mouse_mode ) , Editing : : MouseZoom , false ) ) ;
ActionManager : : register_radio_action ( mouse_mode_actions , mouse_mode_group , " set-mouse-mode-timefx " , _ ( " Timefx Tool " ) , bind ( mem_fun ( * this , & Editor : : set_mouse_mode ) , Editing : : MouseTimeFX , false ) ) ;
2007-07-14 21:56:11 -04:00
ActionManager : : register_radio_action ( mouse_mode_actions , mouse_mode_group , " set-mouse-mode-note " , _ ( " Note Tool " ) , bind ( mem_fun ( * this , & Editor : : set_mouse_mode ) , Editing : : MouseNote , false ) ) ;
2005-10-09 13:58:06 -04:00
2008-12-12 09:43:24 -05:00
ActionManager : : register_action ( editor_actions , " step-mouse-mode " , _ ( " Step Mouse Mode " ) , bind ( mem_fun ( * this , & Editor : : step_mouse_mode ) , true ) ) ;
2007-11-07 20:40:25 -05:00
RadioAction : : Group edit_point_group ;
ActionManager : : register_radio_action ( editor_actions , edit_point_group , X_ ( " edit-at-playhead " ) , _ ( " Playhead " ) , ( bind ( mem_fun ( * this , & Editor : : edit_point_chosen ) , Editing : : EditAtPlayhead ) ) ) ;
ActionManager : : register_radio_action ( editor_actions , edit_point_group , X_ ( " edit-at-mouse " ) , _ ( " Mouse " ) , ( bind ( mem_fun ( * this , & Editor : : edit_point_chosen ) , Editing : : EditAtPlayhead ) ) ) ;
ActionManager : : register_radio_action ( editor_actions , edit_point_group , X_ ( " edit-at-selected-marker " ) , _ ( " Marker " ) , ( bind ( mem_fun ( * this , & Editor : : edit_point_chosen ) , Editing : : EditAtPlayhead ) ) ) ;
2008-01-10 16:20:59 -05:00
ActionManager : : register_action ( editor_actions , " cycle-edit-point " , _ ( " Change edit point " ) , bind ( mem_fun ( * this , & Editor : : cycle_edit_point ) , false ) ) ;
ActionManager : : register_action ( editor_actions , " cycle-edit-point-with-marker " , _ ( " Change edit point (w/Marker) " ) , bind ( mem_fun ( * this , & Editor : : cycle_edit_point ) , true ) ) ;
2008-12-12 09:43:24 -05:00
if ( ! Profile - > get_sae ( ) ) {
ActionManager : : register_action ( editor_actions , " set-edit-splice " , _ ( " Splice " ) , bind ( mem_fun ( * this , & Editor : : set_edit_mode ) , Splice ) ) ;
}
2008-01-10 16:20:59 -05:00
ActionManager : : register_action ( editor_actions , " set-edit-slide " , _ ( " Slide " ) , bind ( mem_fun ( * this , & Editor : : set_edit_mode ) , Slide ) ) ;
2008-02-16 17:43:18 -05:00
ActionManager : : register_action ( editor_actions , " set-edit-lock " , _ ( " Lock " ) , bind ( mem_fun ( * this , & Editor : : set_edit_mode ) , Lock ) ) ;
2008-01-10 16:20:59 -05:00
ActionManager : : register_action ( editor_actions , " toggle-edit-mode " , _ ( " Toggle Edit Mode " ) , mem_fun ( * this , & Editor : : cycle_edit_mode ) ) ;
2009-01-02 22:35:56 -05:00
ActionManager : : register_action ( editor_actions , X_ ( " SnapTo " ) , _ ( " Snap to " ) ) ;
2006-11-01 12:41:28 -05:00
ActionManager : : register_action ( editor_actions , X_ ( " SnapMode " ) , _ ( " Snap Mode " ) ) ;
RadioAction : : Group snap_mode_group ;
2008-01-10 16:20:59 -05:00
ActionManager : : register_radio_action ( editor_actions , snap_mode_group , X_ ( " snap-off " ) , _ ( " No Grid " ) , ( bind ( mem_fun ( * this , & Editor : : snap_mode_chosen ) , Editing : : SnapOff ) ) ) ;
ActionManager : : register_radio_action ( editor_actions , snap_mode_group , X_ ( " snap-normal " ) , _ ( " Grid " ) , ( bind ( mem_fun ( * this , & Editor : : snap_mode_chosen ) , Editing : : SnapNormal ) ) ) ;
2006-11-01 12:41:28 -05:00
ActionManager : : register_radio_action ( editor_actions , snap_mode_group , X_ ( " snap-magnetic " ) , _ ( " Magnetic " ) , ( bind ( mem_fun ( * this , & Editor : : snap_mode_chosen ) , Editing : : SnapMagnetic ) ) ) ;
2008-01-10 16:20:59 -05:00
ActionManager : : register_action ( editor_actions , X_ ( " cycle-snap-mode " ) , _ ( " Next Snap Mode " ) , mem_fun ( * this , & Editor : : cycle_snap_mode ) ) ;
ActionManager : : register_action ( editor_actions , X_ ( " cycle-snap-choice " ) , _ ( " Next Snap Choice " ) , mem_fun ( * this , & Editor : : cycle_snap_choice ) ) ;
2005-10-09 13:58:06 -04:00
Glib : : RefPtr < ActionGroup > snap_actions = ActionGroup : : create ( X_ ( " Snap " ) ) ;
2005-10-09 01:03:29 -04:00
RadioAction : : Group snap_choice_group ;
2009-01-02 22:35:56 -05:00
ActionManager : : register_radio_action ( snap_actions , snap_choice_group , X_ ( " snap-to-cd-frame " ) , _ ( " Snap to CD Frame " ) , ( bind ( mem_fun ( * this , & Editor : : snap_type_chosen ) , Editing : : SnapToCDFrame ) ) ) ;
2006-11-01 12:41:28 -05:00
ActionManager : : register_radio_action ( snap_actions , snap_choice_group , X_ ( " snap-to-smpte-frame " ) , _ ( " Snap to SMPTE frame " ) , ( bind ( mem_fun ( * this , & Editor : : snap_type_chosen ) , Editing : : SnapToSMPTEFrame ) ) ) ;
ActionManager : : register_radio_action ( snap_actions , snap_choice_group , X_ ( " snap-to-smpte-seconds " ) , _ ( " Snap to SMPTE seconds " ) , ( bind ( mem_fun ( * this , & Editor : : snap_type_chosen ) , Editing : : SnapToSMPTESeconds ) ) ) ;
ActionManager : : register_radio_action ( snap_actions , snap_choice_group , X_ ( " snap-to-smpte-minutes " ) , _ ( " Snap to SMPTE minutes " ) , ( bind ( mem_fun ( * this , & Editor : : snap_type_chosen ) , Editing : : SnapToSMPTEMinutes ) ) ) ;
2009-01-02 22:35:56 -05:00
ActionManager : : register_radio_action ( snap_actions , snap_choice_group , X_ ( " snap-to-seconds " ) , _ ( " Snap to Seconds " ) , ( bind ( mem_fun ( * this , & Editor : : snap_type_chosen ) , Editing : : SnapToSeconds ) ) ) ;
ActionManager : : register_radio_action ( snap_actions , snap_choice_group , X_ ( " snap-to-minutes " ) , _ ( " Snap to Minutes " ) , ( bind ( mem_fun ( * this , & Editor : : snap_type_chosen ) , Editing : : SnapToMinutes ) ) ) ;
ActionManager : : register_radio_action ( snap_actions , snap_choice_group , X_ ( " snap-to-thirtyseconds " ) , _ ( " Snap to Thirtyseconds " ) , ( bind ( mem_fun ( * this , & Editor : : snap_type_chosen ) , Editing : : SnapToAThirtysecondBeat ) ) ) ;
ActionManager : : register_radio_action ( snap_actions , snap_choice_group , X_ ( " snap-to-asixteenthbeat " ) , _ ( " Snap to Asixteenthbeat " ) , ( bind ( mem_fun ( * this , & Editor : : snap_type_chosen ) , Editing : : SnapToASixteenthBeat ) ) ) ;
ActionManager : : register_radio_action ( snap_actions , snap_choice_group , X_ ( " snap-to-eighths " ) , _ ( " Snap to Eighths " ) , ( bind ( mem_fun ( * this , & Editor : : snap_type_chosen ) , Editing : : SnapToAEighthBeat ) ) ) ;
ActionManager : : register_radio_action ( snap_actions , snap_choice_group , X_ ( " snap-to-quarters " ) , _ ( " Snap to Quarters " ) , ( bind ( mem_fun ( * this , & Editor : : snap_type_chosen ) , Editing : : SnapToAQuarterBeat ) ) ) ;
ActionManager : : register_radio_action ( snap_actions , snap_choice_group , X_ ( " snap-to-thirds " ) , _ ( " Snap to Thirds " ) , ( bind ( mem_fun ( * this , & Editor : : snap_type_chosen ) , Editing : : SnapToAThirdBeat ) ) ) ;
ActionManager : : register_radio_action ( snap_actions , snap_choice_group , X_ ( " snap-to-beat " ) , _ ( " Snap to Beat " ) , ( bind ( mem_fun ( * this , & Editor : : snap_type_chosen ) , Editing : : SnapToBeat ) ) ) ;
ActionManager : : register_radio_action ( snap_actions , snap_choice_group , X_ ( " snap-to-bar " ) , _ ( " Snap to Bar " ) , ( bind ( mem_fun ( * this , & Editor : : snap_type_chosen ) , Editing : : SnapToBar ) ) ) ;
ActionManager : : register_radio_action ( snap_actions , snap_choice_group , X_ ( " snap-to-mark " ) , _ ( " Snap to Mark " ) , ( bind ( mem_fun ( * this , & Editor : : snap_type_chosen ) , Editing : : SnapToMark ) ) ) ;
ActionManager : : register_radio_action ( snap_actions , snap_choice_group , X_ ( " snap-to-region-start " ) , _ ( " Snap to Region start " ) , ( bind ( mem_fun ( * this , & Editor : : snap_type_chosen ) , Editing : : SnapToRegionStart ) ) ) ;
ActionManager : : register_radio_action ( snap_actions , snap_choice_group , X_ ( " snap-to-region-end " ) , _ ( " Snap to Region End " ) , ( bind ( mem_fun ( * this , & Editor : : snap_type_chosen ) , Editing : : SnapToRegionEnd ) ) ) ;
ActionManager : : register_radio_action ( snap_actions , snap_choice_group , X_ ( " snap-to-region-sync " ) , _ ( " Snap to Region Sync " ) , ( bind ( mem_fun ( * this , & Editor : : snap_type_chosen ) , Editing : : SnapToRegionSync ) ) ) ;
ActionManager : : register_radio_action ( snap_actions , snap_choice_group , X_ ( " snap-to-region-boundary " ) , _ ( " Snap to Region Boundary " ) , ( bind ( mem_fun ( * this , & Editor : : snap_type_chosen ) , Editing : : SnapToRegionBoundary ) ) ) ;
2005-10-09 01:03:29 -04:00
2008-02-19 17:10:27 -05:00
/* RULERS */
Glib : : RefPtr < ActionGroup > ruler_actions = ActionGroup : : create ( X_ ( " Rulers " ) ) ;
2008-03-17 16:54:03 -04:00
ruler_tempo_action = Glib : : RefPtr < ToggleAction > : : cast_static ( ActionManager : : register_toggle_action ( ruler_actions , X_ ( " toggle-tempo-ruler " ) , _ ( " Tempo " ) , bind ( mem_fun ( * this , & Editor : : toggle_ruler_visibility ) , ruler_time_tempo ) ) ) ;
ruler_meter_action = Glib : : RefPtr < ToggleAction > : : cast_static ( ActionManager : : register_toggle_action ( ruler_actions , X_ ( " toggle-meter-ruler " ) , _ ( " Meter " ) , bind ( mem_fun ( * this , & Editor : : toggle_ruler_visibility ) , ruler_time_meter ) ) ) ;
ruler_range_action = Glib : : RefPtr < ToggleAction > : : cast_static ( ActionManager : : register_toggle_action ( ruler_actions , X_ ( " toggle-range-ruler " ) , _ ( " Ranges " ) , bind ( mem_fun ( * this , & Editor : : toggle_ruler_visibility ) , ruler_time_range_marker ) ) ) ;
ruler_marker_action = Glib : : RefPtr < ToggleAction > : : cast_static ( ActionManager : : register_toggle_action ( ruler_actions , X_ ( " toggle-marker-ruler " ) , _ ( " Markers " ) , bind ( mem_fun ( * this , & Editor : : toggle_ruler_visibility ) , ruler_time_marker ) ) ) ;
ruler_cd_marker_action = Glib : : RefPtr < ToggleAction > : : cast_static ( ActionManager : : register_toggle_action ( ruler_actions , X_ ( " toggle-cd-marker-ruler " ) , _ ( " CD Markers " ) , bind ( mem_fun ( * this , & Editor : : toggle_ruler_visibility ) , ruler_time_cd_marker ) ) ) ;
ruler_loop_punch_action = Glib : : RefPtr < ToggleAction > : : cast_static ( ActionManager : : register_toggle_action ( ruler_actions , X_ ( " toggle-loop-punch-ruler " ) , _ ( " Loop/Punch " ) , bind ( mem_fun ( * this , & Editor : : toggle_ruler_visibility ) , ruler_time_transport_marker ) ) ) ;
ruler_bbt_action = Glib : : RefPtr < ToggleAction > : : cast_static ( ActionManager : : register_toggle_action ( ruler_actions , X_ ( " toggle-bbt-ruler " ) , _ ( " Bars & Beats " ) , bind ( mem_fun ( * this , & Editor : : toggle_ruler_visibility ) , ruler_metric_frames ) ) ) ;
ruler_samples_action = Glib : : RefPtr < ToggleAction > : : cast_static ( ActionManager : : register_toggle_action ( ruler_actions , X_ ( " toggle-samples-ruler " ) , _ ( " Samples " ) , bind ( mem_fun ( * this , & Editor : : toggle_ruler_visibility ) , ruler_metric_bbt ) ) ) ;
ruler_timecode_action = Glib : : RefPtr < ToggleAction > : : cast_static ( ActionManager : : register_toggle_action ( ruler_actions , X_ ( " toggle-timecode-ruler " ) , _ ( " Timecode " ) , bind ( mem_fun ( * this , & Editor : : toggle_ruler_visibility ) , ruler_metric_smpte ) ) ) ;
ruler_minsec_action = Glib : : RefPtr < ToggleAction > : : cast_static ( ActionManager : : register_toggle_action ( ruler_actions , X_ ( " toggle-minsec-ruler " ) , _ ( " Min:Sec " ) , bind ( mem_fun ( * this , & Editor : : toggle_ruler_visibility ) , ruler_metric_minsec ) ) ) ;
/* set defaults here */
no_ruler_shown_update = true ;
ruler_meter_action - > set_active ( true ) ;
ruler_tempo_action - > set_active ( true ) ;
ruler_marker_action - > set_active ( true ) ;
2008-12-12 09:43:24 -05:00
ruler_range_action - > set_active ( false ) ;
ruler_loop_punch_action - > set_active ( true ) ;
ruler_loop_punch_action - > set_active ( true ) ;
2008-03-17 16:54:03 -04:00
if ( Profile - > get_sae ( ) ) {
2008-12-12 09:43:24 -05:00
ruler_bbt_action - > set_active ( true ) ;
2008-03-17 16:54:03 -04:00
ruler_cd_marker_action - > set_active ( false ) ;
ruler_timecode_action - > set_active ( false ) ;
ruler_minsec_action - > set_active ( true ) ;
} else {
2008-12-12 09:43:24 -05:00
ruler_bbt_action - > set_active ( false ) ;
2008-03-17 16:54:03 -04:00
ruler_cd_marker_action - > set_active ( true ) ;
ruler_timecode_action - > set_active ( true ) ;
ruler_minsec_action - > set_active ( false ) ;
}
ruler_samples_action - > set_active ( false ) ;
no_ruler_shown_update = false ;
2005-10-09 01:03:29 -04:00
/* REGION LIST */
2005-10-09 13:58:06 -04:00
Glib : : RefPtr < ActionGroup > rl_actions = ActionGroup : : create ( X_ ( " RegionList " ) ) ;
RadioAction : : Group sort_type_group ;
2005-10-09 01:03:29 -04:00
RadioAction : : Group sort_order_group ;
2005-12-31 13:20:42 -05:00
/* the region list popup menu */
ActionManager : : register_action ( rl_actions , X_ ( " RegionListSort " ) , _ ( " Sort " ) ) ;
2005-11-24 09:59:36 -05:00
act = ActionManager : : register_action ( rl_actions , X_ ( " rlAudition " ) , _ ( " Audition " ) , mem_fun ( * this , & Editor : : audition_region_from_region_list ) ) ;
ActionManager : : region_list_selection_sensitive_actions . push_back ( act ) ;
act = ActionManager : : register_action ( rl_actions , X_ ( " rlHide " ) , _ ( " Hide " ) , mem_fun ( * this , & Editor : : hide_region_from_region_list ) ) ;
ActionManager : : region_list_selection_sensitive_actions . push_back ( act ) ;
act = ActionManager : : register_action ( rl_actions , X_ ( " rlRemove " ) , _ ( " Remove " ) , mem_fun ( * this , & Editor : : remove_region_from_region_list ) ) ;
ActionManager : : region_list_selection_sensitive_actions . push_back ( act ) ;
2009-01-02 22:35:56 -05:00
ActionManager : : register_toggle_action ( rl_actions , X_ ( " rlShowAll " ) , _ ( " Show All " ) , mem_fun ( * this , & Editor : : toggle_full_region_list ) ) ;
ActionManager : : register_toggle_action ( rl_actions , X_ ( " rlShowAuto " ) , _ ( " Show Automatic Regions " ) , mem_fun ( * this , & Editor : : toggle_show_auto_regions ) ) ;
2005-10-09 13:58:06 -04:00
2005-11-22 23:13:32 -05:00
ActionManager : : register_radio_action ( rl_actions , sort_order_group , X_ ( " SortAscending " ) , _ ( " Ascending " ) ,
2005-10-09 13:58:06 -04:00
bind ( mem_fun ( * this , & Editor : : reset_region_list_sort_direction ) , true ) ) ;
2005-11-22 23:13:32 -05:00
ActionManager : : register_radio_action ( rl_actions , sort_order_group , X_ ( " SortDescending " ) , _ ( " Descending " ) ,
2005-10-09 13:58:06 -04:00
bind ( mem_fun ( * this , & Editor : : reset_region_list_sort_direction ) , false ) ) ;
2005-11-22 23:13:32 -05:00
ActionManager : : register_radio_action ( rl_actions , sort_type_group , X_ ( " SortByRegionName " ) , _ ( " By Region Name " ) ,
2005-10-09 13:58:06 -04:00
bind ( mem_fun ( * this , & Editor : : reset_region_list_sort_type ) , ByName ) ) ;
2005-11-22 23:13:32 -05:00
ActionManager : : register_radio_action ( rl_actions , sort_type_group , X_ ( " SortByRegionLength " ) , _ ( " By Region Length " ) ,
2005-10-09 13:58:06 -04:00
bind ( mem_fun ( * this , & Editor : : reset_region_list_sort_type ) , ByLength ) ) ;
2005-11-22 23:13:32 -05:00
ActionManager : : register_radio_action ( rl_actions , sort_type_group , X_ ( " SortByRegionPosition " ) , _ ( " By Region Position " ) ,
2005-10-09 13:58:06 -04:00
bind ( mem_fun ( * this , & Editor : : reset_region_list_sort_type ) , ByPosition ) ) ;
2005-11-22 23:13:32 -05:00
ActionManager : : register_radio_action ( rl_actions , sort_type_group , X_ ( " SortByRegionTimestamp " ) , _ ( " By Region Timestamp " ) ,
2005-10-09 13:58:06 -04:00
bind ( mem_fun ( * this , & Editor : : reset_region_list_sort_type ) , ByTimestamp ) ) ;
2005-11-22 23:13:32 -05:00
ActionManager : : register_radio_action ( rl_actions , sort_type_group , X_ ( " SortByRegionStartinFile " ) , _ ( " By Region Start in File " ) ,
2005-10-09 13:58:06 -04:00
bind ( mem_fun ( * this , & Editor : : reset_region_list_sort_type ) , ByStartInFile ) ) ;
2005-11-22 23:13:32 -05:00
ActionManager : : register_radio_action ( rl_actions , sort_type_group , X_ ( " SortByRegionEndinFile " ) , _ ( " By Region End in File " ) ,
2005-10-09 13:58:06 -04:00
bind ( mem_fun ( * this , & Editor : : reset_region_list_sort_type ) , ByEndInFile ) ) ;
2005-11-22 23:13:32 -05:00
ActionManager : : register_radio_action ( rl_actions , sort_type_group , X_ ( " SortBySourceFileName " ) , _ ( " By Source File Name " ) ,
2005-10-09 13:58:06 -04:00
bind ( mem_fun ( * this , & Editor : : reset_region_list_sort_type ) , BySourceFileName ) ) ;
2005-11-22 23:13:32 -05:00
ActionManager : : register_radio_action ( rl_actions , sort_type_group , X_ ( " SortBySourceFileLength " ) , _ ( " By Source File Length " ) ,
2005-10-09 13:58:06 -04:00
bind ( mem_fun ( * this , & Editor : : reset_region_list_sort_type ) , BySourceFileLength ) ) ;
2005-11-22 23:13:32 -05:00
ActionManager : : register_radio_action ( rl_actions , sort_type_group , X_ ( " SortBySourceFileCreationDate " ) , _ ( " By Source File Creation Date " ) ,
2005-10-09 13:58:06 -04:00
bind ( mem_fun ( * this , & Editor : : reset_region_list_sort_type ) , BySourceFileCreationDate ) ) ;
2005-11-22 23:13:32 -05:00
ActionManager : : register_radio_action ( rl_actions , sort_type_group , X_ ( " SortBySourceFilesystem " ) , _ ( " By Source Filesystem " ) ,
2005-10-09 13:58:06 -04:00
bind ( mem_fun ( * this , & Editor : : reset_region_list_sort_type ) , BySourceFileFS ) ) ;
2006-03-22 12:03:00 -05:00
/* the next two are duplicate items with different names for use in two different contexts */
2008-04-11 10:06:50 -04:00
act = ActionManager : : register_action ( editor_actions , X_ ( " addExistingAudioFiles " ) , _ ( " Import " ) , mem_fun ( * this , & Editor : : external_audio_dialog ) ) ;
2006-03-22 12:03:00 -05:00
ActionManager : : session_sensitive_actions . push_back ( act ) ;
2008-09-10 11:03:30 -04:00
act = ActionManager : : register_action ( editor_actions , X_ ( " addExternalAudioToRegionList " ) , _ ( " Import to Region List " ) , bind ( mem_fun ( * this , & Editor : : add_external_audio_action ) , ImportAsRegion ) ) ;
ActionManager : : session_sensitive_actions . push_back ( act ) ;
2008-09-26 04:29:30 -04:00
2008-10-02 23:16:19 -04:00
ActionManager : : register_action ( editor_actions , X_ ( " importFromSession " ) , _ ( " Import From Session " ) , mem_fun ( * this , & Editor : : session_import_dialog ) ) ;
2005-10-10 16:38:53 -04:00
2008-05-22 16:56:56 -04:00
act = ActionManager : : register_toggle_action ( editor_actions , X_ ( " toggle-waveform-visible " ) , _ ( " Show Waveforms " ) , mem_fun ( * this , & Editor : : toggle_waveform_visibility ) ) ;
2008-03-17 16:54:03 -04:00
ActionManager : : track_selection_sensitive_actions . push_back ( act ) ;
2008-05-22 16:56:56 -04:00
2006-03-09 11:28:07 -05:00
ActionManager : : register_toggle_action ( editor_actions , X_ ( " ToggleWaveformsWhileRecording " ) , _ ( " Show Waveforms While Recording " ) , mem_fun ( * this , & Editor : : toggle_waveforms_while_recording ) ) ;
2008-05-22 16:56:56 -04:00
ActionManager : : register_toggle_action ( editor_actions , X_ ( " ToggleMeasureVisibility " ) , _ ( " Show Measures " ) , mem_fun ( * this , & Editor : : toggle_measure_visibility ) ) ;
2006-01-28 08:33:54 -05:00
2008-03-17 16:54:03 -04:00
RadioAction : : Group waveform_scale_group ;
act = ActionManager : : register_radio_action ( editor_actions , waveform_scale_group , X_ ( " linear-waveforms " ) , _ ( " Linear " ) , bind ( mem_fun ( * this , & Editor : : waveform_scale_chosen ) , Editing : : LinearWaveform ) ) ;
ActionManager : : track_selection_sensitive_actions . push_back ( act ) ;
act = ActionManager : : register_radio_action ( editor_actions , waveform_scale_group , X_ ( " logarithmic-waveforms " ) , _ ( " Logarithmic " ) , bind ( mem_fun ( * this , & Editor : : waveform_scale_chosen ) , Editing : : LogWaveform ) ) ;
ActionManager : : track_selection_sensitive_actions . push_back ( act ) ;
2007-10-11 18:07:47 -04:00
/* if there is a logo in the editor canvas, its always visible at startup */
act = ActionManager : : register_toggle_action ( editor_actions , X_ ( " ToggleLogoVisibility " ) , _ ( " Show Logo " ) , mem_fun ( * this , & Editor : : toggle_logo_visibility ) ) ;
Glib : : RefPtr < ToggleAction > tact = Glib : : RefPtr < ToggleAction > : : cast_dynamic ( act ) ;
tact - > set_active ( true ) ;
2005-11-22 23:13:32 -05:00
ActionManager : : add_action_group ( rl_actions ) ;
2008-02-19 17:10:27 -05:00
ActionManager : : add_action_group ( ruler_actions ) ;
2005-12-24 13:25:26 -05:00
ActionManager : : add_action_group ( zoom_actions ) ;
2005-11-22 23:13:32 -05:00
ActionManager : : add_action_group ( mouse_mode_actions ) ;
ActionManager : : add_action_group ( snap_actions ) ;
ActionManager : : add_action_group ( editor_actions ) ;
2005-10-09 01:03:29 -04:00
}
2006-01-07 21:56:49 -05:00
2008-03-17 16:54:03 -04:00
void
Editor : : toggle_ruler_visibility ( RulerType rt )
{
const char * action = 0 ;
if ( no_ruler_shown_update ) {
return ;
}
switch ( rt ) {
case ruler_metric_smpte :
action = " toggle-timecode-ruler " ;
break ;
case ruler_metric_bbt :
action = " toggle-bbt-ruler " ;
break ;
case ruler_metric_frames :
action = " toggle-samples-ruler " ;
break ;
case ruler_metric_minsec :
action = " toggle-minsec-ruler " ;
break ;
case ruler_time_tempo :
action = " toggle-tempo-ruler " ;
break ;
case ruler_time_meter :
action = " toggle-meter-ruler " ;
break ;
case ruler_time_marker :
action = " toggle-marker-ruler " ;
break ;
case ruler_time_range_marker :
action = " toggle-range-ruler " ;
break ;
case ruler_time_transport_marker :
action = " toggle-loop-punch-ruler " ;
break ;
case ruler_time_cd_marker :
action = " toggle-cd-marker-ruler " ;
break ;
}
Glib : : RefPtr < Action > act = ActionManager : : get_action ( X_ ( " Rulers " ) , action ) ;
if ( act ) {
Glib : : RefPtr < ToggleAction > tact = Glib : : RefPtr < ToggleAction > : : cast_dynamic ( act ) ;
update_ruler_visibility ( ) ;
store_ruler_visibility ( ) ;
}
}
2006-01-07 21:56:49 -05:00
void
Editor : : toggle_waveform_visibility ( )
{
2008-03-17 16:54:03 -04:00
Glib : : RefPtr < Action > act = ActionManager : : get_action ( X_ ( " Editor " ) , X_ ( " toggle-waveform-visible " ) ) ;
2006-01-07 21:56:49 -05:00
if ( act ) {
Glib : : RefPtr < ToggleAction > tact = Glib : : RefPtr < ToggleAction > : : cast_dynamic ( act ) ;
set_show_waveforms ( tact - > get_active ( ) ) ;
}
}
void
Editor : : toggle_waveforms_while_recording ( )
{
2007-04-11 09:07:51 -04:00
Glib : : RefPtr < Action > act = ActionManager : : get_action ( X_ ( " Editor " ) , X_ ( " ToggleWaveformsWhileRecording " ) ) ;
2006-01-07 21:56:49 -05:00
if ( act ) {
Glib : : RefPtr < ToggleAction > tact = Glib : : RefPtr < ToggleAction > : : cast_dynamic ( act ) ;
set_show_waveforms_recording ( tact - > get_active ( ) ) ;
}
}
void
Editor : : toggle_measure_visibility ( )
{
2006-01-28 08:33:54 -05:00
Glib : : RefPtr < Action > act = ActionManager : : get_action ( X_ ( " Editor " ) , X_ ( " ToggleMeasureVisibility " ) ) ;
2006-01-07 21:56:49 -05:00
if ( act ) {
Glib : : RefPtr < ToggleAction > tact = Glib : : RefPtr < ToggleAction > : : cast_dynamic ( act ) ;
set_show_measures ( tact - > get_active ( ) ) ;
}
}
2007-10-11 18:07:47 -04:00
void
Editor : : toggle_logo_visibility ( )
{
Glib : : RefPtr < Action > act = ActionManager : : get_action ( X_ ( " Editor " ) , X_ ( " ToggleLogoVisibility " ) ) ;
if ( act ) {
Glib : : RefPtr < ToggleAction > tact = Glib : : RefPtr < ToggleAction > : : cast_dynamic ( act ) ;
if ( logo_item ) {
if ( tact - > get_active ( ) ) {
logo_item - > show ( ) ;
} else {
logo_item - > hide ( ) ;
}
}
}
}
2008-03-17 16:54:03 -04:00
void
Editor : : waveform_scale_chosen ( Editing : : WaveformScale ws )
{
RefPtr < Action > act ;
/* this is driven by a toggle on a radio group, and so is invoked twice,
once for the item that became inactive and once for the one that became
active .
*/
switch ( ws ) {
case LinearWaveform :
act = ActionManager : : get_action ( X_ ( " Editor " ) , X_ ( " linear-waveforms " ) ) ;
break ;
case LogWaveform :
act = ActionManager : : get_action ( X_ ( " Editor " ) , X_ ( " logarithmic-waveforms " ) ) ;
break ;
}
if ( act ) {
RefPtr < RadioAction > ract = RefPtr < RadioAction > : : cast_dynamic ( act ) ;
if ( ract & & ract - > get_active ( ) ) {
set_waveform_scale ( ws ) ;
}
}
}
2006-11-01 12:41:28 -05:00
RefPtr < RadioAction >
Editor : : snap_type_action ( SnapType type )
{
const char * action = 0 ;
RefPtr < Action > act ;
switch ( type ) {
case Editing : : SnapToCDFrame :
action = " snap-to-cd-frame " ;
break ;
case Editing : : SnapToSMPTEFrame :
action = " snap-to-smpte-frame " ;
break ;
case Editing : : SnapToSMPTESeconds :
action = " snap-to-smpte-seconds " ;
break ;
case Editing : : SnapToSMPTEMinutes :
action = " snap-to-smpte-minutes " ;
break ;
case Editing : : SnapToSeconds :
action = " snap-to-seconds " ;
break ;
case Editing : : SnapToMinutes :
action = " snap-to-minutes " ;
break ;
case Editing : : SnapToAThirtysecondBeat :
action = " snap-to-thirtyseconds " ;
break ;
case Editing : : SnapToASixteenthBeat :
action = " snap-to-asixteenthbeat " ;
break ;
case Editing : : SnapToAEighthBeat :
action = " snap-to-eighths " ;
break ;
case Editing : : SnapToAQuarterBeat :
action = " snap-to-quarters " ;
break ;
case Editing : : SnapToAThirdBeat :
action = " snap-to-thirds " ;
break ;
case Editing : : SnapToBeat :
action = " snap-to-beat " ;
break ;
case Editing : : SnapToBar :
action = " snap-to-bar " ;
break ;
case Editing : : SnapToMark :
action = " snap-to-mark " ;
break ;
case Editing : : SnapToRegionStart :
action = " snap-to-region-start " ;
break ;
case Editing : : SnapToRegionEnd :
action = " snap-to-region-end " ;
break ;
case Editing : : SnapToRegionSync :
action = " snap-to-region-sync " ;
break ;
case Editing : : SnapToRegionBoundary :
action = " snap-to-region-boundary " ;
break ;
default :
fatal < < string_compose ( _ ( " programming error: %1: %2 " ) , " Editor: impossible snap-to type " , ( int ) type ) < < endmsg ;
/*NOTREACHED*/
}
act = ActionManager : : get_action ( X_ ( " Snap " ) , action ) ;
if ( act ) {
RefPtr < RadioAction > ract = RefPtr < RadioAction > : : cast_dynamic ( act ) ;
return ract ;
} else {
error < < string_compose ( _ ( " programming error: %1 " ) , " Editor::snap_type_chosen could not find action to match type. " ) < < endmsg ;
return RefPtr < RadioAction > ( ) ;
}
}
2008-01-10 16:20:59 -05:00
void
Editor : : cycle_snap_choice ( )
{
switch ( snap_type ) {
case Editing : : SnapToCDFrame :
set_snap_to ( Editing : : SnapToSMPTEFrame ) ;
break ;
case Editing : : SnapToSMPTEFrame :
set_snap_to ( Editing : : SnapToSMPTESeconds ) ;
break ;
case Editing : : SnapToSMPTESeconds :
set_snap_to ( Editing : : SnapToSMPTEMinutes ) ;
break ;
case Editing : : SnapToSMPTEMinutes :
set_snap_to ( Editing : : SnapToSeconds ) ;
break ;
case Editing : : SnapToSeconds :
set_snap_to ( Editing : : SnapToMinutes ) ;
break ;
case Editing : : SnapToMinutes :
set_snap_to ( Editing : : SnapToAThirtysecondBeat ) ;
break ;
case Editing : : SnapToAThirtysecondBeat :
set_snap_to ( Editing : : SnapToASixteenthBeat ) ;
break ;
case Editing : : SnapToASixteenthBeat :
set_snap_to ( Editing : : SnapToAEighthBeat ) ;
break ;
case Editing : : SnapToAEighthBeat :
set_snap_to ( Editing : : SnapToAQuarterBeat ) ;
break ;
case Editing : : SnapToAQuarterBeat :
set_snap_to ( Editing : : SnapToAThirdBeat ) ;
break ;
case Editing : : SnapToAThirdBeat :
set_snap_to ( Editing : : SnapToBeat ) ;
break ;
case Editing : : SnapToBeat :
set_snap_to ( Editing : : SnapToBar ) ;
break ;
case Editing : : SnapToBar :
set_snap_to ( Editing : : SnapToMark ) ;
break ;
case Editing : : SnapToMark :
set_snap_to ( Editing : : SnapToRegionStart ) ;
break ;
case Editing : : SnapToRegionStart :
set_snap_to ( Editing : : SnapToRegionEnd ) ;
break ;
case Editing : : SnapToRegionEnd :
set_snap_to ( Editing : : SnapToRegionSync ) ;
break ;
case Editing : : SnapToRegionSync :
set_snap_to ( Editing : : SnapToRegionBoundary ) ;
break ;
case Editing : : SnapToRegionBoundary :
set_snap_to ( Editing : : SnapToCDFrame ) ;
break ;
}
}
2006-11-01 12:41:28 -05:00
void
Editor : : snap_type_chosen ( SnapType type )
{
/* this is driven by a toggle on a radio group, and so is invoked twice,
once for the item that became inactive and once for the one that became
active .
*/
RefPtr < RadioAction > ract = snap_type_action ( type ) ;
if ( ract & & ract - > get_active ( ) ) {
set_snap_to ( type ) ;
}
}
RefPtr < RadioAction >
Editor : : snap_mode_action ( SnapMode mode )
{
const char * action = 0 ;
RefPtr < Action > act ;
switch ( mode ) {
2008-01-10 16:20:59 -05:00
case Editing : : SnapOff :
action = X_ ( " snap-off " ) ;
break ;
2006-11-01 12:41:28 -05:00
case Editing : : SnapNormal :
action = X_ ( " snap-normal " ) ;
break ;
case Editing : : SnapMagnetic :
action = X_ ( " snap-magnetic " ) ;
break ;
default :
fatal < < string_compose ( _ ( " programming error: %1: %2 " ) , " Editor: impossible snap mode type " , ( int ) mode ) < < endmsg ;
/*NOTREACHED*/
}
act = ActionManager : : get_action ( X_ ( " Editor " ) , action ) ;
if ( act ) {
RefPtr < RadioAction > ract = RefPtr < RadioAction > : : cast_dynamic ( act ) ;
return ract ;
} else {
error < < string_compose ( _ ( " programming error: %1: %2 " ) , " Editor::snap_mode_chosen could not find action to match mode. " , action ) < < endmsg ;
return RefPtr < RadioAction > ( ) ;
}
}
2008-01-10 16:20:59 -05:00
void
Editor : : cycle_snap_mode ( )
{
switch ( snap_mode ) {
case SnapOff :
set_snap_mode ( SnapNormal ) ;
break ;
case SnapNormal :
set_snap_mode ( SnapMagnetic ) ;
break ;
case SnapMagnetic :
set_snap_mode ( SnapOff ) ;
break ;
}
}
2006-11-01 12:41:28 -05:00
void
Editor : : snap_mode_chosen ( SnapMode mode )
{
/* this is driven by a toggle on a radio group, and so is invoked twice,
once for the item that became inactive and once for the one that became
active .
*/
RefPtr < RadioAction > ract = snap_mode_action ( mode ) ;
if ( ract & & ract - > get_active ( ) ) {
set_snap_mode ( mode ) ;
}
}
2007-11-07 20:40:25 -05:00
RefPtr < RadioAction >
Editor : : edit_point_action ( EditPoint ep )
{
const char * action = 0 ;
RefPtr < Action > act ;
switch ( ep ) {
case Editing : : EditAtPlayhead :
action = X_ ( " edit-at-playhead " ) ;
break ;
case Editing : : EditAtSelectedMarker :
action = X_ ( " edit-at-selected-marker " ) ;
break ;
case Editing : : EditAtMouse :
action = X_ ( " edit-at-mouse " ) ;
break ;
default :
fatal < < string_compose ( _ ( " programming error: %1: %2 " ) , " Editor: impossible edit point type " , ( int ) ep ) < < endmsg ;
/*NOTREACHED*/
}
act = ActionManager : : get_action ( X_ ( " Editor " ) , action ) ;
if ( act ) {
RefPtr < RadioAction > ract = RefPtr < RadioAction > : : cast_dynamic ( act ) ;
return ract ;
} else {
error < < string_compose ( _ ( " programming error: %1: %2 " ) , " Editor::edit_point_action could not find action to match edit point. " , action ) < < endmsg ;
return RefPtr < RadioAction > ( ) ;
}
}
void
Editor : : edit_point_chosen ( EditPoint ep )
{
/* this is driven by a toggle on a radio group, and so is invoked twice,
once for the item that became inactive and once for the one that became
active .
*/
RefPtr < RadioAction > ract = edit_point_action ( ep ) ;
if ( ract & & ract - > get_active ( ) ) {
2007-11-12 17:23:01 -05:00
set_edit_point_preference ( ep ) ;
2007-11-07 20:40:25 -05:00
}
}
2006-11-01 12:41:28 -05:00
RefPtr < RadioAction >
Editor : : zoom_focus_action ( ZoomFocus focus )
{
const char * action = 0 ;
RefPtr < Action > act ;
switch ( focus ) {
case ZoomFocusLeft :
action = X_ ( " zoom-focus-left " ) ;
break ;
case ZoomFocusRight :
action = X_ ( " zoom-focus-right " ) ;
break ;
case ZoomFocusCenter :
action = X_ ( " zoom-focus-center " ) ;
break ;
case ZoomFocusPlayhead :
action = X_ ( " zoom-focus-playhead " ) ;
break ;
2007-11-07 20:40:25 -05:00
case ZoomFocusMouse :
action = X_ ( " zoom-focus-mouse " ) ;
break ;
2006-11-01 12:41:28 -05:00
case ZoomFocusEdit :
action = X_ ( " zoom-focus-edit " ) ;
break ;
default :
fatal < < string_compose ( _ ( " programming error: %1: %2 " ) , " Editor: impossible focus type " , ( int ) focus ) < < endmsg ;
/*NOTREACHED*/
}
act = ActionManager : : get_action ( X_ ( " Zoom " ) , action ) ;
if ( act ) {
RefPtr < RadioAction > ract = RefPtr < RadioAction > : : cast_dynamic ( act ) ;
return ract ;
} else {
error < < string_compose ( _ ( " programming error: %1: %2 " ) , " Editor::zoom_focus_action could not find action to match focus. " , action ) < < endmsg ;
}
return RefPtr < RadioAction > ( ) ;
}
void
Editor : : zoom_focus_chosen ( ZoomFocus focus )
{
/* this is driven by a toggle on a radio group, and so is invoked twice,
once for the item that became inactive and once for the one that became
active .
*/
RefPtr < RadioAction > ract = zoom_focus_action ( focus ) ;
if ( ract & & ract - > get_active ( ) ) {
set_zoom_focus ( focus ) ;
}
}
2007-04-26 16:54:31 -04:00
/** A Configuration parameter has changed.
* @ param parameter_name Name of the changed parameter .
*/
2006-09-29 17:39:39 -04:00
void
2009-05-15 21:22:43 -04:00
Editor : : parameter_changed ( std : : string p )
2006-09-29 17:39:39 -04:00
{
2009-05-15 21:22:43 -04:00
ENSURE_GUI_THREAD ( bind ( mem_fun ( * this , & Editor : : parameter_changed ) , p ) ) ;
2006-09-29 17:39:39 -04:00
2009-05-15 21:22:43 -04:00
if ( p = = " auto-loop " ) {
2006-09-29 17:39:39 -04:00
update_loop_range_view ( true ) ;
2009-05-15 21:22:43 -04:00
} else if ( p = = " punch-in " ) {
2006-09-29 17:39:39 -04:00
update_punch_range_view ( true ) ;
2009-05-15 21:22:43 -04:00
} else if ( p = = " punch-out " ) {
2006-09-29 17:39:39 -04:00
update_punch_range_view ( true ) ;
2009-05-15 21:22:43 -04:00
} else if ( p = = " smpte-format " ) {
2006-09-29 17:39:39 -04:00
update_just_smpte ( ) ;
2009-05-15 21:22:43 -04:00
} else if ( p = = " xfades-visible " ) {
2007-04-26 16:54:31 -04:00
update_xfade_visibility ( ) ;
2009-05-15 21:22:43 -04:00
} else if ( p = = " show-region-fades " ) {
2008-10-09 17:55:05 -04:00
update_region_fade_visibility ( ) ;
2009-05-15 21:22:43 -04:00
} else if ( p = = " edit-mode " ) {
2006-09-29 17:39:39 -04:00
edit_mode_selector . set_active_text ( edit_mode_to_string ( Config - > get_edit_mode ( ) ) ) ;
2009-05-15 21:22:43 -04:00
} else if ( p = = " subframes-per-frame " ) {
2006-11-20 16:40:11 -05:00
update_just_smpte ( ) ;
2009-05-15 21:22:43 -04:00
} else if ( p = = " show-track-meters " ) {
2007-12-20 18:25:19 -05:00
toggle_meter_updating ( ) ;
2008-01-10 16:20:59 -05:00
}
2006-03-21 10:27:57 -05:00
}
2007-01-17 17:17:47 -05:00
void
Editor : : reset_focus ( )
{
2008-03-17 16:54:03 -04:00
track_canvas - > grab_focus ( ) ;
2007-01-17 17:17:47 -05:00
}
2008-04-11 10:06:50 -04:00
void
Editor : : reset_canvas_action_sensitivity ( bool onoff )
{
if ( _edit_point ! = EditAtMouse ) {
onoff = true ;
}
for ( vector < Glib : : RefPtr < Action > > : : iterator x = ActionManager : : mouse_edit_point_requires_canvas_actions . begin ( ) ;
x ! = ActionManager : : mouse_edit_point_requires_canvas_actions . end ( ) ; + + x ) {
( * x ) - > set_sensitive ( onoff ) ;
}
}
2008-10-09 17:55:05 -04:00