diff --git a/SConstruct b/SConstruct index 67cdc5e759..1336c53b08 100644 --- a/SConstruct +++ b/SConstruct @@ -30,6 +30,7 @@ opts.AddOptions( BoolOption('AUDIOUNITS', 'Compile with Apple\'s AudioUnit library. (experimental)', 0), BoolOption('COREAUDIO', 'Compile with Apple\'s CoreAudio library', 0), BoolOption('GTKOSX', 'Compile for use with GTK-OSX, not GTK-X11', 0), + BoolOption('NATIVE_OSX_KEYS', 'Build key bindings file that matches OS X conventions', 0), BoolOption('DEBUG', 'Set to build with debugging information and no optimizations', 0), PathOption('DESTDIR', 'Set the intermediate install "prefix"', '/'), EnumOption('DIST_TARGET', 'Build target for cross compiling packagers', 'auto', allowed_values=('auto', 'i386', 'i686', 'x86_64', 'powerpc', 'tiger', 'panther', 'none' ), ignorecase=2), @@ -437,8 +438,9 @@ def CheckPKGVersion(context, name, version): def CheckPKGExists(context, name): context.Message ('Checking for %s...' % name) - ret = context.TryAction('pkg-config --exists %s' % name)[0] - context.Result (ret) + ret = context.TryAction('pkg-config --exists %s' % name) + print ("Result was [%s]" % ret[1]) + context.Result (ret[0]) return ret conf = Configure(env, custom_tests = { 'CheckPKGConfig' : CheckPKGConfig, @@ -758,6 +760,8 @@ if conf.CheckPKGExists('vamp-sdk'): else: have_vamp = False +print "---> WE HAVE VAMP: ", have_vamp + libraries['vamp'] = conf.Finish () if have_vamp: @@ -767,7 +771,7 @@ if have_vamp: env['RUBBERBAND'] = True libraries['rubberband'] = LibraryInfo (LIBS='rubberband', LIBPATH='#libs/rubberband', - CPPPATH='#libs/rubberband/rubberband', + CPPPATH='#libs/rubberband', CCFLAGS='-DUSE_RUBBERBAND') libraries['vamp'] = conf.Finish () diff --git a/gtk2_ardour/SConscript b/gtk2_ardour/SConscript index 0983fc81f8..a0a197d4c0 100644 --- a/gtk2_ardour/SConscript +++ b/gtk2_ardour/SConscript @@ -382,7 +382,27 @@ my_subst_dict = { } # null substitution just to avoid ardour.bindings being in svn # -ardourbindings = env.SubstInFile ('ardour.bindings', 'ardour.bindings.in', SUBST_DICT = my_subst_dict); +keybindings_dict = { } + +if gtkardour['GTKOSX'] and gtkardour['NATIVE_OSX_KEYS']: + # + # Command(Mod1), Alt(Mod5), Ctrl, Shift + # + keybindings_dict['%PRIMARY%'] = 'Mod1' + keybindings_dict['%SECONDARY%'] = 'Alt' + keybindings_dict['%TERTIARY%'] = 'Ctrl' + keybindings_dict['%LEVEL4%'] = 'Shift' +else: + # + # Ctrl, Alt, Shift, Mod3(Meta) + # + keybindings_dict['%PRIMARY%'] = 'Ctrl' + keybindings_dict['%SECONDARY%'] = 'Alt' + keybindings_dict['%TERTIARY%'] = 'Shift' + keybindings_dict['%LEVEL4%'] = 'Mod3' + +ardourbindings = env.SubstInFile ('ardour.bindings', 'ardour.bindings.in', SUBST_DICT = keybindings_dict); +ardoursaebindings = env.SubstInFile ('ardour-sae.bindings', 'ardour-sae.bindings.in', SUBST_DICT = keybindings_dict); my_subst_dict['%INSTALL_PREFIX%'] = final_prefix my_subst_dict['%LIBDIR%'] = env['LIBDIR'] @@ -395,6 +415,7 @@ ardourdev = env.SubstInFile ('ardev_common.sh','ardev_common.sh.in', SUBST_DICT env.AddPostAction (ardourdev, Chmod ('$TARGET', 0755)) Default(ardourbindings) +Default(ardoursaebindings) Default(ardourdev) Default(ardoursh) Default(ardour_dark_theme) @@ -426,7 +447,9 @@ env.Alias('install', env.Install(os.path.join(config_prefix, 'ardour2'), ardour_ env.Alias('install', env.Install(os.path.join(config_prefix, 'ardour2'), ardour_light_theme)) env.Alias('install', env.Install(os.path.join(config_prefix, 'ardour2'), 'ardour2_ui_default.conf')) env.Alias('install', env.Install(os.path.join(config_prefix, 'ardour2'), 'ardour.menus')) +env.Alias('install', env.Install(os.path.join(config_prefix, 'ardour2'), 'ardour-sae.menus')) env.Alias('install', env.Install(os.path.join(config_prefix, 'ardour2'), 'ardour.bindings')) +env.Alias('install', env.Install(os.path.join(config_prefix, 'ardour2'), 'ardour-sae.bindings')) # data files env.Alias('install', env.Install(os.path.join(install_prefix, 'share', 'ardour2'), 'splash.png')) env.Alias('install', env.Install(os.path.join(install_prefix, 'share', 'ardour2', 'pixmaps'), pixmap_files)) @@ -442,7 +465,9 @@ env.Alias ('tarball', env.Distribute (env['DISTTREE'], 'ardev_common.sh.in', 'ardev', 'ardbg', 'ardour2_ui_dark.rc.in', 'ardour2_ui_light.rc.in', 'splash.png', - 'ardour.menus', 'ardour.bindings.in', 'ardour2_ui_default.conf', + 'ardour.menus', 'ardour-sae.menus', + 'ardour.bindings.in', 'ardour-sae.bindings.in', + 'ardour2_ui_default.conf', 'editor_xpms' ] + gtkardour_files + diff --git a/gtk2_ardour/ardev_common.sh.in b/gtk2_ardour/ardev_common.sh.in index 7f40b1ec35..6c36872792 100644 --- a/gtk2_ardour/ardev_common.sh.in +++ b/gtk2_ardour/ardev_common.sh.in @@ -9,7 +9,7 @@ export GTK_PATH=libs/clearlooks export LD_LIBRARY_PATH=libs/surfaces/control_protocol:libs/ardour:libs/midi++2:libs/pbd:libs/rubberband:libs/soundtouch:libs/gtkmm2ext:libs/sigc++2:libs/glibmm2:libs/gtkmm2/atk:libs/gtkmm2/pango:libs/gtkmm2/gdk:libs/gtkmm2/gtk:libs/libgnomecanvasmm:libs/libsndfile:libs/appleutility:$LD_LIBRARY_PATH # DYLD_LIBRARY_PATH is for darwin. -export DYLD_LIBRARY_PATH=$LD_LIBRARY_PATH +export DYLD_FALLBACK_LIBRARY_PATH=$LD_LIBRARY_PATH # For the internal clearlooks engine export GTK_PATH=$PWD/libs/clearlooks:~/.ardour2 diff --git a/gtk2_ardour/ardour-sae.bindings.in b/gtk2_ardour/ardour-sae.bindings.in new file mode 100644 index 0000000000..1c722f667d --- /dev/null +++ b/gtk2_ardour/ardour-sae.bindings.in @@ -0,0 +1,341 @@ +; ardour-2.0beta11.1 GtkAccelMap rc-file -*- scheme -*- +; this file is an automated accelerator map dump +; +; (gtk_accel_path "/RegionList/RegionListSort" "") +(gtk_accel_path "/Common/Quit" "<%PRIMARY%>q") +(gtk_accel_path "/Common/Save" "<%PRIMARY%>s") +; (gtk_accel_path "/Editor/Pullup" "") +; (gtk_accel_path "/Editor/zoom-to-session" "") +; (gtk_accel_path "/JACK/JACKReconnect" "") +; (gtk_accel_path "/Editor/Autoconnect" "") +; (gtk_accel_path "/Editor/Edit" "") +(gtk_accel_path "/Editor/playhead-to-previous-region-end" "<%PRIMARY%>comma") +(gtk_accel_path "/Editor/cycle-edit-point" "grave") +(gtk_accel_path "/Editor/toggle-edit-mode" "1") +(gtk_accel_path "/Editor/cycle-snap-mode" "2") +(gtk_accel_path "/Editor/cycle-snap-choice" "3") +; (gtk_accel_path "/redirectmenu/copy" "") +; (gtk_accel_path "/options/MeterFalloffFaster" "") +(gtk_accel_path "/Transport/ToggleRollForgetCapture" "<%PRIMARY%>space") +(gtk_accel_path "/Transport/Record" "<%TERTIARY%>r") +; (gtk_accel_path "/RegionList/SortByRegionLength" "") +; (gtk_accel_path "/options/MeterFalloffSlowest" "") +; (gtk_accel_path "/Editor/playhead-to-previous-region-sync" "") +; (gtk_accel_path "/redirectmenu/deactivate_all" "") +; (gtk_accel_path "/RegionList/SortByRegionPosition" "") +; (gtk_accel_path "/Editor/ZoomFocus" "") +(gtk_accel_path "/Editor/addExistingAudioFiles" "<%SECONDARY%>i") +; (gtk_accel_path "/options/MeterFalloffSlow" "") +; (gtk_accel_path "/RegionList/rlHide" "") +; (gtk_accel_path "/Main/Metering" "") +(gtk_accel_path "/Editor/playhead-to-next-region-end" "<%PRIMARY%>period") +; (gtk_accel_path "/Zoom/zoom-focus-playhead" "") +; (gtk_accel_path "/Editor/center-edit-cursor" "") +; (gtk_accel_path "/Editor/Monitoring" "") +; (gtk_accel_path "/redirectmenu/deactivate" "") +; (gtk_accel_path "/options/LatchedRecordEnable" "") +; (gtk_accel_path "/Transport/TogglePunchIn" "") +; (gtk_accel_path "/ShuttleActions/SetShuttleUnitsPercentage" "") +(gtk_accel_path "/Editor/edit-cursor-to-previous-region-start" "bracketleft") +; (gtk_accel_path "/Main/Close" "") +; (gtk_accel_path "/Main/New" "") +(gtk_accel_path "/Editor/nudge-next-backward" "<%PRIMARY%>KP_Subtract") +; (gtk_accel_path "/Editor/EditSelectRangeOptions" "") +; (gtk_accel_path "/Transport/ToggleTimeMaster" "") +; (gtk_accel_path "/Snap/snap-to-thirds" "") +(gtk_accel_path "/Editor/align-regions-start-relative" "<%TERTIARY%>a") +; (gtk_accel_path "/Main/Export" "") +(gtk_accel_path "/Editor/jump-forward-to-mark" "<%PRIMARY%>KP_Right") +; (gtk_accel_path "/Editor/Smpte30" "") +; (gtk_accel_path "/Editor/playhead-to-range-start" "") +; (gtk_accel_path "/Editor/Subframes" "") +; (gtk_accel_path "/Editor/Smpte2997drop" "") +; (gtk_accel_path "/Main/AddTrackBus" "") +(gtk_accel_path "/Editor/align-regions-end" "<%LEVEL4%>a") +; (gtk_accel_path "/JACK/JACKDisconnect" "") +; (gtk_accel_path "/options/MeterFalloffFast" "") +; (gtk_accel_path "/options/FileDataFormatFloat" "") +; (gtk_accel_path "/Snap/snap-to-region-end" "") +(gtk_accel_path "/Editor/edit-cursor-to-next-region-sync" "semicolon") +; (gtk_accel_path "/options/StopRecordingOnXrun" "") +; (gtk_accel_path "/RegionList/SortDescending" "") +; (gtk_accel_path "/options/DoNotRunPluginsWhileRecording" "") +; (gtk_accel_path "/Editor/PullupNone" "") +(gtk_accel_path "/MouseMode/set-mouse-mode-range" "r") +(gtk_accel_path "/Editor/jump-backward-to-mark" "<%PRIMARY%>KP_Left") +; (gtk_accel_path "/Main/AudioFileFormatData" "") +; (gtk_accel_path "/options/MeterFalloffFastest" "") +; (gtk_accel_path "/Editor/audition-at-mouse" "w") +(gtk_accel_path "/Transport/Forward" "<%PRIMARY%>rightarrow") +; (gtk_accel_path "/Snap/snap-to-smpte-seconds" "") +; (gtk_accel_path "/Snap/snap-to-smpte-frame" "") +; (gtk_accel_path "/Main/ExportSelection" "") +; (gtk_accel_path "/options/StopPluginsWithTransport" "") +(gtk_accel_path "/Editor/editor-paste" "<%PRIMARY%>v") +(gtk_accel_path "/Editor/scroll-tracks-down" "Page_Down") +(gtk_accel_path "/Editor/select-next-route" "<%PRIMARY%>Page_Down") +(gtk_accel_path "/Editor/select-prev-route" "<%PRIMARY%>Page_Up") +; (gtk_accel_path "/Snap/snap-to-smpte-minutes" "") +; (gtk_accel_path "/Main/FlushWastebasket" "") +(gtk_accel_path "/Editor/normalize-region" "n") +(gtk_accel_path "/Editor/nudge-forward" "KP_Add") +; (gtk_accel_path "/RegionList/SortByRegionEndinFile" "") +; (gtk_accel_path "/Editor/ToggleMeasureVisibility" "") +; (gtk_accel_path "/Zoom/zoom-focus-center" "") +(gtk_accel_path "/Editor/nudge-backward" "KP_Subtract") +; (gtk_accel_path "/options/LatchedSolo" "") +; (gtk_accel_path "/options/MeterHoldOff" "") +; (gtk_accel_path "/options/OutputAutoConnectMaster" "") +; (gtk_accel_path "/JACK/JACKLatency64" "") +(gtk_accel_path "/Editor/undo" "<%PRIMARY%>z") +(gtk_accel_path "/Editor/insert-region" "i") +; (gtk_accel_path "/Editor/center-playhead" "") +(gtk_accel_path "/Editor/edit-cursor-to-next-region-start" "bracketright") +; (gtk_accel_path "/Snap/snap-to-region-start" "") +; (gtk_accel_path "/Editor/View" "") +; (gtk_accel_path "/Editor/Layering" "") +; (gtk_accel_path "/JACK/JACKLatency4096" "") +(gtk_accel_path "/Editor/scroll-tracks-up" "Page_Up") +(gtk_accel_path "/Editor/set-edit-point" "o") +; (gtk_accel_path "/Editor/Smpte30drop" "") +; (gtk_accel_path "/Zoom/zoom-focus-edit" "") +(gtk_accel_path "/Editor/playhead-to-previous-region-start" "comma") +; (gtk_accel_path "/Editor/EditCursorMovementOptions" "") +; (gtk_accel_path "/redirectmenu/activate_all" "") +; (gtk_accel_path "/redirectmenu/paste" "") +; (gtk_accel_path "/Editor/Smpte25" "") +; (gtk_accel_path "/options/RegionEquivalentsOverlap" "") +; (gtk_accel_path "/Main/MeteringFallOffRate" "") +; (gtk_accel_path "/options/UseHardwareMonitoring" "") +; (gtk_accel_path "/Editor/Smpte24" "") +; (gtk_accel_path "/Snap/snap-to-mark" "") +; (gtk_accel_path "/Editor/CrossfadesShort" "") +; (gtk_accel_path "/Editor/Smpte5994" "") +; (gtk_accel_path "/JACK/JACKLatency8192" "") +(gtk_accel_path "/Editor/step-tracks-down" "downarrow") +; (gtk_accel_path "/Editor/toggle-xfades-visible" "") +(gtk_accel_path "/Editor/extend-range-to-end-of-region" "rightanglebracket") +(gtk_accel_path "/Editor/scroll-backward" "leftarrow") +(gtk_accel_path "/Editor/start-range" "F1") +; (gtk_accel_path "/ShuttleActions/SetShuttleUnitsSemitones" "") +; (gtk_accel_path "/JACK/JACKLatency128" "") +; (gtk_accel_path "/Snap/snap-to-beat" "") +; (gtk_accel_path "/Editor/RegionEditOps" "") +; (gtk_accel_path "/Editor/snap-magnetic" "") +; (gtk_accel_path "/Editor/playhead-to-range-end" "") +(gtk_accel_path "/Editor/scroll-playhead-forward" "<%TERTIARY%>rightarrow") +(gtk_accel_path "/Editor/align-regions-sync-relative" "y") +; (gtk_accel_path "/Editor/EditSelectRegionOptions" "") +(gtk_accel_path "/Editor/crop" "c") +; (gtk_accel_path "/redirectmenu/newsend" "") +; (gtk_accel_path "/Editor/ToggleGeneric MIDISurfaceSubMenu" "") +; (gtk_accel_path "/Editor/MeterFalloff" "") +; (gtk_accel_path "/RegionList/rlRemove" "") +(gtk_accel_path "/Transport/GotoStart" "Home") +(gtk_accel_path "/Editor/select-all-before-edit-cursor" "<%LEVEL4%>Home") +(gtk_accel_path "/Editor/scroll-playhead-backward" "<%TERTIARY%>leftarrow") +(gtk_accel_path "/Editor/split-region" "d") +; (gtk_accel_path "/Transport/ToggleAutoInput" "") +; (gtk_accel_path "/Snap/snap-to-thirtyseconds" "") +; (gtk_accel_path "/Snap/snap-to-minutes" "") +(gtk_accel_path "/Editor/align-regions-sync" "less") +; (gtk_accel_path "/Main/Windows" "") +; (gtk_accel_path "/Main/CleanupUnused" "") +; (gtk_accel_path "/redirectmenu/deselectall" "") +; (gtk_accel_path "/options/SoloViaBus" "") +(gtk_accel_path "/MouseMode/set-mouse-mode-zoom" "z") +; (gtk_accel_path "/RegionList/rlAudition" "") +(gtk_accel_path "/Editor/set-region-sync-position" "u") +; (gtk_accel_path "/Editor/PullupPlus4Plus1" "") +; (gtk_accel_path "/Snap/snap-to-region-boundary" "") +; (gtk_accel_path "/JACK/JACK" "") +(gtk_accel_path "/Editor/editor-cut" "<%PRIMARY%>x") +(gtk_accel_path "/Editor/editor-separate" "F4") +; (gtk_accel_path "/RegionList/SortAscending" "") +; (gtk_accel_path "/Main/Help" "") +; (gtk_accel_path "/options/UseExternalMonitoring" "") +; (gtk_accel_path "/Editor/Smpte23976" "") +(gtk_accel_path "/Common/goto-editor" "<%SECONDARY%>e") +(gtk_accel_path "/Editor/select-all" "F14") +(gtk_accel_path "/Editor/invert-selection" "F15") +(gtk_accel_path "/Editor/nudge-next-forward" "<%PRIMARY%>KP_Add") +; (gtk_accel_path "/options/ShowSoloMutes" "") +; (gtk_accel_path "/Snap/snap-to-eighths" "") +(gtk_accel_path "/Editor/select-all-after-playhead" "<%TERTIARY%><%PRIMARY%>p") +(gtk_accel_path "/Common/ToggleMaximalEditor" "F11") +; (gtk_accel_path "/RegionList/SortBySourceFileLength" "") +; (gtk_accel_path "/Editor/Timecode" "") +; (gtk_accel_path "/Transport/PlaySelection" "") +; (gtk_accel_path "/Editor/PullupMinus4Minus1" "") +(gtk_accel_path "/Editor/select-all-after-edit-cursor" "<%TERTIARY%><%PRIMARY%>e") +; (gtk_accel_path "/RegionList/SortBySourceFileName" "") +(gtk_accel_path "/Editor/finish-range" "F2") +(gtk_accel_path "/Editor/select-range-between-cursors" "F16") +(gtk_accel_path "/Transport/Loop" "l") +; (gtk_accel_path "/Editor/CrossfadesFull" "") +(gtk_accel_path "/Editor/finish-add-range" "<%TERTIARY%><%PRIMARY%>KP_Up") +; (gtk_accel_path "/Transport/ToggleClick" "") +; (gtk_accel_path "/options/SendMTC" "") +; (gtk_accel_path "/Transport/TogglePunchOut" "") +(gtk_accel_path "/Editor/select-all-in-loop-range" "<%PRIMARY%>l") +(gtk_accel_path "/Editor/show-editor-mixer" "<%TERTIARY%>e") +; (gtk_accel_path "/options/SoloInPlace" "") +; (gtk_accel_path "/Main/Options" "") +; (gtk_accel_path "/options/MeterFalloffMedium" "") +(gtk_accel_path "/Editor/toggle-follow-playhead" "f") +; (gtk_accel_path "/Main/SaveTemplate" "") +(gtk_accel_path "/Transport/TransitionToRoll" "<%PRIMARY%>uparrow") +; (gtk_accel_path "/RegionList/SortByRegionStartinFile" "") +; (gtk_accel_path "/options/GainReduceFastTransport" "") +; (gtk_accel_path "/Common/ToggleInspector" "") +; (gtk_accel_path "/Transport/ToggleAutoPlay" "") +; (gtk_accel_path "/Editor/playhead-to-next-region-sync" "") +(gtk_accel_path "/Editor/edit-to-playhead" "<%SECONDARY%>Return") +; (gtk_accel_path "/Editor/LayerMoveAddHigher" "") +; (gtk_accel_path "/Editor/Smpte60" "") +; (gtk_accel_path "/Main/Open" "") +(gtk_accel_path "/Editor/scroll-forward" "rightarrow") +; (gtk_accel_path "/Zoom/zoom-focus-left" "") +; (gtk_accel_path "/Main/TransportOptions" "") +; (gtk_accel_path "/Main/ControlSurfaces" "") +; (gtk_accel_path "/options/FileHeaderFormatBWF" "") +; (gtk_accel_path "/Transport/ToggleAutoReturn" "") +; (gtk_accel_path "/Editor/Smpte2997" "") +; (gtk_accel_path "/Editor/ToggleWaveformVisibility" "") +(gtk_accel_path "/Editor/redo" "<%PRIMARY%>r") +; (gtk_accel_path "/Main/ExportSession" "") +; (gtk_accel_path "/options/InputAutoConnectPhysical" "") +; (gtk_accel_path "/Snap/snap-to-edit-cursor" "") +(gtk_accel_path "/Editor/temporal-zoom-in" "r") +; (gtk_accel_path "/JACK/Latency" "") +(gtk_accel_path "/Editor/edit-cursor-to-range-end" "<%TERTIARY%>F2") +; (gtk_accel_path "/redirectmenu/rename" "") +; (gtk_accel_path "/RegionList/rlShowAuto" "") +(gtk_accel_path "/Editor/select-all-before-playhead" "<%PRIMARY%>p") +; (gtk_accel_path "/Main/Session" "") +(gtk_accel_path "/Editor/edit-cursor-to-range-start" "<%TERTIARY%>F1") +; (gtk_accel_path "/Main/AudioFileFormat" "") +; (gtk_accel_path "/Transport/Transport" "") +(gtk_accel_path "/MouseMode/set-mouse-mode-timefx" "t") +; (gtk_accel_path "/RegionList/SortByRegionName" "") +; (gtk_accel_path "/Main/KeyMouse Actions" "") +(gtk_accel_path "/MouseMode/set-mouse-mode-gain" "g") +; (gtk_accel_path "/Snap/snap-to-frame" "") +; (gtk_accel_path "/Editor/SnapTo" "") +(gtk_accel_path "/Transport/TransitionToReverse" "<%PRIMARY%>downarrow") +; (gtk_accel_path "/Editor/Crossfades" "") +; (gtk_accel_path "/Editor/PullupPlus4" "") +(gtk_accel_path "/Editor/add-location-from-playhead" "KP_Enter") +(gtk_accel_path "/Editor/edit-cursor-to-previous-region-end" "<%PRIMARY%>bracketleft") +; (gtk_accel_path "/Main/MeteringHoldTime" "") +; (gtk_accel_path "/Editor/PullupPlus1" "") +; (gtk_accel_path "/Editor/Smpte24976" "") +; (gtk_accel_path "/options/FileDataFormat24bit" "") +; (gtk_accel_path "/Editor/SnapMode" "") +(gtk_accel_path "/Common/ToggleOptionsEditor" "<%PRIMARY%>o") +; (gtk_accel_path "/Editor/PullupMinus4" "") +(gtk_accel_path "/Common/goto-mixer" "<%SECONDARY%>m") +; (gtk_accel_path "/RegionList/SortBySourceFileCreationDate" "") +; (gtk_accel_path "/redirectmenu/activate" "") +(gtk_accel_path "/Editor/extend-range-to-start-of-region" "leftanglebracket") +; (gtk_accel_path "/Editor/PullupMinus1" "") +; (gtk_accel_path "/Editor/snap-normal" "") +(gtk_accel_path "/Common/ToggleBigClock" "<%SECONDARY%>b") +(gtk_accel_path "/Common/ToggleKeyEditor" "<%SECONDARY%>k") +; (gtk_accel_path "/Snap/snap-to-asixteenthbeat" "") +(gtk_accel_path "/Editor/select-all-in-punch-range" "<%PRIMARY%>d") +; (gtk_accel_path "/redirectmenu/edit" "") +(gtk_accel_path "/Editor/duplicate-region" "d") +(gtk_accel_path "/Editor/multi-duplicate-region" "<%SECONDARY%>d") +; (gtk_accel_path "/JACK/JACKLatency2048" "") +; (gtk_accel_path "/Editor/ToggleWaveformsWhileRecording" "") +; (gtk_accel_path "/Zoom/zoom-focus-right" "") +(gtk_accel_path "/Editor/remove-last-capture" "<%PRIMARY%>Delete") +; (gtk_accel_path "/options/FileHeaderFormatWAVE" "") +(gtk_accel_path "/Transport/GotoZero" "KP_Insert") +(gtk_accel_path "/Editor/select-all-after-edit-cursor" "<%LEVEL4%>End") +; (gtk_accel_path "/redirectmenu/cut" "") +; (gtk_accel_path "/redirectmenu/newinsert" "") +; (gtk_accel_path "/options/UseMMC" "") +; (gtk_accel_path "/options/MeterFalloffOff" "") +(gtk_accel_path "/MouseMode/set-mouse-mode-object" "o") +; (gtk_accel_path "/Editor/PullupMinus4Plus1" "") +; (gtk_accel_path "/Editor/MeterHold" "") +; (gtk_accel_path "/Snap/snap-to-cd-frame" "") +; (gtk_accel_path "/options/StopTransportAtEndOfSession" "") +; (gtk_accel_path "/Main/Cleanup" "") +; (gtk_accel_path "/Main/Snapshot" "") +; (gtk_accel_path "/Transport/ToggleVideoSync" "") +(gtk_accel_path "/Transport/ToggleRoll" "space") +; (gtk_accel_path "/RegionList/SortBySourceFilesystem" "") +(gtk_accel_path "/Common/ToggleColorManager" "<%SECONDARY%>c") +; (gtk_accel_path "/Common/About" "") +; (gtk_accel_path "/JACK/JACKLatency32" "") +(gtk_accel_path "/Editor/playhead-to-edit" "Return") +; (gtk_accel_path "/options/FileHeaderFormatWAVE64" "") +(gtk_accel_path "/Editor/brush-at-mouse" "F3") +; (gtk_accel_path "/RegionList/rlShowAll" "") +(gtk_accel_path "/Transport/Rewind" "<%PRIMARY%>leftarrow") +; (gtk_accel_path "/RegionList/SortByRegionTimestamp" "") +; (gtk_accel_path "/options/VerifyRemoveLastCapture" "") +; (gtk_accel_path "/options/OutputAutoConnectPhysical" "") +(gtk_accel_path "/Editor/step-tracks-up" "uparrow") +(gtk_accel_path "/Editor/playhead-to-next-region-start" "period") +; (gtk_accel_path "/options/SendMMC" "") +; (gtk_accel_path "/Editor/toggle-auto-xfades" "") +; (gtk_accel_path "/Main/AudioFileFormatHeader" "") +; (gtk_accel_path "/options/MeterHoldShort" "") +; (gtk_accel_path "/options/MeterHoldMedium" "") +(gtk_accel_path "/Editor/select-all-before-edit-cursor" "<%PRIMARY%>e") +; (gtk_accel_path "/Editor/Subframes80" "") +; (gtk_accel_path "/options/FileHeaderFormatCAF" "") +(gtk_accel_path "/Common/ToggleLocations" "<%SECONDARY%>l") +; (gtk_accel_path "/Editor/ToggleGeneric MIDISurface" "") +(gtk_accel_path "/Editor/editor-delete" "BackSpace") +; (gtk_accel_path "/JACK/JACKLatency256" "") +(gtk_accel_path "/Editor/select-all-between-cursors" "u") +; (gtk_accel_path "/Editor/LayerAddHigher" "") +; (gtk_accel_path "/Editor/Solo" "") +; (gtk_accel_path "/JACK/JACKLatency1024" "") +; (gtk_accel_path "/Main/ExportRangeMarkers" "") +(gtk_accel_path "/Editor/set-playhead" "p") +; (gtk_accel_path "/Editor/toggle-xfades-active" "") +; (gtk_accel_path "/Snap/snap-to-bar" "") +; (gtk_accel_path "/Editor/LayerLaterHigher" "") +; (gtk_accel_path "/redirectmenu/selectall" "") +(gtk_accel_path "/Editor/editor-copy" "<%PRIMARY%>c") +; (gtk_accel_path "/Snap/snap-to-quarters" "") +(gtk_accel_path "/Editor/temporal-zoom-out" "t") +; (gtk_accel_path "/options/UseSoftwareMonitoring" "") +; (gtk_accel_path "/Editor/Subframes100" "") +(gtk_accel_path "/Editor/mute-unmute-region" "m") +; (gtk_accel_path "/options/OutputAutoConnectManual" "") +; (gtk_accel_path "/Snap/snap-to-region-sync" "") +(gtk_accel_path "/Editor/edit-cursor-to-previous-region-sync" "apostrophe") +; (gtk_accel_path "/redirectmenu/clear" "") +; (gtk_accel_path "/Editor/ToggleGeneric MIDISurfaceFeedback" "") +; (gtk_accel_path "/Editor/PullupPlus4Minus1" "") +; (gtk_accel_path "/JACK/JACKLatency512" "") +(gtk_accel_path "/Editor/edit-cursor-to-next-region-end" "<%PRIMARY%>bracketright") +; (gtk_accel_path "/Main/Recent" "") +; (gtk_accel_path "/redirectmenu/newplugin" "") +; (gtk_accel_path "/options/InputAutoConnectManual" "") +; (gtk_accel_path "/options/MeterHoldLong" "") +; (gtk_accel_path "/Snap/snap-to-seconds" "") +(gtk_accel_path "/Editor/set-fade-in-length" "q") +(gtk_accel_path "/Editor/set-fade-out-length" "e") +(gtk_accel_path "/Editor/trim-from-start" "<%TERTIARY%>braceleft") +(gtk_accel_path "/Editor/trim-to-end" "<%TERTIARY%>braceright") +(gtk_accel_path "/Editor/trim-front" "a") +(gtk_accel_path "/Editor/trim-back" "s") +(gtk_accel_path "/Editor/goto-mark-1" "KP_1") +(gtk_accel_path "/Editor/goto-mark-2" "KP_2") +(gtk_accel_path "/Editor/goto-mark-3" "KP_3") +(gtk_accel_path "/Editor/goto-mark-4" "KP_4") +(gtk_accel_path "/Editor/goto-mark-5" "KP_5") +(gtk_accel_path "/Editor/goto-mark-6" "KP_6") +(gtk_accel_path "/Editor/goto-mark-7" "KP_7") +(gtk_accel_path "/Editor/goto-mark-8" "KP_8") +(gtk_accel_path "/Editor/goto-mark-9" "KP_9") +(gtk_accel_path "/Transport/ToggleClick" "5") +(gtk_accel_path "/Transport/ToggleAutoReturn" "4") diff --git a/gtk2_ardour/ardour-sae.menus b/gtk2_ardour/ardour-sae.menus index 6e8441e17b..efa82857c5 100644 --- a/gtk2_ardour/ardour-sae.menus +++ b/gtk2_ardour/ardour-sae.menus @@ -6,6 +6,7 @@ + @@ -17,7 +18,6 @@ - @@ -25,7 +25,6 @@ - @@ -132,9 +131,7 @@ - - @@ -148,8 +145,8 @@ - - + + diff --git a/gtk2_ardour/ardour.bindings.in b/gtk2_ardour/ardour.bindings.in index da72eff544..f57101969f 100644 --- a/gtk2_ardour/ardour.bindings.in +++ b/gtk2_ardour/ardour.bindings.in @@ -2,33 +2,33 @@ ; this file is an automated accelerator map dump ; ; (gtk_accel_path "/RegionList/RegionListSort" "") -(gtk_accel_path "/Common/Quit" "q") -(gtk_accel_path "/Common/Save" "s") +(gtk_accel_path "/Common/Quit" "<%PRIMARY%>q") +(gtk_accel_path "/Common/Save" "<%PRIMARY%>s") ; (gtk_accel_path "/Editor/Pullup" "") ; (gtk_accel_path "/Editor/zoom-to-session" "") ; (gtk_accel_path "/JACK/JACKReconnect" "") ; (gtk_accel_path "/Editor/Autoconnect" "") ; (gtk_accel_path "/Editor/Edit" "") -(gtk_accel_path "/Editor/playhead-to-previous-region-end" "comma") +(gtk_accel_path "/Editor/playhead-to-previous-region-end" "<%PRIMARY%>comma") (gtk_accel_path "/Editor/cycle-edit-point" "grave") (gtk_accel_path "/Editor/toggle-edit-mode" "1") (gtk_accel_path "/Editor/cycle-snap-mode" "2") (gtk_accel_path "/Editor/cycle-snap-choice" "3") ; (gtk_accel_path "/redirectmenu/copy" "") ; (gtk_accel_path "/options/MeterFalloffFaster" "") -(gtk_accel_path "/Transport/ToggleRollForgetCapture" "space") -(gtk_accel_path "/Transport/Record" "r") +(gtk_accel_path "/Transport/ToggleRollForgetCapture" "<%PRIMARY%>space") +(gtk_accel_path "/Transport/Record" "<%TERTIARY%>r") ; (gtk_accel_path "/RegionList/SortByRegionLength" "") ; (gtk_accel_path "/options/MeterFalloffSlowest" "") ; (gtk_accel_path "/Editor/playhead-to-previous-region-sync" "") ; (gtk_accel_path "/redirectmenu/deactivate_all" "") ; (gtk_accel_path "/RegionList/SortByRegionPosition" "") ; (gtk_accel_path "/Editor/ZoomFocus" "") -(gtk_accel_path "/Editor/addExistingAudioFiles" "i") +(gtk_accel_path "/Editor/addExistingAudioFiles" "<%SECONDARY%>i") ; (gtk_accel_path "/options/MeterFalloffSlow" "") ; (gtk_accel_path "/RegionList/rlHide" "") ; (gtk_accel_path "/Main/Metering" "") -(gtk_accel_path "/Editor/playhead-to-next-region-end" "period") +(gtk_accel_path "/Editor/playhead-to-next-region-end" "<%PRIMARY%>period") ; (gtk_accel_path "/Zoom/zoom-focus-playhead" "") ; (gtk_accel_path "/Editor/center-edit-cursor" "") ; (gtk_accel_path "/Editor/Monitoring" "") @@ -39,19 +39,19 @@ (gtk_accel_path "/Editor/edit-cursor-to-previous-region-start" "bracketleft") ; (gtk_accel_path "/Main/Close" "") ; (gtk_accel_path "/Main/New" "") -(gtk_accel_path "/Editor/nudge-next-backward" "KP_Subtract") +(gtk_accel_path "/Editor/nudge-next-backward" "<%PRIMARY%>KP_Subtract") ; (gtk_accel_path "/Editor/EditSelectRangeOptions" "") ; (gtk_accel_path "/Transport/ToggleTimeMaster" "") ; (gtk_accel_path "/Snap/snap-to-thirds" "") -(gtk_accel_path "/Editor/align-regions-start-relative" "a") +(gtk_accel_path "/Editor/align-regions-start-relative" "<%TERTIARY%>a") ; (gtk_accel_path "/Main/Export" "") -(gtk_accel_path "/Editor/jump-forward-to-mark" "KP_Right") +(gtk_accel_path "/Editor/jump-forward-to-mark" "<%PRIMARY%>KP_Right") ; (gtk_accel_path "/Editor/Smpte30" "") ; (gtk_accel_path "/Editor/playhead-to-range-start" "") ; (gtk_accel_path "/Editor/Subframes" "") ; (gtk_accel_path "/Editor/Smpte2997drop" "") ; (gtk_accel_path "/Main/AddTrackBus" "") -(gtk_accel_path "/Editor/align-regions-end" "a") +(gtk_accel_path "/Editor/align-regions-end" "<%LEVEL4%>a") ; (gtk_accel_path "/JACK/JACKDisconnect" "") ; (gtk_accel_path "/options/MeterFalloffFast" "") ; (gtk_accel_path "/options/FileDataFormatFloat" "") @@ -62,19 +62,19 @@ ; (gtk_accel_path "/options/DoNotRunPluginsWhileRecording" "") ; (gtk_accel_path "/Editor/PullupNone" "") (gtk_accel_path "/MouseMode/set-mouse-mode-range" "r") -(gtk_accel_path "/Editor/jump-backward-to-mark" "KP_Left") +(gtk_accel_path "/Editor/jump-backward-to-mark" "<%PRIMARY%>KP_Left") ; (gtk_accel_path "/Main/AudioFileFormatData" "") ; (gtk_accel_path "/options/MeterFalloffFastest" "") ; (gtk_accel_path "/Editor/audition-at-mouse" "") -(gtk_accel_path "/Transport/Forward" "rightarrow") +(gtk_accel_path "/Transport/Forward" "<%PRIMARY%>rightarrow") ; (gtk_accel_path "/Snap/snap-to-smpte-seconds" "") ; (gtk_accel_path "/Snap/snap-to-smpte-frame" "") ; (gtk_accel_path "/Main/ExportSelection" "") ; (gtk_accel_path "/options/StopPluginsWithTransport" "") -(gtk_accel_path "/Editor/editor-paste" "v") +(gtk_accel_path "/Editor/editor-paste" "<%PRIMARY%>v") (gtk_accel_path "/Editor/scroll-tracks-down" "Page_Down") -(gtk_accel_path "/Editor/select-next-route" "Page_Down") -(gtk_accel_path "/Editor/select-prev-route" "Page_Up") +(gtk_accel_path "/Editor/select-next-route" "<%PRIMARY%>Page_Down") +(gtk_accel_path "/Editor/select-prev-route" "<%PRIMARY%>Page_Up") ; (gtk_accel_path "/Snap/snap-to-smpte-minutes" "") ; (gtk_accel_path "/Main/FlushWastebasket" "") (gtk_accel_path "/Editor/normalize-region" "n") @@ -87,7 +87,7 @@ ; (gtk_accel_path "/options/MeterHoldOff" "") ; (gtk_accel_path "/options/OutputAutoConnectMaster" "") ; (gtk_accel_path "/JACK/JACKLatency64" "") -(gtk_accel_path "/Editor/undo" "z") +(gtk_accel_path "/Editor/undo" "<%PRIMARY%>z") (gtk_accel_path "/Editor/insert-region" "i") ; (gtk_accel_path "/Editor/center-playhead" "") (gtk_accel_path "/Editor/edit-cursor-to-next-region-start" "bracketright") @@ -123,7 +123,7 @@ ; (gtk_accel_path "/Editor/RegionEditOps" "") ; (gtk_accel_path "/Editor/snap-magnetic" "") ; (gtk_accel_path "/Editor/playhead-to-range-end" "") -(gtk_accel_path "/Editor/scroll-playhead-forward" "rightarrow") +(gtk_accel_path "/Editor/scroll-playhead-forward" "<%TERTIARY%>rightarrow") (gtk_accel_path "/Editor/align-regions-sync-relative" "y") ; (gtk_accel_path "/Editor/EditSelectRegionOptions" "") (gtk_accel_path "/Editor/crop" "c") @@ -132,7 +132,7 @@ ; (gtk_accel_path "/Editor/MeterFalloff" "") ; (gtk_accel_path "/RegionList/rlRemove" "") (gtk_accel_path "/Transport/GotoStart" "Home") -(gtk_accel_path "/Editor/scroll-playhead-backward" "leftarrow") +(gtk_accel_path "/Editor/scroll-playhead-backward" "<%TERTIARY%>leftarrow") (gtk_accel_path "/Editor/split-region" "d") ; (gtk_accel_path "/Transport/ToggleAutoInput" "") ; (gtk_accel_path "/Snap/snap-to-thirtyseconds" "") @@ -148,47 +148,47 @@ ; (gtk_accel_path "/Editor/PullupPlus4Plus1" "") ; (gtk_accel_path "/Snap/snap-to-region-boundary" "") ; (gtk_accel_path "/JACK/JACK" "") -(gtk_accel_path "/Editor/editor-cut" "x") +(gtk_accel_path "/Editor/editor-cut" "<%PRIMARY%>x") (gtk_accel_path "/Editor/editor-separate" "F4") ; (gtk_accel_path "/RegionList/SortAscending" "") ; (gtk_accel_path "/Main/Help" "") ; (gtk_accel_path "/options/UseExternalMonitoring" "") ; (gtk_accel_path "/Editor/Smpte23976" "") -(gtk_accel_path "/Common/goto-editor" "e") -(gtk_accel_path "/Editor/select-all" "a") -(gtk_accel_path "/Editor/nudge-next-forward" "KP_Add") +(gtk_accel_path "/Common/goto-editor" "<%SECONDARY%>e") +(gtk_accel_path "/Editor/select-all" "<%PRIMARY%>a") +(gtk_accel_path "/Editor/nudge-next-forward" "<%PRIMARY%>KP_Add") ; (gtk_accel_path "/options/ShowSoloMutes" "") ; (gtk_accel_path "/Snap/snap-to-eighths" "") -(gtk_accel_path "/Editor/select-all-after-playhead" "p") +(gtk_accel_path "/Editor/select-all-after-playhead" "<%TERTIARY%><%PRIMARY%>p") (gtk_accel_path "/Common/ToggleMaximalEditor" "F11") ; (gtk_accel_path "/RegionList/SortBySourceFileLength" "") ; (gtk_accel_path "/Editor/Timecode" "") ; (gtk_accel_path "/Transport/PlaySelection" "") ; (gtk_accel_path "/Editor/PullupMinus4Minus1" "") -(gtk_accel_path "/Editor/select-all-after-edit-cursor" "e") +(gtk_accel_path "/Editor/select-all-after-edit-cursor" "<%TERTIARY%><%PRIMARY%>e") ; (gtk_accel_path "/RegionList/SortBySourceFileName" "") (gtk_accel_path "/Editor/finish-range" "F2") (gtk_accel_path "/Editor/select-range-between-cursors" "F3") (gtk_accel_path "/Transport/Loop" "l") ; (gtk_accel_path "/Editor/CrossfadesFull" "") -(gtk_accel_path "/Editor/finish-add-range" "KP_Up") +(gtk_accel_path "/Editor/finish-add-range" "<%TERTIARY%><%PRIMARY%>KP_Up") ; (gtk_accel_path "/Transport/ToggleClick" "") ; (gtk_accel_path "/options/SendMTC" "") ; (gtk_accel_path "/Transport/TogglePunchOut" "") -(gtk_accel_path "/Editor/select-all-in-loop-range" "l") -(gtk_accel_path "/Editor/show-editor-mixer" "e") +(gtk_accel_path "/Editor/select-all-in-loop-range" "<%PRIMARY%>l") +(gtk_accel_path "/Editor/show-editor-mixer" "<%TERTIARY%>e") ; (gtk_accel_path "/options/SoloInPlace" "") ; (gtk_accel_path "/Main/Options" "") ; (gtk_accel_path "/options/MeterFalloffMedium" "") (gtk_accel_path "/Editor/toggle-follow-playhead" "f") ; (gtk_accel_path "/Main/SaveTemplate" "") -(gtk_accel_path "/Transport/TransitionToRoll" "uparrow") +(gtk_accel_path "/Transport/TransitionToRoll" "<%PRIMARY%>uparrow") ; (gtk_accel_path "/RegionList/SortByRegionStartinFile" "") ; (gtk_accel_path "/options/GainReduceFastTransport" "") ; (gtk_accel_path "/Common/ToggleInspector" "") ; (gtk_accel_path "/Transport/ToggleAutoPlay" "") ; (gtk_accel_path "/Editor/playhead-to-next-region-sync" "") -(gtk_accel_path "/Editor/edit-to-playhead" "Return") +(gtk_accel_path "/Editor/edit-to-playhead" "<%SECONDARY%>Return") ; (gtk_accel_path "/Editor/LayerMoveAddHigher" "") ; (gtk_accel_path "/Editor/Smpte60" "") ; (gtk_accel_path "/Main/Open" "") @@ -200,18 +200,18 @@ ; (gtk_accel_path "/Transport/ToggleAutoReturn" "") ; (gtk_accel_path "/Editor/Smpte2997" "") ; (gtk_accel_path "/Editor/ToggleWaveformVisibility" "") -(gtk_accel_path "/Editor/redo" "r") +(gtk_accel_path "/Editor/redo" "<%PRIMARY%>r") ; (gtk_accel_path "/Main/ExportSession" "") ; (gtk_accel_path "/options/InputAutoConnectPhysical" "") ; (gtk_accel_path "/Snap/snap-to-edit-cursor" "") (gtk_accel_path "/Editor/temporal-zoom-in" "minus") ; (gtk_accel_path "/JACK/Latency" "") -(gtk_accel_path "/Editor/edit-cursor-to-range-end" "F2") +(gtk_accel_path "/Editor/edit-cursor-to-range-end" "<%TERTIARY%>F2") ; (gtk_accel_path "/redirectmenu/rename" "") ; (gtk_accel_path "/RegionList/rlShowAuto" "") -(gtk_accel_path "/Editor/select-all-before-playhead" "p") +(gtk_accel_path "/Editor/select-all-before-playhead" "<%PRIMARY%>p") ; (gtk_accel_path "/Main/Session" "") -(gtk_accel_path "/Editor/edit-cursor-to-range-start" "F1") +(gtk_accel_path "/Editor/edit-cursor-to-range-start" "<%TERTIARY%>F1") ; (gtk_accel_path "/Main/AudioFileFormat" "") ; (gtk_accel_path "/Transport/Transport" "") (gtk_accel_path "/MouseMode/set-mouse-mode-timefx" "t") @@ -220,35 +220,35 @@ (gtk_accel_path "/MouseMode/set-mouse-mode-gain" "g") ; (gtk_accel_path "/Snap/snap-to-frame" "") ; (gtk_accel_path "/Editor/SnapTo" "") -(gtk_accel_path "/Transport/TransitionToReverse" "downarrow") +(gtk_accel_path "/Transport/TransitionToReverse" "<%PRIMARY%>downarrow") ; (gtk_accel_path "/Editor/Crossfades" "") ; (gtk_accel_path "/Editor/PullupPlus4" "") (gtk_accel_path "/Editor/add-location-from-playhead" "KP_Enter") -(gtk_accel_path "/Editor/edit-cursor-to-previous-region-end" "bracketleft") +(gtk_accel_path "/Editor/edit-cursor-to-previous-region-end" "<%PRIMARY%>bracketleft") ; (gtk_accel_path "/Main/MeteringHoldTime" "") ; (gtk_accel_path "/Editor/PullupPlus1" "") ; (gtk_accel_path "/Editor/Smpte24976" "") ; (gtk_accel_path "/options/FileDataFormat24bit" "") ; (gtk_accel_path "/Editor/SnapMode" "") -(gtk_accel_path "/Common/ToggleOptionsEditor" "o") +(gtk_accel_path "/Common/ToggleOptionsEditor" "<%PRIMARY%>o") ; (gtk_accel_path "/Editor/PullupMinus4" "") -(gtk_accel_path "/Common/goto-mixer" "m") +(gtk_accel_path "/Common/goto-mixer" "<%SECONDARY%>m") ; (gtk_accel_path "/RegionList/SortBySourceFileCreationDate" "") ; (gtk_accel_path "/redirectmenu/activate" "") (gtk_accel_path "/Editor/extend-range-to-start-of-region" "leftanglebracket") ; (gtk_accel_path "/Editor/PullupMinus1" "") ; (gtk_accel_path "/Editor/snap-normal" "") -(gtk_accel_path "/Common/ToggleBigClock" "b") -(gtk_accel_path "/Common/ToggleKeyEditor" "k") +(gtk_accel_path "/Common/ToggleBigClock" "<%SECONDARY%>b") +(gtk_accel_path "/Common/ToggleKeyEditor" "<%SECONDARY%>k") ; (gtk_accel_path "/Snap/snap-to-asixteenthbeat" "") -(gtk_accel_path "/Editor/select-all-in-punch-range" "d") +(gtk_accel_path "/Editor/select-all-in-punch-range" "<%PRIMARY%>d") ; (gtk_accel_path "/redirectmenu/edit" "") (gtk_accel_path "/Editor/duplicate-region" "p") -(gtk_accel_path "/Editor/multi-duplicate-region" "d") +(gtk_accel_path "/Editor/multi-duplicate-region" "<%SECONDARY%>d") ; (gtk_accel_path "/JACK/JACKLatency2048" "") ; (gtk_accel_path "/Editor/ToggleWaveformsWhileRecording" "") ; (gtk_accel_path "/Zoom/zoom-focus-right" "") -(gtk_accel_path "/Editor/remove-last-capture" "Delete") +(gtk_accel_path "/Editor/remove-last-capture" "<%PRIMARY%>Delete") ; (gtk_accel_path "/options/FileHeaderFormatWAVE" "") (gtk_accel_path "/Transport/GotoZero" "KP_Insert") (gtk_accel_path "/Transport/GotoEnd" "End") @@ -266,14 +266,14 @@ ; (gtk_accel_path "/Transport/ToggleVideoSync" "") (gtk_accel_path "/Transport/ToggleRoll" "space") ; (gtk_accel_path "/RegionList/SortBySourceFilesystem" "") -(gtk_accel_path "/Common/ToggleColorManager" "c") +(gtk_accel_path "/Common/ToggleColorManager" "<%SECONDARY%>c") ; (gtk_accel_path "/Common/About" "") ; (gtk_accel_path "/JACK/JACKLatency32" "") (gtk_accel_path "/Editor/playhead-to-edit" "Return") ; (gtk_accel_path "/options/FileHeaderFormatWAVE64" "") -(gtk_accel_path "/Editor/brush-at-mouse" "b") +(gtk_accel_path "/Editor/brush-at-mouse" "<%PRIMARY%>b") ; (gtk_accel_path "/RegionList/rlShowAll" "") -(gtk_accel_path "/Transport/Rewind" "leftarrow") +(gtk_accel_path "/Transport/Rewind" "<%PRIMARY%>leftarrow") ; (gtk_accel_path "/RegionList/SortByRegionTimestamp" "") ; (gtk_accel_path "/options/VerifyRemoveLastCapture" "") ; (gtk_accel_path "/options/OutputAutoConnectPhysical" "") @@ -284,10 +284,10 @@ ; (gtk_accel_path "/Main/AudioFileFormatHeader" "") ; (gtk_accel_path "/options/MeterHoldShort" "") ; (gtk_accel_path "/options/MeterHoldMedium" "") -(gtk_accel_path "/Editor/select-all-before-edit-cursor" "e") +(gtk_accel_path "/Editor/select-all-before-edit-cursor" "<%PRIMARY%>e") ; (gtk_accel_path "/Editor/Subframes80" "") ; (gtk_accel_path "/options/FileHeaderFormatCAF" "") -(gtk_accel_path "/Common/ToggleLocations" "l") +(gtk_accel_path "/Common/ToggleLocations" "<%SECONDARY%>l") ; (gtk_accel_path "/Editor/ToggleGeneric MIDISurface" "") (gtk_accel_path "/Editor/editor-delete" "BackSpace") ; (gtk_accel_path "/JACK/JACKLatency256" "") @@ -301,7 +301,7 @@ ; (gtk_accel_path "/Snap/snap-to-bar" "") ; (gtk_accel_path "/Editor/LayerLaterHigher" "") ; (gtk_accel_path "/redirectmenu/selectall" "") -(gtk_accel_path "/Editor/editor-copy" "c") +(gtk_accel_path "/Editor/editor-copy" "<%PRIMARY%>c") ; (gtk_accel_path "/Snap/snap-to-quarters" "") (gtk_accel_path "/Editor/temporal-zoom-out" "equal") ; (gtk_accel_path "/options/UseSoftwareMonitoring" "") @@ -314,7 +314,7 @@ ; (gtk_accel_path "/Editor/ToggleGeneric MIDISurfaceFeedback" "") ; (gtk_accel_path "/Editor/PullupPlus4Minus1" "") ; (gtk_accel_path "/JACK/JACKLatency512" "") -(gtk_accel_path "/Editor/edit-cursor-to-next-region-end" "bracketright") +(gtk_accel_path "/Editor/edit-cursor-to-next-region-end" "<%PRIMARY%>bracketright") ; (gtk_accel_path "/Main/Recent" "") ; (gtk_accel_path "/redirectmenu/newplugin" "") ; (gtk_accel_path "/options/InputAutoConnectManual" "") @@ -322,8 +322,8 @@ ; (gtk_accel_path "/Snap/snap-to-seconds" "") (gtk_accel_path "/Editor/set-fade-in-length" "slash") (gtk_accel_path "/Editor/set-fade-out-length" "backslash") -(gtk_accel_path "/Editor/trim-from-start" "braceleft") -(gtk_accel_path "/Editor/trim-to-end" "braceright") +(gtk_accel_path "/Editor/trim-from-start" "<%TERTIARY%>braceleft") +(gtk_accel_path "/Editor/trim-to-end" "<%TERTIARY%>braceright") (gtk_accel_path "/Editor/trim-front" "a") (gtk_accel_path "/Editor/trim-back" "s") (gtk_accel_path "/Editor/goto-mark-1" "KP_1") diff --git a/gtk2_ardour/cocoacarbon.cc b/gtk2_ardour/cocoacarbon.cc index 4548b28179..04376cf30d 100644 --- a/gtk2_ardour/cocoacarbon.cc +++ b/gtk2_ardour/cocoacarbon.cc @@ -61,5 +61,15 @@ ARDOUR_UI::platform_specific () ige_mac_menu_set_quit_menu_item ((GtkMenuItem*) widget->gobj()); } + IgeMacMenuGroup* group = ige_mac_menu_add_app_menu_group (); + + widget = ActionManager::get_widget ("/ui/Main/Session/About"); + if (widget) { + ige_mac_menu_add_app_menu_item (group, (GtkMenuItem*) widget->gobj(), 0); + } + widget = ActionManager::get_widget ("/ui/Main/Session/ToggleOptionsEditor"); + if (widget) { + ige_mac_menu_add_app_menu_item (group, (GtkMenuItem*) widget->gobj(), 0); + } } diff --git a/gtk2_ardour/editor.cc b/gtk2_ardour/editor.cc index e95e65d1c3..569da3a277 100644 --- a/gtk2_ardour/editor.cc +++ b/gtk2_ardour/editor.cc @@ -865,19 +865,6 @@ Editor::tie_vertical_scrolling () } controls_layout.get_vadjustment()->set_value (y1); - -#ifdef GTKOSX - /* the way idle updates and immediate window flushing work on GTK-Quartz - requires that we force an immediate redraw right here. The controls - layout will do the same all by itself, as does the canvas widget, but - most of the time, the canvas itself hasn't updated itself because its - idle handler hasn't run. consequently, the call that its layout makes - to gdk_window_process_updates() finds nothing to do. here, we force - the update to happen, then request a flush of the new window state. - */ - track_canvas.update_now (); - gdk_window_process_updates (GTK_LAYOUT(track_canvas.gobj())->bin_window, true); -#endif } void diff --git a/gtk2_ardour/editor.h b/gtk2_ardour/editor.h index 5c7c9a791c..9fbdb29c29 100644 --- a/gtk2_ardour/editor.h +++ b/gtk2_ardour/editor.h @@ -217,6 +217,8 @@ class Editor : public PublicEditor return (gulong) rint ((frame / (frames_per_unit * GNOME_CANVAS(track_canvas.gobj())->pixels_per_unit))); } + void flush_canvas (); + /* selection */ Selection& get_selection() const { return *selection; } diff --git a/gtk2_ardour/editor_canvas.cc b/gtk2_ardour/editor_canvas.cc index fc3d758266..28bbaf2ce2 100644 --- a/gtk2_ardour/editor_canvas.cc +++ b/gtk2_ardour/editor_canvas.cc @@ -777,4 +777,12 @@ Editor::color_handler() session->tempo_map().apply_with_metrics (*this, &Editor::draw_metric_marks); // redraw metric markers } +void +Editor::flush_canvas () +{ + if (is_mapped()) { + track_canvas.update_now (); + gdk_window_process_updates (GTK_LAYOUT(track_canvas.gobj())->bin_window, true); + } +} diff --git a/gtk2_ardour/editor_canvas_events.cc b/gtk2_ardour/editor_canvas_events.cc index 7be15d5aee..3b095e331a 100644 --- a/gtk2_ardour/editor_canvas_events.cc +++ b/gtk2_ardour/editor_canvas_events.cc @@ -169,6 +169,8 @@ Editor::track_canvas_motion (GdkEvent *ev) verbose_canvas_cursor->property_x() = ev->motion.x + 20; verbose_canvas_cursor->property_y() = ev->motion.y + 20; } + + flush_canvas (); return false; } diff --git a/gtk2_ardour/editor_ops.cc b/gtk2_ardour/editor_ops.cc index e9c191c272..2f938c5c78 100644 --- a/gtk2_ardour/editor_ops.cc +++ b/gtk2_ardour/editor_ops.cc @@ -3087,12 +3087,13 @@ Editor::cut_copy (CutCopyOp op) switch (current_mouse_mode()) { case MouseObject: + cerr << "cutting in object mode\n"; if (!selection->regions.empty() || !selection->points.empty()) { begin_reversible_command (opname + _(" objects")); if (!selection->regions.empty()) { - + cerr << "have regions to cut" << endl; cut_copy_regions (op); if (op == Cut) { @@ -3111,7 +3112,7 @@ Editor::cut_copy (CutCopyOp op) commit_reversible_command (); break; // terminate case statement here } - + cerr << "nope, now cutting time range" << endl; if (!selection->time.empty()) { /* don't cause suprises */ break; @@ -3121,7 +3122,9 @@ Editor::cut_copy (CutCopyOp op) case MouseRange: if (selection->time.empty()) { nframes64_t start, end; + cerr << "no time selection, get edit op range" << endl; if (!get_edit_op_range (start, end)) { + cerr << "no edit op range" << endl; return; } selection->set (0, start, end); diff --git a/gtk2_ardour/editor_region_list.cc b/gtk2_ardour/editor_region_list.cc index ea65e31c54..f0b28f6158 100644 --- a/gtk2_ardour/editor_region_list.cc +++ b/gtk2_ardour/editor_region_list.cc @@ -372,15 +372,10 @@ Editor::region_list_display_button_press (GdkEventButton *ev) switch (ev->button) { case 1: - /* audition on double click */ - if (ev->type == GDK_2BUTTON_PRESS) { - consider_auditioning (region); - return true; - } - return false; break; case 2: + // audition on middle click (stop audition too) if (!Keyboard::modifier_state_equals (ev->state, Keyboard::Control)) { consider_auditioning (region); } diff --git a/gtk2_ardour/keyboard.cc b/gtk2_ardour/keyboard.cc index edc289a593..1f66ce6e11 100644 --- a/gtk2_ardour/keyboard.cc +++ b/gtk2_ardour/keyboard.cc @@ -165,6 +165,12 @@ Keyboard::snooper (GtkWidget *widget, GdkEventKey *event) { uint32_t keyval; +#if 0 + cerr << "snoop widget " << widget << " key " << event->keyval << " type: " << event->type + << " state " << std::hex << event->state << std::dec + << endl; +#endif + #if KBD_DEBUG if (debug_keyboard) { cerr << "snoop widget " << widget << " key " << event->keyval << " type: " << event->type diff --git a/gtk2_ardour/main.cc b/gtk2_ardour/main.cc index 047f692546..6dd957993d 100644 --- a/gtk2_ardour/main.cc +++ b/gtk2_ardour/main.cc @@ -280,7 +280,24 @@ int main (int argc, char* argv[]) } if (!keybindings_path.empty()) { - ui->set_keybindings_path (keybindings_path); + std::string path; + + // XXX timbyr - we need a portable test for "is-absolute" here + + if (keybindings_path[0] != '/' && keybindings_path[0] != '.') { + path = find_config_file (keybindings_path); + if (path.empty()) { + warning << string_compose (_("Key bindings file \"%1\" not found. Default bindings used instead"), + keybindings_path) + << endmsg; + } + } else { + path = keybindings_path; + } + + if (!path.empty()) { + ui->set_keybindings_path (path); + } } ui->run (text_receiver); diff --git a/gtk2_ardour/opts.cc b/gtk2_ardour/opts.cc index 6a78be9cb9..6574a8f705 100644 --- a/gtk2_ardour/opts.cc +++ b/gtk2_ardour/opts.cc @@ -73,6 +73,7 @@ ARDOUR_COMMAND_LINE::parse_opts (int argc, char *argv[]) if (getenv ("ARDOUR_SAE")) { menus_file = "ardour-sae.menus"; + keybindings_path = "ardour-sae.bindings"; } if (execname == 0) { diff --git a/gtk2_ardour/sync-menu.c b/gtk2_ardour/sync-menu.c index dacef06384..5e33562957 100644 --- a/gtk2_ardour/sync-menu.c +++ b/gtk2_ardour/sync-menu.c @@ -315,7 +315,7 @@ carbon_menu_item_update_accelerator (CarbonMenuItem *carbon_item, if (gdk_keymap_get_entries_for_keyval (keymap, key->accel_key, &keys, &n_keys)) { - UInt8 modifiers = 0; + UInt8 modifiers = 0; /* implies Command key */ SetMenuItemCommandKey (carbon_item->menu, carbon_item->index, true, keys[0].keycode); @@ -327,14 +327,15 @@ carbon_menu_item_update_accelerator (CarbonMenuItem *carbon_item, if (key->accel_mods & GDK_SHIFT_MASK) modifiers |= kMenuShiftModifier; - if (key->accel_mods & GDK_MOD1_MASK) + if (key->accel_mods & GDK_MOD5_MASK) modifiers |= kMenuOptionModifier; - } - if (!(key->accel_mods & GDK_CONTROL_MASK)) - { - modifiers |= kMenuNoCommandModifier; - } + if (key->accel_mods & GDK_CONTROL_MASK) + modifiers |= kMenuControlModifier; + } + + if ((key->accel_mods & (GDK_SHIFT_MASK|GDK_MOD1_MASK|GDK_CONTROL_MASK) )== 0) + modifiers |= kMenuNoCommandModifier; SetMenuItemModifiers (carbon_item->menu, carbon_item->index, modifiers); diff --git a/libs/ardour/audiofilter.cc b/libs/ardour/audiofilter.cc index ee38bff89c..88a93b4f01 100644 --- a/libs/ardour/audiofilter.cc +++ b/libs/ardour/audiofilter.cc @@ -38,6 +38,12 @@ AudioFilter::make_new_sources (boost::shared_ptr region, SourceList { vector names = region->master_source_names(); + if (names.size() != region->n_channels()) { + warning << _("This is an old Ardour session that does not have\n\ +sufficient information for rendered FX") << endmsg; + return -1; + } + for (uint32_t i = 0; i < region->n_channels(); ++i) { string name = PBD::basename_nosuffix (names[i]); diff --git a/libs/ardour/import.cc b/libs/ardour/import.cc index cfb3982921..2f4805ac7c 100644 --- a/libs/ardour/import.cc +++ b/libs/ardour/import.cc @@ -142,7 +142,16 @@ Session::import_audiofile (import_status& status) nfiles++; } + if (data) { + delete [] data; + } + data = new float[nframes * info.channels]; + + if (channel_data) { + delete [] channel_data; + } + channel_data = new Sample * [ info.channels ]; for (int n = 0; n < info.channels; ++n) { diff --git a/libs/ardour/rb_stretch.cc b/libs/ardour/rb_stretch.cc index 39d5816a5a..bc406c6090 100644 --- a/libs/ardour/rb_stretch.cc +++ b/libs/ardour/rb_stretch.cc @@ -21,7 +21,7 @@ #include #include -#include "/usr/local/music/src/rubberband/rubberband/RubberBandStretcher.h" //!!! +#include #include #include @@ -83,7 +83,7 @@ Stretch::run (boost::shared_ptr region) snprintf (suffix, sizeof (suffix), "@%d", (int) floor (tsr.fraction * 100.0f)); /* create new sources */ - + if (make_new_sources (region, nsrcs, suffix)) { goto out; } @@ -135,15 +135,15 @@ Stretch::run (boost::shared_ptr region) pos += this_read; done += this_read; - - tsr.progress = ((float) done / duration) * 0.25; + + tsr.progress = ((float) done / duration) * 0.75; stretcher.study(buffers, this_read, pos == duration); } + done = 0; pos = 0; - tsr.done = 0; - + while (pos < duration && !tsr.cancel) { nframes_t this_read = 0; @@ -174,7 +174,7 @@ Stretch::run (boost::shared_ptr region) pos += this_read; done += this_read; - tsr.progress = 0.25 + ((float) done / duration) * 0.75; + tsr.progress = 0.75 + ((float) done / duration) * 0.25; stretcher.process(buffers, this_read, pos == duration); diff --git a/libs/ardour/session_state.cc b/libs/ardour/session_state.cc index e1afae1443..62d0483569 100644 --- a/libs/ardour/session_state.cc +++ b/libs/ardour/session_state.cc @@ -1460,10 +1460,10 @@ Session::XMLRegionFactory (const XMLNode& node, bool full) } } - for (uint32_t n=1; n < nchans; ++n) { + for (uint32_t n=0; n < nchans; ++n) { snprintf (buf, sizeof(buf), X_("master-source-%d"), n); if ((prop = node.property (buf)) != 0) { - + PBD::ID id2 (prop->value()); if ((source = source_by_id (id2)) == 0) { @@ -1477,7 +1477,7 @@ Session::XMLRegionFactory (const XMLNode& node, bool full) return boost::shared_ptr(); } master_sources.push_back (as); - } + } } try { @@ -1495,7 +1495,7 @@ Session::XMLRegionFactory (const XMLNode& node, bool full) } if (!master_sources.empty()) { - if (master_sources.size() == nchans) { + if (master_sources.size() != nchans) { error << _("Session: XMLNode describing an AudioRegion is missing some master sources; ignored") << endmsg; } else { region->set_master_sources (master_sources); diff --git a/tools/osx_packaging/osx_build b/tools/osx_packaging/osx_build index d0f65f8058..4843e53bdb 100755 --- a/tools/osx_packaging/osx_build +++ b/tools/osx_packaging/osx_build @@ -107,9 +107,9 @@ cp ../../libs/clearlooks/libclearlooks.dylib $Frameworks mkdir -p $Frameworks/clearlooks/engines (cd $Frameworks/clearlooks/engines && ln -s ../../libclearlooks.dylib libclearlooks.dylib && ln -s ../../libclearlooks.dylib libclearlooks.so) -# XXX STILL NEED TO DO SURFACES AND PANNERS +# XXX STILL NEED TO DO PANNERS FOR TRUNK -cp ../../libs/surfaces/control_protocol/libardour_cp.dylib $Frameworks +cp ../../libs/surfaces/*/libardour_*.dylib $Frameworks while [ true ] ; do missing=false @@ -141,6 +141,7 @@ echo echo "Copying other stuff to Ardour2.app ..." cp ../../gtk2_ardour/ardour.bindings $Resources +cp ../../gtk2_ardour/ardour-sae.bindings $Resources cp ../../gtk2_ardour/ardour.menus $Resources cp ../../gtk2_ardour/ardour-sae.menus $Resources cp ../../ardour_system.rc $Resources