diff options
author | David Robillard <d@drobilla.net> | 2008-01-10 22:22:29 +0000 |
---|---|---|
committer | David Robillard <d@drobilla.net> | 2008-01-10 22:22:29 +0000 |
commit | 8a2e30816ee392b871c5918f769f68cc0196a893 (patch) | |
tree | eb85739049c0adc6186eea635aaaf65ef03f038f /gtk2_ardour | |
parent | bb457bb960c5bd7ed538f9d31477293415739f68 (diff) |
Merge with 2.0-ongoing R2883.
git-svn-id: svn://localhost/ardour2/trunk@2885 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'gtk2_ardour')
31 files changed, 2129 insertions, 545 deletions
diff --git a/gtk2_ardour/SConscript b/gtk2_ardour/SConscript index f3b8788fad..4d34a46176 100644 --- a/gtk2_ardour/SConscript +++ b/gtk2_ardour/SConscript @@ -426,7 +426,7 @@ else: keybindings_dict['%SECONDARY%'] = 'Alt' keybindings_dict['%TERTIARY%'] = 'Shift' keybindings_dict['%LEVEL4%'] = 'Mod2' - keybindings_dict['%WINDOW%'] = 'Ctrl' + keybindings_dict['%WINDOW%'] = 'Alt' ardourbindings = env.SubstInFile ('ardour.bindings', 'ardour.bindings.in', SUBST_DICT = keybindings_dict); ardoursaeDEbindings = env.SubstInFile ('ardour-sae-de.bindings', 'ardour-sae-de.bindings.in', SUBST_DICT = keybindings_dict); diff --git a/gtk2_ardour/about.cc b/gtk2_ardour/about.cc index 06845cccd2..a201a1c404 100644 --- a/gtk2_ardour/about.cc +++ b/gtk2_ardour/about.cc @@ -155,6 +155,7 @@ static const char* authors[] = { N_("John Anderson"), N_("Nedko Arnaudov"), N_("Carl Hetherington"), + N_("Colin Fletcher"), 0 }; @@ -200,7 +201,7 @@ About::About () } set_translator_credits (t); - set_copyright (_("Copyright (C) 1999-2007 Paul Davis\n")); + set_copyright (_("Copyright (C) 1999-2008 Paul Davis\n")); set_license (_("Ardour comes with ABSOLUTELY NO WARRANTY\n" "This is free software, and you are welcome to redistribute it\n" "under certain conditions; see the file COPYING for details.\n")); diff --git a/gtk2_ardour/ardev_common.sh.in b/gtk2_ardour/ardev_common.sh.in index 8165b22bc4..28c9acb6f2 100644 --- a/gtk2_ardour/ardev_common.sh.in +++ b/gtk2_ardour/ardev_common.sh.in @@ -2,12 +2,11 @@ cd `dirname "$0"`/.. #export G_DEBUG=fatal_criticals -export ARDOUR_PATH=.:gtk2_ardour +export ARDOUR_PATH=gtk2_ardour/icons:gtk2_ardour/pixmaps:gtk2_ardour:. export GTK_PATH=libs/clearlooks -export ARDOUR_SURFACES_PATH=libs/surfaces/frontier:libs/surfaces/generic_midi:libs/surfaces/mackie:libs/surfaces/tranzport -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 +export LD_LIBRARY_PATH=libs/vamp-sdk: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_FALLBACK_LIBRARY_PATH=$LD_LIBRARY_PATH @@ -15,5 +14,3 @@ export DYLD_FALLBACK_LIBRARY_PATH=$LD_LIBRARY_PATH export GTK_PATH=$PWD/libs/clearlooks:~/.ardour2 EXECUTABLE=gtk2_ardour/ardour-%VERSION% - -ulimit -c unlimited diff --git a/gtk2_ardour/ardour-sae.menus b/gtk2_ardour/ardour-sae.menus index a1818a9965..e3efc7a849 100644 --- a/gtk2_ardour/ardour-sae.menus +++ b/gtk2_ardour/ardour-sae.menus @@ -73,6 +73,7 @@ <menuitem action='set-loop-from-edit-range'/> <menuitem action='set-loop-from-region'/> <menuitem action='set-punch-from-edit-range'/> + <menuitem action='set-punch-from-region'/> <menu action='LocateToMarker'> <menuitem action='goto-mark-1'/> <menuitem action='goto-mark-2'/> diff --git a/gtk2_ardour/ardour.bindings.in b/gtk2_ardour/ardour.bindings.in index fb26ff1b56..1efdb1cdd4 100644 --- a/gtk2_ardour/ardour.bindings.in +++ b/gtk2_ardour/ardour.bindings.in @@ -1,193 +1,226 @@ -; ardour-2.0beta11.1 GtkAccelMap rc-file -*- scheme -*- -; this file is an automated accelerator map dump +; ardour-2.2 GtkAccelMap rc-file -*- scheme -*- +; this file is a hand-edited map that is processed by scons +; to produce a real accelmap. ; -; (gtk_accel_path "<Actions>/RegionList/RegionListSort" "") -(gtk_accel_path "<Actions>/Common/Quit" "<%PRIMARY%>q") -(gtk_accel_path "<Actions>/Common/Save" "<%PRIMARY%>s") -; (gtk_accel_path "<Actions>/Editor/Pullup" "") -; (gtk_accel_path "<Actions>/Editor/zoom-to-session" "") -; (gtk_accel_path "<Actions>/JACK/JACKReconnect" "") -; (gtk_accel_path "<Actions>/Editor/Autoconnect" "") -; (gtk_accel_path "<Actions>/Editor/Edit" "") + +;; punctuation + +(gtk_accel_path "<Actions>/Editor/temporal-zoom-in" "equal") +(gtk_accel_path "<Actions>/Editor/temporal-zoom-out" "minus") +(gtk_accel_path "<Actions>/Editor/edit-cursor-to-previous-region-sync" "apostrophe") +(gtk_accel_path "<Actions>/Editor/edit-cursor-to-next-region-sync" "semicolon") +(gtk_accel_path "<Actions>/Editor/cycle-edit-point" "grave") + +(gtk_accel_path "<Actions>/Editor/playhead-to-next-region-boundary" "period") +(gtk_accel_path "<Actions>/Editor/playhead-to-next-region-sync" "<%PRIMARY%>period") + (gtk_accel_path "<Actions>/Editor/playhead-to-previous-region-boundary" "comma") (gtk_accel_path "<Actions>/Editor/playhead-to-previous-region-sync" "<%PRIMARY%>comma") -; (gtk_accel_path "<Actions>/processormenu/copy" "") -; (gtk_accel_path "<Actions>/options/MeterFalloffFaster" "") + +(gtk_accel_path "<Actions>/Editor/extend-range-to-end-of-region" "rightanglebracket") +(gtk_accel_path "<Actions>/Editor/extend-range-to-start-of-region" "leftanglebracket") + +(gtk_accel_path "<Actions>/Transport/ToggleRoll" "space") (gtk_accel_path "<Actions>/Transport/ToggleRollForgetCapture" "<%PRIMARY%>space") +(gtk_accel_path "<Actions>/Transport/record-roll" "<%TERTIARY%>space") + +(gtk_accel_path "<Actions>/Editor/set-fade-in-length" "slash") +(gtk_accel_path "<Actions>/Editor/set-fade-in-length" "<%SECONDARY%>slash") +(gtk_accel_path "<Actions>/Editor/set-fade-out-length" "backslash") +(gtk_accel_path "<Actions>/Editor/set-fade-out-length" "<%SECONDARY%>backslash") + +(gtk_accel_path "<Actions>/Editor/trim-from-start" "<%TERTIARY%>braceleft") +(gtk_accel_path "<Actions>/Editor/trim-to-end" "<%TERTIARY%>braceright") + +(gtk_accel_path "<Actions>/Editor/set-loop-from-edit-range" "bracketright") +(gtk_accel_path "<Actions>/Editor/set-loop-from-region" "<%SECONDARY%>bracketright") + +(gtk_accel_path "<Actions>/Editor/set-punch-from-edit-range" "bracketleft") +(gtk_accel_path "<Actions>/Editor/set-punch-from-region" "<%SECONDARY%>bracketleft") + +;; letters + +;; TOP ROW + +(gtk_accel_path "<Actions>/Common/Quit" "<%PRIMARY%>q") + +;; note that ctrl-w is special and consumed by the keyboard snooper + +(gtk_accel_path "<Actions>/Editor/set-edit-point" "e") +(gtk_accel_path "<Actions>/Editor/select-all-before-edit-cursor" "<%PRIMARY%>e") +(gtk_accel_path "<Actions>/Editor/show-editor-mixer" "<%TERTIARY%>e") +(gtk_accel_path "<Actions>/Common/goto-editor" "<%WINDOW%>e") +(gtk_accel_path "<Actions>/MouseMode/set-mouse-mode-range" "r") +(gtk_accel_path "<Actions>/Editor/redo" "<%PRIMARY%>r") (gtk_accel_path "<Actions>/Transport/Record" "<%TERTIARY%>r") -; (gtk_accel_path "<Actions>/RegionList/SortByRegionLength" "") -; (gtk_accel_path "<Actions>/options/MeterFalloffSlowest" "") -; (gtk_accel_path "<Actions>/Editor/playhead-to-previous-region-sync" "") -; (gtk_accel_path "<Actions>/processormenu/deactivate_all" "") -; (gtk_accel_path "<Actions>/RegionList/SortByRegionPosition" "") -; (gtk_accel_path "<Actions>/Editor/ZoomFocus" "") +(gtk_accel_path "<Actions>/MouseMode/set-mouse-mode-timefx" "t") +(gtk_accel_path "<Actions>/Editor/select-all-between-cursors" "u") +(gtk_accel_path "<Actions>/Editor/insert-region" "i") +(gtk_accel_path "<Actions>/Editor/invert-selection" "<%TERTIARY%>i") (gtk_accel_path "<Actions>/Editor/addExistingAudioFiles" "<%SECONDARY%>i") -; (gtk_accel_path "<Actions>/options/MeterFalloffSlow" "") -(gtk_accel_path "<Actions>/options/ABAllPlugins" "<Control><Alt>p") -; (gtk_accel_path "<Actions>/RegionList/rlHide" "") -; (gtk_accel_path "<Actions>/Main/Metering" "") -(gtk_accel_path "<Actions>/Editor/playhead-to-next-region-sync" "<%PRIMARY%>period") -; (gtk_accel_path "<Actions>/Zoom/zoom-focus-playhead" "") -; (gtk_accel_path "<Actions>/Editor/center-edit-cursor" "") -; (gtk_accel_path "<Actions>/Editor/Monitoring" "") -; (gtk_accel_path "<Actions>/processormenu/deactivate" "") -; (gtk_accel_path "<Actions>/options/LatchedRecordEnable" "") -; (gtk_accel_path "<Actions>/Transport/TogglePunchIn" "") -; (gtk_accel_path "<Actions>/ShuttleActions/SetShuttleUnitsPercentage" "") -(gtk_accel_path "<Actions>/Editor/edit-cursor-to-previous-region-start" "bracketleft") -; (gtk_accel_path "<Actions>/Main/Close" "") -; (gtk_accel_path "<Actions>/Main/New" "") -(gtk_accel_path "<Actions>/Editor/nudge-next-backward" "<%PRIMARY%>KP_Subtract") -; (gtk_accel_path "<Actions>/Editor/EditSelectRangeOptions" "") -; (gtk_accel_path "<Actions>/Transport/ToggleTimeMaster" "") -; (gtk_accel_path "<Actions>/Snap/snap-to-thirds" "") -(gtk_accel_path "<Actions>/Editor/align-regions-start-relative" "<%TERTIARY%>a") -; (gtk_accel_path "<Actions>/Main/Export" "") -(gtk_accel_path "<Actions>/Editor/jump-forward-to-mark" "<%PRIMARY%>KP_Right") -; (gtk_accel_path "<Actions>/Editor/Smpte30" "") -; (gtk_accel_path "<Actions>/Editor/playhead-to-range-start" "") -; (gtk_accel_path "<Actions>/Editor/Subframes" "") -; (gtk_accel_path "<Actions>/Editor/Smpte2997drop" "") -; (gtk_accel_path "<Actions>/Main/AddTrackBus" "") -(gtk_accel_path "<Actions>/Editor/align-regions-end" "<%PRIMARY%><%LEVEL4%>a") -; (gtk_accel_path "<Actions>/JACK/JACKDisconnect" "") -; (gtk_accel_path "<Actions>/options/MeterFalloffFast" "") -; (gtk_accel_path "<Actions>/options/FileDataFormatFloat" "") -; (gtk_accel_path "<Actions>/Snap/snap-to-region-end" "") -(gtk_accel_path "<Actions>/Editor/edit-cursor-to-next-region-sync" "semicolon") -; (gtk_accel_path "<Actions>/options/StopRecordingOnXrun" "") -; (gtk_accel_path "<Actions>/Editor/addExternalAudioToRegionList" "") -; (gtk_accel_path "<Actions>/RegionList/SortDescending" "") -; (gtk_accel_path "<Actions>/options/DoNotRunPluginsWhileRecording" "") -; (gtk_accel_path "<Actions>/Editor/PullupNone" "") -(gtk_accel_path "<Actions>/MouseMode/set-mouse-mode-range" "r") -(gtk_accel_path "<Actions>/Editor/jump-backward-to-mark" "<%PRIMARY%>KP_Left") -; (gtk_accel_path "<Actions>/Main/AudioFileFormatData" "") -; (gtk_accel_path "<Actions>/options/MeterFalloffFastest" "") -; (gtk_accel_path "<Actions>/Editor/audition-at-mouse" "") -(gtk_accel_path "<Actions>/Transport/Forward" "<%PRIMARY%>rightarrow") -; (gtk_accel_path "<Actions>/Snap/snap-to-smpte-seconds" "") -; (gtk_accel_path "<Actions>/Snap/snap-to-smpte-frame" "") -; (gtk_accel_path "<Actions>/Main/ExportSelection" "") -; (gtk_accel_path "<Actions>/options/StopPluginsWithTransport" "") +(gtk_accel_path "<Actions>/MouseMode/set-mouse-mode-object" "o") +(gtk_accel_path "<Actions>/Common/ToggleOptionsEditor" "<%WINDOW%>o") +(gtk_accel_path "<Actions>/Editor/set-playhead" "p") +(gtk_accel_path "<Actions>/Editor/select-all-before-playhead" "<%PRIMARY%>p") + +;; MIDDLE ROW + +(gtk_accel_path "<Actions>/Editor/align-regions-sync-relative" "a") +(gtk_accel_path "<Actions>/Editor/align-regions-start-relative" "<%PRIMARY%>a") +(gtk_accel_path "<Actions>/Editor/align-regions-end" "<%SECONDARY%>a") +(gtk_accel_path "<Actions>/Editor/align-regions-sync" "<%TERTIARY%>a") +(gtk_accel_path "<Actions>/Editor/split-region" "s") +(gtk_accel_path "<Actions>/Common/Save" "<%PRIMARY%>s") +(gtk_accel_path "<Actions>/Editor/duplicate-region" "d") +(gtk_accel_path "<Actions>/Editor/select-all-in-punch-range" "<%PRIMARY%>d") + +(gtk_accel_path "<Actions>/Editor/select-all" "<%PRIMARY%>a") +(gtk_accel_path "<Actions>/Editor/select-all-after-playhead" "<%TERTIARY%><%PRIMARY%>p") +(gtk_accel_path "<Actions>/Editor/select-all-after-edit-cursor" "<%TERTIARY%><%PRIMARY%>e") + +(gtk_accel_path "<Actions>/Editor/toggle-follow-playhead" "f") +(gtk_accel_path "<Actions>/MouseMode/set-mouse-mode-gain" "g") +(gtk_accel_path "<Actions>/Editor/play-selected-regions" "h") +(gtk_accel_path "<Actions>/Editor/trim-front" "j") +(gtk_accel_path "<Actions>/Editor/trim-back" "k") +(gtk_accel_path "<Actions>/Common/ToggleKeyEditor" "<%WINDOW%>k") +(gtk_accel_path "<Actions>/Transport/Loop" "l") +(gtk_accel_path "<Actions>/Editor/select-all-in-loop-range" "<%PRIMARY%>l") +(gtk_accel_path "<Actions>/Common/ToggleLocations" "<%WINDOW%>l") + +;; HOME ROW + +(gtk_accel_path "<Actions>/Editor/zoom-to-region" "z") +(gtk_accel_path "<Actions>/Editor/undo" "<%PRIMARY%>z") +(gtk_accel_path "<Actions>/Editor/toggle-zoom" "<%TERTIARY%>z") +(gtk_accel_path "<Actions>/MouseMode/set-mouse-mode-zoom" "<%TERTIARY%>z") +(gtk_accel_path "<Actions>/Editor/editor-cut" "<%PRIMARY%>x") +(gtk_accel_path "<Actions>/Editor/editor-copy" "<%PRIMARY%>c") +(gtk_accel_path "<Actions>/Common/ToggleColorManager" "<%WINDOW%>c") +(gtk_accel_path "<Actions>/Editor/set-region-sync-position" "v") (gtk_accel_path "<Actions>/Editor/editor-paste" "<%PRIMARY%>v") -(gtk_accel_path "<Actions>/Editor/scroll-tracks-down" "Page_Down") -; (gtk_accel_path "<Actions>/Snap/snap-to-smpte-minutes" "") -; (gtk_accel_path "<Actions>/Main/FlushWastebasket" "") +(gtk_accel_path "<Actions>/Editor/brush-at-mouse" "<%PRIMARY%>b") +(gtk_accel_path "<Actions>/Common/ToggleBigClock" "<%WINDOW%>b") (gtk_accel_path "<Actions>/Editor/normalize-region" "n") -(gtk_accel_path "<Actions>/Editor/nudge-forward" "KP_Add") -; (gtk_accel_path "<Actions>/RegionList/SortByRegionEndinFile" "") -; (gtk_accel_path "<Actions>/Editor/ToggleMeasureVisibility" "") -; (gtk_accel_path "<Actions>/Zoom/zoom-focus-center" "") -(gtk_accel_path "<Actions>/Editor/nudge-backward" "KP_Subtract") -; (gtk_accel_path "<Actions>/options/LatchedSolo" "") -; (gtk_accel_path "<Actions>/options/MeterHoldOff" "") -; (gtk_accel_path "<Actions>/options/OutputAutoConnectMaster" "") -; (gtk_accel_path "<Actions>/JACK/JACKLatency64" "") -(gtk_accel_path "<Actions>/Editor/undo" "<%PRIMARY%>z") -(gtk_accel_path "<Actions>/Editor/insert-region" "i") -; (gtk_accel_path "<Actions>/Editor/center-playhead" "") -; (gtk_accel_path "<Actions>/Snap/snap-to-region-start" "") -; (gtk_accel_path "<Actions>/Editor/View" "") -; (gtk_accel_path "<Actions>/Editor/Layering" "") -; (gtk_accel_path "<Actions>/JACK/JACKLatency4096" "") -(gtk_accel_path "<Actions>/Editor/scroll-tracks-up" "Page_Up") -(gtk_accel_path "<Actions>/Editor/set-edit-point" "e") -; (gtk_accel_path "<Actions>/Editor/Smpte30drop" "") -; (gtk_accel_path "<Actions>/Zoom/zoom-focus-edit" "") -; (gtk_accel_path "<Actions>/Editor/EditCursorMovementOptions" "") -; (gtk_accel_path "<Actions>/processormenu/activate_all" "") -; (gtk_accel_path "<Actions>/Editor/addExternalAudioAsTapeTrack" "") -; (gtk_accel_path "<Actions>/processormenu/paste" "") -; (gtk_accel_path "<Actions>/Editor/Smpte25" "") -; (gtk_accel_path "<Actions>/options/RegionEquivalentsOverlap" "") -; (gtk_accel_path "<Actions>/Main/MeteringFallOffRate" "") -; (gtk_accel_path "<Actions>/options/UseHardwareMonitoring" "") -; (gtk_accel_path "<Actions>/Editor/Smpte24" "") -; (gtk_accel_path "<Actions>/Snap/snap-to-mark" "") -; (gtk_accel_path "<Actions>/Editor/CrossfadesShort" "") -; (gtk_accel_path "<Actions>/Editor/Smpte5994" "") -; (gtk_accel_path "<Actions>/JACK/JACKLatency8192" "") +(gtk_accel_path "<Actions>/Editor/mute-unmute-region" "m") +(gtk_accel_path "<Actions>/Common/goto-mixer" "<%WINDOW%>m") + +;; arrow keys, navigation etc. + +(gtk_accel_path "<Actions>/Editor/step-tracks-up" "uparrow") +(gtk_accel_path "<Actions>/Transport/TransitionToRoll" "<%PRIMARY%>uparrow") +(gtk_accel_path "<Actions>/Editor/select-prev-route" "<%SECONDARY%>uparrow") + (gtk_accel_path "<Actions>/Editor/step-tracks-down" "downarrow") -; (gtk_accel_path "<Actions>/Editor/toggle-xfades-visible" "") -(gtk_accel_path "<Actions>/Editor/extend-range-to-end-of-region" "rightanglebracket") +(gtk_accel_path "<Actions>/Transport/TransitionToReverse" "<%PRIMARY%>downarrow") +(gtk_accel_path "<Actions>/Editor/select-next-route" "<%SECONDARY%>downarrow") + (gtk_accel_path "<Actions>/Editor/scroll-backward" "leftarrow") -(gtk_accel_path "<Actions>/Editor/start-range" "<%PRIMARY%>KP_Down") -; (gtk_accel_path "<Actions>/ShuttleActions/SetShuttleUnitsSemitones" "") -; (gtk_accel_path "<Actions>/JACK/JACKLatency128" "") -; (gtk_accel_path "<Actions>/Snap/snap-to-beat" "") -; (gtk_accel_path "<Actions>/Editor/RegionEditOps" "") -; (gtk_accel_path "<Actions>/Editor/snap-magnetic" "") -; (gtk_accel_path "<Actions>/Editor/playhead-to-range-end" "") +(gtk_accel_path "<Actions>/Transport/Rewind" "<%PRIMARY%>leftarrow") +(gtk_accel_path "<Actions>/Editor/scroll-playhead-backward" "<%TERTIARY%>leftarrow") + +(gtk_accel_path "<Actions>/Editor/scroll-forward" "rightarrow") +(gtk_accel_path "<Actions>/Transport/Forward" "<%PRIMARY%>rightarrow") (gtk_accel_path "<Actions>/Editor/scroll-playhead-forward" "<%TERTIARY%>rightarrow") -(gtk_accel_path "<Actions>/Editor/align-regions-sync-relative" "a") -; (gtk_accel_path "<Actions>/Editor/EditSelectRegionOptions" "") -(gtk_accel_path "<Actions>/Editor/crop" "c") -; (gtk_accel_path "<Actions>/processormenu/newsend" "") -; (gtk_accel_path "<Actions>/Editor/ToggleGeneric MIDISurfaceSubMenu" "") -; (gtk_accel_path "<Actions>/Editor/MeterFalloff" "") -; (gtk_accel_path "<Actions>/RegionList/rlRemove" "") + +(gtk_accel_path "<Actions>/Editor/scroll-tracks-down" "Page_Down") +(gtk_accel_path "<Actions>/Editor/scroll-tracks-up" "Page_Up") (gtk_accel_path "<Actions>/Transport/GotoStart" "Home") -(gtk_accel_path "<Actions>/Editor/scroll-playhead-backward" "<%TERTIARY%>leftarrow") -(gtk_accel_path "<Actions>/Editor/split-region" "s") -; (gtk_accel_path "<Actions>/Transport/ToggleAutoInput" "") -; (gtk_accel_path "<Actions>/Snap/snap-to-thirtyseconds" "") -; (gtk_accel_path "<Actions>/Snap/snap-to-minutes" "") -(gtk_accel_path "<Actions>/Editor/align-regions-sync" "<%LEVEL4%>a") +(gtk_accel_path "<Actions>/Transport/GotoEnd" "End") +(gtk_accel_path "<Actions>/Editor/editor-delete" "Delete") + +(gtk_accel_path "<Actions>/Editor/playhead-to-edit" "Return") +(gtk_accel_path "<Actions>/Editor/edit-to-playhead" "<%SECONDARY%>Return") +(gtk_accel_path "<Actions>/Editor/remove-last-capture" "<%PRIMARY%>Delete") + +;; keypad + +(gtk_accel_path "<Actions>/Editor/nudge-backward" "KP_Subtract") +(gtk_accel_path "<Actions>/Editor/nudge-next-backward" "<%PRIMARY%>KP_Subtract") + +(gtk_accel_path "<Actions>/Editor/jump-forward-to-mark" "<%PRIMARY%>KP_Right") +(gtk_accel_path "<Actions>/Editor/jump-backward-to-mark" "<%PRIMARY%>KP_Left") + +(gtk_accel_path "<Actions>/Editor/nudge-forward" "KP_Add") +(gtk_accel_path "<Actions>/Editor/nudge-next-forward" "<%PRIMARY%>KP_Add") + +(gtk_accel_path "<Actions>/Editor/start-range" "<%PRIMARY%>KP_Down") + +(gtk_accel_path "<Actions>/Editor/finish-range" "<%PRIMARY%>KP_Up") +(gtk_accel_path "<Actions>/Editor/finish-add-range" "<%TERTIARY%><%PRIMARY%>KP_Up") + +(gtk_accel_path "<Actions>/Editor/add-location-from-playhead" "KP_Enter") +(gtk_accel_path "<Actions>/Transport/focus-on-clock" "KP_Divide") + +(gtk_accel_path "<Actions>/Transport/GotoZero" "KP_0") +(gtk_accel_path "<Actions>/Editor/goto-mark-1" "KP_1") +(gtk_accel_path "<Actions>/Editor/goto-mark-2" "KP_2") +(gtk_accel_path "<Actions>/Editor/goto-mark-3" "KP_3") +(gtk_accel_path "<Actions>/Editor/goto-mark-4" "KP_4") +(gtk_accel_path "<Actions>/Editor/goto-mark-5" "KP_5") +(gtk_accel_path "<Actions>/Editor/goto-mark-6" "KP_6") +(gtk_accel_path "<Actions>/Editor/goto-mark-7" "KP_7") +(gtk_accel_path "<Actions>/Editor/goto-mark-8" "KP_8") +(gtk_accel_path "<Actions>/Editor/goto-mark-9" "KP_9") + +;; F-N keys + +(gtk_accel_path "<Actions>/Editor/edit-cursor-to-range-start" "F1") +(gtk_accel_path "<Actions>/Editor/edit-cursor-to-range-end" "F2") +(gtk_accel_path "<Actions>/Editor/crop" "F3") +(gtk_accel_path "<Actions>/Editor/separate" "F4") +(gtk_accel_path "<Actions>/Editor/pitch-shift-region" "F5") +(gtk_accel_path "<Actions>/Editor/select-range-between-cursors" "F6") +(gtk_accel_path "<Actions>/Common/ToggleMaximalEditor" "F11") + +;; numbers + +(gtk_accel_path "<Actions>/Editor/toggle-edit-mode" "1") +(gtk_accel_path "<Actions>/Editor/cycle-snap-mode" "2") +(gtk_accel_path "<Actions>/Editor/cycle-snap-choice" "3") +(gtk_accel_path "<Actions>/Transport/ToggleAutoReturn" "4") +(gtk_accel_path "<Actions>/Transport/ToggleClick" "5") + +;; +;; unbound actions +;; + +; (gtk_accel_path "<Actions>/RegionList/RegionListSort" "") ; (gtk_accel_path "<Actions>/Main/Windows" "") ; (gtk_accel_path "<Actions>/Main/CleanupUnused" "") -; (gtk_accel_path "<Actions>/processormenu/deselectall" "") +; (gtk_accel_path "<Actions>/redirectmenu/deselectall" "") ; (gtk_accel_path "<Actions>/options/SoloViaBus" "") -(gtk_accel_path "<Actions>/MouseMode/set-mouse-mode-zoom" "<Shift>z") ; (gtk_accel_path "<Actions>/RegionList/rlAudition" "") -(gtk_accel_path "<Actions>/Editor/set-region-sync-position" "v") ; (gtk_accel_path "<Actions>/Editor/PullupPlus4Plus1" "") ; (gtk_accel_path "<Actions>/Snap/snap-to-region-boundary" "") ; (gtk_accel_path "<Actions>/JACK/JACK" "") -(gtk_accel_path "<Actions>/Editor/editor-cut" "<%PRIMARY%>x") ; (gtk_accel_path "<Actions>/RegionList/SortAscending" "") ; (gtk_accel_path "<Actions>/Main/Help" "") ; (gtk_accel_path "<Actions>/options/UseExternalMonitoring" "") ; (gtk_accel_path "<Actions>/Editor/Smpte23976" "") -(gtk_accel_path "<Actions>/Common/goto-editor" "<%WINDOW%>e") -(gtk_accel_path "<Actions>/Editor/select-all" "<%PRIMARY%>a") -(gtk_accel_path "<Actions>/Editor/nudge-next-forward" "<%PRIMARY%>KP_Add") ; (gtk_accel_path "<Actions>/options/ShowSoloMutes" "") ; (gtk_accel_path "<Actions>/Snap/snap-to-eighths" "") -(gtk_accel_path "<Actions>/Editor/select-all-after-playhead" "<%TERTIARY%><%PRIMARY%>p") -(gtk_accel_path "<Actions>/Common/ToggleMaximalEditor" "F11") ; (gtk_accel_path "<Actions>/RegionList/SortBySourceFileLength" "") ; (gtk_accel_path "<Actions>/Editor/Timecode" "") ; (gtk_accel_path "<Actions>/Transport/PlaySelection" "") ; (gtk_accel_path "<Actions>/Editor/PullupMinus4Minus1" "") -(gtk_accel_path "<Actions>/Editor/select-all-after-edit-cursor" "<%TERTIARY%><%PRIMARY%>e") ; (gtk_accel_path "<Actions>/RegionList/SortBySourceFileName" "") -(gtk_accel_path "<Actions>/Editor/finish-range" "<%PRIMARY%>KP_Up") -(gtk_accel_path "<Actions>/Transport/Loop" "l") ; (gtk_accel_path "<Actions>/Editor/CrossfadesFull" "") -(gtk_accel_path "<Actions>/Editor/finish-add-range" "<%TERTIARY%><%PRIMARY%>KP_Up") ; (gtk_accel_path "<Actions>/Transport/ToggleClick" "") ; (gtk_accel_path "<Actions>/options/SendMTC" "") ; (gtk_accel_path "<Actions>/Transport/TogglePunchOut" "") -(gtk_accel_path "<Actions>/Editor/select-all-in-loop-range" "<%PRIMARY%>l") -(gtk_accel_path "<Actions>/Editor/show-editor-mixer" "<%TERTIARY%>e") -(gtk_accel_path "<Actions>/Editor/show-editor-list" "<Shift>l") ; (gtk_accel_path "<Actions>/options/SoloInPlace" "") ; (gtk_accel_path "<Actions>/Main/Options" "") ; (gtk_accel_path "<Actions>/options/MeterFalloffMedium" "") -(gtk_accel_path "<Actions>/Editor/toggle-follow-playhead" "f") ; (gtk_accel_path "<Actions>/Main/SaveTemplate" "") -(gtk_accel_path "<Actions>/Transport/TransitionToRoll" "<%PRIMARY%>uparrow") ; (gtk_accel_path "<Actions>/RegionList/SortByRegionStartinFile" "") ; (gtk_accel_path "<Actions>/options/GainReduceFastTransport" "") ; (gtk_accel_path "<Actions>/Common/ToggleInspector" "") ; (gtk_accel_path "<Actions>/Transport/ToggleAutoPlay" "") ; (gtk_accel_path "<Actions>/Editor/playhead-to-next-region-sync" "") -(gtk_accel_path "<Actions>/Editor/edit-to-playhead" "<%SECONDARY%>Return") ; (gtk_accel_path "<Actions>/Editor/LayerMoveAddHigher" "") ; (gtk_accel_path "<Actions>/Editor/Smpte60" "") ; (gtk_accel_path "<Actions>/Main/Open" "") -(gtk_accel_path "<Actions>/Editor/scroll-forward" "rightarrow") ; (gtk_accel_path "<Actions>/Zoom/zoom-focus-left" "") ; (gtk_accel_path "<Actions>/Main/TransportOptions" "") ; (gtk_accel_path "<Actions>/Main/ControlSurfaces" "") @@ -195,66 +228,41 @@ ; (gtk_accel_path "<Actions>/Transport/ToggleAutoReturn" "") ; (gtk_accel_path "<Actions>/Editor/Smpte2997" "") ; (gtk_accel_path "<Actions>/Editor/ToggleWaveformVisibility" "") -(gtk_accel_path "<Actions>/Editor/redo" "<%PRIMARY%>r") -; (gtk_accel_path "<Actions>/Editor/addExternalAudioAsRegion" "") ; (gtk_accel_path "<Actions>/Main/ExportSession" "") ; (gtk_accel_path "<Actions>/options/InputAutoConnectPhysical" "") ; (gtk_accel_path "<Actions>/Snap/snap-to-edit-cursor" "") -(gtk_accel_path "<Actions>/Editor/temporal-zoom-in" "minus") ; (gtk_accel_path "<Actions>/JACK/Latency" "") -(gtk_accel_path "<Actions>/Editor/edit-cursor-to-range-end" "F2") -; (gtk_accel_path "<Actions>/processormenu/rename" "") +; (gtk_accel_path "<Actions>/redirectmenu/rename" "") ; (gtk_accel_path "<Actions>/RegionList/rlShowAuto" "") -(gtk_accel_path "<Actions>/Editor/select-all-before-playhead" "<%PRIMARY%>p") -; (gtk_accel_path "<Actions>/Editor/addExistingAudioFiles" "") ; (gtk_accel_path "<Actions>/Main/Session" "") -(gtk_accel_path "<Actions>/Editor/edit-cursor-to-range-start" "F1") ; (gtk_accel_path "<Actions>/Main/AudioFileFormat" "") ; (gtk_accel_path "<Actions>/Transport/Transport" "") -(gtk_accel_path "<Actions>/MouseMode/set-mouse-mode-timefx" "t") -(gtk_accel_path "<Actions>/MouseMode/set-mouse-mode-note" "n") ; (gtk_accel_path "<Actions>/RegionList/SortByRegionName" "") ; (gtk_accel_path "<Actions>/Main/KeyMouse Actions" "") -(gtk_accel_path "<Actions>/MouseMode/set-mouse-mode-gain" "g") ; (gtk_accel_path "<Actions>/Snap/snap-to-frame" "") ; (gtk_accel_path "<Actions>/Editor/SnapTo" "") -(gtk_accel_path "<Actions>/Transport/TransitionToReverse" "<%PRIMARY%>downarrow") ; (gtk_accel_path "<Actions>/Editor/Crossfades" "") ; (gtk_accel_path "<Actions>/Editor/PullupPlus4" "") -(gtk_accel_path "<Actions>/Editor/add-location-from-playhead" "KP_Enter") -(gtk_accel_path "<Actions>/Editor/edit-cursor-to-previous-region-end" "<%PRIMARY%>bracketleft") ; (gtk_accel_path "<Actions>/Main/MeteringHoldTime" "") ; (gtk_accel_path "<Actions>/Editor/PullupPlus1" "") ; (gtk_accel_path "<Actions>/Editor/Smpte24976" "") ; (gtk_accel_path "<Actions>/options/FileDataFormat24bit" "") ; (gtk_accel_path "<Actions>/Editor/SnapMode" "") -(gtk_accel_path "<Actions>/Common/ToggleOptionsEditor" "<%WINDOW%>o") ; (gtk_accel_path "<Actions>/Editor/PullupMinus4" "") -(gtk_accel_path "<Actions>/Common/goto-mixer" "<%WINDOW%>m") -; (gtk_accel_path "<Actions>/Editor/addExternalAudioToTrack" "") ; (gtk_accel_path "<Actions>/RegionList/SortBySourceFileCreationDate" "") -; (gtk_accel_path "<Actions>/processormenu/activate" "") -(gtk_accel_path "<Actions>/Editor/extend-range-to-start-of-region" "leftanglebracket") +; (gtk_accel_path "<Actions>/redirectmenu/activate" "") ; (gtk_accel_path "<Actions>/Editor/PullupMinus1" "") ; (gtk_accel_path "<Actions>/Editor/snap-normal" "") -(gtk_accel_path "<Actions>/Common/ToggleBigClock" "<%WINDOW%>b") -(gtk_accel_path "<Actions>/Common/ToggleKeyEditor" "<%WINDOW%>k") ; (gtk_accel_path "<Actions>/Snap/snap-to-asixteenthbeat" "") -(gtk_accel_path "<Actions>/Editor/select-all-in-punch-range" "<%PRIMARY%>d") -; (gtk_accel_path "<Actions>/processormenu/edit" "") -(gtk_accel_path "<Actions>/Editor/duplicate-region" "d") +; (gtk_accel_path "<Actions>/redirectmenu/edit" "") ; (gtk_accel_path "<Actions>/JACK/JACKLatency2048" "") ; (gtk_accel_path "<Actions>/Editor/ToggleWaveformsWhileRecording" "") ; (gtk_accel_path "<Actions>/Zoom/zoom-focus-right" "") -(gtk_accel_path "<Actions>/Editor/remove-last-capture" "<%PRIMARY%>Delete") ; (gtk_accel_path "<Actions>/options/FileHeaderFormatWAVE" "") -(gtk_accel_path "<Actions>/Transport/GotoZero" "KP_0") -(gtk_accel_path "<Actions>/Transport/GotoEnd" "End") -; (gtk_accel_path "<Actions>/processormenu/cut" "") -; (gtk_accel_path "<Actions>/processormenu/newinsert" "") +; (gtk_accel_path "<Actions>/redirectmenu/cut" "") +; (gtk_accel_path "<Actions>/redirectmenu/newinsert" "") ; (gtk_accel_path "<Actions>/options/UseMMC" "") ; (gtk_accel_path "<Actions>/options/MeterFalloffOff" "") -(gtk_accel_path "<Actions>/MouseMode/set-mouse-mode-object" "o") ; (gtk_accel_path "<Actions>/Editor/PullupMinus4Plus1" "") ; (gtk_accel_path "<Actions>/Editor/MeterHold" "") ; (gtk_accel_path "<Actions>/Snap/snap-to-cd-frame" "") @@ -262,85 +270,138 @@ ; (gtk_accel_path "<Actions>/Main/Cleanup" "") ; (gtk_accel_path "<Actions>/Main/Snapshot" "") ; (gtk_accel_path "<Actions>/Transport/ToggleVideoSync" "") -(gtk_accel_path "<Actions>/Transport/ToggleRoll" "space") ; (gtk_accel_path "<Actions>/RegionList/SortBySourceFilesystem" "") -(gtk_accel_path "<Actions>/Common/ToggleColorManager" "<%WINDOW%>c") ; (gtk_accel_path "<Actions>/Common/About" "") ; (gtk_accel_path "<Actions>/JACK/JACKLatency32" "") -(gtk_accel_path "<Actions>/Editor/playhead-to-edit" "Return") ; (gtk_accel_path "<Actions>/options/FileHeaderFormatWAVE64" "") -(gtk_accel_path "<Actions>/Editor/brush-at-mouse" "<%PRIMARY%>b") ; (gtk_accel_path "<Actions>/RegionList/rlShowAll" "") -(gtk_accel_path "<Actions>/Transport/Rewind" "<%PRIMARY%>leftarrow") ; (gtk_accel_path "<Actions>/RegionList/SortByRegionTimestamp" "") ; (gtk_accel_path "<Actions>/options/VerifyRemoveLastCapture" "") ; (gtk_accel_path "<Actions>/options/OutputAutoConnectPhysical" "") -(gtk_accel_path "<Actions>/Editor/step-tracks-up" "uparrow") -(gtk_accel_path "<Actions>/Editor/playhead-to-next-region-boundary" "period") ; (gtk_accel_path "<Actions>/options/SendMMC" "") ; (gtk_accel_path "<Actions>/Editor/toggle-auto-xfades" "") ; (gtk_accel_path "<Actions>/Main/AudioFileFormatHeader" "") ; (gtk_accel_path "<Actions>/options/MeterHoldShort" "") ; (gtk_accel_path "<Actions>/options/MeterHoldMedium" "") -(gtk_accel_path "<Actions>/Editor/select-all-before-edit-cursor" "<%PRIMARY%>e") ; (gtk_accel_path "<Actions>/Editor/Subframes80" "") ; (gtk_accel_path "<Actions>/options/FileHeaderFormatCAF" "") -(gtk_accel_path "<Actions>/Common/ToggleLocations" "<%WINDOW%>l") ; (gtk_accel_path "<Actions>/Editor/ToggleGeneric MIDISurface" "") -(gtk_accel_path "<Actions>/Editor/editor-delete" "Delete") ; (gtk_accel_path "<Actions>/JACK/JACKLatency256" "") -(gtk_accel_path "<Actions>/Editor/select-all-between-cursors" "u") ; (gtk_accel_path "<Actions>/Editor/LayerAddHigher" "") ; (gtk_accel_path "<Actions>/Editor/Solo" "") ; (gtk_accel_path "<Actions>/JACK/JACKLatency1024" "") ; (gtk_accel_path "<Actions>/Main/ExportRangeMarkers" "") -(gtk_accel_path "<Actions>/Editor/set-playhead" "p") ; (gtk_accel_path "<Actions>/Editor/toggle-xfades-active" "") ; (gtk_accel_path "<Actions>/Snap/snap-to-bar" "") ; (gtk_accel_path "<Actions>/Editor/LayerLaterHigher" "") -; (gtk_accel_path "<Actions>/processormenu/selectall" "") -(gtk_accel_path "<Actions>/Editor/editor-copy" "<%PRIMARY%>c") +; (gtk_accel_path "<Actions>/redirectmenu/selectall" "") ; (gtk_accel_path "<Actions>/Snap/snap-to-quarters" "") -(gtk_accel_path "<Actions>/Editor/temporal-zoom-out" "equal") ; (gtk_accel_path "<Actions>/options/UseSoftwareMonitoring" "") ; (gtk_accel_path "<Actions>/Editor/Subframes100" "") -(gtk_accel_path "<Actions>/Editor/mute-unmute-region" "m") -; (gtk_accel_path "<Actions>/options/OutputAutoConnectManual" "") -; (gtk_accel_path "<Actions>/Snap/snap-to-region-sync" "") -(gtk_accel_path "<Actions>/Editor/edit-cursor-to-previous-region-sync" "apostrophe") -; (gtk_accel_path "<Actions>/processormenu/clear" "") + + +; (gtk_accel_path "<Actions>/redirectmenu/clear" "") ; (gtk_accel_path "<Actions>/Editor/ToggleGeneric MIDISurfaceFeedback" "") ; (gtk_accel_path "<Actions>/Editor/PullupPlus4Minus1" "") ; (gtk_accel_path "<Actions>/JACK/JACKLatency512" "") ; (gtk_accel_path "<Actions>/Main/Recent" "") -; (gtk_accel_path "<Actions>/processormenu/newplugin" "") +; (gtk_accel_path "<Actions>/redirectmenu/newplugin" "") ; (gtk_accel_path "<Actions>/options/InputAutoConnectManual" "") ; (gtk_accel_path "<Actions>/options/MeterHoldLong" "") ; (gtk_accel_path "<Actions>/Snap/snap-to-seconds" "") -(gtk_accel_path "<Actions>/Editor/cycle-edit-point" "grave") -(gtk_accel_path "<Actions>/Editor/toggle-edit-mode" "1") -(gtk_accel_path "<Actions>/Editor/cycle-snap-mode" "2") -(gtk_accel_path "<Actions>/Editor/cycle-snap-choice" "3") -(gtk_accel_path "<Actions>/Editor/set-fade-in-length" "slash") -(gtk_accel_path "<Actions>/Editor/set-fade-out-length" "backslash") -(gtk_accel_path "<Actions>/Editor/trim-from-start" "<%TERTIARY%>braceleft") -(gtk_accel_path "<Actions>/Editor/trim-to-end" "<%TERTIARY%>braceright") -;(gtk_accel_path "<Actions>/Editor/trim-front" "a") -;(gtk_accel_path "<Actions>/Editor/trim-back" "s") -(gtk_accel_path "<Actions>/Editor/goto-mark-1" "KP_1") -(gtk_accel_path "<Actions>/Editor/goto-mark-2" "KP_2") -(gtk_accel_path "<Actions>/Editor/goto-mark-3" "KP_3") -(gtk_accel_path "<Actions>/Editor/goto-mark-4" "KP_4") -(gtk_accel_path "<Actions>/Editor/goto-mark-5" "KP_5") -(gtk_accel_path "<Actions>/Editor/goto-mark-6" "KP_6") -(gtk_accel_path "<Actions>/Editor/goto-mark-7" "KP_7") -(gtk_accel_path "<Actions>/Editor/goto-mark-8" "KP_8") -(gtk_accel_path "<Actions>/Editor/goto-mark-9" "KP_9") -(gtk_accel_path "<Actions>/Transport/ToggleClick" "5") -(gtk_accel_path "<Actions>/Transport/ToggleAutoReturn" "4") -(gtk_accel_path "<Actions>/Transport/focus-on-clock" "KP_Divide") -(gtk_accel_path "<Actions>/Editor/set-loop-from-edit-range" "bracketright") -(gtk_accel_path "<Actions>/Editor/set-punch-from-edit-range" "bracketleft") -(gtk_accel_path "<Actions>/Editor/set-loop-from-region" "<%PRIMARY%><%SECONDARY%>bracketright") -(gtk_accel_path "<Actions>/Editor/toggle-zoom" "<%TERTIARY%>z") -(gtk_accel_path "<Actions>/Editor/zoom-to-region" "z") +; (gtk_accel_path "<Actions>/options/OutputAutoConnectManual" "") +; (gtk_accel_path "<Actions>/Snap/snap-to-region-sync" "") +; (gtk_accel_path "<Actions>/Editor/Pullup" "") +; (gtk_accel_path "<Actions>/Editor/zoom-to-session" "") +; (gtk_accel_path "<Actions>/JACK/JACKReconnect" "") +; (gtk_accel_path "<Actions>/Editor/Autoconnect" "") +; (gtk_accel_path "<Actions>/Editor/Edit" "") +; (gtk_accel_path "<Actions>/redirectmenu/copy" "") +; (gtk_accel_path "<Actions>/options/MeterFalloffFaster" "") +; (gtk_accel_path "<Actions>/RegionList/SortByRegionLength" "") +; (gtk_accel_path "<Actions>/options/MeterFalloffSlowest" "") +; (gtk_accel_path "<Actions>/Editor/playhead-to-previous-region-sync" "") +; (gtk_accel_path "<Actions>/redirectmenu/deactivate_all" "") +; (gtk_accel_path "<Actions>/RegionList/SortByRegionPosition" "") +; (gtk_accel_path "<Actions>/Editor/ZoomFocus" "") +; (gtk_accel_path "<Actions>/options/MeterFalloffSlow" "") +; (gtk_accel_path "<Actions>/RegionList/rlHide" "") +; (gtk_accel_path "<Actions>/Main/Metering" "") +; (gtk_accel_path "<Actions>/Zoom/zoom-focus-playhead" "") +; (gtk_accel_path "<Actions>/Editor/center-edit-cursor" "") +; (gtk_accel_path "<Actions>/Editor/Monitoring" "") +; (gtk_accel_path "<Actions>/redirectmenu/deactivate" "") +; (gtk_accel_path "<Actions>/options/LatchedRecordEnable" "") +; (gtk_accel_path "<Actions>/Transport/TogglePunchIn" "") +; (gtk_accel_path "<Actions>/ShuttleActions/SetShuttleUnitsPercentage" "") +; (gtk_accel_path "<Actions>/Main/Close" "") +; (gtk_accel_path "<Actions>/Main/New" "") +; (gtk_accel_path "<Actions>/Editor/EditSelectRangeOptions" "") +; (gtk_accel_path "<Actions>/Transport/ToggleTimeMaster" "") +; (gtk_accel_path "<Actions>/Snap/snap-to-thirds" "") +; (gtk_accel_path "<Actions>/Main/Export" "") +; (gtk_accel_path "<Actions>/Editor/Smpte30" "") +; (gtk_accel_path "<Actions>/Editor/playhead-to-range-start" "") +; (gtk_accel_path "<Actions>/Editor/Subframes" "") +; (gtk_accel_path "<Actions>/Editor/Smpte2997drop" "") +; (gtk_accel_path "<Actions>/Main/AddTrackBus" "") +; (gtk_accel_path "<Actions>/JACK/JACKDisconnect" "") +; (gtk_accel_path "<Actions>/options/MeterFalloffFast" "") +; (gtk_accel_path "<Actions>/options/FileDataFormatFloat" "") +; (gtk_accel_path "<Actions>/Snap/snap-to-region-end" "") +; (gtk_accel_path "<Actions>/options/StopRecordingOnXrun" "") +; (gtk_accel_path "<Actions>/RegionList/SortDescending" "") +; (gtk_accel_path "<Actions>/options/DoNotRunPluginsWhileRecording" "") +; (gtk_accel_path "<Actions>/Editor/PullupNone" "") +; (gtk_accel_path "<Actions>/Main/AudioFileFormatData" "") +; (gtk_accel_path "<Actions>/options/MeterFalloffFastest" "") +; (gtk_accel_path "<Actions>/Editor/audition-at-mouse" "") +; (gtk_accel_path "<Actions>/Snap/snap-to-smpte-seconds" "") +; (gtk_accel_path "<Actions>/Snap/snap-to-smpte-frame" "") +; (gtk_accel_path "<Actions>/Main/ExportSelection" "") +; (gtk_accel_path "<Actions>/options/StopPluginsWithTransport" "") +; (gtk_accel_path "<Actions>/Snap/snap-to-smpte-minutes" "") +; (gtk_accel_path "<Actions>/Main/FlushWastebasket" "") +; (gtk_accel_path "<Actions>/RegionList/SortByRegionEndinFile" "") +; (gtk_accel_path "<Actions>/Editor/ToggleMeasureVisibility" "") +; (gtk_accel_path "<Actions>/Zoom/zoom-focus-center" "") +; (gtk_accel_path "<Actions>/options/LatchedSolo" "") +; (gtk_accel_path "<Actions>/options/MeterHoldOff" "") +; (gtk_accel_path "<Actions>/options/OutputAutoConnectMaster" "") +; (gtk_accel_path "<Actions>/JACK/JACKLatency64" "") +; (gtk_accel_path "<Actions>/Editor/center-playhead" "") +; (gtk_accel_path "<Actions>/Snap/snap-to-region-start" "") +; (gtk_accel_path "<Actions>/Editor/View" "") +; (gtk_accel_path "<Actions>/Editor/Layering" "") +; (gtk_accel_path "<Actions>/JACK/JACKLatency4096" "") +; (gtk_accel_path "<Actions>/Editor/Smpte30drop" "") +; (gtk_accel_path "<Actions>/Zoom/zoom-focus-edit" "") +; (gtk_accel_path "<Actions>/Editor/EditCursorMovementOptions" "") +; (gtk_accel_path "<Actions>/redirectmenu/activate_all" "") +; (gtk_accel_path "<Actions>/redirectmenu/paste" "") +; (gtk_accel_path "<Actions>/Editor/Smpte25" "") +; (gtk_accel_path "<Actions>/options/RegionEquivalentsOverlap" "") +; (gtk_accel_path "<Actions>/Main/MeteringFallOffRate" "") +; (gtk_accel_path "<Actions>/options/UseHardwareMonitoring" "") +; (gtk_accel_path "<Actions>/Editor/Smpte24" "") +; (gtk_accel_path "<Actions>/Snap/snap-to-mark" "") +; (gtk_accel_path "<Actions>/Editor/CrossfadesShort" "") +; (gtk_accel_path "<Actions>/Editor/Smpte5994" "") +; (gtk_accel_path "<Actions>/JACK/JACKLatency8192" "") +; (gtk_accel_path "<Actions>/Editor/toggle-xfades-visible" "") +; (gtk_accel_path "<Actions>/ShuttleActions/SetShuttleUnitsSemitones" "") +; (gtk_accel_path "<Actions>/JACK/JACKLatency128" "") +; (gtk_accel_path "<Actions>/Snap/snap-to-beat" "") +; (gtk_accel_path "<Actions>/Editor/RegionEditOps" "") +; (gtk_accel_path "<Actions>/Editor/snap-magnetic" "") +; (gtk_accel_path "<Actions>/Editor/playhead-to-range-end" "") +; (gtk_accel_path "<Actions>/Editor/EditSelectRegionOptions" "") +; (gtk_accel_path "<Actions>/redirectmenu/newsend" "") +; (gtk_accel_path "<Actions>/Editor/ToggleGeneric MIDISurfaceSubMenu" "") +; (gtk_accel_path "<Actions>/Editor/MeterFalloff" "") +; (gtk_accel_path "<Actions>/RegionList/rlRemove" "") +; (gtk_accel_path "<Actions>/Transport/ToggleAutoInput" "") +; (gtk_accel_path "<Actions>/Snap/snap-to-thirtyseconds" "") +; (gtk_accel_path "<Actions>/Snap/snap-to-minutes" "") +; (gtk_accel_path "<Actions>/RegionList/RegionListSort" "") +; (gtk_accel_path "<Actions>/Editor/edit-cursor-to-previous-region-start" "") diff --git a/gtk2_ardour/ardour.menus b/gtk2_ardour/ardour.menus index 11e75137dd..1964fb8193 100644 --- a/gtk2_ardour/ardour.menus +++ b/gtk2_ardour/ardour.menus @@ -87,6 +87,7 @@ <menuitem action='set-loop-from-edit-range'/> <menuitem action='set-loop-from-region'/> <menuitem action='set-punch-from-edit-range'/> + <menuitem action='set-punch-from-region'/> </menu> <menu name='Edit' action='Edit'> <menuitem action='undo'/> @@ -429,7 +430,9 @@ <menuitem action='ShowTrackMeters'/> <menuitem action='OnlyCopyImportedFiles'/> <menuitem action='ShowTrackMeters'/> + <menuitem action='DefaultNarrowMS'/> <menuitem action='link-region-and-track-selection'/> + <separator/> </menu> <menu name='Help' action='Help'> diff --git a/gtk2_ardour/ardour_ui.cc b/gtk2_ardour/ardour_ui.cc index d0261849f6..70dac73a59 100644 --- a/gtk2_ardour/ardour_ui.cc +++ b/gtk2_ardour/ardour_ui.cc @@ -741,32 +741,39 @@ ARDOUR_UI::check_memory_locking () void ARDOUR_UI::finish() { - if (session && session->dirty()) { - switch (ask_about_saving_session(_("quit"))) { - case -1: - return; - break; - case 1: - /* use the default name */ - if (save_state_canfail ("")) { - /* failed - don't quit */ - MessageDialog msg (*editor, - _("\ + if (session) { + + if (session->transport_rolling()) { + session->request_stop (); + usleep (2500000); + } + + if (session->dirty()) { + switch (ask_about_saving_session(_("quit"))) { + case -1: + return; + break; + case 1: + /* use the default name */ + if (save_state_canfail ("")) { + /* failed - don't quit */ + MessageDialog msg (*editor, + _("\ Ardour was unable to save your session.\n\n\ If you still wish to quit, please use the\n\n\ \"Just quit\" option.")); - msg.run (); - return; + msg.run (); + return; + } + break; + case 0: + break; } - break; - case 0: - break; } - } - - if (session) { + session->set_deletion_in_progress (); } + engine->stop (true); Config->save_state(); ARDOUR_UI::config()->save_state(); @@ -1074,8 +1081,7 @@ ARDOUR_UI::build_session_selector () recent_session_display.set_model (recent_session_model); recent_session_display.append_column (_("Recent Sessions"), recent_session_columns.visible_name); recent_session_display.set_headers_visible (false); - recent_session_display.get_selection()->set_mode (SELECTION_SINGLE); - + recent_session_display.get_selection()->set_mode (SELECTION_BROWSE); recent_session_display.signal_row_activated().connect (mem_fun (*this, &ARDOUR_UI::recent_session_row_activated)); scroller->add (recent_session_display); @@ -1099,37 +1105,55 @@ ARDOUR_UI::recent_session_row_activated (const TreePath& path, TreeViewColumn* c void ARDOUR_UI::open_recent_session () { - /* popup selector window */ + bool can_return = (session != 0); if (session_selector_window == 0) { build_session_selector (); } - + redisplay_recent_sessions (); - ResponseType r = (ResponseType) session_selector_window->run (); + while (true) { + + session_selector_window->set_position (WIN_POS_MOUSE); - session_selector_window->hide(); + ResponseType r = (ResponseType) session_selector_window->run (); + + switch (r) { + case RESPONSE_ACCEPT: + break; + default: + if (can_return) { + session_selector_window->hide(); + return; + } else { + exit (1); + } + } - switch (r) { - case RESPONSE_ACCEPT: - break; - default: - return; - } + if (recent_session_display.get_selection()->count_selected_rows() == 0) { + continue; + } + + session_selector_window->hide(); - Gtk::TreeModel::iterator i = recent_session_display.get_selection()->get_selected(); + Gtk::TreeModel::iterator i = recent_session_display.get_selection()->get_selected(); + + if (i == recent_session_model->children().end()) { + return; + } + + Glib::ustring path = (*i)[recent_session_columns.fullpath]; + Glib::ustring state = (*i)[recent_session_columns.visible_name]; + + _session_is_new = false; + + if (load_session (path, state) == 0) { + break; + } - if (i == recent_session_model->children().end()) { - return; + can_return = false; } - - Glib::ustring path = (*i)[recent_session_columns.fullpath]; - Glib::ustring state = (*i)[recent_session_columns.visible_name]; - - _session_is_new = false; - - load_session (path, state); } bool @@ -2239,9 +2263,9 @@ ARDOUR_UI::get_session_parameters (Glib::ustring predetermined_path, bool have_e goto try_again; } - switch (new_session_dialog->get_current_page()) { - case 1: /* recent session selector */ - case 2: /* audio engine control */ + switch (new_session_dialog->which_page()) { + case NewSessionDialog::OpenPage: + case NewSessionDialog::EnginePage: if (session_name[0] == '/' || (session_name.length() > 2 && session_name[0] == '.' && session_name[1] == '/') || @@ -2262,7 +2286,9 @@ ARDOUR_UI::get_session_parameters (Glib::ustring predetermined_path, bool have_e } break; - case 0: /* nominally the "new" session creator, but could be in use for an old session */ + case NewSessionDialog::NewPage: /* nominally the "new" session creator, but could be in use for an old session */ + + cerr << "on page zero\n"; if (new_session_dialog->get_current_page() == 0 && ARDOUR_COMMAND_LINE::session_name.empty()) { should_be_new = true; @@ -2525,7 +2551,7 @@ ARDOUR_UI::load_session (const Glib::ustring& path, const Glib::ustring& snap_na } catch (...) { - cerr << "Caught something\n"; + MessageDialog msg (string_compose(_("Session \"%1 (snapshot %2)\" did not load successfully"), path, snap_name), true, Gtk::MESSAGE_INFO, @@ -3027,7 +3053,7 @@ ARDOUR_UI::pending_state_dialog () { HBox* hbox = new HBox(); Image* image = new Image (Stock::DIALOG_QUESTION, ICON_SIZE_DIALOG); - ArdourDialog dialog (_("Crash recovery"), true); + ArdourDialog dialog (_("Crash Recovery"), true); Label message (_("\ This session appears to have been in\n\ middle of recording when ardour or\n\ @@ -3036,7 +3062,7 @@ the computer was shutdown.\n\ Ardour can recover any captured audio for\n\ you, or it can ignore it. Please decide\n\ what you would like to do.\n")); - + image->set_alignment(ALIGN_CENTER, ALIGN_TOP); hbox->pack_start (*image, PACK_EXPAND_WIDGET, 12); hbox->pack_end (message, PACK_EXPAND_PADDING, 12); dialog.get_vbox()->pack_start(*hbox, PACK_EXPAND_PADDING, 6); @@ -3047,8 +3073,7 @@ what you would like to do.\n")); message.show(); image->show(); hbox->show(); - //dialog.get_vbox()->show(); - + switch (dialog.run ()) { case RESPONSE_ACCEPT: return 1; diff --git a/gtk2_ardour/ardour_ui.h b/gtk2_ardour/ardour_ui.h index 996349c990..5e43b8a64b 100644 --- a/gtk2_ardour/ardour_ui.h +++ b/gtk2_ardour/ardour_ui.h @@ -725,6 +725,7 @@ class ARDOUR_UI : public Gtkmm2ext::UI void toggle_SecondaryClockDeltaEditCursor (); void toggle_ShowTrackMeters (); void toggle_only_copy_imported_files (); + void toggle_use_narrow_ms(); void mtc_port_changed (); void map_solo_model (); diff --git a/gtk2_ardour/ardour_ui_ed.cc b/gtk2_ardour/ardour_ui_ed.cc index af8206ceac..f5e4cfa549 100644 --- a/gtk2_ardour/ardour_ui_ed.cc +++ b/gtk2_ardour/ardour_ui_ed.cc @@ -428,6 +428,7 @@ ARDOUR_UI::install_actions () ActionManager::register_toggle_action (option_actions, X_("SecondaryClockDeltaEditCursor"), _("Secondary Clock delta to edit point"), mem_fun (*this, &ARDOUR_UI::toggle_SecondaryClockDeltaEditCursor)); ActionManager::register_toggle_action (option_actions, X_("ShowTrackMeters"), _("Enable Editor Meters"), mem_fun (*this, &ARDOUR_UI::toggle_ShowTrackMeters)); ActionManager::register_toggle_action (option_actions, X_("OnlyCopyImportedFiles"), _("Always copy imported files"), mem_fun (*this, &ARDOUR_UI::toggle_only_copy_imported_files)); + ActionManager::register_toggle_action (option_actions, X_("DefaultNarrowMS"), _("Use narrow mixer strips"), mem_fun (*this, &ARDOUR_UI::toggle_use_narrow_ms)); RadioAction::Group denormal_group; diff --git a/gtk2_ardour/ardour_ui_options.cc b/gtk2_ardour/ardour_ui_options.cc index a76e3725a0..2b730fd585 100644 --- a/gtk2_ardour/ardour_ui_options.cc +++ b/gtk2_ardour/ardour_ui_options.cc @@ -518,6 +518,12 @@ ARDOUR_UI::toggle_ShowTrackMeters() } void +ARDOUR_UI::toggle_use_narrow_ms() +{ + ActionManager::toggle_config_state ("options", "DefaultNarrowMS", &Configuration::set_default_narrow_ms, &Configuration::get_default_narrow_ms); +} + +void ARDOUR_UI::mtc_port_changed () { bool have_mtc; @@ -1122,6 +1128,8 @@ ARDOUR_UI::parameter_changed (const char* parameter_name) } else if (PARAM_IS ("show-track-meters")) { ActionManager::map_some_state ("options", "ShowTrackMeters", &Configuration::get_show_track_meters); editor->toggle_meter_updating(); + } else if (PARAM_IS ("default-narrow_ms")) { + ActionManager::map_some_state ("options", "DefaultNarrowMS", &Configuration::get_default_narrow_ms); } #undef PARAM_IS diff --git a/gtk2_ardour/audio_region_view.cc b/gtk2_ardour/audio_region_view.cc index 96b8a57261..333d7ea87a 100644 --- a/gtk2_ardour/audio_region_view.cc +++ b/gtk2_ardour/audio_region_view.cc @@ -52,7 +52,7 @@ #include "i18n.h" -#define MUTED_ALPHA 0x50 +#define MUTED_ALPHA 10 using namespace sigc; using namespace ARDOUR; @@ -1226,14 +1226,22 @@ AudioRegionView::set_frame_color () UINT_TO_RGBA(ARDOUR_UI::config()->canvasvar_FrameBase.get(), &r, &g, &b, &a); for (vector<ArdourCanvas::WaveView*>::iterator w = waves.begin(); w != waves.end(); ++w) { - (*w)->property_wave_color() = RGBA_TO_UINT(r, g, b, fill_opacity ? fill_opacity : a);// Lets still use the theme's opacity value if Opaque is not set + if (_region->muted()) { + (*w)->property_wave_color() = RGBA_TO_UINT(r, g, b, MUTED_ALPHA); + } else { + (*w)->property_wave_color() = RGBA_TO_UINT(r, g, b, fill_opacity ? fill_opacity : a);// Lets still use the theme's opacity value if Opaque is not set + } } } else { UINT_TO_RGBA(ARDOUR_UI::config()->canvasvar_FrameBase.get(), &r, &g, &b, &a); frame->property_fill_color_rgba() = RGBA_TO_UINT(r, g, b, fill_opacity ? fill_opacity : a); for (vector<ArdourCanvas::WaveView*>::iterator w = waves.begin(); w != waves.end(); ++w) { - (*w)->property_wave_color() = ARDOUR_UI::config()->canvasvar_WaveForm.get(); + if (_region->muted()) { + (*w)->property_wave_color() = UINT_RGBA_CHANGE_A(ARDOUR_UI::config()->canvasvar_WaveForm.get(), MUTED_ALPHA); + } else { + (*w)->property_wave_color() = ARDOUR_UI::config()->canvasvar_WaveForm.get(); + } } } } diff --git a/gtk2_ardour/editor.cc b/gtk2_ardour/editor.cc index 613c34f551..325584f7ed 100644 --- a/gtk2_ardour/editor.cc +++ b/gtk2_ardour/editor.cc @@ -155,6 +155,18 @@ static const gchar *_zoom_focus_strings[] = { 0 }; +#ifdef USE_RUBBERBAND +static const gchar *_rb_opt_strings[] = { + N_("Mushy"), + N_("Smooth"), + N_("Balanced multitimbral mixture"), + N_("Unpitched percussion with stable notes"), + N_("Crisp monophonic instrumental"), + N_("Unpitched solo percussion"), + 0 +}; +#endif + /* Soundfile drag-n-drop */ Gdk::Cursor* Editor::cross_hair_cursor = 0; @@ -256,7 +268,10 @@ Editor::Editor () snap_mode_strings = I18N (_snap_mode_strings); zoom_focus_strings = I18N (_zoom_focus_strings); edit_point_strings = I18N (_edit_point_strings); - +#ifdef USE_RUBBERBAND + rb_opt_strings = I18N (_rb_opt_strings); +#endif + snap_threshold = 5.0; bbt_beat_subdivision = 4; canvas_width = 0; @@ -4224,10 +4239,15 @@ struct EditorOrderTimeAxisSorter { }; void -Editor::sort_track_selection () +Editor::sort_track_selection (TrackSelection* sel) { EditorOrderTimeAxisSorter cmp; - selection->tracks.sort (cmp); + + if (sel) { + sel->sort (cmp); + } else { + selection->tracks.sort (cmp); + } } nframes64_t diff --git a/gtk2_ardour/editor.h b/gtk2_ardour/editor.h index 69f7e18a7f..14ed3a46a8 100644 --- a/gtk2_ardour/editor.h +++ b/gtk2_ardour/editor.h @@ -168,6 +168,10 @@ class Editor : public PublicEditor void hide_a_region (boost::shared_ptr<ARDOUR::Region>); void remove_a_region (boost::shared_ptr<ARDOUR::Region>); +#ifdef USE_RUBBERBAND + std::vector<std::string> rb_opt_strings; +#endif + /* option editor-access */ void set_show_waveforms (bool yn); @@ -478,7 +482,7 @@ class Editor : public PublicEditor CrossfadeView* clicked_crossfadeview; ControlPoint* clicked_control_point; - void sort_track_selection (); + void sort_track_selection (TrackSelection* sel = 0); void get_relevant_tracks (std::set<RouteTimeAxisView*>& relevant_tracks); void get_equivalent_regions (RegionView* rv, std::vector<RegionView*>&) const; @@ -1179,7 +1183,8 @@ class Editor : public PublicEditor void add_location_from_selection (); void set_loop_from_selection (bool play); void set_punch_from_selection (); - + void set_punch_from_region (); + void set_loop_from_edit_range (bool play); void set_loop_from_region (bool play); void set_punch_from_edit_range (); @@ -1930,11 +1935,20 @@ class Editor : public PublicEditor Gtk::SpinButton pitch_cent_spinner; RegionSelection regions; Gtk::ProgressBar progress_bar; + + /* SoundTouch */ Gtk::ToggleButton quick_button; Gtk::ToggleButton antialias_button; + Gtk::HBox upper_button_box; + + /* RubberBand */ + Gtk::ComboBoxText stretch_opts_selector; + Gtk::Label stretch_opts_label; + Gtk::ToggleButton precise_button; + Gtk::HBox opts_box; + Gtk::Button* cancel_button; Gtk::Button* action_button; - Gtk::HBox upper_button_box; Gtk::VBox packer; int status; @@ -2061,6 +2075,18 @@ class Editor : public PublicEditor TimeAxisView* entered_track; RegionView* entered_regionview; + + class ExclusiveRegionSelection { + public: + ExclusiveRegionSelection (Editor&, RegionView*); + ~ExclusiveRegionSelection (); + + private: + Editor& editor; + RegionView* regionview; + bool remove; + }; + void ensure_entered_region_selected (bool op_acts_on_objects = false); void ensure_entered_track_selected (bool op_acts_on_objects = false); bool clear_entered_track; diff --git a/gtk2_ardour/editor_actions.cc b/gtk2_ardour/editor_actions.cc index fd95fd46b9..e881b02a4e 100644 --- a/gtk2_ardour/editor_actions.cc +++ b/gtk2_ardour/editor_actions.cc @@ -270,7 +270,8 @@ Editor::register_actions () ActionManager::session_sensitive_actions.push_back (act); 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)); ActionManager::session_sensitive_actions.push_back (act); - + 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); act = ActionManager::register_action (editor_actions, "pitch-shift-region", _("Transpose"), mem_fun(*this, &Editor::pitch_shift_regions)); ActionManager::session_sensitive_actions.push_back (act); diff --git a/gtk2_ardour/editor_canvas.cc b/gtk2_ardour/editor_canvas.cc index 87a92790bc..68e0f62be4 100644 --- a/gtk2_ardour/editor_canvas.cc +++ b/gtk2_ardour/editor_canvas.cc @@ -337,7 +337,7 @@ Editor::track_canvas_size_allocated () if (playhead_cursor) playhead_cursor->set_length (canvas_height); for (MarkerSelection::iterator x = selection->markers.begin(); x != selection->markers.end(); ++x) { - (*x)->set_line_length (canvas_height); + (*x)->set_line_length (full_canvas_height); } if (range_marker_drag_rect) { @@ -366,11 +366,17 @@ Editor::track_canvas_size_allocated () } compute_fixed_ruler_scale (); + range_marker_drag_rect->property_y2() = full_canvas_height; + transport_loop_range_rect->property_y2() = full_canvas_height; + transport_punch_range_rect->property_y2() = full_canvas_height; + transport_punchin_line->property_y2() = full_canvas_height; + transport_punchout_line->property_y2() = full_canvas_height; + update_fixed_rulers(); redisplay_tempo (true); if (logo_item) { - // logo_item->property_height() = canvas_height; + // logo_item->property_height() = full_canvas_height; // logo_item->property_width() = canvas_width; } diff --git a/gtk2_ardour/editor_markers.cc b/gtk2_ardour/editor_markers.cc index 68ce914025..e6fb32feca 100644 --- a/gtk2_ardour/editor_markers.cc +++ b/gtk2_ardour/editor_markers.cc @@ -1172,7 +1172,7 @@ Editor::marker_selection_changed () } for (MarkerSelection::iterator x = selection->markers.begin(); x != selection->markers.end(); ++x) { - (*x)->add_line (cursor_group, canvas_height); + (*x)->add_line (cursor_group, full_canvas_height); (*x)->show_line (); } diff --git a/gtk2_ardour/editor_ops.cc b/gtk2_ardour/editor_ops.cc index 9cee32cebb..4919091a62 100644 --- a/gtk2_ardour/editor_ops.cc +++ b/gtk2_ardour/editor_ops.cc @@ -2389,7 +2389,7 @@ Editor::play_selected_region () nframes64_t start = max_frames; nframes64_t end = 0; - ensure_entered_region_selected (true); + ExclusiveRegionSelection esr (*this, entered_regionview); if (selection->regions.empty()) { return; @@ -2404,6 +2404,7 @@ Editor::play_selected_region () } } + session->request_stop (); session->request_bounded_roll (start, end); } @@ -2567,27 +2568,58 @@ Editor::separate_regions_between (const TimeSelection& ts) bool in_command = false; boost::shared_ptr<Playlist> playlist; RegionSelection new_selection; + TrackSelection tmptracks; + + if (selection->tracks.empty()) { - sort_track_selection (); + /* use tracks with selected regions */ - for (TrackSelection::iterator i = selection->tracks.begin(); i != selection->tracks.end(); ++i) { + for (RegionSelection::iterator i = selection->regions.begin(); i != selection->regions.end(); ++i) { + TimeAxisView* tv = &(*i)->get_time_axis_view(); + + if (find (tmptracks.begin(), tmptracks.end(), tv) == tmptracks.end()) { + tmptracks.push_back (tv); + } + } + + if (tmptracks.empty()) { + /* no regions selected: use all tracks */ + tmptracks = track_views; + } + + } else { + + tmptracks = selection->tracks; + + } + + sort_track_selection (&tmptracks); + + for (TrackSelection::iterator i = tmptracks.begin(); i != tmptracks.end(); ++i) { RouteTimeAxisView* rtv; - + if ((rtv = dynamic_cast<RouteTimeAxisView*> ((*i))) != 0) { - boost::shared_ptr<Track> t = rtv->track(); + if (rtv->is_track()) { - if (t != 0 && ! t->diskstream()->destructive()) { - - if ((playlist = rtv->playlist()) != 0) { + /* no edits to destructive tracks */ - XMLNode *before = &(playlist->get_state()); - bool got_some = false; + if (rtv->track()->diskstream()->destructive()) { + continue; + } + if ((playlist = rtv->playlist()) != 0) { + + XMLNode *before; + bool got_some; + + before = &(playlist->get_state()); + got_some = false; + /* XXX need to consider musical time selections here at some point */ - double speed = t->diskstream()->speed(); + double speed = rtv->get_diskstream()->speed(); for (list<AudioRange>::const_iterator t = ts.begin(); t != ts.end(); ++t) { @@ -2986,29 +3018,59 @@ Editor::align_selection_relative (RegionPoint point, nframes_t position, const R switch (point) { case Start: - pos = r->first_frame (); + pos = position; + if (position > r->position()) { + distance = position - r->position(); + dir = 1; + } else { + distance = r->position() - position; + dir = -1; + } break; - + case End: - pos = r->last_frame(); + if (position > r->last_frame()) { + distance = position - r->last_frame(); + pos = r->position() + distance; + dir = 1; + } else { + distance = r->last_frame() - position; + pos = r->position() - distance; + dir = -1; + } break; case SyncPoint: - pos = r->adjust_to_sync (r->first_frame()); + pos = r->adjust_to_sync (position); + if (pos > r->position()) { + distance = pos - r->position(); + dir = 1; + } else { + distance = r->position() - pos; + dir = -1; + } break; } - if (pos > position) { - distance = pos - position; - dir = -1; - } else { - distance = position - pos; - dir = 1; + if (pos == r->position()) { + return; } begin_reversible_command (_("align selection (relative)")); - for (RegionSelection::const_iterator i = rs.begin(); i != rs.end(); ++i) { + /* move first one specially */ + + XMLNode &before = r->playlist()->get_state(); + r->set_position (pos, this); + XMLNode &after = r->playlist()->get_state(); + session->add_command(new MementoCommand<Playlist>(*(r->playlist()), &before, &after)); + + /* move rest by the same amount */ + + RegionSelection::const_iterator i = rs.begin(); + ++i; + + for (; i != rs.end(); ++i) { boost::shared_ptr<Region> region ((*i)->region()); @@ -3100,7 +3162,7 @@ Editor::trim_region_to_punch () void Editor::trim_region_to_location (const Location& loc, const char* str) { - ensure_entered_region_selected (); + ExclusiveRegionSelection ers (*this, entered_regionview); RegionSelection& rs (get_regions_for_action ()); @@ -3151,6 +3213,8 @@ Editor::trim_region_to_location (const Location& loc, const char* str) void Editor::trim_region_to_edit_point () { + ExclusiveRegionSelection ers (*this, entered_regionview); + RegionSelection& rs (get_regions_for_action ()); nframes64_t where = get_preferred_edit_position(); @@ -3193,6 +3257,8 @@ Editor::trim_region_to_edit_point () void Editor::trim_region_from_edit_point () { + ExclusiveRegionSelection ers (*this, entered_regionview); + RegionSelection& rs (get_regions_for_action ()); nframes64_t where = get_preferred_edit_position(); @@ -4292,16 +4358,16 @@ Editor::toggle_region_opaque () void Editor::set_fade_length (bool in) { - ensure_entered_region_selected (true); + ExclusiveRegionSelection esr (*this, entered_regionview); /* we need a region to measure the offset from the start */ RegionView* rv; - if (entered_regionview) { - rv = entered_regionview; - } else if (!selection->regions.empty()) { + if (!selection->regions.empty()) { rv = selection->regions.front(); + } else if (entered_regionview) { + rv = entered_regionview; } else { return; } @@ -4309,6 +4375,11 @@ Editor::set_fade_length (bool in) nframes64_t pos = get_preferred_edit_position(); nframes_t len; char* cmd; + + if (pos > rv->region()->last_frame() || pos < rv->region()->first_frame()) { + /* edit point is outside the relevant region */ + return; + } if (in) { if (pos <= rv->region()->position()) { @@ -4337,7 +4408,13 @@ Editor::set_fade_length (bool in) return; } - boost::shared_ptr<AutomationList> alist = tmp->audio_region()->fade_in(); + boost::shared_ptr<AutomationList> alist; + if (in) { + alist = tmp->audio_region()->fade_in(); + } else { + alist = tmp->audio_region()->fade_out(); + } + XMLNode &before = alist->get_state(); if (in) { @@ -4347,13 +4424,12 @@ Editor::set_fade_length (bool in) } XMLNode &after = alist->get_state(); - session->add_command(new MementoCommand<AutomationList>(*alist.get(), &before, &after)); + session->add_command(new MementoCommand<AutomationList>(*alist, &before, &after)); } commit_reversible_command (); } - void Editor::toggle_fade_active (bool in) { @@ -4366,7 +4442,6 @@ Editor::toggle_fade_active (bool in) const char* cmd = (in ? _("toggle fade in active") : _("toggle fade out active")); bool have_switch = false; bool yn; - bool in_command = false; begin_reversible_command (cmd); @@ -4382,25 +4457,31 @@ Editor::toggle_fade_active (bool in) /* make the behaviour consistent across all regions */ if (!have_switch) { - yn = region->fade_in_active(); + if (in) { + yn = region->fade_in_active(); + } else { + yn = region->fade_out_active(); + } have_switch = true; } XMLNode &before = region->get_state(); - region->set_fade_in_active (!yn); + if (in) { + region->set_fade_in_active (!yn); + } else { + region->set_fade_out_active (!yn); + } XMLNode &after = region->get_state(); session->add_command(new MementoCommand<AudioRegion>(*region.get(), &before, &after)); - in_command = true; } - if (in_command) { - commit_reversible_command (); - } + commit_reversible_command (); } void Editor::set_fade_in_shape (AudioRegion::FadeShape shape) { + begin_reversible_command (_("set fade in shape")); for (RegionSelection::iterator x = selection->regions.begin(); x != selection->regions.end(); ++x) { @@ -4420,6 +4501,7 @@ Editor::set_fade_in_shape (AudioRegion::FadeShape shape) } commit_reversible_command (); + } void @@ -4468,6 +4550,8 @@ Editor::set_fade_in_active (bool yn) XMLNode &after = ar->get_state(); session->add_command(new MementoCommand<AudioRegion>(*ar, &before, &after)); } + + commit_reversible_command (); } void @@ -4491,6 +4575,8 @@ Editor::set_fade_out_active (bool yn) XMLNode &after = ar->get_state(); session->add_command(new MementoCommand<AudioRegion>(*ar, &before, &after)); } + + commit_reversible_command (); } @@ -4600,27 +4686,29 @@ Editor::ensure_entered_track_selected (bool op_really_wants_one_track_if_none_ar void Editor::ensure_entered_region_selected (bool op_really_wants_one_region_if_none_are_selected) { - if (entered_regionview && mouse_mode == MouseObject) { - - /* heuristic: - - - if there is no existing selection, don't change it. the operation will thus apply to "all" - - - if there is an existing selection, but the entered regionview isn't in it, add it. this - avoids key-mouse ops on unselected regions from interfering with an existing selection, - but also means that the operation will apply to the pointed-at region. - */ - - if (!selection->regions.empty()) { - if (find (selection->regions.begin(), selection->regions.end(), entered_regionview) != selection->regions.end()) { - selection->add (entered_regionview); - } - } else { - /* there is no selection, but this operation requires/prefers selected objects */ + if (!entered_regionview || mouse_mode != MouseObject) { + return; + } - if (op_really_wants_one_region_if_none_are_selected) { - selection->set (entered_regionview, false); - } + + /* heuristic: + + - if there is no existing selection, don't change it. the operation will thus apply to "all" + + - if there is an existing selection, but the entered regionview isn't in it, add it. this + avoids key-mouse ops on unselected regions from interfering with an existing selection, + but also means that the operation will apply to the pointed-at region. + */ + + if (!selection->regions.empty()) { + if (!selection->selected (entered_regionview)) { + selection->add (entered_regionview); + } + } else { + /* there is no selection, but this operation requires/prefers selected objects */ + + if (op_really_wants_one_region_if_none_are_selected) { + selection->set (entered_regionview, false); } } } @@ -4640,6 +4728,8 @@ Editor::trim_region_back () void Editor::trim_region (bool front) { + ExclusiveRegionSelection ers (*this, entered_regionview); + nframes64_t where = get_preferred_edit_position(); RegionSelection& rs = get_regions_for_action (); @@ -4662,6 +4752,7 @@ Editor::trim_region (bool front) session->add_command(new MementoCommand<Playlist>(*pl.get(), &before, &after)); } } + commit_reversible_command (); } @@ -4764,7 +4855,7 @@ Editor::set_loop_from_region (bool play) nframes64_t start = max_frames; nframes64_t end = 0; - ensure_entered_region_selected (true); + ExclusiveRegionSelection esr (*this, entered_regionview); if (selection->regions.empty()) { info << _("cannot set loop: no region selected") << endmsg; @@ -4819,6 +4910,31 @@ Editor::set_punch_from_edit_range () } void +Editor::set_punch_from_region () +{ + nframes64_t start = max_frames; + nframes64_t end = 0; + + ExclusiveRegionSelection esr (*this, entered_regionview); + + if (selection->regions.empty()) { + info << _("cannot set punch: no region selected") << endmsg; + return; + } + + for (RegionSelection::iterator i = selection->regions.begin(); i != selection->regions.end(); ++i) { + if ((*i)->region()->position() < start) { + start = (*i)->region()->position(); + } + if ((*i)->region()->last_frame() + 1 > end) { + end = (*i)->region()->last_frame() + 1; + } + } + + set_punch_range (start, end, _("set punch range from region")); +} + +void Editor::pitch_shift_regions () { ensure_entered_region_selected (true); diff --git a/gtk2_ardour/editor_selection.cc b/gtk2_ardour/editor_selection.cc index 5fcdb8ef32..87b9eba6f7 100644 --- a/gtk2_ardour/editor_selection.cc +++ b/gtk2_ardour/editor_selection.cc @@ -808,7 +808,7 @@ void Editor::select_all (Selection::Operation op) { list<Selectable *> touched; - + for (TrackViewList::iterator iter = track_views.begin(); iter != track_views.end(); ++iter) { if ((*iter)->hidden()) { continue; @@ -991,7 +991,15 @@ Editor::select_all_selectables_using_time_selection () return; } - for (TrackViewList::iterator iter = selection->tracks.begin(); iter != selection->tracks.end(); ++iter) { + TrackSelection* ts; + + if (selection->tracks.empty()) { + ts = &track_views; + } else { + ts = &selection->tracks; + } + + for (TrackViewList::iterator iter = ts->begin(); iter != ts->end(); ++iter) { if ((*iter)->hidden()) { continue; } @@ -1014,7 +1022,16 @@ Editor::select_all_selectables_using_punch() return; } - for (TrackViewList::iterator iter = track_views.begin(); iter != track_views.end(); ++iter) { + + TrackSelection* ts; + + if (selection->tracks.empty()) { + ts = &track_views; + } else { + ts = &selection->tracks; + } + + for (TrackViewList::iterator iter = ts->begin(); iter != ts->end(); ++iter) { if ((*iter)->hidden()) { continue; } @@ -1036,7 +1053,16 @@ Editor::select_all_selectables_using_loop() return; } - for (TrackViewList::iterator iter = track_views.begin(); iter != track_views.end(); ++iter) { + + TrackSelection* ts; + + if (selection->tracks.empty()) { + ts = &track_views; + } else { + ts = &selection->tracks; + } + + for (TrackViewList::iterator iter = ts->begin(); iter != ts->end(); ++iter) { if ((*iter)->hidden()) { continue; } @@ -1069,7 +1095,16 @@ Editor::select_all_selectables_using_cursor (Cursor *cursor, bool after) } } - for (TrackViewList::iterator iter = track_views.begin(); iter != track_views.end(); ++iter) { + + TrackSelection* ts; + + if (selection->tracks.empty()) { + ts = &track_views; + } else { + ts = &selection->tracks; + } + + for (TrackViewList::iterator iter = ts->begin(); iter != ts->end(); ++iter) { if ((*iter)->hidden()) { continue; } @@ -1100,7 +1135,16 @@ Editor::select_all_selectables_using_edit (bool after) } } - for (TrackViewList::iterator iter = track_views.begin(); iter != track_views.end(); ++iter) { + + TrackSelection* ts; + + if (selection->tracks.empty()) { + ts = &track_views; + } else { + ts = &selection->tracks; + } + + for (TrackViewList::iterator iter = ts->begin(); iter != ts->end(); ++iter) { if ((*iter)->hidden()) { continue; } @@ -1120,8 +1164,16 @@ Editor::select_all_selectables_between (bool within) if (!get_edit_op_range (start, end)) { return; } - - for (TrackViewList::iterator iter = track_views.begin(); iter != track_views.end(); ++iter) { + + TrackSelection* ts; + + if (selection->tracks.empty()) { + ts = &track_views; + } else { + ts = &selection->tracks; + } + + for (TrackViewList::iterator iter = ts->begin(); iter != ts->end(); ++iter) { if ((*iter)->hidden()) { continue; } @@ -1241,3 +1293,28 @@ Editor::deselect_all () { selection->clear (); } + +Editor::ExclusiveRegionSelection::ExclusiveRegionSelection (Editor& ed, RegionView* rv) + : editor (ed), + regionview (rv) +{ + + if (!rv || ed.current_mouse_mode() != Editing::MouseObject) { + return; + } + + if (ed.get_selection().regions.empty() && !ed.get_selection().selected (rv)) { + ed.get_selection().set (rv, false); + remove = true; + } else { + remove = false; + } +} + +Editor::ExclusiveRegionSelection::~ExclusiveRegionSelection () +{ + if (remove) { + editor.get_selection().remove (regionview); + } +} + diff --git a/gtk2_ardour/editor_timefx.cc b/gtk2_ardour/editor_timefx.cc index 015a265a9b..2b91c6df28 100644 --- a/gtk2_ardour/editor_timefx.cc +++ b/gtk2_ardour/editor_timefx.cc @@ -17,6 +17,7 @@ */ +#include <iostream> #include <cstdlib> #include <cmath> @@ -27,6 +28,7 @@ #include <pbd/memento_command.h> #include <gtkmm2ext/window_title.h> +#include <gtkmm2ext/utils.h> #include "editor.h" #include "audio_time_axis.h" @@ -42,8 +44,14 @@ #include <ardour/stretch.h> #include <ardour/pitch.h> +#ifdef USE_RUBBERBAND +#include <rubberband/RubberBandStretcher.h> +using namespace RubberBand; +#endif + #include "i18n.h" +using namespace std; using namespace ARDOUR; using namespace PBD; using namespace sigc; @@ -54,14 +62,16 @@ Editor::TimeFXDialog::TimeFXDialog (Editor& e, bool pitch) : ArdourDialog (X_("time fx dialog")), editor (e), pitching (pitch), - pitch_octave_adjustment (0.0, 0.0, 4.0, 1, 2.0), - pitch_semitone_adjustment (0.0, 0.0, 12.0, 1.0, 4.0), - pitch_cent_adjustment (0.0, 0.0, 150.0, 5.0, 15.0), + pitch_octave_adjustment (0.0, -4.0, 4.0, 1, 2.0), + pitch_semitone_adjustment (0.0, -12.0, 12.0, 1.0, 4.0), + pitch_cent_adjustment (0.0, -499.0, 500.0, 5.0, 15.0), pitch_octave_spinner (pitch_octave_adjustment), pitch_semitone_spinner (pitch_semitone_adjustment), pitch_cent_spinner (pitch_cent_adjustment), quick_button (_("Quick but Ugly")), - antialias_button (_("Skip Anti-aliasing")) + antialias_button (_("Skip Anti-aliasing")), + stretch_opts_label (_("Contents:")), + precise_button (_("Strict Linear")) { set_modal (true); set_position (Gtk::WIN_POS_MOUSE); @@ -79,8 +89,6 @@ Editor::TimeFXDialog::TimeFXDialog (Editor& e, bool pitch) get_vbox()->set_spacing (5); get_vbox()->set_border_width (12); - get_vbox()->pack_start (upper_button_box, false, false); - get_vbox()->pack_start (progress_bar); if (pitching) { @@ -105,19 +113,44 @@ Editor::TimeFXDialog::TimeFXDialog (Editor& e, bool pitch) add_button (_("Shift"), Gtk::RESPONSE_ACCEPT); + get_vbox()->pack_start (upper_button_box, false, false); + } else { +#ifdef USE_RUBBERBAND + opts_box.set_spacing (5); + opts_box.set_border_width (5); + vector<string> strings; + + set_popdown_strings (stretch_opts_selector, editor.rb_opt_strings); + /* set default */ + stretch_opts_selector.set_active_text (editor.rb_opt_strings[4]); + + opts_box.pack_start (precise_button, false, false); + opts_box.pack_start (stretch_opts_label, false, false); + opts_box.pack_start (stretch_opts_selector, false, false); + + get_vbox()->pack_start (opts_box, false, false); + +#else upper_button_box.set_homogeneous (true); upper_button_box.set_spacing (5); upper_button_box.set_border_width (5); + upper_button_box.pack_start (quick_button, true, true); upper_button_box.pack_start (antialias_button, true, true); - + + quick_button.set_name (N_("TimeFXButton")); + antialias_button.set_name (N_("TimeFXButton")); + + get_vbox()->pack_start (upper_button_box, false, false); + +#endif add_button (_("Stretch/Shrink"), Gtk::RESPONSE_ACCEPT); } - quick_button.set_name (N_("TimeFXButton")); - antialias_button.set_name (N_("TimeFXButton")); + get_vbox()->pack_start (progress_bar); + progress_bar.set_name (N_("TimeFXProgress")); show_all_children (); @@ -184,6 +217,7 @@ Editor::time_fx (RegionSelection& regions, float val, bool pitching) if (pitching) { float cents = current_timefx->pitch_octave_adjustment.get_value() * 1200.0; + float pitch_fraction; cents += current_timefx->pitch_semitone_adjustment.get_value() * 100.0; cents += current_timefx->pitch_cent_adjustment.get_value(); @@ -193,28 +227,86 @@ Editor::time_fx (RegionSelection& regions, float val, bool pitching) return 0; } - // we now have the pitch shift in cents. divide by 1200 to get octaves - // then multiply by 2.0 because 1 octave == doubling the frequency + // one octave == 1200 cents + // adding one octave doubles the frequency + // ratio is 2^^octaves + + pitch_fraction = pow(2, cents/1200); + + current_timefx->request.time_fraction = 1.0; + current_timefx->request.pitch_fraction = pitch_fraction; - cents /= 1200.0; - cents /= 2.0; + } else { + + current_timefx->request.time_fraction = val; + current_timefx->request.pitch_fraction = 1.0; - // add 1.0 to convert to RB scale + } - cents += 1.0; +#ifdef USE_RUBBERBAND + /* parse options */ - current_timefx->request.time_fraction = 1.0; - current_timefx->request.pitch_fraction = cents; + RubberBandStretcher::Options options = 0; + bool realtime = false; + bool precise = false; + bool peaklock = true; + bool softening = true; + bool longwin = false; + bool shortwin = false; + string txt; + + enum { + NoTransients, + BandLimitedTransients, + Transients + } transients = Transients; + + precise = current_timefx->precise_button.get_active(); + + txt = current_timefx->stretch_opts_selector.get_active_text (); + + if (txt == rb_opt_strings[0]) { + transients = NoTransients; peaklock = false; longwin = true; shortwin = false; + } else if (txt == rb_opt_strings[1]) { + transients = NoTransients; peaklock = false; longwin = false; shortwin = false; + } else if (txt == rb_opt_strings[2]) { + transients = NoTransients; peaklock = true; longwin = false; shortwin = false; + } else if (txt == rb_opt_strings[3]) { + transients = BandLimitedTransients; peaklock = true; longwin = false; shortwin = false; + } else if (txt == rb_opt_strings[5]) { + transients = Transients; peaklock = false; longwin = false; shortwin = true; } else { + /* default/4 */ + + transients = Transients; peaklock = true; longwin = false; shortwin = false; + }; - current_timefx->request.time_fraction = val; - current_timefx->request.pitch_fraction = 1.0; + if (realtime) options |= RubberBandStretcher::OptionProcessRealTime; + if (precise) options |= RubberBandStretcher::OptionStretchPrecise; + if (!peaklock) options |= RubberBandStretcher::OptionPhaseIndependent; + if (!softening) options |= RubberBandStretcher::OptionPhasePeakLocked; + if (longwin) options |= RubberBandStretcher::OptionWindowLong; + if (shortwin) options |= RubberBandStretcher::OptionWindowShort; + + switch (transients) { + case NoTransients: + options |= RubberBandStretcher::OptionTransientsSmooth; + break; + case BandLimitedTransients: + options |= RubberBandStretcher::OptionTransientsMixed; + break; + case Transients: + options |= RubberBandStretcher::OptionTransientsCrisp; + break; } + current_timefx->request.opts = (int) options; +#else current_timefx->request.quick_seek = current_timefx->quick_button.get_active(); current_timefx->request.antialias = !current_timefx->antialias_button.get_active(); +#endif current_timefx->request.progress = 0.0f; current_timefx->request.done = false; current_timefx->request.cancel = false; @@ -239,7 +331,7 @@ Editor::time_fx (RegionSelection& regions, float val, bool pitching) sigc::connection c = Glib::signal_timeout().connect (mem_fun (current_timefx, &TimeFXDialog::update_progress), 100); - while (!current_timefx->request.done) { + while (!current_timefx->request.done && !current_timefx->request.cancel) { gtk_main_iteration (); } diff --git a/gtk2_ardour/engine_dialog.cc b/gtk2_ardour/engine_dialog.cc index 8a8f99f745..e511e59af2 100644 --- a/gtk2_ardour/engine_dialog.cc +++ b/gtk2_ardour/engine_dialog.cc @@ -1,6 +1,7 @@ #include <vector> #include <cmath> #include <fstream> +#include <map> #include <glibmm.h> #include <pbd/xml++.h> @@ -22,6 +23,7 @@ #include <pbd/convert.h> #include <pbd/error.h> +#include <pbd/pathscanner.h> #ifdef __APPLE #include <CFBundle.h> @@ -113,7 +115,6 @@ EngineControl::EngineControl () strings.push_back (X_("ALSA")); strings.push_back (X_("OSS")); strings.push_back (X_("FFADO")); - strings.push_back (X_("FreeBoB")); #endif strings.push_back (X_("NetJACK")); strings.push_back (X_("Dummy")); @@ -364,7 +365,7 @@ EngineControl::build_command_line (vector<string>& cmd) bool using_coreaudio = false; bool using_netjack = false; bool using_ffado = false; - bool using_freebob = false; + bool using_dummy = false; /* first, path to jackd */ @@ -427,10 +428,10 @@ EngineControl::build_command_line (vector<string>& cmd) } else if (driver == X_("FFADO")) { using_ffado = true; cmd.push_back ("firewire"); - } else if (driver == X_("FreeBoB")) { - using_freebob = true; - cmd.push_back ("freebob"); - } + } else if ( driver == X_("Dummy")) { + using_dummy = true; + cmd.push_back ("dummy"); + } /* driver arguments */ @@ -454,8 +455,10 @@ EngineControl::build_command_line (vector<string>& cmd) cmd.push_back ("-C"); } - cmd.push_back ("-n"); - cmd.push_back (to_string ((uint32_t) floor (periods_spinner.get_value()), std::dec)); + if (! using_dummy ) { + cmd.push_back ("-n"); + cmd.push_back (to_string ((uint32_t) floor (periods_spinner.get_value()), std::dec)); + } } cmd.push_back ("-r"); @@ -572,7 +575,6 @@ EngineControl::enumerate_devices () #else devices["ALSA"] = enumerate_alsa_devices (); devices["FFADO"] = enumerate_ffado_devices (); - devices["FreeBoB"] = enumerate_freebob_devices (); devices["OSS"] = enumerate_oss_devices (); devices["Dummy"] = enumerate_dummy_devices (); devices["NetJACK"] = enumerate_netjack_devices (); @@ -825,6 +827,11 @@ EngineControl::audio_mode_changed () } } +static bool jack_server_filter(const string& str, void *arg) +{ + return str == "jackd" || str == "jackdmp"; +} + void EngineControl::find_jack_servers (vector<string>& strings) { @@ -838,14 +845,11 @@ EngineControl::find_jack_servers (vector<string>& strings) _NSGetExecutablePath (execpath, &pathsz); - cerr << " execpath = " << execpath << endl; - Glib::ustring path (Glib::path_get_dirname (execpath)); path += "/jackd"; if (Glib::file_test (path, FILE_TEST_EXISTS)) { strings.push_back (path); - cerr << "Found jack in " << path << endl; } if (getenv ("ARDOUR_WITH_JACK")) { @@ -856,29 +860,30 @@ EngineControl::find_jack_servers (vector<string>& strings) } return; } +#else + string path; #endif - if (Glib::file_test ("/usr/bin/jackd", FILE_TEST_EXISTS)) { - strings.push_back ("/usr/bin/jackd"); - } - if (Glib::file_test ("/usr/local/bin/jackd", FILE_TEST_EXISTS)) { - strings.push_back ("/usr/local/bin/jackd"); - } - if (Glib::file_test ("/opt/bin/jackd", FILE_TEST_EXISTS)) { - strings.push_back ("/opt/bin/jackd"); - } - if (Glib::file_test ("/usr/bin/jackdmp", FILE_TEST_EXISTS)) { - strings.push_back ("/usr/bin/jackd"); - } - if (Glib::file_test ("/usr/local/bin/jackdmp", FILE_TEST_EXISTS)) { - strings.push_back ("/usr/local/bin/jackd"); - } - if (Glib::file_test ("/opt/bin/jackdmp", FILE_TEST_EXISTS)) { - strings.push_back ("/opt/bin/jackd"); + PathScanner scanner; + vector<string *> *jack_servers; + std::map<string,int> un; + + path = getenv ("PATH"); + + jack_servers = scanner (path, jack_server_filter, 0, false, true); + + vector<string *>::iterator iter; + + for (iter = jack_servers->begin(); iter != jack_servers->end(); iter++) { + string p = **iter; + + if (un[p]++ == 0) { + strings.push_back(p); + } } - } + string EngineControl::get_device_name (const string& driver, const string& human_readable) { @@ -1023,9 +1028,18 @@ EngineControl::set_state (const XMLNode& root) XMLNode* child; XMLProperty* prop; + bool using_dummy = false; + int val; string strval; + if ( (child = root.child("driver"))){ + prop = child->property("val"); + if (prop && (prop->value() == "Dummy") ) { + using_dummy = true; + } + } + clist = root.children(); for (citer = clist.begin(); citer != clist.end(); ++citer) { @@ -1035,6 +1049,8 @@ EngineControl::set_state (const XMLNode& root) prop = child->property ("val"); if (!prop || prop->value().empty()) { + if ( using_dummy && ( child->name() == "interface" || child->name() == "inputdevice" || child->name() == "outputdevice" )) + continue; error << string_compose (_("AudioSetup value for %1 is missing data"), child->name()) << endmsg; continue; } diff --git a/gtk2_ardour/gain_meter.cc b/gtk2_ardour/gain_meter.cc index a20d8b9019..8406e21aa3 100644 --- a/gtk2_ardour/gain_meter.cc +++ b/gtk2_ardour/gain_meter.cc @@ -971,22 +971,6 @@ GainMeter::gain_automation_state_changed () } } -void GainMeter::setup_atv_meter (int len) -{ - set_no_show_all(); - regular_meter_width = 3; - set_width(Narrow, len); - hide_all(); - - //cerr << "Config->get_show_track_meters() = " << Config->get_show_track_meters() << endl;//DEBUG - - if (Config->get_show_track_meters()) { - meter_packer.show_all(); - hbox.show(); - show(); - } -} - void GainMeter::clear_meters () { for (vector<MeterInfo>::iterator i = meters.begin(); i < meters.end(); i++) { diff --git a/gtk2_ardour/gain_meter.h b/gtk2_ardour/gain_meter.h index 669ed50906..af4f55709c 100644 --- a/gtk2_ardour/gain_meter.h +++ b/gtk2_ardour/gain_meter.h @@ -75,7 +75,6 @@ class GainMeter : public Gtk::VBox void set_meter_strip_name (const char * name); void set_fader_name (const char * name); - void setup_atv_meter (int); void clear_meters (); private: diff --git a/gtk2_ardour/keyeditor.cc b/gtk2_ardour/keyeditor.cc index 4f378d2dbc..c914b6282b 100644 --- a/gtk2_ardour/keyeditor.cc +++ b/gtk2_ardour/keyeditor.cc @@ -10,6 +10,8 @@ #include <pbd/strsplit.h> #include <pbd/replace_all.h> +#include <ardour/profile.h> + #include "actions.h" #include "keyboard.h" #include "keyeditor.h" @@ -22,7 +24,10 @@ using namespace Gdk; using namespace PBD; KeyEditor::KeyEditor () - : ArdourDialog (_("Keybinding Editor"), false) + : ArdourDialog (_("Shortcut Editor"), false) + , unbind_button (_("Remove shortcut")) + , unbind_box (BUTTONBOX_END) + { can_bind = false; last_state = 0; @@ -31,7 +36,7 @@ KeyEditor::KeyEditor () view.set_model (model); view.append_column (_("Action"), columns.action); - view.append_column (_("Binding"), columns.binding); + view.append_column (_("Shortcut"), columns.binding); view.set_headers_visible (true); view.get_selection()->set_mode (SELECTION_SINGLE); view.set_reorderable (false); @@ -45,11 +50,49 @@ KeyEditor::KeyEditor () scroller.add (view); scroller.set_policy (Gtk::POLICY_NEVER, Gtk::POLICY_AUTOMATIC); + unbind_box.pack_start (unbind_button, false, false); + + unbind_button.signal_clicked().connect (mem_fun (*this, &KeyEditor::unbind)); + + get_vbox()->set_spacing (6); get_vbox()->pack_start (scroller); + + if (!ARDOUR::Profile->get_sae()) { + get_vbox()->pack_start (unbind_box, false, false); + unbind_box.show (); + unbind_button.show (); + } + get_vbox()->set_border_width (12); - scroller.show (); view.show (); + scroller.show (); + + unbind_button.set_sensitive (false); +} + +void +KeyEditor::unbind () +{ + TreeModel::iterator i = view.get_selection()->get_selected(); + + unbind_button.set_sensitive (false); + + if (i != model->children().end()) { + string path = (*i)[columns.path]; + + if (!(*i)[columns.bindable]) { + return; + } + + bool result = AccelMap::change_entry (path, + 0, + (ModifierType) 0, + true); + if (result) { + (*i)[columns.binding] = string (); + } + } } void @@ -69,6 +112,28 @@ KeyEditor::on_unmap () void KeyEditor::action_selected () { + if (view.get_selection()->count_selected_rows() == 0) { + return; + } + + TreeModel::iterator i = view.get_selection()->get_selected(); + + unbind_button.set_sensitive (false); + + if (i != model->children().end()) { + + string path = (*i)[columns.path]; + + if (!(*i)[columns.bindable]) { + return; + } + + string binding = (*i)[columns.binding]; + + if (!binding.empty()) { + unbind_button.set_sensitive (true); + } + } } bool @@ -112,8 +177,6 @@ KeyEditor::on_key_release_event (GdkEventKey* ev) (*i)[columns.binding] = string(); } } - - } out: diff --git a/gtk2_ardour/keyeditor.h b/gtk2_ardour/keyeditor.h index 9fd129ca31..085bfbb6d9 100644 --- a/gtk2_ardour/keyeditor.h +++ b/gtk2_ardour/keyeditor.h @@ -3,6 +3,7 @@ #include <string> +#include <gtkmm/buttonbox.h> #include <gtkmm/treeview.h> #include <gtkmm/treestore.h> #include <gtkmm/scrolledwindow.h> @@ -39,6 +40,10 @@ class KeyEditor : public ArdourDialog Gtk::TreeView view; Glib::RefPtr<Gtk::TreeStore> model; KeyEditorColumns columns; + Gtk::Button unbind_button; + Gtk::HButtonBox unbind_box; + + void unbind (); bool can_bind; guint last_state; diff --git a/gtk2_ardour/mixer_ui.cc b/gtk2_ardour/mixer_ui.cc index 8d349d8dc8..94c687f829 100644 --- a/gtk2_ardour/mixer_ui.cc +++ b/gtk2_ardour/mixer_ui.cc @@ -62,7 +62,7 @@ Mixer_UI::Mixer_UI () : Window (Gtk::WINDOW_TOPLEVEL) { session = 0; - _strip_width = Wide; + Config->get_default_narrow_ms() ? _strip_width = Narrow : _strip_width = Wide; track_menu = 0; mix_group_context_menu = 0; no_track_list_redisplay = false; @@ -309,6 +309,8 @@ Mixer_UI::add_strip (Session::RouteList& routes) strip = new MixerStrip (*this, *session, route); strips.push_back (strip); + Config->get_default_narrow_ms() ? _strip_width = Narrow : _strip_width = Wide; + if (strip->width_owner() != strip) { strip->set_width (_strip_width, this); } diff --git a/gtk2_ardour/new_session_dialog.cc b/gtk2_ardour/new_session_dialog.cc index 9ecc7ea2f5..820a614ecc 100644 --- a/gtk2_ardour/new_session_dialog.cc +++ b/gtk2_ardour/new_session_dialog.cc @@ -42,6 +42,7 @@ using namespace ARDOUR; using namespace PBD; #include "opts.h" +#include "utils.h" NewSessionDialog::NewSessionDialog() : ArdourDialog ("session control") @@ -348,6 +349,30 @@ NewSessionDialog::NewSessionDialog() get_vbox()->set_spacing(0); get_vbox()->pack_start(*m_notebook, Gtk::PACK_SHRINK, 0); + /* + icon setting is done again in the editor (for the whole app), + but its all chickens and eggs at this point. + */ + + list<Glib::RefPtr<Gdk::Pixbuf> > window_icons; + Glib::RefPtr<Gdk::Pixbuf> icon; + + if ((icon = ::get_icon ("ardour_icon_16px")) != 0) { + window_icons.push_back (icon); + } + if ((icon = ::get_icon ("ardour_icon_22px")) != 0) { + window_icons.push_back (icon); + } + if ((icon = ::get_icon ("ardour_icon_32px")) != 0) { + window_icons.push_back (icon); + } + if ((icon = ::get_icon ("ardour_icon_48px")) != 0) { + window_icons.push_back (icon); + } + if (!window_icons.empty()) { + set_icon_list (window_icons); + } + WindowTitle title(Glib::get_application_name()); title += _("Session Control"); set_title(title.get_string()); @@ -360,7 +385,7 @@ NewSessionDialog::NewSessionDialog() // add_button(Gtk::Stock::HELP, Gtk::RESPONSE_HELP); add_button(Gtk::Stock::QUIT, Gtk::RESPONSE_CANCEL); add_button(Gtk::Stock::CLEAR, Gtk::RESPONSE_NONE); - m_okbutton = add_button(Gtk::Stock::OPEN, Gtk::RESPONSE_OK); + m_okbutton = add_button(Gtk::Stock::NEW, Gtk::RESPONSE_OK); recent_model = Gtk::TreeStore::create (recent_columns); m_treeview->set_model (recent_model); @@ -425,7 +450,6 @@ NewSessionDialog::NewSessionDialog() m_treeview->signal_row_activated().connect (mem_fun (*this, &NewSessionDialog::recent_row_activated)); m_open_filechooser->signal_selection_changed ().connect (mem_fun (*this, &NewSessionDialog::file_chosen)); m_template->signal_selection_changed ().connect (mem_fun (*this, &NewSessionDialog::template_chosen)); - m_name->grab_focus(); page_set = Pages (0); } @@ -523,7 +547,10 @@ NewSessionDialog::session_name() const } */ - if (on_newable_page()) { + int page = m_notebook->get_current_page(); + + if (page == 0 || page == 2) { + /* new or audio setup pages */ return Glib::filename_from_utf8(m_name->get_text()); } else { if (m_treeview->get_selection()->count_selected_rows() == 0) { @@ -537,12 +564,13 @@ NewSessionDialog::session_name() const std::string NewSessionDialog::session_folder() const { - if (on_newable_page()) { - return Glib::filename_from_utf8(m_folder->get_filename()); + if (m_notebook->get_current_page() == 0) { + return Glib::filename_from_utf8(m_folder->get_filename()); } else { + if (m_treeview->get_selection()->count_selected_rows() == 0) { - std::string str = Glib::filename_from_utf8(m_open_filechooser->get_filename()); - return Glib::path_get_dirname(str); + const string filename(Glib::filename_from_utf8(m_open_filechooser->get_filename())); + return Glib::path_get_dirname(filename); } Gtk::TreeModel::iterator i = m_treeview->get_selection()->get_selected(); return (*i)[recent_columns.fullpath]; @@ -634,19 +662,62 @@ NewSessionDialog::connect_outs_to_physical() const return m_connect_outputs_to_physical->get_active(); } -bool -NewSessionDialog::on_newable_page() const -{ - return (m_notebook->get_current_page() == 0 || - m_notebook->get_current_page() == 2); -} - int NewSessionDialog::get_current_page() const { return m_notebook->get_current_page(); } +NewSessionDialog::Pages +NewSessionDialog::which_page () +{ + int num = m_notebook->get_current_page(); + + if (page_set == NewPage) { + return NewPage; + + } else if (page_set == OpenPage) { + return OpenPage; + + } else if (page_set == EnginePage) { + return EnginePage; + + } else if (page_set == NewPage|OpenPage) { + switch (num) { + case 0: + return NewPage; + default: + return OpenPage; + } + + } else if (page_set == NewPage|EnginePage) { + switch (num) { + case 0: + return NewPage; + default: + return EnginePage; + } + + } else if (page_set == NewPage|EnginePage|OpenPage) { + switch (num) { + case 0: + return NewPage; + case 1: + return OpenPage; + default: + return EnginePage; + } + + } else if (page_set == OpenPage|EnginePage) { + switch (num) { + case 0: + return OpenPage; + default: + return EnginePage; + } + } +} + void NewSessionDialog::set_current_page(int page) { @@ -678,8 +749,11 @@ NewSessionDialog::notebook_page_changed (GtkNotebookPage* np, uint pagenum) return; } - if (!on_newable_page ()) { + switch (which_page()) { + case OpenPage: + on_new_session_page = false; m_okbutton->set_label(_("Open")); + m_okbutton->set_image (*(manage (new Gtk::Image (Gtk::Stock::OPEN, Gtk::ICON_SIZE_BUTTON)))); set_response_sensitive (Gtk::RESPONSE_NONE, false); m_okbutton->set_image (*(new Gtk::Image (Gtk::Stock::OPEN, Gtk::ICON_SIZE_BUTTON))); if (m_treeview->get_selection()->count_selected_rows() == 0) { @@ -687,14 +761,24 @@ NewSessionDialog::notebook_page_changed (GtkNotebookPage* np, uint pagenum) } else { set_response_sensitive (Gtk::RESPONSE_OK, true); } - } else { - if (m_name->get_text() != "") { - set_response_sensitive (Gtk::RESPONSE_NONE, true); - } + break; + + case EnginePage: + on_new_session_page = false; + m_okbutton->set_label(_("Open")); + m_okbutton->set_image (*(manage (new Gtk::Image (Gtk::Stock::OPEN, Gtk::ICON_SIZE_BUTTON)))); + set_response_sensitive (Gtk::RESPONSE_NONE, false); + set_response_sensitive (Gtk::RESPONSE_OK, true); + break; + + default: + m_okbutton->set_label(_("New")); + m_okbutton->set_image (*(new Gtk::Image (Gtk::Stock::NEW, Gtk::ICON_SIZE_BUTTON))); m_okbutton->set_label(_("New")); m_okbutton->set_image (*(new Gtk::Image (Gtk::Stock::NEW, Gtk::ICON_SIZE_BUTTON))); if (m_name->get_text() == "") { set_response_sensitive (Gtk::RESPONSE_OK, false); + m_name->grab_focus(); } else { set_response_sensitive (Gtk::RESPONSE_OK, true); } @@ -718,12 +802,21 @@ NewSessionDialog::treeview_selection_changed () void NewSessionDialog::file_chosen () { - if (on_newable_page ()) return; + switch (which_page()) { + case OpenPage: + break; + case NewPage: + case EnginePage: + return; + } m_treeview->get_selection()->unselect_all(); - if (get_window()) - get_window()->set_cursor(Gdk::Cursor(Gdk::WATCH)); + Glib::RefPtr<Gdk::Window> win (get_window()); + + if (win) { + win->set_cursor(Gdk::Cursor(Gdk::WATCH)); + } if (!m_open_filechooser->get_filename().empty()) { set_response_sensitive (Gtk::RESPONSE_OK, true); diff --git a/gtk2_ardour/new_session_dialog.h b/gtk2_ardour/new_session_dialog.h index 0998f8a39a..6f0820168b 100644 --- a/gtk2_ardour/new_session_dialog.h +++ b/gtk2_ardour/new_session_dialog.h @@ -54,6 +54,12 @@ class NewSessionDialog : public ArdourDialog { public: + enum Pages { + NewPage = 0x1, + OpenPage = 0x2, + EnginePage = 0x4 + }; + NewSessionDialog(); ~NewSessionDialog (); @@ -86,9 +92,9 @@ public: bool connect_outs_to_master() const; bool connect_outs_to_physical() const ; + Pages which_page (); - bool on_newable_page() const; - int get_current_page () const; + int get_current_page() const; void set_current_page (int); void reset_recent(); @@ -170,11 +176,6 @@ protected: Gtk::Notebook* m_notebook; private: - enum Pages { - NewPage = 0x1, - OpenPage = 0x2, - EnginePage = 0x4 - }; Pages page_set; @@ -213,6 +214,7 @@ protected: void master_bus_button_clicked (); void monitor_bus_button_clicked (); + bool on_new_session_page; bool have_engine; }; diff --git a/gtk2_ardour/po/sv_SE.po b/gtk2_ardour/po/sv_SE.po index 2bf641b089..9804869d95 100644 --- a/gtk2_ardour/po/sv_SE.po +++ b/gtk2_ardour/po/sv_SE.po @@ -661,7 +661,7 @@ msgstr "" "datorn stängdes av.\n" "\n" "Ardour kan återhämta inspelade ljud åt\n" -"dig, eller ignorera dem. Välj\n" +"dig, eller ignorera dem. Markera\n" "vad du vill göra.\n" #: ../ardour_ui.cc:2292 @@ -775,7 +775,7 @@ msgstr "Shuttle-hastighetskontrol" #: ../ardour_ui2.cc:305 #, c-format msgid "Select semitones or %%-age for speed display" -msgstr "Välj halvtoner eller %% för hastighetsvisning" +msgstr "Markera halvtoner eller %% för hastighetsvisning" #: ../ardour_ui2.cc:306 msgid "Current transport speed" @@ -991,6 +991,10 @@ msgstr "Stor klocka" msgid "About" msgstr "Om" +#: gtk2_ardour/ardour_ui_ed.cc:207 +msgid "Theme Manager" +msgstr "Färgtema" + #: ../ardour_ui_ed.cc:194 msgid "Colors" msgstr "Färger" @@ -1374,6 +1378,15 @@ msgstr "Inspelningsläge ändras ej vid stopp" msgid "Region equivalents overlap" msgstr "Likvärda regioner överlappar" +#: gtk2_ardour/ardour_ui_ed.cc:416 +msgid "Primary Clock delta to edit cursor" +msgstr "Primär klockdelta till redigeringspunkten" + +#: gtk2_ardour/ardour_ui_ed.cc:417 +msgid "Secondary Clock delta to edit cursor" +msgstr "Sekundär klockdelta till redigeringspunkten" + + #. session options #: ../ardour_ui_ed.cc:418 msgid "Do not run plugins while recording" @@ -1561,6 +1574,18 @@ msgstr "Visa existerande automatisering" msgid "Hide all automation" msgstr "Göm all automatisering" +#: gtk2_ardour/route_time_axis.cc:509 +msgid "Overlaid" +msgstr "Överlappande" + +#: gtk2_ardour/route_time_axis.cc:511 +msgid "Stacked" +msgstr "I trappa" + +#: gtk2_ardour/route_time_axis.cc:514 +msgid "Layers" +msgstr "Lager" + #: ../audio_time_axis.cc:728 msgid "Fader" msgstr "Volym" @@ -1666,7 +1691,7 @@ msgstr "Rensa aktuell" #: ../audio_time_axis.cc:1858 ../editor.cc:2023 ../editor.cc:2099 msgid "Select" -msgstr "Välj" +msgstr "Markera" #: ../automation_line.cc:883 msgid "automation event move" @@ -2015,7 +2040,7 @@ msgstr "Markörer" #: gtk2_ardour/editor.cc:126 gtk2_ardour/editor.cc:3550 msgid "Edit Cursor" -msgstr "Redigeringsmarkör" +msgstr "Redigeringspunkten" #: gtk2_ardour/editor.cc:127 gtk2_ardour/editor.cc:3552 msgid "Region starts" @@ -2055,11 +2080,11 @@ msgstr "Fokus: mitten" #: gtk2_ardour/editor.cc:135 msgid "Focus Play" -msgstr "Fokus: spelhuvud" +msgstr "Fokus: startmarkören" #: gtk2_ardour/editor.cc:136 msgid "Focus Edit" -msgstr "Fokus: redigeringsmarkör" +msgstr "Fokus: redigeringspunkten" #. time display buttons #: ../editor.cc:185 @@ -2134,12 +2159,6 @@ msgstr "Fästläge" msgid "Zoom Focus" msgstr "Zoomfokus" -#. </CMT Additions> -#. nudge -#: ../editor.cc:236 ../editor.cc:1899 ../editor.cc:2065 ../editor.cc:2121 -msgid "Nudge" -msgstr "Knuffa" - #: ../editor.cc:469 msgid "Zoom in" msgstr "Zooma in" @@ -2288,6 +2307,14 @@ msgstr "Visa regionsredigerare" msgid "Raise to top layer" msgstr "Höj till översta lagret" +#: gtk2_ardour/editor.cc:1483 +msgid "Edit..." +msgstr "Redigera..." + +#: gtk2_ardour/editor.cc:1491 +msgid "Define" +msgstr "Definiera" + #: ../editor.cc:1828 msgid "Lower to bottom layer" msgstr "Sänk till lägsta lagret" @@ -2304,6 +2331,10 @@ msgstr "Ta bort synk.-punkt" msgid "Bounce" msgstr "Skriv till disk" +#: gtk2_ardour/editor.cc:1494 +msgid "Sync points" +msgstr "Synkpunkter" + #: ../editor.cc:1839 msgid "Analyze region" msgstr "Analysera regioner" @@ -2312,10 +2343,23 @@ msgstr "Analysera regioner" msgid "Lock" msgstr "Lås" +#: gtk2_ardour/editor.cc:1510 +msgid "Lock Position" +msgstr "Lås position" + +#: gtk2_ardour/editor.cc:1511 +msgid "Unlock Position" +msgstr "Frigör position" + + #: gtk2_ardour/editor.cc:1755 msgid "Opaque" msgstr "Ogenomskinlig" +#: gtk2_ardour/editor.cc:1515 +msgid "Transparent" +msgstr "Genomskinlig" + #: ../editor.cc:1852 msgid "Unlock" msgstr "Lås upp" @@ -2352,6 +2396,38 @@ msgstr "Avnormalisera" msgid "Normalize" msgstr "Normalisera" +#: gtk2_ardour/editor.cc:1563 +msgid "Quantize" +msgstr "Kvantisera" + +#: gtk2_ardour/editor.cc:1570 gtk2_ardour/editor.cc:1638 +msgid "Add range markers" +msgstr "Lägg till omfångsmarkörer" + +#: gtk2_ardour/editor.cc:1572 +msgid "Set range selection" +msgstr "Ställ in omfångsmarkering" + +#: gtk2_ardour/editor.cc:1582 +msgid "Nudge forward" +msgstr "Knuffa framåt" + +#: gtk2_ardour/editor.cc:1583 +msgid "Nudge backward" +msgstr "Knuffa bakåt" + +#: gtk2_ardour/editor.cc:1584 +msgid "Nudge forward by capture offset" +msgstr "Knuffa framåt utifrån inspelningskompensation" + +#: gtk2_ardour/editor.cc:1585 +msgid "Nudge backward by capture offset" +msgstr "Knuffa bakåt utifrån inspelningskompensation" + +#: gtk2_ardour/editor.cc:1587 gtk2_ardour/editor.cc:1788 +msgid "Nudge" +msgstr "Knuffa" + #: ../editor.cc:1878 msgid "Reverse" msgstr "Motsatt riktning" @@ -2387,11 +2463,11 @@ msgstr "Knuffa bakåt utifrån inspelningskompensation" #: ../editor.cc:1906 msgid "Start to edit cursor" -msgstr "Början till redigeringsmarkören" +msgstr "Början till redigeringspunkten" #: ../editor.cc:1907 msgid "Edit cursor to end" -msgstr "Redigeringsmarkör till slutet" +msgstr "Redigeringspunkten till slutet" #: ../editor.cc:1909 ../gain_meter.cc:180 ../gain_meter.cc:808 #: ../panner_ui.cc:97 ../panner_ui.cc:802 @@ -2410,6 +2486,11 @@ msgstr "Skapa monoregioner" msgid "Duplicate" msgstr "Duplicera" +#: gtk2_ardour/editor.cc:1600 +msgid "Fill track" +msgstr "Fyll spåret" + + #: ../editor.cc:1919 msgid "Fill Track" msgstr "Fyll spåret" @@ -2440,11 +2521,11 @@ msgstr "Separera omfång till regionlista" #: ../editor.cc:1966 msgid "Select all in range" -msgstr "Välj allt i omfång" +msgstr "Markera allt i omfång" #: gtk2_ardour/editor_markers.cc:515 msgid "Select Range" -msgstr "Välj omfång" +msgstr "Markera omfång" #: ../editor.cc:1968 ../editor.cc:2013 msgid "Set range to loop range" @@ -2484,7 +2565,7 @@ msgstr "Omfång" #: ../editor.cc:1994 ../editor.cc:2079 msgid "Play from edit cursor" -msgstr "Spela från redigeringsmarkören" +msgstr "Spela från redigeringspunkten" #: ../editor.cc:1995 ../editor.cc:2080 msgid "Play from start" @@ -2498,41 +2579,53 @@ msgstr "Spela region" msgid "Loop Region" msgstr "Loopa region" +#: gtk2_ardour/editor.cc:1691 +msgid "Loop region" +msgstr "Loopa region" + +#: gtk2_ardour/editor.cc:1701 +msgid "Select all in track" +msgstr "Markera allt i spåret" + +#: gtk2_ardour/editor.cc:1701 +msgid "Select all in tracks" +msgstr "Markera allt i spåren" + +#: gtk2_ardour/editor.cc:1705 +msgid "Select all" +msgstr "Markera allt" + #: ../editor.cc:2008 ../editor.cc:2089 msgid "Select All in track" -msgstr "Välj allt i spåret" +msgstr "Markera allt i spåret" #: ../editor.cc:2009 ../editor.cc:2090 ../redirect_box.cc:1066 msgid "Select All" -msgstr "Välj allt" +msgstr "Markera allt" #: ../editor.cc:2010 ../editor.cc:2091 msgid "Invert selection in track" msgstr "Invertera i spåret" -#: ../editor.cc:2011 ../editor.cc:2092 -msgid "Invert selection" -msgstr "Invertera" - #: ../editor.cc:2016 ../editor.cc:2094 msgid "Select all after edit cursor" -msgstr "Välj allt efter redigeringsmarkören" +msgstr "Markera allt efter redigeringspunkten" #: ../editor.cc:2017 ../editor.cc:2095 msgid "Select all before edit cursor" -msgstr "Välj allt innan redigeringsmarkören" +msgstr "Markera allt innan redigeringspunkten" #: ../editor.cc:2018 ../editor.cc:2096 msgid "Select all after playhead" -msgstr "Välj allt efter startmarkören" +msgstr "Markera allt efter startmarkören" #: ../editor.cc:2019 ../editor.cc:2097 msgid "Select all before playhead" -msgstr "Välj allt innan startmarkören" +msgstr "Markera allt innan startmarkören" #: ../editor.cc:2020 msgid "Select all between cursors" -msgstr "Välj allt mellan markörerna" +msgstr "Markera allt mellan markörerna" #. standard editing stuff #: ../editor.cc:2031 ../editor.cc:2107 ../editor.cc:3482 @@ -2547,7 +2640,7 @@ msgstr "Kopiera" #: ../editor.cc:2033 msgid "Paste at edit cursor" -msgstr "Klistra in vid redigeringsmarkören" +msgstr "Klistra in vid redigeringspunkten" #: ../editor.cc:2034 msgid "Paste at mouse" @@ -2561,6 +2654,10 @@ msgstr "Justera" msgid "Align Relative" msgstr "Justera relativt" +#: gtk2_ardour/editor.cc:1747 +msgid "Align relative" +msgstr "Justera relativt" + #: ../editor.cc:2043 msgid "Insert chunk" msgstr "Infoga bit" @@ -2575,19 +2672,19 @@ msgstr "Infoga ljudfil" #: ../editor.cc:2060 ../editor.cc:2116 msgid "Nudge entire track fwd" -msgstr "Knuffa hela spåret framåt" +msgstr "Knuffa spåret framåt" #: ../editor.cc:2061 ../editor.cc:2117 msgid "Nudge track after edit cursor fwd" -msgstr "Knuffa spåret framåt efter redigeringsmarkören" +msgstr "Knuffa spåret framåt efter redigeringspunkten" #: ../editor.cc:2062 ../editor.cc:2118 msgid "Nudge entire track bwd" -msgstr "Knuffa hela spåret bakåt" +msgstr "Knuffa spåret bakåt" #: ../editor.cc:2063 ../editor.cc:2119 msgid "Nudge track after edit cursor bwd" -msgstr "Knuffa spåret bakåt efter redigeringsmarkören" +msgstr "Knuffa spåret bakåt efter redigeringspunkten" #: ../editor.cc:2109 ../editor.cc:3486 ../editor_actions.cc:220 #: ../redirect_box.cc:1063 @@ -2596,11 +2693,11 @@ msgstr "Klistra in" #: gtk2_ardour/editor.cc:2608 msgid "Select/Move Objects" -msgstr "Välj/flytta objekt" +msgstr "Markera/flytta objekt" #: gtk2_ardour/editor.cc:2609 msgid "Select/Move Ranges" -msgstr "Välj/flytta omfång" +msgstr "Markera/flytta omfång" #: gtk2_ardour/editor.cc:2610 msgid "Draw Gain Automation" @@ -2608,7 +2705,7 @@ msgstr "Rita volymautomatisering" #: gtk2_ardour/editor.cc:2611 msgid "Select Zoom Range" -msgstr "Välj zoom-omfång" +msgstr "Markera zoom-omfång" #: gtk2_ardour/editor.cc:2612 msgid "Stretch/Shrink Regions" @@ -2618,6 +2715,11 @@ msgstr "Förläng/förkorta regioner" msgid "Listen to Specific Regions" msgstr "Lyssna på specifika regioner" +#: gtk2_ardour/editor.cc:2454 +msgid "Edit MIDI Notes" +msgstr "Redigera MIDI-noter" + + #: ../editor.cc:2745 msgid "Start:" @@ -2706,15 +2808,15 @@ msgstr "rensa spellistor" #: ../editor_actions.cc:27 msgid "Select regions" -msgstr "Välj regioner" +msgstr "Markera regioner" #: ../editor_actions.cc:28 msgid "Select range operations" -msgstr "Välj omfångsåtgärder" +msgstr "Markera omfångsåtgärder" #: ../editor_actions.cc:29 msgid "Move edit cursor" -msgstr "Flytta redigeringsmarkör" +msgstr "Flytta redigeringspunkten" #: ../editor_actions.cc:30 msgid "Region operations" @@ -2819,7 +2921,7 @@ msgstr "Startmarkören till nästa regionslut" #: ../editor_actions.cc:70 msgid "Playhead to Next Region Sync" -msgstr "Startmarkören till nästa regionsynk.-punkt" +msgstr "Startmarkören till nästa regionsynk.-punkten" #: ../editor_actions.cc:73 msgid "Playhead to Previous Region Start" @@ -2835,27 +2937,27 @@ msgstr "Startmarkören till förra regionsynk.-punkten" #: ../editor_actions.cc:80 msgid "Edit Cursor to Next Region Start" -msgstr "Redigeringsmarkören till nästa regionstart" +msgstr "Redigeringspunkten till nästa regionstart" #: ../editor_actions.cc:82 msgid "Edit Cursor to Next Region End" -msgstr "Redigeringsmarkören till nästa regionslut" +msgstr "Redigeringspunkten till nästa regionslut" #: ../editor_actions.cc:84 msgid "Edit Cursor to Next Region Sync" -msgstr "Redigeringsmarkören till nästa regionssynk.-punkt" +msgstr "Redigeringspunkten till nästa regionssynk.-punkt" #: ../editor_actions.cc:87 msgid "Edit Cursor to Previous Region Start" -msgstr "Redigeringsmarkören till förra regionstart" +msgstr "Redigeringspunkten till förra regionstart" #: ../editor_actions.cc:89 msgid "Edit Cursor to Previous Region End" -msgstr "Redigeringsmarkören till förra regionslutet" +msgstr "Redigeringspunkten till förra regionslutet" #: ../editor_actions.cc:91 msgid "Edit Cursor to Previous Region Sync" -msgstr "Redigeringsmarkören till förra regionssynk.-punkten" +msgstr "Redigeringspunkten till förra regionssynk.-punkten" #: ../editor_actions.cc:94 msgid "Playhead to Range Start" @@ -2867,43 +2969,43 @@ msgstr "Startmarkören till omfångslutet" #: ../editor_actions.cc:99 msgid "Edit Cursor to Range Start" -msgstr "Redigeringsmarkören till omfångstarten" +msgstr "Redigeringspunkten till omfångstarten" #: ../editor_actions.cc:101 msgid "Edit Cursor to Range End" -msgstr "Redigeringsmarkören till omfångslutet" +msgstr "Redigeringspunkten till omfångslutet" #: ../editor_actions.cc:104 ../editor_ops.cc:1364 msgid "select all" -msgstr "Välj allt" +msgstr "Markera allt" #: ../editor_actions.cc:106 msgid "Select All After Edit Cursor" -msgstr "Välj allt efter redigeringsmarkören" +msgstr "Markera allt efter redigeringspunkten" #: ../editor_actions.cc:108 msgid "Select All Before Edit Cursor" -msgstr "Välj allt innan redigeringsmarkören" +msgstr "Markera allt innan redigeringspunkten" #: ../editor_actions.cc:111 msgid "Select All After Playhead" -msgstr "Välj allt efter startmarkören" +msgstr "Markera allt efter startmarkören" #: ../editor_actions.cc:113 msgid "Select All Before Playhead" -msgstr "Välj allt innan startmarkören" +msgstr "Markera allt innan startmarkören" #: ../editor_actions.cc:115 msgid "Select All Between Cursors" -msgstr "Välj allt mellan markörerna" +msgstr "Markera allt mellan markörerna" #: ../editor_actions.cc:118 msgid "Select All in Punch Range" -msgstr "Välj allt i inslagsomfånget" +msgstr "Markera allt i inslagsomfånget" #: ../editor_actions.cc:120 msgid "Select All in Loop Range" -msgstr "Välj allt i loop-omfånget" +msgstr "Markera allt i loop-omfånget" #: ../editor_actions.cc:123 msgid "Jump Forward to Mark" @@ -2983,7 +3085,7 @@ msgstr "Centrera startmarkören" #: ../editor_actions.cc:163 msgid "Center Edit Cursor" -msgstr "Centrera redigeringsmarkören" +msgstr "Centrera redigeringspunkten" #: ../editor_actions.cc:165 msgid "Playhead Forward" @@ -2999,11 +3101,11 @@ msgstr "Startmarkören bakåt" #: ../editor_actions.cc:169 msgid "Playhead to Edit" -msgstr "Startmarkören till redigeringsmarkören" +msgstr "Startmarkören till redigeringspunkten" #: ../editor_actions.cc:171 msgid "Edit to Playhead" -msgstr "Redigeringsmarkören till Startmarkören" +msgstr "Redigeringspunkten till Startmarkören" #: ../editor_actions.cc:174 msgid "Align Regions Start" @@ -3039,7 +3141,7 @@ msgstr "Måla vid mus" #: ../editor_actions.cc:192 msgid "Set Edit Cursor" -msgstr "Placera redigeringsmarkör" +msgstr "Placera redigeringspunkten" #: ../editor_actions.cc:194 msgid "Mute/Unmute Region" @@ -3087,8 +3189,12 @@ msgid "Reverse Region" msgstr "Motsatt riktning" #: ../editor_actions.cc:230 -msgid "Normalize Region" -msgstr "Normalisera region" +msgid "Normalize Regions" +msgstr "Normalisera regioner" + +#: gtk2_ardour/editor_actions.cc:257 +msgid "Quantize Regions" +msgstr "Kvantisera regioner" #: ../editor_actions.cc:232 msgid "crop" @@ -3100,7 +3206,7 @@ msgstr "Infoga bit" #: ../editor_actions.cc:237 msgid "Split at edit cursor" -msgstr "Dela vid redigeringsmarkör" +msgstr "Dela vid redigeringspunkten" #: ../editor_actions.cc:240 msgid "Start Range" @@ -3144,7 +3250,7 @@ msgstr "Zoomfokus: startmarkören" #: ../editor_actions.cc:268 msgid "Zoom Focus Edit" -msgstr "Zoomfokus: redigeringsmarkör" +msgstr "Zoomfokus: redigeringspunkten" #: ../editor_actions.cc:274 msgid "Object Tool" @@ -3228,7 +3334,7 @@ msgstr "Fäst mot markörer" #: ../editor_actions.cc:300 msgid "Snap to edit cursor" -msgstr "Fäst mot redigeringsmarkören" +msgstr "Fäst mot redigeringspunkten" #: ../editor_actions.cc:301 msgid "Snap to region start" @@ -3457,7 +3563,7 @@ msgid "" msgstr "" "Det finns ingen markering att exportera.\n" "\n" -"Välj en markering i omfångsläget" +"Markera en markering i omfångsläget" #: ../editor_export_audio.cc:109 msgid "" @@ -3564,7 +3670,7 @@ msgstr "Separera regioner i omfånget" #: ../editor_markers.cc:493 ../editor_markers.cc:542 msgid "Select All in Range" -msgstr "Välj allt i omfånget" +msgstr "Markera allt i omfånget" #: ../editor_markers.cc:519 msgid "Set Loop Range" @@ -3797,7 +3903,7 @@ msgstr "" #: ../editor_ops.cc:1421 msgid "select all within" -msgstr "välj allt inom" +msgstr "markera allt inom" #: ../editor_ops.cc:1453 msgid "set selection from region" @@ -3809,27 +3915,27 @@ msgstr "ställ markering från omfång" #: ../editor_ops.cc:1516 msgid "select all from range" -msgstr "välj allt inom omfång" +msgstr "markera allt inom omfång" #: ../editor_ops.cc:1538 msgid "select all from punch" -msgstr "välj allt från inslag" +msgstr "markera allt från inslag" #: ../editor_ops.cc:1560 msgid "select all from loop" -msgstr "välj allt från loop" +msgstr "markera allt från loop" #: ../editor_ops.cc:1574 msgid "select all after cursor" -msgstr "välj allt efter markör" +msgstr "markera allt efter markör" #: ../editor_ops.cc:1579 msgid "select all before cursor" -msgstr "välj allt före markör" +msgstr "markera allt före markör" #: ../editor_ops.cc:1609 msgid "select all between cursors" -msgstr "välj allt mellan markörerna" +msgstr "markera allt mellan markörerna" #: ../editor_ops.cc:1740 msgid "clear markers" @@ -3889,7 +3995,7 @@ msgstr "Placera redigerinsmarkören på avsedd synk.-punkt" #: ../editor_ops.cc:2532 msgid "set sync from edit cursor" -msgstr "ställ synk. från redigeringsmarkör" +msgstr "ställ synk. från redigeringspunkten" #: ../editor_ops.cc:2544 msgid "remove sync" @@ -4103,7 +4209,7 @@ msgstr "ta bort tempomarkör" #: ../editor_timefx.cc:50 msgid "Quick but Ugly" -msgstr "Snabbt men Fult" +msgstr "Snabbt men fult" #: ../editor_timefx.cc:51 msgid "Skip Anti-aliasing" @@ -4121,6 +4227,10 @@ msgstr "TidsTänjningsDialog" msgid "Stretch/Shrink it" msgstr "Förläng/Förkorta den" +#: gtk2_ardour/editor_timefx.cc:116 +msgid "Stretch/Shrink" +msgstr "Förläng/Förkorta" + #: ../editor_timefx.cc:72 ../editor_timefx.cc:73 msgid "TimeStretchButton" msgstr "TidsTänjningsKnapp" @@ -4594,11 +4704,11 @@ msgstr "" #: ../location_ui.cc:603 msgid "Location (CD Index) Markers" -msgstr "Plats-markörer (CD-Index)" +msgstr "Platsmarkörer (CD-Index)" #: ../location_ui.cc:623 msgid "Range (CD Track) Markers" -msgstr "Omfång-markörer (CD-spår)" +msgstr "Omfångsmarkörer (CD-spår)" #: ../location_ui.cc:789 msgid "add range marker" @@ -4936,7 +5046,7 @@ msgstr "Namn:" #: gtk2_ardour/new_session_dialog.cc:79 msgid "Create Folder In :" -msgstr "Skapa katalog i:" +msgstr "Skapa i:" #: gtk2_ardour/new_session_dialog.cc:72 msgid "Template :" @@ -5139,11 +5249,11 @@ msgstr "frånkopplad" #: ../option_editor.cc:669 msgid "Choose Click" -msgstr "Välj klick" +msgstr "Markera klick" #: ../option_editor.cc:688 msgid "Choose Click Emphasis" -msgstr "Välj klickbetoning" +msgstr "Markera klickbetoning" #: ../option_editor.cc:802 msgid "Click audio file" @@ -5692,7 +5802,7 @@ msgstr "ardour: spår/buss-inspektör" #: ../route_params_ui.cc:698 msgid "No Route Selected" -msgstr "Ingen Rutt Vald" +msgstr "Ingen rutt vald" #: ../route_params_ui.cc:699 msgid "ardour: track/bus/inspector: no route selected" @@ -6086,3 +6196,869 @@ msgstr "stopp" msgid "Logarithmic" msgstr "Logaritmisk" +#: gtk2_ardour/ardour_ui_ed.cc:98 +msgid "Denormal Handling" +msgstr "Denormal-hantering" + +#: gtk2_ardour/ardour_ui_ed.cc:423 +msgid "Use DC bias" +msgstr "Använd DC-bias" + +#: gtk2_ardour/ardour_ui_ed.cc:427 +msgid "No processor handling" +msgstr "Ingen processorhantering" + +#: gtk2_ardour/ardour_ui_ed.cc:429 +msgid "Use FlushToZero" +msgstr "Använd FlushToZero" + +#: gtk2_ardour/ardour_ui_ed.cc:433 +msgid "Use DenormalsAreZero" +msgstr "Använda DenormalsAreZero" + +#: gtk2_ardour/ardour_ui_ed.cc:437 +msgid "Use FlushToZero & DenormalsAreZero" +msgstr "Använd FlushToZero och DenormalsAreZero" + +#: gtk2_ardour/midi_time_axis.cc:181 +msgid "Note range" +msgstr "Notomfång" + +#: gtk2_ardour/midi_time_axis.cc:173 +msgid "Show Full Range" +msgstr "Visa hela omfånget" + +#: gtk2_ardour/midi_time_axis.cc:177 +msgid "Fit Contents" +msgstr "Anpassa innehållet" + + +#: gtk2_ardour/midi_time_axis.cc:163 +msgid "Controller..." +msgstr "Kontrollerare..." + +#: gtk2_ardour/midi_controller_time_axis.cc:65 +msgid "add midi controller automation event" +msgstr "lägg till automatiseringshändelse för midi-kontroller" + +#: gtk2_ardour/ardour_ui_ed.cc:450 +msgid "Disable All Plugins" +msgstr "Avaktivera alla insticksprogram" + +#: gtk2_ardour/ardour_ui_ed.cc:452 +msgid "A/B All Plugins" +msgstr "A/B:a alla insticksprogram" + +#: gtk2_ardour/engine_dialog.cc:46 +msgid "Realtime" +msgstr "Realtid" + +#: gtk2_ardour/engine_dialog.cc:47 +msgid "Do not lock memory" +msgstr "Lås ej minnet" + +#: gtk2_ardour/engine_dialog.cc:48 +msgid "Unlock memory" +msgstr "Frigör minnet" + +#: gtk2_ardour/engine_dialog.cc:49 +msgid "No zombies" +msgstr "Inga zombies" + +#: gtk2_ardour/engine_dialog.cc:50 +msgid "Provide monitor ports" +msgstr "Skapa medhörningsportar" + +#: gtk2_ardour/engine_dialog.cc:51 +msgid "Force 16 bit" +msgstr "Tvinga 16 bit" + +#: gtk2_ardour/engine_dialog.cc:52 +msgid "H/W monitoring" +msgstr "Hårdvarumedhörning" + +#: gtk2_ardour/engine_dialog.cc:53 +msgid "H/W metering" +msgstr "Hårdvarunivåmätning" + +#: gtk2_ardour/engine_dialog.cc:54 +msgid "Verbose output" +msgstr "Utförlig information" + +#: gtk2_ardour/engine_dialog.cc:55 +msgid "Start" +msgstr "" + +#: gtk2_ardour/engine_dialog.cc:74 +msgid "8000Hz" +msgstr "" + +#: gtk2_ardour/engine_dialog.cc:75 +msgid "22050Hz" +msgstr "" + +#: gtk2_ardour/engine_dialog.cc:76 +msgid "44100Hz" +msgstr "" + +#: gtk2_ardour/engine_dialog.cc:77 +msgid "48000Hz" +msgstr "" + +#: gtk2_ardour/engine_dialog.cc:78 +msgid "88200Hz" +msgstr "" + +#: gtk2_ardour/engine_dialog.cc:79 +msgid "96000Hz" +msgstr "" + +#: gtk2_ardour/engine_dialog.cc:80 +msgid "192000Hz" +msgstr "" + + +#: gtk2_ardour/engine_dialog.cc:129 gtk2_ardour/engine_dialog.cc:435 +#: gtk2_ardour/engine_dialog.cc:824 +msgid "Playback/Recording on 1 Device" +msgstr "Upp-/inspelning på 1 enhet" + +#: gtk2_ardour/engine_dialog.cc:130 gtk2_ardour/engine_dialog.cc:439 +#: gtk2_ardour/engine_dialog.cc:464 gtk2_ardour/engine_dialog.cc:827 +msgid "Playback/Recording on 2 Devices" +msgstr "Upp-/inspelning på 2 enheter" + +#: gtk2_ardour/engine_dialog.cc:131 gtk2_ardour/engine_dialog.cc:446 +#: gtk2_ardour/engine_dialog.cc:830 +msgid "Playback only" +msgstr "Uppspelning endast" + +#: gtk2_ardour/engine_dialog.cc:132 gtk2_ardour/engine_dialog.cc:448 +#: gtk2_ardour/engine_dialog.cc:832 +msgid "Recording only" +msgstr "Inspelning endast" + +#: gtk2_ardour/engine_dialog.cc:141 +msgid "Driver" +msgstr "Drivrutin" + +#: gtk2_ardour/engine_dialog.cc:146 +msgid "Interface" +msgstr "Enhet" + +#: gtk2_ardour/engine_dialog.cc:162 +msgid "Number of buffers" +msgstr "Antal buffertar" + +#: gtk2_ardour/engine_dialog.cc:169 +msgid "Approximate latency" +msgstr "Ungefärlig fördröjning" + +#: gtk2_ardour/engine_dialog.cc:183 +msgid "Audio Mode" +msgstr "Audio-läge" + +#: gtk2_ardour/engine_dialog.cc:222 +msgid "Realtime Priority" +msgstr "Realtidsprioritering" + +#: gtk2_ardour/engine_dialog.cc:251 gtk2_ardour/engine_dialog.cc:374 +msgid "Ignore" +msgstr "Ignorera" + +#: gtk2_ardour/engine_dialog.cc:259 +msgid "Client timeout" +msgstr "Klient-timeout" + +#: gtk2_ardour/engine_dialog.cc:265 +msgid "Number of ports" +msgstr "Antal portar" + +#: gtk2_ardour/engine_dialog.cc:272 +msgid "Dither" +msgstr "" + +#: gtk2_ardour/engine_dialog.cc:282 +msgid "" +"No JACK server found anywhere on this system. Please install JACK and restart" +msgstr "" +"Ingen JACK-server hittades. Installera JACK och starta om" + +#: gtk2_ardour/engine_dialog.cc:290 +msgid "Server:" +msgstr "" + +#: gtk2_ardour/engine_dialog.cc:303 +msgid "Input device" +msgstr "Inljudsenhet" + +#: gtk2_ardour/engine_dialog.cc:308 +msgid "Output device" +msgstr "Utljudsenhet" + +#: gtk2_ardour/engine_dialog.cc:314 +msgid "Input channels" +msgstr "Ingångar" + +#: gtk2_ardour/engine_dialog.cc:319 +msgid "Output channels" +msgstr "Utgångar" + +#: gtk2_ardour/engine_dialog.cc:324 +msgid "Hardware input latency (samples)" +msgstr "Hårdvarans ingångsfördröjning (smpl)" + +#: gtk2_ardour/engine_dialog.cc:329 +msgid "Hardware output latency (samples)" +msgstr "Hårdvarans utgångsfördröjning (smpl)" + +#: gtk2_ardour/engine_dialog.cc:342 +msgid "Device" +msgstr "Enhet" + +#: gtk2_ardour/engine_dialog.cc:344 +msgid "Advanced" +msgstr "Avancerat" + +#: gtk2_ardour/engine_dialog.cc:537 +msgid "cannot open JACK rc file %1 to store parameters" +msgstr "kan ej öppna JACKs rc-fil %1 för att lagra parametrar" + +#: gtk2_ardour/engine_dialog.cc:559 +msgid "could not start JACK server: " +msgstr "kunde inte starta JACK-servern:" + +#: gtk2_ardour/engine_dialog.cc:863 +msgid "JACK appears to be missing from the Ardour bundle" +msgstr "JACK tycks saknas från Ardours bundle" + +#: gtk2_ardour/engine_dialog.cc:1047 +msgid "AudioSetup value for %1 is missing data" +msgstr "AudioSetup-värde för %1 saknar data" + +#: gtk2_ardour/engine_dialog.cc:1127 +msgid "configuration files contain a JACK server path that doesn't exist (%1)" +msgstr "konfigurationsfilerna anger en JACK-serversökväg som inte existerar" + +#: gtk2_ardour/engine_dialog.cc:101 gtk2_ardour/engine_dialog.cc:484 +msgid "Shaped" +msgstr "Formad" + +#: gtk2_ardour/ardour_ui_ed.cc:300 +msgid "Focus On Clock" +msgstr "Fokus på klockan" + +#: gtk2_ardour/editor_markers.cc:467 +#msgid "Locate to Mark" +#msgstr "Flytta startmarkören till platsmarkör" + +#: gtk2_ardour/editor_actions.cc:295 +msgid "Separate" +msgstr "Separera" + +#: gtk2_ardour/editor_actions.cc:297 gtk2_ardour/editor_actions.cc:320 +msgid "Crop" +msgstr "Beskär" + +#: gtk2_ardour/editor_actions.cc:302 gtk2_ardour/redirect_box.cc:1208 +#: gtk2_ardour/connection_editor.cc:55 +#msgid "Delete" +#msgstr "Radera" + +#: gtk2_ardour/editor_actions.cc:51 +msgid "Move Selected Marker" +msgstr "Flytta vald platsmarkör" + +#: gtk2_ardour/editor_actions.cc:106 +msgid "to Next Region Start" +msgstr "till nästa regions början" + +#: gtk2_ardour/editor_actions.cc:108 +msgid "to Next Region End" +msgstr "till nästa regions slut" + +#: gtk2_ardour/editor_actions.cc:110 +msgid "to Next Region Sync" +msgstr "till nästa regions synk.-punkt" + +#: gtk2_ardour/editor_actions.cc:113 +msgid "to Previous Region Start" +msgstr "till förra regionens början" + +#: gtk2_ardour/editor_actions.cc:115 +msgid "to Previous Region End" +msgstr "till förra regionens slut" + +#: gtk2_ardour/editor_actions.cc:117 +msgid "to Previous Region Sync" +msgstr "till förra regionens synk.-punkt" + +#: gtk2_ardour/editor_actions.cc:120 +msgid "to Range Start" +msgstr "till omfångsmarkeringens början" + +#: gtk2_ardour/editor_actions.cc:122 +msgid "to Range End" +msgstr "till omfångsmarkeringens slut" + +#: gtk2_ardour/editor_actions.cc:223 +msgid "Center Edit Point" +msgstr "Redigeringspunktens mitt" + +#: gtk2_ardour/editor_actions.cc:278 +msgid "Set Edit Point" +msgstr "Markera redigeringspunkten" + +#: gtk2_ardour/editor_actions.cc:375 +msgid "Change edit point" +msgstr "Ändra redigeringspunkten" + +#: gtk2_ardour/editor_actions.cc:379 +msgid "Toggle Edit Mode" +msgstr "Skifta redigeringsläge" + +#: gtk2_ardour/editor.cc:1949 gtk2_ardour/editor_actions.cc:150 +msgid "Select Range Between Playhead & Edit Point" +msgstr "Markera omfång mellan startmarkör & redigeringspunkten" + +#: gtk2_ardour/editor_actions.cc:134 +msgid "Invert Selection" +msgstr "Invertera" + +#: gtk2_ardour/editor.cc:1943 gtk2_ardour/editor_actions.cc:136 +msgid "Select All After Edit Point" +msgstr "Markera allt efter redigeringspunkten" + +#: gtk2_ardour/editor.cc:1944 gtk2_ardour/editor_actions.cc:138 +msgid "Select All Before Edit Point" +msgstr "Markera allt innan redigeringspunkten" + +#: gtk2_ardour/editor.cc:1945 gtk2_ardour/editor_actions.cc:141 +#msgid "Select All After Playhead" +#msgstr "Markera allt efter startmarkören" + +#: gtk2_ardour/editor.cc:1946 gtk2_ardour/editor_actions.cc:143 +#msgid "Select All Before Playhead" +#msgstr "Markera allt efter startmarkören" + +#: gtk2_ardour/editor.cc:1947 gtk2_ardour/editor_actions.cc:145 +msgid "Select All Between Playhead & Edit Point" +msgstr "Markera allt mellan startmarkör & redigeringspunkten" + +#: gtk2_ardour/editor.cc:1948 gtk2_ardour/editor_actions.cc:147 +msgid "Select All Within Playhead & Edit Point" +msgstr "Markera allt inom startmarkör & redigeringspunkten" + +#: gtk2_ardour/editor.cc:1949 gtk2_ardour/editor_actions.cc:150 +#msgid "Select Range Between Playhead & Edit Point" +#msgstr "Markera omfång mellan startmarkör & redigeringspunkten" + +#: gtk2_ardour/editor_actions.cc:310 +msgid "Multi-Duplicate Region" +msgstr "Multiduplicera region" + + +#: gtk2_ardour/editor_actions.cc:318 +msgid "Normalize Region" +msgstr "Normalisera region" + +#: gtk2_ardour/editor_actions.cc:236 +msgid "Trim front at edit point" +msgstr "Beskär början vid redingeringspunkt" + +#: gtk2_ardour/editor_actions.cc:238 +msgid "Trim back at edit point" +msgstr "Beskär slutet vid redingerspunkt" + +#: gtk2_ardour/editor.cc:1830 gtk2_ardour/editor_actions.cc:241 +msgid "Start to edit point" +msgstr "Början till redigeringspunkten" + +#: gtk2_ardour/editor.cc:1831 gtk2_ardour/editor_actions.cc:243 +msgid "Edit point to end" +msgstr "Redigeringspunkt till slutet" + +#: gtk2_ardour/editor.cc:1832 gtk2_ardour/editor_actions.cc:245 +msgid "Trim To Loop" +msgstr "Beskär till loop" + +#: gtk2_ardour/editor.cc:1833 gtk2_ardour/editor_actions.cc:247 +msgid "Trim To Punch" +msgstr "Beskär till in-/utslag" + +#: gtk2_ardour/ardour_ui_ed.cc:413 +msgid "Sync Editor and Mixer track order" +msgstr "Matcha Redigerare och Mixers spårordning" + + +#: gtk2_ardour/ardour_ui_ed.cc:212 +msgid "Keybindings" +msgstr "Kortkommandon" + +#: gtk2_ardour/keyeditor.cc:21 +msgid "Keybinding Editor" +msgstr "Kortkommandon" + +#: gtk2_ardour/keyeditor.cc:29 +msgid "Action" +msgstr "Händelse" + +#: gtk2_ardour/keyeditor.cc:30 +msgid "Binding" +msgstr "Bindning" + +#: gtk2_ardour/ardour_ui_ed.cc:422 +msgid "Primary Clock delta to edit point" +msgstr "Primär klock-delta till redigeringspunkten" + +#: gtk2_ardour/ardour_ui_ed.cc:423 +msgid "Secondary Clock delta to edit point" +msgstr "Sekundär klock-delta till redigeringspunkta" + +#: gtk2_ardour/ardour_ui_ed.cc:424 +msgid "Enable Editor Meters" +msgstr "Sätt på nivåmätare i redigeraren" + +#: gtk2_ardour/ardour_ui_ed.cc:425 +msgid "Always copy imported files" +msgstr "Kopiera alltid importerade filer" + +#: gtk2_ardour/ardour_ui_ed.cc:201 gtk2_ardour/option_editor.cc:117 +msgid "Preferences" +msgstr "Inställningar" + +#: gtk2_ardour/option_editor.cc:84 +msgid "Timecode source is sample-clock synced" +msgstr "Tidskodens källa är samplingsklocka-synkad" + +#: gtk2_ardour/option_editor.cc:149 +msgid "Misc" +msgstr "Diverse" + +#: gtk2_ardour/option_editor.cc:77 +msgid "Limit undo history" +msgstr "Begränsa ångrahistoriken" + +#: gtk2_ardour/option_editor.cc:78 +msgid "Save undo history" +msgstr "Spara ångrahistorik" + +#: gtk2_ardour/option_editor.cc:288 +msgid "History depth (commands)" +msgstr "Historikdjup (kommandon)" + +#: gtk2_ardour/option_editor.cc:309 +msgid "Saved history depth (commands)" +msgstr "Sparad historiks djup (kommando)" + +#: gtk2_ardour/new_session_dialog.cc:460 +msgid "Audio Setup" +msgstr "Ljudinställningar" + +#: gtk2_ardour/editor.cc:131 gtk2_ardour/editor.cc:3237 +#: gtk2_ardour/editor_actions.cc:401 +msgid "No Grid" +msgstr "Inget rutnät" + +#: gtk2_ardour/editor.cc:132 gtk2_ardour/editor.cc:3239 +#: gtk2_ardour/editor_actions.cc:402 +msgid "Grid" +msgstr "Rutnät" + +#: gtk2_ardour/editor.cc:140 gtk2_ardour/editor.cc:149 +#: gtk2_ardour/editor.cc:3307 gtk2_ardour/editor_actions.cc:387 +msgid "Mouse" +msgstr "Mus" + +#: gtk2_ardour/editor.cc:2734 +msgid "Zoom focus" +msgstr "Zoom-fokus" + +#: gtk2_ardour/editor.cc:2748 +msgid "Snap/Grid Units" +msgstr "Fästläge/rutnätsenheter" + +#: gtk2_ardour/editor.cc:2754 +msgid "Snap/Grid Mode" +msgstr "Fästläge/rutnätsläge" + +#: gtk2_ardour/editor.cc:2760 +msgid "Edit point" +msgstr "redigeringspunkten" + +#: gtk2_ardour/ardour_ui2.cc:347 +msgid "" +"When active, something is soloed.\n" +"Click to de-solo everything" +msgstr "" +"I aktivt läge är valda kanaler i sololäge.\n" +"Klicka för att stänga av" + +#: gtk2_ardour/ardour_ui2.cc:348 +msgid "" +"When active, auditioning is taking place\n" +"Click to stop the audition" +msgstr "" +"I aktivt läge avlyssnas något\n" +"Klicka för att stoppa avlyssningen" + +#: gtk2_ardour/editor.cc:1846 +msgid "Multi-Duplicate" +msgstr "Multiduplicera" + +#: gtk2_ardour/editor.cc:186 gtk2_ardour/editor_rulers.cc:430 +msgid "CD Markers" +msgstr "CD-markörer" + +#: gtk2_ardour/editor.cc:1939 gtk2_ardour/editor.cc:2022 +msgid "Invert selection" +msgstr "Invertera markeringen" + +#: gtk2_ardour/editor.cc:1991 gtk2_ardour/editor.cc:2047 +msgid "Nudge track after edit point fwd" +msgstr "Knuffa spåret framåt efter redigeringspunkten" + +#: gtk2_ardour/editor.cc:1993 gtk2_ardour/editor.cc:2049 +msgid "Nudge track after edit point bwd" +msgstr "Knuffa spåret bakåt efter redigeringspunkten" + +#: gtk2_ardour/ardour_ui.cc:2082 +msgid "Starting audio engine" +msgstr "Startar ljudsystemet" + +#: gtk2_ardour/ardour_ui.cc:2352 +msgid "Please wait while Ardour loads your session" +msgstr "Vänta medan Ardour laddar din session" + +#: gtk2_ardour/editor_ops.cc:2170 +msgid "Rename Region" +msgstr "Byt namn på region" + +#: gtk2_ardour/editor_ops.cc:2174 +msgid "New name:" +msgstr "Nytt namn:" + + +#: gtk2_ardour/editor_actions.cc:226 gtk2_ardour/editor_actions.cc:228 +msgid "to Center" +msgstr "Startmarkören till mitten" + +#: gtk2_ardour/editor_actions.cc:236 +msgid "to Edit" +msgstr "Startmarkören till redigeringspunkten" + +#: gtk2_ardour/editor_actions.cc:241 +msgid "Trim start at edit point" +msgstr "Beskär början vid redigeringspunkten" + +#: gtk2_ardour/editor_actions.cc:243 +msgid "Trim end at edit point" +msgstr "Beskär slutet vid redigeringspunkten" + +#: gtk2_ardour/editor_actions.cc:169 +msgid "Locate to Mark 1" +msgstr "Hoppa till markör 1" + +#: gtk2_ardour/editor_actions.cc:171 +msgid "Locate to Mark 2" +msgstr "Hoppa till markör 2" + +#: gtk2_ardour/editor_actions.cc:173 +msgid "Locate to Mark 3" +msgstr "Hoppa till markör 3" + +#: gtk2_ardour/editor_actions.cc:175 +msgid "Locate to Mark 4" +msgstr "Hoppa till markör 4" + +#: gtk2_ardour/editor_actions.cc:177 +msgid "Locate to Mark 5" +msgstr "Hoppa till markör 5" + +#: gtk2_ardour/editor_actions.cc:179 +msgid "Locate to Mark 6" +msgstr "Hoppa till markör 6" + +#: gtk2_ardour/editor_actions.cc:181 +msgid "Locate to Mark 7" +msgstr "Hoppa till markör 7" + +#: gtk2_ardour/editor_actions.cc:183 +msgid "Locate to Mark 8" +msgstr "Hoppa till markör 8" + +#: gtk2_ardour/editor_actions.cc:185 +msgid "Locate to Mark 9" +msgstr "Hoppa till markör 9" + +#: gtk2_ardour/audio_clock.cc:1888 gtk2_ardour/editor.cc:180 +#: gtk2_ardour/editor_rulers.cc:390 +msgid "Samples" +msgstr "Samplingar" + +#: gtk2_ardour/editor.cc:1924 gtk2_ardour/editor.cc:2011 +msgid "Play from edit point" +msgstr "Spela från redigeringspunkten" + +#: gtk2_ardour/editor_actions.cc:70 +msgid "Link Region/Track Selection" +msgstr "Lås region/spår-markeringen" + +#: gtk2_ardour/sfdb_ui.cc:425 +msgid "Browse Files" +msgstr "Bläddra" + +#: gtk2_ardour/sfdb_ui.cc:426 +msgid "Search Tags" +msgstr "Sök taggar" + +#: gtk2_ardour/sfdb_ui.cc:434 +msgid "Audio files" +msgstr "Ljudfiler" + +#: gtk2_ardour/sfdb_ui.cc:437 +msgid "All files" +msgstr "Alla filer" + +#: gtk2_ardour/sfdb_ui.cc:1002 +msgid "Add files:" +msgstr "Lägg till:" + +#: gtk2_ardour/sfdb_ui.cc:1024 +msgid "Insert:" +msgstr "Infoga:" + +#: gtk2_ardour/sfdb_ui.cc:1037 +msgid "Mapping:" +msgstr "Lägg som:" + +#: gtk2_ardour/sfdb_ui.cc:1055 +msgid "Conversion Quality:" +msgstr "Konverteringskvalitet:" + +#: gtk2_ardour/sfdb_ui.cc:91 gtk2_ardour/sfdb_ui.cc:100 +msgid "as new tracks" +msgstr "som nya spår" + +#: gtk2_ardour/sfdb_ui.cc:93 +msgid "to selected tracks" +msgstr "till valda spår" + +#: gtk2_ardour/sfdb_ui.cc:95 +msgid "to region list" +msgstr "till regionslistan" + +#: gtk2_ardour/sfdb_ui.cc:97 +msgid "as new tape tracks" +msgstr "som nya bandspår" + +#: gtk2_ardour/sfdb_ui.cc:109 +msgid "Auto-play" +msgstr "Spela automatiskt" + +#: gtk2_ardour/sfdb_ui.cc:994 gtk2_ardour/sfdb_ui.cc:1129 +msgid "use file timestamp" +msgstr "använd timestamp i filen" + +#: gtk2_ardour/sfdb_ui.cc:995 gtk2_ardour/sfdb_ui.cc:1131 +msgid "at edit point" +msgstr "vid redigeringspunkten" + +#: gtk2_ardour/sfdb_ui.cc:996 gtk2_ardour/sfdb_ui.cc:1133 +msgid "at playhead" +msgstr "vid startmarkören" + +#: gtk2_ardour/sfdb_ui.cc:997 +msgid "at session start" +msgstr "vid början" + +#: gtk2_ardour/sfdb_ui.cc:118 gtk2_ardour/sfdb_ui.cc:228 +msgid "<b>Soundfile Info</b>" +msgstr "<b>Information</b>" + +#: gtk2_ardour/sfdb_ui.cc:129 +msgid "Length:" +msgstr "Längd:" + +#: gtk2_ardour/sfdb_ui.cc:130 +msgid "Timestamp:" +msgstr "" + +#: gtk2_ardour/sfdb_ui.cc:131 +msgid "Format:" +msgstr "" + +#: gtk2_ardour/sfdb_ui.cc:132 +msgid "Channels:" +msgstr "Kanaler:" + +#: gtk2_ardour/sfdb_ui.cc:133 gtk2_ardour/sfdb_ui.cc:248 +#: gtk2_ardour/sfdb_ui.cc:253 +msgid "Sample rate:" +msgstr "Samplingsfrekvens:" + +#: gtk2_ardour/sfdb_ui.cc:165 +msgid "Tags:" +msgstr "Taggar:" + +#: gtk2_ardour/sfdb_ui.cc:175 +msgid "Play (double click)" +msgstr "Spela (dblklicka)" + +#: gtk2_ardour/sfdb_ui.cc:847 +msgid "" +"One or more of the selected files\n" +"cannot be used by Ardour" +msgstr "" +"En eller flera filer kunde\n" +"inte användas av Ardour" + +#: gtk2_ardour/sfdb_ui.cc:978 +msgid "Copy files to session" +msgstr "Kopiera filer till sessionen" + +#: gtk2_ardour/keyeditor.cc:28 +msgid "Remove shortcut" +msgstr "Ta bort kortkommando" + +#: gtk2_ardour/keyeditor.cc:39 +msgid "Shortcut" +msgstr "Kortkommando" + +#: gtk2_ardour/keyeditor.cc:27 +msgid "Shortcut Editor" +msgstr "Kortkommandon" + +#: gtk2_ardour/editor_actions.cc:262 +msgid "Set Loop From Edit Range" +msgstr "Sätt loop från redigeringsomfång" + +#: gtk2_ardour/editor_actions.cc:264 +msgid "Set Loop From Region" +msgstr "Sätt loop från region" + +#: gtk2_ardour/editor_actions.cc:268 +msgid "Set Punch From Edit Range" +msgstr "Sätt inslag från redigeringsomfång" + +#: gtk2_ardour/editor_actions.cc:298 +msgid "Play From Edit Point" +msgstr "Spela från redigeringspunkten" + +#: gtk2_ardour/editor_actions.cc:300 +msgid "Play from Edit Point & Return" +msgstr "Spela från redigeringspunkten & återvänd" + +#: gtk2_ardour/editor_actions.cc:303 +msgid "Play Edit Range" +msgstr "Spela redigeringsomfånget" + +#: gtk2_ardour/editor_actions.cc:89 +msgid "Playhead to Next Region Boundary" +msgstr "Startmarkören till nästa regiongränsen" + +#: gtk2_ardour/editor_actions.cc:91 +msgid "Playhead to Previous Region Boundary" +msgstr "Startmarkören till förra regiongränsen" + +#: gtk2_ardour/editor_actions.cc:245 +msgid "to Playhead" +msgstr "till startmarkören" + +#: gtk2_ardour/editor_actions.cc:304 +msgid "Play Selected Region(s)" +msgstr "Spela valda regioner" + +#: gtk2_ardour/editor_actions.cc:411 +msgid "Change edit point (w/Marker)" +msgstr "Ändra redigeringspunkten (med platsmarkör)" + +#: gtk2_ardour/editor_actions.cc:277 +msgid "Toggle Fade In Active" +msgstr "Intoning av/på" + +#: gtk2_ardour/editor_actions.cc:275 +msgid "Set Fade In Length" +msgstr "Välj intoningslängd" + +#: gtk2_ardour/editor_actions.cc:279 +msgid "Set Fade Out Length" +msgstr "Välj uttoningslängd" + +#: gtk2_ardour/editor_actions.cc:281 +msgid "Toggle Fade Out Active" +msgstr "Uttoning av/på" + +#: gtk2_ardour/editor_actions.cc:165 +msgid "Select Next Track/Bus" +msgstr "Välj nästa spår/buss" + +#: gtk2_ardour/editor_actions.cc:167 +msgid "Select Previous Track/Bus" +msgstr "Välj tidigare spår/buss" + +#: gtk2_ardour/editor_actions.cc:272 +msgid "Transpose" +msgstr "Transponera" + +#: gtk2_ardour/editor_actions.cc:215 +msgid "Toggle Zoom State" +msgstr "Växla zoomtillstånd" + +#: gtk2_ardour/editor_actions.cc:213 +msgid "Zoom to Region" +msgstr "Zooma till region" + +#: gtk2_ardour/editor_timefx.cc:72 +msgid "Pitch Shift" +msgstr "Tonhöjdsändring" + +#: gtk2_ardour/editor_timefx.cc:92 +msgid "Octaves" +msgstr "Oktaver" + +#: gtk2_ardour/editor_timefx.cc:96 +msgid "Semitones (12TET)" +msgstr "Halvtoner (12TET)" + +#: gtk2_ardour/editor_timefx.cc:100 +msgid "Cents" +msgstr "Cent" + +#: gtk2_ardour/editor_timefx.cc:106 +msgid "Shift" +msgstr "Ändra" + +#: gtk2_ardour/ardour_ui_ed.cc:803 +msgid "Clock" +msgstr "Klocka" + +#: gtk2_ardour/editor.cc:150 gtk2_ardour/editor.cc:3312 +msgid "Edit Point" +msgstr "Redigeringspunkten" + + +#: gtk2_ardour/ardour_ui_ed.cc:271 +msgid "Start Recording" +msgstr "Börja inspelning" + +#: gtk2_ardour/ardour_ui_ed.cc:428 +msgid "Use narrow mixer strips" +msgstr "Använd smala mixerremsor" + +#: gtk2_ardour/sfdb_ui.cc:766 gtk2_ardour/sfdb_ui.cc:1049 +#: gtk2_ardour/sfdb_ui.cc:1091 +msgid "one track per file" +msgstr "ett spår per fil" + +#: gtk2_ardour/sfdb_ui.cc:1067 gtk2_ardour/sfdb_ui.cc:1145 +msgid "Best" +msgstr "Bäst" + +#: gtk2_ardour/sfdb_ui.cc:1068 gtk2_ardour/sfdb_ui.cc:1147 +msgid "Good" +msgstr "Bra" + +#: gtk2_ardour/sfdb_ui.cc:1069 gtk2_ardour/sfdb_ui.cc:1149 +msgid "Quick" +msgstr "Snabb" diff --git a/gtk2_ardour/tempo_dialog.cc b/gtk2_ardour/tempo_dialog.cc index 61adb7c0fe..9d5ba926c5 100644 --- a/gtk2_ardour/tempo_dialog.cc +++ b/gtk2_ardour/tempo_dialog.cc @@ -34,10 +34,10 @@ using namespace PBD; TempoDialog::TempoDialog (TempoMap& map, nframes_t frame, const string & action) : ArdourDialog (_("edit tempo")), - note_frame (_("BPM denominator")), bpm_adjustment (60.0, 1.0, 999.9, 0.1, 1.0, 1.0), bpm_spinner (bpm_adjustment), bpm_frame (_("Beats per minute")), + note_frame (_("BPM denominator")), ok_button (action), cancel_button (_("Cancel")), when_bar_label (_("Bar")), diff --git a/gtk2_ardour/tempo_dialog.h b/gtk2_ardour/tempo_dialog.h index a92f26f8e3..47baa0cd42 100644 --- a/gtk2_ardour/tempo_dialog.h +++ b/gtk2_ardour/tempo_dialog.h @@ -39,10 +39,10 @@ struct TempoDialog : public ArdourDialog { Gtk::ComboBoxText note_types; vector<string> strings; - Gtk::Frame note_frame; Gtk::Adjustment bpm_adjustment; Gtk::SpinButton bpm_spinner; Gtk::Frame bpm_frame; + Gtk::Frame note_frame; Gtk::VBox vpacker; Gtk::Button ok_button; Gtk::Button cancel_button; diff --git a/gtk2_ardour/theme_manager.cc b/gtk2_ardour/theme_manager.cc index 2de1e2b653..d7b4c99f92 100644 --- a/gtk2_ardour/theme_manager.cc +++ b/gtk2_ardour/theme_manager.cc @@ -199,7 +199,7 @@ load_rc_file (const string& filename, bool themechange) return; } - info << "Loading ui configuration file " << rc_file_path.to_string() << endmsg; + cerr << "Loading ui configuration file " << rc_file_path.to_string() << endmsg; Gtkmm2ext::UI::instance()->load_rcfile (rc_file_path.to_string(), themechange); } |