diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2008-12-12 14:43:24 +0000 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2008-12-12 14:43:24 +0000 |
commit | bc89fe0147c04b67141936d109c00dfd4d69cc4b (patch) | |
tree | 544ff450c40fe1f43853a8420228a26f27f1eafb /gtk2_ardour | |
parent | 30daaebaa2d90d6b0e8673143ccc3cacd7bd1753 (diff) |
most of the 2.X->3.0 commit (up to rev 4299) except for gtk2_ardour/editor_canvas.cc; builds and runs and does a few specific things but expect it to be buggy for a while yet
git-svn-id: svn://localhost/ardour2/branches/3.0@4313 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'gtk2_ardour')
95 files changed, 15531 insertions, 7189 deletions
diff --git a/gtk2_ardour/SAE-de-keypad.bindings.in b/gtk2_ardour/SAE-de-keypad.bindings.in new file mode 100644 index 0000000000..e8e3e1b338 --- /dev/null +++ b/gtk2_ardour/SAE-de-keypad.bindings.in @@ -0,0 +1,214 @@ +; ardour-2.2 GtkAccelMap rc-file -*- scheme -*- +; this file is a hand-edited map that is processed by scons +; to produce a real accelmap. +; + +;; punctuation +(gtk_accel_path "<Actions>/Editor/center-playhead" "Escape") +(gtk_accel_path "<Actions>/Transport/ToggleRoll" "space") +(gtk_accel_path "<Actions>/Transport/ToggleRollForgetCapture" "<%PRIMARY%>period") +(gtk_accel_path "<Actions>/Transport/record-roll" "<%PRIMARY%>space") + +(gtk_accel_path "<Actions>/Common/ToggleOptionsEditor" "<%PRIMARY%>,") + +(gtk_accel_path "<Actions>/Editor/align-regions-end" "<%PRIMARY%><%SECONDARY%>less") +(gtk_accel_path "<Actions>/Editor/align-regions-end-relative" "<%PRIMARY%>less") +(gtk_accel_path "<Actions>/Editor/align-regions-start" "<%LEVEL4%><%SECONDARY%>less") +(gtk_accel_path "<Actions>/Editor/align-regions-start-relative" "<%LEVEL4%>less") +(gtk_accel_path "<Actions>/Editor/align-regions-sync" "<%SECONDARY%>less") +(gtk_accel_path "<Actions>/Editor/align-regions-sync-relative" "less") + +; (gtk_accel_path "<Actions>/Editor/edit-cursor-to-next-region-sync" "semicolon") +; (gtk_accel_path "<Actions>/Editor/edit-cursor-to-previous-region-sync" "apostrophe") +(gtk_accel_path "<Actions>/Editor/cycle-edit-point" "asciicircum") +(gtk_accel_path "<Actions>/Editor/cycle-edit-point-with-marker" "<%SECONDARY%>asciicircum") + +(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>/Editor/trim-from-start" "<%TERTIARY%>braceleft") +(gtk_accel_path "<Actions>/Editor/trim-to-end" "<%TERTIARY%>braceright") + +(gtk_accel_path "<Actions>/Editor/play-from-edit-point-and-return" "<%LEVEL4%>space") +(gtk_accel_path "<Actions>/Editor/play-edit-range" "<%SECONDARY%>space") + +;; letters + +;; OBERE ZEILE + +(gtk_accel_path "<Actions>/Editor/set-fade-in-length" "q") +(gtk_accel_path "<Actions>/Common/Quit" "<%PRIMARY%>q") +(gtk_accel_path "<Actions>/Editor/toggle-fade-in-active" "<%SECONDARY%>q") +(gtk_accel_path "<Actions>/Editor/set-playhead" "w") +;; note that ctrl-w is special and consumed by the keyboard snooper + + +(gtk_accel_path "<Actions>/Main/Close" "<%PRIMARY%>w") +(gtk_accel_path "<Actions>/Editor/set-fade-out-length" "e") +(gtk_accel_path "<Actions>/Main/ExportSession" "<%PRIMARY%>e") +(gtk_accel_path "<Actions>/Editor/toggle-fade-out-active" "<%SECONDARY%>e") +(gtk_accel_path "<Actions>/Editor/export-region" "<%PRIMARY%><%TERTIARY%>e") +(gtk_accel_path "<Actions>/Editor/show-editor-mixer" "<%TERTIARY%>e") +; (gtk_accel_path "<Actions>/Common/goto-editor" "<%SECONDARY%>e") +(gtk_accel_path "<Actions>/Editor/redo" "<%PRIMARY%><%TERTIARY%>z") +(gtk_accel_path "<Actions>/Transport/Record" "<%TERTIARY%>r") +(gtk_accel_path "<Actions>/Editor/temporal-zoom-out" "r") +(gtk_accel_path "<Actions>/Transport/Record" "<%TERTIARY%>r") +(gtk_accel_path "<Actions>/Editor/reverse-region" "<%LEVEL4%>r") +(gtk_accel_path "<Actions>/Editor/temporal-zoom-in" "t") +(gtk_accel_path "<Actions>/Common/ToggleThemeManager" "<%WINDOW%>t") +(gtk_accel_path "<Actions>/Editor/pitch-shift-region" "<%LEVEL4%>t") +(gtk_accel_path "<Actions>/Editor/split-region" "y") +(gtk_accel_path "<Actions>/Editor/set-region-sync-position" "u") +(gtk_accel_path "<Actions>/Editor/insert-region" "i") +(gtk_accel_path "<Actions>/Editor/addExistingAudioFiles" "<%PRIMARY%>i") +(gtk_accel_path "<Actions>/Editor/invert-selection" "<%TERTIARY%>i") +(gtk_accel_path "<Actions>/Main/Open" "<%PRIMARY%>o") +(gtk_accel_path "<Actions>/Main/Recent" "<%PRIMARY%><%TERTIARY%>o") +(gtk_accel_path "<Actions>/Editor/naturalize-region" "<%LEVEL4%>o") +(gtk_accel_path "<Actions>/Transport/TogglePunch" "p") +(gtk_accel_path "<Actions>/Editor/select-all-in-punch-range" "<%TERTIARY%>p") + +;; MITTELZEILE + +(gtk_accel_path "<Actions>/Editor/trim-front" "a") +(gtk_accel_path "<Actions>/Editor/select-all" "<%PRIMARY%>a") +(gtk_accel_path "<Actions>/Editor/select-all-between-cursors" "<%TERTIARY%>a") +(gtk_accel_path "<Actions>/Editor/select-all-between-cursors" "<%TERTIARY%><%SECONDARY%>a") +(gtk_accel_path "<Actions>/Editor/play-selected-regions" "s") +(gtk_accel_path "<Actions>/Common/Save" "<%PRIMARY%>s") +(gtk_accel_path "<Actions>/Main/Snapshot" "<%PRIMARY%><%TERTIARY%>s") +(gtk_accel_path "<Actions>/Editor/trim-back" "d") +(gtk_accel_path "<Actions>/Editor/duplicate-region" "<%PRIMARY%>d") +(gtk_accel_path "<Actions>/Editor/multi-duplicate-region" "<%PRIMARY%><%TERTIARY%>d") +(gtk_accel_path "<Actions>/Editor/toggle-follow-playhead" "f") +(gtk_accel_path "<Actions>/Common/toggle-rhythm-ferret" "<%WINDOW%>f") +; (gtk_accel_path "<Actions>/Editor/set-edit-point" "g") +; (gtk_accel_path "<Actions>/MouseMode/set-mouse-mode-gain" "g") +(gtk_accel_path "<Actions>/Editor/nudge-backward" "g") +(gtk_accel_path "<Actions>/Editor/nudge-forward" "h") +(gtk_accel_path "<Actions>/Common/ToggleKeyEditor" "<%SECONDARY%>k") +(gtk_accel_path "<Actions>/Common/ToggleLocations" "<%SECONDARY%>l") +(gtk_accel_path "<Actions>/Transport/Loop" "l") +(gtk_accel_path "<Actions>/Editor/lock-region" "<%LEVEL4%>l") +(gtk_accel_path "<Actions>/Editor/select-all-in-loop-range" "<%TERTIARY%>l") + +;; UNTERE ZEILE + +(gtk_accel_path "<Actions>/Editor/zoom-to-region" "z") +(gtk_accel_path "<Actions>/Editor/undo" "<%PRIMARY%>z") +(gtk_accel_path "<Actions>/Editor/zoom-to-session" "<%SECONDARY%>z") +(gtk_accel_path "<Actions>/Editor/toggle-zoom" "<%TERTIARY%>z") +(gtk_accel_path "<Actions>/Editor/editor-separate" "x") +(gtk_accel_path "<Actions>/Editor/editor-cut" "<%PRIMARY%>x") +(gtk_accel_path "<Actions>/Editor/crop" "c") +(gtk_accel_path "<Actions>/Editor/editor-copy" "<%PRIMARY%>c") +(gtk_accel_path "<Actions>/Common/ToggleColorManager" "<%SECONDARY%>c") +(gtk_accel_path "<Actions>/Editor/editor-paste" "<%PRIMARY%>v") +(gtk_accel_path "<Actions>/Editor/add-location-from-playhead" "b") +(gtk_accel_path "<Actions>/Common/ToggleBigClock" "<%SECONDARY%>b") +(gtk_accel_path "<Actions>/Editor/normalize-region" "n") +(gtk_accel_path "<Actions>/Main/New" "<%PRIMARY%>n") +(gtk_accel_path "<Actions>/Main/AddTrackBus" "<%PRIMARY%><%TERTIARY%>n") +(gtk_accel_path "<Actions>/Common/toggle-editor-mixer-on-top" "<%SECONDARY%>m") +(gtk_accel_path "<Actions>/Editor/add-location-from-playhead" "KP_Enter") +(gtk_accel_path "<Actions>/Editor/mute-unmute-region" "m") + +;; arrow keys, navigation etc. + +(gtk_accel_path "<Actions>/Editor/playhead-to-edit" "Return") +(gtk_accel_path "<Actions>/Editor/edit-to-playhead" "<%SECONDARY%>Return") +(gtk_accel_path "<Actions>/Editor/editor-delete" "BackSpace") +(gtk_accel_path "<Actions>/Editor/remove-last-capture" "<%PRIMARY%>Delete") + +(gtk_accel_path "<Actions>/Editor/playhead-to-previous-region-boundary" "leftarrow") +(gtk_accel_path "<Actions>/Editor/playhead-backward-to-grid" "<%TERTIARY%><%LEVEL4%>leftarrow") +(gtk_accel_path "<Actions>/Editor/edit-cursor-to-previous-region-sync" "<%TERTIARY%><%SECONDARY%>leftarrow") +(gtk_accel_path "<Actions>/Transport/Rewind" "<%PRIMARY%>leftarrow") +(gtk_accel_path "<Actions>/Editor/tab-to-transient-backwards" "<%SECONDARY%>leftarrow") +(gtk_accel_path "<Actions>/Editor/nudge-playhead-backward" "<%TERTIARY%>leftarrow") +(gtk_accel_path "<Actions>/Editor/jump-backward-to-mark" "<%PRIMARY%><%SECONDARY%>leftarrow") + +(gtk_accel_path "<Actions>/Editor/selected-marker-to-previous-region-boundary" "<%PRIMARY%><%TERTIARY%>leftarrow") + +(gtk_accel_path "<Actions>/Editor/playhead-to-next-region-boundary" "rightarrow") +(gtk_accel_path "<Actions>/Editor/playhead-forward-to-grid" "<%TERTIARY%><%LEVEL4%>rightarrow") +(gtk_accel_path "<Actions>/Editor/edit-cursor-to-next-region-sync" "<%TERTIARY%><%SECONDARY%>leftarrow") +(gtk_accel_path "<Actions>/Transport/Forward" "<%PRIMARY%>rightarrow") +(gtk_accel_path "<Actions>/Editor/tab-to-transient-forwards" "<%SECONDARY%>rightarrow") +(gtk_accel_path "<Actions>/Editor/nudge-playhead-forward" "<%TERTIARY%>rightarrow") +(gtk_accel_path "<Actions>/Editor/jump-forward-to-mark" "<%PRIMARY%><%SECONDARY%>rightarrow") + +(gtk_accel_path "<Actions>/Editor/selected-marker-to-next-region-boundary" "<%PRIMARY%><%TERTIARY%>rightarrow") + + +(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/GotoEnd" "End") +(gtk_accel_path "<Actions>/Editor/select-all-after-edit-cursor" "<%PRIMARY%><%TERTIARY%>End") +(gtk_accel_path "<Actions>/Editor/select-all-after-playhead" "<%TERTIARY%>End") + +(gtk_accel_path "<Actions>/Transport/GotoStart" "Home") +(gtk_accel_path "<Actions>/Editor/select-all-before-edit-cursor" "<%PRIMARY%><%TERTIARY%>Home") +(gtk_accel_path "<Actions>/Editor/select-all-before-playhead" "<%TERTIARY%>Home") + +(gtk_accel_path "<Actions>/Editor/select-prev-route" "uparrow") +(gtk_accel_path "<Actions>/Transport/TransitionToRoll" "<%PRIMARY%>uparrow") +(gtk_accel_path "<Actions>/Editor/move-selected-tracks-up" "<%TERTIARY%>uparrow") +(gtk_accel_path "<Actions>/Editor/select-next-route" "downarrow") +(gtk_accel_path "<Actions>/Transport/TransitionToReverse" "<%PRIMARY%>downarrow") +(gtk_accel_path "<Actions>/Editor/move-selected-tracks-down" "<%TERTIARY%>downarrow") + +;; keypad + +(gtk_accel_path "<Actions>/Editor/finish-add-range" "<%TERTIARY%><%PRIMARY%>KP_Up") +(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>/Editor/nudge-next-backward" "<%PRIMARY%>KP_Subtract") +(gtk_accel_path "<Actions>/Editor/cut-region-gain" "KP_Subtract") + +(gtk_accel_path "<Actions>/Editor/nudge-next-forward" "<%PRIMARY%>KP_Add") +(gtk_accel_path "<Actions>/Editor/boost-region-gain" "KP_Add") + +(gtk_accel_path "<Actions>/Transport/GotoZero" "KP_Insert") + +;; F-N keys + +; (gtk_accel_path "<Actions>/Editor/start-range" "F1") +; (gtk_accel_path "<Actions>/Editor/edit-cursor-to-range-start" "<%TERTIARY%>F1") +; (gtk_accel_path "<Actions>/Editor/finish-range" "F2") +; (gtk_accel_path "<Actions>/Editor/edit-cursor-to-range-end" "<%TERTIARY%>F2") +; (gtk_accel_path "<Actions>/Editor/brush-at-mouse" "F3") +(gtk_accel_path "<Actions>/Editor/step-mouse-mode" "F1") +(gtk_accel_path "<Actions>/Common/ToggleMaximalEditor" "F2") + + + + +;; 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/ToggleAutoPlay" "4") +(gtk_accel_path "<Actions>/Transport/ToggleAutoReturn" "5") +(gtk_accel_path "<Actions>/Transport/ToggleAutoInput" "6") +(gtk_accel_path "<Actions>/Transport/ToggleClick" "7") + +(gtk_accel_path "<Actions>/Editor/set-loop-from-edit-range" "8") +(gtk_accel_path "<Actions>/Editor/set-loop-from-region" "<%LEVEL4%>8") +; (gtk_accel_path "<Actions>/Editor/loop-region" "<%PRIMARY%>8") + +(gtk_accel_path "<Actions>/Editor/set-punch-from-edit-range" "9") +(gtk_accel_path "<Actions>/Editor/set-punch-from-region" "<%LEVEL4%>9") + +(gtk_accel_path "<Actions>/Editor/set-tempo-from-region" "<%LEVEL4%>0") +(gtk_accel_path "<Actions>/Editor/set-tempo-from-edit-range" "0") diff --git a/gtk2_ardour/SAE-de-nokeypad.bindings.in b/gtk2_ardour/SAE-de-nokeypad.bindings.in new file mode 100644 index 0000000000..27c824e5dd --- /dev/null +++ b/gtk2_ardour/SAE-de-nokeypad.bindings.in @@ -0,0 +1,214 @@ +; ardour-2.2 GtkAccelMap rc-file -*- scheme -*- +; this file is a hand-edited map that is processed by scons +; to produce a real accelmap. +; + +;; punctuation +(gtk_accel_path "<Actions>/Editor/center-playhead" "Escape") +(gtk_accel_path "<Actions>/Transport/ToggleRoll" "space") +(gtk_accel_path "<Actions>/Transport/ToggleRollForgetCapture" "<%PRIMARY%>period") +(gtk_accel_path "<Actions>/Transport/record-roll" "<%PRIMARY%>space") + +(gtk_accel_path "<Actions>/Common/ToggleOptionsEditor" "<%PRIMARY%>,") + +(gtk_accel_path "<Actions>/Editor/align-regions-end" "<%PRIMARY%><%SECONDARY%>less") +(gtk_accel_path "<Actions>/Editor/align-regions-end-relative" "<%PRIMARY%>less") +(gtk_accel_path "<Actions>/Editor/align-regions-start" "<%LEVEL4%><%SECONDARY%>less") +(gtk_accel_path "<Actions>/Editor/align-regions-start-relative" "<%LEVEL4%>less") +(gtk_accel_path "<Actions>/Editor/align-regions-sync" "<%SECONDARY%>less") +(gtk_accel_path "<Actions>/Editor/align-regions-sync-relative" "less") + +; (gtk_accel_path "<Actions>/Editor/edit-cursor-to-next-region-sync" "semicolon") +; (gtk_accel_path "<Actions>/Editor/edit-cursor-to-previous-region-sync" "apostrophe") +(gtk_accel_path "<Actions>/Editor/cycle-edit-point" "asciicircum") +(gtk_accel_path "<Actions>/Editor/cycle-edit-point-with-marker" "<%SECONDARY%>asciicircum") + +(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>/Editor/trim-from-start" "<%TERTIARY%>braceleft") +(gtk_accel_path "<Actions>/Editor/trim-to-end" "<%TERTIARY%>braceright") + +(gtk_accel_path "<Actions>/Editor/play-from-edit-point-and-return" "<%LEVEL4%>space") +(gtk_accel_path "<Actions>/Editor/play-edit-range" "<%SECONDARY%>space") + +;; letters + +;; OBERE ZEILE + +(gtk_accel_path "<Actions>/Editor/set-fade-in-length" "q") +(gtk_accel_path "<Actions>/Common/Quit" "<%PRIMARY%>q") +(gtk_accel_path "<Actions>/Editor/toggle-fade-in-active" "<%SECONDARY%>q") +(gtk_accel_path "<Actions>/Editor/set-playhead" "w") +;; note that ctrl-w is special and consumed by the keyboard snooper + + +(gtk_accel_path "<Actions>/Main/Close" "<%PRIMARY%>w") +(gtk_accel_path "<Actions>/Editor/set-fade-out-length" "e") +(gtk_accel_path "<Actions>/Main/ExportSession" "<%PRIMARY%>e") +(gtk_accel_path "<Actions>/Editor/toggle-fade-out-active" "<%SECONDARY%>e") +(gtk_accel_path "<Actions>/Editor/export-region" "<%PRIMARY%><%TERTIARY%>e") +(gtk_accel_path "<Actions>/Editor/show-editor-mixer" "<%TERTIARY%>e") +; (gtk_accel_path "<Actions>/Common/goto-editor" "<%SECONDARY%>e") +(gtk_accel_path "<Actions>/Editor/redo" "<%PRIMARY%><%TERTIARY%>z") +(gtk_accel_path "<Actions>/Transport/Record" "<%TERTIARY%>r") +(gtk_accel_path "<Actions>/Editor/temporal-zoom-out" "r") +(gtk_accel_path "<Actions>/Transport/Record" "<%TERTIARY%>r") +(gtk_accel_path "<Actions>/Editor/reverse-region" "<%LEVEL4%>r") +(gtk_accel_path "<Actions>/Editor/temporal-zoom-in" "t") +(gtk_accel_path "<Actions>/Common/ToggleThemeManager" "<%SECONDARY%>t") +(gtk_accel_path "<Actions>/Editor/pitch-shift-region" "<%LEVEL4%>t") +(gtk_accel_path "<Actions>/Editor/split-region" "y") +(gtk_accel_path "<Actions>/Editor/set-region-sync-position" "u") +(gtk_accel_path "<Actions>/Editor/insert-region" "i") +(gtk_accel_path "<Actions>/Editor/addExistingAudioFiles" "<%PRIMARY%>i") +(gtk_accel_path "<Actions>/Editor/invert-selection" "<%TERTIARY%>i") +(gtk_accel_path "<Actions>/Main/Open" "<%PRIMARY%>o") +(gtk_accel_path "<Actions>/Main/Recent" "<%PRIMARY%><%TERTIARY%>o") +(gtk_accel_path "<Actions>/Editor/naturalize-region" "<%LEVEL4%>o") +(gtk_accel_path "<Actions>/Transport/TogglePunch" "p") +(gtk_accel_path "<Actions>/Editor/select-all-in-punch-range" "<%TERTIARY%>p") + +;; MITTELZEILE + +(gtk_accel_path "<Actions>/Editor/trim-front" "a") +(gtk_accel_path "<Actions>/Editor/select-all" "<%PRIMARY%>a") +(gtk_accel_path "<Actions>/Editor/select-all-between-cursors" "<%TERTIARY%>a") +(gtk_accel_path "<Actions>/Editor/select-all-between-cursors" "<%TERTIARY%><%SECONDARY%>a") +(gtk_accel_path "<Actions>/Editor/play-selected-regions" "s") +(gtk_accel_path "<Actions>/Common/Save" "<%PRIMARY%>s") +(gtk_accel_path "<Actions>/Main/Snapshot" "<%PRIMARY%><%TERTIARY%>s") +(gtk_accel_path "<Actions>/Editor/trim-back" "d") +(gtk_accel_path "<Actions>/Editor/duplicate-region" "<%PRIMARY%>d") +(gtk_accel_path "<Actions>/Editor/multi-duplicate-region" "<%PRIMARY%><%TERTIARY%>d") +(gtk_accel_path "<Actions>/Editor/toggle-follow-playhead" "f") +(gtk_accel_path "<Actions>/Common/toggle-rhythm-ferret" "<%SECONDARY%>f") +; (gtk_accel_path "<Actions>/Editor/set-edit-point" "g") +; (gtk_accel_path "<Actions>/MouseMode/set-mouse-mode-gain" "g") +(gtk_accel_path "<Actions>/Editor/nudge-backward" "g") +(gtk_accel_path "<Actions>/Editor/nudge-forward" "h") +(gtk_accel_path "<Actions>/Common/ToggleKeyEditor" "<%SECONDARY%>k") +(gtk_accel_path "<Actions>/Common/ToggleLocations" "<%SECONDARY%>l") +(gtk_accel_path "<Actions>/Transport/Loop" "l") +(gtk_accel_path "<Actions>/Editor/lock-region" "<%LEVEL4%>l") +(gtk_accel_path "<Actions>/Editor/select-all-in-loop-range" "<%TERTIARY%>l") + +;; UNTERE ZEILE + +(gtk_accel_path "<Actions>/Editor/zoom-to-region" "z") +(gtk_accel_path "<Actions>/Editor/undo" "<%PRIMARY%>z") +(gtk_accel_path "<Actions>/Editor/zoom-to-session" "<%SECONDARY%>z") +(gtk_accel_path "<Actions>/Editor/toggle-zoom" "<%TERTIARY%>z") +(gtk_accel_path "<Actions>/Editor/editor-separate" "x") +(gtk_accel_path "<Actions>/Editor/editor-cut" "<%PRIMARY%>x") +(gtk_accel_path "<Actions>/Editor/crop" "c") +(gtk_accel_path "<Actions>/Editor/editor-copy" "<%PRIMARY%>c") +(gtk_accel_path "<Actions>/Common/ToggleColorManager" "<%SECONDARY%>c") +(gtk_accel_path "<Actions>/Editor/editor-paste" "<%PRIMARY%>v") +(gtk_accel_path "<Actions>/Editor/add-location-from-playhead" "b") +(gtk_accel_path "<Actions>/Common/ToggleBigClock" "<%SECONDARY%>b") +(gtk_accel_path "<Actions>/Editor/normalize-region" "n") +(gtk_accel_path "<Actions>/Main/New" "<%PRIMARY%>n") +(gtk_accel_path "<Actions>/Main/AddTrackBus" "<%PRIMARY%><%TERTIARY%>n") +(gtk_accel_path "<Actions>/Common/toggle-editor-mixer-on-top" "<%SECONDARY%>m") +(gtk_accel_path "<Actions>/Editor/mute-unmute-region" "m") + +;; arrow keys, navigation etc. + +(gtk_accel_path "<Actions>/Editor/playhead-to-edit" "Return") +(gtk_accel_path "<Actions>/Editor/edit-to-playhead" "<%SECONDARY%>Return") +(gtk_accel_path "<Actions>/Editor/editor-delete" "BackSpace") +(gtk_accel_path "<Actions>/Editor/remove-last-capture" "<%PRIMARY%>BackSpace") + +(gtk_accel_path "<Actions>/Editor/playhead-to-previous-region-boundary" "leftarrow") +(gtk_accel_path "<Actions>/Editor/playhead-backward-to-grid" "<%TERTIARY%><%LEVEL4%>leftarrow") +(gtk_accel_path "<Actions>/Editor/edit-cursor-to-previous-region-sync" "<%TERTIARY%><%SECONDARY%>leftarrow") +(gtk_accel_path "<Actions>/Transport/Rewind" "<%PRIMARY%>leftarrow") +(gtk_accel_path "<Actions>/Editor/tab-to-transient-backwards" "<%SECONDARY%>leftarrow") +(gtk_accel_path "<Actions>/Editor/nudge-playhead-backward" "<%TERTIARY%>leftarrow") +(gtk_accel_path "<Actions>/Editor/jump-backward-to-mark" "<%PRIMARY%><%SECONDARY%>leftarrow") + +(gtk_accel_path "<Actions>/Editor/selected-marker-to-previous-region-boundary" "<%PRIMARY%><%TERTIARY%>leftarrow") + +(gtk_accel_path "<Actions>/Editor/playhead-to-next-region-boundary" "rightarrow") +(gtk_accel_path "<Actions>/Editor/playhead-forward-to-grid" "<%TERTIARY%><%LEVEL4%>rightarrow") +(gtk_accel_path "<Actions>/Editor/edit-cursor-to-next-region-sync" "<%TERTIARY%><%SECONDARY%>leftarrow") +(gtk_accel_path "<Actions>/Transport/Forward" "<%PRIMARY%>rightarrow") +(gtk_accel_path "<Actions>/Editor/tab-to-transient-forwards" "<%SECONDARY%>rightarrow") +(gtk_accel_path "<Actions>/Editor/nudge-playhead-forward" "<%TERTIARY%>rightarrow") +(gtk_accel_path "<Actions>/Editor/jump-forward-to-mark" "<%PRIMARY%><%SECONDARY%>rightarrow") + +(gtk_accel_path "<Actions>/Editor/selected-marker-to-next-region-boundary" "<%PRIMARY%><%TERTIARY%>rightarrow") + + +(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/GotoEnd" "End") +(gtk_accel_path "<Actions>/Editor/select-all-after-edit-cursor" "<%PRIMARY%><%TERTIARY%>End") +(gtk_accel_path "<Actions>/Editor/select-all-after-playhead" "<%TERTIARY%>End") + +(gtk_accel_path "<Actions>/Transport/GotoStart" "Home") +(gtk_accel_path "<Actions>/Editor/select-all-before-edit-cursor" "<%PRIMARY%><%TERTIARY%>Home") +(gtk_accel_path "<Actions>/Editor/select-all-before-playhead" "<%TERTIARY%>Home") + +(gtk_accel_path "<Actions>/Editor/select-prev-route" "uparrow") +(gtk_accel_path "<Actions>/Transport/TransitionToRoll" "<%PRIMARY%>uparrow") +(gtk_accel_path "<Actions>/Editor/move-selected-tracks-up" "<%TERTIARY%>uparrow") +(gtk_accel_path "<Actions>/Editor/select-next-route" "downarrow") +(gtk_accel_path "<Actions>/Transport/TransitionToReverse" "<%PRIMARY%>downarrow") +(gtk_accel_path "<Actions>/Editor/move-selected-tracks-down" "<%TERTIARY%>downarrow") + +;; keypad + +(gtk_accel_path "<Actions>/Editor/finish-add-range" "<%TERTIARY%><%PRIMARY%>KP_Up") +(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>/Editor/nudge-next-backward" "<%PRIMARY%>KP_Subtract") +(gtk_accel_path "<Actions>/Editor/cut-region-gain" "j") + +; (gtk_accel_path "<Actions>/Editor/nudge-next-forward" "<%PRIMARY%>KP_Add") +(gtk_accel_path "<Actions>/Editor/boost-region-gain" "k") + +(gtk_accel_path "<Actions>/Transport/GotoZero" "KP_Insert") + +;; F-N keys + +; (gtk_accel_path "<Actions>/Editor/start-range" "F1") +; (gtk_accel_path "<Actions>/Editor/edit-cursor-to-range-start" "<%TERTIARY%>F1") +; (gtk_accel_path "<Actions>/Editor/finish-range" "F2") +; (gtk_accel_path "<Actions>/Editor/edit-cursor-to-range-end" "<%TERTIARY%>F2") +; (gtk_accel_path "<Actions>/Editor/brush-at-mouse" "F3") +(gtk_accel_path "<Actions>/Editor/step-mouse-mode" "F1") +(gtk_accel_path "<Actions>/Common/ToggleMaximalEditor" "F2") + + + + +;; 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/ToggleAutoPlay" "4") +(gtk_accel_path "<Actions>/Transport/ToggleAutoReturn" "5") +(gtk_accel_path "<Actions>/Transport/ToggleAutoInput" "6") +(gtk_accel_path "<Actions>/Transport/ToggleClick" "7") + +(gtk_accel_path "<Actions>/Editor/set-loop-from-edit-range" "8") +(gtk_accel_path "<Actions>/Editor/set-loop-from-region" "<%LEVEL4%>8") +; (gtk_accel_path "<Actions>/Editor/loop-region" "<%PRIMARY%>8") + +(gtk_accel_path "<Actions>/Editor/set-punch-from-edit-range" "9") +(gtk_accel_path "<Actions>/Editor/set-punch-from-region" "<%LEVEL4%>9") + +(gtk_accel_path "<Actions>/Editor/set-tempo-from-region" "<%LEVEL4%>0") +(gtk_accel_path "<Actions>/Editor/set-tempo-from-edit-range" "0") + diff --git a/gtk2_ardour/SAE-de.bindings.in b/gtk2_ardour/SAE-us-keypad.bindings.in index fa4f3bcc37..e4d98140fd 100644 --- a/gtk2_ardour/SAE-de.bindings.in +++ b/gtk2_ardour/SAE-us-keypad.bindings.in @@ -4,9 +4,9 @@ ; ;; punctuation - +(gtk_accel_path "<Actions>/Editor/center-playhead" "Escape") (gtk_accel_path "<Actions>/Transport/ToggleRoll" "space") -(gtk_accel_path "<Actions>/Transport/ToggleRollForgetCapture" "<%PRIMARY%>space") +(gtk_accel_path "<Actions>/Transport/ToggleRollForgetCapture" "<%PRIMARY%>period") (gtk_accel_path "<Actions>/Transport/record-roll" "<%PRIMARY%>space") (gtk_accel_path "<Actions>/Editor/align-regions-end" "<%PRIMARY%><%SECONDARY%>less") @@ -16,23 +16,20 @@ (gtk_accel_path "<Actions>/Editor/align-regions-sync" "<%SECONDARY%>less") (gtk_accel_path "<Actions>/Editor/align-regions-sync-relative" "less") -(gtk_accel_path "<Actions>/Editor/edit-cursor-to-next-region-sync" "semicolon") -(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/edit-cursor-to-previous-region-sync" "apostrophe") (gtk_accel_path "<Actions>/Editor/cycle-edit-point" "asciicircum") (gtk_accel_path "<Actions>/Editor/cycle-edit-point-with-marker" "<%SECONDARY%>asciicircum") (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>/Editor/set-loop-from-edit-range" "bracketright") -(gtk_accel_path "<Actions>/Editor/set-loop-from-region" "<%PRIMARY%><%SECONDARY%>bracketright") -(gtk_accel_path "<Actions>/Editor/loop-region" "<%PRIMARY%>bracketright") - -(gtk_accel_path "<Actions>/Editor/set-punch-from-edit-range" "bracketleft") - (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/play-from-edit-point-and-return" "<%LEVEL4%>space") +(gtk_accel_path "<Actions>/Editor/play-edit-range" "<%SECONDARY%>space") + ;; letters ;; OBERE ZEILE @@ -40,25 +37,26 @@ (gtk_accel_path "<Actions>/Editor/set-fade-in-length" "q") (gtk_accel_path "<Actions>/Common/Quit" "<%PRIMARY%>q") (gtk_accel_path "<Actions>/Editor/toggle-fade-in-active" "<%SECONDARY%>q") - +(gtk_accel_path "<Actions>/Editor/set-playhead" "w") ;; note that ctrl-w is special and consumed by the keyboard snooper -(gtk_accel_path "<Actions>/Editor/play-from-edit-point-and-return" "<%LEVEL4%>space") -(gtk_accel_path "<Actions>/Editor/play-edit-range" "<%SECONDARY%>space") -(gtk_accel_path "<Actions>/Editor/play-selected-regions" "s") + (gtk_accel_path "<Actions>/Main/Close" "<%PRIMARY%>w") (gtk_accel_path "<Actions>/Editor/set-fade-out-length" "e") (gtk_accel_path "<Actions>/Main/ExportSession" "<%PRIMARY%>e") -(gtk_accel_path "<Actions>/Editor/select-all-before-edit-cursor" "<%PRIMARY%>e") (gtk_accel_path "<Actions>/Editor/toggle-fade-out-active" "<%SECONDARY%>e") +(gtk_accel_path "<Actions>/Editor/export-region" "<%PRIMARY%><%TERTIARY%>e") (gtk_accel_path "<Actions>/Editor/show-editor-mixer" "<%TERTIARY%>e") ; (gtk_accel_path "<Actions>/Common/goto-editor" "<%SECONDARY%>e") -(gtk_accel_path "<Actions>/Editor/select-all-after-edit-cursor" "<%TERTIARY%><%PRIMARY%>e") (gtk_accel_path "<Actions>/Editor/redo" "<%PRIMARY%><%TERTIARY%>z") (gtk_accel_path "<Actions>/Transport/Record" "<%TERTIARY%>r") (gtk_accel_path "<Actions>/Editor/temporal-zoom-out" "r") +(gtk_accel_path "<Actions>/Transport/Record" "<%TERTIARY%>r") +(gtk_accel_path "<Actions>/Editor/reverse-region" "<%LEVEL4%>r") (gtk_accel_path "<Actions>/Editor/temporal-zoom-in" "t") -(gtk_accel_path "<Actions>/Editor/split-region" "y") +(gtk_accel_path "<Actions>/Common/ToggleThemeManager" "<%WINDOW%>t") +(gtk_accel_path "<Actions>/Editor/pitch-shift-region" "<%LEVEL4%>t") +(gtk_accel_path "<Actions>/Editor/split-region" "z") (gtk_accel_path "<Actions>/Editor/set-region-sync-position" "u") (gtk_accel_path "<Actions>/Editor/insert-region" "i") (gtk_accel_path "<Actions>/Editor/addExistingAudioFiles" "<%PRIMARY%>i") @@ -66,19 +64,24 @@ (gtk_accel_path "<Actions>/Common/ToggleOptionsEditor" "<%SECONDARY%>o") (gtk_accel_path "<Actions>/Main/Open" "<%PRIMARY%>o") (gtk_accel_path "<Actions>/Main/Recent" "<%PRIMARY%><%TERTIARY%>o") -(gtk_accel_path "<Actions>/Editor/set-playhead" "w") +(gtk_accel_path "<Actions>/Editor/naturalize-region" "<%LEVEL4%>o") +(gtk_accel_path "<Actions>/Transport/TogglePunch" "p") (gtk_accel_path "<Actions>/Editor/select-all-in-punch-range" "<%TERTIARY%>p") ;; MITTELZEILE (gtk_accel_path "<Actions>/Editor/trim-front" "a") (gtk_accel_path "<Actions>/Editor/select-all" "<%PRIMARY%>a") -(gtk_accel_path "<Actions>/Editor/trim-back" "d") +(gtk_accel_path "<Actions>/Editor/select-all-between-cursors" "<%TERTIARY%>a") +(gtk_accel_path "<Actions>/Editor/select-all-between-cursors" "<%TERTIARY%><%SECONDARY%>a") +(gtk_accel_path "<Actions>/Editor/play-selected-regions" "s") (gtk_accel_path "<Actions>/Common/Save" "<%PRIMARY%>s") (gtk_accel_path "<Actions>/Main/Snapshot" "<%PRIMARY%><%TERTIARY%>s") +(gtk_accel_path "<Actions>/Editor/trim-back" "d") (gtk_accel_path "<Actions>/Editor/duplicate-region" "<%PRIMARY%>d") (gtk_accel_path "<Actions>/Editor/multi-duplicate-region" "<%PRIMARY%><%TERTIARY%>d") (gtk_accel_path "<Actions>/Editor/toggle-follow-playhead" "f") +(gtk_accel_path "<Actions>/Common/toggle-rhythm-ferret" "<%WINDOW%>f") ; (gtk_accel_path "<Actions>/Editor/set-edit-point" "g") ; (gtk_accel_path "<Actions>/MouseMode/set-mouse-mode-gain" "g") (gtk_accel_path "<Actions>/Editor/nudge-backward" "g") @@ -86,25 +89,27 @@ (gtk_accel_path "<Actions>/Common/ToggleKeyEditor" "<%SECONDARY%>k") (gtk_accel_path "<Actions>/Common/ToggleLocations" "<%SECONDARY%>l") (gtk_accel_path "<Actions>/Transport/Loop" "l") +(gtk_accel_path "<Actions>/Editor/lock-region" "<%LEVEL4%>l") (gtk_accel_path "<Actions>/Editor/select-all-in-loop-range" "<%TERTIARY%>l") ;; UNTERE ZEILE -(gtk_accel_path "<Actions>/Editor/zoom-to-region" "z") +(gtk_accel_path "<Actions>/Editor/zoom-to-region" "y") (gtk_accel_path "<Actions>/Editor/undo" "<%PRIMARY%>z") -(gtk_accel_path "<Actions>/Editor/zoom-to-session" "<%SECONDARY%>z") -(gtk_accel_path "<Actions>/Editor/toggle-zoom" "<%TERTIARY%>z") +(gtk_accel_path "<Actions>/Editor/zoom-to-session" "<%SECONDARY%>y") +(gtk_accel_path "<Actions>/Editor/toggle-zoom" "<%TERTIARY%>y") (gtk_accel_path "<Actions>/Editor/editor-separate" "x") (gtk_accel_path "<Actions>/Editor/editor-cut" "<%PRIMARY%>x") (gtk_accel_path "<Actions>/Editor/crop" "c") (gtk_accel_path "<Actions>/Editor/editor-copy" "<%PRIMARY%>c") (gtk_accel_path "<Actions>/Common/ToggleColorManager" "<%SECONDARY%>c") (gtk_accel_path "<Actions>/Editor/editor-paste" "<%PRIMARY%>v") +(gtk_accel_path "<Actions>/Editor/add-location-from-playhead" "b") (gtk_accel_path "<Actions>/Common/ToggleBigClock" "<%SECONDARY%>b") (gtk_accel_path "<Actions>/Editor/normalize-region" "n") (gtk_accel_path "<Actions>/Main/New" "<%PRIMARY%>n") (gtk_accel_path "<Actions>/Main/AddTrackBus" "<%PRIMARY%><%TERTIARY%>n") -(gtk_accel_path "<Actions>/Common/goto-mixer" "<%SECONDARY%>m") +(gtk_accel_path "<Actions>/Common/toggle-editor-mixer-on-top" "<%SECONDARY%>m") (gtk_accel_path "<Actions>/Editor/add-location-from-playhead" "KP_Enter") (gtk_accel_path "<Actions>/Editor/mute-unmute-region" "m") @@ -116,26 +121,35 @@ (gtk_accel_path "<Actions>/Editor/remove-last-capture" "<%PRIMARY%>Delete") (gtk_accel_path "<Actions>/Editor/playhead-to-previous-region-boundary" "leftarrow") +(gtk_accel_path "<Actions>/Editor/playhead-backward-to-grid" "<%TERTIARY%><%LEVEL4%>leftarrow") +(gtk_accel_path "<Actions>/Editor/edit-cursor-to-previous-region-sync" "<%TERTIARY%><%SECONDARY%>leftarrow") (gtk_accel_path "<Actions>/Transport/Rewind" "<%PRIMARY%>leftarrow") (gtk_accel_path "<Actions>/Editor/tab-to-transient-backwards" "<%SECONDARY%>leftarrow") (gtk_accel_path "<Actions>/Editor/nudge-playhead-backward" "<%TERTIARY%>leftarrow") +(gtk_accel_path "<Actions>/Editor/jump-backward-to-mark" "<%PRIMARY%><%SECONDARY%>leftarrow") + (gtk_accel_path "<Actions>/Editor/selected-marker-to-previous-region-boundary" "<%PRIMARY%><%TERTIARY%>leftarrow") (gtk_accel_path "<Actions>/Editor/playhead-to-next-region-boundary" "rightarrow") +(gtk_accel_path "<Actions>/Editor/playhead-forward-to-grid" "<%TERTIARY%><%LEVEL4%>rightarrow") +(gtk_accel_path "<Actions>/Editor/edit-cursor-to-next-region-sync" "<%TERTIARY%><%SECONDARY%>leftarrow") (gtk_accel_path "<Actions>/Transport/Forward" "<%PRIMARY%>rightarrow") (gtk_accel_path "<Actions>/Editor/tab-to-transient-forwards" "<%SECONDARY%>rightarrow") (gtk_accel_path "<Actions>/Editor/nudge-playhead-forward" "<%TERTIARY%>rightarrow") +(gtk_accel_path "<Actions>/Editor/jump-forward-to-mark" "<%PRIMARY%><%SECONDARY%>rightarrow") + (gtk_accel_path "<Actions>/Editor/selected-marker-to-next-region-boundary" "<%PRIMARY%><%TERTIARY%>rightarrow") + (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/GotoEnd" "End") -(gtk_accel_path "<Actions>/Editor/select-all-after-edit-cursor" "<%TERTIARY%>End") -(gtk_accel_path "<Actions>/Editor/select-all-after-playhead" "<%TERTIARY%><%PRIMARY%>End") +(gtk_accel_path "<Actions>/Editor/select-all-after-edit-cursor" "<%PRIMARY%><%TERTIARY%>End") +(gtk_accel_path "<Actions>/Editor/select-all-after-playhead" "<%TERTIARY%>End") (gtk_accel_path "<Actions>/Transport/GotoStart" "Home") -(gtk_accel_path "<Actions>/Editor/select-all-before-edit-cursor" "<%TERTIARY%>Home") +(gtk_accel_path "<Actions>/Editor/select-all-before-edit-cursor" "<%PRIMARY%><%TERTIARY%>Home") (gtk_accel_path "<Actions>/Editor/select-all-before-playhead" "<%TERTIARY%>Home") (gtk_accel_path "<Actions>/Editor/select-prev-route" "uparrow") @@ -152,37 +166,50 @@ (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/jump-backward-to-mark" "<%PRIMARY%>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/jump-forward-to-mark" "<%PRIMARY%>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>/Editor/nudge-next-backward" "<%PRIMARY%>KP_Subtract") +(gtk_accel_path "<Actions>/Editor/cut-region-gain" "KP_Subtract") + (gtk_accel_path "<Actions>/Editor/nudge-next-forward" "<%PRIMARY%>KP_Add") +(gtk_accel_path "<Actions>/Editor/boost-region-gain" "KP_Add") + (gtk_accel_path "<Actions>/Transport/GotoZero" "KP_Insert") ;; F-N keys -(gtk_accel_path "<Actions>/Editor/start-range" "F1") -(gtk_accel_path "<Actions>/Editor/edit-cursor-to-range-start" "<%TERTIARY%>F1") -(gtk_accel_path "<Actions>/Editor/finish-range" "F2") -(gtk_accel_path "<Actions>/Editor/edit-cursor-to-range-end" "<%TERTIARY%>F2") -(gtk_accel_path "<Actions>/Editor/brush-at-mouse" "F3") -(gtk_accel_path "<Actions>/Common/ToggleMaximalEditor" "F11") -(gtk_accel_path "<Actions>/Editor/select-all" "F14") -(gtk_accel_path "<Actions>/Editor/invert-selection" "F15") -(gtk_accel_path "<Actions>/Editor/select-all-between-cursors" "F16") +; (gtk_accel_path "<Actions>/Editor/start-range" "F1") +; (gtk_accel_path "<Actions>/Editor/edit-cursor-to-range-start" "<%TERTIARY%>F1") +; (gtk_accel_path "<Actions>/Editor/finish-range" "F2") +; (gtk_accel_path "<Actions>/Editor/edit-cursor-to-range-end" "<%TERTIARY%>F2") +; (gtk_accel_path "<Actions>/Editor/brush-at-mouse" "F3") +(gtk_accel_path "<Actions>/Editor/step-mouse-mode" "F1") +(gtk_accel_path "<Actions>/Common/ToggleMaximalEditor" "F2") + + + ;; 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") -(gtk_accel_path "<Actions>/Editor/set-tempo-from-region" "9") +(gtk_accel_path "<Actions>/Transport/ToggleAutoPlay" "4") +(gtk_accel_path "<Actions>/Transport/ToggleAutoReturn" "5") +(gtk_accel_path "<Actions>/Transport/ToggleAutoInput" "6") +(gtk_accel_path "<Actions>/Transport/ToggleClick" "7") + +(gtk_accel_path "<Actions>/Editor/set-loop-from-edit-range" "8") +(gtk_accel_path "<Actions>/Editor/set-loop-from-region" "<%LEVEL4%>8") +; (gtk_accel_path "<Actions>/Editor/loop-region" "<%PRIMARY%>8") + +(gtk_accel_path "<Actions>/Editor/set-punch-from-edit-range" "9") +(gtk_accel_path "<Actions>/Editor/set-punch-from-region" "<%LEVEL4%>9") + +(gtk_accel_path "<Actions>/Editor/set-tempo-from-region" "<%LEVEL4%>0") (gtk_accel_path "<Actions>/Editor/set-tempo-from-edit-range" "0") ;; @@ -246,7 +273,6 @@ ; (gtk_accel_path "<Actions>/Editor/View" "") ; (gtk_accel_path "<Actions>/Editor/ZoomFocus" "") ; (gtk_accel_path "<Actions>/Editor/center-edit-cursor" "") -; (gtk_accel_path "<Actions>/Editor/center-playhead" "") ; (gtk_accel_path "<Actions>/Editor/playhead-to-next-region-sync" "") ; (gtk_accel_path "<Actions>/Editor/playhead-to-previous-region-sync" "") ; (gtk_accel_path "<Actions>/Editor/playhead-to-range-end" "") @@ -330,9 +356,9 @@ ; (gtk_accel_path "<Actions>/Snap/snap-to-smpte-seconds" "") ; (gtk_accel_path "<Actions>/Snap/snap-to-thirds" "") ; (gtk_accel_path "<Actions>/Snap/snap-to-thirtyseconds" "") -; (gtk_accel_path "<Actions>/Transport/PlaySelection" "") -; (gtk_accel_path "<Actions>/Transport/ToggleAutoInput" "") -; (gtk_accel_path "<Actions>/Transport/ToggleAutoPlay" "") +; (gtk_accel_path "<Actions>/Transport/Playwion" "") + + ; (gtk_accel_path "<Actions>/Transport/ToggleAutoReturn" "") ; (gtk_accel_path "<Actions>/Transport/TogglePunchIn" "") ; (gtk_accel_path "<Actions>/Transport/TogglePunchOut" "") @@ -384,19 +410,19 @@ ; (gtk_accel_path "<Actions>/options/UseMMC" "") ; (gtk_accel_path "<Actions>/options/UseSoftwareMonitoring" "") ; (gtk_accel_path "<Actions>/options/VerifyRemoveLastCapture" "") -; (gtk_accel_path "<Actions>/processormenu/activate" "") -; (gtk_accel_path "<Actions>/processormenu/activate_all" "") -; (gtk_accel_path "<Actions>/processormenu/clear" "") -; (gtk_accel_path "<Actions>/processormenu/copy" "") -; (gtk_accel_path "<Actions>/processormenu/cut" "") -; (gtk_accel_path "<Actions>/processormenu/deactivate" "") -; (gtk_accel_path "<Actions>/processormenu/deactivate_all" "") -; (gtk_accel_path "<Actions>/processormenu/deselectall" "<%PRIMARY%><%TERTIARY%>a") -; (gtk_accel_path "<Actions>/processormenu/edit" "") -; (gtk_accel_path "<Actions>/processormenu/newinsert" "") -; (gtk_accel_path "<Actions>/processormenu/newplugin" "") -; (gtk_accel_path "<Actions>/processormenu/newsend" "") -; (gtk_accel_path "<Actions>/processormenu/paste" "") -; (gtk_accel_path "<Actions>/processormenu/rename" "") -; (gtk_accel_path "<Actions>/processormenu/selectall" "") +; (gtk_accel_path "<Actions>/redirectmenu/activate" "") +; (gtk_accel_path "<Actions>/redirectmenu/activate_all" "") +; (gtk_accel_path "<Actions>/redirectmenu/clear" "") +; (gtk_accel_path "<Actions>/redirectmenu/copy" "") +; (gtk_accel_path "<Actions>/redirectmenu/cut" "") +; (gtk_accel_path "<Actions>/redirectmenu/deactivate" "") +; (gtk_accel_path "<Actions>/redirectmenu/deactivate_all" "") +; (gtk_accel_path "<Actions>/redirectmenu/deselectall" "<%PRIMARY%><%TERTIARY%>a") +; (gtk_accel_path "<Actions>/redirectmenu/edit" "") +; (gtk_accel_path "<Actions>/redirectmenu/newinsert" "") +; (gtk_accel_path "<Actions>/redirectmenu/newplugin" "") +; (gtk_accel_path "<Actions>/redirectmenu/newsend" "") +; (gtk_accel_path "<Actions>/redirectmenu/paste" "") +; (gtk_accel_path "<Actions>/redirectmenu/rename" "") +; (gtk_accel_path "<Actions>/redirectmenu/selectall" "") ;(gtk_accel_path "<Actions>/MouseMode/set-mouse-mode-object" "o") diff --git a/gtk2_ardour/SAE-us-nokeypad.bindings.in b/gtk2_ardour/SAE-us-nokeypad.bindings.in new file mode 100644 index 0000000000..a84ee2bf20 --- /dev/null +++ b/gtk2_ardour/SAE-us-nokeypad.bindings.in @@ -0,0 +1,213 @@ +; ardour-2.2 GtkAccelMap rc-file -*- scheme -*- +; this file is a hand-edited map that is processed by scons +; to produce a real accelmap. +; + +;; punctuation +(gtk_accel_path "<Actions>/Editor/center-playhead" "Escape") +(gtk_accel_path "<Actions>/Transport/ToggleRoll" "space") +(gtk_accel_path "<Actions>/Transport/ToggleRollForgetCapture" "<%PRIMARY%>period") +(gtk_accel_path "<Actions>/Transport/record-roll" "<%PRIMARY%>space") + +(gtk_accel_path "<Actions>/Editor/align-regions-end" "<%PRIMARY%><%SECONDARY%>less") +(gtk_accel_path "<Actions>/Editor/align-regions-end-relative" "<%PRIMARY%>less") +(gtk_accel_path "<Actions>/Editor/align-regions-start" "<%LEVEL4%><%SECONDARY%>less") +(gtk_accel_path "<Actions>/Editor/align-regions-start-relative" "<%LEVEL4%>less") +(gtk_accel_path "<Actions>/Editor/align-regions-sync" "<%SECONDARY%>less") +(gtk_accel_path "<Actions>/Editor/align-regions-sync-relative" "less") + +; (gtk_accel_path "<Actions>/Editor/edit-cursor-to-next-region-sync" "semicolon") +; (gtk_accel_path "<Actions>/Editor/edit-cursor-to-previous-region-sync" "apostrophe") +(gtk_accel_path "<Actions>/Editor/cycle-edit-point" "asciicircum") +(gtk_accel_path "<Actions>/Editor/cycle-edit-point-with-marker" "<%SECONDARY%>asciicircum") + +(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>/Editor/trim-from-start" "<%TERTIARY%>braceleft") +(gtk_accel_path "<Actions>/Editor/trim-to-end" "<%TERTIARY%>braceright") + +(gtk_accel_path "<Actions>/Editor/play-from-edit-point-and-return" "<%LEVEL4%>space") +(gtk_accel_path "<Actions>/Editor/play-edit-range" "<%SECONDARY%>space") + +;; letters + +;; OBERE ZEILE + +(gtk_accel_path "<Actions>/Editor/set-fade-in-length" "q") +(gtk_accel_path "<Actions>/Common/Quit" "<%PRIMARY%>q") +(gtk_accel_path "<Actions>/Editor/toggle-fade-in-active" "<%SECONDARY%>q") +(gtk_accel_path "<Actions>/Editor/set-playhead" "w") +;; note that ctrl-w is special and consumed by the keyboard snooper + + +(gtk_accel_path "<Actions>/Main/Close" "<%PRIMARY%>w") +(gtk_accel_path "<Actions>/Editor/set-fade-out-length" "e") +(gtk_accel_path "<Actions>/Main/ExportSession" "<%PRIMARY%>e") +(gtk_accel_path "<Actions>/Editor/toggle-fade-out-active" "<%SECONDARY%>e") +(gtk_accel_path "<Actions>/Editor/export-region" "<%PRIMARY%><%TERTIARY%>e") +(gtk_accel_path "<Actions>/Editor/show-editor-mixer" "<%TERTIARY%>e") +; (gtk_accel_path "<Actions>/Common/goto-editor" "<%SECONDARY%>e") +(gtk_accel_path "<Actions>/Editor/redo" "<%PRIMARY%><%TERTIARY%>z") +(gtk_accel_path "<Actions>/Transport/Record" "<%TERTIARY%>r") +(gtk_accel_path "<Actions>/Editor/temporal-zoom-out" "r") +(gtk_accel_path "<Actions>/Transport/Record" "<%TERTIARY%>r") +(gtk_accel_path "<Actions>/Editor/reverse-region" "<%LEVEL4%>r") +(gtk_accel_path "<Actions>/Editor/temporal-zoom-in" "t") +(gtk_accel_path "<Actions>/Common/ToggleThemeManager" "<%SECONDARY%>t") +(gtk_accel_path "<Actions>/Editor/pitch-shift-region" "<%LEVEL4%>t") +(gtk_accel_path "<Actions>/Editor/split-region" "z") +(gtk_accel_path "<Actions>/Editor/set-region-sync-position" "u") +(gtk_accel_path "<Actions>/Editor/insert-region" "i") +(gtk_accel_path "<Actions>/Editor/addExistingAudioFiles" "<%PRIMARY%>i") +(gtk_accel_path "<Actions>/Editor/invert-selection" "<%TERTIARY%>i") +(gtk_accel_path "<Actions>/Common/ToggleOptionsEditor" "<%SECONDARY%>o") +(gtk_accel_path "<Actions>/Main/Open" "<%PRIMARY%>o") +(gtk_accel_path "<Actions>/Main/Recent" "<%PRIMARY%><%TERTIARY%>o") +(gtk_accel_path "<Actions>/Editor/naturalize-region" "<%LEVEL4%>o") +(gtk_accel_path "<Actions>/Transport/TogglePunch" "p") +(gtk_accel_path "<Actions>/Editor/select-all-in-punch-range" "<%TERTIARY%>p") + +;; MITTELZEILE + +(gtk_accel_path "<Actions>/Editor/trim-front" "a") +(gtk_accel_path "<Actions>/Editor/select-all" "<%PRIMARY%>a") +(gtk_accel_path "<Actions>/Editor/select-all-between-cursors" "<%TERTIARY%>a") +(gtk_accel_path "<Actions>/Editor/select-all-between-cursors" "<%TERTIARY%><%SECONDARY%>a") +(gtk_accel_path "<Actions>/Editor/play-selected-regions" "s") +(gtk_accel_path "<Actions>/Common/Save" "<%PRIMARY%>s") +(gtk_accel_path "<Actions>/Main/Snapshot" "<%PRIMARY%><%TERTIARY%>s") +(gtk_accel_path "<Actions>/Editor/trim-back" "d") +(gtk_accel_path "<Actions>/Editor/duplicate-region" "<%PRIMARY%>d") +(gtk_accel_path "<Actions>/Editor/multi-duplicate-region" "<%PRIMARY%><%TERTIARY%>d") +(gtk_accel_path "<Actions>/Editor/toggle-follow-playhead" "f") +(gtk_accel_path "<Actions>/Common/toggle-rhythm-ferret" "<%SECONDARY%>f") +; (gtk_accel_path "<Actions>/Editor/set-edit-point" "g") +; (gtk_accel_path "<Actions>/MouseMode/set-mouse-mode-gain" "g") +(gtk_accel_path "<Actions>/Editor/nudge-backward" "g") +(gtk_accel_path "<Actions>/Editor/nudge-forward" "h") +(gtk_accel_path "<Actions>/Common/ToggleKeyEditor" "<%SECONDARY%>k") +(gtk_accel_path "<Actions>/Common/ToggleLocations" "<%SECONDARY%>l") +(gtk_accel_path "<Actions>/Transport/Loop" "l") +(gtk_accel_path "<Actions>/Editor/lock-region" "<%LEVEL4%>l") +(gtk_accel_path "<Actions>/Editor/select-all-in-loop-range" "<%TERTIARY%>l") + +;; UNTERE ZEILE + +(gtk_accel_path "<Actions>/Editor/zoom-to-region" "y") +(gtk_accel_path "<Actions>/Editor/undo" "<%PRIMARY%>z") +(gtk_accel_path "<Actions>/Editor/zoom-to-session" "<%SECONDARY%>y") +(gtk_accel_path "<Actions>/Editor/toggle-zoom" "<%TERTIARY%>y") +(gtk_accel_path "<Actions>/Editor/editor-separate" "x") +(gtk_accel_path "<Actions>/Editor/editor-cut" "<%PRIMARY%>x") +(gtk_accel_path "<Actions>/Editor/crop" "c") +(gtk_accel_path "<Actions>/Editor/editor-copy" "<%PRIMARY%>c") +(gtk_accel_path "<Actions>/Common/ToggleColorManager" "<%SECONDARY%>c") +(gtk_accel_path "<Actions>/Editor/editor-paste" "<%PRIMARY%>v") +(gtk_accel_path "<Actions>/Editor/add-location-from-playhead" "b") +(gtk_accel_path "<Actions>/Common/ToggleBigClock" "<%SECONDARY%>b") +(gtk_accel_path "<Actions>/Editor/normalize-region" "n") +(gtk_accel_path "<Actions>/Main/New" "<%PRIMARY%>n") +(gtk_accel_path "<Actions>/Main/AddTrackBus" "<%PRIMARY%><%TERTIARY%>n") +(gtk_accel_path "<Actions>/Common/toggle-editor-mixer-on-top" "<%SECONDARY%>m") +(gtk_accel_path "<Actions>/Editor/mute-unmute-region" "m") + +;; arrow keys, navigation etc. + +(gtk_accel_path "<Actions>/Editor/playhead-to-edit" "Return") +(gtk_accel_path "<Actions>/Editor/edit-to-playhead" "<%SECONDARY%>Return") +(gtk_accel_path "<Actions>/Editor/editor-delete" "BackSpace") +(gtk_accel_path "<Actions>/Editor/remove-last-capture" "<%PRIMARY%>BackSpace") + +(gtk_accel_path "<Actions>/Editor/playhead-to-previous-region-boundary" "leftarrow") +(gtk_accel_path "<Actions>/Editor/playhead-backward-to-grid" "<%TERTIARY%><%LEVEL4%>leftarrow") +(gtk_accel_path "<Actions>/Editor/edit-cursor-to-previous-region-sync" "<%TERTIARY%><%SECONDARY%>leftarrow") +(gtk_accel_path "<Actions>/Transport/Rewind" "<%PRIMARY%>leftarrow") +(gtk_accel_path "<Actions>/Editor/tab-to-transient-backwards" "<%SECONDARY%>leftarrow") +(gtk_accel_path "<Actions>/Editor/nudge-playhead-backward" "<%TERTIARY%>leftarrow") +(gtk_accel_path "<Actions>/Editor/jump-backward-to-mark" "<%PRIMARY%><%SECONDARY%>leftarrow") + +(gtk_accel_path "<Actions>/Editor/selected-marker-to-previous-region-boundary" "<%PRIMARY%><%TERTIARY%>leftarrow") + +(gtk_accel_path "<Actions>/Editor/playhead-to-next-region-boundary" "rightarrow") +(gtk_accel_path "<Actions>/Editor/playhead-forward-to-grid" "<%TERTIARY%><%LEVEL4%>rightarrow") +(gtk_accel_path "<Actions>/Editor/edit-cursor-to-next-region-sync" "<%TERTIARY%><%SECONDARY%>leftarrow") +(gtk_accel_path "<Actions>/Transport/Forward" "<%PRIMARY%>rightarrow") +(gtk_accel_path "<Actions>/Editor/tab-to-transient-forwards" "<%SECONDARY%>rightarrow") +(gtk_accel_path "<Actions>/Editor/nudge-playhead-forward" "<%TERTIARY%>rightarrow") +(gtk_accel_path "<Actions>/Editor/jump-forward-to-mark" "<%PRIMARY%><%SECONDARY%>rightarrow") + +(gtk_accel_path "<Actions>/Editor/selected-marker-to-next-region-boundary" "<%PRIMARY%><%TERTIARY%>rightarrow") + + +(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/GotoEnd" "End") +(gtk_accel_path "<Actions>/Editor/select-all-after-edit-cursor" "<%PRIMARY%><%TERTIARY%>End") +(gtk_accel_path "<Actions>/Editor/select-all-after-playhead" "<%TERTIARY%>End") + +(gtk_accel_path "<Actions>/Transport/GotoStart" "Home") +(gtk_accel_path "<Actions>/Editor/select-all-before-edit-cursor" "<%PRIMARY%><%TERTIARY%>Home") +(gtk_accel_path "<Actions>/Editor/select-all-before-playhead" "<%TERTIARY%>Home") + +(gtk_accel_path "<Actions>/Editor/select-prev-route" "uparrow") +(gtk_accel_path "<Actions>/Transport/TransitionToRoll" "<%PRIMARY%>uparrow") +(gtk_accel_path "<Actions>/Editor/move-selected-tracks-up" "<%TERTIARY%>uparrow") +(gtk_accel_path "<Actions>/Editor/select-next-route" "downarrow") +(gtk_accel_path "<Actions>/Transport/TransitionToReverse" "<%PRIMARY%>downarrow") +(gtk_accel_path "<Actions>/Editor/move-selected-tracks-down" "<%TERTIARY%>downarrow") + +;; keypad + +(gtk_accel_path "<Actions>/Editor/finish-add-range" "<%TERTIARY%><%PRIMARY%>KP_Up") +(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>/Editor/nudge-next-backward" "<%PRIMARY%>KP_Subtract") +(gtk_accel_path "<Actions>/Editor/cut-region-gain" "j") + +; (gtk_accel_path "<Actions>/Editor/nudge-next-forward" "<%PRIMARY%>KP_Add") +(gtk_accel_path "<Actions>/Editor/boost-region-gain" "k") + +(gtk_accel_path "<Actions>/Transport/GotoZero" "KP_Insert") + +;; F-N keys + +; (gtk_accel_path "<Actions>/Editor/start-range" "F1") +; (gtk_accel_path "<Actions>/Editor/edit-cursor-to-range-start" "<%TERTIARY%>F1") +; (gtk_accel_path "<Actions>/Editor/finish-range" "F2") +; (gtk_accel_path "<Actions>/Editor/edit-cursor-to-range-end" "<%TERTIARY%>F2") +; (gtk_accel_path "<Actions>/Editor/brush-at-mouse" "F3") +(gtk_accel_path "<Actions>/Editor/step-mouse-mode" "F1") +(gtk_accel_path "<Actions>/Common/ToggleMaximalEditor" "F2") + + + + +;; 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/ToggleAutoPlay" "4") +(gtk_accel_path "<Actions>/Transport/ToggleAutoReturn" "5") +(gtk_accel_path "<Actions>/Transport/ToggleAutoInput" "6") +(gtk_accel_path "<Actions>/Transport/ToggleClick" "7") + +(gtk_accel_path "<Actions>/Editor/set-loop-from-edit-range" "8") +(gtk_accel_path "<Actions>/Editor/set-loop-from-region" "<%LEVEL4%>8") +; (gtk_accel_path "<Actions>/Editor/loop-region" "<%PRIMARY%>8") + +(gtk_accel_path "<Actions>/Editor/set-punch-from-edit-range" "9") +(gtk_accel_path "<Actions>/Editor/set-punch-from-region" "<%LEVEL4%>9") + +(gtk_accel_path "<Actions>/Editor/set-tempo-from-region" "<%LEVEL4%>0") +(gtk_accel_path "<Actions>/Editor/set-tempo-from-edit-range" "0") + diff --git a/gtk2_ardour/SAE-us.bindings.in b/gtk2_ardour/SAE-us.bindings.in deleted file mode 100644 index a8c3f1fe0e..0000000000 --- a/gtk2_ardour/SAE-us.bindings.in +++ /dev/null @@ -1,346 +0,0 @@ -; ardour GtkAccelMap rc-file -*- scheme -*- -; this file is an automated accelerator map dump -; -; (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" "") -(gtk_accel_path "<Actions>/Editor/cycle-edit-point" "grave") -(gtk_accel_path "<Actions>/Editor/cycle-edit-point-with-marker" "<%SECONDARY%>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>/processormenu/copy" "") -; (gtk_accel_path "<Actions>/options/MeterFalloffFaster" "") -(gtk_accel_path "<Actions>/Transport/ToggleRollForgetCapture" "<%PRIMARY%>space") -(gtk_accel_path "<Actions>/Transport/record-roll" "<%TERTIARY%>space") -(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>/Editor/addExistingAudioFiles" "<%SECONDARY%>i") -; (gtk_accel_path "<Actions>/options/MeterFalloffSlow" "") -; (gtk_accel_path "<Actions>/RegionList/rlHide" "") -; (gtk_accel_path "<Actions>/Main/Metering" "") -(gtk_accel_path "<Actions>/Editor/playhead-to-next-region-boundary" "rightarrow") -(gtk_accel_path "<Actions>/Editor/selected-marker-to-next-region-boundary" "<%PRIMARY%><%TERTIARY%>rightarrow") -; (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>/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" "<%PRIMARY%><%SECONDARY%>n") -(gtk_accel_path "<Actions>/Editor/align-regions-end" "<%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>/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/play-selected-regions" "w") -(gtk_accel_path "<Actions>/Editor/play-edit-range" "<%SECONDARY%>w") -(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>/Editor/editor-paste" "<%PRIMARY%>v") -(gtk_accel_path "<Actions>/Editor/scroll-tracks-down" "Page_Down") -(gtk_accel_path "<Actions>/Editor/select-next-route" "downarrow") -(gtk_accel_path "<Actions>/Editor/select-prev-route" "uparrow") -; (gtk_accel_path "<Actions>/Snap/snap-to-smpte-minutes" "") -; (gtk_accel_path "<Actions>/Main/FlushWastebasket" "") -(gtk_accel_path "<Actions>/Editor/normalize-region" "n") -(gtk_accel_path "<Actions>/Editor/nudge-forward" "h") -; (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" "g") -; (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" "g") -; (gtk_accel_path "<Actions>/Editor/Smpte30drop" "") -; (gtk_accel_path "<Actions>/Zoom/zoom-focus-edit" "") -(gtk_accel_path "<Actions>/Editor/playhead-to-previous-region-boundary" "leftarrow") -(gtk_accel_path "<Actions>/Editor/selected-marker-to-previous-region-boundary" "<%PRIMARY%><%TERTIARY%>leftarrow") -; (gtk_accel_path "<Actions>/Editor/EditCursorMovementOptions" "") -; (gtk_accel_path "<Actions>/processormenu/activate_all" "") -; (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/toggle-xfades-visible" "") -(gtk_accel_path "<Actions>/Editor/extend-range-to-end-of-region" "rightanglebracket") -(gtk_accel_path "<Actions>/Editor/start-range" "F1") -; (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/scroll-playhead-forward" "<%TERTIARY%>rightarrow") -(gtk_accel_path "<Actions>/Editor/align-regions-sync-relative" "<%SECONDARY%>less") -(gtk_accel_path "<Actions>/Editor/align-regions-sync" "less") -; (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>/Transport/GotoStart" "Home") -(gtk_accel_path "<Actions>/Editor/select-all-before-edit-cursor" "<%TERTIARY%>Home") -(gtk_accel_path "<Actions>/Editor/scroll-playhead-backward" "<%TERTIARY%>leftarrow") -(gtk_accel_path "<Actions>/Editor/split-region" "z") -; (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>/Main/Windows" "") -; (gtk_accel_path "<Actions>/Main/CleanupUnused" "") -; (gtk_accel_path "<Actions>/processormenu/deselectall" "") -; (gtk_accel_path "<Actions>/options/SoloViaBus" "") -; (gtk_accel_path "<Actions>/RegionList/rlAudition" "") -(gtk_accel_path "<Actions>/Editor/set-region-sync-position" "u") -; (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>/Editor/editor-separate" "F4") -; (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" "F14") -(gtk_accel_path "<Actions>/Editor/invert-selection" "F15") -(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" "F2") -(gtk_accel_path "<Actions>/Editor/select-range-between-cursors" "F16") -(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>/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>/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>/Zoom/zoom-focus-left" "") -; (gtk_accel_path "<Actions>/Main/TransportOptions" "") -; (gtk_accel_path "<Actions>/Main/ControlSurfaces" "") -; (gtk_accel_path "<Actions>/options/FileHeaderFormatBWF" "") -; (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>/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" "t") -; (gtk_accel_path "<Actions>/JACK/Latency" "") -(gtk_accel_path "<Actions>/Editor/edit-cursor-to-range-end" "<%TERTIARY%>F2") -; (gtk_accel_path "<Actions>/processormenu/rename" "") -; (gtk_accel_path "<Actions>/RegionList/rlShowAuto" "") -(gtk_accel_path "<Actions>/Editor/select-all-before-playhead" "<%PRIMARY%>p") -; (gtk_accel_path "<Actions>/Main/Session" "") -(gtk_accel_path "<Actions>/Editor/edit-cursor-to-range-start" "<%TERTIARY%>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>/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>/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>/RegionList/SortBySourceFileCreationDate" "") -; (gtk_accel_path "<Actions>/processormenu/activate" "") -(gtk_accel_path "<Actions>/Editor/extend-range-to-start-of-region" "leftanglebracket") -; (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>/Editor/multi-duplicate-region" "<%SECONDARY%>d") -; (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>/Editor/select-all-after-edit-cursor" "<%TERTIARY%>End") -; (gtk_accel_path "<Actions>/processormenu/cut" "") -; (gtk_accel_path "<Actions>/processormenu/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" "") -; (gtk_accel_path "<Actions>/options/StopTransportAtEndOfSession" "") -; (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" "F3") -; (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>/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" "BackSpace") -; (gtk_accel_path "<Actions>/JACK/JACKLatency256" "") -(gtk_accel_path "<Actions>/Editor/select-all-between-cursors" "F16") -; (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>/Snap/snap-to-quarters" "") -(gtk_accel_path "<Actions>/Editor/temporal-zoom-out" "r") -; (gtk_accel_path "<Actions>/options/UseSoftwareMonitoring" "") -; (gtk_accel_path "<Actions>/Editor/Subframes100" "") -(gtk_accel_path "<Actions>/Editor/mute-unmute-region" "<%SECONDARY%>m") -(gtk_accel_path "<Actions>/Editor/add-location-from-playhead" "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>/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>/options/InputAutoConnectManual" "") -; (gtk_accel_path "<Actions>/options/MeterHoldLong" "") -; (gtk_accel_path "<Actions>/Snap/snap-to-seconds" "") -(gtk_accel_path "<Actions>/Editor/set-fade-in-length" "q") -(gtk_accel_path "<Actions>/Editor/toggle-fade-in-active" "<%SECONDARY%>q") -(gtk_accel_path "<Actions>/Editor/set-fade-out-length" "e") -(gtk_accel_path "<Actions>/Editor/toggle-fade-out-active" "<%SECONDARY%>e") -(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/loop-region" "<%PRIMARY%>bracketright") -(gtk_accel_path "<Actions>/Editor/toggle-zoom" "o") -(gtk_accel_path "<Actions>/Editor/zoom-to-region" "y") -(gtk_accel_path "<Actions>/Editor/pitch-shift-region" "F5") -(gtk_accel_path "<Actions>/Editor/play-from-edit-point-and-return" "<%LEVEL4%>space") - diff --git a/gtk2_ardour/SConscript b/gtk2_ardour/SConscript index f8089d099e..ea649dea6a 100644 --- a/gtk2_ardour/SConscript +++ b/gtk2_ardour/SConscript @@ -204,6 +204,7 @@ midi_streamview.cc midi_time_axis.cc mixer_strip.cc mixer_ui.cc +nag.cc new_session_dialog.cc option_editor.cc opts.cc @@ -402,8 +403,28 @@ for style in ['', 'BOLD', 'ITALIC']: key = '%' + key + '%' my_font_dict[key] = fontstyle -ardour_dark_theme = env.SubstInFile ('ardour3_ui_dark.rc', 'ardour3_ui_dark.rc.in', SUBST_DICT = my_font_dict) -ardour_light_theme = env.SubstInFile ('ardour3_ui_light.rc', 'ardour3_ui_light.rc.in', SUBST_DICT = my_font_dict) +# +# create menus based on build platform +# + +if env['GTKOSX']: + ardour_menus = env.Command ('ardour.menus', 'ardour.menus.in', "cpp -E -P -DGTKOSX -DTOP_MENUBAR ardour.menus.in ardour.menus", chdir=1) +else: + ardour_menus = env.Command ('ardour.menus', 'ardour.menus.in', "cpp -E -P ardour.menus.in ardour.menus", chdir=1) + +ardour_dark_theme = env.SubstInFile ('ardour3_ui_dark.rc', + 'ardour3_ui_dark.rc.in', + SUBST_DICT = my_font_dict) +ardour_light_theme = env.SubstInFile ('ardour3_ui_light.rc', + 'ardour3_ui_light.rc.in', + SUBST_DICT = my_font_dict) + +ardour_dark_sae_theme = env.SubstInFile ('ardour3_ui_dark_sae.rc', + 'ardour3_ui_dark_sae.rc.in', + SUBST_DICT = my_font_dict) +ardour_light_sae_theme = env.SubstInFile ('ardour3_ui_light_sae.rc', + 'ardour3_ui_light_sae.rc.in', + SUBST_DICT = my_font_dict) my_subst_dict = { } @@ -436,7 +457,7 @@ else: keybindings_dict['%LEVEL4%'] = env['WINDOWS_KEY'] keybindings_dict['%WINDOW%'] = 'Alt' -for b in [ 'SAE-de', 'SAE-us', 'mnemonic-us', 'ergonomic-us' ]: +for b in [ 'SAE-de-keypad', 'SAE-de-nokeypad', 'SAE-us-keypad', 'SAE-us-nokeypad', 'mnemonic-us', 'ergonomic-us' ]: target_file = b + '.bindings' src_file = target_file + '.in' Default (env.SubstInFile (target_file, src_file, SUBST_DICT = keybindings_dict)) @@ -455,6 +476,9 @@ Default(ardourdev) Default(ardoursh) Default(ardour_dark_theme) Default(ardour_light_theme) +Default(ardour_dark_sae_theme) +Default(ardour_light_sae_theme) +Default(ardour_menus) if env['VST']: Default(ardourlib) @@ -480,12 +504,17 @@ if env['NLS']: # configuration files env.Alias('install', env.Install(os.path.join(config_prefix, 'ardour3'), ardour_dark_theme)) env.Alias('install', env.Install(os.path.join(config_prefix, 'ardour3'), ardour_light_theme)) +env.Alias('install', env.Install(os.path.join(config_prefix, 'ardour3'), ardour_dark_sae_theme)) +env.Alias('install', env.Install(os.path.join(config_prefix, 'ardour3'), ardour_light_sae_theme)) env.Alias('install', env.Install(os.path.join(config_prefix, 'ardour3'), 'ardour3_ui_default.conf')) env.Alias('install', env.Install(os.path.join(config_prefix, 'ardour3'), 'ardour.menus')) env.Alias('install', env.Install(os.path.join(config_prefix, 'ardour3'), 'ardour-sae.menus')) env.Alias('install', env.Install(os.path.join(config_prefix, 'ardour3'), 'ergonomic-us.bindings')) env.Alias('install', env.Install(os.path.join(config_prefix, 'ardour3'), 'mnemonic-us.bindings')) -env.Alias('install', env.Install(os.path.join(config_prefix, 'ardour3'), 'SAE-de.bindings')) +env.Alias('install', env.Install(os.path.join(config_prefix, 'ardour3'), 'SAE-de-keypad.bindings')) +env.Alias('install', env.Install(os.path.join(config_prefix, 'ardour3'), 'SAE-us-keypad.bindings')) +env.Alias('install', env.Install(os.path.join(config_prefix, 'ardour3'), 'SAE-de-nokeypad.bindings')) +env.Alias('install', env.Install(os.path.join(config_prefix, 'ardour3'), 'SAE-us-nokeypad.bindings')) # data files env.Alias('install', env.Install(os.path.join(install_prefix, 'share', 'ardour3'), 'splash.png')) env.Alias('install', env.Install(os.path.join(install_prefix, 'share', 'ardour3', 'pixmaps'), pixmap_files)) @@ -539,12 +568,19 @@ env.Alias ('tarball', env.Distribute (env['DISTTREE'], 'ardour.sh.in', 'ardev_common.sh.in', 'ardev', 'ardbg', - 'ardour3_ui_dark.rc.in', 'ardour3_ui_light.rc.in', 'splash.png', - 'ardour.menus', 'ardour-sae.menus', + 'ardour3_ui_dark.rc.in', + 'ardour3_ui_light.rc.in', + 'ardour3_ui_dark_sae.rc.in', + 'ardour3_ui_light_sae.rc.in', + 'splash.png', + 'ardour.menus.in', + 'ardour-sae.menus', 'mnemonic-us.bindings.in', 'ergonomic-us.bindings.in', - 'SAE-us.bindings.in', - 'SAE-de.bindings.in', + 'SAE-us-keypad.bindings.in', + 'SAE-us-nokeypad.bindings.in', + 'SAE-de-keypad.bindings.in', + 'SAE-de-nokeypad.bindings.in', 'ardour3_ui_default.conf', 'editor_xpms', 'ardour2.xml', @@ -556,6 +592,7 @@ env.Alias ('tarball', env.Distribute (env['DISTTREE'], icon_files + skipped_files + audiounit_files + + lv2_files + gtkosx_files + x11_files + freesound_files + diff --git a/gtk2_ardour/about.cc b/gtk2_ardour/about.cc index 7d41847e14..4f08036bd7 100644 --- a/gtk2_ardour/about.cc +++ b/gtk2_ardour/about.cc @@ -120,52 +120,56 @@ static const gchar * paypal_xpm[] = { #endif static const char* authors[] = { - N_("Paul Davis"), - N_("Jesse Chappell"), - N_("Taybin Rutkin"), + N_("Brian Ahr"), + N_("John Anderson"), N_("Marcus Andersson"), + N_("Nedko Arnaudov"), + N_("Hans Baier"), + N_("Ben Bell"), + N_("Sakari Bergen"), + N_("Chris Cannam"), + N_("Jesse Chappell"), + N_("Thomas Charbonnel"), + N_("Sam Chessman"), + N_("Paul Davis"), + N_("Gerard van Dongen"), + N_("Colin Fletcher"), + N_("Hans Fugal"), + N_("Christopher George"), N_("Jeremy Hall"), + N_("Audun Halland"), N_("Steve Harris"), - N_("Tim Mayberry"), - N_("Mark Stewart"), - N_("Sam Chessman"), - N_("Jack O'Quin"), + N_("Carl Hetherington"), + N_("Rob Holland"), + N_("Robert Jordens"), + N_("Stefan Kersten"), + N_("Armand Klenk"), N_("Matt Krai"), - N_("Ben Bell"), - N_("Gerard van Dongen"), - N_("Thomas Charbonnel"), - N_("Nick Mainsbridge"), N_("Colin Law"), - N_("Sampo Savolainen"), N_("Joshua Leach"), - N_("Rob Holland"), - N_("Per Sigmond"), - N_("Doug Mclain"), - N_("Petter Sundlöf"), - N_("Thorsten Wilms"), N_("Ben Loftis"), - N_("Stefan Kersten"), - N_("Christopher George"), - N_("Robert Jordens"), - N_("Dave Robillard"), - N_("Hans Baier"), - N_("Hans Fugal"), - N_("Brian Ahr"), + N_("Nick Mainsbridge"), + N_("Tim Mayberry"), + N_("Doug Mclain"), + N_("Jack O'Quin"), N_("Nimal Ratnayake"), - N_("Mike Täht"), - N_("John Anderson"), - N_("Nedko Arnaudov"), - N_("Carl Hetherington"), - N_("Colin Fletcher"), + N_("Dave Robillard"), + N_("Taybin Rutkin"), + N_("Sampo Savolainen"), + N_("Per Sigmond"), + N_("Lincoln Spiteri"), + N_("Mark Stewart"), N_("Roland Stigge"), - N_("Audun Halland"), - N_("Armand Klenk"), - 0 + N_("Petter Sundlöf"), + N_("Mike Täht"), + N_("Thorsten Wilms"), }; static const char* translators[] = { N_("French:\n\tAlain Fréhel <alain.frehel@free.fr>\n\tChristophe Combelles <ccomb@free.fr>\n"), - N_("German:\n\tKarsten Petersen <kapet@kapet.de>\n\tSebastian Arnold <mail@sebastian-arnold.net>\n"), + N_("German:\n\tKarsten Petersen <kapet@kapet.de>\ +\n\tSebastian Arnold <mail@sebastian-arnold.net>\ +\n\tRobert Schwede<schwede@ironshark.com>\n"), N_("Italian:\n\tFilippo Pappalardo <filippo@email.it>\n"), N_("Portuguese:\n\tRui Nuno Capela <rncbc@rncbc.org>\n"), N_("Brazilian Portuguese:\n\tAlexander da Franca Fernandes <alexander@nautae.eti.br>\ diff --git a/gtk2_ardour/ardev_common.sh.in b/gtk2_ardour/ardev_common.sh.in index 3e223fe8cc..28eaad39c7 100644 --- a/gtk2_ardour/ardev_common.sh.in +++ b/gtk2_ardour/ardev_common.sh.in @@ -4,14 +4,18 @@ cd `dirname "$0"`/.. export ARDOUR_PATH=gtk2_ardour/icons:gtk2_ardour/pixmaps:gtk2_ardour:. export ARDOUR_DATA_PATH=gtk2_ardour:. -export GTK_PATH=libs/clearlooks +if test -d $HOME/gtk/inst ; then + echo USING NEW CLEARLOOKS + export GTK_PATH=~/.ardour2:libs/clearlooks-newer +else + echo USING OLD CLEARLOOKS + export GTK_PATH=~/.ardour2:libs/clearlooks-older +fi export VAMP_PATH=libs/vamp-plugins:$VAMP_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:libs/cairomm:libs/taglib:libs/evoral:$LD_LIBRARY_PATH # DYLD_LIBRARY_PATH is for darwin. export DYLD_FALLBACK_LIBRARY_PATH=$LD_LIBRARY_PATH -# For the internal clearlooks engine -export GTK_PATH=$PWD/libs/clearlooks:~/.ardour3 EXECUTABLE=gtk2_ardour/ardour-%VERSION% diff --git a/gtk2_ardour/ardour-sae.menus b/gtk2_ardour/ardour-sae.menus index 021d8c3b0e..2a73c4c16a 100644 --- a/gtk2_ardour/ardour-sae.menus +++ b/gtk2_ardour/ardour-sae.menus @@ -161,6 +161,9 @@ <menuitem action='toggle-fade-in-active'/> <menuitem action='set-fade-out-length'/> <menuitem action='toggle-fade-out-active'/> + <separator/> + <menuitem action='toggle-selected-region-fades'/> + <menuitem action='toggle-region-fades'/> </menu> <menu action="SelectMenu"> <menuitem action='select-all'/> @@ -172,10 +175,14 @@ <menuitem action='select-all-within-cursors'/> <menuitem action='select-all-in-punch-range'/> <menuitem action='select-all-in-loop-range'/> + <separator/> + <menuitem action='select-next-route'/> + <menuitem action='select-prev-route'/> </menu> </menu> <menu action='TrackMenu'> + <menuitem action='remove-track'/> <menuitem action='AddTrackBus'/> <menuitem action="move-selected-tracks-up"/> <menuitem action="move-selected-tracks-down"/> @@ -193,7 +200,6 @@ <menuitem action='logarithmic-waveforms'/> </menu> <menuitem action='toggle-track-active'/> - <menuitem action='remove-track'/> </menu> <menu action='RegionMenu'> @@ -266,8 +272,8 @@ </menu> <menu action="WindowMenu"> - <menuitem action='goto-editor'/> - <menuitem action='goto-mixer'/> + + <menuitem action='toggle-editor-mixer-on-top'/> <menuitem action='ToggleLocations'/> <menuitem action='ToggleKeyEditor'/> <menuitem action='ToggleThemeManager'/> @@ -306,17 +312,16 @@ <menuitem action='edit-at-selected-marker'/> </menu> <menu action='KeyMouseActions'> - <menuitem action='select-next-route'/> - <menuitem action='select-prev-route'/> <menuitem action='focus-on-clock'/> <menuitem action='GotoZero'/> <menuitem action='GotoStart'/> <menuitem action='GotoEnd'/> + <separator/> + <menuitem action='step-mouse-mode'/> <menuitem action='set-mouse-mode-object'/> - <menuitem action='set-mouse-mode-range'/> - <menuitem action='set-mouse-mode-gain'/> <menuitem action='set-mouse-mode-zoom'/> <menuitem action='set-mouse-mode-timefx'/> + <separator/> <menuitem action='cycle-edit-point'/> <menuitem action='cycle-edit-point-with-marker'/> <menuitem action='toggle-edit-mode'/> @@ -331,7 +336,6 @@ </menubar> -<<<<<<< .working <popup action="RulerMenuPopup"> <menuitem action="toggle-minsec-ruler"/> <menuitem action="toggle-samples-ruler"/> @@ -345,21 +349,8 @@ </popup> <popup name='processormenu'> -======= - <popup action="RulerMenuPopup"> - <menuitem action="toggle-minsec-ruler"/> - <menuitem action="toggle-samples-ruler"/> - <menuitem action="toggle-bbt-ruler"/> + <menuitem action='delete'/> <separator/> - <menuitem action="toggle-meter-ruler"/> - <menuitem action="toggle-tempo-ruler"/> - <menuitem action="toggle-loop-punch-ruler"/> - <menuitem action="toggle-cd-marker-ruler"/> - <menuitem action="toggle-marker-ruler"/> - </popup> - - <popup name='redirectmenu'> ->>>>>>> .merge-right.r3622 <menuitem action='newplugin'/> <menuitem action='newinsert'/> <menuitem action='newsend'/> @@ -369,7 +360,6 @@ <menuitem action='cut'/> <menuitem action='copy'/> <menuitem action='paste'/> - <menuitem action='delete'/> <separator/> <menuitem action='rename'/> <separator/> diff --git a/gtk2_ardour/ardour.menus b/gtk2_ardour/ardour.menus.in index e1209296d6..3f00dbcb2f 100644 --- a/gtk2_ardour/ardour.menus +++ b/gtk2_ardour/ardour.menus.in @@ -10,18 +10,15 @@ <menuitem action='Save'/> <menuitem action='Snapshot'/> <menuitem action='SaveTemplate'/> - <menu name='Metadata' action='Metadata'> - <menuitem action='EditMetadata'/> - <menuitem action='ImportMetadata'/> - </menu> <separator/> <menuitem action='AddTrackBus'/> <separator/> <menuitem action='addExistingAudioFiles'/> - <menuitem action='importFromSession'/> <separator/> <menu name='Export' action='Export'> - <menuitem action='ExportAudio'/> + <menuitem action='ExportSession'/> + <menuitem action='ExportSelection'/> + <menuitem action='ExportRangeMarkers'/> </menu> <separator/> <menu name='Cleanup' action='Cleanup'> @@ -29,6 +26,10 @@ <menuitem action='FlushWastebasket'/> </menu> <separator/> +#ifdef GTKOSX + <menuitem action='ToggleOptionsEditor'/> + <menuitem action='About'/> +#endif <menuitem action='Quit'/> </menu> @@ -59,6 +60,7 @@ <menuitem action='TransitionToReverse'/> <separator/> + <menu action="MovePlayHeadMenu"> <menuitem action='set-playhead'/> <menuitem action='playhead-to-edit'/> @@ -85,7 +87,6 @@ <menuitem action='GotoStart'/> <menuitem action='GotoEnd'/> <menuitem action='GotoWallClock'/> - </menu> <menu action="MoveActiveMarkMenu"> @@ -194,6 +195,7 @@ <menuitem action='select-prev-route'/> <menuitem action='brush-at-mouse'/> <separator/> + <menuitem action='step-mouse-mode'/> <menuitem action='set-mouse-mode-object'/> <menuitem action='set-mouse-mode-range'/> <menuitem action='set-mouse-mode-gain'/> @@ -209,6 +211,10 @@ <separator/> <menuitem action='break-drag'/> </menu> +#ifndef GTKOSX + <separator/> + <menuitem action='ToggleOptionsEditor'/> +#endif </menu> <menu action='RegionMenu'> @@ -236,6 +242,11 @@ <menuitem action='duplicate-region'/> <menuitem action='multi-duplicate-region'/> <menuitem action='region-fill-track'/> + <separator/> + <menuitem action='loop-region'/> + <menuitem action='set-punch-from-region'/> + <menuitem action='add-range-marker-from-region'/> + <menuitem action='add-range-markers-from-region'/> </menu> <menu action='TrackMenu'> @@ -379,7 +390,6 @@ <menuitem action='ToggleMaximalEditor'/> <menuitem action='show-editor-mixer'/> - <menuitem action='show-editor-list'/> <menuitem action='ToggleMeasureVisibility'/> <menuitem action='toggle-waveform-visible'/> <menuitem action='ToggleWaveformsWhileRecording'/> @@ -406,11 +416,10 @@ <separator/> <menuitem action='goto-editor'/> <menuitem action='goto-mixer'/> - <menuitem action='ToggleOptionsEditor'/> + <menuitem action='toggle-editor-mixer-on-top'/> <menuitem action='ToggleInspector'/> <menuitem action='ToggleLocations'/> <menuitem action='ToggleKeyEditor'/> - <menuitem action='ToggleBundleManager'/> <menuitem action='ToggleThemeManager'/> <menuitem action='ToggleBigClock'/> <menuitem action='toggle-rhythm-ferret'/> @@ -432,7 +441,6 @@ </menu> <menu action='SyncMenu'> <menuitem action='SendMTC'/> - <menuitem action='SendMidiClock'/> <menuitem action='SendMMC'/> <menuitem action='UseMMC'/> </menu> @@ -513,6 +521,7 @@ <menuitem action='SoloInPlace'/> <menuitem action='SoloViaBus'/> <menuitem action='ShowSoloMutes'/> + <menuitem action='SoloMuteOverride'/> </menu> <menu action='Crossfades'> <menuitem action='toggle-xfades-active'/> @@ -539,6 +548,7 @@ <menu action='MiscOptions'> <menuitem action='UseOSC'/> <menuitem action='StopPluginsWithTransport'/> + <menuitem action='NewPluginsActive'/> <menuitem action='DoNotRunPluginsWhileRecording'/> <menuitem action='LatchedRecordEnable'/> <menuitem action='RegionEquivalentsOverlap'/> @@ -551,9 +561,9 @@ <menuitem action='PrimaryClockDeltaEditCursor'/> <menuitem action='SecondaryClockDeltaEditCursor'/> <menuitem action='OnlyCopyImportedFiles'/> - <menuitem action='ShowTrackMeters'/> <menuitem action='DefaultNarrowMS'/> <menuitem action='link-region-and-track-selection'/> + <menuitem action='NameNewMarkers'/> <menuitem action='RubberbandingSnapsToGrid'/> <menuitem action='AutoAnalyseAudio'/> <menuitem action='toggle-region-fades'/> @@ -579,7 +589,7 @@ <menuitem action="toggle-loop-punch-ruler"/> </popup> - <popup name='processormenu'> + <popup name='redirectmenu'> <menuitem action='newplugin'/> <menuitem action='newinsert'/> <menuitem action='newsend'/> diff --git a/gtk2_ardour/ardour.sh.in b/gtk2_ardour/ardour.sh.in index 4a7219823c..077073bdf6 100644 --- a/gtk2_ardour/ardour.sh.in +++ b/gtk2_ardour/ardour.sh.in @@ -18,6 +18,25 @@ if [ "$MLOCK_LIMIT" != "unlimited" ]; then fi +## Glib atomic test + +GLIB=$(ldd %INSTALL_PREFIX%/%LIBDIR%/ardour2/ardour-%VERSION% 2> /dev/null | grep glib-2.0 | sed 's/.*=> \([^ ]*\) .*/\1/') + +if [ "$GLIB" = "" ]; then + echo "WARNING: Could not check your glib-2.0 for mutex locking atomic operations." + echo "" +elif [ $(nm -D --radix=dec --defined-only -S $GLIB | grep -w g_atomic_int_add | cut -d ' ' -f 2) -gt 32 ]; then + echo "WARNING: Your system contains a suspect libglib-2.0. Your version might be built" + echo " to use mutex locking atomic operations. This is a fallback solution to" + echo " a more robust hardware supported atomicity. It might cause reduced " + echo " performance and/or deadlocks. Please contact your distribution support" + echo " about this issue." + echo " Unfortunately this check is not 100% accurate, so this might not be" + echo " the case with your system." + echo "" +fi + +exec %INSTALL_PREFIX%/%LIBDIR%/ardour2/ardour-%VERSION% "$@" ## Glib atomic test diff --git a/gtk2_ardour/ardour2_ui_dark_sae.rc.in b/gtk2_ardour/ardour2_ui_dark_sae.rc.in new file mode 100644 index 0000000000..1b0635a1b9 --- /dev/null +++ b/gtk2_ardour/ardour2_ui_dark_sae.rc.in @@ -0,0 +1,1587 @@ +# +# This is the GTK style file for Ardour +# + +style "very_small_text" +{ + font_name = "%FONT_SMALLER%" +} + +style "small_text" +{ + font_name = "%FONT_SMALL%" +} + +style "small_bold_text" +{ + font_name = "%FONT_BOLD_SMALL%" +} + +style "medium_bold_text" +{ + font_name = "%FONT_BOLD_NORMAL%" +} + +style "medium_text" +{ + font_name = "%FONT_NORMAL%" +} + +style "red_medium_text" = "medium_text" +{ + fg[NORMAL] = { 1.0, 0, 0 } + fg[ACTIVE] = { 1.0, 0, 0 } + fg[SELECTED] = { 1.0, 0, 0 } +} + +style "large_text" +{ + font_name = "%FONT_LARGE%" +} + +style "larger_bold_text" +{ + font_name = "%FONT_BOLD_BIGGER%" +} + +style "plugin_name_text" +{ + font_name = "%FONT_BOLD_LARGER%" + fg[NORMAL] = { 0.80, 0.80, 0.80 } +} + +style "plugin_maker_text" +{ + font_name = "%FONT_BOLD_BIGGER%" + fg[NORMAL] = { 0.80, 0.80, 0.80 } +} + +style "automation_track_name" +{ + font_name = "%FONT_ITALIC_NORMAL%" +} + +style "first_action_message" +{ + font_name = "%FONT_HUGER%" +} + +style "verbose_canvas_cursor" +{ + font_name = "%FONT_BOLD_LARGER%" +} + +style "marker_text" +{ + font_name = "%FONT_SMALLER%" +} + +style "time_axis_view_item_name" +{ + font_name = "%FONT_SMALLER%" +} + +style "default_base" = "medium_text" +{ + + GtkWidget::cursor_color = {1.0, 1.0, 1.0 } + GtkButton::default_border = { 0, 0, 0, 0 } + GtkButton::default_outside_border = { 0, 0, 0, 0 } + GtkButton::button_relief = GTK_RELIEF_NONE + GtkTreeView::vertical-padding = 0 + GtkTreeView::horizontal-padding = 0 + GtkTreeView::even-row-color = { 0, 0, 0 } + GtkTreeView::odd-row-color = { 0.06, 0.06, 0.10 } + + fg[NORMAL] = { 0.80, 0.80, 0.80 } + fg[ACTIVE] = { 0.80, 0.80, 0.80 } + fg[PRELIGHT] = { 1.0, 1.0, 1.0 } + fg[INSENSITIVE] = { 0.80, 0.80, 0.80 } + fg[SELECTED] = { 0.80, 0.80, 0.80 } + + bg[NORMAL] = { 0.35, 0.35, 0.40 } + bg[ACTIVE] = { 0.35, 0.35, 0.40 } + bg[PRELIGHT] = "#565690" + bg[INSENSITIVE] = { 0.10, 0.10, 0.10 } + bg[SELECTED] = { 0, 0.40, 0.60 } + + text[NORMAL] = { 0.80, 0.80, 0.80 } + text[ACTIVE] = { 0.80, 0.80, 0.80 } + text[PRELIGHT] = { 0.80, 0.80, 0.80 } + text[INSENSITIVE] = { 0.80, 0.80, 0.80} + text[SELECTED] = { 1.0, 1.0, 1.0 } + + base[ACTIVE] = "#272a2f" + base[NORMAL] = "#1a1e20" + base[PRELIGHT] = { 0.20, 0.20, 0.20 } + base[INSENSITIVE] = "#4c5159" + base[SELECTED] = { 0.25, 0.25, 0.25 } + + engine "clearlooks" + { + menubarstyle = 0 # 0 = flat, 1 = sunken, 2 = flat gradient + } +} + +style "base_frame" +{ + fg[NORMAL] = { 0.80, 0.80, 0.80 } + bg[NORMAL] = { 0.35, 0.35, 0.40 } +} + +style "transport_base" = "medium_bold_text" +{ + bg[NORMAL] = { 0.10, 0.10, 0.10 } + bg[ACTIVE] = { 0, 0, 0 } + bg[PRELIGHT] = { 0, 0, 0 } + bg[INSENSITIVE] = { 0, 0, 0 } + bg[SELECTED] = { 0, 0, 0 } +} +/* +style "black_mackie_menu_bar" +{ + font_name = "%FONT_BOLD_NORMAL%" + fg[NORMAL] = { 1.0, 1.0, 1.0 } + bg[NORMAL] = { 0, 0, 0 } +} +*/ + +style "default_button" +{ + font_name = "%FONT_SMALL%" + fg[ACTIVE] = { 1.0, 1.0, 1.0 } + + bg[NORMAL] = { 0.30, 0.30, 0.35 } + bg[ACTIVE] = "#565690" + bg[PRELIGHT] = { 0.15, 0.15, 0.20 } + bg[INSENSITIVE] = { 0.15, 0.15, 0.20 } + bg[SELECTED] = { 0.15, 0.15, 0.20 } +} + +style "default_menu" +{ + font_name = "%FONT_NORMAL%" + fg[ACTIVE] = { 1.0, 1.0, 1.0 } + + bg[NORMAL] = { 0.30, 0.30, 0.35 } + bg[ACTIVE] = "#565690" + bg[PRELIGHT] = { 0.15, 0.15, 0.20 } + bg[INSENSITIVE] = { 0.15, 0.15, 0.20 } + bg[SELECTED] = { 0.15, 0.15, 0.20 } +} + +style "default_generic" +{ + font_name = "%FONT_NORMAL%" + fg[ACTIVE] = { 1.0, 1.0, 1.0 } + + bg[NORMAL] = { 0.30, 0.30, 0.35 } + bg[ACTIVE] = "#565690" + bg[PRELIGHT] = { 0.15, 0.15, 0.20 } + bg[INSENSITIVE] = { 0.15, 0.15, 0.20 } + bg[SELECTED] = { 0.15, 0.15, 0.20 } +} + +style "very_small_button" = "default_button" +{ + font_name = "%FONT_SMALLER%" + ythickness = 0 + xthickness = 0 +} + +style "small_button" = "default_button" +{ +} + +style "very_small_red_active_and_selected_button" = "very_small_button" +{ + bg[ACTIVE] = { 1.0, 0, 0} + bg[SELECTED] = { 1.0, 0, 0} +} + +style "small_red_active_and_selected_button" = "small_button" +{ + fg[ACTIVE] = { 0, 0, 0 } + bg[ACTIVE] = { 1.0, 0, 0} + bg[SELECTED] = { 1.0, 0, 0} +} + +style "gain_fader" +{ + bg[NORMAL] = { 0.269, 0.269, 0.300} + bg[ACTIVE] = { 0.152, 0.152, 0.168 } +} + + +style "track_rec_enable_button" = "small_button" +{ +} + +style "track_rec_enable_button_active" = "small_button" +{ + fg[SELECTED] = { 0.0, 0.0, 0.0 } + fg[ACTIVE] = { 0.0, 0.0, 0.0 } + fg[PRELIGHT] = { 0.0, 0.0, 0.0 } + fg[NORMAL] = { 0.0, 0.0, 0.0 } + + bg[NORMAL] = { 1.0, 0.0, 0.0 } + bg[ACTIVE] = { 1.0, 0.0, 0.0 } + bg[SELECTED] = { 1.0, 0.0, 0.0 } + bg[PRELIGHT] = { 1.0, 0.0, 0.0 } +} + +style "track_rec_enable_button_alternate" = "small_button" +{ + fg[SELECTED] = { 0.0, 0.0, 0.0 } + fg[ACTIVE] = { 0.0, 0.0, 0.0 } + fg[PRELIGHT] = { 0.0, 0.0, 0.0 } + fg[NORMAL] = { 0.0, 0.0, 0.0 } + + bg[NORMAL] = { 0.91, 0.68, 0.68} + bg[ACTIVE] = { 0.91, 0.68, 0.68} + bg[SELECTED] = { 0.91, 0.68, 0.68} + bg[PRELIGHT] = { 0.91, 0.68, 0.68} +} + +style "mixer_track_rec_enable_button" = "track_rec_enable_button" +{ + font_name = "%FONT_SMALLER%" + xthickness = 0 + ythickness = 0 +} + +style "mixer_track_rec_enable_button_alternate" = "track_rec_enable_button_alternate" +{ + font_name = "%FONT_SMALLER%" + xthickness = 0 + ythickness = 0 +} + +style "mixer_track_rec_enable_button_active" = "track_rec_enable_button_active" +{ + font_name = "%FONT_SMALLER%" + xthickness = 0 + ythickness = 0 +} + +style "solo_button" = "small_button" +{ +} + +style "solo_button_alternate" = "small_button" +{ + bg[NORMAL] = { 0.69, 0.69, 0.69 } # solo-safe + bg[ACTIVE] = { 0.69, 0.69, 0.69 } # solo-safe + bg[SELECTED] = { 0.69, 0.69, 0.69 } # solo-safe + bg[PRELIGHT] = { 0.69, 0.69, 0.69 } # solo-safe + + fg[ACTIVE] = { 0, 0, 0 } + fg[SELECTED] = { 0, 0, 0 } + fg[NORMAL] = { 0, 0, 0 } + fg[PRELIGHT] = { 0, 0, 0 } +} + + +style "solo_button_active" = "small_button" +{ + bg[NORMAL] = { 0.66, 0.97, 0.19 } # solo + bg[ACTIVE] = { 0.66, 0.97, 0.19 } # solo + bg[SELECTED] = { 0.66, 0.97, 0.19 } # solo + bg[PRELIGHT] = { 0.66, 0.97, 0.19 } # solo + + fg[ACTIVE] = { 0, 0, 0 } + fg[SELECTED] = { 0, 0, 0 } + fg[NORMAL] = { 0, 0, 0 } + fg[PRELIGHT] = { 0, 0, 0 } +} + +style "mixer_solo_button" = "solo_button" +{ + font_name = "%FONT_SMALLER%" + xthickness = 0 + ythickness = 0 +} + +style "mixer_solo_button_alternate" = "solo_button_alternate" +{ + font_name = "%FONT_SMALLER%" + xthickness = 0 + ythickness = 0 +} +style "mixer_solo_button_active" = "solo_button_active" +{ + font_name = "%FONT_SMALLER%" + xthickness = 0 + ythickness = 0 +} + +style "mute_button" = "small_button" +{ +} + +style "mute_button_alternate" = "small_button" +{ + bg[ACTIVE] = { 1.0, 0.98, 0.53 } + bg[NORMAL] = { 1.0, 0.98, 0.53 } + bg[SELECTED] = { 1.0, 0.98, 0.53 } + bg[PRELIGHT] = { 1.0, 0.98, 0.53 } + + fg[SELECTED] = { 0, 0, 0 } + fg[ACTIVE] = { 0, 0, 0 } + fg[NORMAL] = { 0, 0, 0 } + fg[PRELIGHT] = { 0, 0, 0 } +} + +style "mute_button_active" = "small_button" +{ + bg[NORMAL] = { 0.90, 0.89, 0.73 } + bg[ACTIVE] = { 0.90, 0.89, 0.73 } + bg[PRELIGHT] = { 0.90, 0.89, 0.73 } + bg[SELECTED] = { 0.90, 0.89, 0.73 } + + fg[SELECTED] = { 0, 0, 0 } + fg[ACTIVE] = { 0, 0, 0 } + fg[NORMAL] = { 0, 0, 0 } + fg[PRELIGHT] = { 0, 0, 0 } +} + +style "mixer_mute_button_alternate" = "mute_button_alternate" +{ + font_name = "%FONT_SMALLER%" + xthickness = 0 + ythickness = 0 +} + +style "mixer_mute_button_active" = "mute_button_active" +{ + font_name = "%FONT_SMALLER%" + xthickness = 0 + ythickness = 0 +} + +style "multiline_combo" = "small_button" +{ + font_name = "%FONT_NORMAL%" + xthickness = 0 + ythickness = 0 +} + +style "mixer_mute_button" = "mute_button" +{ + font_name = "%FONT_SMALLER%" + xthickness = 0 + ythickness = 0 +} + +style "track_loop_button" = "small_button" +{ + bg[ACTIVE] = { 1.0, 0.98, 0.53 } + bg[PRELIGHT] = { 1.0, 0.98, 0.53 } + +} + +style "mixer_red_active_button" = "very_small_button" +{ + fg[ACTIVE] = { 0, 1.0, 1.0 } + bg[ACTIVE] = { 0.7, 0, 0 } + + base[INSENSITIVE] = { 0.16, 0.16, 0.21 } + bg[INSENSITIVE] = { 0.16, 0.16, 0.21 } +} + +style "time_button" = "default_button" +{ + font_name = "%FONT_SMALL%" +} + +style "transport_button" +{ +} + +style "transport_button_active" +{ + bg[NORMAL] = { 0.50, 1.0, 0.50 } + bg[ACTIVE] = { 0.50, 1.0, 0.50 } + bg[SELECTED] = { 0.50, 1.0, 0.50 } + bg[PRELIGHT] = { 0.50, 1.0, 0.50 } + + fg[NORMAL] = { 0, 0, 0 } + fg[PRELIGHT] = { 0, 0, 0 } + fg[SELECTED] = { 0, 0, 0 } + fg[ACTIVE] = { 0, 0, 0 } +} + +style "transport_rec_button" +{ +} + +style "transport_rec_button_active" +{ + bg[ACTIVE] = { 1.0, 0, 0 } + bg[NORMAL] = { 1.0, 0, 0 } + bg[SELECTED] = { 1.0, 0, 0 } + bg[PRELIGHT] = { 1.0, 0, 0 } +} + +style "transport_rec_button_alternate" +{ + bg[PRELIGHT] = { 0.91, 0.68, 0.68 } + bg[NORMAL] = { 0.91, 0.68, 0.68 } + bg[SELECTED] = { 0.91, 0.68, 0.68 } + bg[ACTIVE] = { 0.91, 0.68, 0.68 } +} + +style "shuttle_control" = "very_small_text" +{ + fg[NORMAL] = { 0.85, 0.92, 0.98 } + fg[ACTIVE] = { 0.85, 0.92, 0.98 } + fg[PRELIGHT] = { 0.85, 0.92, 0.98 } + fg[SELECTED] = { 0.85, 0.92, 0.98 } + fg[INSENSITIVE] = { 0.85, 0.92, 0.98 } + + bg[NORMAL] = { 0.26, 0.26, 0.31 } + bg[PRELIGHT] = { 0.26, 0.26, 0.31 } + bg[INSENSITIVE] = { 0.26, 0.26, 0.31 } + bg[ACTIVE] = { 0.70, 0.70, 0.70 } + bg[SELECTED] = { 1.0, 0.04, 0.04 } +} + +style "ardour_adjusters" = "default_generic" +{ + bg[NORMAL] = { 0.60, 0.60, 0.60 } + bg[PRELIGHT] = { 0.80, 0.80, 0.80 } + bg[ACTIVE] = { 0.06, 0.06, 0.06 } +} + +style "editor_hscrollbar" = "ardour_adjusters" +{ + # + # special case: we want this scrollbar to be as tall as the + # zoom focus selector combobox. scrollbars don't expand to + # fill the space available to them, so we have to explicitly + # make it bigger. + # + GtkRange::slider_width = 27 + GtkScrollbar::slider_width = 27 +} + +style "resizer_handle" +{ + fg[NORMAL] = { 0, 0, 0 } + bg[NORMAL] = "#818181" +} + +style "ardour_progressbars" = "default_generic" +{ + bg[NORMAL] = { 0, 0, 0 } + bg[PRELIGHT] = { 0.00, 0.36, 0.40 } +} + +style "preferences" = "default_base" +{ + font_name = "%FONT_NORMAL%" + fg[PRELIGHT] = { 0.80, 0.80, 0.80 } +} + +style "option_entry" = "default_base" +{ + fg[NORMAL] = { 1.0, 1.0, 1.0 } + fg[ACTIVE] = { 1.0, 1.0, 1.0 } + fg[INSENSITIVE] = { 0.80, 0.80, 0.80 } + + base[INSENSITIVE] = { 0.07, 0.07, 0.12 } + + bg[NORMAL] = { 0.35, 0.35, 0.40 } + bg[ACTIVE] = { 0.35, 0.35, 0.40 } +} + +style "red_when_active" = "medium_text" +{ + fg[NORMAL] = { 0.80, 0.80, 0.80 } + bg[NORMAL] = { 0.26, 0.26, 0.31 } + + fg[ACTIVE] = { 0.80, 0.80, 0.80 } + bg[ACTIVE] = { 1.0, 0, 0} +} + +style "xrun_warn" +{ + font_name = "%FONT_BOLD_LARGE%" + + fg[NORMAL] = { 1.0, 1.0, 1.0 } + fg[ACTIVE] = { 1.0, 1.0, 1.0 } + text[NORMAL] = { 1.0, 1.0, 1.0 } + text[ACTIVE] = { 1.0, 1.0, 1.0 } + base[NORMAL] = { 0.09, 0.48, 0.46 } + base[ACTIVE] = { 0.09, 0.48, 0.46 } + bg[NORMAL] = { 1.0, 0.48, 0.46 } + bg[ACTIVE] = { 0.09, 1.0, 0.46 } +} +/* +style "menu_bar_base" = "default_base" +{ + bg[NORMAL] = { 0.2, 0.2, 0.3 } + bg[ACTIVE] = { 0, 0, 0 } + bg[PRELIGHT] = { 0, 0, 0 } + bg[INSENSITIVE] = { 0, 0, 0 } + bg[SELECTED] = { 0, 0, 0 } +} +*/ +style "fatal_message" = "medium_text" +{ + fg[ACTIVE] = { 1.0, 0, 1.0 } + fg[NORMAL] = { 0.80, 0.80, 0.80 } + bg[ACTIVE] = { 0,0,0 } + bg[NORMAL] = { 0,0,0 } + base[ACTIVE] = { 0,0,0 } + base[NORMAL] = { 0,0,0 } +} + +style "error_message" = "medium_text" +{ + fg[ACTIVE] = { 1.0, 0, 0 } + fg[NORMAL] = { 0.80, 0.80, 0.80 } + bg[ACTIVE] = { 0,0,0 } + bg[NORMAL] = { 0,0,0 } + base[ACTIVE] = { 0,0,0 } + base[NORMAL] = { 0,0,0 } +} + +style "info_message" = "medium_text" +{ + fg[ACTIVE] = { 1.0, 0, 0 } + fg[NORMAL] = { 0.80, 0.80, 0.80 } + bg[ACTIVE] = { 0,0,0 } + bg[NORMAL] = { 0,0,0 } + base[ACTIVE] = { 0,0,0 } + base[NORMAL] = { 0,0,0 } +} + +style "warning_message" = "medium_text" +{ + fg[ACTIVE] = { 0.30,0.30, 1.0 } + fg[NORMAL] = { 0.80, 0.80, 0.80 } + bg[ACTIVE] = { 0, 0, 0 } + bg[NORMAL] = { 0, 0, 0 } + base[ACTIVE] = { 0, 0, 0 } + base[NORMAL] = { 0, 0, 0 } +} + +style "medium_entry" = "medium_text" +{ + fg[NORMAL] = { 0.70, 0.70, 0.70 } + fg[ACTIVE] = { 0.70, 0.70, 0.70 } + fg[SELECTED] = { 1.0, 1.0, 1.0 } + + bg[NORMAL] = { 0.35, 0.35, 0.40 } + + base[NORMAL] = { 0, 0, 0 } + base[ACTIVE] = { 0, 0, 0 } + base[SELECTED] = { 0.70, 0.70, 0.70 } +} + +style "medium_entry_noselection_fg" = "medium_entry" +{ + fg[SELECTED] = { 0.50, 1.0, 0.50 } +} + +style "medium_entry_noselection_bg" = "medium_entry" +{ + bg[SELECTED] = { 1.0, 1.0, 1.0 } +} + +style "medium_bold_entry" = "medium_bold_text" +{ + fg[NORMAL] = { 0.70, 0.70, 0.70 } + fg[ACTIVE] = { 0.70, 0.70, 0.70 } + + bg[NORMAL] = { 0.35, 0.35, 0.40 } + + base[NORMAL] = { 0, 0, 0 } + base[ACTIVE] = { 0, 0, 0 } + base[SELECTED] = { 0, 0, 0 } +} + +style "small_entry" = "small_text" +{ + fg[NORMAL] = { 0.70, 0.70, 0.70 } + fg[ACTIVE] = { 0, 1.0, 0 } + fg[SELECTED] = { 0, 1.0, 0 } + text[NORMAL] = { 0.70, 0.70, 0.70 } + text[ACTIVE] = { 0, 1.0, 0 } + text[SELECTED] = { 0, 1.0, 0 } + bg[NORMAL] = { 0.0, 0.0, 0.0 } + bg[SELECTED] = { 0.0, 0.0, 0.0 } + bg[SELECTED] = { 0.0, 0.0, 0.0 } + base[NORMAL] = { 0, 0, 0 } + base[ACTIVE] = { 0, 0, 0 } + base[SELECTED] = { 0, 0, 0 } +} + +style "red_active_small_entry" = "small_entry" +{ + fg[ACTIVE] = { 1.0, 0.0, 0.0 } + fg[SELECTED] = { 1.0, 0, 0 } +} + +style "small_bold_entry" = "small_bold_text" +{ + fg[NORMAL] = { 0.70, 0.70, 0.70 } + fg[ACTIVE] = { 0.70, 0.70, 0.70 } + + bg[NORMAL] = { 0.35, 0.35, 0.40 } + + base[NORMAL] = { 0, 0, 0 } + base[ACTIVE] = { 0, 0, 0 } + base[SELECTED] = { 0, 0, 0 } +} + +style "small_red_on_black_entry" = "small_bold_text" +{ + fg[NORMAL] = { 1.0, 0, 0 } + fg[ACTIVE] = { 1.0, 0, 0 } + base[NORMAL] = { 0.0, 0.0, 0.0 } + base[ACTIVE] = { 0.0, 0.0, 0.0 } + bg[NORMAL] = { 0.0, 0.0, 0.0 } + bg[ACTIVE] = { 0.0, 0.0, 0.0 } +} + +style "non_recording_big_clock_display" = "medium_entry" +{ + font_name = "%FONT_MASSIVE%" + + fg[NORMAL] = { 0.50, 1.0, 0.50 } + fg[ACTIVE] = { 1.0, 0, 0.0 } + fg[SELECTED] = { 1.0, 0, 0 } + fg[PRELIGHT] = { 1.0, 0, 0.0 } + fg[INSENSITIVE] = { 1.0, 0, 0.0 } + + base[NORMAL] = { 0.0, 0.0, 0.0 } + base[ACTIVE] = { 0.0, 0.0, 0.0 } + bg[NORMAL] = { 0.0, 0.0, 0.0 } + bg[ACTIVE] = { 0.7, 0.0, 0.0 } +} + +style "recording_big_clock_display" = "non_recording_big_clock_display" +{ + fg[NORMAL] = { 1.0, 0, 0 } +} + +style "transport_clock_display" +{ + font_name = "%FONT_BOLD_BIGGER%" + + fg[NORMAL] = { 0.50, 1.0, 0.50 } + fg[ACTIVE] = { 1.0, 0, 0.0 } + fg[SELECTED] = { 1.0, 0, 0 } + fg[PRELIGHT] = { 1.0, 0, 0.0 } + fg[INSENSITIVE] = { 1.0, 0, 0.0 } + + base[NORMAL] = { 0.0, 0.0, 0.0 } + base[ACTIVE] = { 0.0, 0.0, 0.0 } + bg[NORMAL] = { 0.0, 0.0, 0.0 } + bg[ACTIVE] = { 0.0, 0.0, 0.0 } +} + +style "transport_clock_display_delta" = "transport_clock_display" +{ + fg[NORMAL] = { 0.30, 0.30, 1.0 } +} + +style "tempo_meter_clock_display" +{ + font_name = "%FONT_SMALLER%" + fg[NORMAL] = { 1.0, 1.0, 1.0 } + fg[ACTIVE] = { 1.0, 1.0, 0.0 } + fg[SELECTED] = { 1.0, 0, 0 } + base[NORMAL] = { 0.0, 0.48, 1.0 } + base[ACTIVE] = { 0.09, 0.98, 0.46 } + bg[NORMAL] = { 0.0, 0.48, 1.0 } + bg[ACTIVE] = { 0.09, 0.98, 0.46 } +} + +style "default_clock_display" = "medium text" +{ + fg[NORMAL] = { 0.50, 1.0, 0.50 } + fg[ACTIVE] = { 1.0, 0.0, 0.0 } + fg[SELECTED] = { 1.0, 0, 0 } + base[NORMAL] = { 0, 0, 0 } + base[ACTIVE] = { 0, 0, 0 } + bg[NORMAL] = { 0, 0, 0 } + bg[ACTIVE] = { 0, 0, 0 } +} + +style "editor_time_ruler" = "small_text" +{ + fg[NORMAL] = { 0.80, 0.80, 0.80 } + bg[NORMAL] = { 0.09, 0.09, 0.09 } +} + +style "audio_bus_base" +{ + font_name = "%FONT_SMALLER%" + fg[NORMAL] = { 0.77, 0.77, 0.72 } + fg[NORMAL] = { 0.7, 0.8, 0.2 } + bg[NORMAL] = { 0.20, 0.20, 0.26 } +} + +style "audio_track_base" = "default_base" +{ + font_name = "%FONT_SMALLER%" + fg[NORMAL] = { 0.77, 0.77, 0.72 } + bg[NORMAL] = { 0.18, 0.19, 0.22 } + bg[ACTIVE] = { 0.20, 0.20, 0.20 } + bg[PRELIGHT] = { 0.20, 0.20, 0.20 } + bg[INSENSITIVE] = { 0.20, 0.20, 0.20 } + bg[SELECTED] = { 0.20, 0.20, 0.20 } +} + +style "midi_bus_base" +{ + font_name = "%FONT_SMALLER%" + fg[NORMAL] = { 0.77, 0.77, 0.72 } + fg[NORMAL] = { 0.7, 0.8, 0.2 } + #bg[NORMAL] = {0, 0.36, 0.40 } + bg[NORMAL] = "#444466" +} + +style "midi_track_base" = "default_base" +{ + font_name = "%FONT_SMALLER%" + fg[NORMAL] = { 0.77, 0.77, 0.72 } + bg[NORMAL] = { 0.48, 0.30, 0.32 } + bg[ACTIVE] = { 0.20, 0.20, 0.20 } + bg[PRELIGHT] = { 0.20, 0.20, 0.20 } + bg[INSENSITIVE] = { 0.20, 0.20, 0.20 } + bg[SELECTED] = { 0.20, 0.20, 0.20 } +} + +style "track_controls_inactive" +{ + bg[NORMAL] = { 0.60, 0.60, 0.66 } + bg[ACTIVE] = { 0.60, 0.60, 0.66 } + bg[INSENSITIVE] = { 0.60, 0.60, 0.66 } + bg[SELECTED] = { 0.60, 0.60, 0.66 } + bg[PRELIGHT] = { 0.60, 0.60, 0.66 } + + #font_name = "sans 18" + fg[NORMAL] = { 0.7, 0.8, 0.2 } +} + +style "audio_track_metrics" = "audio_track_base" +{ + font_name = "%FONT_TINY%" +} + +style "audio_bus_metrics" = "audio_bus_base" +{ + font_name = "%FONT_TINY%" +} + +style "audio_track_metrics_inactive" = "track_controls_inactive" +{ + font_name = "%FONT_TINY%" +} + +style "audio_bus_metrics_inactive" = "track_controls_inactive" +{ + font_name = "%FONT_TINY%" +} + +style "track_name_display" +{ + font_name = "%FONT_NORMAL%" + fg[NORMAL] = { 0.80, 0.80, 0.80 } + fg[ACTIVE] = { 0.80, 0.80, 0.80 } + + base[NORMAL] = { 0.06, 0.06, 0.06 } + base[ACTIVE] = { 0.26, 0.26, 0.26 } + bg[NORMAL] = { 0.26, 0.26, 0.26 } + bg[ACTIVE] = { 0.26, 0.26, 0.26 } +} + +style "active_track_name_display" +{ + font_name = "%FONT_NORMAL%" + GtkWidget::cursor_color = {0, 0, 0 } + text[NORMAL] = { 0.26, 0.26, 0.26 } + base[NORMAL] = { 0.89, 0.89, 0.89 } +} + +style "track_separator" +{ + bg[NORMAL] = { 0.35, 0.35, 0.40 } +} + +# +# Track edit groups. These styles define +# the colors that the "edit" button will +# use as a track is moved from +# track edit group to track edit group. +# There are 8 edit groups. Edit group 0 +# is used for tracks that are not editable, +# so we leave its style to the default. +# + +style "edit_group_0" + +{ + bg[ACTIVE] = { 1.0, 0.65, 0.13 } + bg[NORMAL] = { 0.31, 0.31, 0.31 } + fg[NORMAL] = { 0.82, 0.91, 0.99 } + fg[ACTIVE] = { 0, 0, 0 } +} + +style "edit_group_1" +{ + fg[NORMAL] = { 0, 0, 0 } + fg[PRELIGHT] = { 0, 0, 0 } + fg[SELECTED] = { 0, 0, 0 } + bg[NORMAL] = { 0.93, 0.34, 0.08 } + bg[PRELIGHT] = { 0.93, 0.34, 0.08 } + bg[SELECTED] = { 0.93, 0.34, 0.08 } +} + +style "edit_group_2" +{ + fg[NORMAL] = { 0, 0, 0 } + fg[PRELIGHT] = { 0, 0, 0 } + fg[SELECTED] = { 0, 0, 0 } + bg[NORMAL] = { 0.93, 0.34, 0.08 } + bg[PRELIGHT] = { 0.93, 0.34, 0.08 } + bg[SELECTED] = { 0.93, 0.34, 0.08 } +} + +style "edit_group_3" +{ + fg[NORMAL] = { 0, 0, 0 } + fg[PRELIGHT] = { 0, 0, 0 } + fg[SELECTED] = { 0, 0, 0 } + bg[NORMAL] = { 0.93, 0.34, 0.08 } + bg[PRELIGHT] = { 0.93, 0.34, 0.08 } + bg[SELECTED] = { 0.93, 0.34, 0.08 } +} + +style "treeview_parent_node" +{ + # specifies *just* the color used for whole file rows when not selected + fg[NORMAL] = { 0.0, 0.6, 0.85 } +} + +style "treeview_display" = "small_bold_text" +{ + # expander arrow border and DnD "icon" text + fg[NORMAL] = { 0.8, 0.8, 0.8 } + + # background with no rows or no selection, plus + # expander arrow core and DnD "icon" background + base[NORMAL] = { 0.20, 0.20, 0.25 } + + # selected row bg when window does not have focus (including during DnD) + base[ACTIVE] = { 0.0, 0.60, 0.60 } + + # selected row bg when window has focus + base[SELECTED] = { 0, 0.75, 0.75 } + + # row text when in normal state and not a parent + text[NORMAL] = { 0.80, 0.80, 0.80 } + + # selected row text with window focus + text[SELECTED] = { 0, 1.0, 1.0 } + + # selected row text without window focus (including during DnD) + text[ACTIVE] = { 0, 1.0, 1.0 } +} + +style "main_canvas_area" +{ + bg[NORMAL] = { 0.30, 0.30, 0.34 } + bg[ACTIVE] = { 0.30, 0.30, 0.34 } + bg[INSENSITIVE] = { 0.30, 0.30, 0.34 } + bg[SELECTED] = { 0.30, 0.30, 0.34 } + bg[PRELIGHT] = { 0.30, 0.30, 0.34 } +} + +style "track_controls_inactive" +{ + bg[NORMAL] = { 0.60, 0.60, 0.66 } + bg[ACTIVE] = { 0.60, 0.60, 0.66 } + bg[INSENSITIVE] = { 0.60, 0.60, 0.66 } + bg[SELECTED] = { 0.60, 0.60, 0.66 } + bg[PRELIGHT] = { 0.60, 0.60, 0.66 } + + font_name = "%FONT_LARGE%" + fg[NORMAL] = { 0.7, 0.8, 0.2 } +} + +style "edit_controls_base_selected" +{ + bg[NORMAL] = { 0.32, 0.32, 0.54 } + bg[ACTIVE] = { 0.32, 0.32, 0.54 } + bg[INSENSITIVE] = { 0.32, 0.32, 0.54 } + bg[SELECTED] = { 0.32, 0.32, 0.54 } + bg[PRELIGHT] = { 0.32, 0.32, 0.54 } +} + +style "automation_track_controls_base" +{ + bg[NORMAL] = { 0.22, 0.22, 0.29 } + bg[ACTIVE] = { 0.22, 0.22, 0.29 } + bg[INSENSITIVE] = { 0.22, 0.22, 0.29 } + bg[SELECTED] = { 0.22, 0.22, 0.29 } + bg[PRELIGHT] = { 0.22, 0.22, 0.29 } +} + +# Plugin Editors +style "plugin_slider" +{ + font_name ="%FONT_BOLD_BIG%" + + # the slider itself. the inactive part is INSENSITIVE, + # the active part is something else. + + fg[NORMAL] = { 0.37, 0.43, 0.52 } + fg[ACTIVE] = { 0.37, 0.43, 0.52 } + fg[INSENSITIVE] = {0.35, 0.35, 0.40 } # matches default_base + fg[SELECTED] = { 0.37, 0.43, 0.52 } + fg[PRELIGHT] = { 0.37, 0.43, 0.52 } + + # draws the outer rectangle around the slider + + bg[NORMAL] = { 0.80, 0.80, 0.80 } + bg[ACTIVE] = { 0.80, 0.80, 0.80 } + bg[INSENSITIVE] = {0.80, 0.80, 0.80 } + bg[SELECTED] = { 0.80, 0.80, 0.80 } + bg[PRELIGHT] = { 0.80, 0.80, 0.80 } + + # the numeric display + + text[NORMAL] = { 0.80, 0.80, 0.80 } + text[ACTIVE] = { 0.80, 0.80, 0.80 } + text[INSENSITIVE] = { 0.80, 0.80, 0.80 } + text[SELECTED] = { 0.80, 0.80, 0.80 } + text[PRELIGHT] = { 0.80, 0.80, 0.80 } +} + +style "track_list_display" = "small_bold_text" +{ + text[NORMAL] = { 0.80, 0.80, 0.80 } + text[ACTIVE] = { 0.3, 0.3, 0.3 } + text[INSENSITIVE] = { 0, 0, 0 } + text[SELECTED] = { 0.8, 0.8, 0.8 } + + base[NORMAL] = { 0, 0, 0 } + base[ACTIVE] = { 0, 0, 0 } + base[INSENSITIVE] = { 0, 0, 0 } + base[SELECTED] = { 0, 0, 0 } +} + +style "inspector_track_list_display" = "track_list_display" +{ + text[ACTIVE] = { 0.8, 0.8, 0.8 } + + base[NORMAL] = { 0, 0, 0 } + base[ACTIVE] = { 0.2, 0.2, 0.2 } + base[INSENSITIVE] = { 0, 0, 0 } + base[SELECTED] = { 0.3, 0.3, 0.4 } +} + +style "redirect_list_display" +{ + GtkTreeView::horizontal-separator = 0 + GtkTreeView::vertical-separator = 0 + + font_name = "%FONT_SMALL%" + text[NORMAL] = { 0.80, 0.80, 0.80 } + text[ACTIVE] = { 0.70, 0.70, 0.70 } + text[INSENSITIVE] = { 0, 0, 0 } + text[SELECTED] = { 0.9, 0.3, 0.3 } + + base[NORMAL] = { 0, 0, 0 } + base[ACTIVE] = { 0, 0, 0 } + base[INSENSITIVE] = { 0, 0, 0 } + base[SELECTED] = { 0, 0, 0 } + + # these two are explicitly used by the cell renderer for the + # text + + fg[NORMAL] = { 0.5, 0.5, 0.5 } # used for inactive + fg[ACTIVE] = { 1.0, 1.0, 1.0 } # used for active +} + +style "inspector_redirect_list_display" = "redirect_list_display" +{ + base[SELECTED] = { 0.3, 0.3, 0.3 } +} + +# MixerPanZone: +# +# the NORMAL fg color is used for the pan puck +# the ACTIVE fg color is used for the speaker boxes + +style "pan_zone" = "default_base" +{ + fg[NORMAL] = { 0.34, 0.95, 0.92 } + fg[ACTIVE] = { 0.95, 0.48, 0.11 } +} + +style "paler_red_when_active" = "medium_text" +{ + fg[NORMAL] = { 0.80, 0.80, 0.80 } + fg[PRELIGHT] = { 0.80, 0.80, 0.80 } + bg[NORMAL] = { 0.31, 0.31, 0.31 } + bg[PRELIGHT] = { 0.31, 0.31, 0.31 } + + fg[ACTIVE] = { 0.36, 0.46, 0.28 } + bg[ACTIVE] = { 1.00, 0.59, 0.59} +} + +style "peak_display_peaked_entry" = "small_text" +{ + fg[NORMAL] = { 1.0, 1.0, 1.0 } + fg[ACTIVE] = { 1.0, 1.0, 1.0 } + fg[SELECTED] = { 1.0, 1.0, 1.0 } + + bg[NORMAL] = {0.9, 0.0, 0.0 } + bg[ACTIVE] = { 0.9, 0.0, 0.0 } + bg[PRELIGHT] = { 0.9, 0.0, 0.0 } + bg[INSENSITIVE] = { 0.9, 0.0, 0.0 } + bg[SELECTED] = { 0.9, 0.0, 0.0 } + base[NORMAL] = { 0.9, 0.0, 0.0 } + base[ACTIVE] = { 0.9, 0.0, 0.0 } + base[PRELIGHT] = { 0.9, 0.0, 0.0 } + base[INSENSITIVE] = { 0.9, 0.0, 0.0 } + base[SELECTED] = { 0.9, 0.0, 0.0 } +} + +style "selected_strip_frame" +{ + fg[NORMAL] = { 0.74, 0.42, 0.47 } + bg[NORMAL] = { 0.79, 0.28, 0.18 } +} + +style "flashing_alert" = "very_small_text" +{ + fg[NORMAL] = { 0.80, 0.80, 0.80 } + bg[NORMAL] = { 0.26, 0.26, 0.31 } + + fg[ACTIVE] = { 0.80, 0.80, 0.80 } + bg[ACTIVE] = { 1.0, 0, 0} +} + +style "selected_io_selector_port_list" = "medium_bold_text" +{ + + GtkTreeView::even-row-color = { 0, 0, 0 } + GtkTreeView::odd-row-color = { 0, 0, 0 } + +# fg is used to color the fg (text) of the column header button + + fg[NORMAL] = { 0.85, 0.85, 0.85 } + fg[SELECTED] = { 0.85, 0.85, 0.85 } + fg[ACTIVE] = { 0.85, 0.85, 0.85 } + fg[PRELIGHT] = { 0.85, 0.85, 0.85 } + fg[INSENSITIVE] = { 0.85, 0.85, 0.85 } + +# bg is used used to color the background of the column header button + + bg[NORMAL] = { 0.30, 0.30, 0.35 } + bg[ACTIVE] = { 0.30, 0.30, 0.35 } + bg[PRELIGHT] = { 0.30, 0.30, 0.35 } + bg[INSENSITIVE] = { 0.30, 0.30, 0.35 } + bg[SELECTED] = { 0.30, 0.30, 0.35 } + +# text is used to color the treeview row text + + text[NORMAL] = { 0.85, 0.85, 0.85 } + text[SELECTED] = { 0.85, 0.85, 0.85 } + +# base is used to color a treeview with no rows + + base[NORMAL] = { 0.20, 0.20, 0.25 } + base[ACTIVE] = { 0.20, 0.20, 0.25 } + base[PRELIGHT] = { 0.20, 0.20, 0.25 } + base[INSENSITIVE] = { 0.20, 0.20, 0.25 } + base[SELECTED] = { 0.20, 0.20, 0.25 } + +} + +style "io_selector_port_list" = "medium_text" +{ + GtkTreeView::even-row-color = { 0.20, 0.20, 0.25 } + GtkTreeView::odd-row-color = { 0.20, 0.20, 0.25 } +# fg is used to color the fg (text) of the column header button + + fg[NORMAL] = { 0.70, 0.70, 0.70 } + fg[SELECTED] = { 0.70, 0.70, 0.70 } + fg[ACTIVE] = { 0.70, 0.70, 0.70 } + fg[PRELIGHT] = { 0.70, 0.70, 0.70 } + fg[INSENSITIVE] = { 0.70, 0.70, 0.70 } + +# bg is used used to color the background of the column header button + + bg[NORMAL] = { 0.30, 0.30, 0.35 } + bg[ACTIVE] = { 0.30, 0.30, 0.35 } + bg[PRELIGHT] = { 0.30, 0.30, 0.35 } + bg[INSENSITIVE] = { 0.30, 0.30, 0.35 } + bg[SELECTED] = { 0.30, 0.30, 0.35 } + +# text is used to color the treeview row text + + text[NORMAL] = { 0.80, 0.80, 0.80 } + text[SELECTED] = { 0.80, 0.80, 0.80 } + +# base is used to color a treeview with no rows + + base[NORMAL] = { 0.20, 0.20, 0.25 } + base[ACTIVE] = { 0.20, 0.20, 0.25 } + base[PRELIGHT] = { 0.20, 0.20, 0.25 } + base[INSENSITIVE] = { 0.20, 0.20, 0.25 } + base[SELECTED] = { 0.20, 0.20, 0.25 } +} + +style "io_selector_notebook" = "default_base" +{ + fg[NORMAL] = { 1.0, 1.0, 1.0 } + font_name ="%FONT_BOLD_NORMAL%" +} + +style "tearoff_arrow" = "medium_bold_entry" +{ + fg[NORMAL] = { 0.80, 0.80, 0.80 } + fg[PRELIGHT] = { 0.80, 0.80, 0.80 } + bg[NORMAL] = { 0.80, 0.80, 0.80 } + bg[PRELIGHT] = { 0.80, 0.80, 0.80 } +} + +style "location_row_button" = "default_button" +{ + font_name = "%FONT_NORMAL%" +} + +style "location_rows_clock" = "default_clock_display" +{ + font_name = "%FONT_BIG%" +} + +style "pan_slider" +{ + font_name = "%FONT_NORMAL%" + + fg[NORMAL] = { 0.22, 0.73, 0.22 } + fg[ACTIVE] = { 0.22, 0.73, 0.22 } + fg[INSENSITIVE] = {0.22, 0.53, 0.22 } + fg[SELECTED] = { 0.67, 0.23, 0.22 } + fg[PRELIGHT] = { 0.67, 0.23, 0.22 } + + bg[NORMAL] = { 0.05, 0.05, 0.05 } + bg[ACTIVE] = { 0, 0, 0 } + bg[INSENSITIVE] = {0.12, 0.19, 0.25 } + bg[SELECTED] = { 0, 0, 0 } + bg[PRELIGHT] = { 0, 0, 0 } + + text[NORMAL] = { 0.70, 0.70, 0.70 } + text[ACTIVE] = { 0.70, 0.70, 0.70 } + text[INSENSITIVE] = { 0.70, 0.70, 0.70 } + text[SELECTED] = { 0.70, 0.70, 0.70 } + text[PRELIGHT] = { 0.70, 0.70, 0.70 } + + # used to draw the triangular indicators + + base[NORMAL] = { 0.80, 0.80, 0.80 } + base[ACTIVE] = { 0.80, 0.80, 0.80 } + base[INSENSITIVE] = {0.6, 0.6, 0.6 } + base[SELECTED] = { 0.80, 0.80, 0.80 } + base[PRELIGHT] = { 0.80, 0.80, 0.80 } + +} + +style "ardour_button" ="default_button" +{ + xthickness = 1 + ythickness = 1 +} + +#--------------------------------------------------------------- + +class "GtkWidget" style:highest "default_base" +class "GtkScrollbar" style:highest "ardour_adjusters" +class "GtkLabel" style:highest "default_generic" +class "GtkButton" style:highest "ardour_button" +class "GtkArrow" style:highest "tearoff_arrow" +class "GtkProgressBar" style:highest "ardour_progressbars" + +widget "*FirstActionMessage" style:highest "first_action_message" +widget "*VerboseCanvasCursor" style:highest "verbose_canvas_cursor" +widget "*MarkerText" style:highest "marker_text" +widget "*TimeAxisViewItemName*" style:highest "time_axis_view_item_name" +#widget "*ExportProgress" style:highest "default_generic" +widget "*ExportFileLabel" style:highest "small_bold_text" +widget "*ExportFormatLabel" style:highest "medium_bold_text" +widget "*ExportHeader" style:highest "small_bold_text" +widget "*ExportFileDisplay" style:highest "medium_entry" +widget "*ExportFormatDisplay" style:highest "medium_entry" +widget "*ExportCheckbox" style:highest "small_entry" +widget "*ExportTrackSelector*" style:highest "medium_entry_noselection_bg" +widget "*EditModeSelector" style:highest "medium_bold_entry" +widget "*SnapTypeSelector" style:highest "medium_bold_entry" +widget "*SnapModeSelector" style:highest "medium_bold_entry" +widget "*ZoomFocusSelector" style:highest "medium_bold_entry" +widget "*ArdourContextMenu*" style:highest "default_menu" +widget "*EditGroupTitleButton*" style:highest "default_button" +widget "*MixerGroupTitleButton*" style:highest "default_button" +widget "*ErrorLogCloseButton" style:highest "default_button" +widget "*EditorGTKButton*" style:highest "default_button" +widget "*ToolbarButton" style:highest "default_button" +widget "*ToolbarButton*" style:highest "default_button" +widget "*CrossfadeEditButton" style:highest "default_button" +widget "*CrossfadeEditButton*" style:highest "default_button" +widget "*TrackHistoryButton*" style:highest "default_button" +widget "*TrackSizeButton*" style:highest "default_button" +widget "*TrackPlaylistButton*" style:highest "default_button" +widget "*TrackAutomationButton*" style:highest "default_button" +widget "*TrackGroupButton*" style:highest "default_button" +widget "*TrackMixButton*" style:highest "default_button" +widget "*TrackVisualButton*" style:highest "default_button" +widget "*TrackRemoveButton*" style:highest "default_button" +widget "*BaseButton" style:highest "default_button" +widget "*TakeButtonLabel" style:highest "default_button" +widget "*MixerWidthButton" style:highest "default_button" +widget "*MixerHideButton" style:highest "default_button" +widget "*MixerSendButton" style:highest "default_button" +widget "*MixerSendButtonLabel" style:highest "default_button" +widget "*MixerSendSwitch" style:highest "default_button" +widget "*MixerInsertButton" style:highest "default_button" +widget "*MixerInsertButtonLabel" style:highest "default_button" +widget "*MixerInsertSwitch" style:highest "default_button" +widget "*MixerMonitorInputButton*" style:highest "very_small_button" +widget "*MixerMonitorInputButton.*" style:highest "very_small_button" +widget "*MixerIOButton" style:highest "very_small_button" +widget "*MixerIOButtonLabel" style:highest "very_small_button" +widget "*AddRouteDialogSpinner" style:highest "ardour_adjusters" +widget "*AddRouteDialogRadioButton*" style:highest "preferences" +widget "*OptionsNotebook" style:highest "preferences" +widget "*OptionEditorToggleButton*" style:highest "preferences" +widget "*OptionsLabel" style:highest "preferences" +widget "*OptionEditorAuditionerLabel" style:highest "preferences" +widget "*OptionsEntry" style:highest "option_entry" +widget "*InspectorNotebook" style:highest "preferences" +widget "*NewSessionDialog" style:highest "preferences" +widget "*NewSessionDialogButton*" style:highest "preferences" +widget "*MixerSendSwitch*" style:highest "very_small_red_active_and_selected_button" +widget "*OptionEditorToggleButton" style:highest "small_red_active_and_selected_button" +widget "*NewSessionDialogButton" style:highest "small_red_active_and_selected_button" +widget "*RecordEnableButton" style:highest "track_rec_enable_button" +widget "*RecordEnableButton-active" style:highest "track_rec_enable_button_active" +widget "*RecordEnableButton-alternate" style:highest "track_rec_enable_button_alternate" +widget "*MixerRecordEnableButton" style:highest "mixer_track_rec_enable_button" +widget "*MixerRecordEnableButton-active" style:highest "mixer_track_rec_enable_button_active" +widget "*MixerRecordEnableButton-alternate" style:highest "mixer_track_rec_enable_button_alternate" +widget "*MuteButton" style:highest "mute_button" +widget "*MuteButton-alternate" style:highest "mute_button_alternate" +widget "*MuteButton-active" style:highest "mute_button_active" +widget "*MixerMuteButton" style:highest "mixer_mute_button" +widget "*MixerMuteButton-alternate" style:highest "mixer_mute_button_alternate" +widget "*MixerMuteButton-active" style:highest "mixer_mute_button_active" +widget "*SoloButton" style:highest "solo_button" +widget "*SoloButton-alternate" style:highest "solo_button_alternate" +widget "*SoloButton-active" style:highest "solo_button_active" +widget "*MixerSoloButton" style:highest "mixer_solo_button" +widget "*MixerSoloButton-alternate" style:highest "mixer_solo_button_alternate" +widget "*MixerSoloButton-active" style:highest "mixer_solo_button_active" +widget "*TrackLoopButton*" style:highest "track_loop_button" +widget "*PanAutomationLineSelector*" style:highest "multiline_combo" +widget "*EditorTimeButton*" style:highest "time_button" +widget "*MixerPhaseInvertButton*" style:highest "very_small_button" +widget "*MixerPhaseInvertButton.*" style:highest "very_small_button" +widget "*MixerAutomationRecordingButton*" style:highest "very_small_button" +widget "*MixerAutomationRecordingButton.*" style:highest "very_small_button" +widget "*MixerAutomationModeButton*" style:highest "very_small_button" +widget "*MixerAutomationModeButton.*" style:highest "very_small_button" +widget "*MixerAutomationPlaybackButton*" style:highest "very_small_button" +widget "*MixerAutomationPlaybackButton.*" style:highest "very_small_button" +widget "*MixerNameButton" style:highest "very_small_button" +widget "*MixerNameButtonLabel" style:highest "very_small_button" +widget "*MixerGroupButton" style:highest "very_small_button" +widget "*MixerGroupButtonLabel" style:highest "very_small_button" +widget "*MixerCommentButton" style:highest "very_small_button" +widget "*MixerCommentButton*" style:highest "very_small_button" +widget "*EditGroupButton" style:highest "very_small_button" +widget "*EditGroupButtonLabel" style:highest "very_small_button" +widget "*TransportButton" style:highest "transport_rec_button" +widget "*TransportButton-active" style:highest "transport_button_active" +widget "*ShuttleButton" style:highest "transport_button" +widget "*ShuttleButton*" style:highest "transport_button" +widget "*ShuttleDisplay" style:highest "transport_button" +widget "*ShuttleDisplay*" style:highest "transport_button" +widget "*ShuttleControl" style:highest "shuttle_control" +widget "*TransportRecButton" style:highest "transport_rec_button" +widget "*TransportRecButton*" style:highest "transport_rec_button" +widget "*TransportRecButton-active" style:highest "transport_rec_button_active" +widget "*TransportRecButton-active*" style:highest "transport_rec_button_active" +widget "*TransportRecButton-alternate" style:highest "transport_rec_button_alternate" +widget "*TransportRecButton-alternate*" style:highest "transport_rec_button_alternate" +widget "*TransportRecButton*" style:highest "transport_rec_button" +widget "*RecordingXrunWarningWindow" style:highest "xrun_warn" +widget "*RecordingXrunWarningWindow*" style:highest "xrun_warn" +/*widget "*MainMenuBar" style:highest "menu_bar_base"*/ +widget "*ErrorMessage" style:highest "error_message" +widget "*FatalMessage" style:highest "fatal_message" +widget "*InfoMessage" style:highest "info_message" +widget "*WarningMessage" style:highest "warning_message" +widget "*BigClockNonRecording" style:highest "non_recording_big_clock_display" +widget "*BigClockRecording" style:highest "recording_big_clock_display" +widget "*TransportClockDisplay" style:highest "transport_clock_display" +widget "*SecondaryClockDisplay" style:highest "transport_clock_display" +widget "*TransportClockDisplayDelta" style:highest "transport_clock_display_delta" +widget "*SecondaryClockDisplayDelta" style:highest "transport_clock_display_delta" +widget "*AudioClockFramesUpperInfo" style:highest "tempo_meter_clock_display" +widget "*AudioClockFramesLowerInfo" style:highest "tempo_meter_clock_display" +widget "*AudioClockSMPTEUpperInfo" style:highest "tempo_meter_clock_display" +widget "*AudioClockSMPTELowerInfo" style:highest "tempo_meter_clock_display" +widget "*AudioClockBBTUpperInfo" style:highest "tempo_meter_clock_display" +widget "*AudioClockBBTLowerInfo" style:highest "tempo_meter_clock_display" +widget "*SelectionStartClock" style:highest "default_clock_display" +widget "*SelectionEndClock" style:highest "default_clock_display" +widget "*EditPointClock" style:highest "default_clock_display" +widget "*PreRollClock" style:highest "default_clock_display" +widget "*PostRollClock" style:highest "default_clock_display" +widget "*NudgeClock" style:highest "default_clock_display" +widget "*InsertTimeClock" style:highest "default_clock_display" +widget "*ZoomRangeClock" style:highest "default_clock_display" +widget "*SMPTEOffsetClock" style:highest "default_clock_display" +widget "*TransportLabel" style:highest "small_bold_text" +widget "*TakeLabel" style:highest "small_bold_text" +widget "*LocationLabel" style:highest "small_bold_text" +widget "*WipeLabel" style:highest "small_bold_text" +widget "*TakeTagLabel" style:highest "small_bold_text" +widget "*ToolBarLabel" style:highest "small_bold_text" +widget "*EditorDisplayLabel" style:highest "small_bold_text" +widget "*NewSessionLabel" style:highest "large_text" +widget "*GlobalButtonLabel" style:highest "default_generic" +widget "*ClickButton" style:highest "medium_entry" +widget "*RegionNameDisplay" style:highest "medium_entry" +widget "*PluginDisplay" style:highest "medium_entry" +widget "*SelectionDisplay" style:highest "medium_entry" +widget "*HistorySelector" style:highest "medium_entry" +widget "*LocationSelector" style:highest "medium_entry" +widget "*TakeSelector" style:highest "medium_entry" +widget "*RegionSelector" style:highest "medium_entry" +widget "*SMPTERuler" style:highest "editor_time_ruler" +widget "*BBTRuler" style:highest "editor_time_ruler" +widget "*FramesRuler" style:highest "editor_time_ruler" +widget "*MinSecRuler" style:highest "editor_time_ruler" +widget "*BaseFrame" style:highest "base_frame" + +widget "*AudioTrackStripBase" style:highest "audio_track_base" +widget "*AudioBusStripBase" style:highest "audio_bus_base" +widget "*MidiTrackStripBase" style:highest "midi_track_base" +widget "*AudioTrackStripBaseInactive" style:highest "track_controls_inactive" +widget "*AudioBusStripBaseInactive" style:highest "track_controls_inactive" +widget "*MidiTrackStripBaseInactive" style:highest "track_controls_inactive" +widget "*FaderMetricsStrip" style:highest "audio_track_metrics" +widget "*AudioTrackMetrics" style:highest "audio_track_metrics" +widget "*AudioBusMetrics" style:highest "audio_bus_metrics" +widget "*AudioTrackMetricsInactive" style:highest "audio_track_metrics_inactive" +widget "*AudioBusMetricsInactive" style:highest "audio_bus_metrics_inactive" + +widget "*TimeAxisViewControlsBaseUnselected" style:highest "audio_track_base" +widget "*AudioTrackControlsBaseUnselected" style:highest "audio_track_base" +widget "*MidiTrackControlsBaseUnselected" style:highest "midi_track_base" +widget "*AudioTrackFader" style:highest "gain_fader" + +widget "*BusControlsBaseUnselected" style:highest "audio_bus_base" +widget "*AudioBusFader" style:highest "gain_fader" +widget "*TrackSeparator" style:highest "track_separator" +widget "*TrackEditIndicator0*" style:highest "edit_group_0" +widget "*TrackEditIndicator1*" style:highest "edit_group_1" +widget "*TrackEditIndicator2*" style:highest "edit_group_2" +widget "*TrackEditIndicator3*" style:highest "edit_group_3" +widget "*TrackEditIndicator4*" style:highest "edit_group_3" +widget "*TrackEditIndicator5*" style:highest "edit_group_3" +widget "*TrackEditIndicator6*" style:highest "edit_group_3" +widget "*TrackEditIndicator7*" style:highest "edit_group_3" +widget "*EditorTrackNameDisplay" style:highest "track_name_display" +widget "*EditorTrackNameDisplay*" style:highest "track_name_display" +widget "*EditorActiveTrackNameDisplay" style:highest "active_track_name_display" +widget "*EditorActiveTrackNameDisplay*" style:highest "active_track_name_display" +widget "*CrossfadeEditAuditionButton" style:highest "red_when_active" +widget "*CrossfadeEditAuditionButton*" style:highest "red_when_active" +widget "*CrossfadeEditCurveButton" style:highest "red_when_active" +widget "*CrossfadeEditCurveButton*" style:highest "red_when_active" +widget "*CrossfadeEditLabel" style:highest "medium_text" +widget "*CrossfadeEditFrame" style:highest "base_frame" +widget "*MouseModeButton" style:highest "default_button" +widget "*MouseModeButton*" style:highest "default_button" +widget "*EditorMainCanvas" style:highest "main_canvas_area" +widget "*AudioTrackControlsBaseInactiveUnselected" style:highest "track_controls_inactive" +widget "*BusControlsBaseInactiveUnselected" style:highest "track_controls_inactive" +widget "*AutomationTrackControlsBaseInactiveUnselected" style:highest "track_controls_inactive" +widget "*AutomationTrackName" style:highest "automation_track_name" +widget "*AudioTrackControlsBaseInactiveSelected" style:highest "track_controls_inactive" +widget "*BusControlsBaseInactiveSelected" style:highest "track_controls_inactive" +widget "*AutomationTrackControlsBaseInactiveSelected" style:highest "track_controls_inactive" +widget "*AudioTrackControlsBaseSelected" style:highest "edit_controls_base_selected" +widget "*MidiTrackControlsBaseSelected" style:highest "edit_controls_base_selected" +widget "*BusControlsBaseSelected" style:highest "edit_controls_base_selected" +widget "*AutomationTrackControlsBase" style:highest "automation_track_controls_base" +widget "*AutomationTrackControlsBaseSelected" style:highest "edit_controls_base_selected" +/*widget "*EditorMenuBar*" style:highest "black_mackie_menu_bar" +widget "*MainMenuBar*" style:highest "black_mackie_menu_bar" +*/ +widget "*ZoomClickBox" style:highest "medium_bold_entry" +widget "*PluginParameterLabel" style:highest "medium_text" +widget "*PluginNameInfo" style:highest "plugin_name_text" +widget "*PluginMakerInfo" style:highest "plugin_maker_text" +widget "*PluginParameterInfo" style:highest "medium_text" +widget "*MotionControllerValue" style:highest "medium_entry" +widget "*ParameterValueDisplay" style:highest "medium_bold_entry" +widget "*PluginUIClickBox" style:highest "medium_bold_entry" +widget "*PluginUIClickBox*" style:highest "medium_bold_entry" +widget "*PluginSlider" style:highest "plugin_slider" +widget "*RedirectSelector" style:highest "redirect_list_display" +widget "*RedirectSelector.*" style:highest "redirect_list_display" +widget "*EditGroupDisplay" style:highest "treeview_display" +widget "*TrackListDisplay" style:highest "treeview_display" +widget "*RegionListDisplay" style:highest "treeview_display" +widget "*NamedSelectionDisplay" style:highest "treeview_display" +widget "*SnapshotDisplay" style:highest "treeview_display" +widget "*MixerTrackCommentArea" style:highest "option_entry" +widget "*MixerPanZone" style:highest "pan_zone" +widget "*MixerTrackDisplayList" style:highest "treeview_display" +widget "*MixerSnapshotDisplayList" style:highest "treeview_display" +widget "*MixerAuxDisplayList" style:highest "treeview_display" +widget "*MixerGroupList" style:highest "treeview_display" +widget "*RegionEditorLabel" style:highest "medium_text" +widget "*RegionEditorSmallLabel" style:highest "small_text" +widget "*RegionEditorEntry" style:highest "medium_entry" +widget "*RegionEditorClock" style:highest "default_clock_display" +widget "*RegionEditorToggleButton" style:highest "paler_red_when_active" +widget "*RegionEditorToggleButton*" style:highest "paler_red_when_active" +widget "*MixerStripSpeedBase" style:highest "small_entry" +widget "*MixerStripSpeedBase*" style:highest "small_entry" +widget "*MixerStripSpeedBaseNotOne" style:highest "small_red_on_black_entry" +widget "*MixerStripSpeedBaseNotOne*" style:highest "small_red_on_black_entry" +widget "*MixerStripGainDisplay" style:highest "small_entry" +widget "*MixerStripGainDisplay*" style:highest "small_entry" +widget "*MixerStripGainUnitButton" style:highest "very_small_button" +widget "*MixerStripGainUnitButton*" style:highest "very_small_button" +widget "*MixerStripMeterPreButton" style:highest "very_small_button" +widget "*MixerStripMeterPreButton*" style:highest "very_small_button" +widget "*MixerStripPeakDisplay*" style:highest "red_active_small_entry" +widget "*MixerStripPeakDisplayPeak*" style:highest "peak_display_peaked_entry" +widget "*MixerStripSelectedFrame" style:highest "selected_strip_frame" +widget "*MixerStripFrame" style:highest "base_frame" +widget "*HWMonitorButton" style:highest "red_when_active" +widget "*HWMonitorButton*" style:highest "red_when_active" +widget "*TransportSoloAlert" style:highest "flashing_alert" +widget "*TransportSoloAlert.*" style:highest "flashing_alert" +widget "*TransportAuditioningAlert" style:highest "flashing_alert" +widget "*TransportAuditioningAlert.*" style:highest "flashing_alert" +widget "*FadeCurve" style:highest "medium_bold_entry" +widget "*FadeCurve*" style:highest "medium_bold_entry" +widget "*IOSelectorButton" style:highest "default_button" +widget "*IOSelectorButton*" style:highest "default_button" +widget "*IOSelectorList" style:highest "medium_entry_noselection_fg" +widget "*IOSelectorPortList" style:highest "io_selector_port_list" +widget "*IOSelectorPortList.*" style:highest "io_selector_port_list" +widget "*IOSelectorPortListSelected" style:highest "selected_io_selector_port_list" +widget "*IOSelectorPortListSelected.*" style:highest "selected_io_selector_port_list" +widget "*IOSelectorNotebook" style:highest "io_selector_notebook" +widget "*IOSelectorNotebookTab" style:highest "io_selector_notebook" +widget "*IOSelectorFrame" style:highest "base_frame" +widget "*ConnectionEditorButton" style:highest "default_button" +widget "*ConnectionEditorButton*" style:highest "default_button" +widget "*ConnectionEditorList" style:highest "medium_entry_noselection_fg" +widget "*ConnectionEditorConnectionList" style:highest "medium_entry" +widget "*ConnectionEditorPortList" style:highest "io_selector_port_list" +widget "*ConnectionEditorPortListSelected" style:highest "selected_io_selector_port_list" +widget "*ConnectionEditorNotebook" style:highest "io_selector_notebook" +widget "*ConnectionEditorNotebookTab" style:highest "io_selector_notebook" +widget "*ConnectionEditorFrame" style:highest "base_frame" +widget "*RouteParamsListDisplay" style:highest "inspector_track_list_display" +widget "*RouteParamsPreListDisplay" style:highest "inspector_redirect_list_display" +widget "*RouteParamsPostListDisplay" style:highest "inspector_redirect_list_display" +widget "*TearOffArrow" style:highest "tearoff_arrow" +widget "*RouteParamsTitleButton" style:highest "medium_text" +widget "*RouteParamsTitleLabel" style:highest "medium_text" +widget "*PluginAutomateRecordButton" style:highest "small_red_active_and_selected_button" +widget "*PluginAutomateRecordButton*" style:highest "small_red_active_and_selected_button" +widget "*PluginAutomatePlayButton" style:highest "small_red_active_and_selected_button" +widget "*PluginAutomatePlayButton*" style:highest "small_red_active_and_selected_button" +widget "*PluginAutomateButton" style:highest "small_button" +widget "*PluginAutomateButton*" style:highest "small_button" +widget "*PluginSaveButton" style:highest "small_button" +widget "*PluginSaveButton*" style:highest "small_button" +widget "*PluginLoadButton" style:highest "small_button" +widget "*PluginLoadButton*" style:highest "small_button" + +widget "*MetricDialogFrame" style:highest "base_frame" +widget "*MetricEntry" style:highest "medium_bold_entry" +widget "*MetricButton" style:highest "default_button" +widget "*MetricButton.*" style:highest "default_button" +widget "*MetricLabel" style:highest "medium_text" +widget "*TimeStretchButton" style:highest "default_button" +widget "*TimeStretchButton.*" style:highest "default_button" +widget "*TimeStretchProgress" style:highest "default_generic" +widget "*ChoiceWindow" style:highest "default_generic" +widget "*ChoicePrompt" style:highest "default_generic" +widget "*ChoiceButton" style:highest "default_button" +widget "*ChoiceButton*" style:highest "default_button" +widget "*SelectionModeButton" style:highest "default_button" +widget "*SelectionModeButton*" style:highest "default_button" +widget "*TrackLabel" style:highest "medium_text" +widget "*TrackPlugName" style:highest "medium_text" +widget "*TrackParameterName" style:highest "small_text" +widget "*AddRouteDialog*" style:highest "medium_text" +widget "*AddRouteDialog.GtkLabel" style:highest "medium_text" +widget "*AddRouteDialogChannelChoice" style:highest "medium_bold_entry" +widget "*AddRouteDialogSpinner" style:highest "medium_bold_entry" +widget "*AddRouteDialogSpinner*" style:highest "medium_bold_entry" +widget "*AddRouteDialogRadioButton" style:highest "red_when_active" +widget "*AddRouteDialogButton" style:highest "default_button" +widget "*AddRouteDialogNameTemplateEntry" style:highest "medium_bold_entry" +widget "*NewSessionIOLabel" style:highest "larger_bold_text" +widget "*NewSessionSR1Label" style:highest "red_medium_text" +widget "*NewSessionSR2Label" style:highest "medium_text" +widget "*NewSessionChannelChoice" style:highest "medium_bold_entry" +widget "*NewSessionMainButton" style:highest "larger_bold_text" +widget "*NewSessionMainButton*" style:highest "larger_bold_text" +widget "*NewSessionMainLabel" style:highest "larger_bold_text" +widget "*LocationEditRowClock" style:highest "location_rows_clock" +widget "*LocationEditNameLabel" style:highest "medium_text" +widget "*LocationEditSetButton" style:highest "location_row_button" +widget "*LocationEditSetButton*" style:highest "location_row_button" +widget "*LocationEditGoButton" style:highest "location_row_button" +widget "*LocationEditGoButton*" style:highest "location_row_button" +widget "*LocationEditCdButton" style:highest "small_red_active_and_selected_button" +widget "*LocationEditCdButton*" style:highest "small_red_active_and_selected_button" +widget "*LocationEditHideButton" style:highest "small_red_active_and_selected_button" +widget "*LocationEditHideButton*" style:highest "small_red_active_and_selected_button" +widget "*LocationEditNumberLabel" style:highest "small_text" +widget "*LocationLocEditorFrame" style:highest "base_frame" +widget "*LocationRangeEditorFrame" style:highest "base_frame" +widget "*LocationEditNameEntry" style:highest "option_entry" +widget "*LocationAddLocationButton" style:highest "default_button" +widget "*LocationAddLocationButton*" style:highest "default_button" +widget "*LocationAddRangeButton" style:highest "default_button" +widget "*LocationAddRangeButton*" style:highest "default_button" +widget "*LocationEditRemoveButton" style:highest "location_row_button" +widget "*LocationEditRemoveButton*" style:highest "location_row_button" +widget "*PanSlider" style:highest "pan_slider" +widget "*PanningLinkButton" style:highest "mixer_red_active_button" +widget "*PanningLinkButton.*" style:highest "mixer_red_active_button" +widget "*PanningLinkDirectionButton" style:highest "very_small_button" +widget "*PanningLinkDirectionButton.*" style:highest "very_small_button" +widget "*ChannelCountSelector" style:highest "medium_bold_entry" +widget "*ChannelCountSelector.GtkArrow" style:highest "default_generic" +widget "*RegionListWholeFile" style:highest "treeview_parent_node" +widget "*EditorHScrollbar" style:highest "editor_hscrollbar" +widget "*ResizerHandler" style:highest "resizer_handle" + +style "tooltip" { + fg[NORMAL] = { 0.20, 0.20, 0.20 } + bg[NORMAL] = "#FFFFFF" +} + +widget "*ooltip*" style:highest "tooltip" diff --git a/gtk2_ardour/ardour2_ui_light_sae.rc.in b/gtk2_ardour/ardour2_ui_light_sae.rc.in new file mode 100644 index 0000000000..2a6844c6d0 --- /dev/null +++ b/gtk2_ardour/ardour2_ui_light_sae.rc.in @@ -0,0 +1,1584 @@ +# +# This is the GTK style file for Ardour +# + +style "very_small_text" +{ + font_name = "%FONT_SMALLER%" +} + +style "small_text" +{ + font_name = "%FONT_SMALL%" +} + +style "small_bold_text" +{ + font_name = "%FONT_BOLD_SMALL%" +} + +style "medium_bold_text" +{ + font_name = "%FONT_BOLD_NORMAL%" +} + +style "medium_text" +{ + font_name = "%FONT_NORMAL%" +} + +style "red_medium_text" = "medium_text" +{ + fg[NORMAL] = { 1.0, 0, 0 } + fg[ACTIVE] = { 1.0, 0, 0 } + fg[SELECTED] = { 1.0, 0, 0 } +} + + +style "large_text" +{ + font_name = "%FONT_LARGE%" +} + +style "larger_bold_text" +{ + font_name = "%FONT_BOLD_BIGGER%" +} + +style "plugin_name_text" +{ + font_name = "%FONT_BOLD_LARGER%" + fg[NORMAL] = { 0.80, 0.80, 0.80 } +} + +style "plugin_maker_text" +{ + font_name = "%FONT_BOLD_BIGGER%" + fg[NORMAL] = { 0.80, 0.80, 0.80 } +} + +style "automation_track_name" +{ + font_name = "%FONT_ITALIC_NORMAL%" +} + +style "first_action_message" +{ + font_name = "%FONT_HUGER%" +} + +style "verbose_canvas_cursor" +{ + font_name = "%FONT_BOLD_LARGER%" +} + +style "marker_text" +{ + font_name = "%FONT_NORMAL%" +} + +style "time_axis_view_item_name" +{ + font_name = "%FONT_SMALLER%" +} + +style "default_base" = "medium_text" +{ + + GtkButton::default_border = { 0, 0, 0, 0 } + GtkButton::default_outside_border = { 0, 0, 0, 0 } + GtkButton::button_relief = GTK_RELIEF_NONE + GtkTreeView::vertical-padding = 0 + GtkTreeView::horizontal-padding = 0 + GtkTreeView::even-row-color = { 0.70, 0.70, 0.70 } + GtkTreeView::odd-row-color = { 0.64, 0.64, 0.64 } + + fg[NORMAL] = { 0.30, 0.30, 0.40 } + fg[ACTIVE] = { 0.30, 0.30, 0.40 } + fg[PRELIGHT] = { 0.10, 0.10, 0.20 } + fg[INSENSITIVE] = { 0.30, 0.30, 0.40 } + fg[SELECTED] = { 0.30, 0.30, 0.40 } + + bg[NORMAL] = { 0.80, 0.80, 0.80 } + bg[ACTIVE] = { 0.80, 0.80, 0.80 } + bg[PRELIGHT] = { 0.80, 0.80, 0.80 } + bg[INSENSITIVE] = { 0.80, 0.80, 0.80 } + bg[SELECTED] = { 0.80, 0.80, 0.80 } + + text[NORMAL] = { 0.30, 0.30, 0.40 } + text[ACTIVE] = { 0.30, 0.30, 0.40 } + text[PRELIGHT] = { 0.30, 0.30, 0.40 } + text[INSENSITIVE] = { 0.30, 0.30, 0.40 } + text[SELECTED] = { 0, 0, 0 } + + base[ACTIVE] = { 0.80, 0.80, 0.80 } + base[NORMAL] = { 0.80, 0.80, 0.80 } + base[PRELIGHT] = { 0.90, 0.90, 0.90 } + base[INSENSITIVE] = "#4c5159" + base[SELECTED] = { 0.60, 0.60, 0.80 } + + engine "clearlooks" + { + menubarstyle = 0 # 0 = flat, 1 = sunken, 2 = flat gradient + menuitemstyle = 0 # 0 = flat, 1 = 3d-ish (gradient), 2 = 3d-ish (button) + listviewitemstyle = 0 # 0 = flat, 1 = 3d-ish (gradient) + progressbarstyle = 1 # 0 = candy bar, 1 = fancy candy bar, 2 = flat + } +} + +style "base_frame" +{ + bg[NORMAL] = { 0.80, 0.80, 0.80 } + fg[NORMAL] = { 0.35, 0.35, 0.40 } +} + +style "transport_base" = "medium_bold_text" +{ + bg[NORMAL] = { 0.10, 0.10, 0.10 } + bg[ACTIVE] = { 0, 0, 0 } + bg[PRELIGHT] = { 0, 0, 0 } + bg[INSENSITIVE] = { 0, 0, 0 } + bg[SELECTED] = { 0, 0, 0 } +} +/* +style "black_mackie_menu_bar" +{ + font_name = "%FONT_BOLD_NORMAL%" + fg[NORMAL] = { 1.0, 1.0, 1.0 } + bg[NORMAL] = { 0, 0, 0 } +} +*/ +style "default_button" +{ + font_name = "%FONT_SMALL%" + fg[ACTIVE] = { 1.0, 1.0, 1.0 } + + bg[NORMAL] = { 0.80, 0.80, 0.80 } + bg[ACTIVE] = "#565690" + bg[PRELIGHT] = { 0.70, 0.70, 0.90 } + bg[INSENSITIVE] = { 0.70, 0.70, 0.90 } + bg[SELECTED] = { 0.70, 0.70, 0.90 } +} + +style "default_menu" +{ + font_name = "%FONT_NORMAL%" + fg[ACTIVE] = { 1.0, 1.0, 1.0 } + + bg[NORMAL] = { 0.80, 0.80, 0.80 } + bg[ACTIVE] = "#565690" + bg[PRELIGHT] = { 0.70, 0.70, 0.90 } + bg[INSENSITIVE] = { 0.70, 0.70, 0.90 } + bg[SELECTED] = { 0.70, 0.70, 0.90 } +} + +style "default_generic" +{ + font_name = "%FONT_NORMAL%" + fg[ACTIVE] = { 1.0, 1.0, 1.0 } + + bg[NORMAL] = { 0.80, 0.80, 0.80 } + bg[ACTIVE] = "#565690" + bg[PRELIGHT] = { 0.70, 0.70, 0.90 } + bg[INSENSITIVE] = { 0.70, 0.70, 0.90 } + bg[SELECTED] = { 0.70, 0.70, 0.90 } +} + +style "very_small_button" = "default_button" +{ + font_name = "%FONT_SMALLER%" + ythickness = 0 + xthickness = 0 +} + +style "small_button" = "default_button" +{ +} + +style "very_small_red_active_and_selected_button" = "very_small_button" +{ + bg[ACTIVE] = { 1.0, 0, 0} + bg[SELECTED] = { 1.0, 0, 0} +} + +style "small_red_active_and_selected_button" = "small_button" +{ + fg[ACTIVE] = { 0, 0, 0 } + bg[ACTIVE] = { 1.0, 0, 0} + bg[SELECTED] = { 1.0, 0, 0} +} + +style "gain_fader" +{ + bg[NORMAL] = { 0.80, 0.80, 0.80 } + bg[ACTIVE] = { 0.80, 0.80, 0.80 } +} + + +style "track_rec_enable_button" = "small_button" +{ +} + +style "track_rec_enable_button_active" = "small_button" +{ + fg[SELECTED] = { 0.0, 0.0, 0.0 } + fg[ACTIVE] = { 0.0, 0.0, 0.0 } + fg[PRELIGHT] = { 0.0, 0.0, 0.0 } + fg[NORMAL] = { 0.0, 0.0, 0.0 } + + bg[NORMAL] = { 1.0, 0.0, 0.0 } + bg[ACTIVE] = { 1.0, 0.0, 0.0 } + bg[SELECTED] = { 1.0, 0.0, 0.0 } + bg[PRELIGHT] = { 1.0, 0.0, 0.0 } +} + +style "track_rec_enable_button_alternate" = "small_button" +{ + fg[SELECTED] = { 0.0, 0.0, 0.0 } + fg[ACTIVE] = { 0.0, 0.0, 0.0 } + fg[PRELIGHT] = { 0.0, 0.0, 0.0 } + fg[NORMAL] = { 0.0, 0.0, 0.0 } + + bg[NORMAL] = { 0.91, 0.68, 0.68} + bg[ACTIVE] = { 0.91, 0.68, 0.68} + bg[SELECTED] = { 0.91, 0.68, 0.68} + bg[PRELIGHT] = { 0.91, 0.68, 0.68} +} + +style "mixer_track_rec_enable_button" = "track_rec_enable_button" +{ + font_name = "%FONT_SMALLER%" + xthickness = 0 + ythickness = 0 +} + +style "mixer_track_rec_enable_button_alternate" = "track_rec_enable_button_alternate" +{ + font_name = "%FONT_SMALLER%" + xthickness = 0 + ythickness = 0 +} + +style "mixer_track_rec_enable_button_active" = "track_rec_enable_button_active" +{ + font_name = "%FONT_SMALLER%" + xthickness = 0 + ythickness = 0 +} + +style "solo_button" = "small_button" +{ +} + +style "solo_button_alternate" = "small_button" +{ + bg[NORMAL] = { 0.19, 0.97, 0.69 } # solo-safe + bg[ACTIVE] = { 0.19, 0.97, 0.69 } # solo-safe + bg[SELECTED] = { 0.19, 0.97, 0.69 } # solo-safe + bg[PRELIGHT] = { 0.19, 0.97, 0.69 } # solo-safe + + fg[ACTIVE] = { 0, 0, 0 } + fg[SELECTED] = { 0, 0, 0 } + fg[NORMAL] = { 0, 0, 0 } + fg[PRELIGHT] = { 0, 0, 0 } +} + + +style "solo_button_active" = "small_button" +{ + bg[NORMAL] = { 0.66, 0.97, 0.19 } # solo + bg[ACTIVE] = { 0.66, 0.97, 0.19 } # solo + bg[SELECTED] = { 0.66, 0.97, 0.19 } # solo + bg[PRELIGHT] = { 0.66, 0.97, 0.19 } # solo + + fg[ACTIVE] = { 0, 0, 0 } + fg[SELECTED] = { 0, 0, 0 } + fg[NORMAL] = { 0, 0, 0 } + fg[PRELIGHT] = { 0, 0, 0 } +} + +style "mixer_solo_button" = "solo_button" +{ + font_name = "%FONT_SMALLER%" + xthickness = 0 + ythickness = 0 +} + +style "mixer_solo_button_alternate" = "solo_button_alternate" +{ + font_name = "%FONT_SMALLER%" + xthickness = 0 + ythickness = 0 +} +style "mixer_solo_button_active" = "solo_button_active" +{ + font_name = "%FONT_SMALLER%" + xthickness = 0 + ythickness = 0 +} + + +style "mute_button" = "small_button" +{ +} + +style "mute_button_alternate" = "small_button" +{ + bg[ACTIVE] = { 1.0, 0.98, 0.53 } + bg[NORMAL] = { 1.0, 0.98, 0.53 } + bg[SELECTED] = { 1.0, 0.98, 0.53 } + bg[PRELIGHT] = { 1.0, 0.98, 0.53 } + + fg[SELECTED] = { 0, 0, 0 } + fg[ACTIVE] = { 0, 0, 0 } + fg[NORMAL] = { 0, 0, 0 } + fg[PRELIGHT] = { 0, 0, 0 } +} + +style "mute_button_active" = "small_button" +{ + bg[NORMAL] = { 0.90, 0.89, 0.73 } + bg[ACTIVE] = { 0.90, 0.89, 0.73 } + bg[PRELIGHT] = { 0.90, 0.89, 0.73 } + bg[SELECTED] = { 0.90, 0.89, 0.73 } + + fg[SELECTED] = { 0, 0, 0 } + fg[ACTIVE] = { 0, 0, 0 } + fg[NORMAL] = { 0, 0, 0 } + fg[PRELIGHT] = { 0, 0, 0 } +} + +style "mixer_mute_button_alternate" = "mute_button_alternate" +{ + font_name = "%FONT_SMALLER%" + xthickness = 0 + ythickness = 0 +} + +style "mixer_mute_button_active" = "mute_button_active" +{ + font_name = "%FONT_SMALLER%" + xthickness = 0 + ythickness = 0 +} + +style "multiline_combo" = "small_button" +{ + font_name = "%FONT_NORMAL%" + xthickness = 0 + ythickness = 0 +} + +style "mixer_mute_button" = "mute_button" +{ + font_name = "%FONT_SMALLER%" + xthickness = 0 + ythickness = 0 +} + +style "track_loop_button" = "small_button" +{ + bg[ACTIVE] = { 1.0, 0.98, 0.53 } + bg[PRELIGHT] = { 1.0, 0.98, 0.53 } + +} + +style "mixer_red_active_button" = "very_small_button" +{ + fg[ACTIVE] = { 0, 1.0, 1.0 } + bg[ACTIVE] = { 0.7, 0, 0 } + + base[INSENSITIVE] = { 0.80, 0.80, 0.80 } + bg[INSENSITIVE] = { 0.80, 0.80, 0.80 } +} + +style "time_button" = "default_button" +{ + font_name = "%FONT_SMALL%" +} + +style "transport_button" +{ +} + +style "transport_button_active" +{ + bg[NORMAL] = { 0.50, 1.0, 0.50 } + bg[ACTIVE] = { 0.50, 1.0, 0.50 } + bg[SELECTED] = { 0.50, 1.0, 0.50 } + bg[PRELIGHT] = { 0.50, 1.0, 0.50 } + + fg[NORMAL] = { 0, 0, 0 } + fg[PRELIGHT] = { 0, 0, 0 } + fg[SELECTED] = { 0, 0, 0 } + fg[ACTIVE] = { 0, 0, 0 } +} + +style "transport_rec_button" +{ +} + +style "transport_rec_button_active" +{ + bg[ACTIVE] = { 1.0, 0, 0 } + bg[NORMAL] = { 1.0, 0, 0 } + bg[SELECTED] = { 1.0, 0, 0 } + bg[PRELIGHT] = { 1.0, 0, 0 } +} + +style "transport_rec_button_alternate" +{ + bg[PRELIGHT] = { 0.91, 0.68, 0.68 } + bg[NORMAL] = { 0.91, 0.68, 0.68 } + bg[SELECTED] = { 0.91, 0.68, 0.68 } + bg[ACTIVE] = { 0.91, 0.68, 0.68 } +} + +style "shuttle_control" = "very_small_text" +{ + fg[NORMAL] = { 0.85, 0.92, 0.98 } + fg[ACTIVE] = { 0.85, 0.92, 0.98 } + fg[PRELIGHT] = { 0.85, 0.92, 0.98 } + fg[SELECTED] = { 0.85, 0.92, 0.98 } + fg[INSENSITIVE] = { 0.85, 0.92, 0.98 } + + bg[NORMAL] = { 0.26, 0.26, 0.31 } + bg[PRELIGHT] = { 0.26, 0.26, 0.31 } + bg[INSENSITIVE] = { 0.26, 0.26, 0.31 } + bg[ACTIVE] = { 0.70, 0.70, 0.70 } + bg[SELECTED] = { 1.0, 0.04, 0.04 } +} + +style "ardour_adjusters" = "default_generic" +{ + bg[NORMAL] = { 0.60, 0.60, 0.60 } + bg[PRELIGHT] = { 0.80, 0.80, 0.80 } + bg[ACTIVE] = { 0.06, 0.06, 0.06 } +} + +style "editor_hscrollbar" = "ardour_adjusters" +{ + # + # special case: we want this scrollbar to be as tall as the + # zoom focus selector combobox. scrollbars don't expand to + # fill the space available to them, so we have to explicitly + # make it bigger. + # + GtkRange::slider_width = 27 + GtkScrollbar::slider_width = 27 +} + +style "resizer_handle" +{ + fg[NORMAL] = { 0, 0, 0 } + bg[NORMAL] = "#818181" +} + +style "ardour_progressbars" = "default_generic" +{ + bg[NORMAL] = { 0, 0, 0 } + bg[PRELIGHT] = { 0.00, 0.36, 0.40 } +} + +style "preferences" = "default_base" +{ + font_name = "%FONT_NORMAL%" + fg[PRELIGHT] = { 0.80, 0.80, 0.80 } +} + +style "option_entry" = "default_base" +{ + fg[NORMAL] = { 1.0, 1.0, 1.0 } + fg[ACTIVE] = { 1.0, 1.0, 1.0 } + fg[INSENSITIVE] = { 0.80, 0.80, 0.80 } + + base[INSENSITIVE] = { 0.07, 0.07, 0.12 } + + bg[NORMAL] = { 0.35, 0.35, 0.40 } + bg[ACTIVE] = { 0.35, 0.35, 0.40 } +} + +style "red_when_active" = "medium_text" +{ + fg[NORMAL] = { 0, 0, 0 } + bg[NORMAL] = { 0.80, 0.80, 0.80 } + + fg[ACTIVE] = { 0, 0, 0 } + bg[ACTIVE] = { 1.0, 0, 0} +} + +style "xrun_warn" +{ + font_name = "%FONT_BOLD_LARGE%" + + fg[NORMAL] = { 1.0, 1.0, 1.0 } + fg[ACTIVE] = { 1.0, 1.0, 1.0 } + text[NORMAL] = { 1.0, 1.0, 1.0 } + text[ACTIVE] = { 1.0, 1.0, 1.0 } + base[NORMAL] = { 0.09, 0.48, 0.46 } + base[ACTIVE] = { 0.09, 0.48, 0.46 } + bg[NORMAL] = { 1.0, 0.48, 0.46 } + bg[ACTIVE] = { 0.09, 1.0, 0.46 } +} +/* +style "menu_bar_base" = "default_base" +{ + bg[NORMAL] = { 0.2, 0.2, 0.3 } + bg[ACTIVE] = { 0, 0, 0 } + bg[PRELIGHT] = { 0, 0, 0 } + bg[INSENSITIVE] = { 0, 0, 0 } + bg[SELECTED] = { 0, 0, 0 } +} +*/ +style "fatal_message" = "medium_text" +{ + fg[ACTIVE] = { 1.0, 0, 1.0 } + fg[NORMAL] = { 0.80, 0.80, 0.80 } + bg[ACTIVE] = { 0,0,0 } + bg[NORMAL] = { 0,0,0 } + base[ACTIVE] = { 0,0,0 } + base[NORMAL] = { 0,0,0 } +} + +style "error_message" = "medium_text" +{ + fg[ACTIVE] = { 1.0, 0, 0 } + fg[NORMAL] = { 0.80, 0.80, 0.80 } + bg[ACTIVE] = { 0,0,0 } + bg[NORMAL] = { 0,0,0 } + base[ACTIVE] = { 0,0,0 } + base[NORMAL] = { 0,0,0 } +} + +style "info_message" = "medium_text" +{ + fg[ACTIVE] = { 1.0, 0, 0 } + fg[NORMAL] = { 0.80, 0.80, 0.80 } + bg[ACTIVE] = { 0,0,0 } + bg[NORMAL] = { 0,0,0 } + base[ACTIVE] = { 0,0,0 } + base[NORMAL] = { 0,0,0 } +} + +style "warning_message" = "medium_text" +{ + fg[ACTIVE] = { 0.30,0.30, 1.0 } + fg[NORMAL] = { 0.80, 0.80, 0.80 } + bg[ACTIVE] = { 0, 0, 0 } + bg[NORMAL] = { 0, 0, 0 } + base[ACTIVE] = { 0, 0, 0 } + base[NORMAL] = { 0, 0, 0 } +} + +style "medium_entry" = "medium_text" +{ + fg[NORMAL] = { 0, 0, 0 } + fg[ACTIVE] = { 0, 0, 0 } + fg[SELECTED] = { 1.0, 1.0, 1.0 } + + bg[NORMAL] = { 0.70, 0.70, 0.70 } + + base[NORMAL] = { 0.70, 0.70, 0.70 } + base[ACTIVE] = { 0.70, 0.70, 0.70 } + base[SELECTED] = { 0.70, 0.70, 0.70 } +} + +style "medium_entry_noselection_fg" = "medium_entry" +{ + fg[SELECTED] = { 0.50, 1.0, 0.50 } +} + +style "medium_entry_noselection_bg" = "medium_entry" +{ + bg[SELECTED] = { 1.0, 1.0, 1.0 } +} + +style "medium_bold_entry" = "medium_bold_text" +{ + fg[NORMAL] = { 0, 0, 0 } + fg[ACTIVE] = { 0, 0, 0 } + fg[SELECTED] = { 1.0, 1.0, 1.0 } + + bg[NORMAL] = { 0.70, 0.70, 0.70 } + + base[NORMAL] = { 0.70, 0.70, 0.70 } + base[ACTIVE] = { 0.70, 0.70, 0.70 } + base[SELECTED] = { 0.70, 0.70, 0.70 } +} + +style "small_entry" = "small_text" +{ + fg[NORMAL] = { 0, 0, 0 } + fg[ACTIVE] = { 0, 1.0, 0 } + fg[SELECTED] = { 0, 1.0, 0 } + text[NORMAL] = { 0, 0, 0 } + text[ACTIVE] = { 0, 1.0, 0 } + text[SELECTED] = { 0, 1.0, 0 } + bg[NORMAL] = { 0.70, 0.70, 0.70 } + bg[SELECTED] = { 0.70, 0.70, 0.70 } + bg[SELECTED] = { 0.70, 0.70, 0.70 } + base[NORMAL] = { 0.70, 0.70, 0.70 } + base[ACTIVE] = { 0.70, 0.70, 0.70 } + base[SELECTED] = { 0.70, 0.70, 0.70 } +} + +style "red_active_small_entry" = "small_entry" +{ + fg[ACTIVE] = { 1.0, 0.0, 0.0 } + fg[SELECTED] = { 1.0, 0, 0 } +} + +style "small_bold_entry" = "small_bold_text" +{ + fg[NORMAL] = { 0, 0, 0 } + fg[ACTIVE] = { 0, 0, 0 } + fg[SELECTED] = { 1.0, 1.0, 1.0 } + + bg[NORMAL] = { 0.70, 0.70, 0.70 } + + base[NORMAL] = { 0.70, 0.70, 0.70 } + base[ACTIVE] = { 0.70, 0.70, 0.70 } + base[SELECTED] = { 0.70, 0.70, 0.70 } +} + +style "small_red_on_black_entry" = "small_bold_text" +{ + fg[NORMAL] = { 1.0, 0, 0 } + fg[ACTIVE] = { 1.0, 0, 0 } + base[NORMAL] = { 0.0, 0.0, 0.0 } + base[ACTIVE] = { 0.0, 0.0, 0.0 } + bg[NORMAL] = { 0.0, 0.0, 0.0 } + bg[ACTIVE] = { 0.0, 0.0, 0.0 } +} + +style "non_recording_big_clock_display" = "medium_entry" +{ + font_name = "%FONT_MASSIVE%" + + fg[NORMAL] = { 0.50, 1.0, 0.50 } + fg[ACTIVE] = { 1.0, 0, 0.0 } + fg[SELECTED] = { 1.0, 0, 0 } + fg[PRELIGHT] = { 1.0, 0, 0.0 } + fg[INSENSITIVE] = { 1.0, 0, 0.0 } + + base[NORMAL] = { 0.0, 0.0, 0.0 } + base[ACTIVE] = { 0.0, 0.0, 0.0 } + bg[NORMAL] = { 0.0, 0.0, 0.0 } + bg[ACTIVE] = { 0.7, 0.0, 0.0 } +} + +style "recording_big_clock_display" = "non_recording_big_clock_display" +{ + fg[NORMAL] = { 1.0, 0, 0 } +} + +style "transport_clock_display" +{ + font_name = "%FONT_BOLD_BIGGER%" + + fg[NORMAL] = { 0.50, 1.0, 0.50 } + fg[ACTIVE] = { 1.0, 0, 0.0 } + fg[SELECTED] = { 1.0, 0, 0 } + fg[PRELIGHT] = { 1.0, 0, 0.0 } + fg[INSENSITIVE] = { 1.0, 0, 0.0 } + + base[NORMAL] = { 0.0, 0.0, 0.0 } + base[ACTIVE] = { 0.0, 0.0, 0.0 } + bg[NORMAL] = { 0.0, 0.0, 0.0 } + bg[ACTIVE] = { 0.0, 0.0, 0.0 } +} + +style "transport_clock_display_delta" = "transport_clock_display" +{ + fg[NORMAL] = { 0.30, 0.30, 1.0 } +} + +style "tempo_meter_clock_display" +{ + font_name = "%FONT_SMALLER%" + fg[NORMAL] = { 1.0, 1.0, 1.0 } + fg[ACTIVE] = { 1.0, 1.0, 0.0 } + fg[SELECTED] = { 1.0, 0, 0 } + base[NORMAL] = { 0.0, 0.48, 1.0 } + base[ACTIVE] = { 0.09, 0.98, 0.46 } + bg[NORMAL] = { 0.0, 0.48, 1.0 } + bg[ACTIVE] = { 0.09, 0.98, 0.46 } +} + +style "default_clock_display" = "medium text" +{ + fg[NORMAL] = { 0.50, 1.0, 0.50 } + fg[ACTIVE] = { 1.0, 0.0, 0.0 } + fg[SELECTED] = { 1.0, 0, 0 } + base[NORMAL] = { 0, 0, 0 } + base[ACTIVE] = { 0, 0, 0 } + bg[NORMAL] = { 0, 0, 0 } + bg[ACTIVE] = { 0, 0, 0 } +} + +style "editor_time_ruler" = "small_text" +{ + fg[NORMAL] = { 0, 0, 0 } + bg[NORMAL] = { 0.74, 0.74, 0.77 } +} + +style "audio_bus_base" +{ + font_name = "%FONT_SMALLER%" + fg[NORMAL] = { 0, 0, 0 } + bg[NORMAL] = { 0.65, 0.65, 0.65 } +} + +style "audio_track_base" = "default_base" +{ + font_name = "%FONT_SMALLER%" + fg[NORMAL] = { 0.30, 0.30, 0.35 } + bg[NORMAL] = { 0.70, 0.70, 0.70 } + bg[ACTIVE] = { 0.80, 0.80, 0.80 } + bg[PRELIGHT] = { 0.80, 0.80, 0.80 } + bg[INSENSITIVE] = { 0.80, 0.80, 0.80 } + bg[SELECTED] = { 0.80, 0.80, 0.80 } +} + +style "midi_bus_base" +{ + font_name = "%FONT_SMALLER%" + fg[NORMAL] = { 0.77, 0.77, 0.72 } + fg[NORMAL] = { 0.7, 0.8, 0.2 } + #bg[NORMAL] = {0, 0.36, 0.40 } + bg[NORMAL] = "#444466" +} + +style "midi_track_base" = "default_base" +{ + font_name = "%FONT_SMALLER%" + fg[NORMAL] = { 0.77, 0.77, 0.72 } + bg[NORMAL] = { 0.48, 0.30, 0.32 } + bg[ACTIVE] = { 0.70, 0.70, 0.80 } + bg[PRELIGHT] = { 0.70, 0.70, 0.80 } + bg[INSENSITIVE] = { 0.70, 0.70, 0.80 } + bg[SELECTED] = { 0.70, 0.70, 0.80 } +} + +style "track_controls_inactive" +{ + bg[NORMAL] = { 0.60, 0.60, 0.66 } + bg[ACTIVE] = { 0.60, 0.60, 0.66 } + bg[INSENSITIVE] = { 0.60, 0.60, 0.66 } + bg[SELECTED] = { 0.60, 0.60, 0.66 } + bg[PRELIGHT] = { 0.60, 0.60, 0.66 } + + #font_name = "sans 18" + fg[NORMAL] = { 0.7, 0.8, 0.2 } +} + +style "audio_track_metrics" = "audio_track_base" +{ + font_name = "%FONT_TINY%" +} + +style "audio_bus_metrics" = "audio_bus_base" +{ + font_name = "%FONT_TINY%" +} + +style "audio_track_metrics_inactive" = "track_controls_inactive" +{ + font_name = "%FONT_TINY%" +} + +style "audio_bus_metrics_inactive" = "track_controls_inactive" +{ + font_name = "%FONT_TINY%" +} + +style "track_name_display" +{ + font_name = "%FONT_NORMAL%" + fg[NORMAL] = { 0.80, 0.80, 0.80 } + fg[ACTIVE] = { 0.80, 0.80, 0.80 } + text[INSENSITIVE] = { 0.70, 0.70, 0.70 } + + base[NORMAL] = { 0.80, 0.80, 0.80 } + base[ACTIVE] = { 0.80, 0.80, 0.80 } + bg[NORMAL] = { 0.80, 0.80, 0.80 } + bg[ACTIVE] = { 0.80, 0.80, 0.80 } +} + +style "active_track_name_display" +{ + font_name = "%FONT_NORMAL%" + text[NORMAL] = { 0.26, 0.26, 0.26 } + base[NORMAL] = { 0.89, 0.89, 0.89 } +} + +style "track_separator" +{ + bg[NORMAL] = { 0.35, 0.35, 0.40 } +} + +# +# Track edit groups. These styles define +# the colors that the "edit" button will +# use as a track is moved from +# track edit group to track edit group. +# There are 8 edit groups. Edit group 0 +# is used for tracks that are not editable, +# so we leave its style to the default. +# + +style "edit_group_0" + +{ + bg[ACTIVE] = { 1.0, 0.65, 0.13 } + bg[NORMAL] = { 0.31, 0.31, 0.31 } + fg[NORMAL] = { 0.82, 0.91, 0.99 } + fg[ACTIVE] = { 0, 0, 0 } +} + +style "edit_group_1" +{ + fg[NORMAL] = { 0, 0, 0 } + fg[PRELIGHT] = { 0, 0, 0 } + fg[SELECTED] = { 0, 0, 0 } + bg[NORMAL] = { 0.93, 0.34, 0.08 } + bg[PRELIGHT] = { 0.93, 0.34, 0.08 } + bg[SELECTED] = { 0.93, 0.34, 0.08 } +} + +style "edit_group_2" +{ + fg[NORMAL] = { 0, 0, 0 } + fg[PRELIGHT] = { 0, 0, 0 } + fg[SELECTED] = { 0, 0, 0 } + bg[NORMAL] = { 0.93, 0.34, 0.08 } + bg[PRELIGHT] = { 0.93, 0.34, 0.08 } + bg[SELECTED] = { 0.93, 0.34, 0.08 } +} + +style "edit_group_3" +{ + fg[NORMAL] = { 0, 0, 0 } + fg[PRELIGHT] = { 0, 0, 0 } + fg[SELECTED] = { 0, 0, 0 } + bg[NORMAL] = { 0.93, 0.34, 0.08 } + bg[PRELIGHT] = { 0.93, 0.34, 0.08 } + bg[SELECTED] = { 0.93, 0.34, 0.08 } +} + +style "treeview_parent_node" +{ + # specifies *just* the color used for whole file rows when not selected + fg[NORMAL] = { 0.0, 0.0, 1.0 } +} + +style "treeview_display" = "small_bold_text" +{ + # expander arrow border and DnD "icon" text + fg[NORMAL] = { 0, 0, 0 } + + # background with no rows or no selection, plus + # expander arrow core and DnD "icon" background + base[NORMAL] = { 0.20, 0.20, 0.25 } + + # selected row bg when window does not have focus (including during DnD) + base[ACTIVE] = { 0.0, 0.60, 0.60 } + + # selected row bg when window has focus + base[SELECTED] = { 0, 0.75, 0.75 } + + # row text when in normal state and not a parent + text[NORMAL] = { 0, 0, 0 } + + # selected row text with window focus + text[SELECTED] = { 0, 1.0, 1.0 } + + # selected row text without window focus (including during DnD) + text[ACTIVE] = { 0, 1.0, 1.0 } +} + +style "main_canvas_area" +{ + bg[NORMAL] = { 0.40, 0.40, 0.40 } + bg[ACTIVE] = { 0.40, 0.40, 0.40 } + bg[INSENSITIVE] = { 0.40, 0.40, 0.40 } + bg[SELECTED] = { 0.40, 0.40, 0.40 } + bg[PRELIGHT] = { 0.40, 0.40, 0.40 } +} + +style "track_controls_inactive" +{ + bg[NORMAL] = { 0.60, 0.60, 0.66 } + bg[ACTIVE] = { 0.60, 0.60, 0.66 } + bg[INSENSITIVE] = { 0.60, 0.60, 0.66 } + bg[SELECTED] = { 0.60, 0.60, 0.66 } + bg[PRELIGHT] = { 0.60, 0.60, 0.66 } + + font_name = "%FONT_LARGE%" + fg[NORMAL] = { 0.7, 0.8, 0.2 } +} + +style "edit_controls_base_selected" +{ + bg[NORMAL] = { 0.60, 0.54, 0.60 } + bg[ACTIVE] = { 0.60, 0.54, 0.60 } + bg[INSENSITIVE] = { 0.60, 0.54, 0.60 } + bg[SELECTED] = { 0.60, 0.54, 0.60 } + bg[PRELIGHT] = { 0.60, 0.54, 0.60 } +} + +style "automation_track_controls_base" +{ + bg[NORMAL] = { 0.22, 0.22, 0.29 } + bg[ACTIVE] = { 0.22, 0.22, 0.29 } + bg[INSENSITIVE] = { 0.22, 0.22, 0.29 } + bg[SELECTED] = { 0.22, 0.22, 0.29 } + bg[PRELIGHT] = { 0.22, 0.22, 0.29 } +} + +# Plugin Editors +style "plugin_slider" +{ + font_name ="%FONT_BOLD_BIG%" + + # the slider itself. the inactive part is INSENSITIVE, + # the active part is something else. + + fg[NORMAL] = { 0.37, 0.43, 0.52 } + fg[ACTIVE] = { 0.37, 0.43, 0.52 } + fg[INSENSITIVE] = {0.35, 0.35, 0.40 } # matches default_base + fg[SELECTED] = { 0.37, 0.43, 0.52 } + fg[PRELIGHT] = { 0.37, 0.43, 0.52 } + + # draws the outer rectangle around the slider + + bg[NORMAL] = { 0.80, 0.80, 0.80 } + bg[ACTIVE] = { 0.80, 0.80, 0.80 } + bg[INSENSITIVE] = {0.80, 0.80, 0.80 } + bg[SELECTED] = { 0.80, 0.80, 0.80 } + bg[PRELIGHT] = { 0.80, 0.80, 0.80 } + + # the numeric display + + text[NORMAL] = { 0.80, 0.80, 0.80 } + text[ACTIVE] = { 0.80, 0.80, 0.80 } + text[INSENSITIVE] = { 0.80, 0.80, 0.80 } + text[SELECTED] = { 0.80, 0.80, 0.80 } + text[PRELIGHT] = { 0.80, 0.80, 0.80 } +} + +style "track_list_display" = "small_bold_text" +{ + text[NORMAL] = { 0.80, 0.80, 0.80 } + text[ACTIVE] = { 0.3, 0.3, 0.3 } + text[INSENSITIVE] = { 0, 0, 0 } + text[SELECTED] = { 0.8, 0.8, 0.8 } + + base[NORMAL] = { 0.70, 0.70, 0.70 } + base[ACTIVE] = { 0.70, 0.70, 0.70 } + base[INSENSITIVE] = { 0.70, 0.70, 0.70 } + base[SELECTED] = { 0.70, 0.70, 0.70 } +} + +style "inspector_track_list_display" = "track_list_display" +{ + text[ACTIVE] = { 0.8, 0.8, 0.8 } + + base[NORMAL] = { 0.70, 0.70, 0.70 } + base[ACTIVE] = { 0.2, 0.2, 0.2 } + base[INSENSITIVE] = { 0.70, 0.70, 0.70 } + base[SELECTED] = { 0.3, 0.3, 0.4 } +} + +style "redirect_list_display" +{ + GtkTreeView::horizontal-separator = 0 + GtkTreeView::vertical-separator = 0 + + font_name = "%FONT_SMALL%" + text[NORMAL] = { 0.80, 0.80, 0.80 } + text[ACTIVE] = { 0.70, 0.70, 0.70 } + text[INSENSITIVE] = { 0, 0, 0 } + text[SELECTED] = { 0.9, 0.3, 0.3 } + + base[NORMAL] = { 0.70, 0.70, 0.70 } + base[ACTIVE] = { 0.70, 0.70, 0.70 } + base[INSENSITIVE] = { 0.70, 0.70, 0.70 } + base[SELECTED] = { 0.70, 0.70, 0.70 } + + # these two are explicitly used by the cell renderer for the + # text + + fg[NORMAL] = { 0.5, 0.5, 0.5 } # used for inactive + fg[ACTIVE] = { 0, 0, 0 } # used for active +} + +style "inspector_redirect_list_display" = "redirect_list_display" +{ + base[SELECTED] = { 0.3, 0.3, 0.3 } +} + +# MixerPanZone: +# +# the NORMAL fg color is used for the pan puck +# the ACTIVE fg color is used for the speaker boxes + +style "pan_zone" = "default_base" +{ + fg[NORMAL] = { 0.34, 0.95, 0.92 } + fg[ACTIVE] = { 0.95, 0.48, 0.11 } +} + +style "paler_red_when_active" = "medium_text" +{ + fg[NORMAL] = { 0.80, 0.80, 0.80 } + fg[PRELIGHT] = { 0.80, 0.80, 0.80 } + bg[NORMAL] = { 0.31, 0.31, 0.31 } + bg[PRELIGHT] = { 0.31, 0.31, 0.31 } + + fg[ACTIVE] = { 0.36, 0.46, 0.28 } + bg[ACTIVE] = { 1.00, 0.59, 0.59} +} + +style "peak_display_peaked_entry" = "small_text" +{ + fg[NORMAL] = { 1.0, 1.0, 1.0 } + fg[ACTIVE] = { 1.0, 1.0, 1.0 } + fg[SELECTED] = { 1.0, 1.0, 1.0 } + + bg[NORMAL] = {0.9, 0.0, 0.0 } + bg[ACTIVE] = { 0.9, 0.0, 0.0 } + bg[PRELIGHT] = { 0.9, 0.0, 0.0 } + bg[INSENSITIVE] = { 0.9, 0.0, 0.0 } + bg[SELECTED] = { 0.9, 0.0, 0.0 } + base[NORMAL] = { 0.9, 0.0, 0.0 } + base[ACTIVE] = { 0.9, 0.0, 0.0 } + base[PRELIGHT] = { 0.9, 0.0, 0.0 } + base[INSENSITIVE] = { 0.9, 0.0, 0.0 } + base[SELECTED] = { 0.9, 0.0, 0.0 } +} + +style "selected_strip_frame" +{ + fg[NORMAL] = { 0.74, 0.42, 0.47 } + bg[NORMAL] = { 0.79, 0.28, 0.18 } +} + +style "flashing_alert" = "very_small_text" +{ + fg[NORMAL] = { 0, 0, 0 } + bg[NORMAL] = { 0.80, 0.80, 0.80 } + + fg[ACTIVE] = { 0, 0, 0 } + bg[ACTIVE] = { 1.0, 0, 0} +} + +style "selected_io_selector_port_list" = "medium_bold_text" +{ + + GtkTreeView::even-row-color = { 0.70, 0.70, 0.70 } + GtkTreeView::odd-row-color = { 0.70, 0.70, 0.70 } + +# fg is used to color the fg (text) of the column header button + + fg[NORMAL] = { 0.30, 0.30, 0.35 } + fg[SELECTED] = { 0.30, 0.30, 0.35 } + fg[ACTIVE] = { 0.30, 0.30, 0.35 } + fg[PRELIGHT] = { 0.30, 0.30, 0.35 } + fg[INSENSITIVE] = { 0.30, 0.30, 0.35 } + +# bg is used used to color the background of the column header button + + bg[NORMAL] = { 0.80, 0.80, 0.80 } + bg[ACTIVE] = { 0.80, 0.80, 0.80 } + bg[PRELIGHT] = { 0.80, 0.80, 0.80 } + bg[INSENSITIVE] = { 0.80, 0.80, 0.80 } + bg[SELECTED] = { 0.80, 0.80, 0.80 } + +# text is used to color the treeview row text + + text[NORMAL] = { 0.30, 0.30, 0.35 } + text[SELECTED] = { 0.30, 0.30, 0.35 } + +# base is used to color a treeview with no rows + + base[NORMAL] = { 0.70, 0.70, 0.70 } + base[ACTIVE] = { 0.70, 0.70, 0.70 } + base[PRELIGHT] = { 0.70, 0.70, 0.70 } + base[INSENSITIVE] = { 0.70, 0.70, 0.70 } + base[SELECTED] = { 0.70, 0.70, 0.70 } + +} + +style "io_selector_port_list" = "medium_text" +{ + GtkTreeView::even-row-color = { 0.70, 0.70, 0.70 } + GtkTreeView::odd-row-color = { 0.70, 0.70, 0.70 } +# fg is used to color the fg (text) of the column header button + + fg[NORMAL] = { 0.30, 0.30, 0.35 } + fg[SELECTED] = { 0.30, 0.30, 0.35 } + fg[ACTIVE] = { 0.30, 0.30, 0.35 } + fg[PRELIGHT] = { 0.30, 0.30, 0.35 } + fg[INSENSITIVE] = { 0.30, 0.30, 0.35 } + +# bg is used used to color the background of the column header button + + bg[NORMAL] = { 0.80, 0.80, 0.80 } + bg[ACTIVE] = { 0.80, 0.80, 0.80 } + bg[PRELIGHT] = { 0.80, 0.80, 0.80 } + bg[INSENSITIVE] = { 0.80, 0.80, 0.80 } + bg[SELECTED] = { 0.80, 0.80, 0.80 } + +# text is used to color the treeview row text + + text[NORMAL] = { 0.30, 0.30, 0.35 } + text[SELECTED] = { 0.30, 0.30, 0.35 } + +# base is used to color a treeview with no rows + + base[NORMAL] = { 0.20, 0.20, 0.25 } + base[ACTIVE] = { 0.20, 0.20, 0.25 } + base[PRELIGHT] = { 0.20, 0.20, 0.25 } + base[INSENSITIVE] = { 0.20, 0.20, 0.25 } + base[SELECTED] = { 0.20, 0.20, 0.25 } +} + +style "io_selector_notebook" = "default_base" +{ + fg[NORMAL] = { 1.0, 1.0, 1.0 } + font_name ="%FONT_BOLD_NORMAL%" +} + +style "tearoff_arrow" = "medium_bold_entry" +{ + fg[NORMAL] = { 0.30, 0.30, 0.30 } + fg[PRELIGHT] = { 0.30, 0.30, 0.30 } + bg[NORMAL] = { 0.30, 0.30, 0.30 } + bg[PRELIGHT] = { 0.30, 0.30, 0.30 } +} + +style "location_row_button" = "default_button" +{ + font_name = "%FONT_NORMAL%" +} + +style "location_rows_clock" = "default_clock_display" +{ + font_name = "%FONT_BIG%" +} + +style "pan_slider" +{ + font_name = "%FONT_NORMAL%" + + fg[NORMAL] = { 0.22, 0.73, 0.22 } + fg[ACTIVE] = { 0.22, 0.73, 0.22 } + fg[INSENSITIVE] = {0.22, 0.53, 0.22 } + fg[SELECTED] = { 0.67, 0.23, 0.22 } + fg[PRELIGHT] = { 0.67, 0.23, 0.22 } + + bg[NORMAL] = { 0.05, 0.05, 0.05 } + bg[ACTIVE] = { 0, 0, 0 } + bg[INSENSITIVE] = {0.12, 0.19, 0.25 } + bg[SELECTED] = { 0, 0, 0 } + bg[PRELIGHT] = { 0, 0, 0 } + + text[NORMAL] = { 0.70, 0.70, 0.70 } + text[ACTIVE] = { 0.70, 0.70, 0.70 } + text[INSENSITIVE] = { 0.70, 0.70, 0.70 } + text[SELECTED] = { 0.70, 0.70, 0.70 } + text[PRELIGHT] = { 0.70, 0.70, 0.70 } + + # used to draw the triangular indicators + + base[NORMAL] = { 0.80, 0.80, 0.80 } + base[ACTIVE] = { 0.80, 0.80, 0.80 } + base[INSENSITIVE] = {0.6, 0.6, 0.6 } + base[SELECTED] = { 0.80, 0.80, 0.80 } + base[PRELIGHT] = { 0.80, 0.80, 0.80 } + +} + +style "ardour_button" ="default_button" +{ + xthickness = 1 + ythickness = 1 +} + +#--------------------------------------------------------------- + +class "GtkWidget" style:highest "default_base" +class "GtkScrollbar" style:highest "ardour_adjusters" +class "GtkLabel" style:highest "default_generic" +class "GtkButton" style:highest "ardour_button" +class "GtkArrow" style:highest "tearoff_arrow" +class "GtkProgressBar" style:highest "ardour_progressbars" + +widget "*FirstActionMessage" style:highest "first_action_message" +widget "*VerboseCanvasCursor" style:highest "verbose_canvas_cursor" +widget "*MarkerText" style:highest "marker_text" +widget "*TimeAxisViewItemName*" style:highest "time_axis_view_item_name" +#widget "*ExportProgress" style:highest "default_generic" +widget "*ExportFileLabel" style:highest "small_bold_text" +widget "*ExportFormatLabel" style:highest "medium_bold_text" +widget "*ExportHeader" style:highest "small_bold_text" +widget "*ExportFileDisplay" style:highest "medium_entry" +widget "*ExportFormatDisplay" style:highest "medium_entry" +widget "*ExportCheckbox" style:highest "small_entry" +widget "*ExportTrackSelector*" style:highest "medium_entry_noselection_bg" +widget "*EditModeSelector" style:highest "medium_bold_entry" +widget "*SnapTypeSelector" style:highest "medium_bold_entry" +widget "*SnapModeSelector" style:highest "medium_bold_entry" +widget "*ZoomFocusSelector" style:highest "medium_bold_entry" +widget "*ArdourContextMenu*" style:highest "default_menu" +widget "*EditGroupTitleButton*" style:highest "default_button" +widget "*MixerGroupTitleButton*" style:highest "default_button" +widget "*ErrorLogCloseButton" style:highest "default_button" +widget "*EditorGTKButton*" style:highest "default_button" +widget "*ToolbarButton" style:highest "default_button" +widget "*ToolbarButton*" style:highest "default_button" +widget "*CrossfadeEditButton" style:highest "default_button" +widget "*CrossfadeEditButton*" style:highest "default_button" +widget "*TrackHistoryButton*" style:highest "default_button" +widget "*TrackSizeButton*" style:highest "default_button" +widget "*TrackPlaylistButton*" style:highest "default_button" +widget "*TrackAutomationButton*" style:highest "default_button" +widget "*TrackGroupButton*" style:highest "default_button" +widget "*TrackMixButton*" style:highest "default_button" +widget "*TrackVisualButton*" style:highest "default_button" +widget "*TrackRemoveButton*" style:highest "default_button" +widget "*BaseButton" style:highest "default_button" +widget "*TakeButtonLabel" style:highest "default_generic" +widget "*MixerWidthButton" style:highest "default_button" +widget "*MixerHideButton" style:highest "default_button" +widget "*MixerSendButton" style:highest "default_button" +widget "*MixerSendButtonLabel" style:highest "default_button" +widget "*MixerSendSwitch" style:highest "default_button" +widget "*MixerInsertButton" style:highest "default_button" +widget "*MixerInsertButtonLabel" style:highest "default_button" +widget "*MixerInsertSwitch" style:highest "default_button" +widget "*MixerMonitorInputButton*" style:highest "very_small_button" +widget "*MixerMonitorInputButton.*" style:highest "very_small_button" +widget "*MixerIOButton" style:highest "very_small_button" +widget "*MixerIOButtonLabel" style:highest "very_small_button" +widget "*AddRouteDialogSpinner" style:highest "ardour_adjusters" +widget "*AddRouteDialogRadioButton*" style:highest "preferences" +widget "*OptionsNotebook" style:highest "preferences" +widget "*OptionEditorToggleButton*" style:highest "preferences" +widget "*OptionsLabel" style:highest "preferences" +widget "*OptionEditorAuditionerLabel" style:highest "preferences" +widget "*OptionsEntry" style:highest "option_entry" +widget "*InspectorNotebook" style:highest "preferences" +widget "*NewSessionDialog" style:highest "preferences" +widget "*NewSessionDialogButton*" style:highest "preferences" +widget "*MixerSendSwitch*" style:highest "very_small_red_active_and_selected_button" +widget "*OptionEditorToggleButton" style:highest "small_red_active_and_selected_button" +widget "*NewSessionDialogButton" style:highest "small_red_active_and_selected_button" +widget "*RecordEnableButton" style:highest "track_rec_enable_button" +widget "*RecordEnableButton-active" style:highest "track_rec_enable_button_active" +widget "*RecordEnableButton-alternate" style:highest "track_rec_enable_button_alternate" +widget "*MixerRecordEnableButton" style:highest "mixer_track_rec_enable_button" +widget "*MixerRecordEnableButton-active" style:highest "mixer_track_rec_enable_button_active" +widget "*MixerRecordEnableButton-alternate" style:highest "mixer_track_rec_enable_button_alternate" +widget "*MuteButton" style:highest "mute_button" +widget "*MuteButton-alternate" style:highest "mute_button_alternate" +widget "*MuteButton-active" style:highest "mute_button_active" +widget "*MixerMuteButton" style:highest "mixer_mute_button" +widget "*MixerMuteButton-alternate" style:highest "mixer_mute_button_alternate" +widget "*MixerMuteButton-active" style:highest "mixer_mute_button_active" +widget "*SoloButton" style:highest "solo_button" +widget "*SoloButton-alternate" style:highest "solo_button_alternate" +widget "*SoloButton-active" style:highest "solo_button_active" +widget "*MixerSoloButton" style:highest "mixer_solo_button" +widget "*MixerSoloButton-alternate" style:highest "mixer_solo_button_alternate" +widget "*MixerSoloButton-active" style:highest "mixer_solo_button_active" +widget "*TrackLoopButton*" style:highest "track_loop_button" +widget "*PanAutomationLineSelector*" style:highest "multiline_combo" +widget "*EditorTimeButton*" style:highest "time_button" +widget "*MixerPhaseInvertButton*" style:highest "very_small_button" +widget "*MixerPhaseInvertButton.*" style:highest "very_small_button" +widget "*MixerAutomationRecordingButton*" style:highest "very_small_button" +widget "*MixerAutomationRecordingButton.*" style:highest "very_small_button" +widget "*MixerAutomationModeButton*" style:highest "very_small_button" +widget "*MixerAutomationModeButton.*" style:highest "very_small_button" +widget "*MixerAutomationPlaybackButton*" style:highest "very_small_button" +widget "*MixerAutomationPlaybackButton.*" style:highest "very_small_button" +widget "*MixerNameButton" style:highest "very_small_button" +widget "*MixerNameButtonLabel" style:highest "very_small_button" +widget "*MixerGroupButton" style:highest "very_small_button" +widget "*MixerGroupButtonLabel" style:highest "very_small_button" +widget "*MixerCommentButton" style:highest "very_small_button" +widget "*MixerCommentButton*" style:highest "very_small_button" +widget "*EditGroupButton" style:highest "very_small_button" +widget "*EditGroupButtonLabel" style:highest "very_small_button" +widget "*TransportButton" style:highest "transport_rec_button" +widget "*TransportButton-active" style:highest "transport_button_active" +widget "*ShuttleButton" style:highest "transport_button" +widget "*ShuttleButton*" style:highest "transport_button" +widget "*ShuttleDisplay" style:highest "transport_button" +widget "*ShuttleDisplay*" style:highest "transport_button" +widget "*ShuttleControl" style:highest "shuttle_control" +widget "*TransportRecButton" style:highest "transport_rec_button" +widget "*TransportRecButton*" style:highest "transport_rec_button" +widget "*TransportRecButton-active" style:highest "transport_rec_button_active" +widget "*TransportRecButton-active*" style:highest "transport_rec_button_active" +widget "*TransportRecButton-alternate" style:highest "transport_rec_button_alternate" +widget "*TransportRecButton-alternate*" style:highest "transport_rec_button_alternate" +widget "*TransportRecButton*" style:highest "transport_rec_button" +widget "*RecordingXrunWarningWindow" style:highest "xrun_warn" +widget "*RecordingXrunWarningWindow*" style:highest "xrun_warn" +/*widget "*MainMenuBar" style:highest "menu_bar_base"*/ +widget "*ErrorMessage" style:highest "error_message" +widget "*FatalMessage" style:highest "fatal_message" +widget "*InfoMessage" style:highest "info_message" +widget "*WarningMessage" style:highest "warning_message" +widget "*BigClockNonRecording" style:highest "non_recording_big_clock_display" +widget "*BigClockRecording" style:highest "recording_big_clock_display" +widget "*TransportClockDisplay" style:highest "transport_clock_display" +widget "*SecondaryClockDisplay" style:highest "transport_clock_display" +widget "*TransportClockDisplayDelta" style:highest "transport_clock_display_delta" +widget "*SecondaryClockDisplayDelta" style:highest "transport_clock_display_delta" +widget "*AudioClockFramesUpperInfo" style:highest "tempo_meter_clock_display" +widget "*AudioClockFramesLowerInfo" style:highest "tempo_meter_clock_display" +widget "*AudioClockSMPTEUpperInfo" style:highest "tempo_meter_clock_display" +widget "*AudioClockSMPTELowerInfo" style:highest "tempo_meter_clock_display" +widget "*AudioClockBBTUpperInfo" style:highest "tempo_meter_clock_display" +widget "*AudioClockBBTLowerInfo" style:highest "tempo_meter_clock_display" +widget "*SelectionStartClock" style:highest "default_clock_display" +widget "*SelectionEndClock" style:highest "default_clock_display" +widget "*EditPointClock" style:highest "default_clock_display" +widget "*PreRollClock" style:highest "default_clock_display" +widget "*PostRollClock" style:highest "default_clock_display" +widget "*NudgeClock" style:highest "default_clock_display" +widget "*InsertTimeClock" style:highest "default_clock_display" +widget "*ZoomRangeClock" style:highest "default_clock_display" +widget "*SMPTEOffsetClock" style:highest "default_clock_display" +widget "*TransportLabel" style:highest "small_bold_text" +widget "*TakeLabel" style:highest "small_bold_text" +widget "*LocationLabel" style:highest "small_bold_text" +widget "*WipeLabel" style:highest "small_bold_text" +widget "*TakeTagLabel" style:highest "small_bold_text" +widget "*ToolBarLabel" style:highest "small_bold_text" +widget "*EditorDisplayLabel" style:highest "small_bold_text" +widget "*NewSessionLabel" style:highest "large_text" +widget "*GlobalButtonLabel" style:highest "default_generic" +widget "*ClickButton" style:highest "medium_entry" +widget "*RegionNameDisplay" style:highest "medium_entry" +widget "*PluginDisplay" style:highest "medium_entry" +widget "*SelectionDisplay" style:highest "medium_entry" +widget "*HistorySelector" style:highest "medium_entry" +widget "*LocationSelector" style:highest "medium_entry" +widget "*TakeSelector" style:highest "medium_entry" +widget "*RegionSelector" style:highest "medium_entry" +widget "*SMPTERuler" style:highest "editor_time_ruler" +widget "*BBTRuler" style:highest "editor_time_ruler" +widget "*FramesRuler" style:highest "editor_time_ruler" +widget "*MinSecRuler" style:highest "editor_time_ruler" +widget "*BaseFrame" style:highest "base_frame" + +widget "*AudioTrackStripBase" style:highest "audio_track_base" +widget "*AudioBusStripBase" style:highest "audio_bus_base" +widget "*MidiTrackStripBase" style:highest "midi_track_base" +widget "*AudioTrackStripBaseInactive" style:highest "track_controls_inactive" +widget "*AudioBusStripBaseInactive" style:highest "track_controls_inactive" +widget "*MidiTrackStripBaseInactive" style:highest "track_controls_inactive" +widget "*FaderMetricsStrip" style:highest "audio_track_metrics" +widget "*AudioTrackMetrics" style:highest "audio_track_metrics" +widget "*AudioBusMetrics" style:highest "audio_bus_metrics" +widget "*AudioTrackMetricsInactive" style:highest "audio_track_metrics_inactive" +widget "*AudioBusMetricsInactive" style:highest "audio_bus_metrics_inactive" + +widget "*TimeAxisViewControlsBaseUnselected" style:highest "audio_track_base" +widget "*AudioTrackControlsBaseUnselected" style:highest "audio_track_base" +widget "*MidiTrackControlsBaseUnselected" style:highest "midi_track_base" +widget "*AudioTrackFader" style:highest "gain_fader" + +widget "*BusControlsBaseUnselected" style:highest "audio_bus_base" +widget "*AudioBusFader" style:highest "gain_fader" +widget "*TrackSeparator" style:highest "track_separator" +widget "*TrackEditIndicator0*" style:highest "edit_group_0" +widget "*TrackEditIndicator1*" style:highest "edit_group_1" +widget "*TrackEditIndicator2*" style:highest "edit_group_2" +widget "*TrackEditIndicator3*" style:highest "edit_group_3" +widget "*TrackEditIndicator4*" style:highest "edit_group_3" +widget "*TrackEditIndicator5*" style:highest "edit_group_3" +widget "*TrackEditIndicator6*" style:highest "edit_group_3" +widget "*TrackEditIndicator7*" style:highest "edit_group_3" +widget "*EditorTrackNameDisplay" style:highest "track_name_display" +widget "*EditorTrackNameDisplay*" style:highest "track_name_display" +widget "*EditorActiveTrackNameDisplay" style:highest "active_track_name_display" +widget "*EditorActiveTrackNameDisplay*" style:highest "active_track_name_display" +widget "*CrossfadeEditAuditionButton" style:highest "red_when_active" +widget "*CrossfadeEditAuditionButton*" style:highest "red_when_active" +widget "*CrossfadeEditCurveButton" style:highest "red_when_active" +widget "*CrossfadeEditCurveButton*" style:highest "red_when_active" +widget "*CrossfadeEditLabel" style:highest "medium_text" +widget "*CrossfadeEditFrame" style:highest "base_frame" +widget "*MouseModeButton" style:highest "default_button" +widget "*MouseModeButton*" style:highest "default_button" +widget "*EditorMainCanvas" style:highest "main_canvas_area" +widget "*AudioTrackControlsBaseInactiveUnselected" style:highest "track_controls_inactive" +widget "*BusControlsBaseInactiveUnselected" style:highest "track_controls_inactive" +widget "*AutomationTrackControlsBaseInactiveUnselected" style:highest "track_controls_inactive" +widget "*AutomationTrackName" style:highest "automation_track_name" +widget "*AudioTrackControlsBaseInactiveSelected" style:highest "track_controls_inactive" +widget "*BusControlsBaseInactiveSelected" style:highest "track_controls_inactive" +widget "*AutomationTrackControlsBaseInactiveSelected" style:highest "track_controls_inactive" +widget "*AudioTrackControlsBaseSelected" style:highest "edit_controls_base_selected" +widget "*MidiTrackControlsBaseSelected" style:highest "edit_controls_base_selected" +widget "*BusControlsBaseSelected" style:highest "edit_controls_base_selected" +widget "*AutomationTrackControlsBase" style:highest "automation_track_controls_base" +widget "*AutomationTrackControlsBaseSelected" style:highest "edit_controls_base_selected" +/*widget "*EditorMenuBar*" style:highest "black_mackie_menu_bar" +widget "*MainMenuBar*" style:highest "black_mackie_menu_bar" +*/ +widget "*ZoomClickBox" style:highest "medium_bold_entry" +widget "*PluginParameterLabel" style:highest "medium_text" +widget "*PluginNameInfo" style:highest "plugin_name_text" +widget "*PluginMakerInfo" style:highest "plugin_maker_text" +widget "*PluginParameterInfo" style:highest "medium_text" +widget "*MotionControllerValue" style:highest "medium_entry" +widget "*ParameterValueDisplay" style:highest "medium_bold_entry" +widget "*PluginUIClickBox" style:highest "medium_bold_entry" +widget "*PluginUIClickBox*" style:highest "medium_bold_entry" +widget "*PluginSlider" style:highest "plugin_slider" +widget "*RedirectSelector" style:highest "redirect_list_display" +widget "*RedirectSelector.*" style:highest "redirect_list_display" +widget "*EditGroupDisplay" style:highest "treeview_display" +widget "*TrackListDisplay" style:highest "treeview_display" +widget "*RegionListDisplay" style:highest "treeview_display" +widget "*NamedSelectionDisplay" style:highest "treeview_display" +widget "*SnapshotDisplay" style:highest "treeview_display" +widget "*MixerTrackCommentArea" style:highest "option_entry" +widget "*MixerPanZone" style:highest "pan_zone" +widget "*MixerTrackDisplayList" style:highest "treeview_display" +widget "*MixerSnapshotDisplayList" style:highest "treeview_display" +widget "*MixerAuxDisplayList" style:highest "treeview_display" +widget "*MixerGroupList" style:highest "treeview_display" +widget "*RegionEditorLabel" style:highest "medium_text" +widget "*RegionEditorSmallLabel" style:highest "small_text" +widget "*RegionEditorEntry" style:highest "medium_entry" +widget "*RegionEditorClock" style:highest "default_clock_display" +widget "*RegionEditorToggleButton" style:highest "paler_red_when_active" +widget "*RegionEditorToggleButton*" style:highest "paler_red_when_active" +widget "*MixerStripSpeedBase" style:highest "small_entry" +widget "*MixerStripSpeedBase*" style:highest "small_entry" +widget "*MixerStripSpeedBaseNotOne" style:highest "small_red_on_black_entry" +widget "*MixerStripSpeedBaseNotOne*" style:highest "small_red_on_black_entry" +widget "*MixerStripGainDisplay" style:highest "small_entry" +widget "*MixerStripGainDisplay*" style:highest "small_entry" +widget "*MixerStripGainUnitButton" style:highest "very_small_button" +widget "*MixerStripGainUnitButton*" style:highest "very_small_button" +widget "*MixerStripMeterPreButton" style:highest "very_small_button" +widget "*MixerStripMeterPreButton*" style:highest "very_small_button" +widget "*MixerStripPeakDisplay*" style:highest "red_active_small_entry" +widget "*MixerStripPeakDisplayPeak*" style:highest "peak_display_peaked_entry" +widget "*MixerStripSelectedFrame" style:highest "selected_strip_frame" +widget "*MixerStripFrame" style:highest "base_frame" +widget "*HWMonitorButton" style:highest "red_when_active" +widget "*HWMonitorButton*" style:highest "red_when_active" +widget "*TransportSoloAlert" style:highest "flashing_alert" +widget "*TransportSoloAlert.*" style:highest "flashing_alert" +widget "*TransportAuditioningAlert" style:highest "flashing_alert" +widget "*TransportAuditioningAlert.*" style:highest "flashing_alert" +widget "*FadeCurve" style:highest "medium_bold_entry" +widget "*FadeCurve*" style:highest "medium_bold_entry" +widget "*IOSelectorButton" style:highest "default_button" +widget "*IOSelectorButton*" style:highest "default_button" +widget "*IOSelectorList" style:highest "medium_entry_noselection_fg" +widget "*IOSelectorPortList" style:highest "io_selector_port_list" +widget "*IOSelectorPortList.*" style:highest "io_selector_port_list" +widget "*IOSelectorPortListSelected" style:highest "selected_io_selector_port_list" +widget "*IOSelectorPortListSelected.*" style:highest "selected_io_selector_port_list" +widget "*IOSelectorNotebook" style:highest "io_selector_notebook" +widget "*IOSelectorNotebookTab" style:highest "io_selector_notebook" +widget "*IOSelectorFrame" style:highest "base_frame" +widget "*ConnectionEditorButton" style:highest "default_button" +widget "*ConnectionEditorButton*" style:highest "default_button" +widget "*ConnectionEditorList" style:highest "medium_entry_noselection_fg" +widget "*ConnectionEditorConnectionList" style:highest "medium_entry" +widget "*ConnectionEditorPortList" style:highest "io_selector_port_list" +widget "*ConnectionEditorPortListSelected" style:highest "selected_io_selector_port_list" +widget "*ConnectionEditorNotebook" style:highest "io_selector_notebook" +widget "*ConnectionEditorNotebookTab" style:highest "io_selector_notebook" +widget "*ConnectionEditorFrame" style:highest "base_frame" +widget "*RouteParamsListDisplay" style:highest "inspector_track_list_display" +widget "*RouteParamsPreListDisplay" style:highest "inspector_redirect_list_display" +widget "*RouteParamsPostListDisplay" style:highest "inspector_redirect_list_display" +widget "*TearOffArrow" style:highest "tearoff_arrow" +widget "*RouteParamsTitleButton" style:highest "medium_text" +widget "*RouteParamsTitleLabel" style:highest "medium_text" +widget "*PluginAutomateRecordButton" style:highest "small_red_active_and_selected_button" +widget "*PluginAutomateRecordButton*" style:highest "small_red_active_and_selected_button" +widget "*PluginAutomatePlayButton" style:highest "small_red_active_and_selected_button" +widget "*PluginAutomatePlayButton*" style:highest "small_red_active_and_selected_button" +widget "*PluginAutomateButton" style:highest "small_button" +widget "*PluginAutomateButton*" style:highest "small_button" +widget "*PluginSaveButton" style:highest "small_button" +widget "*PluginSaveButton*" style:highest "small_button" +widget "*PluginLoadButton" style:highest "small_button" +widget "*PluginLoadButton*" style:highest "small_button" + +widget "*MetricDialogFrame" style:highest "base_frame" +widget "*MetricEntry" style:highest "medium_bold_entry" +widget "*MetricButton" style:highest "default_button" +widget "*MetricButton.*" style:highest "default_button" +widget "*MetricLabel" style:highest "medium_text" +widget "*TimeStretchButton" style:highest "default_button" +widget "*TimeStretchButton.*" style:highest "default_button" +widget "*TimeStretchProgress" style:highest "default_button" +widget "*ChoiceWindow" style:highest "default_generic" +widget "*ChoicePrompt" style:highest "default_generic" +widget "*ChoiceButton" style:highest "default_button" +widget "*ChoiceButton*" style:highest "default_button" +widget "*SelectionModeButton" style:highest "default_button" +widget "*SelectionModeButton*" style:highest "default_button" +widget "*TrackLabel" style:highest "medium_text" +widget "*TrackPlugName" style:highest "medium_text" +widget "*TrackParameterName" style:highest "small_text" +widget "*AddRouteDialog*" style:highest "medium_text" +widget "*AddRouteDialog.GtkLabel" style:highest "medium_text" +widget "*AddRouteDialogChannelChoice" style:highest "medium_bold_entry" +widget "*AddRouteDialogSpinner" style:highest "medium_bold_entry" +widget "*AddRouteDialogSpinner*" style:highest "medium_bold_entry" +widget "*AddRouteDialogRadioButton" style:highest "red_when_active" +widget "*AddRouteDialogButton" style:highest "default_button" +widget "*AddRouteDialogNameTemplateEntry" style:highest "medium_bold_entry" +widget "*NewSessionIOLabel" style:highest "larger_bold_text" +widget "*NewSessionSR1Label" style:highest "red_medium_text" +widget "*NewSessionSR2Label" style:highest "medium_text" +widget "*NewSessionChannelChoice" style:highest "medium_bold_entry" +widget "*NewSessionMainButton" style:highest "larger_bold_text" +widget "*NewSessionMainButton*" style:highest "larger_bold_text" +widget "*NewSessionMainLabel" style:highest "larger_bold_text" +widget "*LocationEditRowClock" style:highest "location_rows_clock" +widget "*LocationEditNameLabel" style:highest "medium_text" +widget "*LocationEditSetButton" style:highest "location_row_button" +widget "*LocationEditSetButton*" style:highest "location_row_button" +widget "*LocationEditGoButton" style:highest "location_row_button" +widget "*LocationEditGoButton*" style:highest "location_row_button" +widget "*LocationEditCdButton" style:highest "small_red_active_and_selected_button" +widget "*LocationEditCdButton*" style:highest "small_red_active_and_selected_button" +widget "*LocationEditHideButton" style:highest "small_red_active_and_selected_button" +widget "*LocationEditHideButton*" style:highest "small_red_active_and_selected_button" +widget "*LocationEditNumberLabel" style:highest "small_text" +widget "*LocationLocEditorFrame" style:highest "base_frame" +widget "*LocationRangeEditorFrame" style:highest "base_frame" +widget "*LocationEditNameEntry" style:highest "option_entry" +widget "*LocationAddLocationButton" style:highest "default_button" +widget "*LocationAddLocationButton*" style:highest "default_button" +widget "*LocationAddRangeButton" style:highest "default_button" +widget "*LocationAddRangeButton*" style:highest "default_button" +widget "*LocationEditRemoveButton" style:highest "location_row_button" +widget "*LocationEditRemoveButton*" style:highest "location_row_button" +widget "*PanSlider" style:highest "pan_slider" +widget "*PanningLinkButton" style:highest "mixer_red_active_button" +widget "*PanningLinkButton.*" style:highest "mixer_red_active_button" +widget "*PanningLinkDirectionButton" style:highest "very_small_button" +widget "*PanningLinkDirectionButton.*" style:highest "very_small_button" +widget "*ChannelCountSelector" style:highest "medium_bold_entry" +widget "*ChannelCountSelector.GtkArrow" style:highest "default_generic" +widget "*RegionListWholeFile" style:highest "treeview_parent_node" +widget "*EditorHScrollbar" style:highest "editor_hscrollbar" +widget "*ResizerHandler" style:highest "resizer_handle" diff --git a/gtk2_ardour/ardour2_ui_sae.conf b/gtk2_ardour/ardour2_ui_sae.conf index b9fac38909..277ec44300 100644 --- a/gtk2_ardour/ardour2_ui_sae.conf +++ b/gtk2_ardour/ardour2_ui_sae.conf @@ -2,12 +2,13 @@ <Ardour> <Canvas> <Option name="active crossfade" value="e8ed3d77"/> - <Option name="audio bus base" value="dbd1ea68"/> - <Option name="audio track base" value="c6d3d868"/> + <Option name="audio bus base" value="abe1aa68"/> + <Option name="audio master bus base" value="ebb1b168"/> + <Option name="audio track base" value="c3c3c868"/> <Option name="automation line" value="44bc59ff"/> <Option name="automation track fill" value="a0a0ce68"/> <Option name="automation track outline" value="282828ff"/> - <Option name="cdmarkerbar" value="9090a3ff"/> + <Option name="cdmarkerbar" value="9090a3a0"/> <Option name="clipped waveform" value="ff0000e5"/> <Option name="control point fill" value="000000ff"/> <Option name="control point outline" value="000000ff"/> @@ -42,13 +43,13 @@ <Option name="location punch" value="7c3a3aff"/> <Option name="location range" value="497a59ff"/> <Option name="marker bar separator" value="30303088"/> - <Option name="markerbar" value="9898a3ff"/> + <Option name="markerbar" value="9898a3a0"/> <Option name="MarkerDragLine" value="004f00f9"/> <Option name="marker label" value="000000ff"/> <Option name="MarkerTrack" value="ddddd8ff"/> <Option name="MeasureLineBar" value="8c8c988c"/> <Option name="MeasureLineBeat" value="72727266"/> - <Option name="meterbar" value="666672ff"/> + <Option name="meterbar" value="666672a0"/> <Option name="MeterColorBase" value="0000ffff"/> <Option name="MeterColorClip" value="ff0000ff"/> <Option name="MeterColorMid" value="73f9baff"/> @@ -63,7 +64,7 @@ <Option name="PunchLine" value="a80000ff"/> <Option name="RangeDragBarRect" value="969696c6"/> <Option name="RangeDragRect" value="82c696c6"/> - <Option name="rangemarker bar" value="7f7f8cff"/> + <Option name="rangemarker bar" value="7f7f8ca0"/> <Option name="RecordingRect" value="e5c6c6ff"/> <Option name="region base" value="99a7b584"/> <Option name="RubberBandRect" value="c6c6c659"/> @@ -72,16 +73,19 @@ <Option name="selected region base" value="130505ff"/> <Option name="selected waveform fill" value="e6e6fac8"/> <Option name="selected waveform outline" value="1a1a1acc"/> + <Option name="recorded region base" value="ad7173ff"/> + <Option name="recorded waveform fill" value="74383884"/> + <Option name="recorded waveform outline" value="3b0013ff"/> <Option name="SelectionRect" value="e8f4d377"/> <Option name="Selection" value="636363b2"/> - <Option name="tempo bar" value="72727fff"/> + <Option name="tempo bar" value="72727fa0"/> <Option name="TempoMarker" value="f2425bff"/> <Option name="TimeAxisFrame" value="000000cb"/> <Option name="time-stretch-fill" value="e2b5b596"/> <Option name="time-stretch-outline" value="63636396"/> <Option name="TransportDragRect" value="969696c6"/> <Option name="TransportLoopRect" value="1e7728f9"/> - <Option name="TransportMarkerBar" value="8c8c96ff"/> + <Option name="TransportMarkerBar" value="8c8c96a0"/> <Option name="TransportPunchRect" value="6d2828e5"/> <Option name="TrimHandleLocked" value="ea0f0f28"/> <Option name="TrimHandle" value="1900ff44"/> diff --git a/gtk2_ardour/ardour3_ui_dark_sae.rc.in b/gtk2_ardour/ardour3_ui_dark_sae.rc.in new file mode 100644 index 0000000000..1b0635a1b9 --- /dev/null +++ b/gtk2_ardour/ardour3_ui_dark_sae.rc.in @@ -0,0 +1,1587 @@ +# +# This is the GTK style file for Ardour +# + +style "very_small_text" +{ + font_name = "%FONT_SMALLER%" +} + +style "small_text" +{ + font_name = "%FONT_SMALL%" +} + +style "small_bold_text" +{ + font_name = "%FONT_BOLD_SMALL%" +} + +style "medium_bold_text" +{ + font_name = "%FONT_BOLD_NORMAL%" +} + +style "medium_text" +{ + font_name = "%FONT_NORMAL%" +} + +style "red_medium_text" = "medium_text" +{ + fg[NORMAL] = { 1.0, 0, 0 } + fg[ACTIVE] = { 1.0, 0, 0 } + fg[SELECTED] = { 1.0, 0, 0 } +} + +style "large_text" +{ + font_name = "%FONT_LARGE%" +} + +style "larger_bold_text" +{ + font_name = "%FONT_BOLD_BIGGER%" +} + +style "plugin_name_text" +{ + font_name = "%FONT_BOLD_LARGER%" + fg[NORMAL] = { 0.80, 0.80, 0.80 } +} + +style "plugin_maker_text" +{ + font_name = "%FONT_BOLD_BIGGER%" + fg[NORMAL] = { 0.80, 0.80, 0.80 } +} + +style "automation_track_name" +{ + font_name = "%FONT_ITALIC_NORMAL%" +} + +style "first_action_message" +{ + font_name = "%FONT_HUGER%" +} + +style "verbose_canvas_cursor" +{ + font_name = "%FONT_BOLD_LARGER%" +} + +style "marker_text" +{ + font_name = "%FONT_SMALLER%" +} + +style "time_axis_view_item_name" +{ + font_name = "%FONT_SMALLER%" +} + +style "default_base" = "medium_text" +{ + + GtkWidget::cursor_color = {1.0, 1.0, 1.0 } + GtkButton::default_border = { 0, 0, 0, 0 } + GtkButton::default_outside_border = { 0, 0, 0, 0 } + GtkButton::button_relief = GTK_RELIEF_NONE + GtkTreeView::vertical-padding = 0 + GtkTreeView::horizontal-padding = 0 + GtkTreeView::even-row-color = { 0, 0, 0 } + GtkTreeView::odd-row-color = { 0.06, 0.06, 0.10 } + + fg[NORMAL] = { 0.80, 0.80, 0.80 } + fg[ACTIVE] = { 0.80, 0.80, 0.80 } + fg[PRELIGHT] = { 1.0, 1.0, 1.0 } + fg[INSENSITIVE] = { 0.80, 0.80, 0.80 } + fg[SELECTED] = { 0.80, 0.80, 0.80 } + + bg[NORMAL] = { 0.35, 0.35, 0.40 } + bg[ACTIVE] = { 0.35, 0.35, 0.40 } + bg[PRELIGHT] = "#565690" + bg[INSENSITIVE] = { 0.10, 0.10, 0.10 } + bg[SELECTED] = { 0, 0.40, 0.60 } + + text[NORMAL] = { 0.80, 0.80, 0.80 } + text[ACTIVE] = { 0.80, 0.80, 0.80 } + text[PRELIGHT] = { 0.80, 0.80, 0.80 } + text[INSENSITIVE] = { 0.80, 0.80, 0.80} + text[SELECTED] = { 1.0, 1.0, 1.0 } + + base[ACTIVE] = "#272a2f" + base[NORMAL] = "#1a1e20" + base[PRELIGHT] = { 0.20, 0.20, 0.20 } + base[INSENSITIVE] = "#4c5159" + base[SELECTED] = { 0.25, 0.25, 0.25 } + + engine "clearlooks" + { + menubarstyle = 0 # 0 = flat, 1 = sunken, 2 = flat gradient + } +} + +style "base_frame" +{ + fg[NORMAL] = { 0.80, 0.80, 0.80 } + bg[NORMAL] = { 0.35, 0.35, 0.40 } +} + +style "transport_base" = "medium_bold_text" +{ + bg[NORMAL] = { 0.10, 0.10, 0.10 } + bg[ACTIVE] = { 0, 0, 0 } + bg[PRELIGHT] = { 0, 0, 0 } + bg[INSENSITIVE] = { 0, 0, 0 } + bg[SELECTED] = { 0, 0, 0 } +} +/* +style "black_mackie_menu_bar" +{ + font_name = "%FONT_BOLD_NORMAL%" + fg[NORMAL] = { 1.0, 1.0, 1.0 } + bg[NORMAL] = { 0, 0, 0 } +} +*/ + +style "default_button" +{ + font_name = "%FONT_SMALL%" + fg[ACTIVE] = { 1.0, 1.0, 1.0 } + + bg[NORMAL] = { 0.30, 0.30, 0.35 } + bg[ACTIVE] = "#565690" + bg[PRELIGHT] = { 0.15, 0.15, 0.20 } + bg[INSENSITIVE] = { 0.15, 0.15, 0.20 } + bg[SELECTED] = { 0.15, 0.15, 0.20 } +} + +style "default_menu" +{ + font_name = "%FONT_NORMAL%" + fg[ACTIVE] = { 1.0, 1.0, 1.0 } + + bg[NORMAL] = { 0.30, 0.30, 0.35 } + bg[ACTIVE] = "#565690" + bg[PRELIGHT] = { 0.15, 0.15, 0.20 } + bg[INSENSITIVE] = { 0.15, 0.15, 0.20 } + bg[SELECTED] = { 0.15, 0.15, 0.20 } +} + +style "default_generic" +{ + font_name = "%FONT_NORMAL%" + fg[ACTIVE] = { 1.0, 1.0, 1.0 } + + bg[NORMAL] = { 0.30, 0.30, 0.35 } + bg[ACTIVE] = "#565690" + bg[PRELIGHT] = { 0.15, 0.15, 0.20 } + bg[INSENSITIVE] = { 0.15, 0.15, 0.20 } + bg[SELECTED] = { 0.15, 0.15, 0.20 } +} + +style "very_small_button" = "default_button" +{ + font_name = "%FONT_SMALLER%" + ythickness = 0 + xthickness = 0 +} + +style "small_button" = "default_button" +{ +} + +style "very_small_red_active_and_selected_button" = "very_small_button" +{ + bg[ACTIVE] = { 1.0, 0, 0} + bg[SELECTED] = { 1.0, 0, 0} +} + +style "small_red_active_and_selected_button" = "small_button" +{ + fg[ACTIVE] = { 0, 0, 0 } + bg[ACTIVE] = { 1.0, 0, 0} + bg[SELECTED] = { 1.0, 0, 0} +} + +style "gain_fader" +{ + bg[NORMAL] = { 0.269, 0.269, 0.300} + bg[ACTIVE] = { 0.152, 0.152, 0.168 } +} + + +style "track_rec_enable_button" = "small_button" +{ +} + +style "track_rec_enable_button_active" = "small_button" +{ + fg[SELECTED] = { 0.0, 0.0, 0.0 } + fg[ACTIVE] = { 0.0, 0.0, 0.0 } + fg[PRELIGHT] = { 0.0, 0.0, 0.0 } + fg[NORMAL] = { 0.0, 0.0, 0.0 } + + bg[NORMAL] = { 1.0, 0.0, 0.0 } + bg[ACTIVE] = { 1.0, 0.0, 0.0 } + bg[SELECTED] = { 1.0, 0.0, 0.0 } + bg[PRELIGHT] = { 1.0, 0.0, 0.0 } +} + +style "track_rec_enable_button_alternate" = "small_button" +{ + fg[SELECTED] = { 0.0, 0.0, 0.0 } + fg[ACTIVE] = { 0.0, 0.0, 0.0 } + fg[PRELIGHT] = { 0.0, 0.0, 0.0 } + fg[NORMAL] = { 0.0, 0.0, 0.0 } + + bg[NORMAL] = { 0.91, 0.68, 0.68} + bg[ACTIVE] = { 0.91, 0.68, 0.68} + bg[SELECTED] = { 0.91, 0.68, 0.68} + bg[PRELIGHT] = { 0.91, 0.68, 0.68} +} + +style "mixer_track_rec_enable_button" = "track_rec_enable_button" +{ + font_name = "%FONT_SMALLER%" + xthickness = 0 + ythickness = 0 +} + +style "mixer_track_rec_enable_button_alternate" = "track_rec_enable_button_alternate" +{ + font_name = "%FONT_SMALLER%" + xthickness = 0 + ythickness = 0 +} + +style "mixer_track_rec_enable_button_active" = "track_rec_enable_button_active" +{ + font_name = "%FONT_SMALLER%" + xthickness = 0 + ythickness = 0 +} + +style "solo_button" = "small_button" +{ +} + +style "solo_button_alternate" = "small_button" +{ + bg[NORMAL] = { 0.69, 0.69, 0.69 } # solo-safe + bg[ACTIVE] = { 0.69, 0.69, 0.69 } # solo-safe + bg[SELECTED] = { 0.69, 0.69, 0.69 } # solo-safe + bg[PRELIGHT] = { 0.69, 0.69, 0.69 } # solo-safe + + fg[ACTIVE] = { 0, 0, 0 } + fg[SELECTED] = { 0, 0, 0 } + fg[NORMAL] = { 0, 0, 0 } + fg[PRELIGHT] = { 0, 0, 0 } +} + + +style "solo_button_active" = "small_button" +{ + bg[NORMAL] = { 0.66, 0.97, 0.19 } # solo + bg[ACTIVE] = { 0.66, 0.97, 0.19 } # solo + bg[SELECTED] = { 0.66, 0.97, 0.19 } # solo + bg[PRELIGHT] = { 0.66, 0.97, 0.19 } # solo + + fg[ACTIVE] = { 0, 0, 0 } + fg[SELECTED] = { 0, 0, 0 } + fg[NORMAL] = { 0, 0, 0 } + fg[PRELIGHT] = { 0, 0, 0 } +} + +style "mixer_solo_button" = "solo_button" +{ + font_name = "%FONT_SMALLER%" + xthickness = 0 + ythickness = 0 +} + +style "mixer_solo_button_alternate" = "solo_button_alternate" +{ + font_name = "%FONT_SMALLER%" + xthickness = 0 + ythickness = 0 +} +style "mixer_solo_button_active" = "solo_button_active" +{ + font_name = "%FONT_SMALLER%" + xthickness = 0 + ythickness = 0 +} + +style "mute_button" = "small_button" +{ +} + +style "mute_button_alternate" = "small_button" +{ + bg[ACTIVE] = { 1.0, 0.98, 0.53 } + bg[NORMAL] = { 1.0, 0.98, 0.53 } + bg[SELECTED] = { 1.0, 0.98, 0.53 } + bg[PRELIGHT] = { 1.0, 0.98, 0.53 } + + fg[SELECTED] = { 0, 0, 0 } + fg[ACTIVE] = { 0, 0, 0 } + fg[NORMAL] = { 0, 0, 0 } + fg[PRELIGHT] = { 0, 0, 0 } +} + +style "mute_button_active" = "small_button" +{ + bg[NORMAL] = { 0.90, 0.89, 0.73 } + bg[ACTIVE] = { 0.90, 0.89, 0.73 } + bg[PRELIGHT] = { 0.90, 0.89, 0.73 } + bg[SELECTED] = { 0.90, 0.89, 0.73 } + + fg[SELECTED] = { 0, 0, 0 } + fg[ACTIVE] = { 0, 0, 0 } + fg[NORMAL] = { 0, 0, 0 } + fg[PRELIGHT] = { 0, 0, 0 } +} + +style "mixer_mute_button_alternate" = "mute_button_alternate" +{ + font_name = "%FONT_SMALLER%" + xthickness = 0 + ythickness = 0 +} + +style "mixer_mute_button_active" = "mute_button_active" +{ + font_name = "%FONT_SMALLER%" + xthickness = 0 + ythickness = 0 +} + +style "multiline_combo" = "small_button" +{ + font_name = "%FONT_NORMAL%" + xthickness = 0 + ythickness = 0 +} + +style "mixer_mute_button" = "mute_button" +{ + font_name = "%FONT_SMALLER%" + xthickness = 0 + ythickness = 0 +} + +style "track_loop_button" = "small_button" +{ + bg[ACTIVE] = { 1.0, 0.98, 0.53 } + bg[PRELIGHT] = { 1.0, 0.98, 0.53 } + +} + +style "mixer_red_active_button" = "very_small_button" +{ + fg[ACTIVE] = { 0, 1.0, 1.0 } + bg[ACTIVE] = { 0.7, 0, 0 } + + base[INSENSITIVE] = { 0.16, 0.16, 0.21 } + bg[INSENSITIVE] = { 0.16, 0.16, 0.21 } +} + +style "time_button" = "default_button" +{ + font_name = "%FONT_SMALL%" +} + +style "transport_button" +{ +} + +style "transport_button_active" +{ + bg[NORMAL] = { 0.50, 1.0, 0.50 } + bg[ACTIVE] = { 0.50, 1.0, 0.50 } + bg[SELECTED] = { 0.50, 1.0, 0.50 } + bg[PRELIGHT] = { 0.50, 1.0, 0.50 } + + fg[NORMAL] = { 0, 0, 0 } + fg[PRELIGHT] = { 0, 0, 0 } + fg[SELECTED] = { 0, 0, 0 } + fg[ACTIVE] = { 0, 0, 0 } +} + +style "transport_rec_button" +{ +} + +style "transport_rec_button_active" +{ + bg[ACTIVE] = { 1.0, 0, 0 } + bg[NORMAL] = { 1.0, 0, 0 } + bg[SELECTED] = { 1.0, 0, 0 } + bg[PRELIGHT] = { 1.0, 0, 0 } +} + +style "transport_rec_button_alternate" +{ + bg[PRELIGHT] = { 0.91, 0.68, 0.68 } + bg[NORMAL] = { 0.91, 0.68, 0.68 } + bg[SELECTED] = { 0.91, 0.68, 0.68 } + bg[ACTIVE] = { 0.91, 0.68, 0.68 } +} + +style "shuttle_control" = "very_small_text" +{ + fg[NORMAL] = { 0.85, 0.92, 0.98 } + fg[ACTIVE] = { 0.85, 0.92, 0.98 } + fg[PRELIGHT] = { 0.85, 0.92, 0.98 } + fg[SELECTED] = { 0.85, 0.92, 0.98 } + fg[INSENSITIVE] = { 0.85, 0.92, 0.98 } + + bg[NORMAL] = { 0.26, 0.26, 0.31 } + bg[PRELIGHT] = { 0.26, 0.26, 0.31 } + bg[INSENSITIVE] = { 0.26, 0.26, 0.31 } + bg[ACTIVE] = { 0.70, 0.70, 0.70 } + bg[SELECTED] = { 1.0, 0.04, 0.04 } +} + +style "ardour_adjusters" = "default_generic" +{ + bg[NORMAL] = { 0.60, 0.60, 0.60 } + bg[PRELIGHT] = { 0.80, 0.80, 0.80 } + bg[ACTIVE] = { 0.06, 0.06, 0.06 } +} + +style "editor_hscrollbar" = "ardour_adjusters" +{ + # + # special case: we want this scrollbar to be as tall as the + # zoom focus selector combobox. scrollbars don't expand to + # fill the space available to them, so we have to explicitly + # make it bigger. + # + GtkRange::slider_width = 27 + GtkScrollbar::slider_width = 27 +} + +style "resizer_handle" +{ + fg[NORMAL] = { 0, 0, 0 } + bg[NORMAL] = "#818181" +} + +style "ardour_progressbars" = "default_generic" +{ + bg[NORMAL] = { 0, 0, 0 } + bg[PRELIGHT] = { 0.00, 0.36, 0.40 } +} + +style "preferences" = "default_base" +{ + font_name = "%FONT_NORMAL%" + fg[PRELIGHT] = { 0.80, 0.80, 0.80 } +} + +style "option_entry" = "default_base" +{ + fg[NORMAL] = { 1.0, 1.0, 1.0 } + fg[ACTIVE] = { 1.0, 1.0, 1.0 } + fg[INSENSITIVE] = { 0.80, 0.80, 0.80 } + + base[INSENSITIVE] = { 0.07, 0.07, 0.12 } + + bg[NORMAL] = { 0.35, 0.35, 0.40 } + bg[ACTIVE] = { 0.35, 0.35, 0.40 } +} + +style "red_when_active" = "medium_text" +{ + fg[NORMAL] = { 0.80, 0.80, 0.80 } + bg[NORMAL] = { 0.26, 0.26, 0.31 } + + fg[ACTIVE] = { 0.80, 0.80, 0.80 } + bg[ACTIVE] = { 1.0, 0, 0} +} + +style "xrun_warn" +{ + font_name = "%FONT_BOLD_LARGE%" + + fg[NORMAL] = { 1.0, 1.0, 1.0 } + fg[ACTIVE] = { 1.0, 1.0, 1.0 } + text[NORMAL] = { 1.0, 1.0, 1.0 } + text[ACTIVE] = { 1.0, 1.0, 1.0 } + base[NORMAL] = { 0.09, 0.48, 0.46 } + base[ACTIVE] = { 0.09, 0.48, 0.46 } + bg[NORMAL] = { 1.0, 0.48, 0.46 } + bg[ACTIVE] = { 0.09, 1.0, 0.46 } +} +/* +style "menu_bar_base" = "default_base" +{ + bg[NORMAL] = { 0.2, 0.2, 0.3 } + bg[ACTIVE] = { 0, 0, 0 } + bg[PRELIGHT] = { 0, 0, 0 } + bg[INSENSITIVE] = { 0, 0, 0 } + bg[SELECTED] = { 0, 0, 0 } +} +*/ +style "fatal_message" = "medium_text" +{ + fg[ACTIVE] = { 1.0, 0, 1.0 } + fg[NORMAL] = { 0.80, 0.80, 0.80 } + bg[ACTIVE] = { 0,0,0 } + bg[NORMAL] = { 0,0,0 } + base[ACTIVE] = { 0,0,0 } + base[NORMAL] = { 0,0,0 } +} + +style "error_message" = "medium_text" +{ + fg[ACTIVE] = { 1.0, 0, 0 } + fg[NORMAL] = { 0.80, 0.80, 0.80 } + bg[ACTIVE] = { 0,0,0 } + bg[NORMAL] = { 0,0,0 } + base[ACTIVE] = { 0,0,0 } + base[NORMAL] = { 0,0,0 } +} + +style "info_message" = "medium_text" +{ + fg[ACTIVE] = { 1.0, 0, 0 } + fg[NORMAL] = { 0.80, 0.80, 0.80 } + bg[ACTIVE] = { 0,0,0 } + bg[NORMAL] = { 0,0,0 } + base[ACTIVE] = { 0,0,0 } + base[NORMAL] = { 0,0,0 } +} + +style "warning_message" = "medium_text" +{ + fg[ACTIVE] = { 0.30,0.30, 1.0 } + fg[NORMAL] = { 0.80, 0.80, 0.80 } + bg[ACTIVE] = { 0, 0, 0 } + bg[NORMAL] = { 0, 0, 0 } + base[ACTIVE] = { 0, 0, 0 } + base[NORMAL] = { 0, 0, 0 } +} + +style "medium_entry" = "medium_text" +{ + fg[NORMAL] = { 0.70, 0.70, 0.70 } + fg[ACTIVE] = { 0.70, 0.70, 0.70 } + fg[SELECTED] = { 1.0, 1.0, 1.0 } + + bg[NORMAL] = { 0.35, 0.35, 0.40 } + + base[NORMAL] = { 0, 0, 0 } + base[ACTIVE] = { 0, 0, 0 } + base[SELECTED] = { 0.70, 0.70, 0.70 } +} + +style "medium_entry_noselection_fg" = "medium_entry" +{ + fg[SELECTED] = { 0.50, 1.0, 0.50 } +} + +style "medium_entry_noselection_bg" = "medium_entry" +{ + bg[SELECTED] = { 1.0, 1.0, 1.0 } +} + +style "medium_bold_entry" = "medium_bold_text" +{ + fg[NORMAL] = { 0.70, 0.70, 0.70 } + fg[ACTIVE] = { 0.70, 0.70, 0.70 } + + bg[NORMAL] = { 0.35, 0.35, 0.40 } + + base[NORMAL] = { 0, 0, 0 } + base[ACTIVE] = { 0, 0, 0 } + base[SELECTED] = { 0, 0, 0 } +} + +style "small_entry" = "small_text" +{ + fg[NORMAL] = { 0.70, 0.70, 0.70 } + fg[ACTIVE] = { 0, 1.0, 0 } + fg[SELECTED] = { 0, 1.0, 0 } + text[NORMAL] = { 0.70, 0.70, 0.70 } + text[ACTIVE] = { 0, 1.0, 0 } + text[SELECTED] = { 0, 1.0, 0 } + bg[NORMAL] = { 0.0, 0.0, 0.0 } + bg[SELECTED] = { 0.0, 0.0, 0.0 } + bg[SELECTED] = { 0.0, 0.0, 0.0 } + base[NORMAL] = { 0, 0, 0 } + base[ACTIVE] = { 0, 0, 0 } + base[SELECTED] = { 0, 0, 0 } +} + +style "red_active_small_entry" = "small_entry" +{ + fg[ACTIVE] = { 1.0, 0.0, 0.0 } + fg[SELECTED] = { 1.0, 0, 0 } +} + +style "small_bold_entry" = "small_bold_text" +{ + fg[NORMAL] = { 0.70, 0.70, 0.70 } + fg[ACTIVE] = { 0.70, 0.70, 0.70 } + + bg[NORMAL] = { 0.35, 0.35, 0.40 } + + base[NORMAL] = { 0, 0, 0 } + base[ACTIVE] = { 0, 0, 0 } + base[SELECTED] = { 0, 0, 0 } +} + +style "small_red_on_black_entry" = "small_bold_text" +{ + fg[NORMAL] = { 1.0, 0, 0 } + fg[ACTIVE] = { 1.0, 0, 0 } + base[NORMAL] = { 0.0, 0.0, 0.0 } + base[ACTIVE] = { 0.0, 0.0, 0.0 } + bg[NORMAL] = { 0.0, 0.0, 0.0 } + bg[ACTIVE] = { 0.0, 0.0, 0.0 } +} + +style "non_recording_big_clock_display" = "medium_entry" +{ + font_name = "%FONT_MASSIVE%" + + fg[NORMAL] = { 0.50, 1.0, 0.50 } + fg[ACTIVE] = { 1.0, 0, 0.0 } + fg[SELECTED] = { 1.0, 0, 0 } + fg[PRELIGHT] = { 1.0, 0, 0.0 } + fg[INSENSITIVE] = { 1.0, 0, 0.0 } + + base[NORMAL] = { 0.0, 0.0, 0.0 } + base[ACTIVE] = { 0.0, 0.0, 0.0 } + bg[NORMAL] = { 0.0, 0.0, 0.0 } + bg[ACTIVE] = { 0.7, 0.0, 0.0 } +} + +style "recording_big_clock_display" = "non_recording_big_clock_display" +{ + fg[NORMAL] = { 1.0, 0, 0 } +} + +style "transport_clock_display" +{ + font_name = "%FONT_BOLD_BIGGER%" + + fg[NORMAL] = { 0.50, 1.0, 0.50 } + fg[ACTIVE] = { 1.0, 0, 0.0 } + fg[SELECTED] = { 1.0, 0, 0 } + fg[PRELIGHT] = { 1.0, 0, 0.0 } + fg[INSENSITIVE] = { 1.0, 0, 0.0 } + + base[NORMAL] = { 0.0, 0.0, 0.0 } + base[ACTIVE] = { 0.0, 0.0, 0.0 } + bg[NORMAL] = { 0.0, 0.0, 0.0 } + bg[ACTIVE] = { 0.0, 0.0, 0.0 } +} + +style "transport_clock_display_delta" = "transport_clock_display" +{ + fg[NORMAL] = { 0.30, 0.30, 1.0 } +} + +style "tempo_meter_clock_display" +{ + font_name = "%FONT_SMALLER%" + fg[NORMAL] = { 1.0, 1.0, 1.0 } + fg[ACTIVE] = { 1.0, 1.0, 0.0 } + fg[SELECTED] = { 1.0, 0, 0 } + base[NORMAL] = { 0.0, 0.48, 1.0 } + base[ACTIVE] = { 0.09, 0.98, 0.46 } + bg[NORMAL] = { 0.0, 0.48, 1.0 } + bg[ACTIVE] = { 0.09, 0.98, 0.46 } +} + +style "default_clock_display" = "medium text" +{ + fg[NORMAL] = { 0.50, 1.0, 0.50 } + fg[ACTIVE] = { 1.0, 0.0, 0.0 } + fg[SELECTED] = { 1.0, 0, 0 } + base[NORMAL] = { 0, 0, 0 } + base[ACTIVE] = { 0, 0, 0 } + bg[NORMAL] = { 0, 0, 0 } + bg[ACTIVE] = { 0, 0, 0 } +} + +style "editor_time_ruler" = "small_text" +{ + fg[NORMAL] = { 0.80, 0.80, 0.80 } + bg[NORMAL] = { 0.09, 0.09, 0.09 } +} + +style "audio_bus_base" +{ + font_name = "%FONT_SMALLER%" + fg[NORMAL] = { 0.77, 0.77, 0.72 } + fg[NORMAL] = { 0.7, 0.8, 0.2 } + bg[NORMAL] = { 0.20, 0.20, 0.26 } +} + +style "audio_track_base" = "default_base" +{ + font_name = "%FONT_SMALLER%" + fg[NORMAL] = { 0.77, 0.77, 0.72 } + bg[NORMAL] = { 0.18, 0.19, 0.22 } + bg[ACTIVE] = { 0.20, 0.20, 0.20 } + bg[PRELIGHT] = { 0.20, 0.20, 0.20 } + bg[INSENSITIVE] = { 0.20, 0.20, 0.20 } + bg[SELECTED] = { 0.20, 0.20, 0.20 } +} + +style "midi_bus_base" +{ + font_name = "%FONT_SMALLER%" + fg[NORMAL] = { 0.77, 0.77, 0.72 } + fg[NORMAL] = { 0.7, 0.8, 0.2 } + #bg[NORMAL] = {0, 0.36, 0.40 } + bg[NORMAL] = "#444466" +} + +style "midi_track_base" = "default_base" +{ + font_name = "%FONT_SMALLER%" + fg[NORMAL] = { 0.77, 0.77, 0.72 } + bg[NORMAL] = { 0.48, 0.30, 0.32 } + bg[ACTIVE] = { 0.20, 0.20, 0.20 } + bg[PRELIGHT] = { 0.20, 0.20, 0.20 } + bg[INSENSITIVE] = { 0.20, 0.20, 0.20 } + bg[SELECTED] = { 0.20, 0.20, 0.20 } +} + +style "track_controls_inactive" +{ + bg[NORMAL] = { 0.60, 0.60, 0.66 } + bg[ACTIVE] = { 0.60, 0.60, 0.66 } + bg[INSENSITIVE] = { 0.60, 0.60, 0.66 } + bg[SELECTED] = { 0.60, 0.60, 0.66 } + bg[PRELIGHT] = { 0.60, 0.60, 0.66 } + + #font_name = "sans 18" + fg[NORMAL] = { 0.7, 0.8, 0.2 } +} + +style "audio_track_metrics" = "audio_track_base" +{ + font_name = "%FONT_TINY%" +} + +style "audio_bus_metrics" = "audio_bus_base" +{ + font_name = "%FONT_TINY%" +} + +style "audio_track_metrics_inactive" = "track_controls_inactive" +{ + font_name = "%FONT_TINY%" +} + +style "audio_bus_metrics_inactive" = "track_controls_inactive" +{ + font_name = "%FONT_TINY%" +} + +style "track_name_display" +{ + font_name = "%FONT_NORMAL%" + fg[NORMAL] = { 0.80, 0.80, 0.80 } + fg[ACTIVE] = { 0.80, 0.80, 0.80 } + + base[NORMAL] = { 0.06, 0.06, 0.06 } + base[ACTIVE] = { 0.26, 0.26, 0.26 } + bg[NORMAL] = { 0.26, 0.26, 0.26 } + bg[ACTIVE] = { 0.26, 0.26, 0.26 } +} + +style "active_track_name_display" +{ + font_name = "%FONT_NORMAL%" + GtkWidget::cursor_color = {0, 0, 0 } + text[NORMAL] = { 0.26, 0.26, 0.26 } + base[NORMAL] = { 0.89, 0.89, 0.89 } +} + +style "track_separator" +{ + bg[NORMAL] = { 0.35, 0.35, 0.40 } +} + +# +# Track edit groups. These styles define +# the colors that the "edit" button will +# use as a track is moved from +# track edit group to track edit group. +# There are 8 edit groups. Edit group 0 +# is used for tracks that are not editable, +# so we leave its style to the default. +# + +style "edit_group_0" + +{ + bg[ACTIVE] = { 1.0, 0.65, 0.13 } + bg[NORMAL] = { 0.31, 0.31, 0.31 } + fg[NORMAL] = { 0.82, 0.91, 0.99 } + fg[ACTIVE] = { 0, 0, 0 } +} + +style "edit_group_1" +{ + fg[NORMAL] = { 0, 0, 0 } + fg[PRELIGHT] = { 0, 0, 0 } + fg[SELECTED] = { 0, 0, 0 } + bg[NORMAL] = { 0.93, 0.34, 0.08 } + bg[PRELIGHT] = { 0.93, 0.34, 0.08 } + bg[SELECTED] = { 0.93, 0.34, 0.08 } +} + +style "edit_group_2" +{ + fg[NORMAL] = { 0, 0, 0 } + fg[PRELIGHT] = { 0, 0, 0 } + fg[SELECTED] = { 0, 0, 0 } + bg[NORMAL] = { 0.93, 0.34, 0.08 } + bg[PRELIGHT] = { 0.93, 0.34, 0.08 } + bg[SELECTED] = { 0.93, 0.34, 0.08 } +} + +style "edit_group_3" +{ + fg[NORMAL] = { 0, 0, 0 } + fg[PRELIGHT] = { 0, 0, 0 } + fg[SELECTED] = { 0, 0, 0 } + bg[NORMAL] = { 0.93, 0.34, 0.08 } + bg[PRELIGHT] = { 0.93, 0.34, 0.08 } + bg[SELECTED] = { 0.93, 0.34, 0.08 } +} + +style "treeview_parent_node" +{ + # specifies *just* the color used for whole file rows when not selected + fg[NORMAL] = { 0.0, 0.6, 0.85 } +} + +style "treeview_display" = "small_bold_text" +{ + # expander arrow border and DnD "icon" text + fg[NORMAL] = { 0.8, 0.8, 0.8 } + + # background with no rows or no selection, plus + # expander arrow core and DnD "icon" background + base[NORMAL] = { 0.20, 0.20, 0.25 } + + # selected row bg when window does not have focus (including during DnD) + base[ACTIVE] = { 0.0, 0.60, 0.60 } + + # selected row bg when window has focus + base[SELECTED] = { 0, 0.75, 0.75 } + + # row text when in normal state and not a parent + text[NORMAL] = { 0.80, 0.80, 0.80 } + + # selected row text with window focus + text[SELECTED] = { 0, 1.0, 1.0 } + + # selected row text without window focus (including during DnD) + text[ACTIVE] = { 0, 1.0, 1.0 } +} + +style "main_canvas_area" +{ + bg[NORMAL] = { 0.30, 0.30, 0.34 } + bg[ACTIVE] = { 0.30, 0.30, 0.34 } + bg[INSENSITIVE] = { 0.30, 0.30, 0.34 } + bg[SELECTED] = { 0.30, 0.30, 0.34 } + bg[PRELIGHT] = { 0.30, 0.30, 0.34 } +} + +style "track_controls_inactive" +{ + bg[NORMAL] = { 0.60, 0.60, 0.66 } + bg[ACTIVE] = { 0.60, 0.60, 0.66 } + bg[INSENSITIVE] = { 0.60, 0.60, 0.66 } + bg[SELECTED] = { 0.60, 0.60, 0.66 } + bg[PRELIGHT] = { 0.60, 0.60, 0.66 } + + font_name = "%FONT_LARGE%" + fg[NORMAL] = { 0.7, 0.8, 0.2 } +} + +style "edit_controls_base_selected" +{ + bg[NORMAL] = { 0.32, 0.32, 0.54 } + bg[ACTIVE] = { 0.32, 0.32, 0.54 } + bg[INSENSITIVE] = { 0.32, 0.32, 0.54 } + bg[SELECTED] = { 0.32, 0.32, 0.54 } + bg[PRELIGHT] = { 0.32, 0.32, 0.54 } +} + +style "automation_track_controls_base" +{ + bg[NORMAL] = { 0.22, 0.22, 0.29 } + bg[ACTIVE] = { 0.22, 0.22, 0.29 } + bg[INSENSITIVE] = { 0.22, 0.22, 0.29 } + bg[SELECTED] = { 0.22, 0.22, 0.29 } + bg[PRELIGHT] = { 0.22, 0.22, 0.29 } +} + +# Plugin Editors +style "plugin_slider" +{ + font_name ="%FONT_BOLD_BIG%" + + # the slider itself. the inactive part is INSENSITIVE, + # the active part is something else. + + fg[NORMAL] = { 0.37, 0.43, 0.52 } + fg[ACTIVE] = { 0.37, 0.43, 0.52 } + fg[INSENSITIVE] = {0.35, 0.35, 0.40 } # matches default_base + fg[SELECTED] = { 0.37, 0.43, 0.52 } + fg[PRELIGHT] = { 0.37, 0.43, 0.52 } + + # draws the outer rectangle around the slider + + bg[NORMAL] = { 0.80, 0.80, 0.80 } + bg[ACTIVE] = { 0.80, 0.80, 0.80 } + bg[INSENSITIVE] = {0.80, 0.80, 0.80 } + bg[SELECTED] = { 0.80, 0.80, 0.80 } + bg[PRELIGHT] = { 0.80, 0.80, 0.80 } + + # the numeric display + + text[NORMAL] = { 0.80, 0.80, 0.80 } + text[ACTIVE] = { 0.80, 0.80, 0.80 } + text[INSENSITIVE] = { 0.80, 0.80, 0.80 } + text[SELECTED] = { 0.80, 0.80, 0.80 } + text[PRELIGHT] = { 0.80, 0.80, 0.80 } +} + +style "track_list_display" = "small_bold_text" +{ + text[NORMAL] = { 0.80, 0.80, 0.80 } + text[ACTIVE] = { 0.3, 0.3, 0.3 } + text[INSENSITIVE] = { 0, 0, 0 } + text[SELECTED] = { 0.8, 0.8, 0.8 } + + base[NORMAL] = { 0, 0, 0 } + base[ACTIVE] = { 0, 0, 0 } + base[INSENSITIVE] = { 0, 0, 0 } + base[SELECTED] = { 0, 0, 0 } +} + +style "inspector_track_list_display" = "track_list_display" +{ + text[ACTIVE] = { 0.8, 0.8, 0.8 } + + base[NORMAL] = { 0, 0, 0 } + base[ACTIVE] = { 0.2, 0.2, 0.2 } + base[INSENSITIVE] = { 0, 0, 0 } + base[SELECTED] = { 0.3, 0.3, 0.4 } +} + +style "redirect_list_display" +{ + GtkTreeView::horizontal-separator = 0 + GtkTreeView::vertical-separator = 0 + + font_name = "%FONT_SMALL%" + text[NORMAL] = { 0.80, 0.80, 0.80 } + text[ACTIVE] = { 0.70, 0.70, 0.70 } + text[INSENSITIVE] = { 0, 0, 0 } + text[SELECTED] = { 0.9, 0.3, 0.3 } + + base[NORMAL] = { 0, 0, 0 } + base[ACTIVE] = { 0, 0, 0 } + base[INSENSITIVE] = { 0, 0, 0 } + base[SELECTED] = { 0, 0, 0 } + + # these two are explicitly used by the cell renderer for the + # text + + fg[NORMAL] = { 0.5, 0.5, 0.5 } # used for inactive + fg[ACTIVE] = { 1.0, 1.0, 1.0 } # used for active +} + +style "inspector_redirect_list_display" = "redirect_list_display" +{ + base[SELECTED] = { 0.3, 0.3, 0.3 } +} + +# MixerPanZone: +# +# the NORMAL fg color is used for the pan puck +# the ACTIVE fg color is used for the speaker boxes + +style "pan_zone" = "default_base" +{ + fg[NORMAL] = { 0.34, 0.95, 0.92 } + fg[ACTIVE] = { 0.95, 0.48, 0.11 } +} + +style "paler_red_when_active" = "medium_text" +{ + fg[NORMAL] = { 0.80, 0.80, 0.80 } + fg[PRELIGHT] = { 0.80, 0.80, 0.80 } + bg[NORMAL] = { 0.31, 0.31, 0.31 } + bg[PRELIGHT] = { 0.31, 0.31, 0.31 } + + fg[ACTIVE] = { 0.36, 0.46, 0.28 } + bg[ACTIVE] = { 1.00, 0.59, 0.59} +} + +style "peak_display_peaked_entry" = "small_text" +{ + fg[NORMAL] = { 1.0, 1.0, 1.0 } + fg[ACTIVE] = { 1.0, 1.0, 1.0 } + fg[SELECTED] = { 1.0, 1.0, 1.0 } + + bg[NORMAL] = {0.9, 0.0, 0.0 } + bg[ACTIVE] = { 0.9, 0.0, 0.0 } + bg[PRELIGHT] = { 0.9, 0.0, 0.0 } + bg[INSENSITIVE] = { 0.9, 0.0, 0.0 } + bg[SELECTED] = { 0.9, 0.0, 0.0 } + base[NORMAL] = { 0.9, 0.0, 0.0 } + base[ACTIVE] = { 0.9, 0.0, 0.0 } + base[PRELIGHT] = { 0.9, 0.0, 0.0 } + base[INSENSITIVE] = { 0.9, 0.0, 0.0 } + base[SELECTED] = { 0.9, 0.0, 0.0 } +} + +style "selected_strip_frame" +{ + fg[NORMAL] = { 0.74, 0.42, 0.47 } + bg[NORMAL] = { 0.79, 0.28, 0.18 } +} + +style "flashing_alert" = "very_small_text" +{ + fg[NORMAL] = { 0.80, 0.80, 0.80 } + bg[NORMAL] = { 0.26, 0.26, 0.31 } + + fg[ACTIVE] = { 0.80, 0.80, 0.80 } + bg[ACTIVE] = { 1.0, 0, 0} +} + +style "selected_io_selector_port_list" = "medium_bold_text" +{ + + GtkTreeView::even-row-color = { 0, 0, 0 } + GtkTreeView::odd-row-color = { 0, 0, 0 } + +# fg is used to color the fg (text) of the column header button + + fg[NORMAL] = { 0.85, 0.85, 0.85 } + fg[SELECTED] = { 0.85, 0.85, 0.85 } + fg[ACTIVE] = { 0.85, 0.85, 0.85 } + fg[PRELIGHT] = { 0.85, 0.85, 0.85 } + fg[INSENSITIVE] = { 0.85, 0.85, 0.85 } + +# bg is used used to color the background of the column header button + + bg[NORMAL] = { 0.30, 0.30, 0.35 } + bg[ACTIVE] = { 0.30, 0.30, 0.35 } + bg[PRELIGHT] = { 0.30, 0.30, 0.35 } + bg[INSENSITIVE] = { 0.30, 0.30, 0.35 } + bg[SELECTED] = { 0.30, 0.30, 0.35 } + +# text is used to color the treeview row text + + text[NORMAL] = { 0.85, 0.85, 0.85 } + text[SELECTED] = { 0.85, 0.85, 0.85 } + +# base is used to color a treeview with no rows + + base[NORMAL] = { 0.20, 0.20, 0.25 } + base[ACTIVE] = { 0.20, 0.20, 0.25 } + base[PRELIGHT] = { 0.20, 0.20, 0.25 } + base[INSENSITIVE] = { 0.20, 0.20, 0.25 } + base[SELECTED] = { 0.20, 0.20, 0.25 } + +} + +style "io_selector_port_list" = "medium_text" +{ + GtkTreeView::even-row-color = { 0.20, 0.20, 0.25 } + GtkTreeView::odd-row-color = { 0.20, 0.20, 0.25 } +# fg is used to color the fg (text) of the column header button + + fg[NORMAL] = { 0.70, 0.70, 0.70 } + fg[SELECTED] = { 0.70, 0.70, 0.70 } + fg[ACTIVE] = { 0.70, 0.70, 0.70 } + fg[PRELIGHT] = { 0.70, 0.70, 0.70 } + fg[INSENSITIVE] = { 0.70, 0.70, 0.70 } + +# bg is used used to color the background of the column header button + + bg[NORMAL] = { 0.30, 0.30, 0.35 } + bg[ACTIVE] = { 0.30, 0.30, 0.35 } + bg[PRELIGHT] = { 0.30, 0.30, 0.35 } + bg[INSENSITIVE] = { 0.30, 0.30, 0.35 } + bg[SELECTED] = { 0.30, 0.30, 0.35 } + +# text is used to color the treeview row text + + text[NORMAL] = { 0.80, 0.80, 0.80 } + text[SELECTED] = { 0.80, 0.80, 0.80 } + +# base is used to color a treeview with no rows + + base[NORMAL] = { 0.20, 0.20, 0.25 } + base[ACTIVE] = { 0.20, 0.20, 0.25 } + base[PRELIGHT] = { 0.20, 0.20, 0.25 } + base[INSENSITIVE] = { 0.20, 0.20, 0.25 } + base[SELECTED] = { 0.20, 0.20, 0.25 } +} + +style "io_selector_notebook" = "default_base" +{ + fg[NORMAL] = { 1.0, 1.0, 1.0 } + font_name ="%FONT_BOLD_NORMAL%" +} + +style "tearoff_arrow" = "medium_bold_entry" +{ + fg[NORMAL] = { 0.80, 0.80, 0.80 } + fg[PRELIGHT] = { 0.80, 0.80, 0.80 } + bg[NORMAL] = { 0.80, 0.80, 0.80 } + bg[PRELIGHT] = { 0.80, 0.80, 0.80 } +} + +style "location_row_button" = "default_button" +{ + font_name = "%FONT_NORMAL%" +} + +style "location_rows_clock" = "default_clock_display" +{ + font_name = "%FONT_BIG%" +} + +style "pan_slider" +{ + font_name = "%FONT_NORMAL%" + + fg[NORMAL] = { 0.22, 0.73, 0.22 } + fg[ACTIVE] = { 0.22, 0.73, 0.22 } + fg[INSENSITIVE] = {0.22, 0.53, 0.22 } + fg[SELECTED] = { 0.67, 0.23, 0.22 } + fg[PRELIGHT] = { 0.67, 0.23, 0.22 } + + bg[NORMAL] = { 0.05, 0.05, 0.05 } + bg[ACTIVE] = { 0, 0, 0 } + bg[INSENSITIVE] = {0.12, 0.19, 0.25 } + bg[SELECTED] = { 0, 0, 0 } + bg[PRELIGHT] = { 0, 0, 0 } + + text[NORMAL] = { 0.70, 0.70, 0.70 } + text[ACTIVE] = { 0.70, 0.70, 0.70 } + text[INSENSITIVE] = { 0.70, 0.70, 0.70 } + text[SELECTED] = { 0.70, 0.70, 0.70 } + text[PRELIGHT] = { 0.70, 0.70, 0.70 } + + # used to draw the triangular indicators + + base[NORMAL] = { 0.80, 0.80, 0.80 } + base[ACTIVE] = { 0.80, 0.80, 0.80 } + base[INSENSITIVE] = {0.6, 0.6, 0.6 } + base[SELECTED] = { 0.80, 0.80, 0.80 } + base[PRELIGHT] = { 0.80, 0.80, 0.80 } + +} + +style "ardour_button" ="default_button" +{ + xthickness = 1 + ythickness = 1 +} + +#--------------------------------------------------------------- + +class "GtkWidget" style:highest "default_base" +class "GtkScrollbar" style:highest "ardour_adjusters" +class "GtkLabel" style:highest "default_generic" +class "GtkButton" style:highest "ardour_button" +class "GtkArrow" style:highest "tearoff_arrow" +class "GtkProgressBar" style:highest "ardour_progressbars" + +widget "*FirstActionMessage" style:highest "first_action_message" +widget "*VerboseCanvasCursor" style:highest "verbose_canvas_cursor" +widget "*MarkerText" style:highest "marker_text" +widget "*TimeAxisViewItemName*" style:highest "time_axis_view_item_name" +#widget "*ExportProgress" style:highest "default_generic" +widget "*ExportFileLabel" style:highest "small_bold_text" +widget "*ExportFormatLabel" style:highest "medium_bold_text" +widget "*ExportHeader" style:highest "small_bold_text" +widget "*ExportFileDisplay" style:highest "medium_entry" +widget "*ExportFormatDisplay" style:highest "medium_entry" +widget "*ExportCheckbox" style:highest "small_entry" +widget "*ExportTrackSelector*" style:highest "medium_entry_noselection_bg" +widget "*EditModeSelector" style:highest "medium_bold_entry" +widget "*SnapTypeSelector" style:highest "medium_bold_entry" +widget "*SnapModeSelector" style:highest "medium_bold_entry" +widget "*ZoomFocusSelector" style:highest "medium_bold_entry" +widget "*ArdourContextMenu*" style:highest "default_menu" +widget "*EditGroupTitleButton*" style:highest "default_button" +widget "*MixerGroupTitleButton*" style:highest "default_button" +widget "*ErrorLogCloseButton" style:highest "default_button" +widget "*EditorGTKButton*" style:highest "default_button" +widget "*ToolbarButton" style:highest "default_button" +widget "*ToolbarButton*" style:highest "default_button" +widget "*CrossfadeEditButton" style:highest "default_button" +widget "*CrossfadeEditButton*" style:highest "default_button" +widget "*TrackHistoryButton*" style:highest "default_button" +widget "*TrackSizeButton*" style:highest "default_button" +widget "*TrackPlaylistButton*" style:highest "default_button" +widget "*TrackAutomationButton*" style:highest "default_button" +widget "*TrackGroupButton*" style:highest "default_button" +widget "*TrackMixButton*" style:highest "default_button" +widget "*TrackVisualButton*" style:highest "default_button" +widget "*TrackRemoveButton*" style:highest "default_button" +widget "*BaseButton" style:highest "default_button" +widget "*TakeButtonLabel" style:highest "default_button" +widget "*MixerWidthButton" style:highest "default_button" +widget "*MixerHideButton" style:highest "default_button" +widget "*MixerSendButton" style:highest "default_button" +widget "*MixerSendButtonLabel" style:highest "default_button" +widget "*MixerSendSwitch" style:highest "default_button" +widget "*MixerInsertButton" style:highest "default_button" +widget "*MixerInsertButtonLabel" style:highest "default_button" +widget "*MixerInsertSwitch" style:highest "default_button" +widget "*MixerMonitorInputButton*" style:highest "very_small_button" +widget "*MixerMonitorInputButton.*" style:highest "very_small_button" +widget "*MixerIOButton" style:highest "very_small_button" +widget "*MixerIOButtonLabel" style:highest "very_small_button" +widget "*AddRouteDialogSpinner" style:highest "ardour_adjusters" +widget "*AddRouteDialogRadioButton*" style:highest "preferences" +widget "*OptionsNotebook" style:highest "preferences" +widget "*OptionEditorToggleButton*" style:highest "preferences" +widget "*OptionsLabel" style:highest "preferences" +widget "*OptionEditorAuditionerLabel" style:highest "preferences" +widget "*OptionsEntry" style:highest "option_entry" +widget "*InspectorNotebook" style:highest "preferences" +widget "*NewSessionDialog" style:highest "preferences" +widget "*NewSessionDialogButton*" style:highest "preferences" +widget "*MixerSendSwitch*" style:highest "very_small_red_active_and_selected_button" +widget "*OptionEditorToggleButton" style:highest "small_red_active_and_selected_button" +widget "*NewSessionDialogButton" style:highest "small_red_active_and_selected_button" +widget "*RecordEnableButton" style:highest "track_rec_enable_button" +widget "*RecordEnableButton-active" style:highest "track_rec_enable_button_active" +widget "*RecordEnableButton-alternate" style:highest "track_rec_enable_button_alternate" +widget "*MixerRecordEnableButton" style:highest "mixer_track_rec_enable_button" +widget "*MixerRecordEnableButton-active" style:highest "mixer_track_rec_enable_button_active" +widget "*MixerRecordEnableButton-alternate" style:highest "mixer_track_rec_enable_button_alternate" +widget "*MuteButton" style:highest "mute_button" +widget "*MuteButton-alternate" style:highest "mute_button_alternate" +widget "*MuteButton-active" style:highest "mute_button_active" +widget "*MixerMuteButton" style:highest "mixer_mute_button" +widget "*MixerMuteButton-alternate" style:highest "mixer_mute_button_alternate" +widget "*MixerMuteButton-active" style:highest "mixer_mute_button_active" +widget "*SoloButton" style:highest "solo_button" +widget "*SoloButton-alternate" style:highest "solo_button_alternate" +widget "*SoloButton-active" style:highest "solo_button_active" +widget "*MixerSoloButton" style:highest "mixer_solo_button" +widget "*MixerSoloButton-alternate" style:highest "mixer_solo_button_alternate" +widget "*MixerSoloButton-active" style:highest "mixer_solo_button_active" +widget "*TrackLoopButton*" style:highest "track_loop_button" +widget "*PanAutomationLineSelector*" style:highest "multiline_combo" +widget "*EditorTimeButton*" style:highest "time_button" +widget "*MixerPhaseInvertButton*" style:highest "very_small_button" +widget "*MixerPhaseInvertButton.*" style:highest "very_small_button" +widget "*MixerAutomationRecordingButton*" style:highest "very_small_button" +widget "*MixerAutomationRecordingButton.*" style:highest "very_small_button" +widget "*MixerAutomationModeButton*" style:highest "very_small_button" +widget "*MixerAutomationModeButton.*" style:highest "very_small_button" +widget "*MixerAutomationPlaybackButton*" style:highest "very_small_button" +widget "*MixerAutomationPlaybackButton.*" style:highest "very_small_button" +widget "*MixerNameButton" style:highest "very_small_button" +widget "*MixerNameButtonLabel" style:highest "very_small_button" +widget "*MixerGroupButton" style:highest "very_small_button" +widget "*MixerGroupButtonLabel" style:highest "very_small_button" +widget "*MixerCommentButton" style:highest "very_small_button" +widget "*MixerCommentButton*" style:highest "very_small_button" +widget "*EditGroupButton" style:highest "very_small_button" +widget "*EditGroupButtonLabel" style:highest "very_small_button" +widget "*TransportButton" style:highest "transport_rec_button" +widget "*TransportButton-active" style:highest "transport_button_active" +widget "*ShuttleButton" style:highest "transport_button" +widget "*ShuttleButton*" style:highest "transport_button" +widget "*ShuttleDisplay" style:highest "transport_button" +widget "*ShuttleDisplay*" style:highest "transport_button" +widget "*ShuttleControl" style:highest "shuttle_control" +widget "*TransportRecButton" style:highest "transport_rec_button" +widget "*TransportRecButton*" style:highest "transport_rec_button" +widget "*TransportRecButton-active" style:highest "transport_rec_button_active" +widget "*TransportRecButton-active*" style:highest "transport_rec_button_active" +widget "*TransportRecButton-alternate" style:highest "transport_rec_button_alternate" +widget "*TransportRecButton-alternate*" style:highest "transport_rec_button_alternate" +widget "*TransportRecButton*" style:highest "transport_rec_button" +widget "*RecordingXrunWarningWindow" style:highest "xrun_warn" +widget "*RecordingXrunWarningWindow*" style:highest "xrun_warn" +/*widget "*MainMenuBar" style:highest "menu_bar_base"*/ +widget "*ErrorMessage" style:highest "error_message" +widget "*FatalMessage" style:highest "fatal_message" +widget "*InfoMessage" style:highest "info_message" +widget "*WarningMessage" style:highest "warning_message" +widget "*BigClockNonRecording" style:highest "non_recording_big_clock_display" +widget "*BigClockRecording" style:highest "recording_big_clock_display" +widget "*TransportClockDisplay" style:highest "transport_clock_display" +widget "*SecondaryClockDisplay" style:highest "transport_clock_display" +widget "*TransportClockDisplayDelta" style:highest "transport_clock_display_delta" +widget "*SecondaryClockDisplayDelta" style:highest "transport_clock_display_delta" +widget "*AudioClockFramesUpperInfo" style:highest "tempo_meter_clock_display" +widget "*AudioClockFramesLowerInfo" style:highest "tempo_meter_clock_display" +widget "*AudioClockSMPTEUpperInfo" style:highest "tempo_meter_clock_display" +widget "*AudioClockSMPTELowerInfo" style:highest "tempo_meter_clock_display" +widget "*AudioClockBBTUpperInfo" style:highest "tempo_meter_clock_display" +widget "*AudioClockBBTLowerInfo" style:highest "tempo_meter_clock_display" +widget "*SelectionStartClock" style:highest "default_clock_display" +widget "*SelectionEndClock" style:highest "default_clock_display" +widget "*EditPointClock" style:highest "default_clock_display" +widget "*PreRollClock" style:highest "default_clock_display" +widget "*PostRollClock" style:highest "default_clock_display" +widget "*NudgeClock" style:highest "default_clock_display" +widget "*InsertTimeClock" style:highest "default_clock_display" +widget "*ZoomRangeClock" style:highest "default_clock_display" +widget "*SMPTEOffsetClock" style:highest "default_clock_display" +widget "*TransportLabel" style:highest "small_bold_text" +widget "*TakeLabel" style:highest "small_bold_text" +widget "*LocationLabel" style:highest "small_bold_text" +widget "*WipeLabel" style:highest "small_bold_text" +widget "*TakeTagLabel" style:highest "small_bold_text" +widget "*ToolBarLabel" style:highest "small_bold_text" +widget "*EditorDisplayLabel" style:highest "small_bold_text" +widget "*NewSessionLabel" style:highest "large_text" +widget "*GlobalButtonLabel" style:highest "default_generic" +widget "*ClickButton" style:highest "medium_entry" +widget "*RegionNameDisplay" style:highest "medium_entry" +widget "*PluginDisplay" style:highest "medium_entry" +widget "*SelectionDisplay" style:highest "medium_entry" +widget "*HistorySelector" style:highest "medium_entry" +widget "*LocationSelector" style:highest "medium_entry" +widget "*TakeSelector" style:highest "medium_entry" +widget "*RegionSelector" style:highest "medium_entry" +widget "*SMPTERuler" style:highest "editor_time_ruler" +widget "*BBTRuler" style:highest "editor_time_ruler" +widget "*FramesRuler" style:highest "editor_time_ruler" +widget "*MinSecRuler" style:highest "editor_time_ruler" +widget "*BaseFrame" style:highest "base_frame" + +widget "*AudioTrackStripBase" style:highest "audio_track_base" +widget "*AudioBusStripBase" style:highest "audio_bus_base" +widget "*MidiTrackStripBase" style:highest "midi_track_base" +widget "*AudioTrackStripBaseInactive" style:highest "track_controls_inactive" +widget "*AudioBusStripBaseInactive" style:highest "track_controls_inactive" +widget "*MidiTrackStripBaseInactive" style:highest "track_controls_inactive" +widget "*FaderMetricsStrip" style:highest "audio_track_metrics" +widget "*AudioTrackMetrics" style:highest "audio_track_metrics" +widget "*AudioBusMetrics" style:highest "audio_bus_metrics" +widget "*AudioTrackMetricsInactive" style:highest "audio_track_metrics_inactive" +widget "*AudioBusMetricsInactive" style:highest "audio_bus_metrics_inactive" + +widget "*TimeAxisViewControlsBaseUnselected" style:highest "audio_track_base" +widget "*AudioTrackControlsBaseUnselected" style:highest "audio_track_base" +widget "*MidiTrackControlsBaseUnselected" style:highest "midi_track_base" +widget "*AudioTrackFader" style:highest "gain_fader" + +widget "*BusControlsBaseUnselected" style:highest "audio_bus_base" +widget "*AudioBusFader" style:highest "gain_fader" +widget "*TrackSeparator" style:highest "track_separator" +widget "*TrackEditIndicator0*" style:highest "edit_group_0" +widget "*TrackEditIndicator1*" style:highest "edit_group_1" +widget "*TrackEditIndicator2*" style:highest "edit_group_2" +widget "*TrackEditIndicator3*" style:highest "edit_group_3" +widget "*TrackEditIndicator4*" style:highest "edit_group_3" +widget "*TrackEditIndicator5*" style:highest "edit_group_3" +widget "*TrackEditIndicator6*" style:highest "edit_group_3" +widget "*TrackEditIndicator7*" style:highest "edit_group_3" +widget "*EditorTrackNameDisplay" style:highest "track_name_display" +widget "*EditorTrackNameDisplay*" style:highest "track_name_display" +widget "*EditorActiveTrackNameDisplay" style:highest "active_track_name_display" +widget "*EditorActiveTrackNameDisplay*" style:highest "active_track_name_display" +widget "*CrossfadeEditAuditionButton" style:highest "red_when_active" +widget "*CrossfadeEditAuditionButton*" style:highest "red_when_active" +widget "*CrossfadeEditCurveButton" style:highest "red_when_active" +widget "*CrossfadeEditCurveButton*" style:highest "red_when_active" +widget "*CrossfadeEditLabel" style:highest "medium_text" +widget "*CrossfadeEditFrame" style:highest "base_frame" +widget "*MouseModeButton" style:highest "default_button" +widget "*MouseModeButton*" style:highest "default_button" +widget "*EditorMainCanvas" style:highest "main_canvas_area" +widget "*AudioTrackControlsBaseInactiveUnselected" style:highest "track_controls_inactive" +widget "*BusControlsBaseInactiveUnselected" style:highest "track_controls_inactive" +widget "*AutomationTrackControlsBaseInactiveUnselected" style:highest "track_controls_inactive" +widget "*AutomationTrackName" style:highest "automation_track_name" +widget "*AudioTrackControlsBaseInactiveSelected" style:highest "track_controls_inactive" +widget "*BusControlsBaseInactiveSelected" style:highest "track_controls_inactive" +widget "*AutomationTrackControlsBaseInactiveSelected" style:highest "track_controls_inactive" +widget "*AudioTrackControlsBaseSelected" style:highest "edit_controls_base_selected" +widget "*MidiTrackControlsBaseSelected" style:highest "edit_controls_base_selected" +widget "*BusControlsBaseSelected" style:highest "edit_controls_base_selected" +widget "*AutomationTrackControlsBase" style:highest "automation_track_controls_base" +widget "*AutomationTrackControlsBaseSelected" style:highest "edit_controls_base_selected" +/*widget "*EditorMenuBar*" style:highest "black_mackie_menu_bar" +widget "*MainMenuBar*" style:highest "black_mackie_menu_bar" +*/ +widget "*ZoomClickBox" style:highest "medium_bold_entry" +widget "*PluginParameterLabel" style:highest "medium_text" +widget "*PluginNameInfo" style:highest "plugin_name_text" +widget "*PluginMakerInfo" style:highest "plugin_maker_text" +widget "*PluginParameterInfo" style:highest "medium_text" +widget "*MotionControllerValue" style:highest "medium_entry" +widget "*ParameterValueDisplay" style:highest "medium_bold_entry" +widget "*PluginUIClickBox" style:highest "medium_bold_entry" +widget "*PluginUIClickBox*" style:highest "medium_bold_entry" +widget "*PluginSlider" style:highest "plugin_slider" +widget "*RedirectSelector" style:highest "redirect_list_display" +widget "*RedirectSelector.*" style:highest "redirect_list_display" +widget "*EditGroupDisplay" style:highest "treeview_display" +widget "*TrackListDisplay" style:highest "treeview_display" +widget "*RegionListDisplay" style:highest "treeview_display" +widget "*NamedSelectionDisplay" style:highest "treeview_display" +widget "*SnapshotDisplay" style:highest "treeview_display" +widget "*MixerTrackCommentArea" style:highest "option_entry" +widget "*MixerPanZone" style:highest "pan_zone" +widget "*MixerTrackDisplayList" style:highest "treeview_display" +widget "*MixerSnapshotDisplayList" style:highest "treeview_display" +widget "*MixerAuxDisplayList" style:highest "treeview_display" +widget "*MixerGroupList" style:highest "treeview_display" +widget "*RegionEditorLabel" style:highest "medium_text" +widget "*RegionEditorSmallLabel" style:highest "small_text" +widget "*RegionEditorEntry" style:highest "medium_entry" +widget "*RegionEditorClock" style:highest "default_clock_display" +widget "*RegionEditorToggleButton" style:highest "paler_red_when_active" +widget "*RegionEditorToggleButton*" style:highest "paler_red_when_active" +widget "*MixerStripSpeedBase" style:highest "small_entry" +widget "*MixerStripSpeedBase*" style:highest "small_entry" +widget "*MixerStripSpeedBaseNotOne" style:highest "small_red_on_black_entry" +widget "*MixerStripSpeedBaseNotOne*" style:highest "small_red_on_black_entry" +widget "*MixerStripGainDisplay" style:highest "small_entry" +widget "*MixerStripGainDisplay*" style:highest "small_entry" +widget "*MixerStripGainUnitButton" style:highest "very_small_button" +widget "*MixerStripGainUnitButton*" style:highest "very_small_button" +widget "*MixerStripMeterPreButton" style:highest "very_small_button" +widget "*MixerStripMeterPreButton*" style:highest "very_small_button" +widget "*MixerStripPeakDisplay*" style:highest "red_active_small_entry" +widget "*MixerStripPeakDisplayPeak*" style:highest "peak_display_peaked_entry" +widget "*MixerStripSelectedFrame" style:highest "selected_strip_frame" +widget "*MixerStripFrame" style:highest "base_frame" +widget "*HWMonitorButton" style:highest "red_when_active" +widget "*HWMonitorButton*" style:highest "red_when_active" +widget "*TransportSoloAlert" style:highest "flashing_alert" +widget "*TransportSoloAlert.*" style:highest "flashing_alert" +widget "*TransportAuditioningAlert" style:highest "flashing_alert" +widget "*TransportAuditioningAlert.*" style:highest "flashing_alert" +widget "*FadeCurve" style:highest "medium_bold_entry" +widget "*FadeCurve*" style:highest "medium_bold_entry" +widget "*IOSelectorButton" style:highest "default_button" +widget "*IOSelectorButton*" style:highest "default_button" +widget "*IOSelectorList" style:highest "medium_entry_noselection_fg" +widget "*IOSelectorPortList" style:highest "io_selector_port_list" +widget "*IOSelectorPortList.*" style:highest "io_selector_port_list" +widget "*IOSelectorPortListSelected" style:highest "selected_io_selector_port_list" +widget "*IOSelectorPortListSelected.*" style:highest "selected_io_selector_port_list" +widget "*IOSelectorNotebook" style:highest "io_selector_notebook" +widget "*IOSelectorNotebookTab" style:highest "io_selector_notebook" +widget "*IOSelectorFrame" style:highest "base_frame" +widget "*ConnectionEditorButton" style:highest "default_button" +widget "*ConnectionEditorButton*" style:highest "default_button" +widget "*ConnectionEditorList" style:highest "medium_entry_noselection_fg" +widget "*ConnectionEditorConnectionList" style:highest "medium_entry" +widget "*ConnectionEditorPortList" style:highest "io_selector_port_list" +widget "*ConnectionEditorPortListSelected" style:highest "selected_io_selector_port_list" +widget "*ConnectionEditorNotebook" style:highest "io_selector_notebook" +widget "*ConnectionEditorNotebookTab" style:highest "io_selector_notebook" +widget "*ConnectionEditorFrame" style:highest "base_frame" +widget "*RouteParamsListDisplay" style:highest "inspector_track_list_display" +widget "*RouteParamsPreListDisplay" style:highest "inspector_redirect_list_display" +widget "*RouteParamsPostListDisplay" style:highest "inspector_redirect_list_display" +widget "*TearOffArrow" style:highest "tearoff_arrow" +widget "*RouteParamsTitleButton" style:highest "medium_text" +widget "*RouteParamsTitleLabel" style:highest "medium_text" +widget "*PluginAutomateRecordButton" style:highest "small_red_active_and_selected_button" +widget "*PluginAutomateRecordButton*" style:highest "small_red_active_and_selected_button" +widget "*PluginAutomatePlayButton" style:highest "small_red_active_and_selected_button" +widget "*PluginAutomatePlayButton*" style:highest "small_red_active_and_selected_button" +widget "*PluginAutomateButton" style:highest "small_button" +widget "*PluginAutomateButton*" style:highest "small_button" +widget "*PluginSaveButton" style:highest "small_button" +widget "*PluginSaveButton*" style:highest "small_button" +widget "*PluginLoadButton" style:highest "small_button" +widget "*PluginLoadButton*" style:highest "small_button" + +widget "*MetricDialogFrame" style:highest "base_frame" +widget "*MetricEntry" style:highest "medium_bold_entry" +widget "*MetricButton" style:highest "default_button" +widget "*MetricButton.*" style:highest "default_button" +widget "*MetricLabel" style:highest "medium_text" +widget "*TimeStretchButton" style:highest "default_button" +widget "*TimeStretchButton.*" style:highest "default_button" +widget "*TimeStretchProgress" style:highest "default_generic" +widget "*ChoiceWindow" style:highest "default_generic" +widget "*ChoicePrompt" style:highest "default_generic" +widget "*ChoiceButton" style:highest "default_button" +widget "*ChoiceButton*" style:highest "default_button" +widget "*SelectionModeButton" style:highest "default_button" +widget "*SelectionModeButton*" style:highest "default_button" +widget "*TrackLabel" style:highest "medium_text" +widget "*TrackPlugName" style:highest "medium_text" +widget "*TrackParameterName" style:highest "small_text" +widget "*AddRouteDialog*" style:highest "medium_text" +widget "*AddRouteDialog.GtkLabel" style:highest "medium_text" +widget "*AddRouteDialogChannelChoice" style:highest "medium_bold_entry" +widget "*AddRouteDialogSpinner" style:highest "medium_bold_entry" +widget "*AddRouteDialogSpinner*" style:highest "medium_bold_entry" +widget "*AddRouteDialogRadioButton" style:highest "red_when_active" +widget "*AddRouteDialogButton" style:highest "default_button" +widget "*AddRouteDialogNameTemplateEntry" style:highest "medium_bold_entry" +widget "*NewSessionIOLabel" style:highest "larger_bold_text" +widget "*NewSessionSR1Label" style:highest "red_medium_text" +widget "*NewSessionSR2Label" style:highest "medium_text" +widget "*NewSessionChannelChoice" style:highest "medium_bold_entry" +widget "*NewSessionMainButton" style:highest "larger_bold_text" +widget "*NewSessionMainButton*" style:highest "larger_bold_text" +widget "*NewSessionMainLabel" style:highest "larger_bold_text" +widget "*LocationEditRowClock" style:highest "location_rows_clock" +widget "*LocationEditNameLabel" style:highest "medium_text" +widget "*LocationEditSetButton" style:highest "location_row_button" +widget "*LocationEditSetButton*" style:highest "location_row_button" +widget "*LocationEditGoButton" style:highest "location_row_button" +widget "*LocationEditGoButton*" style:highest "location_row_button" +widget "*LocationEditCdButton" style:highest "small_red_active_and_selected_button" +widget "*LocationEditCdButton*" style:highest "small_red_active_and_selected_button" +widget "*LocationEditHideButton" style:highest "small_red_active_and_selected_button" +widget "*LocationEditHideButton*" style:highest "small_red_active_and_selected_button" +widget "*LocationEditNumberLabel" style:highest "small_text" +widget "*LocationLocEditorFrame" style:highest "base_frame" +widget "*LocationRangeEditorFrame" style:highest "base_frame" +widget "*LocationEditNameEntry" style:highest "option_entry" +widget "*LocationAddLocationButton" style:highest "default_button" +widget "*LocationAddLocationButton*" style:highest "default_button" +widget "*LocationAddRangeButton" style:highest "default_button" +widget "*LocationAddRangeButton*" style:highest "default_button" +widget "*LocationEditRemoveButton" style:highest "location_row_button" +widget "*LocationEditRemoveButton*" style:highest "location_row_button" +widget "*PanSlider" style:highest "pan_slider" +widget "*PanningLinkButton" style:highest "mixer_red_active_button" +widget "*PanningLinkButton.*" style:highest "mixer_red_active_button" +widget "*PanningLinkDirectionButton" style:highest "very_small_button" +widget "*PanningLinkDirectionButton.*" style:highest "very_small_button" +widget "*ChannelCountSelector" style:highest "medium_bold_entry" +widget "*ChannelCountSelector.GtkArrow" style:highest "default_generic" +widget "*RegionListWholeFile" style:highest "treeview_parent_node" +widget "*EditorHScrollbar" style:highest "editor_hscrollbar" +widget "*ResizerHandler" style:highest "resizer_handle" + +style "tooltip" { + fg[NORMAL] = { 0.20, 0.20, 0.20 } + bg[NORMAL] = "#FFFFFF" +} + +widget "*ooltip*" style:highest "tooltip" diff --git a/gtk2_ardour/ardour3_ui_light_sae.rc.in b/gtk2_ardour/ardour3_ui_light_sae.rc.in new file mode 100644 index 0000000000..2a6844c6d0 --- /dev/null +++ b/gtk2_ardour/ardour3_ui_light_sae.rc.in @@ -0,0 +1,1584 @@ +# +# This is the GTK style file for Ardour +# + +style "very_small_text" +{ + font_name = "%FONT_SMALLER%" +} + +style "small_text" +{ + font_name = "%FONT_SMALL%" +} + +style "small_bold_text" +{ + font_name = "%FONT_BOLD_SMALL%" +} + +style "medium_bold_text" +{ + font_name = "%FONT_BOLD_NORMAL%" +} + +style "medium_text" +{ + font_name = "%FONT_NORMAL%" +} + +style "red_medium_text" = "medium_text" +{ + fg[NORMAL] = { 1.0, 0, 0 } + fg[ACTIVE] = { 1.0, 0, 0 } + fg[SELECTED] = { 1.0, 0, 0 } +} + + +style "large_text" +{ + font_name = "%FONT_LARGE%" +} + +style "larger_bold_text" +{ + font_name = "%FONT_BOLD_BIGGER%" +} + +style "plugin_name_text" +{ + font_name = "%FONT_BOLD_LARGER%" + fg[NORMAL] = { 0.80, 0.80, 0.80 } +} + +style "plugin_maker_text" +{ + font_name = "%FONT_BOLD_BIGGER%" + fg[NORMAL] = { 0.80, 0.80, 0.80 } +} + +style "automation_track_name" +{ + font_name = "%FONT_ITALIC_NORMAL%" +} + +style "first_action_message" +{ + font_name = "%FONT_HUGER%" +} + +style "verbose_canvas_cursor" +{ + font_name = "%FONT_BOLD_LARGER%" +} + +style "marker_text" +{ + font_name = "%FONT_NORMAL%" +} + +style "time_axis_view_item_name" +{ + font_name = "%FONT_SMALLER%" +} + +style "default_base" = "medium_text" +{ + + GtkButton::default_border = { 0, 0, 0, 0 } + GtkButton::default_outside_border = { 0, 0, 0, 0 } + GtkButton::button_relief = GTK_RELIEF_NONE + GtkTreeView::vertical-padding = 0 + GtkTreeView::horizontal-padding = 0 + GtkTreeView::even-row-color = { 0.70, 0.70, 0.70 } + GtkTreeView::odd-row-color = { 0.64, 0.64, 0.64 } + + fg[NORMAL] = { 0.30, 0.30, 0.40 } + fg[ACTIVE] = { 0.30, 0.30, 0.40 } + fg[PRELIGHT] = { 0.10, 0.10, 0.20 } + fg[INSENSITIVE] = { 0.30, 0.30, 0.40 } + fg[SELECTED] = { 0.30, 0.30, 0.40 } + + bg[NORMAL] = { 0.80, 0.80, 0.80 } + bg[ACTIVE] = { 0.80, 0.80, 0.80 } + bg[PRELIGHT] = { 0.80, 0.80, 0.80 } + bg[INSENSITIVE] = { 0.80, 0.80, 0.80 } + bg[SELECTED] = { 0.80, 0.80, 0.80 } + + text[NORMAL] = { 0.30, 0.30, 0.40 } + text[ACTIVE] = { 0.30, 0.30, 0.40 } + text[PRELIGHT] = { 0.30, 0.30, 0.40 } + text[INSENSITIVE] = { 0.30, 0.30, 0.40 } + text[SELECTED] = { 0, 0, 0 } + + base[ACTIVE] = { 0.80, 0.80, 0.80 } + base[NORMAL] = { 0.80, 0.80, 0.80 } + base[PRELIGHT] = { 0.90, 0.90, 0.90 } + base[INSENSITIVE] = "#4c5159" + base[SELECTED] = { 0.60, 0.60, 0.80 } + + engine "clearlooks" + { + menubarstyle = 0 # 0 = flat, 1 = sunken, 2 = flat gradient + menuitemstyle = 0 # 0 = flat, 1 = 3d-ish (gradient), 2 = 3d-ish (button) + listviewitemstyle = 0 # 0 = flat, 1 = 3d-ish (gradient) + progressbarstyle = 1 # 0 = candy bar, 1 = fancy candy bar, 2 = flat + } +} + +style "base_frame" +{ + bg[NORMAL] = { 0.80, 0.80, 0.80 } + fg[NORMAL] = { 0.35, 0.35, 0.40 } +} + +style "transport_base" = "medium_bold_text" +{ + bg[NORMAL] = { 0.10, 0.10, 0.10 } + bg[ACTIVE] = { 0, 0, 0 } + bg[PRELIGHT] = { 0, 0, 0 } + bg[INSENSITIVE] = { 0, 0, 0 } + bg[SELECTED] = { 0, 0, 0 } +} +/* +style "black_mackie_menu_bar" +{ + font_name = "%FONT_BOLD_NORMAL%" + fg[NORMAL] = { 1.0, 1.0, 1.0 } + bg[NORMAL] = { 0, 0, 0 } +} +*/ +style "default_button" +{ + font_name = "%FONT_SMALL%" + fg[ACTIVE] = { 1.0, 1.0, 1.0 } + + bg[NORMAL] = { 0.80, 0.80, 0.80 } + bg[ACTIVE] = "#565690" + bg[PRELIGHT] = { 0.70, 0.70, 0.90 } + bg[INSENSITIVE] = { 0.70, 0.70, 0.90 } + bg[SELECTED] = { 0.70, 0.70, 0.90 } +} + +style "default_menu" +{ + font_name = "%FONT_NORMAL%" + fg[ACTIVE] = { 1.0, 1.0, 1.0 } + + bg[NORMAL] = { 0.80, 0.80, 0.80 } + bg[ACTIVE] = "#565690" + bg[PRELIGHT] = { 0.70, 0.70, 0.90 } + bg[INSENSITIVE] = { 0.70, 0.70, 0.90 } + bg[SELECTED] = { 0.70, 0.70, 0.90 } +} + +style "default_generic" +{ + font_name = "%FONT_NORMAL%" + fg[ACTIVE] = { 1.0, 1.0, 1.0 } + + bg[NORMAL] = { 0.80, 0.80, 0.80 } + bg[ACTIVE] = "#565690" + bg[PRELIGHT] = { 0.70, 0.70, 0.90 } + bg[INSENSITIVE] = { 0.70, 0.70, 0.90 } + bg[SELECTED] = { 0.70, 0.70, 0.90 } +} + +style "very_small_button" = "default_button" +{ + font_name = "%FONT_SMALLER%" + ythickness = 0 + xthickness = 0 +} + +style "small_button" = "default_button" +{ +} + +style "very_small_red_active_and_selected_button" = "very_small_button" +{ + bg[ACTIVE] = { 1.0, 0, 0} + bg[SELECTED] = { 1.0, 0, 0} +} + +style "small_red_active_and_selected_button" = "small_button" +{ + fg[ACTIVE] = { 0, 0, 0 } + bg[ACTIVE] = { 1.0, 0, 0} + bg[SELECTED] = { 1.0, 0, 0} +} + +style "gain_fader" +{ + bg[NORMAL] = { 0.80, 0.80, 0.80 } + bg[ACTIVE] = { 0.80, 0.80, 0.80 } +} + + +style "track_rec_enable_button" = "small_button" +{ +} + +style "track_rec_enable_button_active" = "small_button" +{ + fg[SELECTED] = { 0.0, 0.0, 0.0 } + fg[ACTIVE] = { 0.0, 0.0, 0.0 } + fg[PRELIGHT] = { 0.0, 0.0, 0.0 } + fg[NORMAL] = { 0.0, 0.0, 0.0 } + + bg[NORMAL] = { 1.0, 0.0, 0.0 } + bg[ACTIVE] = { 1.0, 0.0, 0.0 } + bg[SELECTED] = { 1.0, 0.0, 0.0 } + bg[PRELIGHT] = { 1.0, 0.0, 0.0 } +} + +style "track_rec_enable_button_alternate" = "small_button" +{ + fg[SELECTED] = { 0.0, 0.0, 0.0 } + fg[ACTIVE] = { 0.0, 0.0, 0.0 } + fg[PRELIGHT] = { 0.0, 0.0, 0.0 } + fg[NORMAL] = { 0.0, 0.0, 0.0 } + + bg[NORMAL] = { 0.91, 0.68, 0.68} + bg[ACTIVE] = { 0.91, 0.68, 0.68} + bg[SELECTED] = { 0.91, 0.68, 0.68} + bg[PRELIGHT] = { 0.91, 0.68, 0.68} +} + +style "mixer_track_rec_enable_button" = "track_rec_enable_button" +{ + font_name = "%FONT_SMALLER%" + xthickness = 0 + ythickness = 0 +} + +style "mixer_track_rec_enable_button_alternate" = "track_rec_enable_button_alternate" +{ + font_name = "%FONT_SMALLER%" + xthickness = 0 + ythickness = 0 +} + +style "mixer_track_rec_enable_button_active" = "track_rec_enable_button_active" +{ + font_name = "%FONT_SMALLER%" + xthickness = 0 + ythickness = 0 +} + +style "solo_button" = "small_button" +{ +} + +style "solo_button_alternate" = "small_button" +{ + bg[NORMAL] = { 0.19, 0.97, 0.69 } # solo-safe + bg[ACTIVE] = { 0.19, 0.97, 0.69 } # solo-safe + bg[SELECTED] = { 0.19, 0.97, 0.69 } # solo-safe + bg[PRELIGHT] = { 0.19, 0.97, 0.69 } # solo-safe + + fg[ACTIVE] = { 0, 0, 0 } + fg[SELECTED] = { 0, 0, 0 } + fg[NORMAL] = { 0, 0, 0 } + fg[PRELIGHT] = { 0, 0, 0 } +} + + +style "solo_button_active" = "small_button" +{ + bg[NORMAL] = { 0.66, 0.97, 0.19 } # solo + bg[ACTIVE] = { 0.66, 0.97, 0.19 } # solo + bg[SELECTED] = { 0.66, 0.97, 0.19 } # solo + bg[PRELIGHT] = { 0.66, 0.97, 0.19 } # solo + + fg[ACTIVE] = { 0, 0, 0 } + fg[SELECTED] = { 0, 0, 0 } + fg[NORMAL] = { 0, 0, 0 } + fg[PRELIGHT] = { 0, 0, 0 } +} + +style "mixer_solo_button" = "solo_button" +{ + font_name = "%FONT_SMALLER%" + xthickness = 0 + ythickness = 0 +} + +style "mixer_solo_button_alternate" = "solo_button_alternate" +{ + font_name = "%FONT_SMALLER%" + xthickness = 0 + ythickness = 0 +} +style "mixer_solo_button_active" = "solo_button_active" +{ + font_name = "%FONT_SMALLER%" + xthickness = 0 + ythickness = 0 +} + + +style "mute_button" = "small_button" +{ +} + +style "mute_button_alternate" = "small_button" +{ + bg[ACTIVE] = { 1.0, 0.98, 0.53 } + bg[NORMAL] = { 1.0, 0.98, 0.53 } + bg[SELECTED] = { 1.0, 0.98, 0.53 } + bg[PRELIGHT] = { 1.0, 0.98, 0.53 } + + fg[SELECTED] = { 0, 0, 0 } + fg[ACTIVE] = { 0, 0, 0 } + fg[NORMAL] = { 0, 0, 0 } + fg[PRELIGHT] = { 0, 0, 0 } +} + +style "mute_button_active" = "small_button" +{ + bg[NORMAL] = { 0.90, 0.89, 0.73 } + bg[ACTIVE] = { 0.90, 0.89, 0.73 } + bg[PRELIGHT] = { 0.90, 0.89, 0.73 } + bg[SELECTED] = { 0.90, 0.89, 0.73 } + + fg[SELECTED] = { 0, 0, 0 } + fg[ACTIVE] = { 0, 0, 0 } + fg[NORMAL] = { 0, 0, 0 } + fg[PRELIGHT] = { 0, 0, 0 } +} + +style "mixer_mute_button_alternate" = "mute_button_alternate" +{ + font_name = "%FONT_SMALLER%" + xthickness = 0 + ythickness = 0 +} + +style "mixer_mute_button_active" = "mute_button_active" +{ + font_name = "%FONT_SMALLER%" + xthickness = 0 + ythickness = 0 +} + +style "multiline_combo" = "small_button" +{ + font_name = "%FONT_NORMAL%" + xthickness = 0 + ythickness = 0 +} + +style "mixer_mute_button" = "mute_button" +{ + font_name = "%FONT_SMALLER%" + xthickness = 0 + ythickness = 0 +} + +style "track_loop_button" = "small_button" +{ + bg[ACTIVE] = { 1.0, 0.98, 0.53 } + bg[PRELIGHT] = { 1.0, 0.98, 0.53 } + +} + +style "mixer_red_active_button" = "very_small_button" +{ + fg[ACTIVE] = { 0, 1.0, 1.0 } + bg[ACTIVE] = { 0.7, 0, 0 } + + base[INSENSITIVE] = { 0.80, 0.80, 0.80 } + bg[INSENSITIVE] = { 0.80, 0.80, 0.80 } +} + +style "time_button" = "default_button" +{ + font_name = "%FONT_SMALL%" +} + +style "transport_button" +{ +} + +style "transport_button_active" +{ + bg[NORMAL] = { 0.50, 1.0, 0.50 } + bg[ACTIVE] = { 0.50, 1.0, 0.50 } + bg[SELECTED] = { 0.50, 1.0, 0.50 } + bg[PRELIGHT] = { 0.50, 1.0, 0.50 } + + fg[NORMAL] = { 0, 0, 0 } + fg[PRELIGHT] = { 0, 0, 0 } + fg[SELECTED] = { 0, 0, 0 } + fg[ACTIVE] = { 0, 0, 0 } +} + +style "transport_rec_button" +{ +} + +style "transport_rec_button_active" +{ + bg[ACTIVE] = { 1.0, 0, 0 } + bg[NORMAL] = { 1.0, 0, 0 } + bg[SELECTED] = { 1.0, 0, 0 } + bg[PRELIGHT] = { 1.0, 0, 0 } +} + +style "transport_rec_button_alternate" +{ + bg[PRELIGHT] = { 0.91, 0.68, 0.68 } + bg[NORMAL] = { 0.91, 0.68, 0.68 } + bg[SELECTED] = { 0.91, 0.68, 0.68 } + bg[ACTIVE] = { 0.91, 0.68, 0.68 } +} + +style "shuttle_control" = "very_small_text" +{ + fg[NORMAL] = { 0.85, 0.92, 0.98 } + fg[ACTIVE] = { 0.85, 0.92, 0.98 } + fg[PRELIGHT] = { 0.85, 0.92, 0.98 } + fg[SELECTED] = { 0.85, 0.92, 0.98 } + fg[INSENSITIVE] = { 0.85, 0.92, 0.98 } + + bg[NORMAL] = { 0.26, 0.26, 0.31 } + bg[PRELIGHT] = { 0.26, 0.26, 0.31 } + bg[INSENSITIVE] = { 0.26, 0.26, 0.31 } + bg[ACTIVE] = { 0.70, 0.70, 0.70 } + bg[SELECTED] = { 1.0, 0.04, 0.04 } +} + +style "ardour_adjusters" = "default_generic" +{ + bg[NORMAL] = { 0.60, 0.60, 0.60 } + bg[PRELIGHT] = { 0.80, 0.80, 0.80 } + bg[ACTIVE] = { 0.06, 0.06, 0.06 } +} + +style "editor_hscrollbar" = "ardour_adjusters" +{ + # + # special case: we want this scrollbar to be as tall as the + # zoom focus selector combobox. scrollbars don't expand to + # fill the space available to them, so we have to explicitly + # make it bigger. + # + GtkRange::slider_width = 27 + GtkScrollbar::slider_width = 27 +} + +style "resizer_handle" +{ + fg[NORMAL] = { 0, 0, 0 } + bg[NORMAL] = "#818181" +} + +style "ardour_progressbars" = "default_generic" +{ + bg[NORMAL] = { 0, 0, 0 } + bg[PRELIGHT] = { 0.00, 0.36, 0.40 } +} + +style "preferences" = "default_base" +{ + font_name = "%FONT_NORMAL%" + fg[PRELIGHT] = { 0.80, 0.80, 0.80 } +} + +style "option_entry" = "default_base" +{ + fg[NORMAL] = { 1.0, 1.0, 1.0 } + fg[ACTIVE] = { 1.0, 1.0, 1.0 } + fg[INSENSITIVE] = { 0.80, 0.80, 0.80 } + + base[INSENSITIVE] = { 0.07, 0.07, 0.12 } + + bg[NORMAL] = { 0.35, 0.35, 0.40 } + bg[ACTIVE] = { 0.35, 0.35, 0.40 } +} + +style "red_when_active" = "medium_text" +{ + fg[NORMAL] = { 0, 0, 0 } + bg[NORMAL] = { 0.80, 0.80, 0.80 } + + fg[ACTIVE] = { 0, 0, 0 } + bg[ACTIVE] = { 1.0, 0, 0} +} + +style "xrun_warn" +{ + font_name = "%FONT_BOLD_LARGE%" + + fg[NORMAL] = { 1.0, 1.0, 1.0 } + fg[ACTIVE] = { 1.0, 1.0, 1.0 } + text[NORMAL] = { 1.0, 1.0, 1.0 } + text[ACTIVE] = { 1.0, 1.0, 1.0 } + base[NORMAL] = { 0.09, 0.48, 0.46 } + base[ACTIVE] = { 0.09, 0.48, 0.46 } + bg[NORMAL] = { 1.0, 0.48, 0.46 } + bg[ACTIVE] = { 0.09, 1.0, 0.46 } +} +/* +style "menu_bar_base" = "default_base" +{ + bg[NORMAL] = { 0.2, 0.2, 0.3 } + bg[ACTIVE] = { 0, 0, 0 } + bg[PRELIGHT] = { 0, 0, 0 } + bg[INSENSITIVE] = { 0, 0, 0 } + bg[SELECTED] = { 0, 0, 0 } +} +*/ +style "fatal_message" = "medium_text" +{ + fg[ACTIVE] = { 1.0, 0, 1.0 } + fg[NORMAL] = { 0.80, 0.80, 0.80 } + bg[ACTIVE] = { 0,0,0 } + bg[NORMAL] = { 0,0,0 } + base[ACTIVE] = { 0,0,0 } + base[NORMAL] = { 0,0,0 } +} + +style "error_message" = "medium_text" +{ + fg[ACTIVE] = { 1.0, 0, 0 } + fg[NORMAL] = { 0.80, 0.80, 0.80 } + bg[ACTIVE] = { 0,0,0 } + bg[NORMAL] = { 0,0,0 } + base[ACTIVE] = { 0,0,0 } + base[NORMAL] = { 0,0,0 } +} + +style "info_message" = "medium_text" +{ + fg[ACTIVE] = { 1.0, 0, 0 } + fg[NORMAL] = { 0.80, 0.80, 0.80 } + bg[ACTIVE] = { 0,0,0 } + bg[NORMAL] = { 0,0,0 } + base[ACTIVE] = { 0,0,0 } + base[NORMAL] = { 0,0,0 } +} + +style "warning_message" = "medium_text" +{ + fg[ACTIVE] = { 0.30,0.30, 1.0 } + fg[NORMAL] = { 0.80, 0.80, 0.80 } + bg[ACTIVE] = { 0, 0, 0 } + bg[NORMAL] = { 0, 0, 0 } + base[ACTIVE] = { 0, 0, 0 } + base[NORMAL] = { 0, 0, 0 } +} + +style "medium_entry" = "medium_text" +{ + fg[NORMAL] = { 0, 0, 0 } + fg[ACTIVE] = { 0, 0, 0 } + fg[SELECTED] = { 1.0, 1.0, 1.0 } + + bg[NORMAL] = { 0.70, 0.70, 0.70 } + + base[NORMAL] = { 0.70, 0.70, 0.70 } + base[ACTIVE] = { 0.70, 0.70, 0.70 } + base[SELECTED] = { 0.70, 0.70, 0.70 } +} + +style "medium_entry_noselection_fg" = "medium_entry" +{ + fg[SELECTED] = { 0.50, 1.0, 0.50 } +} + +style "medium_entry_noselection_bg" = "medium_entry" +{ + bg[SELECTED] = { 1.0, 1.0, 1.0 } +} + +style "medium_bold_entry" = "medium_bold_text" +{ + fg[NORMAL] = { 0, 0, 0 } + fg[ACTIVE] = { 0, 0, 0 } + fg[SELECTED] = { 1.0, 1.0, 1.0 } + + bg[NORMAL] = { 0.70, 0.70, 0.70 } + + base[NORMAL] = { 0.70, 0.70, 0.70 } + base[ACTIVE] = { 0.70, 0.70, 0.70 } + base[SELECTED] = { 0.70, 0.70, 0.70 } +} + +style "small_entry" = "small_text" +{ + fg[NORMAL] = { 0, 0, 0 } + fg[ACTIVE] = { 0, 1.0, 0 } + fg[SELECTED] = { 0, 1.0, 0 } + text[NORMAL] = { 0, 0, 0 } + text[ACTIVE] = { 0, 1.0, 0 } + text[SELECTED] = { 0, 1.0, 0 } + bg[NORMAL] = { 0.70, 0.70, 0.70 } + bg[SELECTED] = { 0.70, 0.70, 0.70 } + bg[SELECTED] = { 0.70, 0.70, 0.70 } + base[NORMAL] = { 0.70, 0.70, 0.70 } + base[ACTIVE] = { 0.70, 0.70, 0.70 } + base[SELECTED] = { 0.70, 0.70, 0.70 } +} + +style "red_active_small_entry" = "small_entry" +{ + fg[ACTIVE] = { 1.0, 0.0, 0.0 } + fg[SELECTED] = { 1.0, 0, 0 } +} + +style "small_bold_entry" = "small_bold_text" +{ + fg[NORMAL] = { 0, 0, 0 } + fg[ACTIVE] = { 0, 0, 0 } + fg[SELECTED] = { 1.0, 1.0, 1.0 } + + bg[NORMAL] = { 0.70, 0.70, 0.70 } + + base[NORMAL] = { 0.70, 0.70, 0.70 } + base[ACTIVE] = { 0.70, 0.70, 0.70 } + base[SELECTED] = { 0.70, 0.70, 0.70 } +} + +style "small_red_on_black_entry" = "small_bold_text" +{ + fg[NORMAL] = { 1.0, 0, 0 } + fg[ACTIVE] = { 1.0, 0, 0 } + base[NORMAL] = { 0.0, 0.0, 0.0 } + base[ACTIVE] = { 0.0, 0.0, 0.0 } + bg[NORMAL] = { 0.0, 0.0, 0.0 } + bg[ACTIVE] = { 0.0, 0.0, 0.0 } +} + +style "non_recording_big_clock_display" = "medium_entry" +{ + font_name = "%FONT_MASSIVE%" + + fg[NORMAL] = { 0.50, 1.0, 0.50 } + fg[ACTIVE] = { 1.0, 0, 0.0 } + fg[SELECTED] = { 1.0, 0, 0 } + fg[PRELIGHT] = { 1.0, 0, 0.0 } + fg[INSENSITIVE] = { 1.0, 0, 0.0 } + + base[NORMAL] = { 0.0, 0.0, 0.0 } + base[ACTIVE] = { 0.0, 0.0, 0.0 } + bg[NORMAL] = { 0.0, 0.0, 0.0 } + bg[ACTIVE] = { 0.7, 0.0, 0.0 } +} + +style "recording_big_clock_display" = "non_recording_big_clock_display" +{ + fg[NORMAL] = { 1.0, 0, 0 } +} + +style "transport_clock_display" +{ + font_name = "%FONT_BOLD_BIGGER%" + + fg[NORMAL] = { 0.50, 1.0, 0.50 } + fg[ACTIVE] = { 1.0, 0, 0.0 } + fg[SELECTED] = { 1.0, 0, 0 } + fg[PRELIGHT] = { 1.0, 0, 0.0 } + fg[INSENSITIVE] = { 1.0, 0, 0.0 } + + base[NORMAL] = { 0.0, 0.0, 0.0 } + base[ACTIVE] = { 0.0, 0.0, 0.0 } + bg[NORMAL] = { 0.0, 0.0, 0.0 } + bg[ACTIVE] = { 0.0, 0.0, 0.0 } +} + +style "transport_clock_display_delta" = "transport_clock_display" +{ + fg[NORMAL] = { 0.30, 0.30, 1.0 } +} + +style "tempo_meter_clock_display" +{ + font_name = "%FONT_SMALLER%" + fg[NORMAL] = { 1.0, 1.0, 1.0 } + fg[ACTIVE] = { 1.0, 1.0, 0.0 } + fg[SELECTED] = { 1.0, 0, 0 } + base[NORMAL] = { 0.0, 0.48, 1.0 } + base[ACTIVE] = { 0.09, 0.98, 0.46 } + bg[NORMAL] = { 0.0, 0.48, 1.0 } + bg[ACTIVE] = { 0.09, 0.98, 0.46 } +} + +style "default_clock_display" = "medium text" +{ + fg[NORMAL] = { 0.50, 1.0, 0.50 } + fg[ACTIVE] = { 1.0, 0.0, 0.0 } + fg[SELECTED] = { 1.0, 0, 0 } + base[NORMAL] = { 0, 0, 0 } + base[ACTIVE] = { 0, 0, 0 } + bg[NORMAL] = { 0, 0, 0 } + bg[ACTIVE] = { 0, 0, 0 } +} + +style "editor_time_ruler" = "small_text" +{ + fg[NORMAL] = { 0, 0, 0 } + bg[NORMAL] = { 0.74, 0.74, 0.77 } +} + +style "audio_bus_base" +{ + font_name = "%FONT_SMALLER%" + fg[NORMAL] = { 0, 0, 0 } + bg[NORMAL] = { 0.65, 0.65, 0.65 } +} + +style "audio_track_base" = "default_base" +{ + font_name = "%FONT_SMALLER%" + fg[NORMAL] = { 0.30, 0.30, 0.35 } + bg[NORMAL] = { 0.70, 0.70, 0.70 } + bg[ACTIVE] = { 0.80, 0.80, 0.80 } + bg[PRELIGHT] = { 0.80, 0.80, 0.80 } + bg[INSENSITIVE] = { 0.80, 0.80, 0.80 } + bg[SELECTED] = { 0.80, 0.80, 0.80 } +} + +style "midi_bus_base" +{ + font_name = "%FONT_SMALLER%" + fg[NORMAL] = { 0.77, 0.77, 0.72 } + fg[NORMAL] = { 0.7, 0.8, 0.2 } + #bg[NORMAL] = {0, 0.36, 0.40 } + bg[NORMAL] = "#444466" +} + +style "midi_track_base" = "default_base" +{ + font_name = "%FONT_SMALLER%" + fg[NORMAL] = { 0.77, 0.77, 0.72 } + bg[NORMAL] = { 0.48, 0.30, 0.32 } + bg[ACTIVE] = { 0.70, 0.70, 0.80 } + bg[PRELIGHT] = { 0.70, 0.70, 0.80 } + bg[INSENSITIVE] = { 0.70, 0.70, 0.80 } + bg[SELECTED] = { 0.70, 0.70, 0.80 } +} + +style "track_controls_inactive" +{ + bg[NORMAL] = { 0.60, 0.60, 0.66 } + bg[ACTIVE] = { 0.60, 0.60, 0.66 } + bg[INSENSITIVE] = { 0.60, 0.60, 0.66 } + bg[SELECTED] = { 0.60, 0.60, 0.66 } + bg[PRELIGHT] = { 0.60, 0.60, 0.66 } + + #font_name = "sans 18" + fg[NORMAL] = { 0.7, 0.8, 0.2 } +} + +style "audio_track_metrics" = "audio_track_base" +{ + font_name = "%FONT_TINY%" +} + +style "audio_bus_metrics" = "audio_bus_base" +{ + font_name = "%FONT_TINY%" +} + +style "audio_track_metrics_inactive" = "track_controls_inactive" +{ + font_name = "%FONT_TINY%" +} + +style "audio_bus_metrics_inactive" = "track_controls_inactive" +{ + font_name = "%FONT_TINY%" +} + +style "track_name_display" +{ + font_name = "%FONT_NORMAL%" + fg[NORMAL] = { 0.80, 0.80, 0.80 } + fg[ACTIVE] = { 0.80, 0.80, 0.80 } + text[INSENSITIVE] = { 0.70, 0.70, 0.70 } + + base[NORMAL] = { 0.80, 0.80, 0.80 } + base[ACTIVE] = { 0.80, 0.80, 0.80 } + bg[NORMAL] = { 0.80, 0.80, 0.80 } + bg[ACTIVE] = { 0.80, 0.80, 0.80 } +} + +style "active_track_name_display" +{ + font_name = "%FONT_NORMAL%" + text[NORMAL] = { 0.26, 0.26, 0.26 } + base[NORMAL] = { 0.89, 0.89, 0.89 } +} + +style "track_separator" +{ + bg[NORMAL] = { 0.35, 0.35, 0.40 } +} + +# +# Track edit groups. These styles define +# the colors that the "edit" button will +# use as a track is moved from +# track edit group to track edit group. +# There are 8 edit groups. Edit group 0 +# is used for tracks that are not editable, +# so we leave its style to the default. +# + +style "edit_group_0" + +{ + bg[ACTIVE] = { 1.0, 0.65, 0.13 } + bg[NORMAL] = { 0.31, 0.31, 0.31 } + fg[NORMAL] = { 0.82, 0.91, 0.99 } + fg[ACTIVE] = { 0, 0, 0 } +} + +style "edit_group_1" +{ + fg[NORMAL] = { 0, 0, 0 } + fg[PRELIGHT] = { 0, 0, 0 } + fg[SELECTED] = { 0, 0, 0 } + bg[NORMAL] = { 0.93, 0.34, 0.08 } + bg[PRELIGHT] = { 0.93, 0.34, 0.08 } + bg[SELECTED] = { 0.93, 0.34, 0.08 } +} + +style "edit_group_2" +{ + fg[NORMAL] = { 0, 0, 0 } + fg[PRELIGHT] = { 0, 0, 0 } + fg[SELECTED] = { 0, 0, 0 } + bg[NORMAL] = { 0.93, 0.34, 0.08 } + bg[PRELIGHT] = { 0.93, 0.34, 0.08 } + bg[SELECTED] = { 0.93, 0.34, 0.08 } +} + +style "edit_group_3" +{ + fg[NORMAL] = { 0, 0, 0 } + fg[PRELIGHT] = { 0, 0, 0 } + fg[SELECTED] = { 0, 0, 0 } + bg[NORMAL] = { 0.93, 0.34, 0.08 } + bg[PRELIGHT] = { 0.93, 0.34, 0.08 } + bg[SELECTED] = { 0.93, 0.34, 0.08 } +} + +style "treeview_parent_node" +{ + # specifies *just* the color used for whole file rows when not selected + fg[NORMAL] = { 0.0, 0.0, 1.0 } +} + +style "treeview_display" = "small_bold_text" +{ + # expander arrow border and DnD "icon" text + fg[NORMAL] = { 0, 0, 0 } + + # background with no rows or no selection, plus + # expander arrow core and DnD "icon" background + base[NORMAL] = { 0.20, 0.20, 0.25 } + + # selected row bg when window does not have focus (including during DnD) + base[ACTIVE] = { 0.0, 0.60, 0.60 } + + # selected row bg when window has focus + base[SELECTED] = { 0, 0.75, 0.75 } + + # row text when in normal state and not a parent + text[NORMAL] = { 0, 0, 0 } + + # selected row text with window focus + text[SELECTED] = { 0, 1.0, 1.0 } + + # selected row text without window focus (including during DnD) + text[ACTIVE] = { 0, 1.0, 1.0 } +} + +style "main_canvas_area" +{ + bg[NORMAL] = { 0.40, 0.40, 0.40 } + bg[ACTIVE] = { 0.40, 0.40, 0.40 } + bg[INSENSITIVE] = { 0.40, 0.40, 0.40 } + bg[SELECTED] = { 0.40, 0.40, 0.40 } + bg[PRELIGHT] = { 0.40, 0.40, 0.40 } +} + +style "track_controls_inactive" +{ + bg[NORMAL] = { 0.60, 0.60, 0.66 } + bg[ACTIVE] = { 0.60, 0.60, 0.66 } + bg[INSENSITIVE] = { 0.60, 0.60, 0.66 } + bg[SELECTED] = { 0.60, 0.60, 0.66 } + bg[PRELIGHT] = { 0.60, 0.60, 0.66 } + + font_name = "%FONT_LARGE%" + fg[NORMAL] = { 0.7, 0.8, 0.2 } +} + +style "edit_controls_base_selected" +{ + bg[NORMAL] = { 0.60, 0.54, 0.60 } + bg[ACTIVE] = { 0.60, 0.54, 0.60 } + bg[INSENSITIVE] = { 0.60, 0.54, 0.60 } + bg[SELECTED] = { 0.60, 0.54, 0.60 } + bg[PRELIGHT] = { 0.60, 0.54, 0.60 } +} + +style "automation_track_controls_base" +{ + bg[NORMAL] = { 0.22, 0.22, 0.29 } + bg[ACTIVE] = { 0.22, 0.22, 0.29 } + bg[INSENSITIVE] = { 0.22, 0.22, 0.29 } + bg[SELECTED] = { 0.22, 0.22, 0.29 } + bg[PRELIGHT] = { 0.22, 0.22, 0.29 } +} + +# Plugin Editors +style "plugin_slider" +{ + font_name ="%FONT_BOLD_BIG%" + + # the slider itself. the inactive part is INSENSITIVE, + # the active part is something else. + + fg[NORMAL] = { 0.37, 0.43, 0.52 } + fg[ACTIVE] = { 0.37, 0.43, 0.52 } + fg[INSENSITIVE] = {0.35, 0.35, 0.40 } # matches default_base + fg[SELECTED] = { 0.37, 0.43, 0.52 } + fg[PRELIGHT] = { 0.37, 0.43, 0.52 } + + # draws the outer rectangle around the slider + + bg[NORMAL] = { 0.80, 0.80, 0.80 } + bg[ACTIVE] = { 0.80, 0.80, 0.80 } + bg[INSENSITIVE] = {0.80, 0.80, 0.80 } + bg[SELECTED] = { 0.80, 0.80, 0.80 } + bg[PRELIGHT] = { 0.80, 0.80, 0.80 } + + # the numeric display + + text[NORMAL] = { 0.80, 0.80, 0.80 } + text[ACTIVE] = { 0.80, 0.80, 0.80 } + text[INSENSITIVE] = { 0.80, 0.80, 0.80 } + text[SELECTED] = { 0.80, 0.80, 0.80 } + text[PRELIGHT] = { 0.80, 0.80, 0.80 } +} + +style "track_list_display" = "small_bold_text" +{ + text[NORMAL] = { 0.80, 0.80, 0.80 } + text[ACTIVE] = { 0.3, 0.3, 0.3 } + text[INSENSITIVE] = { 0, 0, 0 } + text[SELECTED] = { 0.8, 0.8, 0.8 } + + base[NORMAL] = { 0.70, 0.70, 0.70 } + base[ACTIVE] = { 0.70, 0.70, 0.70 } + base[INSENSITIVE] = { 0.70, 0.70, 0.70 } + base[SELECTED] = { 0.70, 0.70, 0.70 } +} + +style "inspector_track_list_display" = "track_list_display" +{ + text[ACTIVE] = { 0.8, 0.8, 0.8 } + + base[NORMAL] = { 0.70, 0.70, 0.70 } + base[ACTIVE] = { 0.2, 0.2, 0.2 } + base[INSENSITIVE] = { 0.70, 0.70, 0.70 } + base[SELECTED] = { 0.3, 0.3, 0.4 } +} + +style "redirect_list_display" +{ + GtkTreeView::horizontal-separator = 0 + GtkTreeView::vertical-separator = 0 + + font_name = "%FONT_SMALL%" + text[NORMAL] = { 0.80, 0.80, 0.80 } + text[ACTIVE] = { 0.70, 0.70, 0.70 } + text[INSENSITIVE] = { 0, 0, 0 } + text[SELECTED] = { 0.9, 0.3, 0.3 } + + base[NORMAL] = { 0.70, 0.70, 0.70 } + base[ACTIVE] = { 0.70, 0.70, 0.70 } + base[INSENSITIVE] = { 0.70, 0.70, 0.70 } + base[SELECTED] = { 0.70, 0.70, 0.70 } + + # these two are explicitly used by the cell renderer for the + # text + + fg[NORMAL] = { 0.5, 0.5, 0.5 } # used for inactive + fg[ACTIVE] = { 0, 0, 0 } # used for active +} + +style "inspector_redirect_list_display" = "redirect_list_display" +{ + base[SELECTED] = { 0.3, 0.3, 0.3 } +} + +# MixerPanZone: +# +# the NORMAL fg color is used for the pan puck +# the ACTIVE fg color is used for the speaker boxes + +style "pan_zone" = "default_base" +{ + fg[NORMAL] = { 0.34, 0.95, 0.92 } + fg[ACTIVE] = { 0.95, 0.48, 0.11 } +} + +style "paler_red_when_active" = "medium_text" +{ + fg[NORMAL] = { 0.80, 0.80, 0.80 } + fg[PRELIGHT] = { 0.80, 0.80, 0.80 } + bg[NORMAL] = { 0.31, 0.31, 0.31 } + bg[PRELIGHT] = { 0.31, 0.31, 0.31 } + + fg[ACTIVE] = { 0.36, 0.46, 0.28 } + bg[ACTIVE] = { 1.00, 0.59, 0.59} +} + +style "peak_display_peaked_entry" = "small_text" +{ + fg[NORMAL] = { 1.0, 1.0, 1.0 } + fg[ACTIVE] = { 1.0, 1.0, 1.0 } + fg[SELECTED] = { 1.0, 1.0, 1.0 } + + bg[NORMAL] = {0.9, 0.0, 0.0 } + bg[ACTIVE] = { 0.9, 0.0, 0.0 } + bg[PRELIGHT] = { 0.9, 0.0, 0.0 } + bg[INSENSITIVE] = { 0.9, 0.0, 0.0 } + bg[SELECTED] = { 0.9, 0.0, 0.0 } + base[NORMAL] = { 0.9, 0.0, 0.0 } + base[ACTIVE] = { 0.9, 0.0, 0.0 } + base[PRELIGHT] = { 0.9, 0.0, 0.0 } + base[INSENSITIVE] = { 0.9, 0.0, 0.0 } + base[SELECTED] = { 0.9, 0.0, 0.0 } +} + +style "selected_strip_frame" +{ + fg[NORMAL] = { 0.74, 0.42, 0.47 } + bg[NORMAL] = { 0.79, 0.28, 0.18 } +} + +style "flashing_alert" = "very_small_text" +{ + fg[NORMAL] = { 0, 0, 0 } + bg[NORMAL] = { 0.80, 0.80, 0.80 } + + fg[ACTIVE] = { 0, 0, 0 } + bg[ACTIVE] = { 1.0, 0, 0} +} + +style "selected_io_selector_port_list" = "medium_bold_text" +{ + + GtkTreeView::even-row-color = { 0.70, 0.70, 0.70 } + GtkTreeView::odd-row-color = { 0.70, 0.70, 0.70 } + +# fg is used to color the fg (text) of the column header button + + fg[NORMAL] = { 0.30, 0.30, 0.35 } + fg[SELECTED] = { 0.30, 0.30, 0.35 } + fg[ACTIVE] = { 0.30, 0.30, 0.35 } + fg[PRELIGHT] = { 0.30, 0.30, 0.35 } + fg[INSENSITIVE] = { 0.30, 0.30, 0.35 } + +# bg is used used to color the background of the column header button + + bg[NORMAL] = { 0.80, 0.80, 0.80 } + bg[ACTIVE] = { 0.80, 0.80, 0.80 } + bg[PRELIGHT] = { 0.80, 0.80, 0.80 } + bg[INSENSITIVE] = { 0.80, 0.80, 0.80 } + bg[SELECTED] = { 0.80, 0.80, 0.80 } + +# text is used to color the treeview row text + + text[NORMAL] = { 0.30, 0.30, 0.35 } + text[SELECTED] = { 0.30, 0.30, 0.35 } + +# base is used to color a treeview with no rows + + base[NORMAL] = { 0.70, 0.70, 0.70 } + base[ACTIVE] = { 0.70, 0.70, 0.70 } + base[PRELIGHT] = { 0.70, 0.70, 0.70 } + base[INSENSITIVE] = { 0.70, 0.70, 0.70 } + base[SELECTED] = { 0.70, 0.70, 0.70 } + +} + +style "io_selector_port_list" = "medium_text" +{ + GtkTreeView::even-row-color = { 0.70, 0.70, 0.70 } + GtkTreeView::odd-row-color = { 0.70, 0.70, 0.70 } +# fg is used to color the fg (text) of the column header button + + fg[NORMAL] = { 0.30, 0.30, 0.35 } + fg[SELECTED] = { 0.30, 0.30, 0.35 } + fg[ACTIVE] = { 0.30, 0.30, 0.35 } + fg[PRELIGHT] = { 0.30, 0.30, 0.35 } + fg[INSENSITIVE] = { 0.30, 0.30, 0.35 } + +# bg is used used to color the background of the column header button + + bg[NORMAL] = { 0.80, 0.80, 0.80 } + bg[ACTIVE] = { 0.80, 0.80, 0.80 } + bg[PRELIGHT] = { 0.80, 0.80, 0.80 } + bg[INSENSITIVE] = { 0.80, 0.80, 0.80 } + bg[SELECTED] = { 0.80, 0.80, 0.80 } + +# text is used to color the treeview row text + + text[NORMAL] = { 0.30, 0.30, 0.35 } + text[SELECTED] = { 0.30, 0.30, 0.35 } + +# base is used to color a treeview with no rows + + base[NORMAL] = { 0.20, 0.20, 0.25 } + base[ACTIVE] = { 0.20, 0.20, 0.25 } + base[PRELIGHT] = { 0.20, 0.20, 0.25 } + base[INSENSITIVE] = { 0.20, 0.20, 0.25 } + base[SELECTED] = { 0.20, 0.20, 0.25 } +} + +style "io_selector_notebook" = "default_base" +{ + fg[NORMAL] = { 1.0, 1.0, 1.0 } + font_name ="%FONT_BOLD_NORMAL%" +} + +style "tearoff_arrow" = "medium_bold_entry" +{ + fg[NORMAL] = { 0.30, 0.30, 0.30 } + fg[PRELIGHT] = { 0.30, 0.30, 0.30 } + bg[NORMAL] = { 0.30, 0.30, 0.30 } + bg[PRELIGHT] = { 0.30, 0.30, 0.30 } +} + +style "location_row_button" = "default_button" +{ + font_name = "%FONT_NORMAL%" +} + +style "location_rows_clock" = "default_clock_display" +{ + font_name = "%FONT_BIG%" +} + +style "pan_slider" +{ + font_name = "%FONT_NORMAL%" + + fg[NORMAL] = { 0.22, 0.73, 0.22 } + fg[ACTIVE] = { 0.22, 0.73, 0.22 } + fg[INSENSITIVE] = {0.22, 0.53, 0.22 } + fg[SELECTED] = { 0.67, 0.23, 0.22 } + fg[PRELIGHT] = { 0.67, 0.23, 0.22 } + + bg[NORMAL] = { 0.05, 0.05, 0.05 } + bg[ACTIVE] = { 0, 0, 0 } + bg[INSENSITIVE] = {0.12, 0.19, 0.25 } + bg[SELECTED] = { 0, 0, 0 } + bg[PRELIGHT] = { 0, 0, 0 } + + text[NORMAL] = { 0.70, 0.70, 0.70 } + text[ACTIVE] = { 0.70, 0.70, 0.70 } + text[INSENSITIVE] = { 0.70, 0.70, 0.70 } + text[SELECTED] = { 0.70, 0.70, 0.70 } + text[PRELIGHT] = { 0.70, 0.70, 0.70 } + + # used to draw the triangular indicators + + base[NORMAL] = { 0.80, 0.80, 0.80 } + base[ACTIVE] = { 0.80, 0.80, 0.80 } + base[INSENSITIVE] = {0.6, 0.6, 0.6 } + base[SELECTED] = { 0.80, 0.80, 0.80 } + base[PRELIGHT] = { 0.80, 0.80, 0.80 } + +} + +style "ardour_button" ="default_button" +{ + xthickness = 1 + ythickness = 1 +} + +#--------------------------------------------------------------- + +class "GtkWidget" style:highest "default_base" +class "GtkScrollbar" style:highest "ardour_adjusters" +class "GtkLabel" style:highest "default_generic" +class "GtkButton" style:highest "ardour_button" +class "GtkArrow" style:highest "tearoff_arrow" +class "GtkProgressBar" style:highest "ardour_progressbars" + +widget "*FirstActionMessage" style:highest "first_action_message" +widget "*VerboseCanvasCursor" style:highest "verbose_canvas_cursor" +widget "*MarkerText" style:highest "marker_text" +widget "*TimeAxisViewItemName*" style:highest "time_axis_view_item_name" +#widget "*ExportProgress" style:highest "default_generic" +widget "*ExportFileLabel" style:highest "small_bold_text" +widget "*ExportFormatLabel" style:highest "medium_bold_text" +widget "*ExportHeader" style:highest "small_bold_text" +widget "*ExportFileDisplay" style:highest "medium_entry" +widget "*ExportFormatDisplay" style:highest "medium_entry" +widget "*ExportCheckbox" style:highest "small_entry" +widget "*ExportTrackSelector*" style:highest "medium_entry_noselection_bg" +widget "*EditModeSelector" style:highest "medium_bold_entry" +widget "*SnapTypeSelector" style:highest "medium_bold_entry" +widget "*SnapModeSelector" style:highest "medium_bold_entry" +widget "*ZoomFocusSelector" style:highest "medium_bold_entry" +widget "*ArdourContextMenu*" style:highest "default_menu" +widget "*EditGroupTitleButton*" style:highest "default_button" +widget "*MixerGroupTitleButton*" style:highest "default_button" +widget "*ErrorLogCloseButton" style:highest "default_button" +widget "*EditorGTKButton*" style:highest "default_button" +widget "*ToolbarButton" style:highest "default_button" +widget "*ToolbarButton*" style:highest "default_button" +widget "*CrossfadeEditButton" style:highest "default_button" +widget "*CrossfadeEditButton*" style:highest "default_button" +widget "*TrackHistoryButton*" style:highest "default_button" +widget "*TrackSizeButton*" style:highest "default_button" +widget "*TrackPlaylistButton*" style:highest "default_button" +widget "*TrackAutomationButton*" style:highest "default_button" +widget "*TrackGroupButton*" style:highest "default_button" +widget "*TrackMixButton*" style:highest "default_button" +widget "*TrackVisualButton*" style:highest "default_button" +widget "*TrackRemoveButton*" style:highest "default_button" +widget "*BaseButton" style:highest "default_button" +widget "*TakeButtonLabel" style:highest "default_generic" +widget "*MixerWidthButton" style:highest "default_button" +widget "*MixerHideButton" style:highest "default_button" +widget "*MixerSendButton" style:highest "default_button" +widget "*MixerSendButtonLabel" style:highest "default_button" +widget "*MixerSendSwitch" style:highest "default_button" +widget "*MixerInsertButton" style:highest "default_button" +widget "*MixerInsertButtonLabel" style:highest "default_button" +widget "*MixerInsertSwitch" style:highest "default_button" +widget "*MixerMonitorInputButton*" style:highest "very_small_button" +widget "*MixerMonitorInputButton.*" style:highest "very_small_button" +widget "*MixerIOButton" style:highest "very_small_button" +widget "*MixerIOButtonLabel" style:highest "very_small_button" +widget "*AddRouteDialogSpinner" style:highest "ardour_adjusters" +widget "*AddRouteDialogRadioButton*" style:highest "preferences" +widget "*OptionsNotebook" style:highest "preferences" +widget "*OptionEditorToggleButton*" style:highest "preferences" +widget "*OptionsLabel" style:highest "preferences" +widget "*OptionEditorAuditionerLabel" style:highest "preferences" +widget "*OptionsEntry" style:highest "option_entry" +widget "*InspectorNotebook" style:highest "preferences" +widget "*NewSessionDialog" style:highest "preferences" +widget "*NewSessionDialogButton*" style:highest "preferences" +widget "*MixerSendSwitch*" style:highest "very_small_red_active_and_selected_button" +widget "*OptionEditorToggleButton" style:highest "small_red_active_and_selected_button" +widget "*NewSessionDialogButton" style:highest "small_red_active_and_selected_button" +widget "*RecordEnableButton" style:highest "track_rec_enable_button" +widget "*RecordEnableButton-active" style:highest "track_rec_enable_button_active" +widget "*RecordEnableButton-alternate" style:highest "track_rec_enable_button_alternate" +widget "*MixerRecordEnableButton" style:highest "mixer_track_rec_enable_button" +widget "*MixerRecordEnableButton-active" style:highest "mixer_track_rec_enable_button_active" +widget "*MixerRecordEnableButton-alternate" style:highest "mixer_track_rec_enable_button_alternate" +widget "*MuteButton" style:highest "mute_button" +widget "*MuteButton-alternate" style:highest "mute_button_alternate" +widget "*MuteButton-active" style:highest "mute_button_active" +widget "*MixerMuteButton" style:highest "mixer_mute_button" +widget "*MixerMuteButton-alternate" style:highest "mixer_mute_button_alternate" +widget "*MixerMuteButton-active" style:highest "mixer_mute_button_active" +widget "*SoloButton" style:highest "solo_button" +widget "*SoloButton-alternate" style:highest "solo_button_alternate" +widget "*SoloButton-active" style:highest "solo_button_active" +widget "*MixerSoloButton" style:highest "mixer_solo_button" +widget "*MixerSoloButton-alternate" style:highest "mixer_solo_button_alternate" +widget "*MixerSoloButton-active" style:highest "mixer_solo_button_active" +widget "*TrackLoopButton*" style:highest "track_loop_button" +widget "*PanAutomationLineSelector*" style:highest "multiline_combo" +widget "*EditorTimeButton*" style:highest "time_button" +widget "*MixerPhaseInvertButton*" style:highest "very_small_button" +widget "*MixerPhaseInvertButton.*" style:highest "very_small_button" +widget "*MixerAutomationRecordingButton*" style:highest "very_small_button" +widget "*MixerAutomationRecordingButton.*" style:highest "very_small_button" +widget "*MixerAutomationModeButton*" style:highest "very_small_button" +widget "*MixerAutomationModeButton.*" style:highest "very_small_button" +widget "*MixerAutomationPlaybackButton*" style:highest "very_small_button" +widget "*MixerAutomationPlaybackButton.*" style:highest "very_small_button" +widget "*MixerNameButton" style:highest "very_small_button" +widget "*MixerNameButtonLabel" style:highest "very_small_button" +widget "*MixerGroupButton" style:highest "very_small_button" +widget "*MixerGroupButtonLabel" style:highest "very_small_button" +widget "*MixerCommentButton" style:highest "very_small_button" +widget "*MixerCommentButton*" style:highest "very_small_button" +widget "*EditGroupButton" style:highest "very_small_button" +widget "*EditGroupButtonLabel" style:highest "very_small_button" +widget "*TransportButton" style:highest "transport_rec_button" +widget "*TransportButton-active" style:highest "transport_button_active" +widget "*ShuttleButton" style:highest "transport_button" +widget "*ShuttleButton*" style:highest "transport_button" +widget "*ShuttleDisplay" style:highest "transport_button" +widget "*ShuttleDisplay*" style:highest "transport_button" +widget "*ShuttleControl" style:highest "shuttle_control" +widget "*TransportRecButton" style:highest "transport_rec_button" +widget "*TransportRecButton*" style:highest "transport_rec_button" +widget "*TransportRecButton-active" style:highest "transport_rec_button_active" +widget "*TransportRecButton-active*" style:highest "transport_rec_button_active" +widget "*TransportRecButton-alternate" style:highest "transport_rec_button_alternate" +widget "*TransportRecButton-alternate*" style:highest "transport_rec_button_alternate" +widget "*TransportRecButton*" style:highest "transport_rec_button" +widget "*RecordingXrunWarningWindow" style:highest "xrun_warn" +widget "*RecordingXrunWarningWindow*" style:highest "xrun_warn" +/*widget "*MainMenuBar" style:highest "menu_bar_base"*/ +widget "*ErrorMessage" style:highest "error_message" +widget "*FatalMessage" style:highest "fatal_message" +widget "*InfoMessage" style:highest "info_message" +widget "*WarningMessage" style:highest "warning_message" +widget "*BigClockNonRecording" style:highest "non_recording_big_clock_display" +widget "*BigClockRecording" style:highest "recording_big_clock_display" +widget "*TransportClockDisplay" style:highest "transport_clock_display" +widget "*SecondaryClockDisplay" style:highest "transport_clock_display" +widget "*TransportClockDisplayDelta" style:highest "transport_clock_display_delta" +widget "*SecondaryClockDisplayDelta" style:highest "transport_clock_display_delta" +widget "*AudioClockFramesUpperInfo" style:highest "tempo_meter_clock_display" +widget "*AudioClockFramesLowerInfo" style:highest "tempo_meter_clock_display" +widget "*AudioClockSMPTEUpperInfo" style:highest "tempo_meter_clock_display" +widget "*AudioClockSMPTELowerInfo" style:highest "tempo_meter_clock_display" +widget "*AudioClockBBTUpperInfo" style:highest "tempo_meter_clock_display" +widget "*AudioClockBBTLowerInfo" style:highest "tempo_meter_clock_display" +widget "*SelectionStartClock" style:highest "default_clock_display" +widget "*SelectionEndClock" style:highest "default_clock_display" +widget "*EditPointClock" style:highest "default_clock_display" +widget "*PreRollClock" style:highest "default_clock_display" +widget "*PostRollClock" style:highest "default_clock_display" +widget "*NudgeClock" style:highest "default_clock_display" +widget "*InsertTimeClock" style:highest "default_clock_display" +widget "*ZoomRangeClock" style:highest "default_clock_display" +widget "*SMPTEOffsetClock" style:highest "default_clock_display" +widget "*TransportLabel" style:highest "small_bold_text" +widget "*TakeLabel" style:highest "small_bold_text" +widget "*LocationLabel" style:highest "small_bold_text" +widget "*WipeLabel" style:highest "small_bold_text" +widget "*TakeTagLabel" style:highest "small_bold_text" +widget "*ToolBarLabel" style:highest "small_bold_text" +widget "*EditorDisplayLabel" style:highest "small_bold_text" +widget "*NewSessionLabel" style:highest "large_text" +widget "*GlobalButtonLabel" style:highest "default_generic" +widget "*ClickButton" style:highest "medium_entry" +widget "*RegionNameDisplay" style:highest "medium_entry" +widget "*PluginDisplay" style:highest "medium_entry" +widget "*SelectionDisplay" style:highest "medium_entry" +widget "*HistorySelector" style:highest "medium_entry" +widget "*LocationSelector" style:highest "medium_entry" +widget "*TakeSelector" style:highest "medium_entry" +widget "*RegionSelector" style:highest "medium_entry" +widget "*SMPTERuler" style:highest "editor_time_ruler" +widget "*BBTRuler" style:highest "editor_time_ruler" +widget "*FramesRuler" style:highest "editor_time_ruler" +widget "*MinSecRuler" style:highest "editor_time_ruler" +widget "*BaseFrame" style:highest "base_frame" + +widget "*AudioTrackStripBase" style:highest "audio_track_base" +widget "*AudioBusStripBase" style:highest "audio_bus_base" +widget "*MidiTrackStripBase" style:highest "midi_track_base" +widget "*AudioTrackStripBaseInactive" style:highest "track_controls_inactive" +widget "*AudioBusStripBaseInactive" style:highest "track_controls_inactive" +widget "*MidiTrackStripBaseInactive" style:highest "track_controls_inactive" +widget "*FaderMetricsStrip" style:highest "audio_track_metrics" +widget "*AudioTrackMetrics" style:highest "audio_track_metrics" +widget "*AudioBusMetrics" style:highest "audio_bus_metrics" +widget "*AudioTrackMetricsInactive" style:highest "audio_track_metrics_inactive" +widget "*AudioBusMetricsInactive" style:highest "audio_bus_metrics_inactive" + +widget "*TimeAxisViewControlsBaseUnselected" style:highest "audio_track_base" +widget "*AudioTrackControlsBaseUnselected" style:highest "audio_track_base" +widget "*MidiTrackControlsBaseUnselected" style:highest "midi_track_base" +widget "*AudioTrackFader" style:highest "gain_fader" + +widget "*BusControlsBaseUnselected" style:highest "audio_bus_base" +widget "*AudioBusFader" style:highest "gain_fader" +widget "*TrackSeparator" style:highest "track_separator" +widget "*TrackEditIndicator0*" style:highest "edit_group_0" +widget "*TrackEditIndicator1*" style:highest "edit_group_1" +widget "*TrackEditIndicator2*" style:highest "edit_group_2" +widget "*TrackEditIndicator3*" style:highest "edit_group_3" +widget "*TrackEditIndicator4*" style:highest "edit_group_3" +widget "*TrackEditIndicator5*" style:highest "edit_group_3" +widget "*TrackEditIndicator6*" style:highest "edit_group_3" +widget "*TrackEditIndicator7*" style:highest "edit_group_3" +widget "*EditorTrackNameDisplay" style:highest "track_name_display" +widget "*EditorTrackNameDisplay*" style:highest "track_name_display" +widget "*EditorActiveTrackNameDisplay" style:highest "active_track_name_display" +widget "*EditorActiveTrackNameDisplay*" style:highest "active_track_name_display" +widget "*CrossfadeEditAuditionButton" style:highest "red_when_active" +widget "*CrossfadeEditAuditionButton*" style:highest "red_when_active" +widget "*CrossfadeEditCurveButton" style:highest "red_when_active" +widget "*CrossfadeEditCurveButton*" style:highest "red_when_active" +widget "*CrossfadeEditLabel" style:highest "medium_text" +widget "*CrossfadeEditFrame" style:highest "base_frame" +widget "*MouseModeButton" style:highest "default_button" +widget "*MouseModeButton*" style:highest "default_button" +widget "*EditorMainCanvas" style:highest "main_canvas_area" +widget "*AudioTrackControlsBaseInactiveUnselected" style:highest "track_controls_inactive" +widget "*BusControlsBaseInactiveUnselected" style:highest "track_controls_inactive" +widget "*AutomationTrackControlsBaseInactiveUnselected" style:highest "track_controls_inactive" +widget "*AutomationTrackName" style:highest "automation_track_name" +widget "*AudioTrackControlsBaseInactiveSelected" style:highest "track_controls_inactive" +widget "*BusControlsBaseInactiveSelected" style:highest "track_controls_inactive" +widget "*AutomationTrackControlsBaseInactiveSelected" style:highest "track_controls_inactive" +widget "*AudioTrackControlsBaseSelected" style:highest "edit_controls_base_selected" +widget "*MidiTrackControlsBaseSelected" style:highest "edit_controls_base_selected" +widget "*BusControlsBaseSelected" style:highest "edit_controls_base_selected" +widget "*AutomationTrackControlsBase" style:highest "automation_track_controls_base" +widget "*AutomationTrackControlsBaseSelected" style:highest "edit_controls_base_selected" +/*widget "*EditorMenuBar*" style:highest "black_mackie_menu_bar" +widget "*MainMenuBar*" style:highest "black_mackie_menu_bar" +*/ +widget "*ZoomClickBox" style:highest "medium_bold_entry" +widget "*PluginParameterLabel" style:highest "medium_text" +widget "*PluginNameInfo" style:highest "plugin_name_text" +widget "*PluginMakerInfo" style:highest "plugin_maker_text" +widget "*PluginParameterInfo" style:highest "medium_text" +widget "*MotionControllerValue" style:highest "medium_entry" +widget "*ParameterValueDisplay" style:highest "medium_bold_entry" +widget "*PluginUIClickBox" style:highest "medium_bold_entry" +widget "*PluginUIClickBox*" style:highest "medium_bold_entry" +widget "*PluginSlider" style:highest "plugin_slider" +widget "*RedirectSelector" style:highest "redirect_list_display" +widget "*RedirectSelector.*" style:highest "redirect_list_display" +widget "*EditGroupDisplay" style:highest "treeview_display" +widget "*TrackListDisplay" style:highest "treeview_display" +widget "*RegionListDisplay" style:highest "treeview_display" +widget "*NamedSelectionDisplay" style:highest "treeview_display" +widget "*SnapshotDisplay" style:highest "treeview_display" +widget "*MixerTrackCommentArea" style:highest "option_entry" +widget "*MixerPanZone" style:highest "pan_zone" +widget "*MixerTrackDisplayList" style:highest "treeview_display" +widget "*MixerSnapshotDisplayList" style:highest "treeview_display" +widget "*MixerAuxDisplayList" style:highest "treeview_display" +widget "*MixerGroupList" style:highest "treeview_display" +widget "*RegionEditorLabel" style:highest "medium_text" +widget "*RegionEditorSmallLabel" style:highest "small_text" +widget "*RegionEditorEntry" style:highest "medium_entry" +widget "*RegionEditorClock" style:highest "default_clock_display" +widget "*RegionEditorToggleButton" style:highest "paler_red_when_active" +widget "*RegionEditorToggleButton*" style:highest "paler_red_when_active" +widget "*MixerStripSpeedBase" style:highest "small_entry" +widget "*MixerStripSpeedBase*" style:highest "small_entry" +widget "*MixerStripSpeedBaseNotOne" style:highest "small_red_on_black_entry" +widget "*MixerStripSpeedBaseNotOne*" style:highest "small_red_on_black_entry" +widget "*MixerStripGainDisplay" style:highest "small_entry" +widget "*MixerStripGainDisplay*" style:highest "small_entry" +widget "*MixerStripGainUnitButton" style:highest "very_small_button" +widget "*MixerStripGainUnitButton*" style:highest "very_small_button" +widget "*MixerStripMeterPreButton" style:highest "very_small_button" +widget "*MixerStripMeterPreButton*" style:highest "very_small_button" +widget "*MixerStripPeakDisplay*" style:highest "red_active_small_entry" +widget "*MixerStripPeakDisplayPeak*" style:highest "peak_display_peaked_entry" +widget "*MixerStripSelectedFrame" style:highest "selected_strip_frame" +widget "*MixerStripFrame" style:highest "base_frame" +widget "*HWMonitorButton" style:highest "red_when_active" +widget "*HWMonitorButton*" style:highest "red_when_active" +widget "*TransportSoloAlert" style:highest "flashing_alert" +widget "*TransportSoloAlert.*" style:highest "flashing_alert" +widget "*TransportAuditioningAlert" style:highest "flashing_alert" +widget "*TransportAuditioningAlert.*" style:highest "flashing_alert" +widget "*FadeCurve" style:highest "medium_bold_entry" +widget "*FadeCurve*" style:highest "medium_bold_entry" +widget "*IOSelectorButton" style:highest "default_button" +widget "*IOSelectorButton*" style:highest "default_button" +widget "*IOSelectorList" style:highest "medium_entry_noselection_fg" +widget "*IOSelectorPortList" style:highest "io_selector_port_list" +widget "*IOSelectorPortList.*" style:highest "io_selector_port_list" +widget "*IOSelectorPortListSelected" style:highest "selected_io_selector_port_list" +widget "*IOSelectorPortListSelected.*" style:highest "selected_io_selector_port_list" +widget "*IOSelectorNotebook" style:highest "io_selector_notebook" +widget "*IOSelectorNotebookTab" style:highest "io_selector_notebook" +widget "*IOSelectorFrame" style:highest "base_frame" +widget "*ConnectionEditorButton" style:highest "default_button" +widget "*ConnectionEditorButton*" style:highest "default_button" +widget "*ConnectionEditorList" style:highest "medium_entry_noselection_fg" +widget "*ConnectionEditorConnectionList" style:highest "medium_entry" +widget "*ConnectionEditorPortList" style:highest "io_selector_port_list" +widget "*ConnectionEditorPortListSelected" style:highest "selected_io_selector_port_list" +widget "*ConnectionEditorNotebook" style:highest "io_selector_notebook" +widget "*ConnectionEditorNotebookTab" style:highest "io_selector_notebook" +widget "*ConnectionEditorFrame" style:highest "base_frame" +widget "*RouteParamsListDisplay" style:highest "inspector_track_list_display" +widget "*RouteParamsPreListDisplay" style:highest "inspector_redirect_list_display" +widget "*RouteParamsPostListDisplay" style:highest "inspector_redirect_list_display" +widget "*TearOffArrow" style:highest "tearoff_arrow" +widget "*RouteParamsTitleButton" style:highest "medium_text" +widget "*RouteParamsTitleLabel" style:highest "medium_text" +widget "*PluginAutomateRecordButton" style:highest "small_red_active_and_selected_button" +widget "*PluginAutomateRecordButton*" style:highest "small_red_active_and_selected_button" +widget "*PluginAutomatePlayButton" style:highest "small_red_active_and_selected_button" +widget "*PluginAutomatePlayButton*" style:highest "small_red_active_and_selected_button" +widget "*PluginAutomateButton" style:highest "small_button" +widget "*PluginAutomateButton*" style:highest "small_button" +widget "*PluginSaveButton" style:highest "small_button" +widget "*PluginSaveButton*" style:highest "small_button" +widget "*PluginLoadButton" style:highest "small_button" +widget "*PluginLoadButton*" style:highest "small_button" + +widget "*MetricDialogFrame" style:highest "base_frame" +widget "*MetricEntry" style:highest "medium_bold_entry" +widget "*MetricButton" style:highest "default_button" +widget "*MetricButton.*" style:highest "default_button" +widget "*MetricLabel" style:highest "medium_text" +widget "*TimeStretchButton" style:highest "default_button" +widget "*TimeStretchButton.*" style:highest "default_button" +widget "*TimeStretchProgress" style:highest "default_button" +widget "*ChoiceWindow" style:highest "default_generic" +widget "*ChoicePrompt" style:highest "default_generic" +widget "*ChoiceButton" style:highest "default_button" +widget "*ChoiceButton*" style:highest "default_button" +widget "*SelectionModeButton" style:highest "default_button" +widget "*SelectionModeButton*" style:highest "default_button" +widget "*TrackLabel" style:highest "medium_text" +widget "*TrackPlugName" style:highest "medium_text" +widget "*TrackParameterName" style:highest "small_text" +widget "*AddRouteDialog*" style:highest "medium_text" +widget "*AddRouteDialog.GtkLabel" style:highest "medium_text" +widget "*AddRouteDialogChannelChoice" style:highest "medium_bold_entry" +widget "*AddRouteDialogSpinner" style:highest "medium_bold_entry" +widget "*AddRouteDialogSpinner*" style:highest "medium_bold_entry" +widget "*AddRouteDialogRadioButton" style:highest "red_when_active" +widget "*AddRouteDialogButton" style:highest "default_button" +widget "*AddRouteDialogNameTemplateEntry" style:highest "medium_bold_entry" +widget "*NewSessionIOLabel" style:highest "larger_bold_text" +widget "*NewSessionSR1Label" style:highest "red_medium_text" +widget "*NewSessionSR2Label" style:highest "medium_text" +widget "*NewSessionChannelChoice" style:highest "medium_bold_entry" +widget "*NewSessionMainButton" style:highest "larger_bold_text" +widget "*NewSessionMainButton*" style:highest "larger_bold_text" +widget "*NewSessionMainLabel" style:highest "larger_bold_text" +widget "*LocationEditRowClock" style:highest "location_rows_clock" +widget "*LocationEditNameLabel" style:highest "medium_text" +widget "*LocationEditSetButton" style:highest "location_row_button" +widget "*LocationEditSetButton*" style:highest "location_row_button" +widget "*LocationEditGoButton" style:highest "location_row_button" +widget "*LocationEditGoButton*" style:highest "location_row_button" +widget "*LocationEditCdButton" style:highest "small_red_active_and_selected_button" +widget "*LocationEditCdButton*" style:highest "small_red_active_and_selected_button" +widget "*LocationEditHideButton" style:highest "small_red_active_and_selected_button" +widget "*LocationEditHideButton*" style:highest "small_red_active_and_selected_button" +widget "*LocationEditNumberLabel" style:highest "small_text" +widget "*LocationLocEditorFrame" style:highest "base_frame" +widget "*LocationRangeEditorFrame" style:highest "base_frame" +widget "*LocationEditNameEntry" style:highest "option_entry" +widget "*LocationAddLocationButton" style:highest "default_button" +widget "*LocationAddLocationButton*" style:highest "default_button" +widget "*LocationAddRangeButton" style:highest "default_button" +widget "*LocationAddRangeButton*" style:highest "default_button" +widget "*LocationEditRemoveButton" style:highest "location_row_button" +widget "*LocationEditRemoveButton*" style:highest "location_row_button" +widget "*PanSlider" style:highest "pan_slider" +widget "*PanningLinkButton" style:highest "mixer_red_active_button" +widget "*PanningLinkButton.*" style:highest "mixer_red_active_button" +widget "*PanningLinkDirectionButton" style:highest "very_small_button" +widget "*PanningLinkDirectionButton.*" style:highest "very_small_button" +widget "*ChannelCountSelector" style:highest "medium_bold_entry" +widget "*ChannelCountSelector.GtkArrow" style:highest "default_generic" +widget "*RegionListWholeFile" style:highest "treeview_parent_node" +widget "*EditorHScrollbar" style:highest "editor_hscrollbar" +widget "*ResizerHandler" style:highest "resizer_handle" diff --git a/gtk2_ardour/ardour_dialog.cc b/gtk2_ardour/ardour_dialog.cc index 43fdf85c94..c3d238a9c0 100644 --- a/gtk2_ardour/ardour_dialog.cc +++ b/gtk2_ardour/ardour_dialog.cc @@ -18,6 +18,7 @@ */ #include <iostream> +#include <sigc++/bind.h> #include <gtkmm2ext/doi.h> @@ -25,6 +26,13 @@ #include "keyboard.h" #include "ardour_ui.h" #include "splash.h" +#include "public_editor.h" +#include "utils.h" + +using namespace sigc; +using namespace Gtk; + +sigc::signal<void> ArdourDialog::CloseAllDialogs; ArdourDialog::ArdourDialog (string title, bool modal, bool use_seperator) : Dialog (title, modal, use_seperator) @@ -60,6 +68,7 @@ ArdourDialog::on_leave_notify_event (GdkEventCrossing *ev) void ArdourDialog::on_unmap () { + Keyboard::the_keyboard().leave_window (0, this); Dialog::on_unmap (); } @@ -77,9 +86,17 @@ ArdourDialog::on_show () Dialog::on_show (); } -void ArdourDialog::init () +void +ArdourDialog::init () { session = 0; set_type_hint(Gdk::WINDOW_TYPE_HINT_DIALOG); set_border_width (10); + CloseAllDialogs.connect (bind (mem_fun (*this, &ArdourDialog::response), RESPONSE_CANCEL)); +} + +bool +ArdourDialog::on_key_press_event (GdkEventKey* key) +{ + return Gtk::Dialog::on_key_press_event (key); } diff --git a/gtk2_ardour/ardour_dialog.h b/gtk2_ardour/ardour_dialog.h index b2c531b0d0..44c731b36c 100644 --- a/gtk2_ardour/ardour_dialog.h +++ b/gtk2_ardour/ardour_dialog.h @@ -40,6 +40,9 @@ class ArdourDialog : public Gtk::Dialog ArdourDialog (Gtk::Window& parent, std::string title, bool modal = false, bool use_separator = false); ~ArdourDialog(); + static int close_all_current_dialogs (int response); + + bool on_key_press_event (GdkEventKey *); bool on_enter_notify_event (GdkEventCrossing*); bool on_leave_notify_event (GdkEventCrossing*); void on_unmap (); @@ -55,8 +58,12 @@ class ArdourDialog : public Gtk::Dialog set_session (0); } + static void close_all_dialogs () { CloseAllDialogs(); } + private: void init (); + + static sigc::signal<void> CloseAllDialogs; }; #endif // __ardour_dialog_h__ diff --git a/gtk2_ardour/ardour_ui.cc b/gtk2_ardour/ardour_ui.cc index 44280a3109..3376d1c8da 100644 --- a/gtk2_ardour/ardour_ui.cc +++ b/gtk2_ardour/ardour_ui.cc @@ -211,6 +211,15 @@ ARDOUR_UI::ARDOUR_UI (int *argcp, char **argvp[]) session_loaded = false; last_speed_displayed = -1.0f; ignore_dual_punch = false; + _mixer_on_top = false; + + roll_button.unset_flags (Gtk::CAN_FOCUS); + stop_button.unset_flags (Gtk::CAN_FOCUS); + goto_start_button.unset_flags (Gtk::CAN_FOCUS); + goto_end_button.unset_flags (Gtk::CAN_FOCUS); + auto_loop_button.unset_flags (Gtk::CAN_FOCUS); + play_selection_button.unset_flags (Gtk::CAN_FOCUS); + rec_button.unset_flags (Gtk::CAN_FOCUS); last_configure_time= 0; @@ -352,11 +361,12 @@ ARDOUR_UI::post_engine () /* set default clock modes */ if (Profile->get_sae()) { - primary_clock.set_mode (AudioClock::MinSec); + primary_clock.set_mode (AudioClock::BBT); + secondary_clock.set_mode (AudioClock::MinSec); } else { primary_clock.set_mode (AudioClock::SMPTE); + secondary_clock.set_mode (AudioClock::BBT); } - secondary_clock.set_mode (AudioClock::BBT); /* start the time-of-day-clock */ @@ -640,7 +650,7 @@ void ARDOUR_UI::startup () { string name, path; - + new_session_dialog = new NewSessionDialog(); bool backend_audio_is_running = EngineControl::engine_running(); @@ -762,6 +772,7 @@ If you still wish to quit, please use the\n\n\ session->set_deletion_in_progress (); } + ArdourDialog::close_all_dialogs (); engine->stop (true); save_ardour_state (); quit (); @@ -1980,14 +1991,6 @@ ARDOUR_UI::transport_rec_enable_blink (bool onoff) } } -gint -ARDOUR_UI::hide_and_quit (GdkEventAny *ev, ArdourDialog *window) -{ - window->hide(); - Gtk::Main::quit (); - return TRUE; -} - void ARDOUR_UI::save_template () @@ -2242,7 +2245,7 @@ ARDOUR_UI::loading_message (const std::string& msg) splash->message (msg); flush_pending (); } - + void ARDOUR_UI::idle_load (const Glib::ustring& path) { @@ -2255,11 +2258,16 @@ ARDOUR_UI::idle_load (const Glib::ustring& path) load_session (Glib::path_get_dirname (path), basename_nosuffix (path)); } } else { + ARDOUR_COMMAND_LINE::session_name = path; + if (new_session_dialog) { + + /* make it break out of Dialog::run() and start again. */ + new_session_dialog->response (1); } } @@ -2329,6 +2337,9 @@ ARDOUR_UI::get_session_parameters (bool backend_audio_is_running, bool should_be case Gtk::RESPONSE_CANCEL: case Gtk::RESPONSE_DELETE_EVENT: if (!session) { + if (engine && engine->running()) { + engine->stop (true); + } quit(); } new_session_dialog->hide (); @@ -2381,7 +2392,7 @@ ARDOUR_UI::get_session_parameters (bool backend_audio_is_running, bool should_be if (session_name[0] == '/' || (session_name.length() > 2 && session_name[0] == '.' && session_name[1] == '/') || (session_name.length() > 3 && session_name[0] == '.' && session_name[1] == '.' && session_name[2] == '/')) { - + session_path = Glib::path_get_dirname (session_name); session_name = Glib::path_get_basename (session_name); @@ -2439,7 +2450,7 @@ ARDOUR_UI::get_session_parameters (bool backend_audio_is_running, bool should_be loadit: new_session_dialog->hide (); - + if (load_session (session_path, session_name, template_name)) { /* force a retry */ response = Gtk::RESPONSE_NONE; @@ -2519,10 +2530,10 @@ ARDOUR_UI::load_session (const Glib::ustring& path, const Glib::ustring& snap_na MessageDialog msg (err.what(), true, Gtk::MESSAGE_INFO, - Gtk::BUTTONS_OK_CANCEL); + Gtk::BUTTONS_CLOSE); - msg.set_title (_("Loading Error")); - msg.set_secondary_text (_("Click the OK button to try again.")); + msg.set_title (_("Port Registration Error")); + msg.set_secondary_text (_("Click the Close button to try again.")); msg.set_position (Gtk::WIN_POS_CENTER); pop_back_splash (); msg.present (); @@ -2545,10 +2556,10 @@ ARDOUR_UI::load_session (const Glib::ustring& path, const Glib::ustring& snap_na MessageDialog msg (string_compose(_("Session \"%1 (snapshot %2)\" did not load successfully"), path, snap_name), true, Gtk::MESSAGE_INFO, - Gtk::BUTTONS_OK_CANCEL); + Gtk::BUTTONS_CLOSE); msg.set_title (_("Loading Error")); - msg.set_secondary_text (_("Click the OK button to try again.")); + msg.set_secondary_text (_("Click the Close button to try again.")); msg.set_position (Gtk::WIN_POS_CENTER); pop_back_splash (); msg.present (); @@ -2630,6 +2641,9 @@ ARDOUR_UI::build_session (const Glib::ustring& path, const Glib::ustring& snap_n connect_to_session (new_session); session_loaded = true; + + new_session->save_state(new_session->name()); + return 0; } @@ -2947,8 +2961,6 @@ ARDOUR_UI::add_route (Gtk::Window* float_window) /* XXX do something with name template */ - cerr << "Adding with " << input_chan << " in and " << output_chan << "out\n"; - if (add_route_dialog->type() == ARDOUR::DataType::MIDI) { if (track) { session_add_midi_track(count); @@ -2995,10 +3007,17 @@ ARDOUR_UI::editor_settings () const } else { node = Config->instant_xml(X_("Editor")); } + + if (!node) { + if (getenv("ARDOUR_INSTANT_XML_PATH")) { + node = Config->instant_xml(getenv("ARDOUR_INSTANT_XML_PATH")); + } + } if (!node) { node = new XMLNode (X_("Editor")); } + return node; } @@ -3032,13 +3051,17 @@ ARDOUR_UI::halt_on_xrun_message () void ARDOUR_UI::xrun_handler(nframes_t where) { + if (!session) { + return; + } + ENSURE_GUI_THREAD (bind(mem_fun(*this, &ARDOUR_UI::xrun_handler), where)); - if (Config->get_create_xrun_marker() && session->actively_recording()) { + if (session && Config->get_create_xrun_marker() && session->actively_recording()) { create_xrun_marker(where); } - if (Config->get_stop_recording_on_xrun() && session->actively_recording()) { + if (session && Config->get_stop_recording_on_xrun() && session->actively_recording()) { halt_on_xrun_message (); } } diff --git a/gtk2_ardour/ardour_ui.h b/gtk2_ardour/ardour_ui.h index 8243a40fd1..bd3531d8fd 100644 --- a/gtk2_ardour/ardour_ui.h +++ b/gtk2_ardour/ardour_ui.h @@ -119,6 +119,8 @@ class ARDOUR_UI : public Gtkmm2ext::UI void hide_about (); void idle_load (const Glib::ustring& path); + void finish(); + int load_session (const Glib::ustring& path, const Glib::ustring& snapshot, Glib::ustring mix_template = Glib::ustring()); bool session_loaded; int build_session (const Glib::ustring& path, const Glib::ustring& snapshot, @@ -183,8 +185,6 @@ class ARDOUR_UI : public Gtkmm2ext::UI void name_io_setup (ARDOUR::AudioEngine&, string&, ARDOUR::IO& io, bool in); - static gint hide_and_quit (GdkEventAny *ev, ArdourDialog *); - XMLNode* editor_settings() const; XMLNode* mixer_settings () const; XMLNode* keyboard_settings () const; @@ -287,8 +287,10 @@ class ARDOUR_UI : public Gtkmm2ext::UI Gtk::Tooltips _tooltips; - void goto_editor_window (); - void goto_mixer_window (); + void goto_editor_window (); + void goto_mixer_window (); + void toggle_editor_mixer_on_top (); + bool _mixer_on_top; Gtk::Table adjuster_table; Gtk::Frame adjuster_frame; @@ -313,7 +315,6 @@ class ARDOUR_UI : public Gtkmm2ext::UI void startup (); void shutdown (); - void finish(); int ask_about_saving_session (const string & why); /* periodic safety backup, to be precise */ @@ -715,6 +716,7 @@ class ARDOUR_UI : public Gtkmm2ext::UI void set_denormal_model (ARDOUR::DenormalModel); void toggle_sync_order_keys (); + void toggle_new_plugins_active(); void toggle_StopPluginsWithTransport(); void toggle_DoNotRunPluginsWhileRecording(); void toggle_VerifyRemoveLastCapture(); @@ -725,6 +727,7 @@ class ARDOUR_UI : public Gtkmm2ext::UI void toggle_GainReduceFastTransport(); void toggle_LatchedSolo(); void toggle_ShowSoloMutes(); + void toggle_SoloMuteOverride(); void toggle_LatchedRecordEnable (); void toggle_RegionEquivalentsOverlap (); void toggle_PrimaryClockDeltaEditCursor (); diff --git a/gtk2_ardour/ardour_ui2.cc b/gtk2_ardour/ardour_ui2.cc index d294df8036..60f390501e 100644 --- a/gtk2_ardour/ardour_ui2.cc +++ b/gtk2_ardour/ardour_ui2.cc @@ -192,6 +192,10 @@ ARDOUR_UI::setup_transport () transport_tearoff = manage (new TearOff (transport_tearoff_hbox)); transport_tearoff->set_name ("TransportBase"); + if (Profile->get_sae()) { + transport_tearoff->set_can_be_torn_off (false); + } + transport_hbox.pack_start (*transport_tearoff, true, false); transport_base.set_name ("TransportBase"); diff --git a/gtk2_ardour/ardour_ui_dependents.cc b/gtk2_ardour/ardour_ui_dependents.cc index f81dc8d311..eacf0b50b7 100644 --- a/gtk2_ardour/ardour_ui_dependents.cc +++ b/gtk2_ardour/ardour_ui_dependents.cc @@ -99,6 +99,7 @@ ARDOUR_UI::goto_editor_window () editor->show_window (); editor->present (); + _mixer_on_top = false; flush_pending (); } @@ -107,12 +108,30 @@ ARDOUR_UI::goto_mixer_window () { mixer->show_window (); mixer->present (); + _mixer_on_top = true; flush_pending (); } +void +ARDOUR_UI::toggle_editor_mixer_on_top () +{ + if (_mixer_on_top) { + goto_editor_window (); + } else { + goto_mixer_window (); + } +} + gint ARDOUR_UI::exit_on_main_window_close (GdkEventAny *ev) { +#ifdef TOP_MENUBAR + /* just hide the window, and return - the top menu stays up */ + editor->hide (); + return TRUE; +#else + /* time to get out of here */ finish(); return TRUE; +#endif } diff --git a/gtk2_ardour/ardour_ui_ed.cc b/gtk2_ardour/ardour_ui_ed.cc index 4b7008e027..80e543e4b1 100644 --- a/gtk2_ardour/ardour_ui_ed.cc +++ b/gtk2_ardour/ardour_ui_ed.cc @@ -193,7 +193,7 @@ ARDOUR_UI::install_actions () common_actions = ActionGroup::create (X_("Common")); ActionManager::register_action (main_actions, X_("WindowMenu"), _("Window")); - ActionManager::register_action (common_actions, X_("Quit"), _("Quit"), (mem_fun(*this, &ARDOUR_UI::finish))); + ActionManager::register_action (common_actions, X_("Quit"), _("Quit"), (hide_return (mem_fun(*this, &ARDOUR_UI::finish)))); /* windows visibility actions */ @@ -201,6 +201,7 @@ ARDOUR_UI::install_actions () ActionManager::register_action (common_actions, X_("goto-editor"), _("Show Editor"), mem_fun(*this, &ARDOUR_UI::goto_editor_window)); ActionManager::register_action (common_actions, X_("goto-mixer"), _("Show Mixer"), mem_fun(*this, &ARDOUR_UI::goto_mixer_window)); + ActionManager::register_action (common_actions, X_("toggle-editor-mixer-on-top"), _("Toggle Editor Mixer on Top"), mem_fun(*this, &ARDOUR_UI::toggle_editor_mixer_on_top)); ActionManager::register_toggle_action (common_actions, X_("ToggleOptionsEditor"), _("Preferences"), mem_fun(*this, &ARDOUR_UI::toggle_options_window)); act = ActionManager::register_toggle_action (common_actions, X_("ToggleInspector"), _("Track/Bus Inspector"), mem_fun(*this, &ARDOUR_UI::toggle_route_params_window)); ActionManager::session_sensitive_actions.push_back (act); @@ -450,6 +451,7 @@ ARDOUR_UI::install_actions () ActionManager::register_toggle_action (option_actions, X_("SyncEditorAndMixerTrackOrder"), _("Sync Editor and Mixer track order"), mem_fun (*this, &ARDOUR_UI::toggle_sync_order_keys)); ActionManager::register_toggle_action (option_actions, X_("StopPluginsWithTransport"), _("Stop plugins with transport"), mem_fun (*this, &ARDOUR_UI::toggle_StopPluginsWithTransport)); + ActionManager::register_toggle_action (option_actions, X_("NewPluginsActive"), _("New plugins are active"), mem_fun (*this, &ARDOUR_UI::toggle_new_plugins_active)); ActionManager::register_toggle_action (option_actions, X_("VerifyRemoveLastCapture"), _("Verify remove last capture"), mem_fun (*this, &ARDOUR_UI::toggle_VerifyRemoveLastCapture)); ActionManager::register_toggle_action (option_actions, X_("PeriodicSafetyBackups"), _("Make periodic safety backups"), mem_fun (*this, &ARDOUR_UI::toggle_PeriodicSafetyBackups)); ActionManager::register_toggle_action (option_actions, X_("StopRecordingOnXrun"), _("Stop recording on xrun"), mem_fun (*this, &ARDOUR_UI::toggle_StopRecordingOnXrun)); @@ -514,6 +516,8 @@ ARDOUR_UI::install_actions () ActionManager::session_sensitive_actions.push_back (act); act = ActionManager::register_toggle_action (option_actions, X_("ShowSoloMutes"), _("Show solo muting"), mem_fun (*this, &ARDOUR_UI::toggle_ShowSoloMutes)); ActionManager::session_sensitive_actions.push_back (act); + act = ActionManager::register_toggle_action (option_actions, X_("SoloMuteOverride"), _("Override muting"), mem_fun (*this, &ARDOUR_UI::toggle_SoloMuteOverride)); + ActionManager::session_sensitive_actions.push_back (act); /* act = ActionManager::register_action (option_actions, X_("DisableAllPlugins"), _("Disable All Plugins"), mem_fun (*this, &ARDOUR_UI::disable_all_plugins)); ActionManager::session_sensitive_actions.push_back (act); @@ -562,7 +566,7 @@ ARDOUR_UI::install_actions () */ act = ActionManager::register_radio_action (option_actions, monitoring_group, X_("UseHardwareMonitoring"), _("JACK does monitoring"), bind (mem_fun (*this, &ARDOUR_UI::set_monitor_model), HardwareMonitoring)); - if (engine->can_request_hardware_monitoring()) { + if (!engine->can_request_hardware_monitoring()) { act->set_sensitive (false); } act = ActionManager::register_radio_action (option_actions, monitoring_group, X_("UseSoftwareMonitoring"), _("Ardour does monitoring"), bind (mem_fun (*this, &ARDOUR_UI::set_monitor_model), SoftwareMonitoring)); diff --git a/gtk2_ardour/ardour_ui_options.cc b/gtk2_ardour/ardour_ui_options.cc index 4c80b8dd35..1d03fd158e 100644 --- a/gtk2_ardour/ardour_ui_options.cc +++ b/gtk2_ardour/ardour_ui_options.cc @@ -480,6 +480,12 @@ ARDOUR_UI::toggle_editing_space() } void +ARDOUR_UI::toggle_new_plugins_active () +{ + ActionManager::toggle_config_state ("options", "NewPluginsActive", &Configuration::set_new_plugins_active, &Configuration::get_new_plugins_active); +} + +void ARDOUR_UI::toggle_StopPluginsWithTransport() { ActionManager::toggle_config_state ("options", "StopPluginsWithTransport", &Configuration::set_plugins_stop_with_transport, &Configuration::get_plugins_stop_with_transport); @@ -558,6 +564,12 @@ ARDOUR_UI::toggle_ShowSoloMutes() } void +ARDOUR_UI::toggle_SoloMuteOverride() +{ + ActionManager::toggle_config_state ("options", "SoloMuteOverride", &Configuration::set_solo_mute_override, &Configuration::get_solo_mute_override); +} + +void ARDOUR_UI::toggle_PrimaryClockDeltaEditCursor() { ActionManager::toggle_config_state ("options", "PrimaryClockDeltaEditCursor", &Configuration::set_primary_clock_delta_edit_cursor, &Configuration::get_primary_clock_delta_edit_cursor); @@ -1118,6 +1130,8 @@ ARDOUR_UI::parameter_changed (const char* parameter_name) ActionManager::map_some_state ("options", "LatchedSolo", &Configuration::get_solo_latched); } else if (PARAM_IS ("show-solo-mutes")) { ActionManager::map_some_state ("options", "ShowSoloMutes", &Configuration::get_show_solo_mutes); + } else if (PARAM_IS ("solo-mute-override")) { + ActionManager::map_some_state ("options", "SoloMuteOverride", &Configuration::get_solo_mute_override); } else if (PARAM_IS ("solo-model")) { map_solo_model (); } else if (PARAM_IS ("auto-play")) { @@ -1144,6 +1158,8 @@ ARDOUR_UI::parameter_changed (const char* parameter_name) ActionManager::map_some_state ("Transport", "ToggleTimeMaster", &Configuration::get_jack_time_master); } else if (PARAM_IS ("plugins-stop-with-transport")) { ActionManager::map_some_state ("options", "StopPluginsWithTransport", &Configuration::get_plugins_stop_with_transport); + } else if (PARAM_IS ("new-plugins-active")) { + ActionManager::map_some_state ("options", "NewPluginsActive", &Configuration::get_new_plugins_active); } else if (PARAM_IS ("latched-record-enable")) { ActionManager::map_some_state ("options", "LatchedRecordEnable", &Configuration::get_latched_record_enable); } else if (PARAM_IS ("verify-remove-last-capture")) { diff --git a/gtk2_ardour/au_pluginui.mm b/gtk2_ardour/au_pluginui.mm index 977e5762a7..a46021f66f 100644 --- a/gtk2_ardour/au_pluginui.mm +++ b/gtk2_ardour/au_pluginui.mm @@ -1,3 +1,6 @@ +#undef Marker +#define Marker FuckYouAppleAndYourLackOfNameSpaces + #include <pbd/error.h> #include <ardour/audio_unit.h> #include <ardour/insert.h> @@ -18,6 +21,11 @@ #import <AudioUnit/AUCocoaUIView.h> #import <CoreAudioKit/AUGenericView.h> +#undef Marker + +#include "keyboard.h" +#include "utils.h" +#include "public_editor.h" #include "i18n.h" using namespace ARDOUR; @@ -57,15 +65,27 @@ AUPluginUI::AUPluginUI (boost::shared_ptr<PluginInsert> insert) /* stuff some stuff into the top of the window */ + HBox* smaller_hbox = manage (new HBox); + + smaller_hbox->pack_start (preset_label, false, false, 10); + smaller_hbox->pack_start (preset_combo, false, false); + smaller_hbox->pack_start (save_button, false, false); + smaller_hbox->pack_start (automation_mode_label, false, false); + smaller_hbox->pack_start (automation_mode_selector, false, false); + smaller_hbox->pack_start (bypass_button, false, true); + + VBox* v1_box = manage (new VBox); + VBox* v2_box = manage (new VBox); + + v1_box->pack_start (*smaller_hbox, false, true); + v2_box->pack_start (focus_button, false, true); + + top_box.set_homogeneous (false); top_box.set_spacing (6); top_box.set_border_width (6); - top_box.pack_end (bypass_button, false, true); - top_box.pack_end (automation_mode_selector, false, false); - top_box.pack_end (automation_mode_label, false, false); - top_box.pack_end (save_button, false, false); - top_box.pack_end (preset_combo, false, false); - top_box.pack_end (preset_label, false, false); + top_box.pack_end (*v2_box, false, false); + top_box.pack_end (*v1_box, false, false); set_spacing (6); pack_start (top_box, false, false); @@ -617,14 +637,16 @@ create_au_gui (boost::shared_ptr<PluginInsert> plugin_insert, VBox** box) bool AUPluginUI::on_focus_in_event (GdkEventFocus* ev) { - cerr << "au plugin focus in\n"; + //cerr << "au plugin focus in\n"; + //Keyboard::magic_widget_grab_focus (); return false; } bool AUPluginUI::on_focus_out_event (GdkEventFocus* ev) { - cerr << "au plugin focus out\n"; + //cerr << "au plugin focus out\n"; + //Keyboard::magic_widget_drop_focus (); return false; } diff --git a/gtk2_ardour/audio_clock.cc b/gtk2_ardour/audio_clock.cc index 58db7f636b..c27015801f 100644 --- a/gtk2_ardour/audio_clock.cc +++ b/gtk2_ardour/audio_clock.cc @@ -636,14 +636,19 @@ AudioClock::set_bbt (nframes_t when, bool force) char buf[16]; BBT_Time bbt; - session->tempo_map().bbt_time (when, bbt); - /* handle a common case */ - - if (is_duration && when == 0) { - bbt.bars = 0; - bbt.beats = 0; - + if (is_duration) { + if (when == 0) { + bbt.bars = 0; + bbt.beats = 0; + bbt.ticks = 0; + } else { + session->tempo_map().bbt_time (when, bbt); + bbt.bars--; + bbt.beats--; + } + } else { + session->tempo_map().bbt_time (when, bbt); } sprintf (buf, "%03" PRIu32, bbt.bars); @@ -1897,6 +1902,11 @@ AudioClock::bbt_frame_from_display (nframes_t pos) const any.bbt.beats = atoi (beats_label.get_text()); any.bbt.ticks = atoi (ticks_label.get_text()); + if (is_duration) { + any.bbt.bars++; + any.bbt.beats++; + } + nframes_t ret = session->convert_to_frames_at (pos, any); return ret; diff --git a/gtk2_ardour/audio_region_editor.cc b/gtk2_ardour/audio_region_editor.cc index ff84a44488..c36ddbc041 100644 --- a/gtk2_ardour/audio_region_editor.cc +++ b/gtk2_ardour/audio_region_editor.cc @@ -47,16 +47,20 @@ AudioRegionEditor::AudioRegionEditor (Session& s, boost::shared_ptr<AudioRegion> _region_view (rv), name_label (_("NAME:")), audition_button (_("play")), - time_table (3, 2), - start_clock (X_("regionstart"), true, X_("AudioRegionEditorClock"), true), + time_table (5, 2), + position_clock (X_("regionposition"), true, X_("AudioRegionEditorClock"), true), end_clock (X_("regionend"), true, X_("AudioRegionEditorClock"), true), length_clock (X_("regionlength"), true, X_("AudioRegionEditorClock"), true, true), - sync_offset_clock (X_("regionsyncoffset"), true, X_("AudioRegionEditorClock"), true, true) + /* XXX cannot edit sync point or start yet */ + sync_offset_clock (X_("regionsyncoffset"), true, X_("AudioRegionEditorClock"), false), + start_clock (X_("regionstart"), true, X_("AudioRegionEditorClock"), false) { - start_clock.set_session (&_session); + position_clock.set_session (&_session); end_clock.set_session (&_session); length_clock.set_session (&_session); + sync_offset_clock.set_session (&_session); + start_clock.set_session (&_session); name_entry.set_name ("AudioRegionEditorEntry"); name_label.set_name ("AudioRegionEditorLabel"); @@ -79,27 +83,35 @@ AudioRegionEditor::AudioRegionEditor (Session& s, boost::shared_ptr<AudioRegion> top_row_hbox.pack_start (name_hbox, true, true); top_row_hbox.pack_end (top_row_button_hbox, true, true); - start_label.set_name ("AudioRegionEditorLabel"); - start_label.set_text (_("START:")); + position_label.set_name ("AudioRegionEditorLabel"); + position_label.set_text (_("POSITION:")); end_label.set_name ("AudioRegionEditorLabel"); end_label.set_text (_("END:")); length_label.set_name ("AudioRegionEditorLabel"); length_label.set_text (_("LENGTH:")); + sync_label.set_name ("AudioRegionEditorLabel"); + sync_label.set_text (_("SYNC POINT:")); + start_label.set_name ("AudioRegionEditorLabel"); + start_label.set_text (_("FILE START:")); time_table.set_col_spacings (2); time_table.set_row_spacings (5); time_table.set_border_width (5); - start_alignment.set (1.0, 0.5); + position_alignment.set (1.0, 0.5); end_alignment.set (1.0, 0.5); length_alignment.set (1.0, 0.5); + sync_alignment.set (1.0, 0.5); + start_alignment.set (1.0, 0.5); - start_alignment.add (start_label); + position_alignment.add (position_label); end_alignment.add (end_label); length_alignment.add (length_label); + sync_alignment.add (sync_label); + start_alignment.add (start_label); - time_table.attach (start_alignment, 0, 1, 0, 1, Gtk::FILL, Gtk::FILL); - time_table.attach (start_clock, 1, 2, 0, 1, Gtk::FILL, Gtk::FILL); + time_table.attach (position_alignment, 0, 1, 0, 1, Gtk::FILL, Gtk::FILL); + time_table.attach (position_clock, 1, 2, 0, 1, Gtk::FILL, Gtk::FILL); time_table.attach (end_alignment, 0, 1, 1, 2, Gtk::FILL, Gtk::FILL); time_table.attach (end_clock, 1, 2, 1, 2, Gtk::FILL, Gtk::FILL); @@ -107,6 +119,12 @@ AudioRegionEditor::AudioRegionEditor (Session& s, boost::shared_ptr<AudioRegion> time_table.attach (length_alignment, 0, 1, 2, 3, Gtk::FILL, Gtk::FILL); time_table.attach (length_clock, 1, 2, 2, 3, Gtk::FILL, Gtk::FILL); + time_table.attach (sync_alignment, 0, 1, 3, 4, Gtk::FILL, Gtk::FILL); + time_table.attach (sync_offset_clock, 1, 2, 3, 4, Gtk::FILL, Gtk::FILL); + + time_table.attach (start_alignment, 0, 1, 4, 5, Gtk::FILL, Gtk::FILL); + time_table.attach (start_clock, 1, 2, 4, 5, Gtk::FILL, Gtk::FILL); + lower_hbox.pack_start (time_table, true, true); lower_hbox.pack_start (sep1, false, false); lower_hbox.pack_start (sep2, false, false); @@ -128,7 +146,7 @@ AudioRegionEditor::AudioRegionEditor (Session& s, boost::shared_ptr<AudioRegion> show_all(); name_changed (); - bounds_changed (Change (StartChanged|LengthChanged|PositionChanged)); + bounds_changed (Change (StartChanged|LengthChanged|PositionChanged|StartChanged|Region::SyncOffsetChanged)); _region->StateChanged.connect (mem_fun(*this, &AudioRegionEditor::region_changed)); @@ -147,7 +165,8 @@ AudioRegionEditor::region_changed (Change what_changed) if (what_changed & NameChanged) { name_changed (); } - if (what_changed & BoundsChanged) { + + if (what_changed & Change (BoundsChanged|StartChanged|Region::SyncOffsetChanged)) { bounds_changed (what_changed); } } @@ -190,7 +209,7 @@ AudioRegionEditor::connect_editor_events () { name_entry.signal_changed().connect (mem_fun(*this, &AudioRegionEditor::name_entry_changed)); - start_clock.ValueChanged.connect (mem_fun(*this, &AudioRegionEditor::start_clock_changed)); + position_clock.ValueChanged.connect (mem_fun(*this, &AudioRegionEditor::position_clock_changed)); end_clock.ValueChanged.connect (mem_fun(*this, &AudioRegionEditor::end_clock_changed)); length_clock.ValueChanged.connect (mem_fun(*this, &AudioRegionEditor::length_clock_changed)); @@ -199,7 +218,7 @@ AudioRegionEditor::connect_editor_events () } void -AudioRegionEditor::start_clock_changed () +AudioRegionEditor::position_clock_changed () { _session.begin_reversible_command (_("change region start position")); @@ -207,7 +226,7 @@ AudioRegionEditor::start_clock_changed () if (pl) { XMLNode &before = pl->get_state(); - _region->set_position (start_clock.current_time(), this); + _region->set_position (position_clock.current_time(), this); XMLNode &after = pl->get_state(); _session.add_command(new MementoCommand<Playlist>(*pl, &before, &after)); } @@ -276,11 +295,25 @@ AudioRegionEditor::name_changed () void AudioRegionEditor::bounds_changed (Change what_changed) { - if (what_changed & Change ((PositionChanged|LengthChanged))) { - start_clock.set (_region->position(), true); + if ((what_changed & Change (PositionChanged|LengthChanged)) == Change (PositionChanged|LengthChanged)) { + position_clock.set (_region->position(), true); + end_clock.set (_region->position() + _region->length(), true); + length_clock.set (_region->length(), true); + } else if (what_changed & Change (PositionChanged)) { + position_clock.set (_region->position(), true); + end_clock.set (_region->position() + _region->length(), true); + } else if (what_changed & Change (LengthChanged)) { end_clock.set (_region->position() + _region->length(), true); length_clock.set (_region->length(), true); } + + if (what_changed & Region::SyncOffsetChanged) { + sync_offset_clock.set (_region->sync_position(), true); + } + + if (what_changed & StartChanged) { + start_clock.set (_region->start(), true); + } } void diff --git a/gtk2_ardour/audio_region_editor.h b/gtk2_ardour/audio_region_editor.h index 024f390d40..57a9ba40c6 100644 --- a/gtk2_ardour/audio_region_editor.h +++ b/gtk2_ardour/audio_region_editor.h @@ -74,17 +74,22 @@ class AudioRegionEditor : public RegionEditor Gtk::Table time_table; - Gtk::Label start_label; + Gtk::Label position_label; Gtk::Label end_label; Gtk::Label length_label; - Gtk::Alignment start_alignment; + Gtk::Label sync_label; + Gtk::Label start_label; + Gtk::Alignment position_alignment; Gtk::Alignment end_alignment; Gtk::Alignment length_alignment; + Gtk::Alignment sync_alignment; + Gtk::Alignment start_alignment; - AudioClock start_clock; + AudioClock position_clock; AudioClock end_clock; AudioClock length_clock; AudioClock sync_offset_clock; + AudioClock start_clock; Gtk::HSeparator sep3; Gtk::VSeparator sep1; @@ -99,7 +104,7 @@ class AudioRegionEditor : public RegionEditor void activation (); void name_entry_changed (); - void start_clock_changed (); + void position_clock_changed (); void end_clock_changed (); void length_clock_changed (); diff --git a/gtk2_ardour/audio_streamview.cc b/gtk2_ardour/audio_streamview.cc index 7fc7be2db2..ed585a91e1 100644 --- a/gtk2_ardour/audio_streamview.cc +++ b/gtk2_ardour/audio_streamview.cc @@ -32,6 +32,7 @@ #include <ardour/playlist_templates.h> #include <ardour/source.h> #include <ardour/region_factory.h> +#include <ardour/profile.h> #include "audio_streamview.h" #include "audio_region_view.h" @@ -139,7 +140,7 @@ AudioStreamView::add_region_view_internal (boost::shared_ptr<Region> r, bool wai _samples_per_unit, region_color, recording, TimeAxisViewItem::Visibility(TimeAxisViewItem::ShowFrame | TimeAxisViewItem::HideFrameRight)); } else { region_view = new AudioRegionView (canvas_group, _trackview, region, - _samples_per_unit, region_color); + _samples_per_unit, region_color); } break; case Destructive: @@ -821,9 +822,12 @@ AudioStreamView::color_handler () //case cAudioBusBase: if (!_trackview.is_track()) { - canvas_rect->property_fill_color_rgba() = ARDOUR_UI::config()->canvasvar_AudioBusBase.get(); + if (Profile->get_sae() && _trackview.route()->is_master()) { + canvas_rect->property_fill_color_rgba() = ARDOUR_UI::config()->canvasvar_AudioMasterBusBase.get(); + } else { + canvas_rect->property_fill_color_rgba() = ARDOUR_UI::config()->canvasvar_AudioBusBase.get(); + } } - } void diff --git a/gtk2_ardour/audio_time_axis.cc b/gtk2_ardour/audio_time_axis.cc index 0e1bf20204..aa02977581 100644 --- a/gtk2_ardour/audio_time_axis.cc +++ b/gtk2_ardour/audio_time_axis.cc @@ -377,6 +377,65 @@ AudioTimeAxisView::update_pans (bool show) ++i; } } +#if 0 +void +AudioTimeAxisView::toggle_gain_track () +{ + bool showit = gain_automation_item->get_active(); + + if (showit != gain_track->marked_for_display()) { + if (showit) { + gain_track->set_marked_for_display (true); + gain_track->canvas_display->show(); + gain_track->canvas_background->show(); + gain_track->get_state_node()->add_property ("shown", X_("yes")); + } else { + gain_track->set_marked_for_display (false); + gain_track->hide (); + gain_track->get_state_node()->add_property ("shown", X_("no")); + } + + /* now trigger a redisplay */ + + if (!no_redraw) { + _route->gui_changed (X_("visible_tracks"), (void *) 0); /* EMIT_SIGNAL */ + } + } +} + +void +AudioTimeAxisView::gain_hidden () +{ + gain_track->get_state_node()->add_property (X_("shown"), X_("no")); + + if (gain_automation_item && !_hidden) { + gain_automation_item->set_active (false); + } + + _route->gui_changed ("visible_tracks", (void *) 0); /* EMIT_SIGNAL */ +} + +void +AudioTimeAxisView::toggle_pan_track () +{ + bool showit = pan_automation_item->get_active(); + + if (showit != pan_track->marked_for_display()) { + if (showit) { + pan_track->set_marked_for_display (true); + pan_track->canvas_display->show(); + pan_track->canvas_background->show(); + pan_track->get_state_node()->add_property ("shown", X_("yes")); + } else { + pan_track->set_marked_for_display (false); + pan_track->hide (); + pan_track->get_state_node()->add_property ("shown", X_("no")); + } + + /* now trigger a redisplay */ + } +} +#endif void AudioTimeAxisView::show_all_automation () diff --git a/gtk2_ardour/automation_time_axis.cc b/gtk2_ardour/automation_time_axis.cc index 2313515285..f0bcaa30ba 100644 --- a/gtk2_ardour/automation_time_axis.cc +++ b/gtk2_ardour/automation_time_axis.cc @@ -67,7 +67,6 @@ AutomationTimeAxisView::AutomationTimeAxisView (Session& s, boost::shared_ptr<Ro _base_rect (0), _view (show_regions ? new AutomationStreamView(*this) : NULL), _name (nom), - height_button (_("h")), clear_button (_("clear")), auto_button (X_("")) /* force addition of a label */ { @@ -90,7 +89,7 @@ AutomationTimeAxisView::AutomationTimeAxisView (Session& s, boost::shared_ptr<Ro _base_rect = new SimpleRect(*canvas_display); _base_rect->property_x1() = 0.0; _base_rect->property_y1() = 0.0; - _base_rect->property_x2() = editor.frame_to_pixel (max_frames); + _base_rect->property_x2() = LONG_MAX - 2; _base_rect->property_outline_color_rgba() = ARDOUR_UI::config()->canvasvar_AutomationTrackOutline.get(); /* outline ends and bottom */ @@ -106,14 +105,16 @@ AutomationTimeAxisView::AutomationTimeAxisView (Session& s, boost::shared_ptr<Ro hide_button.add (*(manage (new Gtk::Image (::get_icon("hide"))))); - height_button.set_name ("TrackSizeButton"); auto_button.set_name ("TrackVisualButton"); clear_button.set_name ("TrackVisualButton"); hide_button.set_name ("TrackRemoveButton"); + auto_button.unset_flags (Gtk::CAN_FOCUS); + clear_button.unset_flags (Gtk::CAN_FOCUS); + hide_button.unset_flags (Gtk::CAN_FOCUS); + controls_table.set_no_show_all(); - ARDOUR_UI::instance()->tooltips().set_tip(height_button, _("track height")); ARDOUR_UI::instance()->tooltips().set_tip(auto_button, _("automation state")); ARDOUR_UI::instance()->tooltips().set_tip(clear_button, _("clear track")); ARDOUR_UI::instance()->tooltips().set_tip(hide_button, _("hide track")); @@ -174,7 +175,6 @@ AutomationTimeAxisView::AutomationTimeAxisView (Session& s, boost::shared_ptr<Ro /* add the buttons */ controls_table.attach (hide_button, 0, 1, 0, 1, Gtk::FILL|Gtk::EXPAND, Gtk::FILL|Gtk::EXPAND); - controls_table.attach (height_button, 0, 1, 1, 2, Gtk::FILL|Gtk::EXPAND, Gtk::FILL|Gtk::EXPAND); controls_table.attach (auto_button, 5, 8, 0, 1, Gtk::FILL|Gtk::EXPAND, Gtk::FILL|Gtk::EXPAND); controls_table.attach (clear_button, 5, 8, 1, 2, Gtk::FILL|Gtk::EXPAND, Gtk::FILL|Gtk::EXPAND); @@ -184,7 +184,6 @@ AutomationTimeAxisView::AutomationTimeAxisView (Session& s, boost::shared_ptr<Ro controls_table.show_all (); - height_button.signal_clicked().connect (mem_fun(*this, &AutomationTimeAxisView::height_clicked)); clear_button.signal_clicked().connect (mem_fun(*this, &AutomationTimeAxisView::clear_clicked)); hide_button.signal_clicked().connect (mem_fun(*this, &AutomationTimeAxisView::hide_clicked)); auto_button.signal_clicked().connect (mem_fun(*this, &AutomationTimeAxisView::auto_clicked)); @@ -362,12 +361,6 @@ AutomationTimeAxisView::set_interpolation (AutomationList::InterpolationStyle st } void -AutomationTimeAxisView::height_clicked () -{ - popup_size_menu (0); -} - -void AutomationTimeAxisView::clear_clicked () { _session.begin_reversible_command (_("clear automation")); @@ -380,10 +373,9 @@ void AutomationTimeAxisView::set_height (uint32_t h) { bool changed = (height != (uint32_t) h) || first_call_to_set_height; - bool changed_between_small_and_normal = ( (h == hSmall || h == hSmaller) ^ (height == hSmall || height == hSmaller) ); + bool changed_between_small_and_normal = ( (height < hNormal && h >= hNormal) || (height >= hNormal || h < hNormal) ); TimeAxisView* state_parent = get_parent_with_state (); - assert(state_parent); XMLNode* xml_node = state_parent->get_automation_child_xml_node (_control->parameter()); @@ -427,7 +419,6 @@ AutomationTimeAxisView::set_height (uint32_t h) name_hbox.show_all (); auto_button.show(); - height_button.show(); clear_button.show(); hide_button.show_all(); @@ -446,15 +437,11 @@ AutomationTimeAxisView::set_height (uint32_t h) name_hbox.show_all (); auto_button.hide(); - height_button.hide(); clear_button.hide(); hide_button.hide(); } - } else if (h >= hNormal){ - auto_button.show(); - height_button.show(); - clear_button.show(); - hide_button.show_all(); + } else if (h >= hNormal){ + cerr << "track grown, but neither changed_between_small_and_normal nor first_call_to_set_height set!" << endl; } if (changed) { diff --git a/gtk2_ardour/automation_time_axis.h b/gtk2_ardour/automation_time_axis.h index 8899dc4949..d749a5fbf0 100644 --- a/gtk2_ardour/automation_time_axis.h +++ b/gtk2_ardour/automation_time_axis.h @@ -122,7 +122,6 @@ class AutomationTimeAxisView : public TimeAxisView { bool first_call_to_set_height; Gtk::Button hide_button; - Gtk::Button height_button; Gtk::Button clear_button; Gtk::Button auto_button; Gtk::Menu* automation_menu; @@ -140,7 +139,6 @@ class AutomationTimeAxisView : public TimeAxisView { void add_line (boost::shared_ptr<AutomationLine>); void clear_clicked (); - void height_clicked (); void hide_clicked (); void auto_clicked (); diff --git a/gtk2_ardour/canvas-waveview.c b/gtk2_ardour/canvas-waveview.c index dee5706c51..f929b31197 100644 --- a/gtk2_ardour/canvas-waveview.c +++ b/gtk2_ardour/canvas-waveview.c @@ -1359,8 +1359,9 @@ gnome_canvas_waveview_render (GnomeCanvasItem *item, prev_pymax = pymax; prev_pymin = pymin; } - } - else if(waveview->filled && rectify) { + + } else if (waveview->filled && rectify) { + int prev_pymax = -1; int last_pymax = -1; int next_pymax; @@ -1611,11 +1612,10 @@ gnome_canvas_waveview_draw (GnomeCanvasItem *item, int cache_index; double zbegin, zend; gboolean rectify; - double n; double origin; double clip_length; double xoff; - double yoff; + double yoff = 0.0; double ulx; double uly; double lrx; @@ -1748,7 +1748,8 @@ gnome_canvas_waveview_draw (GnomeCanvasItem *item, yoff = origin - (waveview->half_height * max) + 0.5; - if (n == ulx) { + if (xoff == ulx) { + /* first point */ cairo_move_to (cr, xoff+0.5, yoff); } else { cairo_line_to (cr, xoff+0.5, yoff); diff --git a/gtk2_ardour/canvas_vars.h b/gtk2_ardour/canvas_vars.h index 6b14d257ad..6f87539dd5 100644 --- a/gtk2_ardour/canvas_vars.h +++ b/gtk2_ardour/canvas_vars.h @@ -1,5 +1,6 @@ CANVAS_VARIABLE(canvasvar_ActiveCrossfade, "active crossfade") CANVAS_VARIABLE(canvasvar_AudioBusBase, "audio bus base") +CANVAS_VARIABLE(canvasvar_AudioMasterBusBase, "audio master bus base") CANVAS_VARIABLE(canvasvar_AudioTrackBase, "audio track base") CANVAS_VARIABLE(canvasvar_AutomationLine, "automation line") CANVAS_VARIABLE(canvasvar_AutomationTrackFill, "automation track fill") diff --git a/gtk2_ardour/cocoacarbon.mm b/gtk2_ardour/cocoacarbon.mm index 75df481186..e4f833dd26 100644 --- a/gtk2_ardour/cocoacarbon.mm +++ b/gtk2_ardour/cocoacarbon.mm @@ -163,3 +163,16 @@ ARDOUR_UI::platform_setup () } } +bool +cocoa_open_url (const char* uri) +{ + NSString* struri = [[NSString alloc] initWithUTF8String:uri]; + NSURL* nsurl = [[NSURL alloc] initWithString:struri]; + + bool ret = [[NSWorkspace sharedWorkspace] openURL:nsurl]; + + [struri release]; + [nsurl release]; + + return ret; +} diff --git a/gtk2_ardour/crossfade_edit.cc b/gtk2_ardour/crossfade_edit.cc index 3c67c62f68..eb5cb2fba9 100644 --- a/gtk2_ardour/crossfade_edit.cc +++ b/gtk2_ardour/crossfade_edit.cc @@ -36,6 +36,7 @@ #include <ardour/audiosource.h> #include <ardour/playlist_templates.h> #include <ardour/region_factory.h> +#include <ardour/profile.h> #include <gtkmm2ext/gtk_ui.h> @@ -48,6 +49,7 @@ #include "canvas_impl.h" #include "simplerect.h" #include "waveview.h" +#include "actions.h" using namespace std; using namespace ARDOUR; @@ -99,6 +101,8 @@ CrossfadeEditor::CrossfadeEditor (Session& s, boost::shared_ptr<Crossfade> xf, d set_name ("CrossfadeEditWindow"); set_position (Gtk::WIN_POS_MOUSE); + add_accel_group (ActionManager::ui_manager->get_accel_group()); + add_events (Gdk::KEY_PRESS_MASK|Gdk::KEY_RELEASE_MASK|Gdk::POINTER_MOTION_MASK); RadioButtonGroup sel_but_group = select_in_button.get_group(); @@ -198,6 +202,7 @@ CrossfadeEditor::CrossfadeEditor (Session& s, boost::shared_ptr<Crossfade> xf, d pbutton->add (*pxmap); pbutton->set_name ("CrossfadeEditButton"); pbutton->signal_clicked().connect (bind (mem_fun(*this, &CrossfadeEditor::apply_preset), *i)); + ARDOUR_UI::instance()->set_tip (pbutton, (*i)->name, ""); fade_in_table.attach (*pbutton, col, col+1, row, row+1); fade_in_buttons.push_back (pbutton); @@ -219,6 +224,7 @@ CrossfadeEditor::CrossfadeEditor (Session& s, boost::shared_ptr<Crossfade> xf, d pbutton->add (*pxmap); pbutton->set_name ("CrossfadeEditButton"); pbutton->signal_clicked().connect (bind (mem_fun(*this, &CrossfadeEditor::apply_preset), *i)); + ARDOUR_UI::instance()->set_tip (pbutton, (*i)->name, ""); fade_out_table.attach (*pbutton, col, col+1, row, row+1); fade_out_buttons.push_back (pbutton); @@ -398,7 +404,7 @@ CrossfadeEditor::point_event (GdkEvent* event, Point* point) if (Keyboard::is_delete_event (&event->button)) { fade[current].points.remove (point); delete point; - } + } redraw (); break; @@ -853,58 +859,19 @@ CrossfadeEditor::build_presets () fade_out_presets = new Presets; /* FADE OUT */ - // p = new Preset ("hiin.xpm"); - p = new Preset ("crossfade_in_fast-cut"); - p->push_back (PresetPoint (0, 0)); - p->push_back (PresetPoint (0.0207373, 0.197222)); - p->push_back (PresetPoint (0.0645161, 0.525)); - p->push_back (PresetPoint (0.152074, 0.802778)); - p->push_back (PresetPoint (0.276498, 0.919444)); - p->push_back (PresetPoint (0.481567, 0.980556)); - p->push_back (PresetPoint (0.767281, 1)); - p->push_back (PresetPoint (1, 1)); - fade_in_presets->push_back (p); - - // p = new Preset ("loin.xpm"); - p = new Preset ("crossfade_in_transition"); - p->push_back (PresetPoint (0, 0)); - p->push_back (PresetPoint (0.389401, 0.0333333)); - p->push_back (PresetPoint (0.629032, 0.0861111)); - p->push_back (PresetPoint (0.829493, 0.233333)); - p->push_back (PresetPoint (0.9447, 0.483333)); - p->push_back (PresetPoint (0.976959, 0.697222)); - p->push_back (PresetPoint (1, 1)); - fade_in_presets->push_back (p); - - // p = new Preset ("regin.xpm"); - p = new Preset ("crossfade_in_constant"); - p->push_back (PresetPoint (0, 0)); - p->push_back (PresetPoint (0.0737327, 0.308333)); - p->push_back (PresetPoint (0.246544, 0.658333)); - p->push_back (PresetPoint (0.470046, 0.886111)); - p->push_back (PresetPoint (0.652074, 0.972222)); - p->push_back (PresetPoint (0.771889, 0.988889)); - p->push_back (PresetPoint (1, 1)); - fade_in_presets->push_back (p); - - // p = new Preset ("regin2.xpm"); - p = new Preset ("crossfade_in_slow-cut"); - p->push_back (PresetPoint (0, 0)); - p->push_back (PresetPoint (0.304147, 0.0694444)); - p->push_back (PresetPoint (0.529954, 0.152778)); - p->push_back (PresetPoint (0.725806, 0.333333)); - p->push_back (PresetPoint (0.847926, 0.558333)); - p->push_back (PresetPoint (0.919355, 0.730556)); - p->push_back (PresetPoint (1, 1)); - fade_in_presets->push_back (p); - // p = new Preset ("linin.xpm"); - p = new Preset ("crossfade_in_dipped"); + p = new Preset ("Linear (-6dB)", "crossfade_in_dipped"); p->push_back (PresetPoint (0, 0)); - p->push_back (PresetPoint (1, 1)); + p->push_back (PresetPoint (0.000000, 0.000000)); + p->push_back (PresetPoint (0.166667, 0.166366)); + p->push_back (PresetPoint (0.333333, 0.332853)); + p->push_back (PresetPoint (0.500000, 0.499459)); + p->push_back (PresetPoint (0.666667, 0.666186)); + p->push_back (PresetPoint (0.833333, 0.833033)); + p->push_back (PresetPoint (1.000000, 1.000000)); fade_in_presets->push_back (p); - p = new Preset ("crossfade_in_default"); + p = new Preset ("S(1)-curve", "crossfade_in_default"); p->push_back (PresetPoint (0, 0)); p->push_back (PresetPoint (0.1, 0.01)); p->push_back (PresetPoint (0.2, 0.03)); @@ -912,66 +879,141 @@ CrossfadeEditor::build_presets () p->push_back (PresetPoint (0.9, 0.99)); p->push_back (PresetPoint (1, 1)); fade_in_presets->push_back (p); + + p = new Preset ("S(2)-curve", "crossfade_in_default"); + p->push_back (PresetPoint (0.0, 0.0)); + p->push_back (PresetPoint (0.055, 0.222)); + p->push_back (PresetPoint (0.163, 0.35)); + p->push_back (PresetPoint (0.837, 0.678)); + p->push_back (PresetPoint (0.945, 0.783)); + p->push_back (PresetPoint (1.0, 1.0)); + fade_in_presets->push_back (p); + + p = new Preset ("Constant Power (-3dB)", "crossfade_in_constant"); + + p->push_back (PresetPoint (0.000000, 0.000000)); + p->push_back (PresetPoint (0.166667, 0.282192)); + p->push_back (PresetPoint (0.333333, 0.518174)); + p->push_back (PresetPoint (0.500000, 0.707946)); + p->push_back (PresetPoint (0.666667, 0.851507)); + p->push_back (PresetPoint (0.833333, 0.948859)); + p->push_back (PresetPoint (1.000000, 1.000000)); + + fade_in_presets->push_back (p); + + if (!Profile->get_sae()) { + // p = new Preset ("hiin.xpm"); + p = new Preset ("Long cut", "crossfade_in_fast-cut"); + p->push_back (PresetPoint (0, 0)); + p->push_back (PresetPoint (0.0207373, 0.197222)); + p->push_back (PresetPoint (0.0645161, 0.525)); + p->push_back (PresetPoint (0.152074, 0.802778)); + p->push_back (PresetPoint (0.276498, 0.919444)); + p->push_back (PresetPoint (0.481567, 0.980556)); + p->push_back (PresetPoint (0.767281, 1)); + p->push_back (PresetPoint (1, 1)); + fade_in_presets->push_back (p); + + // p = new Preset ("loin.xpm"); + p = new Preset ("Short cut", "crossfade_in_transition"); + p->push_back (PresetPoint (0, 0)); + p->push_back (PresetPoint (0.389401, 0.0333333)); + p->push_back (PresetPoint (0.629032, 0.0861111)); + p->push_back (PresetPoint (0.829493, 0.233333)); + p->push_back (PresetPoint (0.9447, 0.483333)); + p->push_back (PresetPoint (0.976959, 0.697222)); + p->push_back (PresetPoint (1, 1)); + fade_in_presets->push_back (p); + + + // p = new Preset ("regin2.xpm"); + p = new Preset ("Slow cut", "crossfade_in_slow-cut"); + p->push_back (PresetPoint (0, 0)); + p->push_back (PresetPoint (0.304147, 0.0694444)); + p->push_back (PresetPoint (0.529954, 0.152778)); + p->push_back (PresetPoint (0.725806, 0.333333)); + p->push_back (PresetPoint (0.847926, 0.558333)); + p->push_back (PresetPoint (0.919355, 0.730556)); + p->push_back (PresetPoint (1, 1)); + fade_in_presets->push_back (p); + } /* FADE OUT */ - // p = new Preset ("hiout.xpm"); - p = new Preset ("crossfade_out_fast-cut"); - p->push_back (PresetPoint (0, 1)); - p->push_back (PresetPoint (0.305556, 1)); - p->push_back (PresetPoint (0.548611, 0.991736)); - p->push_back (PresetPoint (0.759259, 0.931129)); - p->push_back (PresetPoint (0.918981, 0.68595)); - p->push_back (PresetPoint (0.976852, 0.22865)); - p->push_back (PresetPoint (1, 0)); - fade_out_presets->push_back (p); - - // p = new Preset ("loout.xpm"); - p = new Preset ("crossfade_out_transition"); + // p = new Preset ("regout.xpm"); + p = new Preset ("Linear (-6dB cut)", "crossfade_out_dipped"); p->push_back (PresetPoint (0, 1)); - p->push_back (PresetPoint (0.023041, 0.697222)); - p->push_back (PresetPoint (0.0553, 0.483333)); - p->push_back (PresetPoint (0.170507, 0.233333)); - p->push_back (PresetPoint (0.370968, 0.0861111)); - p->push_back (PresetPoint (0.610599, 0.0333333)); - p->push_back (PresetPoint (1, 0)); + p->push_back (PresetPoint (0.000000, 1.000000)); + p->push_back (PresetPoint (0.166667, 0.833033)); + p->push_back (PresetPoint (0.333333, 0.666186)); + p->push_back (PresetPoint (0.500000, 0.499459)); + p->push_back (PresetPoint (0.666667, 0.332853)); + p->push_back (PresetPoint (0.833333, 0.166366)); + p->push_back (PresetPoint (1.000000, 0.000000)); fade_out_presets->push_back (p); - // p = new Preset ("regout.xpm"); - p = new Preset ("crossfade_out_constant"); + p = new Preset ("S(1)-Curve", "crossfade_out_default"); p->push_back (PresetPoint (0, 1)); - p->push_back (PresetPoint (0.228111, 0.988889)); - p->push_back (PresetPoint (0.347926, 0.972222)); - p->push_back (PresetPoint (0.529954, 0.886111)); - p->push_back (PresetPoint (0.753456, 0.658333)); - p->push_back (PresetPoint (0.9262673, 0.308333)); + p->push_back (PresetPoint (0.1, 0.99)); + p->push_back (PresetPoint (0.2, 0.97)); + p->push_back (PresetPoint (0.8, 0.03)); + p->push_back (PresetPoint (0.9, 0.01)); p->push_back (PresetPoint (1, 0)); fade_out_presets->push_back (p); - // p = new Preset ("regout2.xpm"); - p = new Preset ("crossfade_out_slow-fade"); - p->push_back (PresetPoint (0, 1)); - p->push_back (PresetPoint (0.080645, 0.730556)); - p->push_back (PresetPoint (0.277778, 0.289256)); - p->push_back (PresetPoint (0.470046, 0.152778)); - p->push_back (PresetPoint (0.695853, 0.0694444)); - p->push_back (PresetPoint (1, 0)); + p = new Preset ("S(2)-Curve", "crossfade_out_default"); + p->push_back (PresetPoint (0.0, 1.0)); + p->push_back (PresetPoint (0.163, 0.678)); + p->push_back (PresetPoint (0.055, 0.783)); + p->push_back (PresetPoint (0.837, 0.35)); + p->push_back (PresetPoint (0.945, 0.222)); + p->push_back (PresetPoint (1.0, 0.0)); fade_out_presets->push_back (p); // p = new Preset ("linout.xpm"); - p = new Preset ("crossfade_out_dipped"); - p->push_back (PresetPoint (0, 1)); - p->push_back (PresetPoint (1, 0)); + p = new Preset ("Constant Power (-3dB cut)", "crossfade_out_constant"); + p->push_back (PresetPoint (0.000000, 1.000000)); + p->push_back (PresetPoint (0.166667, 0.948859)); + p->push_back (PresetPoint (0.333333, 0.851507)); + p->push_back (PresetPoint (0.500000, 0.707946)); + p->push_back (PresetPoint (0.666667, 0.518174)); + p->push_back (PresetPoint (0.833333, 0.282192)); + p->push_back (PresetPoint (1.000000, 0.000000)); fade_out_presets->push_back (p); - p = new Preset ("crossfade_out_default"); - p->push_back (PresetPoint (0, 1)); - p->push_back (PresetPoint (0.1, 0.99)); - p->push_back (PresetPoint (0.2, 0.97)); - p->push_back (PresetPoint (0.8, 0.03)); - p->push_back (PresetPoint (0.9, 0.01)); - p->push_back (PresetPoint (1, 0)); - fade_out_presets->push_back (p); + if (!Profile->get_sae()) { + // p = new Preset ("hiout.xpm"); + p = new Preset ("Slow end/cut", "crossfade_out_fast-cut"); + p->push_back (PresetPoint (0, 1)); + p->push_back (PresetPoint (0.305556, 1)); + p->push_back (PresetPoint (0.548611, 0.991736)); + p->push_back (PresetPoint (0.759259, 0.931129)); + p->push_back (PresetPoint (0.918981, 0.68595)); + p->push_back (PresetPoint (0.976852, 0.22865)); + p->push_back (PresetPoint (1, 0)); + fade_out_presets->push_back (p); + + // p = new Preset ("loout.xpm"); + p = new Preset ("Fast start/cut", "crossfade_out_transition"); + p->push_back (PresetPoint (0, 1)); + p->push_back (PresetPoint (0.023041, 0.697222)); + p->push_back (PresetPoint (0.0553, 0.483333)); + p->push_back (PresetPoint (0.170507, 0.233333)); + p->push_back (PresetPoint (0.370968, 0.0861111)); + p->push_back (PresetPoint (0.610599, 0.0333333)); + p->push_back (PresetPoint (1, 0)); + fade_out_presets->push_back (p); + + // p = new Preset ("regout2.xpm"); + p = new Preset ("Slow Fade", "crossfade_out_slow-fade"); + p->push_back (PresetPoint (0, 1)); + p->push_back (PresetPoint (0.080645, 0.730556)); + p->push_back (PresetPoint (0.277778, 0.289256)); + p->push_back (PresetPoint (0.470046, 0.152778)); + p->push_back (PresetPoint (0.695853, 0.0694444)); + p->push_back (PresetPoint (1, 0)); + fade_out_presets->push_back (p); + } } void @@ -1037,7 +1079,7 @@ CrossfadeEditor::x_coordinate (double& xfract) const { xfract = min (1.0, xfract); xfract = max (0.0, xfract); - + return canvas_border + (xfract * effective_width()); } @@ -1296,3 +1338,44 @@ CrossfadeEditor::audition_left_dry_toggled () } } } + +bool +CrossfadeEditor::on_key_press_event (GdkEventKey *ev) +{ + return true; +} + +bool +CrossfadeEditor::on_key_release_event (GdkEventKey* ev) +{ + switch (ev->keyval) { + case GDK_Right: + if (Keyboard::modifier_state_equals (ev->state, Keyboard::PrimaryModifier)) { + audition_right_dry_button.set_active (!audition_right_dry_button.get_active()); + } else { + audition_right_button.set_active (!audition_right_button.get_active()); + } + break; + + case GDK_Left: + if (Keyboard::modifier_state_equals (ev->state, Keyboard::PrimaryModifier)) { + audition_left_dry_button.set_active (!audition_left_dry_button.get_active()); + } else { + audition_left_button.set_active (!audition_left_button.get_active()); + } + break; + + case GDK_space: + if (session.is_auditioning()) { + cancel_audition (); + } else { + audition_both_button.set_active (!audition_both_button.get_active()); + } + break; + + default: + break; + } + + return true; +} diff --git a/gtk2_ardour/crossfade_edit.h b/gtk2_ardour/crossfade_edit.h index 9e4db3be88..f7f607393f 100644 --- a/gtk2_ardour/crossfade_edit.h +++ b/gtk2_ardour/crossfade_edit.h @@ -62,15 +62,20 @@ class CrossfadeEditor : public ArdourDialog }; struct Preset : public list<PresetPoint> { + const char* name; const char* image_name; - - Preset (const char* x) : image_name (x) {} + + Preset (const char* n, const char* x) : name (n), image_name (x) {} }; typedef list<Preset*> Presets; static Presets* fade_in_presets; static Presets* fade_out_presets; + + protected: + bool on_key_press_event (GdkEventKey*); + bool on_key_release_event (GdkEventKey*); private: boost::shared_ptr<ARDOUR::Crossfade> xfade; diff --git a/gtk2_ardour/crossfade_view.cc b/gtk2_ardour/crossfade_view.cc index 8507d5e4d9..a412e310af 100644 --- a/gtk2_ardour/crossfade_view.cc +++ b/gtk2_ardour/crossfade_view.cc @@ -175,7 +175,7 @@ CrossfadeView::redraw_curves () } npoints = get_time_axis_view().editor.frame_to_pixel (crossfade->length()); - npoints = std::min (gdk_screen_width(), npoints); + // npoints = std::min (gdk_screen_width(), npoints); if (!_visible || !crossfade->active() || npoints < 3) { fade_in->hide(); @@ -190,6 +190,7 @@ CrossfadeView::redraw_curves () vec = new float[npoints]; crossfade->fade_in().curve().get_vector (0, crossfade->length(), vec, npoints); + for (int i = 0, pci = 0; i < npoints; ++i) { Art::Point &p = (*points)[pci++]; p.set_x(i); diff --git a/gtk2_ardour/editor.cc b/gtk2_ardour/editor.cc index 6cc35252d5..6f7a5eb132 100644 --- a/gtk2_ardour/editor.cc +++ b/gtk2_ardour/editor.cc @@ -369,6 +369,7 @@ Editor::Editor () range_marker_drag_rect = 0; marker_drag_line = 0; set_midi_edit_mode (MidiEditPencil, true); + _edit_point = EditAtMouse; set_mouse_mode (MouseObject, true); frames_per_unit = 2048; /* too early to use reset_zoom () */ @@ -944,22 +945,24 @@ Editor::set_entered_track (TimeAxisView* tav) void Editor::show_window () { - show_all_children (); + if (! is_visible ()) { + show_all (); - /* re-hide editor list if necessary */ - editor_list_button_toggled (); - - /* now reset all audio_time_axis heights, because widgets might need - to be re-hidden - */ - - TimeAxisView *tv; + /* re-hide editor list if necessary */ + editor_list_button_toggled (); + + /* now reset all audio_time_axis heights, because widgets might need + to be re-hidden + */ + + TimeAxisView *tv; - for (TrackViewList::iterator i = track_views.begin(); i != track_views.end(); ++i) { - tv = (static_cast<TimeAxisView*>(*i)); - tv->reset_height (); + for (TrackViewList::iterator i = track_views.begin(); i != track_views.end(); ++i) { + tv = (static_cast<TimeAxisView*>(*i)); + tv->reset_height (); + } } - + present (); } @@ -1099,8 +1102,6 @@ Editor::access_action (std::string action_group, std::string action_item) ENSURE_GUI_THREAD (bind (mem_fun (*this, &Editor::access_action), action_group, action_item)); - cout<< "OSC: Recieved: "<< action_item << endl; - RefPtr<Action> act; act = ActionManager::get_action( action_group.c_str(), action_item.c_str() ); @@ -1276,11 +1277,23 @@ Editor::connect_to_session (Session *t) edit_groups_changed (); + edit_point_clock.set_mode(AudioClock::BBT); edit_point_clock.set_session (session); zoom_range_clock.set_session (session); _playlist_selector->set_session (session); nudge_clock.set_session (session); - nudge_clock.set (session->frame_rate() * 5); // default of 5 seconds + if (Profile->get_sae()) { + BBT_Time bbt; + bbt.bars = 0; + bbt.beats = 0; + bbt.ticks = 120; + nframes_t pos = session->tempo_map().bbt_duration_at (0, bbt, 1); + nudge_clock.set_mode(AudioClock::BBT); + nudge_clock.set (pos, true, 0, AudioClock::BBT); + + } else { + nudge_clock.set (session->frame_rate() * 5, true, 0, AudioClock::SMPTE); // default of 5 seconds + } playhead_cursor->canvas_item.show (); @@ -1338,16 +1351,16 @@ Editor::connect_to_session (Session *t) redisplay_named_selections (); redisplay_snapshots (); + restore_ruler_visibility (); + //tempo_map_changed (Change (0)); + session->tempo_map().apply_with_metrics (*this, &Editor::draw_metric_marks); + initial_route_list_display (); for (TrackViewList::iterator i = track_views.begin(); i != track_views.end(); ++i) { (static_cast<TimeAxisView*>(*i))->set_samples_per_unit (frames_per_unit); } - restore_ruler_visibility (); - //tempo_map_changed (Change (0)); - session->tempo_map().apply_with_metrics (*this, &Editor::draw_metric_marks); - start_scrolling (); /* don't show master bus in a new session */ @@ -1889,10 +1902,11 @@ void Editor::add_region_context_items (StreamView* sv, boost::shared_ptr<Region> region, Menu_Helpers::MenuList& edit_items) { using namespace Menu_Helpers; + Gtk::MenuItem* foo_item; Menu *region_menu = manage (new Menu); MenuList& items = region_menu->items(); region_menu->set_name ("ArdourContextMenu"); - + boost::shared_ptr<AudioRegion> ar; boost::shared_ptr<MidiRegion> mr; @@ -2031,7 +2045,12 @@ Editor::add_region_context_items (StreamView* sv, boost::shared_ptr<Region> regi /* range related stuff */ - items.push_back (MenuElem (_("Add Range Markers"), mem_fun (*this, &Editor::add_location_from_audio_region))); + items.push_back (MenuElem (_("Add Single Range"), mem_fun (*this, &Editor::add_location_from_audio_region))); + items.push_back (MenuElem (_("Add Range Markers"), mem_fun (*this, &Editor::add_locations_from_audio_region))); + if (selection->regions.size() < 2) { + items.back().set_sensitive (false); + } + items.push_back (MenuElem (_("Set Range Selection"), mem_fun (*this, &Editor::set_selection_from_region))); items.push_back (SeparatorElem()); @@ -2054,7 +2073,15 @@ Editor::add_region_context_items (StreamView* sv, boost::shared_ptr<Region> regi trim_menu->set_name ("ArdourContextMenu"); trim_items.push_back (MenuElem (_("Start to edit point"), mem_fun(*this, &Editor::trim_region_from_edit_point))); + foo_item = &trim_items.back(); + if (_edit_point == EditAtMouse) { + foo_item->set_sensitive (false); + } trim_items.push_back (MenuElem (_("Edit point to end"), mem_fun(*this, &Editor::trim_region_to_edit_point))); + foo_item = &trim_items.back(); + if (_edit_point == EditAtMouse) { + foo_item->set_sensitive (false); + } trim_items.push_back (MenuElem (_("Trim To Loop"), mem_fun(*this, &Editor::trim_region_to_loop))); trim_items.push_back (MenuElem (_("Trim To Punch"), mem_fun(*this, &Editor::trim_region_to_punch))); @@ -2063,6 +2090,10 @@ Editor::add_region_context_items (StreamView* sv, boost::shared_ptr<Region> regi items.push_back (MenuElem (_("Split"), (mem_fun(*this, &Editor::split_region)))); region_edit_menu_split_item = &items.back(); + + if (_edit_point == EditAtMouse) { + region_edit_menu_split_item->set_sensitive (false); + } items.push_back (MenuElem (_("Make mono regions"), (mem_fun(*this, &Editor::split_multichannel_region)))); region_edit_menu_split_multichannel_item = &items.back(); @@ -2418,23 +2449,56 @@ Editor::set_state (const XMLNode& node) _id = prop->value (); } - if ((geometry = find_named_node (node, "geometry")) == 0) { + g.base_width = default_width; + g.base_height = default_height; + x = 1; + y = 1; + xoff = 0; + yoff = 21; - g.base_width = default_width; - g.base_height = default_height; - x = 1; - y = 1; - xoff = 0; - yoff = 21; + if ((geometry = find_named_node (node, "geometry")) != 0) { - } else { + XMLProperty* prop; + + if ((prop = geometry->property("x_size")) == 0) { + prop = geometry->property ("x-size"); + } + if (prop) { + g.base_width = atoi(prop->value()); + } + if ((prop = geometry->property("y_size")) == 0) { + prop = geometry->property ("y-size"); + } + if (prop) { + g.base_height = atoi(prop->value()); + } + + if ((prop = geometry->property ("x_pos")) == 0) { + prop = geometry->property ("x-pos"); + } + if (prop) { + x = atoi (prop->value()); + + } + if ((prop = geometry->property ("y_pos")) == 0) { + prop = geometry->property ("y-pos"); + } + if (prop) { + y = atoi (prop->value()); + } - g.base_width = atoi(geometry->property("x-size")->value()); - g.base_height = atoi(geometry->property("y-size")->value()); - x = atoi(geometry->property("x-pos")->value()); - y = atoi(geometry->property("y-pos")->value()); - xoff = atoi(geometry->property("x-off")->value()); - yoff = atoi(geometry->property("y-off")->value()); + if ((prop = geometry->property ("x_off")) == 0) { + prop = geometry->property ("x-off"); + } + if (prop) { + xoff = atoi (prop->value()); + } + if ((prop = geometry->property ("y_off")) == 0) { + prop = geometry->property ("y-off"); + } + if (prop) { + yoff = atoi (prop->value()); + } } set_default_size (g.base_width, g.base_height); @@ -2941,7 +3005,7 @@ Editor::setup_toolbar () #ifdef GTKOSX const guint32 FUDGE = 38; // Combo's are stupid - they steal space from the entry for the button #else - const guint32 FUDGE = 18; // Combo's are stupid - they steal space from the entry for the button + const guint32 FUDGE = 24; // Combo's are stupid - they steal space from the entry for the button #endif /* Mode Buttons (tool selection) */ @@ -2996,7 +3060,9 @@ Editor::setup_toolbar () vector<string> edit_mode_strings; edit_mode_strings.push_back (edit_mode_to_string (Slide)); - edit_mode_strings.push_back (edit_mode_to_string (Splice)); + if (!Profile->get_sae()) { + edit_mode_strings.push_back (edit_mode_to_string (Splice)); + } edit_mode_strings.push_back (edit_mode_to_string (Lock)); edit_mode_selector.set_name ("EditModeSelector"); @@ -3010,6 +3076,10 @@ Editor::setup_toolbar () mouse_mode_tearoff = manage (new TearOff (*mode_box)); mouse_mode_tearoff->set_name ("MouseModeBase"); + if (Profile->get_sae()) { + mouse_mode_tearoff->set_can_be_torn_off (false); + } + mouse_mode_tearoff->Detach.connect (bind (mem_fun(*this, &Editor::detach_tearoff), static_cast<Box*>(&toolbar_hbox), &mouse_mode_tearoff->tearoff_window())); mouse_mode_tearoff->Attach.connect (bind (mem_fun(*this, &Editor::reattach_tearoff), static_cast<Box*> (&toolbar_hbox), @@ -3138,6 +3208,10 @@ Editor::setup_toolbar () tools_tearoff = manage (new TearOff (*hbox)); tools_tearoff->set_name ("MouseModeBase"); + if (Profile->get_sae()) { + tools_tearoff->set_can_be_torn_off (false); + } + tools_tearoff->Detach.connect (bind (mem_fun(*this, &Editor::detach_tearoff), static_cast<Box*>(&toolbar_hbox), &tools_tearoff->tearoff_window())); tools_tearoff->Attach.connect (bind (mem_fun(*this, &Editor::reattach_tearoff), static_cast<Box*> (&toolbar_hbox), @@ -3306,12 +3380,19 @@ Editor::convert_drop_to_paths (vector<ustring>& paths, } /* Parse the "uri-list" format that Nautilus provides, - where each pathname is delimited by \r\n + where each pathname is delimited by \r\n. + + THERE MAY BE NO NULL TERMINATING CHAR!!! */ - - const char* p = data.get_text().c_str(); + + ustring txt = data.get_text(); + const char* p; const char* q; + p = (const char *) malloc (txt.length() + 1); + txt.copy ((char *) p, txt.length(), 0); + ((char*)p)[txt.length()] = '\0'; + while (p) { if (*p != '#') @@ -3320,8 +3401,9 @@ Editor::convert_drop_to_paths (vector<ustring>& paths, p++; q = p; - while (*q && (*q != '\n') && (*q != '\r')) + while (*q && (*q != '\n') && (*q != '\r')) { q++; + } if (q > p) { @@ -3340,6 +3422,8 @@ Editor::convert_drop_to_paths (vector<ustring>& paths, p++; } + free ((void*)p); + if (uris.empty()) { return -1; } @@ -3638,7 +3722,11 @@ Editor::cycle_edit_mode () { switch (Config->get_edit_mode()) { case Slide: - Config->set_edit_mode (Splice); + if (Profile->get_sae()) { + Config->set_edit_mode (Lock); + } else { + Config->set_edit_mode (Splice); + } break; case Splice: Config->set_edit_mode (Lock); @@ -3911,12 +3999,23 @@ Editor::pane_allocation_handler (Allocation &alloc, Paned* which) static int32_t done; XMLNode* geometry; - if ((geometry = find_named_node (*node, "geometry")) == 0) { - width = default_width; - height = default_height; - } else { - width = atoi(geometry->property("x-size")->value()); - height = atoi(geometry->property("y-size")->value()); + width = default_width; + height = default_height; + + if ((geometry = find_named_node (*node, "geometry")) != 0) { + + if ((prop = geometry->property ("x_size")) == 0) { + prop = geometry->property ("x-size"); + } + if (prop) { + width = atoi (prop->value()); + } + if ((prop = geometry->property ("y_size")) == 0) { + prop = geometry->property ("y-size"); + } + if (prop) { + height = atoi (prop->value()); + } } if (which == static_cast<Paned*> (&edit_pane)) { @@ -4594,6 +4693,8 @@ Editor::set_frames_per_unit (double fpu) void Editor::post_zoom () { + nframes64_t cef = 0; + // convert fpu to frame count nframes64_t frames = (nframes64_t) floor (frames_per_unit * canvas_width); @@ -4614,9 +4715,16 @@ Editor::post_zoom () } } + ZoomChanged (); /* EMIT_SIGNAL */ reset_hscrollbar_stepping (); + + if (session) { + cef = session->current_end_frame() + (current_page_frames() / 10);// Add a little extra so we can see the end marker + } + horizontal_adjustment.set_upper (cef / frames_per_unit); + //reset_scrolling_region (); if (playhead_cursor) { @@ -4663,6 +4771,10 @@ Editor::idle_visual_changer () VisualChange::Type p = pending_visual_change.pending; pending_visual_change.pending = (VisualChange::Type) 0; +#ifdef FIX_THIS_FOR_V3 + double last_time_origin = horizontal_adjustment.get_value(); +#endif + if (p & VisualChange::ZoomLevel) { set_frames_per_unit (pending_visual_change.frames_per_unit); @@ -4672,25 +4784,34 @@ Editor::idle_visual_changer () update_tempo_based_rulers (); } if (p & VisualChange::TimeOrigin) { + horizontal_adjustment.set_value (pending_visual_change.time_origin / frames_per_unit); + } - nframes64_t csf=0, cef=0; - nframes64_t current_time_origin = (nframes64_t) floor (horizontal_adjustment.get_value() * frames_per_unit); - - if (session) { - csf = session->current_start_frame(); - cef = session->current_end_frame(); - } - - /* if we seek beyond the current end of the canvas, move the end */ + nframes64_t csf=0, cef=0; + nframes64_t current_time_origin = (nframes64_t) floor (horizontal_adjustment.get_value() * frames_per_unit); + + if (session) { + csf = session->current_start_frame(); + cef = session->current_end_frame(); + } + + /* if we seek beyond the current end of the canvas, move the end */ - if (current_time_origin != pending_visual_change.time_origin) { - cef += current_page_frames() / 10; // Add a little extra so we can see the end marker - horizontal_adjustment.set_upper (cef / frames_per_unit); - horizontal_adjustment.set_value (pending_visual_change.time_origin / frames_per_unit); - } else { - update_fixed_rulers(); - redisplay_tempo (true); - } +#ifdef FIX_THIS_FOR_V3 + if (last_time_origin == horizontal_adjustment.get_value() ) { + /* changed signal not emitted */ + update_fixed_rulers (); + redisplay_tempo (true); + } +#endif + + if (current_time_origin != pending_visual_change.time_origin) { + cef += current_page_frames() / 10; // Add a little extra so we can see the end marker + horizontal_adjustment.set_upper (cef / frames_per_unit); + horizontal_adjustment.set_value (pending_visual_change.time_origin / frames_per_unit); + } else { + update_fixed_rulers(); + redisplay_tempo (true); } //cerr << "Editor::idle_visual_changer () called ha v:l:u:ps:fpu = " << horizontal_adjustment.get_value() << ":" << horizontal_adjustment.get_lower() << ":" << horizontal_adjustment.get_upper() << ":" << horizontal_adjustment.get_page_size() << ":" << frames_per_unit << endl;//DEBUG pending_visual_change.idle_handler_id = -1; @@ -5016,6 +5137,9 @@ Editor::first_idle () for (TrackViewList::iterator t = track_views.begin(); t != track_views.end(); ++t) { (*t)->first_idle(); } + + // first idle adds route children (automation tracks), so we need to redisplay here + redisplay_route_list(); if (dialog) { delete dialog; @@ -5171,7 +5295,7 @@ Editor::add_to_idle_resize (TimeAxisView* view, uint32_t h) { if (resize_idle_id < 0) { resize_idle_id = g_idle_add (_idle_resizer, this); - } + } resize_idle_target = h; @@ -5189,6 +5313,7 @@ Editor::idle_resize () (*i)->idle_resize (resize_idle_target); } pending_resizes.clear(); + flush_canvas (); resize_idle_id = -1; return false; } diff --git a/gtk2_ardour/editor.h b/gtk2_ardour/editor.h index 0fb988bafd..2b421163e4 100644 --- a/gtk2_ardour/editor.h +++ b/gtk2_ardour/editor.h @@ -323,6 +323,7 @@ class Editor : public PublicEditor void toggle_measure_visibility (); void toggle_logo_visibility (); + double get_physical_screen_width () const { return physical_screen_width; }; double physical_screen_width; double physical_screen_height; @@ -342,7 +343,6 @@ class Editor : public PublicEditor void toggle_region_fades_visible (); void toggle_selected_region_fades (int dir); void update_region_fade_visibility (); - void toggle_auto_xfade (); void toggle_xfades_active (); void toggle_xfade_visibility (); @@ -649,6 +649,13 @@ class Editor : public PublicEditor ArdourCanvas::Group* cd_marker_bar_group; /** The group containing all items that require horizontal scrolling. */ + ArdourCanvas::Group* _background_group; + /* + The _master_group is the group containing all items + that require horizontal scrolling.. + It is primarily used to separate canvas items + that require horizontal scrolling from those that do not. + */ ArdourCanvas::Group* _master_group; /* The group containing all trackviews. Only scrolled vertically. */ @@ -779,6 +786,7 @@ class Editor : public PublicEditor static const double timebar_height; guint32 visible_timebars; gdouble canvas_timebars_vsize; + gdouble get_canvas_timebars_vsize () const { return canvas_timebars_vsize; } Gtk::Menu *editor_ruler_menu; ArdourCanvas::SimpleRect* tempo_bar; @@ -899,6 +907,8 @@ class Editor : public PublicEditor sigc::connection control_scroll_connection; gdouble get_trackview_group_vertical_offset () const { return vertical_adjustment.get_value () - canvas_timebars_vsize;} + + ArdourCanvas::Group* get_background_group () const { return _background_group; } ArdourCanvas::Group* get_trackview_group () const { return _trackview_group; } double last_trackview_group_vertical_offset; void tie_vertical_scrolling (); @@ -1138,6 +1148,7 @@ class Editor : public PublicEditor void toggle_region_mute (); void toggle_region_lock (); void toggle_region_opaque (); + void toggle_record_enable (); void set_region_lock_style (ARDOUR::Region::PositionLockStyle); void raise_region (); void raise_region_to_top (); @@ -1248,16 +1259,14 @@ class Editor : public PublicEditor void bring_in_external_audio (Editing::ImportMode mode, nframes64_t& pos); - void _do_import (vector<Glib::ustring> paths, Editing::ImportDisposition, Editing::ImportMode mode, ARDOUR::SrcQuality, nframes64_t&); + bool idle_drop_paths (std::vector<Glib::ustring> paths, nframes64_t frame, double ypos); + void drop_paths_part_two (const std::vector<Glib::ustring>& paths, nframes64_t frame, double ypos); + void do_import (vector<Glib::ustring> paths, Editing::ImportDisposition, Editing::ImportMode mode, ARDOUR::SrcQuality, nframes64_t&); - bool idle_do_import (vector<Glib::ustring> paths, Editing::ImportDisposition, Editing::ImportMode mode, ARDOUR::SrcQuality, nframes64_t&); - - void _do_embed (vector<Glib::ustring> paths, Editing::ImportDisposition, Editing::ImportMode mode, nframes64_t&); void do_embed (vector<Glib::ustring> paths, Editing::ImportDisposition, Editing::ImportMode mode, nframes64_t&); - bool idle_do_embed (vector<Glib::ustring> paths, Editing::ImportDisposition, Editing::ImportMode mode, nframes64_t&); int import_sndfiles (vector<Glib::ustring> paths, Editing::ImportMode mode, ARDOUR::SrcQuality, nframes64_t& pos, - int target_regions, int target_tracks, boost::shared_ptr<ARDOUR::Track>&, bool); + int target_regions, int target_tracks, boost::shared_ptr<ARDOUR::Track>, bool, uint32_t total); int embed_sndfiles (vector<Glib::ustring> paths, bool multiple_files, bool& check_sample_rate, Editing::ImportMode mode, nframes64_t& pos, int target_regions, int target_tracks, boost::shared_ptr<ARDOUR::Track>&); @@ -1286,10 +1295,20 @@ class Editor : public PublicEditor /* import specific info */ - ARDOUR::Session::import_status import_status; + struct EditorImportStatus : public ARDOUR::Session::import_status { + Editing::ImportMode mode; + nframes64_t pos; + int target_tracks; + int target_regions; + boost::shared_ptr<ARDOUR::Track> track; + bool replace; + }; + + EditorImportStatus import_status; gint import_progress_timeout (void *); static void *_import_thread (void *); void* import_thread (); + void finish_import (); /* to support this ... */ @@ -1338,6 +1357,7 @@ class Editor : public PublicEditor void add_location_mark (nframes64_t where); void add_location_from_audio_region (); + void add_locations_from_audio_region (); void add_location_from_selection (); void set_loop_from_selection (bool play); void set_punch_from_selection (); @@ -1382,6 +1402,7 @@ class Editor : public PublicEditor double snap_threshold; void handle_gui_changes (const string &, void *); + bool ignore_gui_changes; void hide_all_tracks (bool with_select); @@ -1397,6 +1418,8 @@ class Editor : public PublicEditor Gtk::Menu fade_context_menu; void popup_fade_context_menu (int, int, ArdourCanvas::Item*, ItemType); + void region_gain_motion_callback (ArdourCanvas::Item*, GdkEvent*); + void start_fade_in_grab (ArdourCanvas::Item*, GdkEvent*); void start_fade_out_grab (ArdourCanvas::Item*, GdkEvent*); void fade_in_drag_motion_callback (ArdourCanvas::Item*, GdkEvent*); @@ -1428,6 +1451,7 @@ class Editor : public PublicEditor void cursor_drag_motion_callback (ArdourCanvas::Item*, GdkEvent*); void cursor_drag_finished_callback (ArdourCanvas::Item*, GdkEvent*); + void cursor_drag_finished_ensure_locate_callback (ArdourCanvas::Item*, GdkEvent*); void marker_drag_motion_callback (ArdourCanvas::Item*, GdkEvent*); void marker_drag_finished_callback (ArdourCanvas::Item*, GdkEvent*); void control_point_drag_motion_callback (ArdourCanvas::Item*, GdkEvent*); @@ -1448,6 +1472,7 @@ class Editor : public PublicEditor void start_region_brush_grab (ArdourCanvas::Item*, GdkEvent*); void start_selection_grab (ArdourCanvas::Item*, GdkEvent*); void start_cursor_grab (ArdourCanvas::Item*, GdkEvent*); + void start_cursor_grab_no_stop (ArdourCanvas::Item*, GdkEvent*); void start_marker_grab (ArdourCanvas::Item*, GdkEvent*); void start_control_point_grab (ArdourCanvas::Item*, GdkEvent*); void start_line_grab_from_regionview (ArdourCanvas::Item*, GdkEvent*); @@ -1784,7 +1809,9 @@ public: ArdourCanvas::SimpleRect* range_marker_drag_rect; void update_marker_drag_item (ARDOUR::Location *); - +#ifdef GTKOSX + ArdourCanvas::SimpleRect *bogus_background_rect; +#endif ArdourCanvas::SimpleRect *transport_bar_range_rect; ArdourCanvas::SimpleRect *transport_bar_preroll_rect; ArdourCanvas::SimpleRect *transport_bar_postroll_rect; @@ -1996,7 +2023,6 @@ public: guint info, guint time); - void drop_paths (const Glib::RefPtr<Gdk::DragContext>& context, gint x, gint y, @@ -2109,6 +2135,7 @@ public: Gtk::ComboBoxText stretch_opts_selector; Gtk::Label stretch_opts_label; Gtk::ToggleButton precise_button; + Gtk::ToggleButton preserve_formants_button; Gtk::HBox opts_box; Gtk::Button* cancel_button; @@ -2151,7 +2178,9 @@ public: void detach_tearoff (Gtk::Box* b, Gtk::Window* w); void reattach_tearoff (Gtk::Box* b, Gtk::Window* w, int32_t n); - +#ifdef GTKOSX + void ensure_all_elements_drawn (); +#endif /* nudging tracks */ void nudge_track (bool use_edit_point, bool forwards); @@ -2250,6 +2279,7 @@ public: bool entered_track_canvas (GdkEventCrossing*); void set_entered_track (TimeAxisView*); void set_entered_regionview (RegionView*); + void ensure_track_visible (TimeAxisView*); gint left_automation_track (); bool _new_regionviews_show_envelope; diff --git a/gtk2_ardour/editor_actions.cc b/gtk2_ardour/editor_actions.cc index a8f3bf3028..75d4b76668 100644 --- a/gtk2_ardour/editor_actions.cc +++ b/gtk2_ardour/editor_actions.cc @@ -57,6 +57,8 @@ Editor::register_actions () ActionManager::register_action (editor_actions, X_("LatchMenu"), _("Latch")); ActionManager::register_action (editor_actions, X_("Layering"), _("Layering")); ActionManager::register_action (editor_actions, X_("Link"), _("Link")); + ActionManager::register_action (editor_actions, X_("ZoomFocusMenu"), _("Zoom Focus")); + ActionManager::register_action (editor_actions, X_("KeyMouseActions"), _("Key Mouse")); ActionManager::register_action (editor_actions, X_("LocateToMarker"), _("Locate To Markers")); ActionManager::register_action (editor_actions, X_("MarkerMenu"), _("Markers")); ActionManager::register_action (editor_actions, X_("MeterFalloff"), _("Meter falloff")); @@ -207,6 +209,9 @@ Editor::register_actions () act = ActionManager::register_action (editor_actions, "select-prev-route", _("Select Previous Track/Bus"), mem_fun(*this, &Editor::select_prev_route)); ActionManager::session_sensitive_actions.push_back (act); + act = ActionManager::register_action (editor_actions, "track-record-enable-toggle", _("Toggle Record Enable"), mem_fun(*this, &Editor::toggle_record_enable)); + ActionManager::session_sensitive_actions.push_back (act); + act = ActionManager::register_action (editor_actions, "save-visual-state-1", _("Save View 1"), bind (mem_fun (*this, &Editor::start_visual_state_op), 0)); ActionManager::session_sensitive_actions.push_back (act); @@ -378,6 +383,7 @@ Editor::register_actions () ActionManager::region_selection_sensitive_actions.push_back (act); act = ActionManager::register_action (editor_actions, "loop-region", _("Loop Region"), bind (mem_fun(*this, &Editor::set_loop_from_region), true)); ActionManager::session_sensitive_actions.push_back (act); + ActionManager::region_selection_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)); @@ -389,6 +395,12 @@ Editor::register_actions () act = ActionManager::register_action (editor_actions, "toggle-opaque-region", _("Toggle Opaque"), mem_fun(*this, &Editor::toggle_region_opaque)); ActionManager::session_sensitive_actions.push_back (act); ActionManager::region_selection_sensitive_actions.push_back (act); + act = ActionManager::register_action (editor_actions, "add-range-marker-from-region", _("Add 1 Range Marker"), mem_fun(*this, &Editor::add_location_from_audio_region)); + ActionManager::session_sensitive_actions.push_back (act); + ActionManager::region_selection_sensitive_actions.push_back (act); + act = ActionManager::register_action (editor_actions, "add-range-markers-from-region", _("Add Range Marker(s)"), mem_fun(*this, &Editor::add_locations_from_audio_region)); + ActionManager::session_sensitive_actions.push_back (act); + ActionManager::region_selection_sensitive_actions.push_back (act); act = ActionManager::register_action (editor_actions, "set-fade-in-length", _("Set Fade In Length"), bind (mem_fun(*this, &Editor::set_fade_length), true)); ActionManager::session_sensitive_actions.push_back (act); @@ -588,7 +600,11 @@ Editor::register_actions () act = ActionManager::register_action (editor_actions, "toggle-track-active", _("Toggle Active"), (mem_fun(*this, &Editor::toggle_tracks_active))); ActionManager::session_sensitive_actions.push_back (act); ActionManager::track_selection_sensitive_actions.push_back (act); - act = ActionManager::register_action (editor_actions, "remove-track", _("Remove"), (mem_fun(*this, &Editor::remove_tracks))); + if (Profile->get_sae()) { + act = ActionManager::register_action (editor_actions, "remove-track", _("Delete"), (mem_fun(*this, &Editor::remove_tracks))); + } else { + act = ActionManager::register_action (editor_actions, "remove-track", _("Remove"), (mem_fun(*this, &Editor::remove_tracks))); + } ActionManager::session_sensitive_actions.push_back (act); ActionManager::track_selection_sensitive_actions.push_back (act); @@ -640,6 +656,8 @@ Editor::register_actions () ActionManager::register_radio_action (mouse_mode_actions, mouse_mode_group, "set-mouse-mode-timefx", _("Timefx Tool"), bind (mem_fun(*this, &Editor::set_mouse_mode), Editing::MouseTimeFX, false)); ActionManager::register_radio_action (mouse_mode_actions, mouse_mode_group, "set-mouse-mode-note", _("Note Tool"), bind (mem_fun(*this, &Editor::set_mouse_mode), Editing::MouseNote, false)); + ActionManager::register_action (editor_actions, "step-mouse-mode", _("Step Mouse Mode"), bind (mem_fun(*this, &Editor::step_mouse_mode), true)); + RadioAction::Group edit_point_group; ActionManager::register_radio_action (editor_actions, edit_point_group, X_("edit-at-playhead"), _("Playhead"), (bind (mem_fun(*this, &Editor::edit_point_chosen), Editing::EditAtPlayhead))); ActionManager::register_radio_action (editor_actions, edit_point_group, X_("edit-at-mouse"), _("Mouse"), (bind (mem_fun(*this, &Editor::edit_point_chosen), Editing::EditAtPlayhead))); @@ -647,8 +665,9 @@ Editor::register_actions () ActionManager::register_action (editor_actions, "cycle-edit-point", _("Change edit point"), bind (mem_fun (*this, &Editor::cycle_edit_point), false)); ActionManager::register_action (editor_actions, "cycle-edit-point-with-marker", _("Change edit point (w/Marker)"), bind (mem_fun (*this, &Editor::cycle_edit_point), true)); - - ActionManager::register_action (editor_actions, "set-edit-splice", _("Splice"), bind (mem_fun (*this, &Editor::set_edit_mode), Splice)); + if (!Profile->get_sae()) { + ActionManager::register_action (editor_actions, "set-edit-splice", _("Splice"), bind (mem_fun (*this, &Editor::set_edit_mode), Splice)); + } ActionManager::register_action (editor_actions, "set-edit-slide", _("Slide"), bind (mem_fun (*this, &Editor::set_edit_mode), Slide)); ActionManager::register_action (editor_actions, "set-edit-lock", _("Lock"), bind (mem_fun (*this, &Editor::set_edit_mode), Lock)); ActionManager::register_action (editor_actions, "toggle-edit-mode", _("Toggle Edit Mode"), mem_fun (*this, &Editor::cycle_edit_mode)); @@ -706,12 +725,16 @@ Editor::register_actions () ruler_meter_action->set_active (true); ruler_tempo_action->set_active (true); ruler_marker_action->set_active (true); - ruler_range_action->set_active (true); + ruler_range_action->set_active (false); + ruler_loop_punch_action->set_active (true); + ruler_loop_punch_action->set_active (true); if (Profile->get_sae()) { + ruler_bbt_action->set_active (true); ruler_cd_marker_action->set_active (false); ruler_timecode_action->set_active (false); ruler_minsec_action->set_active (true); } else { + ruler_bbt_action->set_active (false); ruler_cd_marker_action->set_active (true); ruler_timecode_action->set_active (true); ruler_minsec_action->set_active (false); diff --git a/gtk2_ardour/editor_audio_import.cc b/gtk2_ardour/editor_audio_import.cc index a12eb0857f..d6246f15fc 100644 --- a/gtk2_ardour/editor_audio_import.cc +++ b/gtk2_ardour/editor_audio_import.cc @@ -57,6 +57,7 @@ #include "midi_time_axis.h" #include "session_import_dialog.h" #include "utils.h" +#include "gui_thread.h" #include "i18n.h" @@ -217,7 +218,6 @@ Editor::check_whether_and_how_to_import(string path, bool all_or_nothing) for (SourceMap::iterator i = all_sources.begin(); i != all_sources.end(); ++i) { string tmp (Glib::path_get_basename (i->second->path())); - if (tmp == wave_name) { wave_name_exists = true; break; @@ -226,7 +226,6 @@ Editor::check_whether_and_how_to_import(string path, bool all_or_nothing) int function = 1; - if (wave_name_exists) { string message; if (all_or_nothing) { @@ -249,7 +248,6 @@ Editor::check_whether_and_how_to_import(string path, bool all_or_nothing) dialog.add_button("Cancel", 2); } - //dialog.add_button("Skip all", 4); // All or rest? dialog.show(); @@ -322,29 +320,11 @@ Editor::get_nth_selected_midi_track (int nth) const return mtv->midi_track(); } -bool -Editor::idle_do_import (vector<ustring> paths, ImportDisposition chns, ImportMode mode, SrcQuality quality, nframes64_t& pos) -{ - _do_import (paths, chns, mode, quality, pos); - return false; -} - void Editor::do_import (vector<ustring> paths, ImportDisposition chns, ImportMode mode, SrcQuality quality, nframes64_t& pos) { -#ifdef GTKOSX - Glib::signal_idle().connect (bind (mem_fun (*this, &Editor::idle_do_import), paths, chns, mode, quality, pos)); -#else - _do_import (paths, chns, mode, quality, pos); -#endif -} - -void -Editor::_do_import (vector<ustring> paths, ImportDisposition chns, ImportMode mode, SrcQuality quality, nframes64_t& pos) -{ boost::shared_ptr<Track> track; vector<ustring> to_import; - bool ok = true; int nth = 0; if (interthread_progress_window == 0) { @@ -352,11 +332,13 @@ Editor::_do_import (vector<ustring> paths, ImportDisposition chns, ImportMode mo } if (chns == Editing::ImportMergeFiles) { + /* create 1 region from all paths, add to 1 track, ignore "track" */ + bool cancel = false; - for (vector<ustring>::iterator a = paths.begin(); a != paths.end() && ok; ++a) { + for (vector<ustring>::iterator a = paths.begin(); a != paths.end(); ++a) { int check = check_whether_and_how_to_import(*a, false); if (check == 2) { cancel = true; @@ -365,20 +347,21 @@ Editor::_do_import (vector<ustring> paths, ImportDisposition chns, ImportMode mo } if (!cancel) { - if (import_sndfiles (paths, mode, quality, pos, 1, 1, track, false)) { - ok = false; - } + import_sndfiles (paths, mode, quality, pos, 1, 1, track, false, paths.size()); } } else { + bool replace = false; + bool ok = true; + vector<ustring>::size_type total = paths.size(); for (vector<ustring>::iterator a = paths.begin(); a != paths.end() && ok; ++a) { int check = check_whether_and_how_to_import(*a, true); if (check == 2 ) { - // skip + // user said skip continue; } @@ -390,82 +373,49 @@ Editor::_do_import (vector<ustring> paths, ImportDisposition chns, ImportMode mo } - switch (chns) { - case Editing::ImportDistinctFiles: - - to_import.clear (); - to_import.push_back (*a); - - if (mode == Editing::ImportToTrack) { - track = get_nth_selected_audio_track (nth++); - } - - if (import_sndfiles (to_import, mode, quality, pos, 1, -1, track, replace)) { - ok = false; - } - - break; - case Editing::ImportDistinctChannels: - - to_import.clear (); - to_import.push_back (*a); - - if (import_sndfiles (to_import, mode, quality, pos, -1, -1, track, replace)) { - ok = false; - } - - break; - - case Editing::ImportSerializeFiles: - - to_import.clear (); - to_import.push_back (*a); - - /* create 1 region from this path, add to 1 track, - reuse "track" across paths - */ - - if (import_sndfiles (to_import, mode, quality, pos, 1, 1, track, replace)) { - ok = false; - } + switch (chns) { + case Editing::ImportDistinctFiles: + + to_import.clear (); + to_import.push_back (*a); + + if (mode == Editing::ImportToTrack) { + track = get_nth_selected_audio_track (nth++); + } + + ok = (import_sndfiles (to_import, mode, quality, pos, 1, -1, track, replace, total) == 0); + break; + + case Editing::ImportDistinctChannels: + + to_import.clear (); + to_import.push_back (*a); + + ok = (import_sndfiles (to_import, mode, quality, pos, -1, -1, track, replace, total) == 0); + break; + + case Editing::ImportSerializeFiles: + + to_import.clear (); + to_import.push_back (*a); - break; + ok = (import_sndfiles (to_import, mode, quality, pos, 1, 1, track, replace, total) == 0); + break; - case Editing::ImportMergeFiles: - // Not entered - break; + case Editing::ImportMergeFiles: + // Not entered, handled in earlier if() branch + break; } } - - if (ok) { - session->save_state (""); - } - - interthread_progress_window->hide_all (); } -} -bool -Editor::idle_do_embed (vector<ustring> paths, ImportDisposition chns, ImportMode mode, nframes64_t& pos) -{ - _do_embed (paths, chns, mode, pos); - return false; + interthread_progress_window->hide_all (); } void Editor::do_embed (vector<ustring> paths, ImportDisposition chns, ImportMode mode, nframes64_t& pos) { -#ifdef GTKOSX - Glib::signal_idle().connect (bind (mem_fun (*this, &Editor::idle_do_embed), paths, chns, mode, pos)); -#else - _do_embed (paths, chns, mode, pos); -#endif -} - -void -Editor::_do_embed (vector<ustring> paths, ImportDisposition chns, ImportMode mode, nframes64_t& pos) -{ boost::shared_ptr<Track> track; bool check_sample_rate = true; bool ok = false; @@ -531,7 +481,7 @@ Editor::_do_embed (vector<ustring> paths, ImportDisposition chns, ImportMode mod int Editor::import_sndfiles (vector<ustring> paths, ImportMode mode, SrcQuality quality, nframes64_t& pos, - int target_regions, int target_tracks, boost::shared_ptr<Track>& track, bool replace) + int target_regions, int target_tracks, boost::shared_ptr<Track> track, bool replace, uint32_t total) { WindowTitle title = string_compose (_("importing %1"), paths.front()); @@ -539,7 +489,7 @@ Editor::import_sndfiles (vector<ustring> paths, ImportMode mode, SrcQuality qual interthread_progress_window->set_position (Gtk::WIN_POS_MOUSE); interthread_progress_bar.set_fraction (0.0f); interthread_cancel_label.set_text (_("Cancel Import")); - current_interthread_info = &import_status; + current_interthread_info = &import_status; import_status.paths = paths; import_status.done = false; @@ -548,42 +498,53 @@ Editor::import_sndfiles (vector<ustring> paths, ImportMode mode, SrcQuality qual import_status.done = 0.0; import_status.quality = quality; import_status.replace_existing_source = replace; - + import_status.total = total; + + import_status.mode = mode; + import_status.pos = pos; + import_status.target_tracks = target_tracks; + import_status.target_regions = target_regions; + import_status.track = track; + import_status.replace = replace; interthread_progress_connection = Glib::signal_timeout().connect (bind (mem_fun(*this, &Editor::import_progress_timeout), (gpointer) 0), 500); track_canvas->get_window()->set_cursor (Gdk::Cursor (Gdk::WATCH)); - ARDOUR_UI::instance()->flush_pending (); + gdk_flush (); /* start import thread for this spec. this will ultimately call Session::import_audiofiles() - and if successful will add the file(s) as a region to the session region list. + which, if successful, will add the files as regions to the region list. its up to us + (the GUI) to direct additional steps after that. */ - + pthread_create_and_store ("import", &import_status.thread, 0, _import_thread, this); pthread_detach (import_status.thread); - while (!(import_status.done || import_status.cancel)) { + while (!import_status.done && !import_status.cancel) { gtk_main_iteration (); } interthread_progress_window->hide (); - import_status.done = true; interthread_progress_connection.disconnect (); - /* import thread finished - see if we should build a new track */ - - boost::shared_ptr<AudioRegion> r; - - if (import_status.cancel || import_status.sources.empty()) { - goto out; + if (!import_status.cancel && !import_status.sources.empty()) { + if (add_sources (import_status.paths, + import_status.sources, + import_status.pos, + import_status.mode, + import_status.target_regions, + import_status.target_tracks, + import_status.track, false) == 0) { + session->save_state (""); + } + + /* update position from results */ + + pos = import_status.pos; } - if (add_sources (paths, import_status.sources, pos, mode, target_regions, target_tracks, track, false) == 0) { - session->save_state (""); - } - out: track_canvas->get_window()->set_cursor (*current_canvas_cursor); return 0; } @@ -600,7 +561,7 @@ Editor::embed_sndfiles (vector<Glib::ustring> paths, bool multifile, int ret = 0; track_canvas->get_window()->set_cursor (Gdk::Cursor (Gdk::WATCH)); - ARDOUR_UI::instance()->flush_pending (); + gdk_flush (); for (vector<Glib::ustring>::iterator p = paths.begin(); p != paths.end(); ++p) { @@ -710,8 +671,6 @@ Editor::embed_sndfiles (vector<Glib::ustring> paths, bool multifile, if ((s = session->source_by_path_and_channel (path, n)) == 0) { - cerr << "add embed/import source with defer_peaks = true\n"; - source = boost::dynamic_pointer_cast<AudioFileSource> (SourceFactory::createReadable (DataType::AUDIO, *session, path, n, (mode == ImportAsTapeTrack ? @@ -775,7 +734,7 @@ Editor::add_sources (vector<Glib::ustring> paths, SourceList& sources, nframes64 regions.push_back (RegionFactory::create (sources, 0, sources[0]->length(), region_name, 0, Region::Flag (Region::DefaultFlags|Region::WholeFile|Region::External))); - } else if (target_regions == -1) { + } else if (target_regions == -1 || target_regions > 1) { /* take each source and create a region for each one */ @@ -922,7 +881,7 @@ Editor::finish_bringing_in_material (boost::shared_ptr<Region> region, uint32_t void * Editor::_import_thread (void *arg) { - PBD::ThreadCreated (pthread_self(), X_("Import")); + PBD::notify_gui_about_thread_creation (pthread_self(), X_("Import")); Editor *ed = (Editor *) arg; return ed->import_thread (); diff --git a/gtk2_ardour/editor_canvas.cc b/gtk2_ardour/editor_canvas.cc index f0a016d039..be004644f9 100644 --- a/gtk2_ardour/editor_canvas.cc +++ b/gtk2_ardour/editor_canvas.cc @@ -18,6 +18,7 @@ */ #include <libgnomecanvasmm/init.h> +#include <libgnomecanvasmm/pixbuf.h> #include <jack/types.h> #include <gtkmm2ext/utils.h> @@ -29,9 +30,11 @@ #include "waveview.h" #include "simplerect.h" #include "simpleline.h" +#include "imageframe.h" #include "waveview_p.h" #include "simplerect_p.h" #include "simpleline_p.h" +#include "imageframe_p.h" #include "canvas_impl.h" #include "editing.h" #include "rgb_macros.h" @@ -39,11 +42,6 @@ #include "time_axis_view.h" #include "audio_time_axis.h" -#ifdef WITH_CMT -#include "imageframe.h" -#include "imageframe_p.h" -#endif - #include "i18n.h" using namespace std; @@ -65,10 +63,7 @@ extern "C" GType gnome_canvas_simpleline_get_type(void); GType gnome_canvas_simplerect_get_type(void); GType gnome_canvas_waveview_get_type(void); - -#ifdef WITH_CMT GType gnome_canvas_imageframe_get_type(void); -#endif } @@ -79,23 +74,16 @@ static void ardour_canvas_type_init() Glib::wrap_register(gnome_canvas_simpleline_get_type(), &Gnome::Canvas::SimpleLine_Class::wrap_new); Glib::wrap_register(gnome_canvas_simplerect_get_type(), &Gnome::Canvas::SimpleRect_Class::wrap_new); Glib::wrap_register(gnome_canvas_waveview_get_type(), &Gnome::Canvas::WaveView_Class::wrap_new); - -#ifdef WITH_CMT - Glib::wrap_register(gnome_canvas_imageframe_get_type(), &Gnome::Canvas::ImageFrame_Class::wrap_new); -#endif + // Glib::wrap_register(gnome_canvas_imageframe_get_type(), &Gnome::Canvas::ImageFrame_Class::wrap_new); // Register the gtkmm gtypes: (void) Gnome::Canvas::WaveView::get_type(); (void) Gnome::Canvas::SimpleLine::get_type(); (void) Gnome::Canvas::SimpleRect::get_type(); - -#ifdef WITH_CMT (void) Gnome::Canvas::ImageFrame::get_type(); -#endif } - void Editor::initialize_canvas () { @@ -114,7 +102,7 @@ Editor::initialize_canvas () track_canvas->set_dither (Gdk::RGB_DITHER_NONE); Glib::RefPtr<Gdk::Screen> screen = get_screen(); - + if (!screen) { screen = Gdk::Screen::get_default(); } @@ -128,10 +116,12 @@ Editor::initialize_canvas () verbose_canvas_cursor = new ArdourCanvas::Text (*track_canvas->root()); verbose_canvas_cursor->property_font_desc() = *font; verbose_canvas_cursor->property_anchor() = ANCHOR_NW; - - delete font; + delete font; + verbose_cursor_visible = false; + + /* on the bottom, an image */ if (Profile->get_sae()) { Image img (::get_icon (X_("saelogo"))); @@ -143,58 +133,92 @@ Editor::initialize_canvas () logo_item->show (); } - _master_group = new ArdourCanvas::Group (*track_canvas->root(), 0.0, 0.0); + /* a group to hold time (measure) lines */ + time_line_group = new ArdourCanvas::Group (*track_canvas->root()); - transport_loop_range_rect = new ArdourCanvas::SimpleRect (*_master_group, 0.0, 0.0, 0.0, physical_screen_width); +#ifdef GTKOSX + /*XXX please don't laugh. this actually improves canvas performance on osx */ + bogus_background_rect = new ArdourCanvas::SimpleRect (*time_line_group, 0.0, 0.0, max_canvas_coordinate/3, physical_screen_height); + bogus_background_rect->property_outline_pixels() = 0; +#endif + transport_loop_range_rect = new ArdourCanvas::SimpleRect (*time_line_group, 0.0, 0.0, 0.0, physical_screen_height); transport_loop_range_rect->property_outline_pixels() = 1; transport_loop_range_rect->hide(); - transport_punch_range_rect = new ArdourCanvas::SimpleRect (*_master_group, 0.0, 0.0, 0.0, physical_screen_width); + transport_punch_range_rect = new ArdourCanvas::SimpleRect (*time_line_group, 0.0, 0.0, 0.0, physical_screen_height); transport_punch_range_rect->property_outline_pixels() = 0; transport_punch_range_rect->hide(); - /* a group to hold time (measure) lines */ - time_line_group = new ArdourCanvas::Group (*_master_group, 0.0, 0.0); + _background_group = new ArdourCanvas::Group (*track_canvas->root()); + _master_group = new ArdourCanvas::Group (*track_canvas->root()); - range_marker_drag_rect = new ArdourCanvas::SimpleRect (*time_line_group, 0.0, 0.0, 0.0, physical_screen_width); + range_marker_drag_rect = new ArdourCanvas::SimpleRect (*time_line_group, 0.0, 0.0, 0.0, physical_screen_height); range_marker_drag_rect->hide (); - _trackview_group = new ArdourCanvas::Group (*_master_group, 0.0, 0.0); - _region_motion_group = new ArdourCanvas::Group (*_trackview_group, 0.0, 0.0); - - /* el barrio */ + _trackview_group = new ArdourCanvas::Group (*_master_group); + _region_motion_group = new ArdourCanvas::Group (*_trackview_group); - meter_bar_group = new ArdourCanvas::Group (*track_canvas->root()); - meter_bar = new ArdourCanvas::SimpleRect (*meter_bar_group, 0.0, 0.0, physical_screen_width, timebar_height-1.0); + meter_bar_group = new ArdourCanvas::Group (*track_canvas->root ()); + if (Profile->get_sae()) { + meter_bar = new ArdourCanvas::SimpleRect (*meter_bar_group, 0.0, 0.0, physical_screen_width, timebar_height - 1); + meter_bar->property_outline_pixels() = 1; + } else { + meter_bar = new ArdourCanvas::SimpleRect (*meter_bar_group, 0.0, 0.0, physical_screen_width, timebar_height); + meter_bar->property_outline_pixels() = 0; + } meter_bar->property_outline_what() = (0x1 | 0x8); - meter_bar->property_outline_pixels() = 1; - tempo_bar_group = new ArdourCanvas::Group (*track_canvas->root()); - tempo_bar = new ArdourCanvas::SimpleRect (*tempo_bar_group, 0.0, 0.0, physical_screen_width, (timebar_height-1.0)); + tempo_bar_group = new ArdourCanvas::Group (*track_canvas->root ()); + if (Profile->get_sae()) { + tempo_bar = new ArdourCanvas::SimpleRect (*tempo_bar_group, 0.0, 0.0, physical_screen_width, (timebar_height - 1)); + tempo_bar->property_outline_pixels() = 1; + } else { + tempo_bar = new ArdourCanvas::SimpleRect (*tempo_bar_group, 0.0, 0.0, physical_screen_width, (timebar_height)); + tempo_bar->property_outline_pixels() = 0; + } tempo_bar->property_outline_what() = (0x1 | 0x8); - tempo_bar->property_outline_pixels() = 1; - range_marker_bar_group = new ArdourCanvas::Group (*track_canvas->root()); - range_marker_bar = new ArdourCanvas::SimpleRect (*range_marker_bar_group, 0.0, 0.0, physical_screen_width, (timebar_height-1.0)); + range_marker_bar_group = new ArdourCanvas::Group (*track_canvas->root ()); + if (Profile->get_sae()) { + range_marker_bar = new ArdourCanvas::SimpleRect (*range_marker_bar_group, 0.0, 0.0, physical_screen_width, (timebar_height - 1)); + range_marker_bar->property_outline_pixels() = 1; + } else { + range_marker_bar = new ArdourCanvas::SimpleRect (*range_marker_bar_group, 0.0, 0.0, physical_screen_width, (timebar_height)); + range_marker_bar->property_outline_pixels() = 0; + } range_marker_bar->property_outline_what() = (0x1 | 0x8); - range_marker_bar->property_outline_pixels() = 1; - transport_marker_bar_group = new ArdourCanvas::Group (*track_canvas->root()); - transport_marker_bar = new ArdourCanvas::SimpleRect (*transport_marker_bar_group, 0.0, 0.0, physical_screen_width, (timebar_height-1.0)); + transport_marker_bar_group = new ArdourCanvas::Group (*track_canvas->root ()); + if (Profile->get_sae()) { + transport_marker_bar = new ArdourCanvas::SimpleRect (*transport_marker_bar_group, 0.0, 0.0, physical_screen_width, (timebar_height - 1)); + transport_marker_bar->property_outline_pixels() = 1; + } else { + transport_marker_bar = new ArdourCanvas::SimpleRect (*transport_marker_bar_group, 0.0, 0.0, physical_screen_width, (timebar_height)); + transport_marker_bar->property_outline_pixels() = 0; + } transport_marker_bar->property_outline_what() = (0x1 | 0x8); - transport_marker_bar->property_outline_pixels() = 1; - marker_bar_group = new ArdourCanvas::Group (*track_canvas->root()); - marker_bar = new ArdourCanvas::SimpleRect (*marker_bar_group, 0.0, 0.0, physical_screen_width, (timebar_height-1.0)); + marker_bar_group = new ArdourCanvas::Group (*track_canvas->root ()); + if (Profile->get_sae()) { + marker_bar = new ArdourCanvas::SimpleRect (*marker_bar_group, 0.0, 0.0, physical_screen_width, (timebar_height - 1)); + marker_bar->property_outline_pixels() = 1; + } else { + marker_bar = new ArdourCanvas::SimpleRect (*marker_bar_group, 0.0, 0.0, physical_screen_width, (timebar_height)); + marker_bar->property_outline_pixels() = 0; + } marker_bar->property_outline_what() = (0x1 | 0x8); - marker_bar->property_outline_pixels() = 1; - cd_marker_bar_group = new ArdourCanvas::Group (*track_canvas->root()); - cd_marker_bar = new ArdourCanvas::SimpleRect (*cd_marker_bar_group, 0.0, 0.0, physical_screen_width, (timebar_height-1.0)); + cd_marker_bar_group = new ArdourCanvas::Group (*track_canvas->root ()); + if (Profile->get_sae()) { + cd_marker_bar = new ArdourCanvas::SimpleRect (*cd_marker_bar_group, 0.0, 0.0, physical_screen_width, (timebar_height - 1)); + cd_marker_bar->property_outline_pixels() = 1; + } else { + cd_marker_bar = new ArdourCanvas::SimpleRect (*cd_marker_bar_group, 0.0, 0.0, physical_screen_width, (timebar_height)); + cd_marker_bar->property_outline_pixels() = 0; + } cd_marker_bar->property_outline_what() = (0x1 | 0x8); - cd_marker_bar->property_outline_pixels() = 1; - timebar_group = new ArdourCanvas::Group (*track_canvas->root()); + timebar_group = new ArdourCanvas::Group (*track_canvas->root(), 0.0, 0.0); cursor_group = new ArdourCanvas::Group (*track_canvas->root(), 0.0, 0.0); meter_group = new ArdourCanvas::Group (*timebar_group, 0.0, timebar_height * 5.0); @@ -205,7 +229,7 @@ Editor::initialize_canvas () cd_marker_group = new ArdourCanvas::Group (*timebar_group, 0.0, 0.0); marker_drag_line_points.push_back(Gnome::Art::Point(0.0, 0.0)); - marker_drag_line_points.push_back(Gnome::Art::Point(0.0, 1.0)); + marker_drag_line_points.push_back(Gnome::Art::Point(0.0, physical_screen_height)); marker_drag_line = new ArdourCanvas::Line (*timebar_group); marker_drag_line->property_width_pixels() = 1; @@ -228,14 +252,14 @@ Editor::initialize_canvas () transport_punchin_line->property_x1() = 0.0; transport_punchin_line->property_y1() = 0.0; transport_punchin_line->property_x2() = 0.0; - transport_punchin_line->property_y2() = physical_screen_width; + transport_punchin_line->property_y2() = physical_screen_height; transport_punchin_line->hide (); - transport_punchout_line = new ArdourCanvas::SimpleLine (*_master_group); + transport_punchout_line = new ArdourCanvas::SimpleLine (*_master_group); transport_punchout_line->property_x1() = 0.0; transport_punchout_line->property_y1() = 0.0; transport_punchout_line->property_x2() = 0.0; - transport_punchout_line->property_y2() = physical_screen_width; + transport_punchout_line->property_y2() = physical_screen_height; transport_punchout_line->hide(); // used to show zoom mode active zooming @@ -263,7 +287,6 @@ Editor::initialize_canvas () if (logo_item) { logo_item->lower_to_bottom (); } - /* need to handle 4 specific types of events as catch-alls */ track_canvas->signal_scroll_event().connect (mem_fun (*this, &Editor::track_canvas_scroll_event)); @@ -283,7 +306,6 @@ Editor::initialize_canvas () // Drag-N-Drop from the region list can generate this target target_table.push_back (TargetEntry ("regions")); - target_table.push_back (TargetEntry ("routes")); target_table.push_back (TargetEntry ("text/plain")); target_table.push_back (TargetEntry ("text/uri-list")); @@ -326,17 +348,13 @@ Editor::track_canvas_size_allocated () } full_canvas_height = height + canvas_timebars_vsize; - } else { - return true; } if (height_changed) { if (playhead_cursor) { playhead_cursor->set_length (canvas_height); } - - vertical_adjustment.set_page_size (canvas_height); - + for (MarkerSelection::iterator x = selection->markers.begin(); x != selection->markers.end(); ++x) { (*x)->set_line_vpos (0, canvas_height); } @@ -348,10 +366,8 @@ Editor::track_canvas_size_allocated () We're increasing the size of the canvas while the bottom is visible. We scroll down to keep in step with the controls layout. */ - vertical_adjustment.set_value (full_canvas_height - canvas_height + 1); + vertical_adjustment.set_value (full_canvas_height - canvas_height); } - - } handle_new_duration (); @@ -360,7 +376,7 @@ Editor::track_canvas_size_allocated () redisplay_tempo (false); Resized (); /* EMIT_SIGNAL */ - + return false; } @@ -380,7 +396,7 @@ Editor::controls_layout_size_request (Requisition* req) } } - gint height = min ( (gint) pos, (gint) (physical_screen_height - 600)); + gint height = min ((gint) pos, (gint) (physical_screen_height - 600)); gint width = max (edit_controls_vbox.get_width(), controls_layout.get_width()); /* don't get too big. the fudge factors here are just guesses */ @@ -409,11 +425,13 @@ Editor::controls_layout_size_request (Requisition* req) if (req->height != height) { req->height = height; controls_layout.property_height () = (guint) floor (pos); + controls_layout.property_height_request () = height; } if (changed) { controls_layout_size_request_connection = controls_layout.signal_size_request().connect (mem_fun (*this, &Editor::controls_layout_size_request)); } + //cerr << "sizes = " << req->width << " " << edit_controls_vbox.get_width() << " " << controls_layout.get_width() << " " << zoom_box.get_width() << " " << time_button_frame.get_width() << endl;//DEBUG } bool @@ -429,56 +447,27 @@ Editor::track_canvas_drag_data_received (const RefPtr<Gdk::DragContext>& context const SelectionData& data, guint info, guint time) { - cerr << "drop on canvas, target = " << data.get_target() << endl; - if (data.get_target() == "regions") { drop_regions (context, x, y, data, info, time); - } - else if(data.get_target() == "routes") { - drop_routes (context, x, y, data, info, time); - } - else { + } else { drop_paths (context, x, y, data, info, time); } } +bool +Editor::idle_drop_paths (vector<ustring> paths, nframes64_t frame, double ypos) +{ + drop_paths_part_two (paths, frame, ypos); + return false; +} + void -Editor::drop_paths (const RefPtr<Gdk::DragContext>& context, - int x, int y, - const SelectionData& data, - guint info, guint time) +Editor::drop_paths_part_two (const vector<ustring>& paths, nframes64_t frame, double ypos) { TimeAxisView* tvp; - RouteTimeAxisView* tv; - double cy; - vector<ustring> paths; - string spath; - GdkEvent ev; - nframes64_t frame; + AudioTimeAxisView* tv; - if (convert_drop_to_paths (paths, context, x, y, data, info, time)) { - goto out; - } - - /* D-n-D coordinates are window-relative, so convert to "world" coordinates - */ - - double wx; - double wy; - - track_canvas->window_to_world (x, y, wx, wy); - //wx += horizontal_adjustment.get_value(); - //wy += vertical_adjustment.get_value(); - - ev.type = GDK_BUTTON_RELEASE; - ev.button.x = wx; - ev.button.y = wy; - - frame = event_frame (&ev, 0, &cy); - - snap_to (frame); - - if ((tvp = trackview_by_y_position (cy)) == 0) { + if ((tvp = trackview_by_y_position (ypos)) == 0) { /* drop onto canvas background: create new tracks */ @@ -490,58 +479,81 @@ Editor::drop_paths (const RefPtr<Gdk::DragContext>& context, do_embed (paths, Editing::ImportDistinctFiles, ImportAsTrack, frame); } - } else if ((tv = dynamic_cast<RouteTimeAxisView*>(tvp)) != 0) { + } else if ((tv = dynamic_cast<AudioTimeAxisView*>(tvp)) != 0) { /* check that its an audio track, not a bus */ - /* check that its an audio track, not a bus */ - if (tv->get_diskstream()) { - /* select the track, then embed */ + /* select the track, then embed/import */ selection->set (tv); if (Profile->get_sae() || Config->get_only_copy_imported_files()) { - do_import (paths, Editing::ImportDistinctFiles, Editing::ImportToTrack, SrcBest, frame); + do_import (paths, Editing::ImportSerializeFiles, Editing::ImportToTrack, SrcBest, frame); } else { - do_embed (paths, Editing::ImportDistinctFiles, ImportToTrack, frame); + do_embed (paths, Editing::ImportSerializeFiles, ImportToTrack, frame); } } } - - out: - context->drag_finish (true, false, time); } void -Editor::drop_regions (const RefPtr<Gdk::DragContext>& context, - int x, int y, - const SelectionData& data, - guint info, guint time) +Editor::drop_paths (const RefPtr<Gdk::DragContext>& context, + int x, int y, + const SelectionData& data, + guint info, guint time) { - const SerializedObjectPointers<boost::shared_ptr<Region> >* sr = - reinterpret_cast<const SerializedObjectPointers<boost::shared_ptr<Region> > *> (data.get_data()); + vector<ustring> paths; + GdkEvent ev; + nframes64_t frame; + double wx; + double wy; + double cy; - for (uint32_t i = 0; i < sr->cnt; ++i) { + if (convert_drop_to_paths (paths, context, x, y, data, info, time) == 0) { + + /* D-n-D coordinates are window-relative, so convert to "world" coordinates + */ - boost::shared_ptr<Region> r = sr->data[i]; + track_canvas->window_to_world (x, y, wx, wy); + + ev.type = GDK_BUTTON_RELEASE; + ev.button.x = wx; + ev.button.y = wy; - insert_region_list_drag (r, x, y); + frame = event_frame (&ev, 0, &cy); + + snap_to (frame); + +#ifdef GTKOSX + /* We are not allowed to call recursive main event loops from within + the main event loop with GTK/Quartz. Since import/embed wants + to push up a progress dialog, defer all this till we go idle. + */ + Glib::signal_idle().connect (bind (mem_fun (*this, &Editor::idle_drop_paths), paths, frame, cy)); +#else + drop_paths_part_two (paths, frame, cy); +#endif } context->drag_finish (true, false, time); } void -Editor::drop_routes (const Glib::RefPtr<Gdk::DragContext>& context, - int x, int y, - const Gtk::SelectionData& data, - guint info, guint time) { - const SerializedObjectPointers<boost::shared_ptr<Route> >* sr = - reinterpret_cast<const SerializedObjectPointers<boost::shared_ptr<Route> > *> (data.get_data()); +Editor::drop_regions (const RefPtr<Gdk::DragContext>& context, + int x, int y, + const SelectionData& data, + guint info, guint time) +{ + std::list<boost::shared_ptr<Region> > regions; + region_list_display.get_object_drag_data (regions); - for (uint32_t i = 0; i < sr->cnt; ++i) { - boost::shared_ptr<Route> r = sr->data[i]; - insert_route_list_drag (r, x, y); + for (list<boost::shared_ptr<Region> >::iterator r = regions.begin(); r != regions.end(); ++r) { + + boost::shared_ptr<AudioRegion> ar; + + if ((ar = boost::dynamic_pointer_cast<AudioRegion>(*r)) != 0) { + insert_region_list_drag (ar, x, y); + } } context->drag_finish (true, false, time); @@ -648,20 +660,24 @@ Editor::autoscroll_canvas () double new_pixel; double target_pixel; - if (autoscroll_x > 0) { - autoscroll_x_distance = (unit_to_frame (drag_info.current_pointer_x) - (leftmost_frame + current_page_frames())) / 3; - } else if (autoscroll_x < 0) { - autoscroll_x_distance = (leftmost_frame - unit_to_frame (drag_info.current_pointer_x)) / 3; - + if (autoscroll_x_distance != 0) { + if (autoscroll_x > 0) { + autoscroll_x_distance = (unit_to_frame (drag_info.current_pointer_x) - (leftmost_frame + current_page_frames())) / 3; + } else if (autoscroll_x < 0) { + autoscroll_x_distance = (leftmost_frame - unit_to_frame (drag_info.current_pointer_x)) / 3; + + } } - - if (autoscroll_y > 0) { - autoscroll_y_distance = (drag_info.current_pointer_y - (get_trackview_group_vertical_offset() + canvas_height)) / 3; - } else if (autoscroll_y < 0) { - - autoscroll_y_distance = (vertical_adjustment.get_value () - drag_info.current_pointer_y) / 3; + + if (autoscroll_y_distance != 0) { + if (autoscroll_y > 0) { + autoscroll_y_distance = (drag_info.current_pointer_y - (get_trackview_group_vertical_offset() + canvas_height)) / 3; + } else if (autoscroll_y < 0) { + + autoscroll_y_distance = (vertical_adjustment.get_value () - drag_info.current_pointer_y) / 3; + } } - + if (autoscroll_x < 0) { if (leftmost_frame < autoscroll_x_distance) { new_frame = 0; @@ -725,6 +741,8 @@ Editor::autoscroll_canvas () reset_x_origin (new_frame); } + vertical_adjustment.set_value (new_pixel); + /* fake an event. */ Glib::RefPtr<Gdk::Window> canvas_window = const_cast<Editor*>(this)->track_canvas->get_window(); @@ -738,8 +756,6 @@ Editor::autoscroll_canvas () motion_handler (drag_info.item, (GdkEvent*) &ev, drag_info.item_type, true); - vertical_adjustment.set_value (new_pixel); - autoscroll_cnt++; if (autoscroll_cnt == 1) { @@ -830,20 +846,33 @@ Editor::scroll_canvas_horizontally () _master_group->move (-x_delta, 0); timebar_group->move (-x_delta, 0); + time_line_group->move (-x_delta, 0); cursor_group->move (-x_delta, 0); + update_fixed_rulers (); redisplay_tempo (true); + +#ifndef GTKOSX + if (!autoscroll_active) { + /* force rulers and canvas to move in lock step */ + while (gtk_events_pending ()) { + gtk_main_iteration (); + } + } +#endif + } void Editor::scroll_canvas_vertically () { /* vertical scrolling only */ + double y_delta; y_delta = last_trackview_group_vertical_offset - get_trackview_group_vertical_offset (); - _trackview_group->move (0, y_delta); + _background_group->move (0, y_delta); for (TrackViewList::iterator i = track_views.begin(); i != track_views.end(); ++i) { (*i)->clip_to_viewport (); @@ -875,7 +904,7 @@ Editor::color_handler() { playhead_cursor->canvas_item.property_fill_color_rgba() = ARDOUR_UI::config()->canvasvar_PlayHead.get(); verbose_canvas_cursor->property_fill_color_rgba() = ARDOUR_UI::config()->canvasvar_VerboseCanvasCursor.get(); - + meter_bar->property_fill_color_rgba() = ARDOUR_UI::config()->canvasvar_MeterBar.get(); meter_bar->property_outline_color_rgba() = ARDOUR_UI::config()->canvasvar_MarkerBarSeparator.get(); @@ -946,3 +975,4 @@ Editor::flush_canvas () // gdk_window_process_updates (GTK_LAYOUT(track_canvas->gobj())->bin_window, true); } } + diff --git a/gtk2_ardour/editor_cursors.cc b/gtk2_ardour/editor_cursors.cc index 0f5c414408..93743f580e 100644 --- a/gtk2_ardour/editor_cursors.cc +++ b/gtk2_ardour/editor_cursors.cc @@ -35,10 +35,7 @@ Editor::Cursor::Cursor (Editor& ed, bool (Editor::*callbck)(GdkEvent*,ArdourCanv canvas_item (*editor.cursor_group), length(1.0) { - - /* "randomly" initialize coords */ - - points.push_back(Gnome::Art::Point(1.0, 0.0)); + points.push_back(Gnome::Art::Point(-1.0, 0.0)); // first x-coord needs to be a non-normal value points.push_back(Gnome::Art::Point(1.0, 1.0)); canvas_item.property_points() = points; diff --git a/gtk2_ardour/editor_edit_groups.cc b/gtk2_ardour/editor_edit_groups.cc index 20179f84c6..371b13ed0c 100644 --- a/gtk2_ardour/editor_edit_groups.cc +++ b/gtk2_ardour/editor_edit_groups.cc @@ -140,6 +140,9 @@ Editor::edit_group_list_button_press_event (GdkEventButton* ev) if ((iter = group_model->get_iter (path))) { if ((group = (*iter)[group_columns.routegroup]) != 0) { // edit_route_group (group); +#ifdef GTKOSX + edit_group_display.queue_draw(); +#endif return true; } } @@ -151,6 +154,9 @@ Editor::edit_group_list_button_press_event (GdkEventButton* ev) if ((iter = group_model->get_iter (path))) { bool active = (*iter)[group_columns.is_active]; (*iter)[group_columns.is_active] = !active; +#ifdef GTKOSX + edit_group_display.queue_draw(); +#endif return true; } break; @@ -159,6 +165,9 @@ Editor::edit_group_list_button_press_event (GdkEventButton* ev) if ((iter = group_model->get_iter (path))) { bool visible = (*iter)[group_columns.is_visible]; (*iter)[group_columns.is_visible] = !visible; +#ifdef GTKOSX + edit_group_display.queue_draw(); +#endif return true; } break; diff --git a/gtk2_ardour/editor_mixer.cc b/gtk2_ardour/editor_mixer.cc index e6b30232cd..bf8aca105e 100644 --- a/gtk2_ardour/editor_mixer.cc +++ b/gtk2_ardour/editor_mixer.cc @@ -156,6 +156,16 @@ Editor::ensure_all_elements_drawn () #endif void +Editor::show_editor_list (bool yn) +{ + if (yn) { + the_notebook.show(); + } else { + the_notebook.hide(); + } +} + +void Editor::create_editor_mixer () { current_mixer_strip = new MixerStrip (*ARDOUR_UI::instance()->the_mixer(), @@ -170,16 +180,6 @@ Editor::create_editor_mixer () } void -Editor::show_editor_list (bool yn) -{ - if (yn) { - the_notebook.show(); - } else { - the_notebook.hide(); - } -} - -void Editor::set_selected_mixer_strip (TimeAxisView& view) { AudioTimeAxisView* at; @@ -228,7 +228,6 @@ Editor::set_selected_mixer_strip (TimeAxisView& view) } double current = 0.0; -bool currentInitialized = 0; void Editor::update_current_screen () diff --git a/gtk2_ardour/editor_mouse.cc b/gtk2_ardour/editor_mouse.cc index 1a03f66f24..4b4ed86164 100644 --- a/gtk2_ardour/editor_mouse.cc +++ b/gtk2_ardour/editor_mouse.cc @@ -367,8 +367,15 @@ Editor::step_mouse_mode (bool next) { switch (current_mouse_mode()) { case MouseObject: - if (next) set_mouse_mode (MouseRange); - else set_mouse_mode (MouseTimeFX); + if (next) { + if (Profile->get_sae()) { + set_mouse_mode (MouseZoom); + } else { + set_mouse_mode (MouseRange); + } + } else { + set_mouse_mode (MouseTimeFX); + } break; case MouseRange: @@ -377,8 +384,19 @@ Editor::step_mouse_mode (bool next) break; case MouseZoom: - if (next) set_mouse_mode (MouseGain); - else set_mouse_mode (MouseRange); + if (next) { + if (Profile->get_sae()) { + set_mouse_mode (MouseTimeFX); + } else { + set_mouse_mode (MouseGain); + } + } else { + if (Profile->get_sae()) { + set_mouse_mode (MouseObject); + } else { + set_mouse_mode (MouseRange); + } + } break; case MouseGain: @@ -387,8 +405,15 @@ Editor::step_mouse_mode (bool next) break; case MouseTimeFX: - if (next) set_mouse_mode (MouseAudition); - else set_mouse_mode (MouseGain); + if (next) { + set_mouse_mode (MouseAudition); + } else { + if (Profile->get_sae()) { + set_mouse_mode (MouseZoom); + } else { + set_mouse_mode (MouseGain); + } + } break; case MouseAudition: @@ -508,10 +533,11 @@ Editor::set_midi_edit_cursor (MidiEditMode m) void Editor::button_selection (ArdourCanvas::Item* item, GdkEvent* event, ItemType item_type) { - /* in object/audition/timefx mode, any button press sets - the selection if the object can be selected. this is a - bit of hack, because we want to avoid this if the - mouse operation is a region alignment. + /* in object/audition/timefx/gain-automation mode, + any button press sets the selection if the object + can be selected. this is a bit of hack, because + we want to avoid this if the mouse operation is a + region alignment. note: not dbl-click or triple-click */ @@ -519,6 +545,7 @@ Editor::button_selection (ArdourCanvas::Item* item, GdkEvent* event, ItemType it if (((mouse_mode != MouseObject) && (mouse_mode != MouseAudition || item_type != RegionItem) && (mouse_mode != MouseTimeFX || item_type != RegionItem) && + (mouse_mode != MouseGain) && (mouse_mode != MouseRange)) || ((event->type != GDK_BUTTON_PRESS && event->type != GDK_BUTTON_RELEASE) || event->button.button > 3)) { @@ -537,7 +564,7 @@ Editor::button_selection (ArdourCanvas::Item* item, GdkEvent* event, ItemType it } } } - + Selection::Operation op = Keyboard::selection_type (event->button.state); bool press = (event->type == GDK_BUTTON_PRESS); @@ -602,7 +629,7 @@ bool Editor::button_press_handler (ArdourCanvas::Item* item, GdkEvent* event, ItemType item_type) { Glib::RefPtr<Gdk::Window> canvas_window = const_cast<Editor*>(this)->track_canvas->get_window(); - + if (canvas_window) { Glib::RefPtr<const Gdk::Window> pointer_window; int x, y; @@ -626,7 +653,7 @@ Editor::button_press_handler (ArdourCanvas::Item* item, GdkEvent* event, ItemTyp } button_selection (item, event, item_type); - + if (drag_info.item == 0 && (Keyboard::is_delete_event (&event->button) || Keyboard::is_context_menu_event (&event->button) || @@ -680,27 +707,43 @@ Editor::button_press_handler (ArdourCanvas::Item* item, GdkEvent* event, ItemTyp } return true; + case MarkerBarItem: case TempoBarItem: - return true; - case MeterBarItem: + if (!Keyboard::modifier_state_equals (event->button.state, Keyboard::PrimaryModifier)) { + start_cursor_grab_no_stop(&playhead_cursor->canvas_item, event); + } return true; + break; + case RangeMarkerBarItem: - start_range_markerbar_op (item, event, CreateRangeMarker); + if (!Keyboard::modifier_state_equals (event->button.state, Keyboard::PrimaryModifier)) { + start_cursor_grab_no_stop(&playhead_cursor->canvas_item, event); + } else { + start_range_markerbar_op (item, event, CreateRangeMarker); + } return true; break; case CdMarkerBarItem: - start_range_markerbar_op (item, event, CreateCDMarker); + if (!Keyboard::modifier_state_equals (event->button.state, Keyboard::PrimaryModifier)) { + start_cursor_grab_no_stop(&playhead_cursor->canvas_item, event); + } else { + start_range_markerbar_op (item, event, CreateCDMarker); + } return true; break; case TransportMarkerBarItem: - start_range_markerbar_op (item, event, CreateTransportMarker); + if (!Keyboard::modifier_state_equals (event->button.state, Keyboard::PrimaryModifier)) { + start_cursor_grab_no_stop(&playhead_cursor->canvas_item, event); + } else { + start_range_markerbar_op (item, event, CreateTransportMarker); + } return true; break; - + default: break; } @@ -830,7 +873,13 @@ Editor::button_press_handler (ArdourCanvas::Item* item, GdkEvent* event, ItemTyp case MouseGain: switch (item_type) { case RegionItem: - // start_line_grab_from_regionview (item, event); + /* start a grab so that if we finish after moving + we can tell what happened. + */ + drag_info.item = item; + drag_info.motion_callback = &Editor::region_gain_motion_callback; + drag_info.finished_callback = 0; + start_grab (event, current_canvas_cursor); break; case GainLineItem: @@ -982,7 +1031,7 @@ Editor::button_release_handler (ArdourCanvas::Item* item, GdkEvent* event, ItemT { nframes64_t where = event_frame (event, 0, 0); AutomationTimeAxisView* atv = 0; - + /* no action if we're recording */ if (session && session->actively_recording()) { @@ -1001,7 +1050,7 @@ Editor::button_release_handler (ArdourCanvas::Item* item, GdkEvent* event, ItemT button_selection (item, event, item_type); /* edit events get handled here */ - + if (drag_info.item == 0 && Keyboard::is_edit_event (&event->button)) { switch (item_type) { case RegionItem: @@ -1163,36 +1212,44 @@ Editor::button_release_handler (ArdourCanvas::Item* item, GdkEvent* event, ItemT return true; case MarkerBarItem: - if (!Keyboard::modifier_state_contains (event->button.state, Keyboard::snap_modifier())) { - snap_to (where, 0, true); + if (!_dragging_playhead) { + if (!Keyboard::modifier_state_contains (event->button.state, Keyboard::snap_modifier())) { + snap_to (where, 0, true); + } + mouse_add_new_marker (where); } - mouse_add_new_marker (where); return true; case CdMarkerBarItem: - // if we get here then a dragged range wasn't done - if (!Keyboard::modifier_state_contains (event->button.state, Keyboard::snap_modifier())) { - snap_to (where, 0, true); + if (!_dragging_playhead) { + // if we get here then a dragged range wasn't done + if (!Keyboard::modifier_state_contains (event->button.state, Keyboard::snap_modifier())) { + snap_to (where, 0, true); + } + mouse_add_new_marker (where, true); } - mouse_add_new_marker (where, true); return true; case TempoBarItem: - if (!Keyboard::modifier_state_contains (event->button.state, Keyboard::snap_modifier())) { - snap_to (where); + if (!_dragging_playhead) { + if (!Keyboard::modifier_state_contains (event->button.state, Keyboard::snap_modifier())) { + snap_to (where); + } + mouse_add_new_tempo_event (where); } - mouse_add_new_tempo_event (where); return true; case MeterBarItem: - mouse_add_new_meter_event (pixel_to_frame (event->button.x)); + if (!_dragging_playhead) { + mouse_add_new_meter_event (pixel_to_frame (event->button.x)); + } return true; break; default: break; } - + switch (mouse_mode) { case MouseObject: switch (item_type) { @@ -1219,7 +1276,13 @@ Editor::button_release_handler (ArdourCanvas::Item* item, GdkEvent* event, ItemT switch (item_type) { case RegionItem: - dynamic_cast<AudioRegionView*>(clicked_regionview)->add_gain_point_event (item, event); + /* check that we didn't drag before releasing, since + its really annoying to create new control + points when doing this. + */ + if (drag_info.first_move) { + dynamic_cast<AudioRegionView*>(clicked_regionview)->add_gain_point_event (item, event); + } return true; break; @@ -1571,7 +1634,7 @@ Editor::leave_handler (ArdourCanvas::Item* item, GdkEvent* event, ItemType item_ case TempoBarItem: case MarkerBarItem: if (is_drawable()) { - track_canvas->get_window()->set_cursor (*timebar_cursor); + track_canvas->get_window()->set_cursor (*current_canvas_cursor); } break; @@ -1783,6 +1846,9 @@ Editor::motion_handler (ArdourCanvas::Item* item, GdkEvent* event, ItemType item case PlayheadCursorItem: case MarkerItem: case ControlPointItem: + case MarkerBarItem: + case TempoBarItem: + case MeterBarItem: case RangeMarkerBarItem: case TransportMarkerBarItem: case CdMarkerBarItem: @@ -1809,7 +1875,9 @@ Editor::motion_handler (ArdourCanvas::Item* item, GdkEvent* event, ItemType item if (!from_autoscroll) { maybe_autoscroll_horizontally (&event->motion); } - (this->*(drag_info.motion_callback)) (item, event); + if (drag_info.motion_callback) { + (this->*(drag_info.motion_callback)) (item, event); + } goto handled; } goto not_handled; @@ -1819,6 +1887,15 @@ Editor::motion_handler (ArdourCanvas::Item* item, GdkEvent* event, ItemType item } switch (mouse_mode) { + case MouseGain: + if (item_type == RegionItem) { + if (drag_info.item && drag_info.motion_callback) { + (this->*(drag_info.motion_callback)) (item, event); + } + goto handled; + } + break; + case MouseObject: case MouseRange: case MouseZoom: @@ -1829,7 +1906,9 @@ Editor::motion_handler (ArdourCanvas::Item* item, GdkEvent* event, ItemType item if (!from_autoscroll) { maybe_autoscroll (&event->motion); } - (this->*(drag_info.motion_callback)) (item, event); + if (drag_info.motion_callback) { + (this->*(drag_info.motion_callback)) (item, event); + } goto handled; } goto not_handled; @@ -1902,7 +1981,7 @@ Editor::start_grab (GdkEvent* event, Gdk::Cursor *cursor) // if dragging with button2, the motion is x constrained, with Alt-button2 it is y constrained - if (event->button.button == 2) { + if (Keyboard::is_button2_event (&event->button)) { if (Keyboard::modifier_state_equals (event->button.state, Keyboard::SecondaryModifier)) { drag_info.y_constrained = true; drag_info.x_constrained = false; @@ -1999,6 +2078,14 @@ Editor::end_grab (ArdourCanvas::Item* item, GdkEvent* event) } void +Editor::region_gain_motion_callback (ArdourCanvas::Item* item, GdkEvent* event) +{ + if (drag_info.first_move && drag_info.move_threshold_passed) { + drag_info.first_move = false; + } +} + +void Editor::start_fade_in_grab (ArdourCanvas::Item* item, GdkEvent* event) { drag_info.item = item; @@ -2258,6 +2345,39 @@ Editor::start_cursor_grab (ArdourCanvas::Item* item, GdkEvent* event) } void +Editor::start_cursor_grab_no_stop (ArdourCanvas::Item* item, GdkEvent* event) +{ + drag_info.item = item; + drag_info.motion_callback = &Editor::cursor_drag_motion_callback; + drag_info.finished_callback = &Editor::cursor_drag_finished_ensure_locate_callback; + + start_grab (event); + + if ((drag_info.data = (item->get_data ("cursor"))) == 0) { + fatal << _("programming error: cursor canvas item has no cursor data pointer!") << endmsg; + /*NOTREACHED*/ + } + + Cursor* cursor = (Cursor *) drag_info.data; + nframes64_t where = event_frame (event, 0, 0); + + snap_to(where); + playhead_cursor->set_position (where); + + if (cursor == playhead_cursor) { + _dragging_playhead = true; + + if (session && session->is_auditioning()) { + session->cancel_audition (); + } + } + + drag_info.pointer_frame_offset = drag_info.grab_frame - cursor->current_frame; + + show_verbose_time_cursor (cursor->current_frame, 10); +} + +void Editor::cursor_drag_motion_callback (ArdourCanvas::Item* item, GdkEvent* event) { Cursor* cursor = (Cursor *) drag_info.data; @@ -2294,12 +2414,28 @@ Editor::cursor_drag_motion_callback (ArdourCanvas::Item* item, GdkEvent* event) void Editor::cursor_drag_finished_callback (ArdourCanvas::Item* item, GdkEvent* event) { - if (drag_info.first_move) return; + _dragging_playhead = false; + + if (drag_info.first_move) { + return; + } cursor_drag_motion_callback (item, event); + + if (item == &playhead_cursor->canvas_item) { + if (session) { + session->request_locate (playhead_cursor->current_frame, drag_info.was_rolling); + } + } +} +void +Editor::cursor_drag_finished_ensure_locate_callback (ArdourCanvas::Item* item, GdkEvent* event) +{ _dragging_playhead = false; + cursor_drag_motion_callback (item, event); + if (item == &playhead_cursor->canvas_item) { if (session) { session->request_locate (playhead_cursor->current_frame, drag_info.was_rolling); @@ -3100,12 +3236,14 @@ Editor::start_line_grab (AutomationLine* line, GdkEvent* event) nframes64_t frame_within_region; /* need to get x coordinate in terms of parent (TimeAxisItemView) - origin. + origin, and ditto for y. */ cx = event->button.x; cy = event->button.y; + line->parent_group().w2i (cx, cy); + frame_within_region = (nframes64_t) floor (cx * frames_per_unit); if (!line->control_points_adjacent (frame_within_region, current_line_drag_info.before, @@ -3121,6 +3259,11 @@ Editor::start_line_grab (AutomationLine* line, GdkEvent* event) start_grab (event, fader_cursor); + /* store grab start in parent frame */ + + drag_info.grab_x = cx; + drag_info.grab_y = cy; + double fraction = 1.0 - (cy / line->height()); line->start_drag (0, drag_info.grab_frame, fraction); @@ -3136,7 +3279,7 @@ Editor::line_drag_motion_callback (ArdourCanvas::Item* item, GdkEvent* event) AutomationLine* line = reinterpret_cast<AutomationLine *> (drag_info.data); double dy = drag_info.current_pointer_y - drag_info.last_pointer_y; - + if (event->button.state & Keyboard::SecondaryModifier) { dy *= 0.1; } @@ -3145,9 +3288,9 @@ Editor::line_drag_motion_callback (ArdourCanvas::Item* item, GdkEvent* event) // calculate zero crossing point. back off by .01 to stay on the // positive side of zero - double _unused = 0; double zero_gain_y = (1.0 - ZERO_GAIN_FRACTION) * line->height() - .01; - line->parent_group().i2w(_unused, zero_gain_y); + + // line->parent_group().i2w(_unused, zero_gain_y); // make sure we hit zero when passing through if ((cy < zero_gain_y and (cy - dy) > zero_gain_y) @@ -3160,6 +3303,7 @@ Editor::line_drag_motion_callback (ArdourCanvas::Item* item, GdkEvent* event) cy = max (0.0, cy); cy = min ((double) line->height(), cy); + double fraction = 1.0 - (cy / line->height()); bool push; @@ -3976,7 +4120,6 @@ Editor::region_drag_finished_callback (ArdourCanvas::Item* item, GdkEvent* event } begin_reversible_command (op_string); - changed_position = (drag_info.last_frame_position != (nframes64_t) (clicked_regionview->region()->position())); changed_tracks = (trackview_by_y_position (drag_info.current_pointer_y) != &clicked_regionview->get_time_axis_view()); @@ -3994,13 +4137,14 @@ Editor::region_drag_finished_callback (ArdourCanvas::Item* item, GdkEvent* event TimeAxisView* dest_tv = trackview_by_y_position (iy1); RouteTimeAxisView* dest_rtv = dynamic_cast<RouteTimeAxisView*>(dest_tv); + nframes64_t where; if (rv->region()->locked()) { ++i; continue; } - + if (changed_position && !drag_info.x_constrained) { where = rv->region()->position() - drag_delta; } else { @@ -5538,7 +5682,9 @@ Editor::end_rubberband_select (ArdourCanvas::Item* item, GdkEvent* event) } } else { - selection->clear_tracks(); + if (!getenv("ARDOUR_SAE")) { + selection->clear_tracks(); + } selection->clear_regions(); selection->clear_points (); selection->clear_lines (); diff --git a/gtk2_ardour/editor_ops.cc b/gtk2_ardour/editor_ops.cc index 283935af77..a5dfb6b08e 100644 --- a/gtk2_ardour/editor_ops.cc +++ b/gtk2_ardour/editor_ops.cc @@ -38,7 +38,6 @@ #include <gtkmm2ext/window_title.h> #include <gtkmm2ext/popup.h> - #include <ardour/audioengine.h> #include <ardour/session.h> #include <ardour/audioplaylist.h> @@ -148,8 +147,6 @@ Editor::split_regions_at (nframes64_t where, RegionSelection& regions) snap_to (where); } - cerr << "Split " << regions.size() << " at " << where << endl; - for (RegionSelection::iterator a = regions.begin(); a != regions.end(); ) { RegionSelection::iterator tmp; @@ -2009,7 +2006,7 @@ Editor::add_location_from_playhead_cursor () } void -Editor::add_location_from_audio_region () +Editor::add_locations_from_audio_region () { RegionSelection rs; @@ -2019,15 +2016,61 @@ Editor::add_location_from_audio_region () return; } - RegionView* rv = *(rs.begin()); - boost::shared_ptr<Region> region = rv->region(); + session->begin_reversible_command (rs.size () > 1 ? _("add markers") : _("add marker")); + XMLNode &before = session->locations()->get_state(); - Location *location = new Location (region->position(), region->last_frame(), region->name(), Location::IsRangeMarker); + cerr << "Add locations\n"; + + for (RegionSelection::iterator i = rs.begin (); i != rs.end (); ++i) { + + boost::shared_ptr<Region> region = (*i)->region (); + + Location *location = new Location (region->position(), region->last_frame(), region->name(), Location::IsRangeMarker); + + session->locations()->add (location, true); + } + + XMLNode &after = session->locations()->get_state(); + session->add_command (new MementoCommand<Locations>(*(session->locations()), &before, &after)); + session->commit_reversible_command (); +} + +void +Editor::add_location_from_audio_region () +{ + RegionSelection rs; + + get_regions_for_action (rs); + + if (rs.empty()) { + return; + } + session->begin_reversible_command (_("add marker")); - XMLNode &before = session->locations()->get_state(); + XMLNode &before = session->locations()->get_state(); + + string markername; + + if (rs.size() > 1) { // more than one region selected + session->locations()->next_available_name(markername, "regions"); + } else { + RegionView* rv = *(rs.begin()); + boost::shared_ptr<Region> region = rv->region(); + markername = region->name(); + } + + if (!choose_new_marker_name(markername)) { + return; + } + + cerr << "Add location\n"; + + // single range spanning all selected + Location *location = new Location (rs.start(), rs.end_frame(), markername, Location::IsRangeMarker); session->locations()->add (location, true); - XMLNode &after = session->locations()->get_state(); - session->add_command(new MementoCommand<Locations>(*(session->locations()), &before, &after)); + + XMLNode &after = session->locations()->get_state(); + session->add_command (new MementoCommand<Locations>(*(session->locations()), &before, &after)); session->commit_reversible_command (); } @@ -3607,7 +3650,7 @@ Editor::unfreeze_route () void* Editor::_freeze_thread (void* arg) { - PBD::ThreadCreated (pthread_self(), X_("Freeze")); + PBD::notify_gui_about_thread_creation (pthread_self(), X_("Freeze")); return static_cast<Editor*>(arg)->freeze_thread (); } @@ -4734,6 +4777,28 @@ Editor::toggle_region_opaque () } void +Editor::toggle_record_enable () +{ + bool new_state = false; + bool first = true; + for (TrackSelection::iterator i = selection->tracks.begin(); i != selection->tracks.end(); ++i) { + RouteTimeAxisView *rtav = dynamic_cast<RouteTimeAxisView *>(*i); + if (!rtav) + continue; + if (!rtav->is_track()) + continue; + + if (first) { + new_state = !rtav->track()->record_enabled(); + first = false; + } + + rtav->track()->set_record_enable(new_state, this); + } +} + + +void Editor::set_fade_length (bool in) { RegionSelection rs; @@ -5216,17 +5281,26 @@ Editor::select_next_route() TimeAxisView* current = selection->tracks.front(); - for (TrackViewList::iterator i = track_views.begin(); i != track_views.end(); ++i) { - if (*i == current) { - ++i; - if (i != track_views.end()) { - selection->set (*i); - } else { - selection->set (*(track_views.begin())); + RouteUI *rui; + do { + for (TrackViewList::iterator i = track_views.begin(); i != track_views.end(); ++i) { + if (*i == current) { + ++i; + if (i != track_views.end()) { + current = (*i); + } else { + current = (*(track_views.begin())); + //selection->set (*(track_views.begin())); + } + break; } - break; } - } + rui = dynamic_cast<RouteUI *>(current); + } while ( current->hidden() || (rui != NULL && !rui->route()->active())); + + selection->set(current); + + ensure_track_visible(current); } void @@ -5239,17 +5313,55 @@ Editor::select_prev_route() TimeAxisView* current = selection->tracks.front(); - for (TrackViewList::reverse_iterator i = track_views.rbegin(); i != track_views.rend(); ++i) { - if (*i == current) { - ++i; - if (i != track_views.rend()) { - selection->set (*i); - } else { - selection->set (*(track_views.rbegin())); + RouteUI *rui; + do { + for (TrackViewList::reverse_iterator i = track_views.rbegin(); i != track_views.rend(); ++i) { + if (*i == current) { + ++i; + if (i != track_views.rend()) { + current = (*i); + } else { + current = *(track_views.rbegin()); + } + break; } - break; } + rui = dynamic_cast<RouteUI *>(current); + } while ( current->hidden() || (rui != NULL && !rui->route()->active())); + + selection->set (current); + + ensure_track_visible(current); +} + +void +Editor::ensure_track_visible(TimeAxisView *track) +{ + if (track->hidden()) + return; + + double current_view_min_y = vertical_adjustment.get_value(); + double current_view_max_y = vertical_adjustment.get_value() + vertical_adjustment.get_page_size() - canvas_timebars_vsize; + + double track_min_y = track->y_position; + double track_max_y = track->y_position + (double)track->effective_height; + + if (track_min_y >= current_view_min_y && + track_max_y <= current_view_max_y) { + return; + } + + double new_value; + + if (track_min_y < current_view_min_y) { + // Track is above the current view + new_value = track_min_y; + } else { + // Track is below the current view + new_value = track->y_position + (double)track->effective_height + canvas_timebars_vsize - vertical_adjustment.get_page_size(); } + + vertical_adjustment.set_value(new_value); } void @@ -6032,26 +6144,34 @@ Editor::insert_time (nframes64_t pos, nframes64_t frames, InsertTimeOption opt, begin_reversible_command (_("insert time")); for (TrackSelection::iterator x = selection->tracks.begin(); x != selection->tracks.end(); ++x) { + /* regions */ boost::shared_ptr<Playlist> pl = (*x)->playlist(); - if (!pl) { - continue; - } - - XMLNode &before = pl->get_state(); + if (pl) { - if (opt == SplitIntersected) { - pl->split (pos); + XMLNode &before = pl->get_state(); + + if (opt == SplitIntersected) { + pl->split (pos); + } + + pl->shift (pos, frames, (opt == MoveIntersected), ignore_music_glue); + + XMLNode &after = pl->get_state(); + + session->add_command (new MementoCommand<Playlist> (*pl, &before, &after)); + commit = true; + } + + /* automation */ + RouteTimeAxisView* rtav = dynamic_cast<RouteTimeAxisView*> (*x); + if (rtav) { + rtav->route ()->shift (pos, frames); + commit = true; } - - pl->shift (pos, frames, (opt == MoveIntersected), ignore_music_glue); - - XMLNode &after = pl->get_state(); - - session->add_command (new MementoCommand<Playlist> (*pl, &before, &after)); - commit = true; } + /* markers */ if (markers_too) { bool moved = false; XMLNode& before (session->locations()->get_state()); @@ -6185,22 +6305,23 @@ Editor::goto_visual_state (uint32_t n) void Editor::start_visual_state_op (uint32_t n) { - cerr << "Start\n"; + cerr << "Start visual op\n"; if (visual_state_op_connection.empty()) { - cerr << "\tqueue\n"; visual_state_op_connection = Glib::signal_timeout().connect (bind (mem_fun (*this, &Editor::end_visual_state_op), n), 1000); + cerr << "\tqueued new timeout\n"; } } void Editor::cancel_visual_state_op (uint32_t n) { - cerr << "Cancel\n"; if (!visual_state_op_connection.empty()) { - cerr << "\tgoto\n"; + cerr << "cancel visual op, time to goto\n"; visual_state_op_connection.disconnect(); goto_visual_state (n); - } + } else { + cerr << "cancel visual op, do nothing\n"; + } } bool diff --git a/gtk2_ardour/editor_region_list.cc b/gtk2_ardour/editor_region_list.cc index 1c8d95ad12..f2c98dfa30 100644 --- a/gtk2_ardour/editor_region_list.cc +++ b/gtk2_ardour/editor_region_list.cc @@ -29,6 +29,7 @@ #include <ardour/audiofilesource.h> #include <ardour/silentfilesource.h> #include <ardour/session_region.h> +#include <ardour/profile.h> #include <gtkmm2ext/stop_signal.h> @@ -777,8 +778,6 @@ Editor::region_list_display_button_press (GdkEventButton *ev) int cellx; int celly; - // cerr << "Button press release, button = " << ev->button << endl; - if (region_list_display.get_path_at_pos ((int)ev->x, (int)ev->y, path, column, cellx, celly)) { if ((iter = region_list_model->get_iter (path))) { region = (*iter)[region_list_columns.region]; @@ -787,14 +786,12 @@ Editor::region_list_display_button_press (GdkEventButton *ev) if (Keyboard::is_context_menu_event (ev)) { show_region_list_display_context_menu (ev->button, ev->time); - cerr << "\tcontext menu event, event handled\n"; return true; } if (region == 0) { region_list_display.get_selection()->unselect_all(); deselect_all(); - cerr << "\tSelection cleared\n"; return false; } @@ -807,7 +804,6 @@ Editor::region_list_display_button_press (GdkEventButton *ev) if (!Keyboard::modifier_state_equals (ev->state, Keyboard::PrimaryModifier)) { consider_auditioning (region); } - cerr << "\taudition, event handled\n"; return true; break; @@ -815,7 +811,6 @@ Editor::region_list_display_button_press (GdkEventButton *ev) break; } - cerr << "\tnot handled\n"; return false; } @@ -1036,14 +1031,17 @@ Editor::region_list_display_drag_data_received (const RefPtr<Gdk::DragContext>& vector<ustring> paths; if (data.get_target() == "GTK_TREE_MODEL_ROW") { - cerr << "Delete drag data drop to treeview\n"; region_list_display.on_drag_data_received (context, x, y, data, info, time); return; } if (convert_drop_to_paths (paths, context, x, y, data, info, time) == 0) { nframes64_t pos = 0; - do_embed (paths, Editing::ImportDistinctFiles, ImportAsRegion, pos); + if (Profile->get_sae() || Config->get_only_copy_imported_files()) { + do_import (paths, Editing::ImportDistinctFiles, Editing::ImportAsRegion, SrcBest, pos); + } else { + do_embed (paths, Editing::ImportDistinctFiles, ImportAsRegion, pos); + } context->drag_finish (true, false, time); } } diff --git a/gtk2_ardour/editor_route_list.cc b/gtk2_ardour/editor_route_list.cc index db3c4918c2..6e368716f7 100644 --- a/gtk2_ardour/editor_route_list.cc +++ b/gtk2_ardour/editor_route_list.cc @@ -147,7 +147,7 @@ void Editor::handle_gui_changes (const string & what, void *src) { ENSURE_GUI_THREAD(bind (mem_fun(*this, &Editor::handle_gui_changes), what, src)); - + if (what == "track_height") { /* Optional :make tracks change height while it happens, instead of on first-idle @@ -643,14 +643,10 @@ Editor::route_list_display_drag_data_received (const RefPtr<Gdk::DragContext>& c const SelectionData& data, guint info, guint time) { - cerr << "RouteLD::dddr target = " << data.get_target() << endl; - if (data.get_target() == "GTK_TREE_MODEL_ROW") { - cerr << "Delete drag data drop to treeview\n"; route_list_display.on_drag_data_received (context, x, y, data, info, time); return; } - cerr << "some other kind of drag\n"; context->drag_finish (true, false, time); } @@ -786,114 +782,6 @@ Editor::move_selected_tracks (bool up) } route_display_model->reorder (neworder); -} - -#if 0 - vector<boost::shared_ptr<Route> > selected_block; - boost::shared_ptr<Route> target_unselected_route; - bool last_track_was_selected = false; - vector<int> neworder; - TreeModel::Children rows = route_display_model->children(); - TreeModel::Children::iterator ri; - uint32_t old_key; - uint32_t new_key; - int n; - - /* preload "neworder" with the current order */ - - for (n = 0, ri = rows.begin(); ri != rows.end(); ++ri, ++n) { - neworder.push_back (n); - } - - for (ri = rows.begin(); ri != rows.end(); ++ri) { - - TimeAxisView* tv = (*ri)[route_display_columns.tv]; - boost::shared_ptr<Route> route = (*ri)[route_display_columns.route]; - - if (selection->selected (tv)) { - - selected_block.push_back (route); - cerr << "--SAVE as SELECTED " << route->name() << endl; - last_track_was_selected = true; - continue; - } else { - - if (!last_track_was_selected) { - /* keep moving through unselected tracks, but save this - one in case we need it later as the one that will - move *down* as the selected block moves up. - */ - target_unselected_route = route; - cerr << "--pre-SAVE as UNSELECTED " << route->name() << endl; - continue; - } - - last_track_was_selected = false; - - if (!up) { - /* this is the track immediately after a selected block, - and this is the one that will move *up* as - the selected block moves down. - */ - - target_unselected_route = route; - cerr << "--post-SAVE as UNSELECTED " << route->name() << endl; - } else { - cerr << "--(up) plan to use existing unselected target\n"; - } - } - - cerr << "TRANSITION: sel = " << selected_block.size() << " unsel = " << target_unselected_route << endl; - - /* transitioned between selected/not-selected */ - - uint32_t distance; - - for (vector<boost::shared_ptr<Route> >::iterator x = selected_block.begin(); x != selected_block.end(); ++x) { - old_key = (*x)->order_key (_order_key); - new_key = compute_new_key (old_key, up, 1, rows.size()); - neworder[new_key] = old_key; - cerr << "--SELECTED, reorder from " << old_key << " => " << new_key << endl; - } - - /* now move the unselected tracks in the opposite direction */ - - if (!selected_block.empty() && target_unselected_route) { - distance = selected_block.size(); - old_key = target_unselected_route->order_key (_order_key); - new_key = compute_new_key (old_key, !up, distance, rows.size()); - neworder[new_key] = old_key; - cerr << "--UNSELECTED, reorder from " << old_key << " => " << new_key << endl; - } - - selected_block.clear (); - target_unselected_route.reset (); - } - - cerr << "when done ... sel = " << selected_block.size() << " unsel = " << target_unselected_route << endl; - - if (!selected_block.empty() || target_unselected_route) { - - /* left over blocks */ - - uint32_t distance; - - for (vector<boost::shared_ptr<Route> >::iterator x = selected_block.begin(); x != selected_block.end(); ++x) { - old_key = (*x)->order_key (_order_key); - new_key = compute_new_key (old_key, up, 1, rows.size()); - neworder[new_key] = old_key; - cerr << "--SELECTED, reorder from " << old_key << " => " << new_key << endl; - } - - if (!selected_block.empty() && target_unselected_route) { - distance = selected_block.size(); - old_key = target_unselected_route->order_key (_order_key); - new_key = compute_new_key (old_key, !up, distance, rows.size()); - neworder[new_key] = old_key; - cerr << "--UNSELECTED, reorder from " << old_key << " => " << new_key << endl; - } - } - - route_display_model->reorder (neworder); -#endif + session->sync_order_keys (_order_key); +} diff --git a/gtk2_ardour/editor_rulers.cc b/gtk2_ardour/editor_rulers.cc index 048d8c2725..a4344c3ffa 100644 --- a/gtk2_ardour/editor_rulers.cc +++ b/gtk2_ardour/editor_rulers.cc @@ -33,6 +33,7 @@ #include "actions.h" #include "gtk-custom-hruler.h" #include "gui_thread.h" +#include "time_axis_view.h" #include "i18n.h" @@ -64,6 +65,14 @@ Editor::initialize_rulers () _ruler_separator->set_name("TimebarPadding"); _ruler_separator->show(); + _minsec_ruler = gtk_custom_hruler_new (); + minsec_ruler = Glib::wrap (_minsec_ruler); + minsec_ruler->set_name ("MinSecRuler"); + minsec_ruler->set_size_request (-1, (int)timebar_height); + gtk_custom_ruler_set_metric (GTK_CUSTOM_RULER(_minsec_ruler), &ruler_metrics[ruler_metric_minsec]); + minsec_ruler->hide (); + minsec_ruler->set_no_show_all(); + _smpte_ruler = gtk_custom_hruler_new (); smpte_ruler = Glib::wrap (_smpte_ruler); smpte_ruler->set_name ("SMPTERuler"); @@ -90,11 +99,13 @@ Editor::initialize_rulers () frames_ruler->hide (); frames_ruler->set_no_show_all(); - _minsec_ruler = gtk_custom_hruler_new (); - minsec_ruler = Glib::wrap (_minsec_ruler); - minsec_ruler->set_name ("MinSecRuler"); - minsec_ruler->set_size_request (-1, (int)timebar_height); - gtk_custom_ruler_set_metric (GTK_CUSTOM_RULER(_minsec_ruler), &ruler_metrics[ruler_metric_minsec]); + _bbt_ruler = gtk_custom_hruler_new (); + bbt_ruler = Glib::wrap (_bbt_ruler); + bbt_ruler->set_name ("BBTRuler"); + bbt_ruler->set_size_request (-1, (int)timebar_height); + gtk_custom_ruler_set_metric (GTK_CUSTOM_RULER(_bbt_ruler), &ruler_metrics[ruler_metric_bbt]); + bbt_ruler->hide (); + bbt_ruler->set_no_show_all(); minsec_ruler->hide (); minsec_ruler->set_no_show_all(); minsec_nmarks = 0; @@ -532,66 +543,76 @@ Editor::restore_ruler_visibility () if (node) { if ((prop = node->property ("smpte")) != 0) { - if (prop->value() == "yes") + if (prop->value() == "yes") { ruler_timecode_action->set_active (true); - else + } else { ruler_timecode_action->set_active (false); + } } if ((prop = node->property ("bbt")) != 0) { - if (prop->value() == "yes") + if (prop->value() == "yes") { ruler_bbt_action->set_active (true); - else + } else { ruler_bbt_action->set_active (false); + } } if ((prop = node->property ("frames")) != 0) { - if (prop->value() == "yes") + if (prop->value() == "yes") { ruler_samples_action->set_active (true); - else + } else { ruler_samples_action->set_active (false); + } } if ((prop = node->property ("minsec")) != 0) { - if (prop->value() == "yes") + if (prop->value() == "yes") { ruler_minsec_action->set_active (true); - else + } else { ruler_minsec_action->set_active (false); + } } if ((prop = node->property ("tempo")) != 0) { - if (prop->value() == "yes") + if (prop->value() == "yes") { ruler_tempo_action->set_active (true); - else + } else { ruler_tempo_action->set_active (false); + } } if ((prop = node->property ("meter")) != 0) { - if (prop->value() == "yes") + if (prop->value() == "yes") { ruler_meter_action->set_active (true); - else + } else { ruler_meter_action->set_active (false); + } } if ((prop = node->property ("marker")) != 0) { - if (prop->value() == "yes") + if (prop->value() == "yes") { ruler_marker_action->set_active (true); - else + } else { ruler_marker_action->set_active (false); + } } if ((prop = node->property ("rangemarker")) != 0) { - if (prop->value() == "yes") + if (prop->value() == "yes") { ruler_range_action->set_active (true); - else + } else { ruler_range_action->set_active (false); + } } if ((prop = node->property ("transportmarker")) != 0) { - if (prop->value() == "yes") + if (prop->value() == "yes") { ruler_loop_punch_action->set_active (true); - else + } else { ruler_loop_punch_action->set_active (false); + } } if ((prop = node->property ("cdmarker")) != 0) { - if (prop->value() == "yes") + if (prop->value() == "yes") { ruler_cd_marker_action->set_active (true); - else + } else { ruler_cd_marker_action->set_active (false); + } } else { // this session doesn't yet know about the cdmarker ruler @@ -610,7 +631,6 @@ Editor::restore_ruler_visibility () } no_ruler_shown_update = false; - update_ruler_visibility (); } @@ -816,10 +836,17 @@ Editor::update_ruler_visibility () vertical_adjustment.set_value (full_canvas_height - canvas_height + 1); } else { _trackview_group->property_y () = - get_trackview_group_vertical_offset (); + _background_group->property_y () = - get_trackview_group_vertical_offset (); _trackview_group->move (0, 0); + _background_group->move (0, 0); last_trackview_group_vertical_offset = get_trackview_group_vertical_offset (); } + gdouble bottom_track_pos = vertical_adjustment.get_value() + canvas_height - canvas_timebars_vsize; + if (trackview_by_y_position(bottom_track_pos) != 0) { + trackview_by_y_position(bottom_track_pos)->clip_to_viewport (); + } + ruler_label_vbox.set_size_request (-1, (int)(timebar_height * visible_rulers)); time_canvas_vbox.set_size_request (-1,-1); diff --git a/gtk2_ardour/editor_tempodisplay.cc b/gtk2_ardour/editor_tempodisplay.cc index 923c2fbd1c..ec3cf30b45 100644 --- a/gtk2_ardour/editor_tempodisplay.cc +++ b/gtk2_ardour/editor_tempodisplay.cc @@ -106,8 +106,7 @@ Editor::tempo_map_changed (Change ignored) tempo_lines->tempo_map_changed(); compute_current_bbt_points(leftmost_frame, leftmost_frame + current_page_frames()); - session->tempo_map().apply_with_metrics (*this, &Editor::draw_metric_marks); - update_tempo_based_rulers ();// redraw metric markers + session->tempo_map().apply_with_metrics (*this, &Editor::draw_metric_marks); // redraw metric markers redraw_measures (); } @@ -120,8 +119,17 @@ Editor::redisplay_tempo (bool immediate_redraw) compute_current_bbt_points (leftmost_frame, leftmost_frame + current_page_frames()); // redraw rulers and measures - redraw_measures(); - update_tempo_based_rulers (); + compute_current_bbt_points (leftmost_frame, leftmost_frame + current_page_frames()); + if (immediate_redraw) { + redraw_measures (); + } else { +#ifdef GTKOSX + redraw_measures (); +#else + Glib::signal_idle().connect (mem_fun (*this, &Editor::redraw_measures)); +#endif + } + update_tempo_based_rulers (); // redraw rulers and measures } void diff --git a/gtk2_ardour/editor_timefx.cc b/gtk2_ardour/editor_timefx.cc index 6628be7116..3dda9e87e9 100644 --- a/gtk2_ardour/editor_timefx.cc +++ b/gtk2_ardour/editor_timefx.cc @@ -72,7 +72,8 @@ Editor::TimeFXDialog::TimeFXDialog (Editor& e, bool pitch) quick_button (_("Quick but Ugly")), antialias_button (_("Skip Anti-aliasing")), stretch_opts_label (_("Contents:")), - precise_button (_("Strict Linear")) + precise_button (_("Strict Linear")), + preserve_formants_button(_("Preserve Formants")) { set_modal (true); set_position (Gtk::WIN_POS_MOUSE); @@ -112,6 +113,9 @@ Editor::TimeFXDialog::TimeFXDialog (Editor& e, bool pitch) pitch_cent_spinner.set_digits (1); + upper_button_box.pack_start (preserve_formants_button, false, false); + + add_button (_("Shift"), Gtk::RESPONSE_ACCEPT); get_vbox()->pack_start (upper_button_box, false, false); @@ -281,6 +285,7 @@ Editor::time_fx (RegionSelection& regions, float val, bool pitching) bool peaklock = true; bool longwin = false; bool shortwin = false; + bool preserve_formants = false; string txt; enum { @@ -290,6 +295,7 @@ Editor::time_fx (RegionSelection& regions, float val, bool pitching) } transients = Transients; precise = current_timefx->precise_button.get_active(); + preserve_formants = current_timefx->preserve_formants_button.get_active(); txt = current_timefx->stretch_opts_selector.get_active_text (); @@ -312,10 +318,14 @@ Editor::time_fx (RegionSelection& regions, float val, bool pitching) if (realtime) options |= RubberBandStretcher::OptionProcessRealTime; if (precise) options |= RubberBandStretcher::OptionStretchPrecise; + if (preserve_formants) options |= RubberBandStretcher::OptionFormantPreserved; + if (!peaklock) options |= RubberBandStretcher::OptionPhaseIndependent; if (longwin) options |= RubberBandStretcher::OptionWindowLong; if (shortwin) options |= RubberBandStretcher::OptionWindowShort; + + switch (transients) { case NoTransients: options |= RubberBandStretcher::OptionTransientsSmooth; @@ -455,7 +465,7 @@ Editor::do_timefx (TimeFXDialog& dialog) void* Editor::timefx_thread (void *arg) { - PBD::ThreadCreated (pthread_self(), X_("TimeFX")); + PBD::notify_gui_about_thread_creation (pthread_self(), X_("TimeFX")); TimeFXDialog* tsd = static_cast<TimeFXDialog*>(arg); diff --git a/gtk2_ardour/export_range_markers_dialog.cc b/gtk2_ardour/export_range_markers_dialog.cc index bf2f0e3989..cea690f74c 100644 --- a/gtk2_ardour/export_range_markers_dialog.cc +++ b/gtk2_ardour/export_range_markers_dialog.cc @@ -131,7 +131,6 @@ ExportRangeMarkersDialog::get_target_filepath(string path, string filename, stri return target_filepath; } - bool ExportRangeMarkersDialog::is_filepath_valid(string &filepath) { @@ -148,10 +147,10 @@ ExportRangeMarkersDialog::is_filepath_valid(string &filepath) if ( (stat (filepath.c_str(), &statbuf) != 0) || (!S_ISDIR (statbuf.st_mode)) ) { - string txt = _("Please select an existing target directory. Files are not allowed!"); - MessageDialog msg (*this, txt, false, MESSAGE_ERROR, BUTTONS_OK, true); - msg.run(); - return false; + string txt = _("Please select an existing target directory. Files are not allowed!"); + MessageDialog msg (*this, txt, false, MESSAGE_ERROR, BUTTONS_OK, true); + msg.run(); + return false; } // directory needs to exist and be writable @@ -166,7 +165,6 @@ ExportRangeMarkersDialog::is_filepath_valid(string &filepath) return true; } - void ExportRangeMarkersDialog::init_progress_computing(Locations::LocationList& locations) { diff --git a/gtk2_ardour/gain_meter.cc b/gtk2_ardour/gain_meter.cc index b34c0b8d28..a74df66bc0 100644 --- a/gtk2_ardour/gain_meter.cc +++ b/gtk2_ardour/gain_meter.cc @@ -454,7 +454,7 @@ GainMeterBase::meter_press(GdkEventButton* ev) } else { - if (ev->button == 2) { + if (Keyboard::is_button2_event(ev)) { // Primary-button2 click is the midi binding click // button2-click is "momentary" @@ -465,7 +465,7 @@ GainMeterBase::meter_press(GdkEventButton* ev) } } - if (ev->button == 1 || ev->button == 2) { + if (ev->button == 1 || Keyboard::is_button2_event (ev)) { if (Keyboard::modifier_state_equals (ev->state, Keyboard::ModifierMask (Keyboard::PrimaryModifier|Keyboard::TertiaryModifier))) { diff --git a/gtk2_ardour/generic_pluginui.cc b/gtk2_ardour/generic_pluginui.cc index af21227c0f..c7cecc7130 100644 --- a/gtk2_ardour/generic_pluginui.cc +++ b/gtk2_ardour/generic_pluginui.cc @@ -77,7 +77,6 @@ GenericPluginUI::GenericPluginUI (boost::shared_ptr<PluginInsert> pi, bool scrol //set_homogeneous (false); pack1(main_contents); - settings_box.set_homogeneous (false); HBox* constraint_hbox = manage (new HBox); @@ -92,16 +91,25 @@ GenericPluginUI::GenericPluginUI (boost::shared_ptr<PluginInsert> pi, bool scrol smaller_hbox->pack_start (latency_gui, false, false, 10); smaller_hbox->pack_start (preset_combo, false, false); smaller_hbox->pack_start (save_button, false, false); + smaller_hbox->pack_start (bypass_button, false, true); constraint_hbox->set_spacing (5); - constraint_hbox->pack_start (*smaller_hbox, true, false); - constraint_hbox->pack_end (bypass_button, false, false); + constraint_hbox->set_homogeneous (false); + + VBox* v1_box = manage (new VBox); + VBox* v2_box = manage (new VBox); constraint_hbox->pack_start (eqgui_toggle, false, false); - settings_box.pack_end (*constraint_hbox, false, false); + v1_box->pack_start (*smaller_hbox, false, true); + v2_box->pack_start (focus_button, false, true); main_contents.pack_start (settings_box, false, false); + constraint_hbox->pack_end (*v2_box, false, false); + constraint_hbox->pack_end (*v1_box, false, false); + + main_contents.pack_start (*constraint_hbox, false, false); + if ( is_scrollable ) { scroller.set_policy (Gtk::POLICY_AUTOMATIC, Gtk::POLICY_AUTOMATIC); scroller.set_name ("PluginEditor"); @@ -120,9 +128,10 @@ GenericPluginUI::GenericPluginUI (boost::shared_ptr<PluginInsert> pi, bool scrol eqgui_toggle.signal_toggled().connect( mem_fun(*this, &GenericPluginUI::toggle_plugin_analysis)); pi->ActiveChanged.connect (bind(mem_fun(*this, &GenericPluginUI::processor_active_changed), - boost::weak_ptr<Processor>(pi))); - bypass_button.set_active (!pi->active()); + boost::weak_ptr<Processor>(pi))); + bypass_button.set_active (!pi->active()); + build (); } @@ -202,7 +211,7 @@ GenericPluginUI::build () /* if we are scrollable, just use one long column */ if (!is_scrollable) { - if (x++ > 7){ + if (x++ > 20){ frame = manage (new Frame); frame->set_name ("BaseFrame"); box = manage (new VBox); diff --git a/gtk2_ardour/icons/computer_keyboard.png b/gtk2_ardour/icons/computer_keyboard.png Binary files differnew file mode 100644 index 0000000000..8d425d0385 --- /dev/null +++ b/gtk2_ardour/icons/computer_keyboard.png diff --git a/gtk2_ardour/icons/computer_keyboard_active.png b/gtk2_ardour/icons/computer_keyboard_active.png Binary files differnew file mode 100644 index 0000000000..70e6b37aa0 --- /dev/null +++ b/gtk2_ardour/icons/computer_keyboard_active.png diff --git a/gtk2_ardour/keyboard.cc b/gtk2_ardour/keyboard.cc index ef8cc34389..d0fcbea5cf 100644 --- a/gtk2_ardour/keyboard.cc +++ b/gtk2_ardour/keyboard.cc @@ -64,6 +64,7 @@ guint Keyboard::TertiaryModifier = GDK_SHIFT_MASK; // Shift guint Keyboard::Level4Modifier = GDK_CONTROL_MASK; // Control guint Keyboard::CopyModifier = GDK_MOD1_MASK; // Alt/Option guint Keyboard::RangeSelectModifier = GDK_SHIFT_MASK; +guint Keyboard::button2_modifiers = Keyboard::SecondaryModifier|Keyboard::Level4Modifier; #else guint Keyboard::PrimaryModifier = GDK_CONTROL_MASK; // Control guint Keyboard::SecondaryModifier = GDK_MOD1_MASK; // Alt/Option @@ -71,8 +72,10 @@ guint Keyboard::TertiaryModifier = GDK_SHIFT_MASK; // Shift guint Keyboard::Level4Modifier = GDK_MOD4_MASK; // Mod4/Windows guint Keyboard::CopyModifier = GDK_CONTROL_MASK; guint Keyboard::RangeSelectModifier = GDK_SHIFT_MASK; +guint Keyboard::button2_modifiers = 0; /* not used */ #endif + Keyboard* Keyboard::_the_keyboard = 0; Gtk::Window* Keyboard::current_window = 0; bool Keyboard::_some_magic_widget_has_focus = false; @@ -265,10 +268,20 @@ Keyboard::snooper (GtkWidget *widget, GdkEventKey *event) } } - if (event->type == GDK_KEY_RELEASE && event->keyval == GDK_w && modifier_state_equals (event->state, PrimaryModifier)) { - if (current_window) { - current_window->hide (); - current_window = 0; + /* Special keys that we want to handle in + any dialog, no matter whether it uses + the regular set of accelerators or not + */ + + if (event->type == GDK_KEY_RELEASE && modifier_state_equals (event->state, PrimaryModifier)) { + switch (event->keyval) { + case GDK_w: + if (current_window) { + current_window->hide (); + current_window = 0; + ret = true; + } + break; } } @@ -291,25 +304,29 @@ Keyboard::enter_window (GdkEventCrossing *ev, Gtk::Window* win) bool Keyboard::leave_window (GdkEventCrossing *ev, Gtk::Window* win) { - switch (ev->detail) { - case GDK_NOTIFY_INFERIOR: - if (debug_keyboard) { - cerr << "INFERIOR crossing ... out\n"; - } - break; - - case GDK_NOTIFY_VIRTUAL: - if (debug_keyboard) { - cerr << "VIRTUAL crossing ... out\n"; - } - /* fallthru */ - - default: - if (debug_keyboard) { - cerr << "REAL CROSSING ... out\n"; - cerr << "clearing current target\n"; + if (ev) { + switch (ev->detail) { + case GDK_NOTIFY_INFERIOR: + if (debug_keyboard) { + cerr << "INFERIOR crossing ... out\n"; + } + break; + + case GDK_NOTIFY_VIRTUAL: + if (debug_keyboard) { + cerr << "VIRTUAL crossing ... out\n"; + } + /* fallthru */ + + default: + if (debug_keyboard) { + cerr << "REAL CROSSING ... out\n"; + cerr << "clearing current target\n"; + } + state.clear (); + current_window = 0; } - state.clear (); + } else { current_window = 0; } @@ -363,13 +380,24 @@ Keyboard::set_snap_modifier (guint mod) bool Keyboard::is_edit_event (GdkEventButton *ev) { - return (ev->type == GDK_BUTTON_PRESS || ev->type == GDK_BUTTON_RELEASE) && (ev->button == Keyboard::edit_button()) && ((ev->state & RelevantModifierKeyMask) == Keyboard::edit_modifier()); } bool +Keyboard::is_button2_event (GdkEventButton* ev) +{ +#ifdef GTKOSX + return (ev->button == 2) || + ((ev->button == 1) && + ((ev->state & Keyboard::button2_modifiers) == Keyboard::button2_modifiers)); +#else + return ev->button == 2; +#endif +} + +bool Keyboard::is_delete_event (GdkEventButton *ev) { return (ev->type == GDK_BUTTON_PRESS || ev->type == GDK_BUTTON_RELEASE) && diff --git a/gtk2_ardour/keyboard.h b/gtk2_ardour/keyboard.h index e6d5065e86..5fb696e6a5 100644 --- a/gtk2_ardour/keyboard.h +++ b/gtk2_ardour/keyboard.h @@ -107,6 +107,7 @@ class Keyboard : public sigc::trackable, PBD::Stateful static bool is_edit_event (GdkEventButton*); static bool is_delete_event (GdkEventButton*); static bool is_context_menu_event (GdkEventButton*); + static bool is_button2_event (GdkEventButton*); static Keyboard& the_keyboard() { return *_the_keyboard; } @@ -143,6 +144,7 @@ class Keyboard : public sigc::trackable, PBD::Stateful static guint delete_but; static guint delete_mod; static guint snap_mod; + static guint button2_modifiers; static Gtk::Window* current_window; static std::string user_keybindings_path; static bool can_save_keybindings; diff --git a/gtk2_ardour/main.cc b/gtk2_ardour/main.cc index aecbc1f634..c7724cff63 100644 --- a/gtk2_ardour/main.cc +++ b/gtk2_ardour/main.cc @@ -151,6 +151,10 @@ fixup_bundle_environment () setenv ("ARDOUR_CONFIG_PATH", path.c_str(), 1); setenv ("ARDOUR_DATA_PATH", path.c_str(), 1); + path = dir_path; + path += "/../Resources"; + setenv ("ARDOUR_INSTANT_XML_PATH", path.c_str(), 1); + cstr = getenv ("LADSPA_PATH"); if (cstr) { path = cstr; @@ -264,7 +268,6 @@ fixup_bundle_environment () path += "/../Resources/gdk-pixbuf.loaders"; setenv ("GDK_PIXBUF_MODULE_FILE", path.c_str(), 1); - cerr << "Set GDK_PIXBUF_MODULE_FILE to " << path << endl; if (getenv ("ARDOUR_WITH_JACK")) { // JACK driver dir @@ -297,12 +300,9 @@ int main (int argc, char *argv[]) { vector<Glib::ustring> null_file_list; - cerr << "here we go\n"; - #ifdef __APPLE__ fixup_bundle_environment (); #endif - cerr << "just did it\n"; Glib::thread_init(); gtk_set_locale (); diff --git a/gtk2_ardour/matrix.cc b/gtk2_ardour/matrix.cc index db16362ca0..5cb229e4ea 100644 --- a/gtk2_ardour/matrix.cc +++ b/gtk2_ardour/matrix.cc @@ -152,7 +152,6 @@ Matrix::reset_size () */ float w = 0; - float w1; float h = 0; cairo_text_extents_t extents; cairo_t* cr; diff --git a/gtk2_ardour/mixer_strip.cc b/gtk2_ardour/mixer_strip.cc index 1a357dc002..c6b60b974e 100644 --- a/gtk2_ardour/mixer_strip.cc +++ b/gtk2_ardour/mixer_strip.cc @@ -321,6 +321,16 @@ MixerStrip::set_route (boost::shared_ptr<Route> rt) RouteUI::set_route (rt); + if (input_selector) { + delete input_selector; + input_selector = 0; + } + + if (output_selector) { + delete output_selector; + output_selector = 0; + } + panners.set_io (rt); gpm.set_io (rt); pre_processor_box.set_route (rt); @@ -364,6 +374,7 @@ MixerStrip::set_route (boost::shared_ptr<Route> rt) #endif /* VARISPEED_IN_MIXER_STRIP */ button_table.attach (*rec_enable_button, 0, 2, 2, 3); + rec_enable_button->show(); } if (_route->phase_invert()) { @@ -385,6 +396,9 @@ MixerStrip::set_route (boost::shared_ptr<Route> rt) meter_point_label.set_text (_("post")); break; } + + delete route_ops_menu; + route_ops_menu = 0; ARDOUR_UI::instance()->tooltips().set_tip (comment_button, _route->comment().empty() ? _("Click to Add/Edit Comments"): @@ -518,20 +532,19 @@ MixerStrip::set_width (Width w, void* owner) switch (w) { case Wide: - set_size_request (-1, -1); - + if (rec_enable_button) { - ((Gtk::Label*)rec_enable_button->get_child())->set_text (_("record")); + ((Gtk::Label*)rec_enable_button->get_child())->set_text (_("Record")); } ((Gtk::Label*)mute_button->get_child())->set_text (_("Mute")); ((Gtk::Label*)solo_button->get_child())->set_text (_("Solo")); if (_route->comment() == "") { comment_button.unset_bg (STATE_NORMAL); - ((Gtk::Label*)comment_button.get_child())->set_text (_("comments")); + ((Gtk::Label*)comment_button.get_child())->set_text (_("Comments")); } else { comment_button.modify_bg (STATE_NORMAL, color()); - ((Gtk::Label*)comment_button.get_child())->set_text (_("*comments*")); + ((Gtk::Label*)comment_button.get_child())->set_text (_("*Comments*")); } ((Gtk::Label*)gpm.gain_automation_style_button.get_child())->set_text (gpm.astyle_string(gain_automation->automation_style())); @@ -539,6 +552,7 @@ MixerStrip::set_width (Width w, void* owner) ((Gtk::Label*)panners.pan_automation_style_button.get_child())->set_text (panners.astyle_string(_route->panner().automation_style())); ((Gtk::Label*)panners.pan_automation_state_button.get_child())->set_text (panners.astate_string(_route->panner().automation_state())); Gtkmm2ext::set_size_request_to_display_given_text (name_button, "long", 2, 2); + set_size_request (-1, -1); break; case Narrow: @@ -564,12 +578,13 @@ MixerStrip::set_width (Width w, void* owner) set_size_request (max (50, gpm.get_gm_width()), -1); break; } - update_input_display (); update_output_display (); mix_group_changed (0); name_changed (); - +#ifdef GTKOSX + WidthChanged(); +#endif } void @@ -1084,7 +1099,7 @@ void MixerStrip::build_route_ops_menu () { using namespace Menu_Helpers; - route_ops_menu = manage (new Menu); + route_ops_menu = new Menu; route_ops_menu->set_name ("ArdourContextMenu"); MenuList& items = route_ops_menu->items(); @@ -1107,11 +1122,10 @@ MixerStrip::build_route_ops_menu () denormal_menu_item = dynamic_cast<CheckMenuItem *> (&items.back()); denormal_menu_item->set_active (_route->denormal_protection()); - build_remote_control_menu (); - - items.push_back (SeparatorElem()); if (!Profile->get_sae()) { - items.push_back (MenuElem (_("Remote Control ID"), *remote_control_menu)); + build_remote_control_menu (); + items.push_back (SeparatorElem()); + items.push_back (MenuElem (_("Remote Control ID"), *remote_control_menu)); } items.push_back (SeparatorElem()); @@ -1121,7 +1135,7 @@ MixerStrip::build_route_ops_menu () gint MixerStrip::name_button_button_press (GdkEventButton* ev) { - if (ev->button == 1) { + if (ev->button == 1 || ev->button == 3) { list_route_operations (); Menu_Helpers::MenuList& items = route_ops_menu->items(); diff --git a/gtk2_ardour/mixer_strip.h b/gtk2_ardour/mixer_strip.h index c4c28a06e9..2b6aed2717 100644 --- a/gtk2_ardour/mixer_strip.h +++ b/gtk2_ardour/mixer_strip.h @@ -96,6 +96,10 @@ class MixerStrip : public RouteUI, public Gtk::EventBox ARDOUR::RouteGroup* mix_group() const; void set_route (boost::shared_ptr<ARDOUR::Route>); +#ifdef GTKOSX + sigc::signal<void> WidthChanged; +#endif + protected: friend class Mixer_UI; void set_packed (bool yn); diff --git a/gtk2_ardour/mixer_ui.cc b/gtk2_ardour/mixer_ui.cc index 0be9b03444..06b30c700c 100644 --- a/gtk2_ardour/mixer_ui.cc +++ b/gtk2_ardour/mixer_ui.cc @@ -271,7 +271,7 @@ Mixer_UI::show_window () present (); if (!_visible) { set_window_pos_and_size (); - + /* now reset each strips width so the right widgets are shown */ MixerStrip* ms; @@ -339,7 +339,9 @@ Mixer_UI::add_strip (Session::RouteList& routes) route->NameChanged.connect (bind (mem_fun(*this, &Mixer_UI::strip_name_changed), strip)); strip->GoingAway.connect (bind (mem_fun(*this, &Mixer_UI::remove_strip), strip)); - +#ifdef GTKOSX + strip->WidthChanged.connect (mem_fun(*this, &Mixer_UI::queue_draw_all_strips)); +#endif strip->signal_button_release_event().connect (bind (mem_fun(*this, &Mixer_UI::strip_button_release_event), strip)); } @@ -767,6 +769,30 @@ Mixer_UI::redisplay_track_list () auto_rebind_midi_controls (); } +#ifdef GTKOSX +void +Mixer_UI::queue_draw_all_strips () +{ + TreeModel::Children rows = track_model->children(); + TreeModel::Children::iterator i; + long order; + + for (order = 0, i = rows.begin(); i != rows.end(); ++i, ++order) { + MixerStrip* strip = (*i)[track_columns.strip]; + + if (strip == 0) { + continue; + } + + bool visible = (*i)[track_columns.visible]; + + if (visible) { + strip->queue_draw(); + } + } +} +#endif + void Mixer_UI::set_auto_rebinding( bool val ) { @@ -919,6 +945,9 @@ Mixer_UI::track_display_button_press (GdkEventButton* ev) bool visible = (*iter)[track_columns.visible]; (*iter)[track_columns.visible] = !visible; } +#ifdef GTKOSX + track_display.queue_draw(); +#endif } } return true; @@ -1014,6 +1043,9 @@ Mixer_UI::group_display_button_press (GdkEventButton* ev) if ((iter = group_model->get_iter (path))) { if ((group = (*iter)[group_columns.group]) != 0) { // edit_mix_group (group); +#ifdef GTKOSX + group_display.queue_draw(); +#endif return true; } } @@ -1025,6 +1057,9 @@ Mixer_UI::group_display_button_press (GdkEventButton* ev) if ((iter = group_model->get_iter (path))) { bool active = (*iter)[group_columns.active]; (*iter)[group_columns.active] = !active; +#ifdef GTKOSX + group_display.queue_draw(); +#endif return true; } break; @@ -1033,6 +1068,9 @@ Mixer_UI::group_display_button_press (GdkEventButton* ev) if ((iter = group_model->get_iter (path))) { bool visible = (*iter)[group_columns.visible]; (*iter)[group_columns.visible] = !visible; +#ifdef GTKOSX + group_display.queue_draw(); +#endif return true; } break; @@ -1281,19 +1319,41 @@ Mixer_UI::set_state (const XMLNode& node) const XMLProperty* prop; XMLNode* geometry; - if ((geometry = find_named_node (node, "geometry")) == 0) { + m_width = default_width; + m_height = default_height; + m_root_x = 1; + m_root_y = 1; + + if ((geometry = find_named_node (node, "geometry")) != 0) { - m_width = default_width; - m_height = default_height; - m_root_x = 1; - m_root_y = 1; + XMLProperty* prop; - } else { + if ((prop = geometry->property("x_size")) == 0) { + prop = geometry->property ("x-size"); + } + if (prop) { + m_width = atoi(prop->value()); + } + if ((prop = geometry->property("y_size")) == 0) { + prop = geometry->property ("y-size"); + } + if (prop) { + m_height = atoi(prop->value()); + } - m_width = atoi(geometry->property("x-size")->value().c_str()); - m_height = atoi(geometry->property("y-size")->value().c_str()); - m_root_x = atoi(geometry->property("x-pos")->value().c_str()); - m_root_y = atoi(geometry->property("y-pos")->value().c_str()); + if ((prop = geometry->property ("x_pos")) == 0) { + prop = geometry->property ("x-pos"); + } + if (prop) { + m_root_x = atoi (prop->value()); + + } + if ((prop = geometry->property ("y_pos")) == 0) { + prop = geometry->property ("y-pos"); + } + if (prop) { + m_root_y = atoi (prop->value()); + } } set_window_pos_and_size (); @@ -1369,12 +1429,24 @@ Mixer_UI::pane_allocation_handler (Allocation& alloc, Gtk::Paned* which) int width, height; static int32_t done[3] = { 0, 0, 0 }; - if ((geometry = find_named_node (*node, "geometry")) == 0) { - width = default_width; - height = default_height; - } else { - width = atoi(geometry->property("x-size")->value()); - height = atoi(geometry->property("y-size")->value()); + width = default_width; + height = default_height; + + if ((geometry = find_named_node (*node, "geometry")) != 0) { + + + if ((prop = geometry->property ("x_size")) == 0) { + prop = geometry->property ("x-size"); + } + if (prop) { + width = atoi (prop->value()); + } + if ((prop = geometry->property ("y_size")) == 0) { + prop = geometry->property ("y-size"); + } + if (prop) { + height = atoi (prop->value()); + } } if (which == static_cast<Gtk::Paned*> (&rhs_pane1)) { diff --git a/gtk2_ardour/mixer_ui.h b/gtk2_ardour/mixer_ui.h index 4765256d58..2b48ade6e0 100644 --- a/gtk2_ardour/mixer_ui.h +++ b/gtk2_ardour/mixer_ui.h @@ -152,6 +152,9 @@ class Mixer_UI : public Gtk::Window void redisplay_track_list (); bool no_track_list_redisplay; bool track_display_button_press (GdkEventButton*); +#ifdef GTKOSX + void queue_draw_all_strips (); +#endif void track_list_change (const Gtk::TreeModel::Path&,const Gtk::TreeModel::iterator&); void track_list_delete (const Gtk::TreeModel::Path&); diff --git a/gtk2_ardour/mnemonic-us.bindings.in b/gtk2_ardour/mnemonic-us.bindings.in index 8a2a1923ba..27e6e9f259 100644 --- a/gtk2_ardour/mnemonic-us.bindings.in +++ b/gtk2_ardour/mnemonic-us.bindings.in @@ -108,28 +108,30 @@ (gtk_accel_path "<Actions>/Common/ToggleBigClock" "<%WINDOW%>b") (gtk_accel_path "<Actions>/Editor/normalize-region" "<%SECONDARY%>n") (gtk_accel_path "<Actions>/Editor/mute-unmute-region" "<%SECONDARY%>m") -(gtk_accel_path "<Actions>/Common/goto-mixer" "<%WINDOW%>m") +(gtk_accel_path "<Actions>/Common/toggle-editor-mixer-on-top" "<%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>/Transport/TransitionToRoll" "<%TERTIARY%>uparrow") (gtk_accel_path "<Actions>/Editor/select-prev-route" "<%SECONDARY%>uparrow") -(gtk_accel_path "<Actions>/Editor/move-selected-tracks-up" "<%TERTIARY%>uparrow") +(gtk_accel_path "<Actions>/Editor/move-selected-tracks-up" "<%PRIMARY%>uparrow") (gtk_accel_path "<Actions>/Editor/step-tracks-down" "downarrow") -(gtk_accel_path "<Actions>/Transport/TransitionToReverse" "<%PRIMARY%>downarrow") +(gtk_accel_path "<Actions>/Transport/TransitionToReverse" "<%TERTIARY%>downarrow") (gtk_accel_path "<Actions>/Editor/select-next-route" "<%SECONDARY%>downarrow") -(gtk_accel_path "<Actions>/Editor/move-selected-tracks-down" "<%TERTIARY%>downarrow") +(gtk_accel_path "<Actions>/Editor/move-selected-tracks-down" "<%PRIMARY%>downarrow") (gtk_accel_path "<Actions>/Editor/playhead-to-previous-region-boundary" "leftarrow") (gtk_accel_path "<Actions>/Editor/tab-to-transient-backwards" "<%PRIMARY%>leftarrow") (gtk_accel_path "<Actions>/Editor/nudge-playhead-backward" "<%SECONDARY%>leftarrow") +(gtk_accel_path "<Actions>/Transport/Rewind" "<%TERTIARY%>leftarrow") (gtk_accel_path "<Actions>/Editor/selected-marker-to-previous-region-boundary" "<%PRIMARY%><%TERTIARY%>leftarrow") (gtk_accel_path "<Actions>/Editor/playhead-to-next-region-boundary" "rightarrow") (gtk_accel_path "<Actions>/Editor/tab-to-transient-forwards" "<%PRIMARY%>rightarrow") (gtk_accel_path "<Actions>/Editor/nudge-playhead-forward" "<%SECONDARY%>rightarrow") +(gtk_accel_path "<Actions>/Transport/Forward" "<%TERTIARY%>rightarrow") (gtk_accel_path "<Actions>/Editor/selected-marker-to-next-region-boundary" "<%PRIMARY%><%TERTIARY%>rightarrow") (gtk_accel_path "<Actions>/Editor/scroll-tracks-down" "Page_Down") @@ -214,8 +216,9 @@ (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") +(gtk_accel_path "<Actions>/Editor/step-mouse-mode" "4") +(gtk_accel_path "<Actions>/Transport/ToggleAutoReturn" "5") +(gtk_accel_path "<Actions>/Transport/ToggleClick" "6") (gtk_accel_path "<Actions>/Editor/set-tempo-from-region" "9") (gtk_accel_path "<Actions>/Editor/set-tempo-from-edit-range" "0") diff --git a/gtk2_ardour/nag.cc b/gtk2_ardour/nag.cc new file mode 100644 index 0000000000..ece3ac3e2a --- /dev/null +++ b/gtk2_ardour/nag.cc @@ -0,0 +1,206 @@ +#include <fstream> +#include <gtkmm/stock.h> + +#include <ardour/ardour.h> +#include <ardour/filesystem_paths.h> + +#include "nag.h" +#include "i18n.h" + +using namespace ARDOUR; +using namespace std; +using namespace Glib; +using namespace Gtk; + +NagScreen::NagScreen (std::string context, bool maybe_sub) + : ArdourDialog (_("Support Ardour Development"), true) + , donate_button (button_group, _("I'd like to make a one-time donation")) + , subscribe_button (button_group, _("Tell me more about becoming a subscriber")) + , existing_button (button_group, _("I'm already a subscriber!")) + , next_time_button (button_group, _("Ask about this the next time I export")) + , never_again_button (button_group, _("Never ever ask me about this again")) +{ + if (maybe_sub) { + message.set_text (_("Congratulations on your session export.\n\n\ +It looks as if you may already be a subscriber. If so, thanks, and sorry\n\ +to bother you again about this - I'm working on improving our subscriber system\n\ +so that I don't have to keep annoying you with this message.\n\n\ +If you're not a subscriber, perhaps you might consider supporting my work\n\ +on Ardour with either a one-time donation or subscription. Nothing will \n\ +happen if you choose not to do so. However Ardour's continuing development\n\ +relies on a stable, sustainable income stream. Thanks for using Ardour!")); + } else { + message.set_text (_("Congratulations on your session export.\n\n\ +I hope you find Ardour a useful tool. I'd like to ask you to consider supporting\n\ +its development with either a one-time donation or subscription. Nothing\n\ +will happen if you choose not to do so. However Ardour's continuing development\n\ +relies on a stable, sustainable income stream. Thanks for using Ardour!")); + } + + button_box.pack_start (donate_button); + button_box.pack_start (subscribe_button); + button_box.pack_start (existing_button); + button_box.pack_start (next_time_button); + button_box.pack_start (never_again_button); + + get_vbox()->set_spacing (12); + get_vbox()->pack_start (message); + get_vbox()->pack_start (button_box); + + set_border_width (12); + add_button (Stock::OK, RESPONSE_ACCEPT); +} + +NagScreen::~NagScreen () +{ +} + +void +NagScreen::nag () +{ + show_all (); + + int response = run (); + + hide (); + + switch (response) { + case RESPONSE_ACCEPT: + break; + default: + return; + } + + if (donate_button.get_active()) { + offer_to_donate (); + } else if (subscribe_button.get_active()) { + offer_to_subscribe (); + } else if (never_again_button.get_active ()) { + mark_never_again (); + } else if (existing_button.get_active ()) { + mark_affirmed_subscriber (); + } +} + +NagScreen* +NagScreen::maybe_nag (std::string why) +{ + Glib::ustring path; + bool really_subscribed; + bool maybe_subscribed; + + path = Glib::build_filename (user_config_directory().to_string(), ".nevernag"); + + if (Glib::file_test (path, Glib::FILE_TEST_EXISTS)) { + return 0; + } + + maybe_subscribed = is_subscribed (really_subscribed); + + if (really_subscribed) { + return 0; + } + + return new NagScreen (why, maybe_subscribed); +} + +void +NagScreen::mark_never_again () +{ + Glib::ustring path; + + path = Glib::build_filename (user_config_directory().to_string(), ".nevernag"); + + ofstream nagfile (path.c_str()); +} + +void +NagScreen::mark_subscriber () +{ + Glib::ustring path; + + path = Glib::build_filename (user_config_directory().to_string(), ".askedaboutsub"); + + ofstream subsfile (path.c_str()); +} + +void +NagScreen::mark_affirmed_subscriber () +{ + Glib::ustring path; + + path = Glib::build_filename (user_config_directory().to_string(), ".isubscribe"); + + ofstream subsfile (path.c_str()); +} + +bool +NagScreen::is_subscribed (bool& really) +{ + Glib::ustring path; + + really = false; + + /* what we'd really like here is a way to query paypal + for someone's subscription status. thats a bit complicated + so for now, just see if they ever told us they were + subscribed. we try to trust our users :) + */ + + path = Glib::build_filename (user_config_directory().to_string(), ".isubscribe"); + if (file_test (path, FILE_TEST_EXISTS)) { + really = true; + return true; + } + + path = Glib::build_filename (user_config_directory().to_string(), ".askedaboutsub"); + if (file_test (path, FILE_TEST_EXISTS)) { + /* they never said they were subscribed but they + did once express an interest in it. + */ + really = false; + return true; + } + + return false; +} + +void +NagScreen::offer_to_donate () +{ + const char* uri = "http://ardour.org/donate"; + + /* we don't care if it fails */ + + open_uri (uri); +} + +void +NagScreen::offer_to_subscribe () +{ + const char* uri = "http://ardour.org/subscribe"; + + if (open_uri (uri)) { + mark_subscriber (); + } +} + +bool +NagScreen::open_uri (const char* uri) +{ +#ifdef HAVE_GTK_OPEN_URI + GError* err; + return gtk_open_uri (0, uri, GDK_CURRENT_TIME, &err); +#else +#ifndef __APPLE__ + std::string command = "xdg-open "; + command += uri; + spawn_command_line_async (command); + + return true; +#else + extern bool cocoa_open_url (const char*); + return cocoa_open_url (uri); +#endif +#endif +} diff --git a/gtk2_ardour/nag.h b/gtk2_ardour/nag.h new file mode 100644 index 0000000000..5872e28f3b --- /dev/null +++ b/gtk2_ardour/nag.h @@ -0,0 +1,39 @@ +#ifndef __gtk_ardour_nag_h__ +#define __gtk_ardour_nag_h__ + +#include "ardour_dialog.h" + +#include <gtkmm/label.h> +#include <gtkmm/radiobutton.h> +#include <gtkmm/buttonbox.h> + +class NagScreen : public ArdourDialog +{ + public: + ~NagScreen(); + + static NagScreen* maybe_nag (std::string context); + void nag (); + + private: + NagScreen (std::string context, bool maybe_subscriber); + + Gtk::Label message; + Gtk::VButtonBox button_box; + Gtk::RadioButtonGroup button_group; + Gtk::RadioButton donate_button; + Gtk::RadioButton subscribe_button; + Gtk::RadioButton existing_button; + Gtk::RadioButton next_time_button; + Gtk::RadioButton never_again_button; + + void mark_never_again (); + void mark_subscriber (); + void mark_affirmed_subscriber (); + void offer_to_donate (); + void offer_to_subscribe (); + bool open_uri (const char*); + static bool is_subscribed (bool& really); +}; + +#endif /* __gtk_ardour_nag_h__ */ diff --git a/gtk2_ardour/new_session_dialog.cc b/gtk2_ardour/new_session_dialog.cc index 4c128d4bf3..e87f201a29 100644 --- a/gtk2_ardour/new_session_dialog.cc +++ b/gtk2_ardour/new_session_dialog.cc @@ -17,9 +17,6 @@ */ -#include "i18n.h" -#include "new_session_dialog.h" - #include <pbd/error.h> #include <ardour/recent_sessions.h> @@ -46,6 +43,8 @@ using namespace ARDOUR; #include "opts.h" #include "utils.h" +#include "i18n.h" +#include "new_session_dialog.h" NewSessionDialog::NewSessionDialog() : ArdourDialog ("session control") @@ -426,6 +425,8 @@ NewSessionDialog::NewSessionDialog() m_notebook->show(); m_notebook->show_all_children(); + engine_page_session_folder = X_(""); + engine_page_session_name = X_(""); set_default_response (Gtk::RESPONSE_OK); if (!ARDOUR_COMMAND_LINE::session_name.length()) { @@ -466,7 +467,9 @@ NewSessionDialog::run () /* nothing to display */ return Gtk::RESPONSE_OK; } - + if (!(page_set & NewPage) && !(page_set & OpenPage)) { + set_response_sensitive (Gtk::RESPONSE_OK, true); + } return ArdourDialog::run (); } @@ -521,13 +524,13 @@ void NewSessionDialog::set_session_name (const Glib::ustring& name) { m_name->set_text (name); + engine_page_session_name = name; } void NewSessionDialog::set_session_folder(const Glib::ustring& dir) { Glib::ustring realdir = dir; - char* res; /* this little tangled mess is a result of 4 things: @@ -547,15 +550,17 @@ NewSessionDialog::set_session_folder(const Glib::ustring& dir) char buf[PATH_MAX]; - if((res = realpath (dir.c_str(), buf)) != 0) { + if(realpath (dir.c_str(), buf) != 0) { if (!Glib::file_test (dir, Glib::FILE_TEST_IS_DIR)) { realdir = Glib::path_get_dirname (realdir); } m_folder->set_current_folder (realdir); + engine_page_session_folder = realdir; } #else + char* res; if (!Glib::file_test (dir, Glib::FILE_TEST_IS_DIR)) { realdir = Glib::path_get_dirname (realdir); cerr << "didn't exist, use " << realdir << endl; @@ -593,6 +598,9 @@ NewSessionDialog::session_name() const case NewPage: case EnginePage: /* new or audio setup pages */ + if (!(page_set & OpenPage) && !(page_set & NewPage)) { + return Glib::filename_from_utf8(engine_page_session_name); + } return Glib::filename_from_utf8(m_name->get_text()); default: break; @@ -613,8 +621,12 @@ NewSessionDialog::session_folder() const return Glib::filename_from_utf8(m_folder->get_filename()); case EnginePage: + if (!(page_set & OpenPage) && !(page_set & NewPage)) { + /* just engine page, nothing else */ + return Glib::filename_from_utf8(engine_page_session_folder); + } if (page_set == EnginePage) { - /* just engine page, nothing else : use m_folder since it should be set */ + /* use m_folder since it should be set */ return Glib::filename_from_utf8(m_folder->get_filename()); } break; diff --git a/gtk2_ardour/new_session_dialog.h b/gtk2_ardour/new_session_dialog.h index aa6911f360..2d35c2d6bf 100644 --- a/gtk2_ardour/new_session_dialog.h +++ b/gtk2_ardour/new_session_dialog.h @@ -216,6 +216,8 @@ protected: bool on_new_session_page; bool have_engine; + Glib::ustring engine_page_session_folder; + Glib::ustring engine_page_session_name; }; #endif // NEW_SESSION_DIALOG_H diff --git a/gtk2_ardour/option_editor.cc b/gtk2_ardour/option_editor.cc index c261aba649..3bd864422e 100644 --- a/gtk2_ardour/option_editor.cc +++ b/gtk2_ardour/option_editor.cc @@ -28,6 +28,7 @@ #include <ardour/auditioner.h> #include <ardour/sndfilesource.h> #include <ardour/crossfade.h> +#include <ardour/profile.h> #include <midi++/manager.h> #include <midi++/factory.h> #include <gtkmm2ext/stop_signal.h> @@ -148,9 +149,11 @@ OptionEditor::OptionEditor (ARDOUR_UI& uip, PublicEditor& ed, Mixer_UI& mixui) setup_keyboard_options (); setup_auditioner_editor (); - notebook.pages().push_back (TabElem (sync_packer, _("Sync"))); - notebook.pages().push_back (TabElem (path_table, _("Paths/Files"))); - notebook.pages().push_back (TabElem (keyboard_mouse_table, _("Kbd/Mouse"))); + if (!Profile->get_sae()) { + notebook.pages().push_back (TabElem (sync_packer, _("Sync"))); + notebook.pages().push_back (TabElem (path_table, _("Paths/Files"))); + notebook.pages().push_back (TabElem (keyboard_mouse_table, _("Kbd/Mouse"))); + } notebook.pages().push_back (TabElem (click_packer, _("Click"))); notebook.pages().push_back (TabElem (audition_packer, _("Audition"))); notebook.pages().push_back (TabElem (misc_packer, _("Misc"))); diff --git a/gtk2_ardour/panner_ui.cc b/gtk2_ardour/panner_ui.cc index b1273aa460..3368905ad3 100644 --- a/gtk2_ardour/panner_ui.cc +++ b/gtk2_ardour/panner_ui.cc @@ -154,6 +154,7 @@ PannerUI::set_io (boost::shared_ptr<IO> io) panner = 0; } + setup_pan (); pan_changed (0); update_pan_sensitive (); @@ -225,14 +226,12 @@ PannerUI::get_controllable() bool PannerUI::panning_link_button_press (GdkEventButton* ev) { - cerr << "link press\n"; return true; } bool PannerUI::panning_link_button_release (GdkEventButton* ev) { - cerr << "link release\n"; if (!ignore_toggle) { _io->panner().set_linked (!_io->panner().linked()); } @@ -259,7 +258,7 @@ PannerUI::update_pan_linkage () bool x = _io->panner().linked(); bool bx = panning_link_button.get_active(); - + if (x != bx) { ignore_toggle = true; @@ -328,6 +327,7 @@ PannerUI::panner_changed () { ENSURE_GUI_THREAD (mem_fun(*this, &PannerUI::panner_changed)); setup_pan (); + pan_changed (0); } void @@ -573,6 +573,7 @@ PannerUI::pan_changed (void *src) break; case 2: + /* bring pan bar state up to date */ update_pan_bars (false); break; @@ -806,7 +807,7 @@ PannerUI::pan_automation_state_changed () pan_watching.disconnect(); if (x) { - pan_watching = ARDOUR_UI::RapidScreenUpdate.connect (mem_fun (*this, &PannerUI::effective_pan_display)); + pan_watching = ARDOUR_UI::RapidScreenUpdate.connect (mem_fun (*this, &PannerUI::effective_pan_display)); } } diff --git a/gtk2_ardour/plugin_eq_gui.cc b/gtk2_ardour/plugin_eq_gui.cc index bacfbe98b2..307503fc8b 100644 --- a/gtk2_ardour/plugin_eq_gui.cc +++ b/gtk2_ardour/plugin_eq_gui.cc @@ -458,7 +458,7 @@ PluginEqGui::plot_impulse_phase(Gtk::Widget *w, cairo_t *cr) float avgY = 0.0; int avgNum = 0; - float width = w->get_width(); + // float width = w->get_width(); float height = w->get_height(); cairo_set_source_rgba(cr, 0.95, 0.3, 0.2, 1.0); @@ -508,7 +508,7 @@ PluginEqGui::draw_scales_power(Gtk::Widget *w, cairo_t *cr) cairo_font_extents_t extents; cairo_font_extents(cr, &extents); - float fontXOffset = extents.descent + 1.0; + // float fontXOffset = extents.descent + 1.0; char buf[256]; @@ -607,7 +607,7 @@ PluginEqGui::plot_impulse_amplitude(Gtk::Widget *w, cairo_t *cr) float avgY = 0.0; int avgNum = 0; - float width = w->get_width(); + // float width = w->get_width(); float height = w->get_height(); cairo_set_source_rgb(cr, 1.0, 1.0, 1.0); @@ -656,7 +656,7 @@ PluginEqGui::plot_signal_amplitude_difference(Gtk::Widget *w, cairo_t *cr) float avgY = 0.0; int avgNum = 0; - float width = w->get_width(); + // float width = w->get_width(); float height = w->get_height(); cairo_set_source_rgb(cr, 0.0, 1.0, 0.0); diff --git a/gtk2_ardour/plugin_selector.h b/gtk2_ardour/plugin_selector.h index c4b613647d..e5224b4fa7 100644 --- a/gtk2_ardour/plugin_selector.h +++ b/gtk2_ardour/plugin_selector.h @@ -46,6 +46,7 @@ class PluginSelector : public ArdourDialog void on_show (); Gtk::Menu& plugin_menu (); + void show_manager (); private: PluginInterestedObject* interested_object; @@ -129,7 +130,6 @@ class PluginSelector : public ArdourDialog void plugin_chosen_from_menu (const ARDOUR::PluginInfoPtr&); Gtk::Menu* _menu; - void show_manager (); }; #endif // __ardour_plugin_selector_h__ diff --git a/gtk2_ardour/plugin_ui.cc b/gtk2_ardour/plugin_ui.cc index 06d2a04125..dbb5f3969e 100644 --- a/gtk2_ardour/plugin_ui.cc +++ b/gtk2_ardour/plugin_ui.cc @@ -183,6 +183,22 @@ PluginUIWindow::on_leave_notify_event (GdkEventCrossing *ev) return false; } +bool +PluginUIWindow::on_focus_in_event (GdkEventFocus *ev) +{ + Window::on_focus_in_event (ev); + //Keyboard::the_keyboard().magic_widget_grab_focus (); + return false; +} + +bool +PluginUIWindow::on_focus_out_event (GdkEventFocus *ev) +{ + Window::on_focus_out_event (ev); + //Keyboard::the_keyboard().magic_widget_drop_focus (); + return false; +} + void PluginUIWindow::on_show () { @@ -295,10 +311,6 @@ PluginUIWindow::create_lv2_editor(boost::shared_ptr<PluginInsert> insert) bool PluginUIWindow::on_key_press_event (GdkEventKey* event) { - if (non_gtk_gui) { - return false; - } - if (!key_press_focus_accelerator_handler (*this, event)) { return PublicEditor::instance().on_key_press_event(event); } else { @@ -347,6 +359,20 @@ PlugUIBase::PlugUIBase (boost::shared_ptr<PluginInsert> pi) bypass_button.set_name ("PluginBypassButton"); bypass_button.signal_toggled().connect (mem_fun(*this, &PlugUIBase::bypass_toggled)); + focus_button.add_events (Gdk::ENTER_NOTIFY_MASK|Gdk::LEAVE_NOTIFY_MASK); + + focus_button.signal_button_release_event().connect (mem_fun(*this, &PlugUIBase::focus_toggled)); + focus_button.add_events (Gdk::ENTER_NOTIFY_MASK|Gdk::LEAVE_NOTIFY_MASK); + + /* these images are not managed, so that we can remove them at will */ + + focus_out_image = new Image (get_icon (X_("computer_keyboard"))); + focus_in_image = new Image (get_icon (X_("computer_keyboard_active"))); + + focus_button.add (*focus_out_image); + + ARDOUR_UI::instance()->set_tip (&focus_button, _("Click to focus all keyboard events on this plugin window"), ""); + ARDOUR_UI::instance()->set_tip (&bypass_button, _("Click to enable/disable this plugin"), ""); } void @@ -376,6 +402,7 @@ PlugUIBase::save_plugin_setting () prompter.set_prompt(_("Name of New Preset:")); prompter.add_button (Gtk::Stock::ADD, Gtk::RESPONSE_ACCEPT); prompter.set_response_sensitive (Gtk::RESPONSE_ACCEPT, false); + prompter.set_type_hint (Gdk::WINDOW_TYPE_HINT_UTILITY); prompter.show_all(); @@ -403,14 +430,29 @@ PlugUIBase::bypass_toggled () if ((x = bypass_button.get_active()) == insert->active()) { insert->set_active (!x); - if (insert->active()) { - bypass_button.set_label (_("Bypass")); - } else { - bypass_button.set_label (_("Active")); - } } } +bool +PlugUIBase::focus_toggled (GdkEventButton* ev) +{ + if (Keyboard::the_keyboard().some_magic_widget_has_focus()) { + Keyboard::the_keyboard().magic_widget_drop_focus(); + focus_button.remove (); + focus_button.add (*focus_out_image); + focus_out_image->show (); + ARDOUR_UI::instance()->set_tip (&focus_button, _("Click to focus all keyboard events on this plugin window"), ""); + } else { + Keyboard::the_keyboard().magic_widget_grab_focus(); + focus_button.remove (); + focus_button.add (*focus_in_image); + focus_in_image->show (); + ARDOUR_UI::instance()->set_tip (&focus_button, _("Click to remove keyboard focus from this plugin window"), ""); + } + + return true; +} + void PlugUIBase::update_presets () { diff --git a/gtk2_ardour/plugin_ui.h b/gtk2_ardour/plugin_ui.h index 2dcaaf188c..b5202a9327 100644 --- a/gtk2_ardour/plugin_ui.h +++ b/gtk2_ardour/plugin_ui.h @@ -34,6 +34,8 @@ #include <gtkmm/scrolledwindow.h> #include <gtkmm/label.h> #include <gtkmm/menu.h> +#include <gtkmm/image.h> +#include <gtkmm/adjustment.h> #include <gtkmm/togglebutton.h> #include <gtkmm/socket.h> #include <gtkmm/comboboxtext.h> @@ -87,11 +89,16 @@ class PlugUIBase : public virtual sigc::trackable Gtk::ComboBoxText preset_combo; Gtk::Button save_button; Gtk::ToggleButton bypass_button; + Gtk::EventBox focus_button; LatencyGUI latency_gui; + Gtk::Image* focus_out_image; + Gtk::Image* focus_in_image; + void setting_selected(); void save_plugin_setting (void); + bool focus_toggled(GdkEventButton*); void bypass_toggled(); void processor_active_changed (boost::weak_ptr<ARDOUR::Processor> p); }; @@ -223,6 +230,8 @@ class PluginUIWindow : public Gtk::Window bool on_enter_notify_event (GdkEventCrossing*); bool on_leave_notify_event (GdkEventCrossing*); + bool on_focus_in_event (GdkEventFocus*); + bool on_focus_out_event (GdkEventFocus*); bool on_key_press_event (GdkEventKey*); bool on_key_release_event (GdkEventKey*); void on_show (); diff --git a/gtk2_ardour/po/de_DE.po b/gtk2_ardour/po/de_DE.po index 5df81e9209..aacb4ddc2b 100644 --- a/gtk2_ardour/po/de_DE.po +++ b/gtk2_ardour/po/de_DE.po @@ -1,921 +1,416 @@ # German translations for gtk-ardour # Copyright (C) 2003 Paul Davis # This file is distributed under the same license as the gtk-ardour package. -# Karsten Petersen <kapet@kapet.de>, 2003. # +# Karsten Petersen <kapet@kapet.de>, 2003. +# Edgar Aichinger <edgar.aichinger@aon.at>, 2008. msgid "" msgstr "" "Project-Id-Version: gtk-ardour 0.347.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2008-01-07 12:21+0100\n" -"PO-Revision-Date: 2008-01-07 17:01+0100\n" -"Last-Translator: Sebastian Arnold <mail@sebastian-arnold.net>\n" -"Language-Team: Deutsch <de@li.org>\n" +"POT-Creation-Date: 2008-10-20 19:01+0100\n" +"PO-Revision-Date: 2008-11-02 11:27+0100\n" +"Last-Translator: Edgar Aichinger <edgar.aichinger@aon.at>\n" +"Language-Team: German <kde-i18n-de@lists.kde.org>\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -"X-Generator: KBabel 0.9.6\n" +"X-Generator: Lokalize 0.2\n" "X-Poedit-Country: GERMANY\n" -"X-Poedit-Basepath: ../\n" - -#: gtk2_ardour/about.cc:120 -msgid "Paul Davis" -msgstr "Paul Davis" - -#: gtk2_ardour/about.cc:121 -msgid "Jesse Chappell" -msgstr "Jesse Chappell" - -#: gtk2_ardour/about.cc:122 -msgid "Taybin Rutkin" -msgstr "Taybin Rutkin" - -#: gtk2_ardour/about.cc:123 -msgid "Marcus Andersson" -msgstr "Marcus Andersson" - -#: gtk2_ardour/about.cc:124 -msgid "Jeremy Hall" -msgstr "Jeremy Hall" - -#: gtk2_ardour/about.cc:125 -msgid "Steve Harris" -msgstr "Steve Harris" - -#: gtk2_ardour/about.cc:126 -msgid "Tim Mayberry" -msgstr "Tim Mayberry" - -#: gtk2_ardour/about.cc:127 -msgid "Mark Stewart" -msgstr "Mark Stewart" - -#: gtk2_ardour/about.cc:128 -msgid "Sam Chessman" -msgstr "Sam Chessman" - -#: gtk2_ardour/about.cc:129 -msgid "Jack O'Quin" -msgstr "Jack O'Quin" - -#: gtk2_ardour/about.cc:130 -msgid "Matt Krai" -msgstr "Matt Krai" - -#: gtk2_ardour/about.cc:131 -msgid "Ben Bell" -msgstr "Ben Bell" - -#: gtk2_ardour/about.cc:132 -msgid "Gerard van Dongen" -msgstr "Gerard van Dongen" - -#: gtk2_ardour/about.cc:133 -msgid "Thomas Charbonnel" -msgstr "Thomas Charbonnel" - -#: gtk2_ardour/about.cc:134 -msgid "Nick Mainsbridge" -msgstr "Nick Mainsbridge" - -#: gtk2_ardour/about.cc:135 -msgid "Colin Law" -msgstr "Colin Law" - -#: gtk2_ardour/about.cc:136 -msgid "Sampo Savolainen" -msgstr "Sampo Savolainen" - -#: gtk2_ardour/about.cc:137 -msgid "Joshua Leach" -msgstr "Joshua Leach" - -#: gtk2_ardour/about.cc:138 -msgid "Rob Holland" -msgstr "Rob Holland" - -#: gtk2_ardour/about.cc:139 -msgid "Per Sigmond" -msgstr "Per Sigmond" - -#: gtk2_ardour/about.cc:140 -msgid "Doug Mclain" -msgstr "Doug Mclain" +"X-Poedit-Basepath: ../../\n" +"X-Poedit-SearchPath-0: gtk2_ardour\n" -#: gtk2_ardour/about.cc:141 -msgid "Petter Sundlöf" -msgstr "Petter Sundlöf" - -#: gtk2_ardour/about.cc:142 -msgid "Thorsten Wilms" -msgstr "Thorsten Wilms" - -#: gtk2_ardour/about.cc:143 -msgid "Ben Loftis" -msgstr "Ben Loftis" - -#: gtk2_ardour/about.cc:144 -msgid "Stefan Kersten" -msgstr "Stefan Kersten" - -#: gtk2_ardour/about.cc:145 -msgid "Christopher George" -msgstr "Christopher George" - -#: gtk2_ardour/about.cc:146 -msgid "Robert Jordens" -msgstr "Robert Jordens" - -#: gtk2_ardour/about.cc:147 -msgid "Dave Robillard" -msgstr "Dave Robillard" - -#: gtk2_ardour/about.cc:148 -msgid "Hans Fugal" -msgstr "Hans Fugal" - -#: gtk2_ardour/about.cc:149 -msgid "Brian Ahr" -msgstr "Brian Ahr" - -#: gtk2_ardour/about.cc:150 -msgid "Nimal Ratnayake" -msgstr "Nimal Ratnayake" - -#: gtk2_ardour/about.cc:151 -msgid "Mike Täht" -msgstr "Mike Täht" - -#: gtk2_ardour/about.cc:152 -msgid "John Anderson" -msgstr "John Anderson" - -#: gtk2_ardour/about.cc:153 -msgid "Nedko Arnaudov" -msgstr "Nedko Arnaudov" - -#: gtk2_ardour/about.cc:154 -msgid "Carl Hetherington" -msgstr "Carl Hetherington" - -#: gtk2_ardour/about.cc:159 -msgid "" -"French:\n" -"\tAlain Fréhel <alain.frehel@free.fr>\n" -"\tChristophe Combelles <ccomb@free.fr>\n" -msgstr "" -"French:\n" -"\tAlain Fréhel <alain.frehel@free.fr>\n" -"\tChristophe Combelles <ccomb@free.fr>\n" - -#: gtk2_ardour/about.cc:160 -msgid "" -"German:\n" -"\tKarsten Petersen <kapet@kapet.de>\n" -"\tSebastian Arnold <mail@sebastian-arnold.net>\n" -msgstr "" -"Deutsch:\n" -"\tKarsten Petersen <kapet@kapet.de>\n" -"\tSebastian Arnold <mail@sebastian-arnold.net>\n" - -#: gtk2_ardour/about.cc:161 -msgid "" -"Italian:\n" -"\tFilippo Pappalardo <filippo@email.it>\n" +#: gtk2_ardour/canvas-simplerect.c:107 +#: gtk2_ardour/canvas-ruler.c:79 +#: gtk2_ardour/canvas-simpleline.c:111 +msgid "x1" msgstr "" -"Italian:\n" -"\tFilippo Pappalardo <filippo@email.it>\n" -#: gtk2_ardour/about.cc:162 -msgid "" -"Portuguese:\n" -"\tRui Nuno Capela <rncbc@rncbc.org>\n" +#: gtk2_ardour/canvas-simplerect.c:108 +#: gtk2_ardour/canvas-imageframe.c:111 +#: gtk2_ardour/canvas-ruler.c:80 +#: gtk2_ardour/canvas-simpleline.c:112 +msgid "x coordinate of upper left corner of rect" msgstr "" -"Portuguese:\n" -"\tRui Nuno Capela <rncbc@rncbc.org>\n" -#: gtk2_ardour/about.cc:163 -msgid "" -"Brazilian Portuguese:\n" -"\tAlexander da Franca Fernandes <alexander@nautae.eti.br>\n" -"\tChris Ross <chris@tebibyte.org>\n" +#: gtk2_ardour/canvas-simplerect.c:117 +#: gtk2_ardour/canvas-ruler.c:89 +#: gtk2_ardour/canvas-simpleline.c:121 +msgid "y1" msgstr "" -"Brazilian Portuguese:\n" -"\tAlexander da Franca Fernandes <alexander@nautae.eti.br>\n" -"\tChris Ross <chris@tebibyte.org>\n" -#: gtk2_ardour/about.cc:165 -msgid "" -"Spanish:\n" -"\t Alex Krohn <alexkrohn@fastmail.fm>\n" +#: gtk2_ardour/canvas-simplerect.c:118 +#: gtk2_ardour/canvas-imageframe.c:121 +#: gtk2_ardour/canvas-ruler.c:90 +#: gtk2_ardour/canvas-simpleline.c:122 +msgid "y coordinate of upper left corner of rect " msgstr "" -"Spanish:\n" -"\t Alex Krohn <alexkrohn@fastmail.fm>\n" -#: gtk2_ardour/about.cc:166 -msgid "" -"Russian:\n" -"\t Igor Blinov <pitstop@nm.ru>\n" +#: gtk2_ardour/canvas-simplerect.c:128 +#: gtk2_ardour/canvas-ruler.c:100 +#: gtk2_ardour/canvas-simpleline.c:132 +msgid "x2" msgstr "" -"Russian:\n" -"\t Igor Blinov <pitstop@nm.ru>\n" -#: gtk2_ardour/about.cc:167 -msgid "" -"Greek:\n" -"\t Klearchos Gourgourinis <muadib@in.gr>\n" +#: gtk2_ardour/canvas-simplerect.c:129 +#: gtk2_ardour/canvas-ruler.c:101 +#: gtk2_ardour/canvas-simpleline.c:133 +msgid "x coordinate of lower right corner of rect" msgstr "" -"Greek:\n" -"\t Klearchos Gourgourinis <muadib@in.gr>\n" -#: gtk2_ardour/about.cc:195 -msgid "Copyright (C) 1999-2007 Paul Davis\n" -msgstr "Copyright (C) 1999-2007 Paul Davis\n" - -#: gtk2_ardour/about.cc:196 -msgid "" -"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" +#: gtk2_ardour/canvas-simplerect.c:138 +#: gtk2_ardour/canvas-ruler.c:110 +#: gtk2_ardour/canvas-simpleline.c:142 +msgid "y2" msgstr "" -"Ardour wird Ihnen OHNE JEGLICHE GEWÄHRLEISTUNG zur Verfügung gestellt.\n" -"Dies ist freie Software und Sie dürfen sie gerne weiterverbreiten,\n" -"solange Sie sich an die Bedingungen, die in der Datei COPYING aufgeführt sind halten.\n" -#: gtk2_ardour/about.cc:201 -msgid "visit http://www.ardour.org/" -msgstr "besuchen Sie http://www.ardour.org" - -#: gtk2_ardour/about.cc:202 -msgid "" -"%1\n" -"(built from revision %2)" +#: gtk2_ardour/canvas-simplerect.c:139 +#: gtk2_ardour/canvas-ruler.c:111 +#: gtk2_ardour/canvas-simpleline.c:143 +msgid "y coordinate of lower right corner of rect " msgstr "" -"%1\n" -"(built from revision %2)" -#: gtk2_ardour/actions.cc:78 -msgid "badly formatted UI definition file" -msgstr "die UI Definitionsdatei ist falsch formatiert" - -#: gtk2_ardour/actions.cc:80 -msgid "Ardour menu definition file not found" -msgstr "Konnte die ardour Menü-Definition nicht finden" - -#: gtk2_ardour/actions.cc:84 -msgid "ardour will not work without a valid ardour.menus file" -msgstr "ardour benötigt eine gültige ardour.menus Datei" - -#: gtk2_ardour/actions.cc:265 -msgid "programmer error: %1 %2" -msgstr "Programmierfehler: %1 %2" - -#: gtk2_ardour/actions.cc:284 -msgid "Unknown action name: %1" -msgstr "Unbekannte Aktionsbezeichnung: %1" - -#: gtk2_ardour/add_route_dialog.cc:41 -#: gtk2_ardour/add_route_dialog.cc:219 -msgid "Mono" -msgstr "Mono" - -#: gtk2_ardour/add_route_dialog.cc:42 -#: gtk2_ardour/add_route_dialog.cc:221 -msgid "Stereo" -msgstr "Stereo" - -#: gtk2_ardour/add_route_dialog.cc:43 -msgid "3 Channels" -msgstr "3 Kanäle" - -#: gtk2_ardour/add_route_dialog.cc:44 -msgid "4 Channels" -msgstr "4 Kanäle" - -#: gtk2_ardour/add_route_dialog.cc:45 -msgid "6 Channels" -msgstr "6 Kanäle" - -#: gtk2_ardour/add_route_dialog.cc:46 -msgid "8 Channels" -msgstr "8 Kanäle" - -#: gtk2_ardour/add_route_dialog.cc:47 -msgid "Manual Setup" -msgstr "Manuell" - -#: gtk2_ardour/add_route_dialog.cc:52 -#: gtk2_ardour/add_route_dialog.cc:200 -#: gtk2_ardour/time_axis_view.cc:592 -msgid "Normal" -msgstr "Normal" - -#: gtk2_ardour/add_route_dialog.cc:53 -#: gtk2_ardour/add_route_dialog.cc:202 -msgid "Tape" -msgstr "Tape" - -#: gtk2_ardour/add_route_dialog.cc:62 -msgid "ardour: add track/bus" -msgstr "ardour: Füge Spur/Bus hinzu" - -#: gtk2_ardour/add_route_dialog.cc:63 -msgid "Tracks" -msgstr "Audiospuren" - -#: gtk2_ardour/add_route_dialog.cc:64 -msgid "Busses" -msgstr "Busse" +#: gtk2_ardour/canvas-simplerect.c:149 +msgid "outline pixels" +msgstr "Pixelbreite der Umrandung" -#: gtk2_ardour/add_route_dialog.cc:113 -#: gtk2_ardour/plugin_ui.cc:220 -msgid "Add" -msgstr "Hinzufügen" +#: gtk2_ardour/canvas-simplerect.c:150 +msgid "width in pixels of outline" +msgstr "Pixelbreite der Umrandung" -#: gtk2_ardour/add_route_dialog.cc:131 -msgid "Name (template)" -msgstr "Name für Mixer-Vorlage" +#: gtk2_ardour/canvas-simplerect.c:160 +msgid "outline what" +msgstr "abzugrenzende Ränder" -#: gtk2_ardour/add_route_dialog.cc:137 -msgid "Channel Configuration" -msgstr "Kanaleinstellungen" +#: gtk2_ardour/canvas-simplerect.c:161 +msgid "which boundaries to outline (mask)" +msgstr "abzugrenzende Ränder" -#: gtk2_ardour/ardour_ui.cc:114 -msgid "" -"pre\n" -"roll" -msgstr "" -"pre\n" -"roll" +#: gtk2_ardour/canvas-simplerect.c:172 +msgid "fill" +msgstr "füllen" -#: gtk2_ardour/ardour_ui.cc:115 -msgid "" -"post\n" -"roll" -msgstr "" -"post\n" -"roll" +#: gtk2_ardour/canvas-simplerect.c:173 +msgid "fill rectangle" +msgstr "Rechteck füllen" -#: gtk2_ardour/ardour_ui.cc:141 -msgid "% " -msgstr "" +#: gtk2_ardour/canvas-simplerect.c:180 +msgid "draw" +msgstr "zeichnen" -#: gtk2_ardour/ardour_ui.cc:143 -#: gtk2_ardour/ardour_ui_ed.cc:306 -msgid "Punch In" -msgstr "Punch In" +#: gtk2_ardour/canvas-simplerect.c:181 +msgid "draw rectangle" +msgstr "Rechteck zeichnen" -#: gtk2_ardour/ardour_ui.cc:144 -#: gtk2_ardour/ardour_ui_ed.cc:309 -msgid "Punch Out" -msgstr "Punch Out" +#: gtk2_ardour/canvas-simplerect.c:189 +msgid "outline color rgba" +msgstr "Rahmenfarbe RGBA" -#: gtk2_ardour/ardour_ui.cc:145 -#: gtk2_ardour/ardour_ui_ed.cc:321 -msgid "Auto Return" -msgstr "Auto Return" +#: gtk2_ardour/canvas-simplerect.c:190 +msgid "color of outline" +msgstr "Rahmenfarbe" -#: gtk2_ardour/ardour_ui.cc:146 -#: gtk2_ardour/ardour_ui_ed.cc:318 -msgid "Auto Play" -msgstr "Auto Play" +#: gtk2_ardour/canvas-simplerect.c:200 +msgid "fill color rgba" +msgstr "Füllfarbe RGBA" -#: gtk2_ardour/ardour_ui.cc:147 -#: gtk2_ardour/ardour_ui_ed.cc:315 -msgid "Auto Input" -msgstr "Auto Input" +#: gtk2_ardour/canvas-simplerect.c:201 +#: gtk2_ardour/canvas-ruler.c:133 +msgid "color of fill" +msgstr "Füllfarbe" -#: gtk2_ardour/ardour_ui.cc:148 -#: gtk2_ardour/ardour_ui_ed.cc:312 -#: gtk2_ardour/option_editor.cc:147 -msgid "Click" -msgstr "Click" +#: gtk2_ardour/canvas-imageframe.c:104 +msgid "pixbuf" +msgstr "Pixbuffer" -#: gtk2_ardour/ardour_ui.cc:149 -msgid "" -"time\n" -"master" -msgstr "" -"Time\n" -"Master" +#: gtk2_ardour/canvas-imageframe.c:105 +msgid "the pixbuf" +msgstr "Pixbuffer" -#: gtk2_ardour/ardour_ui.cc:151 -msgid "AUDITION" -msgstr "VORHÖREN" +#: gtk2_ardour/canvas-imageframe.c:110 +msgid "x" +msgstr "x" -#: gtk2_ardour/ardour_ui.cc:152 -msgid "SOLO" -msgstr "SOLO" +#: gtk2_ardour/canvas-imageframe.c:120 +msgid "y" +msgstr "y" -#: gtk2_ardour/ardour_ui.cc:154 -msgid "Errors" -msgstr "Fehlermeldungen" +#: gtk2_ardour/canvas-imageframe.c:129 +msgid "width" +msgstr "Breite" -#: gtk2_ardour/ardour_ui.cc:237 -msgid "could not initialize Ardour." -msgstr "Konnte ardour nicht initialisieren." +#: gtk2_ardour/canvas-imageframe.c:130 +msgid "the width" +msgstr "Breite" -#: gtk2_ardour/ardour_ui.cc:548 -msgid "Ardour could not start JACK" -msgstr "Ardour konnte JACK nicht starten" +#: gtk2_ardour/canvas-imageframe.c:139 +msgid "drawwidth" +msgstr "gezeichnete Breite" -#: gtk2_ardour/ardour_ui.cc:550 -msgid "Ardour could not connect to JACK." -msgstr "ardour konnte nicht zu JACK verbinden." +#: gtk2_ardour/canvas-imageframe.c:140 +msgid "drawn width" +msgstr "gezeichnete Breite" -#: gtk2_ardour/ardour_ui.cc:559 -msgid "" -"There are several possible reasons:\n" -"\n" -"1) You requested audio parameters that are not supported..\n" -"2) JACK is running as another user.\n" -"\n" -"Please consider the possibilities, and perhaps try different parameters." -msgstr "" -"Dafür kann es verschiedene Gründe geben:\n" -"\n" -"1) Sie haben nicht unterstützte Audioeinstellungen gewählt.\n" -"2) JACK wurde unter einem anderen Benutzer gestartet.\n" -"\n" -"Betrachten Sie bitte diese Möglichkeiten und verwenden sie ggf. andere Einstellungen." +#: gtk2_ardour/canvas-imageframe.c:148 +msgid "height" +msgstr "Höhe" -#: gtk2_ardour/ardour_ui.cc:566 -msgid "" -"There are several possible reasons:\n" -"\n" -"1) JACK is not running.\n" -"2) JACK is running as another user, perhaps root.\n" -"3) There is already another client called \"ardour\".\n" -"\n" -"Please consider the possibilities, and perhaps (re)start JACK." -msgstr "" -"Dafür kann es verschiedene Gründe geben:\n" -"\n" -"1) JACK läuft nicht.\n" -"2) JACK wurde unter einem anderen Benutzer gestartet, möglicherweise als root.\n" -"3) Es gibt bereits einen anderen Client mit der Bezeichnung \"ardour\".\n" -"\n" -"Betrachten Sie bitte diese Möglichkeiten und starten Sie JACK neu, wenn dies notwendig sein sollte." +#: gtk2_ardour/canvas-imageframe.c:149 +msgid "the height" +msgstr "Höhe" -#: gtk2_ardour/ardour_ui.cc:615 -msgid "Could not find command line session \"%1\"" -msgstr "Konnte das per Kommandozeile übergebene Projekt nicht laden: \"%1\"" +#: gtk2_ardour/canvas-imageframe.c:157 +msgid "anchor" +msgstr "Anker" -#: gtk2_ardour/ardour_ui.cc:633 -msgid "" -"\n" -"\n" -"No session named \"%1\" exists.\n" -"To create it from the command line, start ardour as:\n" -" ardour --new %1" -msgstr "" -"\n" -"\n" -"Es existiert kein Projekt mit dem Namen \"%1\".\n" -"Um es von der Kommandozeile aus zu erstellen, starten Sie ardour mit:\n" -" ardour --new %1" +#: gtk2_ardour/canvas-imageframe.c:158 +msgid "the anchor" +msgstr "Anker" -#: gtk2_ardour/ardour_ui.cc:702 -msgid "" -"WARNING: Your system has a limit for maximum amount of locked memory. This might cause Ardour to run out of memory before your system runs out of memory. \n" -"\n" -"You can view the memory limit with 'ulimit -l', and it is normally controlled by /etc/security/limits.conf" +#: gtk2_ardour/canvas-ruler.c:121 +msgid "frames_per_unit" msgstr "" -"WARNUNG: Ihr System hat eine Begrenzung für die Reservierung von Arbeitsspeicher eingestellt. Dies könnte dazu führen, dass Ardour zu schnell der Speicher ausgeht.\n" -"\n" -"Sie können die Speicherbegrenzung mit 'ulimit -l' einsehen und normalerweise in /etc/security/limits.conf verändern." -#: gtk2_ardour/ardour_ui.cc:710 -msgid "Do not show this window again" -msgstr "Diese Meldung nicht wieder anzeigen" +#: gtk2_ardour/canvas-ruler.c:122 +#, fuzzy +msgid "frames_per_unit of ruler" +msgstr "Obere Grenze für das Lineal" -#: gtk2_ardour/ardour_ui.cc:730 -msgid "quit" -msgstr "Beenden" +#: gtk2_ardour/canvas-ruler.c:132 +msgid "fill color" +msgstr "Füllfarbe" -#: gtk2_ardour/ardour_ui.cc:739 -msgid "" -"Ardour was unable to save your session.\n" -"\n" -"If you still wish to quit, please use the\n" -"\n" -"\"Just quit\" option." -msgstr "" -"ardour konnte das Projekt nicht speichern.\n" -"\n" -"Wenn Sie trotzdem beenden wollen, wählen Sie bitte\n" -"\n" -"\"Trotzdem beenden\"." +#: gtk2_ardour/canvas-ruler.c:143 +msgid "tick color" +msgstr "Häkchenfarbe" -#: gtk2_ardour/ardour_ui.cc:763 -msgid "ardour: save session?" -msgstr "ardour: Projekt speichern?" +#: gtk2_ardour/canvas-ruler.c:144 +msgid "color of tick" +msgstr "Häkchenfarbe" -#: gtk2_ardour/ardour_ui.cc:770 -msgid "Don't %1" -msgstr "Abbrechen" +#: gtk2_ardour/canvas-simpleline.c:151 +msgid "color rgba" +msgstr "RGBA-Farbe" -#: gtk2_ardour/ardour_ui.cc:772 -msgid "Just %1" -msgstr "%1" +#: gtk2_ardour/canvas-simpleline.c:152 +msgid "color of line" +msgstr "Linienfarbe" -#: gtk2_ardour/ardour_ui.cc:774 -msgid "Save and %1" -msgstr "Speichern und %1" +#: gtk2_ardour/gtk-custom-ruler.c:126 +msgid "Lower" +msgstr "Untergrenze" -#: gtk2_ardour/ardour_ui.cc:786 -msgid "session" -msgstr "Das Projekt" +#: gtk2_ardour/gtk-custom-ruler.c:127 +msgid "Lower limit of ruler" +msgstr "Untere Grenze des Lineals" -#: gtk2_ardour/ardour_ui.cc:788 -msgid "snapshot" -msgstr "Der Schnappschuss" +#: gtk2_ardour/gtk-custom-ruler.c:136 +msgid "Upper" +msgstr "Obergrenze" -#: gtk2_ardour/ardour_ui.cc:790 -msgid "" -"The %1\"%2\"\n" -"has not been saved.\n" -"\n" -"Any changes made this time\n" -"will be lost unless you save it.\n" -"\n" -"What do you want to do?" -msgstr "" -"%1 \"%2\" wurde nicht gespeichert.\n" -"\n" -"Alle Änderungen werden verloren gehen wenn Sie nicht speichern.\n" -"\n" -"Wie wollen Sie vorgehen?" +#: gtk2_ardour/gtk-custom-ruler.c:137 +msgid "Upper limit of ruler" +msgstr "Obere Grenze für das Lineal" -#: gtk2_ardour/ardour_ui.cc:804 -msgid "Prompter" -msgstr "Frage" +#: gtk2_ardour/gtk-custom-ruler.c:146 +msgid "Position" +msgstr "Position" -#: gtk2_ardour/ardour_ui.cc:866 -#, c-format -msgid "disconnected" -msgstr "getrennt" +#: gtk2_ardour/gtk-custom-ruler.c:147 +msgid "Position of mark on the ruler" +msgstr "Position der Markierung auf dem Lineal" -#: gtk2_ardour/ardour_ui.cc:873 -#, c-format -msgid "%.1f kHz / %4.1f ms" -msgstr "%.1f kHz / %4.1f ms" +#: gtk2_ardour/gtk-custom-ruler.c:156 +msgid "Max Size" +msgstr "Maximale Größe" -#: gtk2_ardour/ardour_ui.cc:877 -#, c-format -msgid "%u kHz / %4.1f ms" -msgstr "%u kHz / %4.1f ms" +#: gtk2_ardour/gtk-custom-ruler.c:157 +msgid "Maximum size of the ruler" +msgstr "Minimal Größe des Lineals" -#: gtk2_ardour/ardour_ui.cc:890 -#, c-format -msgid "DSP: %5.1f%%" -msgstr "DSP: %5.1f%%" +#: gtk2_ardour/gtk-custom-ruler.c:166 +msgid "Show Position" +msgstr "Zeige Position" -#: gtk2_ardour/ardour_ui.cc:900 -#, c-format -msgid "Buffers p:%<PRIu32>%% c:%<PRIu32>%%" -msgstr "Buffer p:%<PRIu32>%% c:%<PRIu32>%%" +#: gtk2_ardour/gtk-custom-ruler.c:167 +msgid "Draw current ruler position" +msgstr "Zeige aktuelle Position des Lineals" -#: gtk2_ardour/ardour_ui.cc:928 -msgid "Disk: 24hrs+" -msgstr "HD: >24 Std." +#: gtk2_ardour/export_range_markers_dialog.cc:41 +msgid "ardour: export ranges" +msgstr "ardour: Bereiche Exportieren" -#: gtk2_ardour/ardour_ui.cc:948 -#, c-format -msgid "Disk: %02dh:%02dm:%02ds" -msgstr "HD: %02dh:%02dm:%02ds" +#: gtk2_ardour/export_range_markers_dialog.cc:42 +msgid "Export to Directory" +msgstr "In Verzeichnis exportieren" -#: gtk2_ardour/ardour_ui.cc:1061 -#: gtk2_ardour/new_session_dialog.cc:365 -msgid "Recent Sessions" -msgstr "Zuletzt verwendete Projekte" +#: gtk2_ardour/export_range_markers_dialog.cc:143 +msgid "Please enter a valid target directory." +msgstr "Bitte geben Sie ein gültiges Zielverzeichis an." -#: gtk2_ardour/ardour_ui.cc:1150 -msgid "" -"Ardour is not connected to JACK\n" -"You cannot open or close sessions in this condition" +#: gtk2_ardour/export_range_markers_dialog.cc:151 +msgid "Please select an existing target directory. Files are not allowed!" msgstr "" -"Ardour ist derzeit nicht mit JACK verbunden.\n" -"Es ist nicht möglich, neue Projekte zu erstellen." - -#: gtk2_ardour/ardour_ui.cc:1174 -msgid "open session" -msgstr "Projekt öffnen" - -#: gtk2_ardour/ardour_ui.cc:1181 -msgid "Ardour sessions" -msgstr "ardour-Projekte" - -#: gtk2_ardour/ardour_ui.cc:1214 -msgid "Patience is a virtue.\n" -msgstr "Geduld ist eine Tugend.\n" - -#: gtk2_ardour/ardour_ui.cc:1224 -msgid "You cannot add a track or bus without a session already loaded." -msgstr "Sie können erst Spuren oder Busse hinzufügen, wenn ein Projekt geladen wurde." - -#: gtk2_ardour/ardour_ui.cc:1234 -#: gtk2_ardour/ardour_ui.cc:1247 -msgid "could not create a new audio track" -msgstr "Konnte neue Spur nicht erstellen." - -#: gtk2_ardour/ardour_ui.cc:1236 -msgid "could only create %1 of %2 new audio %3" -msgstr "Konnte nur %1 von %2 neuen %3 erstellen" - -#: gtk2_ardour/ardour_ui.cc:1237 -msgid "tracks" -msgstr "Spuren" +"Bitte wählen Sie ein vorhandenes Zielverzeichnis aus.\n" +"Dateien sind nicht möglich." -#: gtk2_ardour/ardour_ui.cc:1237 -msgid "busses" -msgstr "Audio-Bussen" +#: gtk2_ardour/export_range_markers_dialog.cc:160 +msgid "Cannot write file in: " +msgstr "Konnte Datei nicht in Verzeichnis schreiben:" -#: gtk2_ardour/ardour_ui.cc:1249 -msgid "could not create %1 new audio tracks" -msgstr "Konnte %1 neue Spuren nicht erstellen." +#: gtk2_ardour/audio_region_editor.cc:48 +msgid "NAME:" +msgstr "Name:" -#: gtk2_ardour/ardour_ui.cc:1270 -msgid "" -"There are insufficient JACK ports available\n" -"to create a new track or bus.\n" -"You should save Ardour, exit and\n" -"restart JACK with more ports." -msgstr "" -"Es sind nicht genügend JACK Ports verfügbar\n" -"um neue Spuren oder Busse zu erstellen.\n" -"Speichern Sie Ihr Projekt und starten Sie\n" -"ardour sowie JACK mit einer größeren\n" -"Anzahl Ports erneut." +#: gtk2_ardour/audio_region_editor.cc:49 +msgid "play" +msgstr "Play" -#: gtk2_ardour/ardour_ui.cc:1390 -msgid "" -"Please create 1 or more track\n" -"before trying to record.\n" -"Check the Session menu." -msgstr "" -"Bitte fügen Sie mindestens eine weitere Spur hinzu,\n" -"bevor Sie aufnehmen.\n" -"Weitere Einstellungen finden Sie im Projektmenü." +#: gtk2_ardour/audio_region_editor.cc:68 +msgid "audition this region" +msgstr "Diese Region Vorhören" -#: gtk2_ardour/ardour_ui.cc:1645 -msgid "" -"JACK has either been shutdown or it\n" -"disconnected Ardour because Ardour\n" -"was not fast enough. You can save the\n" -"session and/or try to reconnect to JACK ." -msgstr "" -"JACK wurde entweder beendet oder\n" -"hat ardour getrennt weil Ardour nicht\n" -"schnell genug war. Sie sollten versuchen,\n" -"das Projekt zu speichern und erneut mit JACK zu verbinden." +#: gtk2_ardour/audio_region_editor.cc:83 +msgid "START:" +msgstr "Beginn:" -#: gtk2_ardour/ardour_ui.cc:1662 -msgid "Unable to start the session running" -msgstr "Konnte das aktuelle Projekt nicht starten" +#: gtk2_ardour/audio_region_editor.cc:85 +msgid "END:" +msgstr "Ende:" -#: gtk2_ardour/ardour_ui.cc:1753 -#: gtk2_ardour/ardour_ui.cc:1772 -#: gtk2_ardour/audio_clock.cc:508 -msgid "none" -msgstr "keine" +#: gtk2_ardour/audio_region_editor.cc:87 +msgid "LENGTH:" +msgstr "Länge:" -#: gtk2_ardour/ardour_ui.cc:1762 -#: gtk2_ardour/ardour_ui.cc:1781 -msgid "off" -msgstr "aus" +#: gtk2_ardour/audio_region_editor.cc:123 +msgid "Region %1" +msgstr "Region %1" -#: gtk2_ardour/ardour_ui.cc:1807 -msgid "Name of New Snapshot" -msgstr "Name für neuen Schnappschuss" +#: gtk2_ardour/audio_region_editor.cc:204 +msgid "change region start position" +msgstr "Startposition der Region ändern" -#: gtk2_ardour/ardour_ui.cc:1959 -msgid "Name for mix template:" -msgstr "Name für Mixer-Vorlage" +#: gtk2_ardour/audio_region_editor.cc:221 +msgid "change region end position" +msgstr "Endposition der Region ändern" -#: gtk2_ardour/ardour_ui.cc:1960 -msgid "-template" -msgstr "Vorlage" +#: gtk2_ardour/audio_region_editor.cc:242 +msgid "change region length" +msgstr "Länge der Region verändern" -#: gtk2_ardour/ardour_ui.cc:1989 -msgid "" -"Welcome to Ardour.\n" -"\n" -"The program will take a bit longer to start up\n" -"while the system fonts are checked.\n" -"\n" -"This will only be done once, and you will\n" -"not see this message again\n" -msgstr "" -"Willkommen bei Ardour.\n" -"\n" -"Der Programmstart wird etwas länger dauern,\n" -"da die Systemschriften geprüft werden.\n" -"\n" -"Diese Meldung wird nur dieses eine Mal\n" -"auftauchen.\n" +#: gtk2_ardour/theme_manager.cc:52 +msgid "Object" +msgstr "Element" -#: gtk2_ardour/ardour_ui.cc:2039 -msgid "Ardour cannot understand \"%1\" as a session name" -msgstr "Ardour kann \"%1\" nicht als Projektnamen benutzen" +#: gtk2_ardour/theme_manager.cc:53 +msgid "Color" +msgstr "Farbe" -#: gtk2_ardour/ardour_ui.cc:2074 -#: gtk2_ardour/ardour_ui.cc:2131 -msgid "Starting audio engine" -msgstr "Starte Audio Engine" +#: gtk2_ardour/theme_manager.cc:185 +msgid "Unable to find UI style file %1. Ardour will look strange" +msgstr "Kann die UI-Style Datei %1 nicht finden. Ardour wird merkwürdig aussehen." -#: gtk2_ardour/ardour_ui.cc:2249 -msgid "" -"This session\n" -"%1\n" -"already exists. Do you want to open it?" -msgstr "" -"Das Projekt\n" -"%1\n" -"existiert bereits. Wollen Sie sie öffnen?" +#: gtk2_ardour/generic_pluginui.cc:80 +msgid "<span size=\"large\">Presets</span>" +msgstr "<span size=\"large\">Voreinstellungen</span>" -#: gtk2_ardour/ardour_ui.cc:2430 -msgid "" -"You do not have write access to this session.\n" -"This prevents the session from being loaded." -msgstr "" -"Sie haben keinen Schreibzugriff auf dieses Projekt.\n" -"Dadurch kann das Projekt nicht geladen werden." +#: gtk2_ardour/generic_pluginui.cc:171 +#: gtk2_ardour/ardour_ui_ed.cc:743 +msgid "Controls" +msgstr "Steuerelemente" -#: gtk2_ardour/ardour_ui.cc:2437 -msgid "Please wait while Ardour loads your session" -msgstr "Bitte warten Sie, während Ardour das Projekt lädt" +#: gtk2_ardour/generic_pluginui.cc:208 +msgid "Plugin Editor: could not build control element for port %1" +msgstr "Plugin Editor: konnte kein Steuerelement für Port %1 erzeugen" -#: gtk2_ardour/ardour_ui.cc:2448 -msgid "Session \"%1 (snapshot %2)\" did not load successfully" -msgstr "Projekt \"%1 (Schnappschuss %2)\" konnte nicht geladen werden." +#: gtk2_ardour/generic_pluginui.cc:298 +msgid "Automation control" +msgstr "Automation" -#: gtk2_ardour/ardour_ui.cc:2453 +#: gtk2_ardour/generic_pluginui.cc:305 #, fuzzy -msgid "Loading Error" -msgstr "Programmierfehler:" - -#: gtk2_ardour/ardour_ui.cc:2454 -msgid "Click the OK button to try again." -msgstr "Klicken Sie auf OK, um es erneut zu versuchen." - -#: gtk2_ardour/ardour_ui.cc:2527 -msgid "Could not create session in \"%1\"" -msgstr "Konnte kein Projekt in \"%1\" anlegen" - -#: gtk2_ardour/ardour_ui.cc:2587 -msgid "No audio files were ready for cleanup" -msgstr "Keine Audiodateien zum Aufräumen vorhanden" - -#: gtk2_ardour/ardour_ui.cc:2591 -msgid "" -"If this seems suprising, \n" -"check for any existing snapshots.\n" -"These may still include regions that\n" -"require some unused files to continue to exist." -msgstr "" -"Falls trotzdem nicht benötigte Dateien\n" -"existieren, welche hier nicht erkannt werden,\n" -"sind sie wahrscheinlich noch in einem\n" -"älteren Schnappschuss als Region eingebunden." - -#: gtk2_ardour/ardour_ui.cc:2600 -msgid "ardour: cleanup" -msgstr "ardour: Aufräumen" - -#: gtk2_ardour/ardour_ui.cc:2636 -#: gtk2_ardour/ardour_ui.cc:2642 -msgid "files were" -msgstr "folgenden Dateien wurden" - -#: gtk2_ardour/ardour_ui.cc:2638 -#: gtk2_ardour/ardour_ui.cc:2644 -msgid "file was" -msgstr "folgende Datei wurde" +msgid "Mgnual" +msgstr "Manuell" -#: gtk2_ardour/ardour_ui.cc:2685 -msgid "Are you sure you want to cleanup?" -msgstr "Sind Sie sicher, dass Sie aufräumen wollen?" +#: gtk2_ardour/generic_pluginui.cc:335 +#: gtk2_ardour/generic_pluginui.cc:606 +#: gtk2_ardour/gain_meter.cc:182 +msgid "Manual" +msgstr "Manuell" -#: gtk2_ardour/ardour_ui.cc:2690 -msgid "" -"Cleanup is a destructive operation.\n" -"ALL undo/redo information will be lost if you cleanup.\n" -"After cleanup, unused audio files will be moved to a \"dead sounds\" location." -msgstr "" -"Das Aufräumen ist eine destruktive Operation.\n" -"Sämtliche Wiederherstellungsinformationen gehen verloren, wenn Sie aufräumen.\n" -"Nach dem Aufräumen werden alle nicht benötigten Audiodateien in einen \"dead sounds\" Ordner verschoben." +#: gtk2_ardour/generic_pluginui.cc:338 +#: gtk2_ardour/generic_pluginui.cc:608 +#: gtk2_ardour/gain_meter.cc:184 +msgid "Play" +msgstr "Wiedergabe" -#: gtk2_ardour/ardour_ui.cc:2696 -msgid "Clean Up" -msgstr "Aufräumen" +#: gtk2_ardour/generic_pluginui.cc:341 +#: gtk2_ardour/generic_pluginui.cc:610 +#: gtk2_ardour/gain_meter.cc:186 +msgid "Write" +msgstr "Schreiben" -#: gtk2_ardour/ardour_ui.cc:2699 -msgid "CleanupDialog" -msgstr "" +#: gtk2_ardour/generic_pluginui.cc:344 +#: gtk2_ardour/generic_pluginui.cc:612 +#: gtk2_ardour/gain_meter.cc:188 +msgid "Touch" +msgstr "Ändern" -#: gtk2_ardour/ardour_ui.cc:2727 -msgid "cleaned files" -msgstr "aufgeräumte Dateien" +#: gtk2_ardour/generic_pluginui.cc:347 +msgid "???" +msgstr "???" -#: gtk2_ardour/ardour_ui.cc:2728 -msgid "" -"The following %1 %2 not in use and \n" -"have been moved to:\n" -"%3. \n" -"\n" -"Flushing the wastebasket will \n" -"release an additional\n" -"%4 %5bytes of disk space.\n" -msgstr "" -"Die %1 %2 nicht benötigt und\n" -"verschoben nach:\n" -"%3. \n" -"\n" -"Wenn Sie den Müll leeren werden weitere\n" -"%4 %5byte Speicherplatz frei.\n" +#: gtk2_ardour/gain_meter.cc:117 +#: gtk2_ardour/gain_meter.cc:362 +#: gtk2_ardour/gain_meter.cc:723 +msgid "-inf" +msgstr "-inf" -#: gtk2_ardour/ardour_ui.cc:2756 -msgid "deleted file" -msgstr "gelöschte Datei" +#: gtk2_ardour/gain_meter.cc:123 +#: gtk2_ardour/gain_meter.cc:769 +msgid "Fader automation mode" +msgstr "Fader Automationsmodus" -#: gtk2_ardour/ardour_ui.cc:2757 -msgid "" -"The following %1 %2 deleted from\n" -"%3,\n" -"releasing %4 %5bytes of disk space" -msgstr "" -"Die %1 %2 gelöscht aus\n" -"%3,\n" -"und machten %4 %5byte Speicherplatz frei" +#: gtk2_ardour/gain_meter.cc:124 +#: gtk2_ardour/gain_meter.cc:770 +msgid "Fader automation type" +msgstr "Fader-Automationstyp" -#: gtk2_ardour/ardour_ui.cc:2875 -msgid "Recording was stopped because your system could not keep up." -msgstr "Die Aufnahme wurde gestoppt, da Ihr System nicht schnell genug folgen konnte." +#: gtk2_ardour/gain_meter.cc:132 +#: gtk2_ardour/gain_meter.cc:658 +msgid "Trim" +msgstr "Abschneiden" -#: gtk2_ardour/ardour_ui.cc:2886 -msgid "" -"The disk system on your computer\n" -"was not able to keep up with Ardour.\n" -"\n" -"Specifically, it failed to write data to disk\n" -"quickly enough to keep up with recording.\n" -msgstr "" -"Ihre Festplatte war nicht schnell genug,\n" -"um ardour zu folgen.\n" -"\n" -"Die Daten konnten nicht schnell genug geschrieben\n" -"werden, um die Aufnahme fortzuführen.\n" +#: gtk2_ardour/gain_meter.cc:133 +#: gtk2_ardour/gain_meter.cc:662 +msgid "Abs" +msgstr "Abs" -#: gtk2_ardour/ardour_ui.cc:2905 -msgid "" -"The disk system on your computer\n" -"was not able to keep up with Ardour.\n" -"\n" -"Specifically, it failed to read data from disk\n" -"quickly enough to keep up with playback.\n" -msgstr "" -"Ihre Festplatte war nicht schnell genug,\n" -"um ardour zu folgen.\n" -"\n" -"Die Daten konnten nicht schnell genug gelesen\n" -"werden, um die Wiedergabe aufrechtzuerhalten.\n" +#: gtk2_ardour/gain_meter.cc:287 +msgid "-Inf" +msgstr "-Inf" -#: gtk2_ardour/ardour_ui.cc:2926 -msgid "" -"This session appears to have been in\n" -"middle of recording when ardour or\n" -"the computer was shutdown.\n" -"\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" -msgstr "" -"Es scheint, dass dieses Projekt während\n" -"einer Aufnahme abgebrochen oder\n" -"geschlossen wurde.\n" -"\n" -"Ardour kann die Aufgenommenen Audiodaten\n" -"für Sie wiederherstellen oder sie verwerfen.\n" -"Bitte entscheiden Sie, wie Sie vorgehen möchten.\n" +#: gtk2_ardour/gain_meter.cc:473 +#: gtk2_ardour/gain_meter.cc:488 +msgid "meter point change" +msgstr "Taktwechsel ändern" -#: gtk2_ardour/ardour_ui.cc:2936 -msgid "Recover from crash" -msgstr "Daten wiederherstellen" +#: gtk2_ardour/gain_meter.cc:626 +msgid "M" +msgstr "M" -#: gtk2_ardour/ardour_ui.cc:2937 -msgid "Ignore crash data" -msgstr "Daten verwerfen" +#: gtk2_ardour/gain_meter.cc:629 +msgid "P" +msgstr "P" -#: gtk2_ardour/ardour_ui.cc:2955 -msgid "Could not disconnect from JACK" -msgstr "Konnte Verbindung mit JACK nicht trennen" +#: gtk2_ardour/gain_meter.cc:632 +msgid "T" +msgstr "T" -#: gtk2_ardour/ardour_ui.cc:2968 -msgid "Could not reconnect to JACK" -msgstr "Konnte nicht erneut zu JACK verbinden" +#: gtk2_ardour/gain_meter.cc:635 +msgid "W" +msgstr "W" #: gtk2_ardour/ardour_ui2.cc:62 msgid "UI: cannot setup editor" @@ -975,11 +470,11 @@ msgstr "Automatisches Input Monitoring aktivieren" #: gtk2_ardour/ardour_ui2.cc:292 msgid "Start recording at auto-punch start" -msgstr "Beginnt die Aufnahme bei Auto-Punch Start" +msgstr "Aufnahme am Anfang des Punch-Bereichs beginnen" #: gtk2_ardour/ardour_ui2.cc:293 msgid "Stop recording at auto-punch end" -msgstr "Beginnt die Aufnahme bei Auto-Punch Ende" +msgstr "Aufnahme am Ende des Punch-Bereichs beenden" #: gtk2_ardour/ardour_ui2.cc:294 msgid "Enable/Disable audio click" @@ -991,7 +486,7 @@ msgstr "Positionsbezogene Sync-quelle" #: gtk2_ardour/ardour_ui2.cc:296 msgid "Does Ardour control the time?" -msgstr "Bestimmt ardour die Time?" +msgstr "Bestimmt Ardour die Time?" #: gtk2_ardour/ardour_ui2.cc:297 msgid "Shuttle speed control" @@ -1031,15 +526,13 @@ msgstr "" "Klicken stoppt das Vorhören." #: gtk2_ardour/ardour_ui2.cc:376 -#: gtk2_ardour/ardour_ui2.cc:826 -#: gtk2_ardour/ardour_ui2.cc:882 -#: gtk2_ardour/ardour_ui_options.cc:1064 +#: gtk2_ardour/ardour_ui2.cc:822 +#: gtk2_ardour/ardour_ui2.cc:878 msgid "sprung" msgstr "Feder" #: gtk2_ardour/ardour_ui2.cc:377 -#: gtk2_ardour/ardour_ui2.cc:828 -#: gtk2_ardour/ardour_ui_options.cc:1075 +#: gtk2_ardour/ardour_ui2.cc:824 msgid "wheel" msgstr "Drehrad" @@ -1047,1300 +540,2057 @@ msgstr "Drehrad" msgid "Maximum speed" msgstr "Max. Geschwindigkeit" -#: gtk2_ardour/ardour_ui2.cc:838 -#: gtk2_ardour/ardour_ui2.cc:861 +#: gtk2_ardour/ardour_ui2.cc:834 +#: gtk2_ardour/ardour_ui2.cc:857 msgid "stop" msgstr "Stop" -#: gtk2_ardour/ardour_ui2.cc:880 +#: gtk2_ardour/ardour_ui2.cc:876 msgid "-0.55" msgstr "-0.55" -#: gtk2_ardour/ardour_ui_dependents.cc:85 -msgid "Ardour key bindings file not found at \"%1\" or contains errors." -msgstr "Konnte die Datei mit den Tastaturzuweisungen nicht an der Stelle \"%1\" finden, oder sie ist fehlerhaft." +#: gtk2_ardour/editor_mouse.cc:147 +msgid "Editor::event_frame() used on unhandled event type %1" +msgstr "Editor::event_frame() auf unbekannten Eventtyp %1 angewandt" -#: gtk2_ardour/ardour_ui_dialogs.cc:170 -#: gtk2_ardour/playlist_selector.cc:73 -msgid "close" -msgstr "Schließen" +#: gtk2_ardour/editor_mouse.cc:1842 +msgid "programming error: start_grab called without drag item" +msgstr "Programmierfehler: start_grab called without drag item" + +#: gtk2_ardour/editor_mouse.cc:1967 +msgid "programming error: fade in canvas item has no regionview data pointer!" +msgstr "Programmierfehler: fade in canvas item has no regionview data pointer!" + +#: gtk2_ardour/editor_mouse.cc:2042 +msgid "change fade in length" +msgstr "Ändere Fade-In Länge" + +#: gtk2_ardour/editor_mouse.cc:2075 +msgid "programming error: fade out canvas item has no regionview data pointer!" +msgstr "Programmierfehler: fade out canvas item has no regionview data pointer!" + +#: gtk2_ardour/editor_mouse.cc:2159 +msgid "change fade out length" +msgstr "Fade-Out verändern" + +#: gtk2_ardour/editor_mouse.cc:2192 +msgid "programming error: cursor canvas item has no cursor data pointer!" +msgstr "Programmierfehler: cursor canvas item has no cursor data pointer!" + +#: gtk2_ardour/editor_mouse.cc:2287 +#: gtk2_ardour/editor_mouse.cc:5005 +msgid "programming error: marker canvas item has no marker object pointer!" +msgstr "Programmierfehler: marker canvas item has no marker object pointer!" + +#: gtk2_ardour/editor_mouse.cc:2572 +msgid "move marker" +msgstr "Marker bewegen" + +#: gtk2_ardour/editor_mouse.cc:2614 +#: gtk2_ardour/editor_mouse.cc:2646 +msgid "programming error: meter marker canvas item has no marker object pointer!" +msgstr "pProgrammierfehler: meter marker canvas item has no marker object pointer!" + +#: gtk2_ardour/editor_mouse.cc:2714 +msgid "copy meter mark" +msgstr "Taktmarker kopieren" + +#: gtk2_ardour/editor_mouse.cc:2725 +msgid "move meter mark" +msgstr "Taktwechsel bewegen" + +#: gtk2_ardour/editor_mouse.cc:2741 +#: gtk2_ardour/editor_mouse.cc:2775 +msgid "programming error: tempo marker canvas item has no marker object pointer!" +msgstr "Programmierfehler: tempo marker canvas item has no marker object pointer!" + +#: gtk2_ardour/editor_mouse.cc:2746 +#: gtk2_ardour/editor_mouse.cc:2780 +msgid "programming error: marker for tempo is not a tempo marker!" +msgstr "Programmierfehler: marker for tempo is not a tempo marker!" + +#: gtk2_ardour/editor_mouse.cc:2847 +msgid "copy tempo mark" +msgstr "Tempomarker kopieren" + +#: gtk2_ardour/editor_mouse.cc:2858 +msgid "move tempo mark" +msgstr "Tempowechsel bewegen" + +#: gtk2_ardour/editor_mouse.cc:2873 +#: gtk2_ardour/editor_mouse.cc:2892 +#: gtk2_ardour/editor_mouse.cc:2905 +msgid "programming error: control point canvas item has no control point object pointer!" +msgstr "Programmierfehler: control point canvas item has no control point object pointer!" + +#: gtk2_ardour/editor_mouse.cc:3040 +msgid "programming error: line canvas item has no line pointer!" +msgstr "Programmierfehler: line canvas item has no line pointer!" + +#: gtk2_ardour/editor_mouse.cc:3184 +msgid "move region(s)" +msgstr "Region(en) bewegen" + +#: gtk2_ardour/editor_mouse.cc:3256 +msgid "Drag region brush" +msgstr "Region Brush ziehen" + +#: gtk2_ardour/editor_mouse.cc:3904 +msgid "fixed time region copy" +msgstr "Region zeitgleich kopieren" + +#: gtk2_ardour/editor_mouse.cc:3906 +msgid "region copy" +msgstr "Region kopieren" + +#: gtk2_ardour/editor_mouse.cc:3910 +msgid "fixed time region drag" +msgstr "Region zeitgleich verschieben" + +#: gtk2_ardour/editor_mouse.cc:3912 +msgid "region drag" +msgstr "Region verschieben" + +#: gtk2_ardour/editor_mouse.cc:4325 +msgid "selection grab" +msgstr "Auswählen" + +#: gtk2_ardour/editor_mouse.cc:4476 +msgid "range selection" +msgstr "Auswahlbereich" -#: gtk2_ardour/ardour_ui_ed.cc:84 +#: gtk2_ardour/editor_mouse.cc:4492 +msgid "trim selection start" +msgstr "Anfangspunkt der Auswahl abschneiden" + +#: gtk2_ardour/editor_mouse.cc:4508 +msgid "trim selection end" +msgstr "Endpunkt der Auswahl abschneiden" + +#: gtk2_ardour/editor_mouse.cc:4525 +msgid "move selection" +msgstr "Auswahl bewegen" + +#: gtk2_ardour/editor_mouse.cc:4914 +msgid "Start point trim" +msgstr "Anfangspunkt verändern" + +#: gtk2_ardour/editor_mouse.cc:4946 +msgid "End point trim" +msgstr "Endpunkt verändern" + +#: gtk2_ardour/editor_mouse.cc:4989 +msgid "trimmed region" +msgstr "Abgeschnittene Region" + +#: gtk2_ardour/editor_mouse.cc:5152 +msgid "new range marker" +msgstr "Neuer Bereich" + +#: gtk2_ardour/editor_mouse.cc:5400 +msgid "rubberband selection" +msgstr "Bereichsauswahl" + +#: gtk2_ardour/editor_mouse.cc:5430 +msgid "Name for region:" +msgstr "Name für Region:" + +#: gtk2_ardour/editor_mouse.cc:5432 +msgid "Rename" +msgstr "Umbenennen" + +#: gtk2_ardour/editor_mouse.cc:5503 +msgid "timestretch" +msgstr "Time-Stretch" + +#: gtk2_ardour/editor_selection.cc:733 +msgid "set selected regions" +msgstr "Regionen auswählen" + +#: gtk2_ardour/editor_selection.cc:875 +msgid "select all" +msgstr "Alle Regionen auswählen" + +#: gtk2_ardour/editor_selection.cc:964 +msgid "select all within" +msgstr "Alle im Bereich auswählen" + +#: gtk2_ardour/editor_selection.cc:1024 +msgid "set selection from range" +msgstr "Auswahlbereich von Bereich erstellen" + +#: gtk2_ardour/editor_selection.cc:1064 +msgid "select all from range" +msgstr "Alle im Bereich auswählen" + +#: gtk2_ardour/editor_selection.cc:1095 +msgid "select all from punch" +msgstr "Alle im Punch-Bereich auswählen" + +#: gtk2_ardour/editor_selection.cc:1126 +msgid "select all from loop" +msgstr "Alle im Loop-Bereich auswählen" + +#: gtk2_ardour/editor_selection.cc:1140 +msgid "select all after cursor" +msgstr "Alle nach Positionszeiger auswählen" + +#: gtk2_ardour/editor_selection.cc:1145 +msgid "select all before cursor" +msgstr "Alle vor Positionszeiger auswählen" + +#: gtk2_ardour/editor_selection.cc:1180 +msgid "select all after edit" +msgstr "Alles nach Arbeitspunkt auswählen" + +#: gtk2_ardour/editor_selection.cc:1185 +msgid "select all before edit" +msgstr "Alles vor Arbeitspunkt auswählen" + +#: gtk2_ardour/editor_selection.cc:1312 +msgid "No edit range defined" +msgstr "Kein Editierbereich definiert" + +#: gtk2_ardour/editor_selection.cc:1318 +msgid "" +"the edit point is Selected Marker\n" +"but there is no selected marker." +msgstr "" +"der Arbeitspunkt ist der gewählte Positionsmarker,\n" +"es ist aber kein Positionsmarker ausgewählt." + +#: gtk2_ardour/ardour_ui_ed.cc:90 msgid "Session" msgstr "Projekt" -#: gtk2_ardour/ardour_ui_ed.cc:85 +#: gtk2_ardour/ardour_ui_ed.cc:91 msgid "Import/Export" msgstr "Import/Export" -#: gtk2_ardour/ardour_ui_ed.cc:86 -#: gtk2_ardour/editor.cc:576 -#: gtk2_ardour/editor.cc:647 -msgid "Regions" -msgstr "Regionen" - -#: gtk2_ardour/ardour_ui_ed.cc:87 +#: gtk2_ardour/ardour_ui_ed.cc:92 msgid "Cleanup" msgstr "Aufräumen" -#: gtk2_ardour/ardour_ui_ed.cc:88 -#: gtk2_ardour/option_editor.cc:144 +#: gtk2_ardour/ardour_ui_ed.cc:93 msgid "Sync" msgstr "Sync" -#: gtk2_ardour/ardour_ui_ed.cc:89 -#: gtk2_ardour/ardour_ui_ed.cc:90 -#: gtk2_ardour/engine_dialog.cc:343 +#: gtk2_ardour/ardour_ui_ed.cc:94 +#: gtk2_ardour/ardour_ui_ed.cc:95 msgid "Options" msgstr "Optionen" -#: gtk2_ardour/ardour_ui_ed.cc:91 +#: gtk2_ardour/ardour_ui_ed.cc:96 msgid "Help" msgstr "Hilfe" -#: gtk2_ardour/ardour_ui_ed.cc:92 -msgid "KeyMouse Actions" -msgstr "Tastatur/Maus-Befehle" +#: gtk2_ardour/ardour_ui_ed.cc:97 +msgid "Misc. Shortcuts" +msgstr "Verschiedenes" -#: gtk2_ardour/ardour_ui_ed.cc:93 +#: gtk2_ardour/ardour_ui_ed.cc:98 msgid "Audio File Format" msgstr "Audio-Dateiformat" -#: gtk2_ardour/ardour_ui_ed.cc:94 -msgid "Header" -msgstr "Header" +#: gtk2_ardour/ardour_ui_ed.cc:99 +msgid "File Type" +msgstr "Dateiformat" -#: gtk2_ardour/ardour_ui_ed.cc:95 -msgid "Data" -msgstr "Datenformat" +#: gtk2_ardour/ardour_ui_ed.cc:100 +msgid "Sample Format" +msgstr "Sampleformat" -#: gtk2_ardour/ardour_ui_ed.cc:96 +#: gtk2_ardour/ardour_ui_ed.cc:101 msgid "Control Surfaces" msgstr "Eingabegeräte / Controller" -#: gtk2_ardour/ardour_ui_ed.cc:97 +#: gtk2_ardour/ardour_ui_ed.cc:102 msgid "Metering" msgstr "Pegelanzeige" -#: gtk2_ardour/ardour_ui_ed.cc:98 +#: gtk2_ardour/ardour_ui_ed.cc:103 msgid "Fall off rate" msgstr "Abfall der Pegelanzeige" -#: gtk2_ardour/ardour_ui_ed.cc:99 +#: gtk2_ardour/ardour_ui_ed.cc:104 msgid "Hold Time" msgstr "Pegelanzeige halten" -#: gtk2_ardour/ardour_ui_ed.cc:100 +#: gtk2_ardour/ardour_ui_ed.cc:105 msgid "Denormal Handling" msgstr "Umgang mit Denormals" -#: gtk2_ardour/ardour_ui_ed.cc:104 -#: gtk2_ardour/route_time_axis.cc:1343 +#: gtk2_ardour/ardour_ui_ed.cc:109 msgid "New" msgstr "Neu" -#: gtk2_ardour/ardour_ui_ed.cc:106 +#: gtk2_ardour/ardour_ui_ed.cc:111 msgid "Open" msgstr "Öffnen" -#: gtk2_ardour/ardour_ui_ed.cc:107 +#: gtk2_ardour/ardour_ui_ed.cc:112 msgid "Recent" msgstr "Zuletzt verwendet..." -#: gtk2_ardour/ardour_ui_ed.cc:108 -#: gtk2_ardour/io_selector.cc:59 -#: gtk2_ardour/io_selector.cc:747 -#: gtk2_ardour/connection_editor.cc:58 +#: gtk2_ardour/ardour_ui_ed.cc:113 msgid "Close" msgstr "Schließen" -#: gtk2_ardour/ardour_ui_ed.cc:111 -#: gtk2_ardour/route_params_ui.cc:513 +#: gtk2_ardour/ardour_ui_ed.cc:116 msgid "Add Track/Bus" msgstr "Spur/Bus hinzufügen..." -#: gtk2_ardour/ardour_ui_ed.cc:123 +#: gtk2_ardour/ardour_ui_ed.cc:128 msgid "Connect" msgstr "Verbinden" -#: gtk2_ardour/ardour_ui_ed.cc:131 +#: gtk2_ardour/ardour_ui_ed.cc:136 msgid "Snapshot" msgstr "Schnappschuss..." -#: gtk2_ardour/ardour_ui_ed.cc:134 +#: gtk2_ardour/ardour_ui_ed.cc:139 msgid "Save Template..." msgstr "Als Vorlage Speichern..." -#: gtk2_ardour/ardour_ui_ed.cc:137 +#: gtk2_ardour/ardour_ui_ed.cc:142 msgid "Export session to audiofile..." msgstr "Exportiere Projekt als Audio-Datei..." -#: gtk2_ardour/ardour_ui_ed.cc:140 +#: gtk2_ardour/ardour_ui_ed.cc:145 msgid "Export selection to audiofile..." msgstr "Exportiere Auswahlbereich als Audio-Datei..." -#: gtk2_ardour/ardour_ui_ed.cc:144 +#: gtk2_ardour/ardour_ui_ed.cc:149 msgid "Export range markers to audiofile..." msgstr "Exportiere Bereiche als Audio-Datei..." -#: gtk2_ardour/ardour_ui_ed.cc:148 -#: gtk2_ardour/editor.cc:1724 -#: gtk2_ardour/export_dialog.cc:125 -#: gtk2_ardour/export_dialog.cc:374 -#: gtk2_ardour/export_dialog.cc:1122 -#: gtk2_ardour/export_dialog.cc:1126 +#: gtk2_ardour/ardour_ui_ed.cc:153 msgid "Export" msgstr "Exportieren" -#: gtk2_ardour/ardour_ui_ed.cc:151 +#: gtk2_ardour/ardour_ui_ed.cc:156 msgid "Cleanup unused sources" msgstr "Nicht benutzte Dateien entfernen" -#: gtk2_ardour/ardour_ui_ed.cc:153 +#: gtk2_ardour/ardour_ui_ed.cc:158 msgid "Flush wastebasket" msgstr "Müll leeren" -#: gtk2_ardour/ardour_ui_ed.cc:159 +#: gtk2_ardour/ardour_ui_ed.cc:164 msgid "JACK" msgstr "JACK" -#: gtk2_ardour/ardour_ui_ed.cc:160 +#: gtk2_ardour/ardour_ui_ed.cc:165 msgid "Latency" msgstr "Latenz" -#: gtk2_ardour/ardour_ui_ed.cc:162 +#: gtk2_ardour/ardour_ui_ed.cc:167 msgid "Reconnect" msgstr "Neu Verbinden" -#: gtk2_ardour/ardour_ui_ed.cc:165 -#: gtk2_ardour/mixer_strip.cc:504 -#: gtk2_ardour/mixer_strip.cc:566 +#: gtk2_ardour/ardour_ui_ed.cc:170 msgid "Disconnect" msgstr "Trennen" -#: gtk2_ardour/ardour_ui_ed.cc:192 -msgid "Windows" +#: gtk2_ardour/ardour_ui_ed.cc:197 +msgid "Window" msgstr "Fenster" -#: gtk2_ardour/ardour_ui_ed.cc:193 +#: gtk2_ardour/ardour_ui_ed.cc:198 msgid "Quit" msgstr "Beenden" -#: gtk2_ardour/ardour_ui_ed.cc:197 +#: gtk2_ardour/ardour_ui_ed.cc:202 msgid "Maximise Editor Space" -msgstr "Editor Maximieren" +msgstr "Editor maximieren" -#: gtk2_ardour/ardour_ui_ed.cc:199 +#: gtk2_ardour/ardour_ui_ed.cc:204 msgid "Show Editor" msgstr "Editor anzeigen" -#: gtk2_ardour/ardour_ui_ed.cc:200 +#: gtk2_ardour/ardour_ui_ed.cc:205 msgid "Show Mixer" msgstr "Mixer anzeigen" -#: gtk2_ardour/ardour_ui_ed.cc:201 -#: gtk2_ardour/option_editor.cc:117 +#: gtk2_ardour/ardour_ui_ed.cc:206 msgid "Preferences" msgstr "Einstellungen" -#: gtk2_ardour/ardour_ui_ed.cc:202 -#: gtk2_ardour/route_params_ui.cc:143 -#: gtk2_ardour/route_params_ui.cc:659 +#: gtk2_ardour/ardour_ui_ed.cc:207 msgid "Track/Bus Inspector" msgstr "Verbindungen" -#: gtk2_ardour/ardour_ui_ed.cc:204 -#: gtk2_ardour/connection_editor.cc:146 -#: gtk2_ardour/connection_editor.cc:147 +#: gtk2_ardour/ardour_ui_ed.cc:209 msgid "Connections" msgstr "Verbindungen" -#: gtk2_ardour/ardour_ui_ed.cc:206 -#: gtk2_ardour/location_ui.cc:611 +#: gtk2_ardour/ardour_ui_ed.cc:211 msgid "Locations" msgstr "Positionen" -#: gtk2_ardour/ardour_ui_ed.cc:208 +#: gtk2_ardour/ardour_ui_ed.cc:213 msgid "Big Clock" msgstr "Große Zeitanzeige" -#: gtk2_ardour/ardour_ui_ed.cc:210 +#: gtk2_ardour/ardour_ui_ed.cc:215 msgid "About" -msgstr "Über ardour..." +msgstr "Über Ardour..." -#: gtk2_ardour/ardour_ui_ed.cc:211 +#: gtk2_ardour/ardour_ui_ed.cc:216 msgid "Theme Manager" msgstr "Thema" -#: gtk2_ardour/ardour_ui_ed.cc:212 +#: gtk2_ardour/ardour_ui_ed.cc:217 msgid "Keybindings" msgstr "Tastaturbefehle" -#: gtk2_ardour/ardour_ui_ed.cc:214 +#: gtk2_ardour/ardour_ui_ed.cc:219 msgid "Add Audio Track" msgstr "Audiospur hinzufügen" -#: gtk2_ardour/ardour_ui_ed.cc:216 +#: gtk2_ardour/ardour_ui_ed.cc:221 msgid "Add Audio Bus" msgstr "Audio-Bus hinzufügen" -#: gtk2_ardour/ardour_ui_ed.cc:218 +#: gtk2_ardour/ardour_ui_ed.cc:223 msgid "Save" msgstr "Speichern" -#: gtk2_ardour/ardour_ui_ed.cc:220 -#: gtk2_ardour/editor_actions.cc:377 +#: gtk2_ardour/ardour_ui_ed.cc:225 msgid "Remove Last Capture" msgstr "Letzte Aufnahme entfernen" -#: gtk2_ardour/ardour_ui_ed.cc:227 +#: gtk2_ardour/ardour_ui_ed.cc:232 msgid "Transport" msgstr "Transport" -#: gtk2_ardour/ardour_ui_ed.cc:233 -#: gtk2_ardour/engine_dialog.cc:56 -#: gtk2_ardour/sfdb_ui.cc:178 +#: gtk2_ardour/ardour_ui_ed.cc:238 msgid "Stop" msgstr "Stop" -#: gtk2_ardour/ardour_ui_ed.cc:236 +#: gtk2_ardour/ardour_ui_ed.cc:241 msgid "Roll" msgstr "Wiedergabe" -#: gtk2_ardour/ardour_ui_ed.cc:240 +#: gtk2_ardour/ardour_ui_ed.cc:245 msgid "Start/Stop" msgstr "Start/Stop" -#: gtk2_ardour/ardour_ui_ed.cc:243 +#: gtk2_ardour/ardour_ui_ed.cc:248 msgid "Stop + Forget Capture" msgstr "Stop + Aufnahme verwerfen" -#: gtk2_ardour/ardour_ui_ed.cc:253 +#: gtk2_ardour/ardour_ui_ed.cc:258 msgid "Transition To Roll" msgstr "Vorwärts wiedergeben" -#: gtk2_ardour/ardour_ui_ed.cc:257 +#: gtk2_ardour/ardour_ui_ed.cc:262 msgid "Transition To Reverse" msgstr "Rückwärts wiedergeben" -#: gtk2_ardour/ardour_ui_ed.cc:262 +#: gtk2_ardour/ardour_ui_ed.cc:267 msgid "Play Loop Range" msgstr "Schleife wiedergeben" -#: gtk2_ardour/ardour_ui_ed.cc:265 +#: gtk2_ardour/ardour_ui_ed.cc:270 msgid "Play Selection" msgstr "Ausgewählten Bereich wiedergeben" -#: gtk2_ardour/ardour_ui_ed.cc:269 +#: gtk2_ardour/ardour_ui_ed.cc:274 msgid "Enable Record" msgstr "Aufnahme aktivieren" -#: gtk2_ardour/ardour_ui_ed.cc:271 +#: gtk2_ardour/ardour_ui_ed.cc:276 msgid "Start Recording" msgstr "Aufnahme beginnen" -#: gtk2_ardour/ardour_ui_ed.cc:274 +#: gtk2_ardour/ardour_ui_ed.cc:279 msgid "Rewind" msgstr "Rückwärts" -#: gtk2_ardour/ardour_ui_ed.cc:277 +#: gtk2_ardour/ardour_ui_ed.cc:282 msgid "Rewind (Slow)" msgstr "Rückwärts (langsam)" -#: gtk2_ardour/ardour_ui_ed.cc:280 +#: gtk2_ardour/ardour_ui_ed.cc:285 msgid "Rewind (Fast)" msgstr "Rückwärts (schnell)" -#: gtk2_ardour/ardour_ui_ed.cc:283 +#: gtk2_ardour/ardour_ui_ed.cc:288 msgid "Forward" msgstr "Vorwärts" -#: gtk2_ardour/ardour_ui_ed.cc:286 +#: gtk2_ardour/ardour_ui_ed.cc:291 msgid "Forward (Slow)" msgstr "Vorwärts (langsam)" -#: gtk2_ardour/ardour_ui_ed.cc:289 +#: gtk2_ardour/ardour_ui_ed.cc:294 msgid "Forward (Fast)" msgstr "Vorwärts (schnell)" -#: gtk2_ardour/ardour_ui_ed.cc:292 +#: gtk2_ardour/ardour_ui_ed.cc:297 msgid "Goto Zero" msgstr "Zum Nullpunkt springen" -#: gtk2_ardour/ardour_ui_ed.cc:295 +#: gtk2_ardour/ardour_ui_ed.cc:300 msgid "Goto Start" msgstr "Zum Anfang springen" -#: gtk2_ardour/ardour_ui_ed.cc:298 +#: gtk2_ardour/ardour_ui_ed.cc:303 msgid "Goto End" -msgstr "Zum Ende Springen" +msgstr "Zum Ende springen" + +#: gtk2_ardour/ardour_ui_ed.cc:306 +msgid "Goto Wall Clock" +msgstr "Zur lokalen Uhrzeit springen" -#: gtk2_ardour/ardour_ui_ed.cc:302 +#: gtk2_ardour/ardour_ui_ed.cc:310 msgid "Focus On Clock" msgstr "Fokus auf Zeitanzeige setzen" +#: gtk2_ardour/ardour_ui_ed.cc:314 +#: gtk2_ardour/ardour_ui_ed.cc:323 +msgid "Bars & Beats" +msgstr "Takte & Schläge" + +#: gtk2_ardour/ardour_ui_ed.cc:316 #: gtk2_ardour/ardour_ui_ed.cc:325 +msgid "Minutes & Seconds" +msgstr "Minuten & Sekunden" + +#: gtk2_ardour/ardour_ui_ed.cc:318 +#: gtk2_ardour/ardour_ui_ed.cc:327 +msgid "Samples" +msgstr "Samples" + +#: gtk2_ardour/ardour_ui_ed.cc:320 +#: gtk2_ardour/ardour_ui_ed.cc:329 +#: gtk2_ardour/ardour_ui_ed.cc:518 +#: gtk2_ardour/ardour_ui_ed.cc:526 +msgid "Off" +msgstr "Aus" + +#: gtk2_ardour/ardour_ui_ed.cc:332 +msgid "Punch In" +msgstr "Punch In" + +#: gtk2_ardour/ardour_ui_ed.cc:335 +msgid "Punch Out" +msgstr "Punch Out" + +#: gtk2_ardour/ardour_ui_ed.cc:338 +msgid "Punch In/Out" +msgstr "Punch In/Out" + +#: gtk2_ardour/ardour_ui_ed.cc:341 +msgid "Click" +msgstr "Click" + +#: gtk2_ardour/ardour_ui_ed.cc:344 +msgid "Auto Input" +msgstr "Auto Input" + +#: gtk2_ardour/ardour_ui_ed.cc:347 +msgid "Auto Play" +msgstr "Auto Play" + +#: gtk2_ardour/ardour_ui_ed.cc:350 +msgid "Auto Return" +msgstr "Auto Return" + +#: gtk2_ardour/ardour_ui_ed.cc:354 msgid "Sync startup to video" msgstr "Mit Video synchronisieren" -#: gtk2_ardour/ardour_ui_ed.cc:326 +#: gtk2_ardour/ardour_ui_ed.cc:355 msgid "Time master" msgstr "Time Master" -#: gtk2_ardour/ardour_ui_ed.cc:329 +#: gtk2_ardour/ardour_ui_ed.cc:358 msgid "Toggle Record Enable Track1" msgstr "Aufnahme aktivieren für Spur 1" -#: gtk2_ardour/ardour_ui_ed.cc:331 +#: gtk2_ardour/ardour_ui_ed.cc:360 msgid "Toggle Record Enable Track2" msgstr "Aufnahme aktivieren für Spur 2" -#: gtk2_ardour/ardour_ui_ed.cc:333 +#: gtk2_ardour/ardour_ui_ed.cc:362 msgid "Toggle Record Enable Track3" msgstr "Aufnahme aktivieren für Spur 3" -#: gtk2_ardour/ardour_ui_ed.cc:335 +#: gtk2_ardour/ardour_ui_ed.cc:364 msgid "Toggle Record Enable Track4" msgstr "Aufnahme aktivieren für Spur 4" -#: gtk2_ardour/ardour_ui_ed.cc:337 +#: gtk2_ardour/ardour_ui_ed.cc:366 msgid "Toggle Record Enable Track5" msgstr "Aufnahme aktivieren für Spur 5" -#: gtk2_ardour/ardour_ui_ed.cc:339 +#: gtk2_ardour/ardour_ui_ed.cc:368 msgid "Toggle Record Enable Track6" msgstr "Aufnahme aktivieren für Spur 6" -#: gtk2_ardour/ardour_ui_ed.cc:341 +#: gtk2_ardour/ardour_ui_ed.cc:370 msgid "Toggle Record Enable Track7" msgstr "Aufnahme aktivieren für Spur 7" -#: gtk2_ardour/ardour_ui_ed.cc:343 +#: gtk2_ardour/ardour_ui_ed.cc:372 msgid "Toggle Record Enable Track8" msgstr "Aufnahme aktivieren für Spur 8" -#: gtk2_ardour/ardour_ui_ed.cc:345 +#: gtk2_ardour/ardour_ui_ed.cc:374 msgid "Toggle Record Enable Track9" msgstr "Aufnahme aktivieren für Spur 9" -#: gtk2_ardour/ardour_ui_ed.cc:347 +#: gtk2_ardour/ardour_ui_ed.cc:376 msgid "Toggle Record Enable Track10" msgstr "Aufnahme aktivieren für Spur 10" -#: gtk2_ardour/ardour_ui_ed.cc:349 +#: gtk2_ardour/ardour_ui_ed.cc:378 msgid "Toggle Record Enable Track11" msgstr "Aufnahme aktivieren für Spur 11" -#: gtk2_ardour/ardour_ui_ed.cc:351 +#: gtk2_ardour/ardour_ui_ed.cc:380 msgid "Toggle Record Enable Track12" msgstr "Aufnahme aktivieren für Spur 12" -#: gtk2_ardour/ardour_ui_ed.cc:353 +#: gtk2_ardour/ardour_ui_ed.cc:382 msgid "Toggle Record Enable Track13" msgstr "Aufnahme aktivieren für Spur 13" -#: gtk2_ardour/ardour_ui_ed.cc:355 +#: gtk2_ardour/ardour_ui_ed.cc:384 msgid "Toggle Record Enable Track14" msgstr "Aufnahme aktivieren für Spur 14" -#: gtk2_ardour/ardour_ui_ed.cc:357 +#: gtk2_ardour/ardour_ui_ed.cc:386 msgid "Toggle Record Enable Track15" msgstr "Aufnahme aktivieren für Spur 15" -#: gtk2_ardour/ardour_ui_ed.cc:359 +#: gtk2_ardour/ardour_ui_ed.cc:388 msgid "Toggle Record Enable Track16" msgstr "Aufnahme aktivieren für Spur 16" -#: gtk2_ardour/ardour_ui_ed.cc:361 +#: gtk2_ardour/ardour_ui_ed.cc:390 msgid "Toggle Record Enable Track17" msgstr "Aufnahme aktivieren für Spur 17" -#: gtk2_ardour/ardour_ui_ed.cc:363 +#: gtk2_ardour/ardour_ui_ed.cc:392 msgid "Toggle Record Enable Track18" msgstr "Aufnahme aktivieren für Spur 18" -#: gtk2_ardour/ardour_ui_ed.cc:365 +#: gtk2_ardour/ardour_ui_ed.cc:394 msgid "Toggle Record Enable Track19" msgstr "Aufnahme aktivieren für Spur 19" -#: gtk2_ardour/ardour_ui_ed.cc:367 +#: gtk2_ardour/ardour_ui_ed.cc:396 msgid "Toggle Record Enable Track20" msgstr "Aufnahme aktivieren für Spur 20" -#: gtk2_ardour/ardour_ui_ed.cc:369 +#: gtk2_ardour/ardour_ui_ed.cc:398 msgid "Toggle Record Enable Track21" msgstr "Aufnahme aktivieren für Spur 21" -#: gtk2_ardour/ardour_ui_ed.cc:371 +#: gtk2_ardour/ardour_ui_ed.cc:400 msgid "Toggle Record Enable Track22" msgstr "Aufnahme aktivieren für Spur 22" -#: gtk2_ardour/ardour_ui_ed.cc:373 +#: gtk2_ardour/ardour_ui_ed.cc:402 msgid "Toggle Record Enable Track23" msgstr "Aufnahme aktivieren für Spur 23" -#: gtk2_ardour/ardour_ui_ed.cc:375 +#: gtk2_ardour/ardour_ui_ed.cc:404 msgid "Toggle Record Enable Track24" msgstr "Aufnahme aktivieren für Spur 24" -#: gtk2_ardour/ardour_ui_ed.cc:377 +#: gtk2_ardour/ardour_ui_ed.cc:406 msgid "Toggle Record Enable Track25" msgstr "Aufnahme aktivieren für Spur 25" -#: gtk2_ardour/ardour_ui_ed.cc:379 +#: gtk2_ardour/ardour_ui_ed.cc:408 msgid "Toggle Record Enable Track26" msgstr "Aufnahme aktivieren für Spur 26" -#: gtk2_ardour/ardour_ui_ed.cc:381 +#: gtk2_ardour/ardour_ui_ed.cc:410 msgid "Toggle Record Enable Track27" msgstr "Aufnahme aktivieren für Spur 27" -#: gtk2_ardour/ardour_ui_ed.cc:383 +#: gtk2_ardour/ardour_ui_ed.cc:412 msgid "Toggle Record Enable Track28" msgstr "Aufnahme aktivieren für Spur 28" -#: gtk2_ardour/ardour_ui_ed.cc:385 +#: gtk2_ardour/ardour_ui_ed.cc:414 msgid "Toggle Record Enable Track29" msgstr "Aufnahme aktivieren für Spur 29" -#: gtk2_ardour/ardour_ui_ed.cc:387 +#: gtk2_ardour/ardour_ui_ed.cc:416 msgid "Toggle Record Enable Track30" msgstr "Aufnahme aktivieren für Spur 30" -#: gtk2_ardour/ardour_ui_ed.cc:389 +#: gtk2_ardour/ardour_ui_ed.cc:418 msgid "Toggle Record Enable Track31" msgstr "Aufnahme aktivieren für Spur 31" -#: gtk2_ardour/ardour_ui_ed.cc:391 +#: gtk2_ardour/ardour_ui_ed.cc:420 msgid "Toggle Record Enable Track32" msgstr "Aufnahme aktivieren für Spur 32" -#: gtk2_ardour/ardour_ui_ed.cc:396 +#: gtk2_ardour/ardour_ui_ed.cc:425 msgid "Percentage" msgstr "Prozent" -#: gtk2_ardour/ardour_ui_ed.cc:397 +#: gtk2_ardour/ardour_ui_ed.cc:426 msgid "Semitones" msgstr "Halbtöne" -#: gtk2_ardour/ardour_ui_ed.cc:401 +#: gtk2_ardour/ardour_ui_ed.cc:430 msgid "Send MTC" msgstr "MTC senden" -#: gtk2_ardour/ardour_ui_ed.cc:403 +#: gtk2_ardour/ardour_ui_ed.cc:432 msgid "Send MMC" msgstr "MMC senden" -#: gtk2_ardour/ardour_ui_ed.cc:405 +#: gtk2_ardour/ardour_ui_ed.cc:434 msgid "Use MMC" msgstr "Benutze MMC" -#: gtk2_ardour/ardour_ui_ed.cc:407 +#: gtk2_ardour/ardour_ui_ed.cc:436 msgid "Send MIDI feedback" msgstr "MIDI Feedback senden" -#: gtk2_ardour/ardour_ui_ed.cc:410 +#: gtk2_ardour/ardour_ui_ed.cc:439 msgid "Use OSC" msgstr "Aktiviere OSC" -#: gtk2_ardour/ardour_ui_ed.cc:415 +#: gtk2_ardour/ardour_ui_ed.cc:443 +msgid "Tape Machine mode" +msgstr "Bandmaschinen-Modus" + +#: gtk2_ardour/ardour_ui_ed.cc:446 msgid "Sync Editor and Mixer track order" msgstr "Einheitliche Reihenfolge der Spuren im Editor und Mixer" -#: gtk2_ardour/ardour_ui_ed.cc:416 +#: gtk2_ardour/ardour_ui_ed.cc:447 msgid "Stop plugins with transport" msgstr "Plugins mit Transport stoppen" -#: gtk2_ardour/ardour_ui_ed.cc:417 +#: gtk2_ardour/ardour_ui_ed.cc:448 msgid "Verify remove last capture" msgstr "Verwerfen der letzten Aufnahme bestätigen" -#: gtk2_ardour/ardour_ui_ed.cc:418 +#: gtk2_ardour/ardour_ui_ed.cc:449 msgid "Make periodic safety backups" msgstr "Erstelle regelmäßig Sicherungskopien" -#: gtk2_ardour/ardour_ui_ed.cc:419 +#: gtk2_ardour/ardour_ui_ed.cc:450 msgid "Stop recording on xrun" -msgstr "Aufnahme bei XRUN stoppen" +msgstr "Aufnahme bei xrun stoppen" -#: gtk2_ardour/ardour_ui_ed.cc:420 +#: gtk2_ardour/ardour_ui_ed.cc:451 +msgid "Create marker at xrun location" +msgstr "Bei xrun Marker erzeugen" + +#: gtk2_ardour/ardour_ui_ed.cc:452 msgid "Stop transport at session end" msgstr "Transport am Ende des Projekts stoppen" -#: gtk2_ardour/ardour_ui_ed.cc:421 +#: gtk2_ardour/ardour_ui_ed.cc:453 msgid "-12dB gain reduce ffwd/rewind" msgstr "Beim Spulen Pegel um -12dB absenken" -#: gtk2_ardour/ardour_ui_ed.cc:422 +#: gtk2_ardour/ardour_ui_ed.cc:454 msgid "Rec-enable stays engaged at stop" msgstr "Aufnahmestatus bleibt nach Stop erhalten" -#: gtk2_ardour/ardour_ui_ed.cc:423 +#: gtk2_ardour/ardour_ui_ed.cc:455 msgid "Region equivalents overlap" msgstr "Region entspricht Überdeckung" -#: gtk2_ardour/ardour_ui_ed.cc:424 +#: gtk2_ardour/ardour_ui_ed.cc:456 msgid "Primary Clock delta to edit point" msgstr "Primäre Zeitanzeige zeigt Abstand zum Arbeitspunkt" -#: gtk2_ardour/ardour_ui_ed.cc:425 +#: gtk2_ardour/ardour_ui_ed.cc:457 msgid "Secondary Clock delta to edit point" msgstr "Sekundäre Zeitanzeige zeigt Abstand zum Arbeitspunkt" -#: gtk2_ardour/ardour_ui_ed.cc:426 +#: gtk2_ardour/ardour_ui_ed.cc:458 msgid "Enable Editor Meters" msgstr "Aktiviere Pegelanzeigen im Editor" -#: gtk2_ardour/ardour_ui_ed.cc:427 +#: gtk2_ardour/ardour_ui_ed.cc:459 msgid "Always copy imported files" msgstr "Importierte Dateien immer kopieren" -#: gtk2_ardour/ardour_ui_ed.cc:431 +#: gtk2_ardour/ardour_ui_ed.cc:460 +msgid "Rubberbanding Snaps to Grid" +msgstr "Time-Stretch schnappt auf Raster ein" + +#: gtk2_ardour/ardour_ui_ed.cc:461 +msgid "Auto-analyse new audio" +msgstr "Neue Audiodaten automatisch analysieren" + +#: gtk2_ardour/ardour_ui_ed.cc:463 +msgid "Use narrow mixer strips" +msgstr "Schmale Mixerzüge verwenden" + +#: gtk2_ardour/ardour_ui_ed.cc:464 +msgid "Name New Markers" +msgstr "Neue Marker benennen" + +#: gtk2_ardour/ardour_ui_ed.cc:468 msgid "Use DC bias" -msgstr "DC bias aktivieren" +msgstr "Benutze DC bias" -#: gtk2_ardour/ardour_ui_ed.cc:433 +#: gtk2_ardour/ardour_ui_ed.cc:470 msgid "No processor handling" msgstr "Keine Korrekturen" -#: gtk2_ardour/ardour_ui_ed.cc:442 -#: gtk2_ardour/ardour_ui_ed.cc:453 +#: gtk2_ardour/ardour_ui_ed.cc:479 +#: gtk2_ardour/ardour_ui_ed.cc:490 msgid "Use FlushToZero" msgstr "Benutze FlushToZero" -#: gtk2_ardour/ardour_ui_ed.cc:444 -#: gtk2_ardour/ardour_ui_ed.cc:458 +#: gtk2_ardour/ardour_ui_ed.cc:481 +#: gtk2_ardour/ardour_ui_ed.cc:495 msgid "Use DenormalsAreZero" msgstr "Benutze DenormalsAreZero" -#: gtk2_ardour/ardour_ui_ed.cc:446 -#: gtk2_ardour/ardour_ui_ed.cc:463 +#: gtk2_ardour/ardour_ui_ed.cc:483 +#: gtk2_ardour/ardour_ui_ed.cc:500 msgid "Use FlushToZero & DenormalsAreZero" msgstr "Benutze FlushToZero & DenormalsAreZero" -#: gtk2_ardour/ardour_ui_ed.cc:469 +#: gtk2_ardour/ardour_ui_ed.cc:506 msgid "Do not run plugins while recording" -msgstr "Plugins während der Aufnahme daktivieren" +msgstr "Plugins während der Aufnahme deaktivieren" -#: gtk2_ardour/ardour_ui_ed.cc:471 +#: gtk2_ardour/ardour_ui_ed.cc:508 msgid "Latched solo" msgstr "Latch Solo" -#: gtk2_ardour/ardour_ui_ed.cc:473 +#: gtk2_ardour/ardour_ui_ed.cc:510 msgid "Show solo muting" msgstr "Solo als Mute anzeigen" -#: gtk2_ardour/ardour_ui_ed.cc:481 -#: gtk2_ardour/ardour_ui_ed.cc:489 -#: gtk2_ardour/audio_clock.cc:1889 -msgid "Off" -msgstr "Aus" - -#: gtk2_ardour/ardour_ui_ed.cc:482 -#: gtk2_ardour/editor.cc:1335 -#: gtk2_ardour/editor.cc:1338 -#: gtk2_ardour/editor.cc:1357 -#: gtk2_ardour/editor.cc:1360 +#: gtk2_ardour/ardour_ui_ed.cc:519 msgid "Slowest" msgstr "Sehr langsam" -#: gtk2_ardour/ardour_ui_ed.cc:483 -#: gtk2_ardour/editor.cc:1339 -#: gtk2_ardour/editor.cc:1361 +#: gtk2_ardour/ardour_ui_ed.cc:520 msgid "Slow" msgstr "Langsam" -#: gtk2_ardour/ardour_ui_ed.cc:484 -#: gtk2_ardour/ardour_ui_ed.cc:491 +#: gtk2_ardour/ardour_ui_ed.cc:521 +#: gtk2_ardour/ardour_ui_ed.cc:528 msgid "Medium" msgstr "Mittel" -#: gtk2_ardour/ardour_ui_ed.cc:485 -#: gtk2_ardour/editor.cc:1340 -#: gtk2_ardour/editor.cc:1362 -#: gtk2_ardour/sfdb_ui.cc:1070 -#: gtk2_ardour/sfdb_ui.cc:1151 +#: gtk2_ardour/ardour_ui_ed.cc:522 msgid "Fast" msgstr "Schnell" -#: gtk2_ardour/ardour_ui_ed.cc:486 +#: gtk2_ardour/ardour_ui_ed.cc:523 msgid "Faster" msgstr "Schneller" -#: gtk2_ardour/ardour_ui_ed.cc:487 -#: gtk2_ardour/editor.cc:1341 -#: gtk2_ardour/editor.cc:1363 -#: gtk2_ardour/sfdb_ui.cc:1071 +#: gtk2_ardour/ardour_ui_ed.cc:524 msgid "Fastest" msgstr "Schnellstmöglich" -#: gtk2_ardour/ardour_ui_ed.cc:490 -#: gtk2_ardour/editor_actions.cc:79 +#: gtk2_ardour/ardour_ui_ed.cc:527 msgid "Short" msgstr "Kurz" -#: gtk2_ardour/ardour_ui_ed.cc:492 +#: gtk2_ardour/ardour_ui_ed.cc:529 msgid "Long" msgstr "Lange" -#: gtk2_ardour/ardour_ui_ed.cc:511 -msgid "Hardware monitoring" -msgstr "Hardware Monitoring" +#: gtk2_ardour/ardour_ui_ed.cc:554 +msgid "JACK does monitoring" +msgstr "Monitoring mit JACK" -#: gtk2_ardour/ardour_ui_ed.cc:512 -msgid "Software monitoring" -msgstr "Software Monitoring" +#: gtk2_ardour/ardour_ui_ed.cc:558 +msgid "Ardour does monitoring" +msgstr "Monitoring mit Ardour" -#: gtk2_ardour/ardour_ui_ed.cc:513 -msgid "External monitoring" -msgstr "Externes Monitoring" +#: gtk2_ardour/ardour_ui_ed.cc:559 +msgid "Audio Hardware does monitoring" +msgstr "Hardware Monitoring" -#: gtk2_ardour/ardour_ui_ed.cc:517 +#: gtk2_ardour/ardour_ui_ed.cc:563 msgid "Solo in-place" msgstr "Solo-In-Place" -#: gtk2_ardour/ardour_ui_ed.cc:519 +#: gtk2_ardour/ardour_ui_ed.cc:565 msgid "Solo via bus" msgstr "Solo über Bus" -#: gtk2_ardour/ardour_ui_ed.cc:524 +#: gtk2_ardour/ardour_ui_ed.cc:570 msgid "Auto-connect inputs to physical inputs" msgstr "Eingänge automatisch mit Audioeingängen verbinden" -#: gtk2_ardour/ardour_ui_ed.cc:526 +#: gtk2_ardour/ardour_ui_ed.cc:572 msgid "Manually connect inputs" msgstr "Eingänge manuell verbinden" -#: gtk2_ardour/ardour_ui_ed.cc:531 +#: gtk2_ardour/ardour_ui_ed.cc:577 msgid "Auto-connect outputs to physical outs" msgstr "Ausgänge automatisch mit Audioausgängen verbinden" -#: gtk2_ardour/ardour_ui_ed.cc:533 +#: gtk2_ardour/ardour_ui_ed.cc:579 msgid "Auto-connect outputs to master bus" msgstr "Ausgänge automatisch mit Master-Bus verbinden" -#: gtk2_ardour/ardour_ui_ed.cc:535 +#: gtk2_ardour/ardour_ui_ed.cc:581 msgid "Manually connect outputs" msgstr "Ausgänge manuell verbinden" -#: gtk2_ardour/ardour_ui_ed.cc:540 +#: gtk2_ardour/ardour_ui_ed.cc:586 msgid "Remote ID assigned by User" msgstr "Fernsteuerungs-ID vom Benutzer festgelegt" -#: gtk2_ardour/ardour_ui_ed.cc:542 +#: gtk2_ardour/ardour_ui_ed.cc:588 msgid "Remote ID follows order of Mixer" msgstr "Fernsteuerungs-ID aus Reihenfolge im Mixer" -#: gtk2_ardour/ardour_ui_ed.cc:544 +#: gtk2_ardour/ardour_ui_ed.cc:590 msgid "Remote ID follows order of Editor" msgstr "Fernsteuerungs-ID aus Reihenfolge im Editor" -#: gtk2_ardour/ardour_ui_ed.cc:693 -#: gtk2_ardour/generic_pluginui.cc:168 -msgid "Controls" -msgstr "Steuerelemente" +#: gtk2_ardour/ardour_ui_ed.cc:593 +msgid "Auto Rebind Controls" +msgstr "Controller automatisch anbinden" -#: gtk2_ardour/ardour_ui_ed.cc:697 +#: gtk2_ardour/ardour_ui_ed.cc:747 msgid "Feedback" msgstr "Feedback" -#: gtk2_ardour/ardour_ui_ed.cc:803 +#: gtk2_ardour/ardour_ui_ed.cc:853 msgid "Clock" msgstr "Zeitanzeige" -#: gtk2_ardour/ardour_ui_options.cc:119 -#: gtk2_ardour/ardour_ui_options.cc:149 -#: gtk2_ardour/editor_actions.cc:874 -#: gtk2_ardour/editor_actions.cc:1233 -#: gtk2_ardour/editor_actions.cc:1246 -#: gtk2_ardour/editor_actions.cc:1310 -#: gtk2_ardour/engine_dialog.cc:887 -#: gtk2_ardour/audio_streamview.cc:172 -msgid "programming error: %1" -msgstr "Programmierfehler: %1" +#: gtk2_ardour/editor_edit_groups.cc:52 +msgid "Activate All" +msgstr "Alle aktivieren" -#: gtk2_ardour/ardour_ui_options.cc:228 -msgid "programming error: unknown solo model in ARDOUR_UI::set_solo_model: %1" -msgstr "Programmierfehler: unbekannte Solo-Einstellung in ARDOUR_UI::set_solo_model: %1" +#: gtk2_ardour/editor_edit_groups.cc:53 +msgid "Disable All" +msgstr "Alle deaktivieren" -#: gtk2_ardour/ardour_ui_options.cc:261 -msgid "programming error: unknown remote model in ARDOUR_UI::set_remote_model: %1" -msgstr "Programmierfehler: unbekanntes Fernsteuerungsmodell in ARDOUR_UI::set_remote_model: %1" +#: gtk2_ardour/editor_edit_groups.cc:55 +msgid "Add group" +msgstr "Gruppe hinzufügen" -#: gtk2_ardour/ardour_ui_options.cc:295 -msgid "programming error: unknown monitor model in ARDOUR_UI::set_monitor_model: %1" -msgstr "Programmierfehler: unbekannte Monitoring-Einstellung in ARDOUR_UI::set_monitor_model: %1" +#: gtk2_ardour/editor_edit_groups.cc:228 +msgid "unnamed" +msgstr "unbenannt" -#: gtk2_ardour/ardour_ui_options.cc:334 -msgid "programming error: unknown denormal model in ARDOUR_UI::set_denormal_model: %1" -msgstr "Programmierfehler: unknown denormal model in ARDOUR_UI::set_denormal_model: %1" +#: gtk2_ardour/editor_edit_groups.cc:257 +msgid "-all-" +msgstr "-alle-" -#: gtk2_ardour/ardour_ui_options.cc:699 -msgid "programming error: unknown file header format passed to ARDOUR_UI::map_file_data_format: %1" -msgstr "Programmierfehler: unbekanntes Dateiheaderformat übergeben an ARDOUR_UI::map_file_data_format: %1" +#: gtk2_ardour/redirect_automation_line.cc:53 +msgid "redirect automation created for non-plugin" +msgstr "Redirect-Automation für ein nicht-Plugin erstellt" -#: gtk2_ardour/ardour_ui_options.cc:735 -msgid "programming error: unknown file data format passed to ARDOUR_UI::map_file_data_format: %1" -msgstr "Programmierfehler: unbekanntes Dateiformat übergeben an ARDOUR_UI::map_file_data_format: %1" +#: gtk2_ardour/audio_time_axis.cc:237 +msgid "Fader" +msgstr "Fader" -#: gtk2_ardour/ardour_ui_options.cc:1086 -msgid "ST" -msgstr "HT" +#: gtk2_ardour/audio_time_axis.cc:242 +msgid "Pan" +msgstr "Pan" -#: gtk2_ardour/audio_clock.cc:1885 -#: gtk2_ardour/editor.cc:179 -#: gtk2_ardour/editor_rulers.cc:410 -msgid "Timecode" -msgstr "Timecode" +#: gtk2_ardour/audio_time_axis.cc:258 +msgid "Hide all crossfades" +msgstr "Alle Crossfades verbergen" -#: gtk2_ardour/audio_clock.cc:1886 -#: gtk2_ardour/editor.cc:178 -#: gtk2_ardour/editor_rulers.cc:422 -msgid "Bars:Beats" -msgstr "Takte:Schläge" +#: gtk2_ardour/audio_time_axis.cc:259 +msgid "Show all crossfades" +msgstr "Alle Crossfades zeigen" -#: gtk2_ardour/audio_clock.cc:1887 -msgid "Minutes:Seconds" -msgstr "Minuten:Sekunden" +#: gtk2_ardour/audio_time_axis.cc:267 +msgid "Show waveforms" +msgstr "Wellenformen zeigen" -#: gtk2_ardour/audio_clock.cc:1888 -#: gtk2_ardour/editor.cc:180 -#: gtk2_ardour/editor_rulers.cc:416 -msgid "Samples" -msgstr "Samples" +#: gtk2_ardour/audio_time_axis.cc:277 +msgid "Traditional" +msgstr "Traditionell" -#: gtk2_ardour/route_time_axis.cc:88 -msgid "m" -msgstr "m" +#: gtk2_ardour/audio_time_axis.cc:281 +msgid "Rectified" +msgstr "Gleichgerichtet" -#: gtk2_ardour/route_time_axis.cc:88 -msgid "s" -msgstr "s" +#: gtk2_ardour/audio_time_axis.cc:291 +msgid "Linear" +msgstr "Linear" -#: gtk2_ardour/route_time_axis.cc:88 -msgid "r" -msgstr "r" +#: gtk2_ardour/audio_time_axis.cc:294 +msgid "Logarithmic" +msgstr "Logarithmisch" -#: gtk2_ardour/route_time_axis.cc:92 -msgid "g" -msgstr "g" +#: gtk2_ardour/audio_time_axis.cc:313 +msgid "Waveform" +msgstr "Wellenform" -#: gtk2_ardour/route_time_axis.cc:93 -msgid "p" -msgstr "w" +#: gtk2_ardour/audio_time_axis.cc:385 +msgid "gain" +msgstr "Gain" + +#: gtk2_ardour/audio_time_axis.cc:425 +msgid "pan" +msgstr "Pan" + +#: gtk2_ardour/editor_imageframe.cc:624 +#: gtk2_ardour/editor_imageframe.cc:654 +msgid "programming error: no ImageFrameView selected" +msgstr "Programmierfehler: kein ImageFrameView ausgewählt" + +#: gtk2_ardour/editor_imageframe.cc:847 +#: gtk2_ardour/editor_imageframe.cc:869 +msgid "programming error: no MarkerView selected" +msgstr "Programmierfehler: kein MarkerView ausgewählt" -#: gtk2_ardour/route_time_axis.cc:94 #: gtk2_ardour/automation_time_axis.cc:55 -#: gtk2_ardour/visual_time_axis.cc:73 msgid "h" msgstr "h" -#: gtk2_ardour/route_time_axis.cc:95 -msgid "a" -msgstr "a" +#: gtk2_ardour/automation_time_axis.cc:56 +msgid "clear" +msgstr "Leeren" -#: gtk2_ardour/route_time_axis.cc:96 -#: gtk2_ardour/visual_time_axis.cc:72 -msgid "v" -msgstr "v" +#: gtk2_ardour/automation_time_axis.cc:97 +msgid "track height" +msgstr "Anzeigehöhe" -#: gtk2_ardour/route_time_axis.cc:154 -#: gtk2_ardour/mixer_strip.cc:88 -msgid "Record" -msgstr "Aufnahme" +#: gtk2_ardour/automation_time_axis.cc:98 +msgid "automation state" +msgstr "Automationsmodus" -#: gtk2_ardour/route_time_axis.cc:168 -#: gtk2_ardour/editor_actions.cc:58 -#: gtk2_ardour/mixer_strip.cc:88 -#: gtk2_ardour/mixer_strip.cc:422 -msgid "Solo" -msgstr "Solo" +#: gtk2_ardour/automation_time_axis.cc:99 +msgid "clear track" +msgstr "Spur zurücksetzen" -#: gtk2_ardour/route_time_axis.cc:169 -#: gtk2_ardour/editor.cc:1647 -#: gtk2_ardour/editor.cc:1743 -#: gtk2_ardour/mixer_strip.cc:88 -#: gtk2_ardour/mixer_strip.cc:421 -#: gtk2_ardour/panner_ui.cc:404 -msgid "Mute" -msgstr "Mute" +#: gtk2_ardour/automation_time_axis.cc:100 +msgid "hide track" +msgstr "Diese Spur verbergen" -#: gtk2_ardour/route_time_axis.cc:170 -msgid "Edit Group" -msgstr "Bearbeitungsgruppe" +#: gtk2_ardour/automation_time_axis.cc:294 +msgid "clear automation" +msgstr "Automation zurücksetzen" -#: gtk2_ardour/route_time_axis.cc:171 -#: gtk2_ardour/visual_time_axis.cc:91 -msgid "Display Height" -msgstr "Anzeigehöhe" +#: gtk2_ardour/automation_time_axis.cc:427 +msgid "Height" +msgstr "Höhe" -#: gtk2_ardour/route_time_axis.cc:172 -msgid "Playlist" -msgstr "Wiedergabeliste" +#: gtk2_ardour/automation_time_axis.cc:429 +msgid "Hide" +msgstr "Verbergen" -#: gtk2_ardour/route_time_axis.cc:173 -#: gtk2_ardour/route_time_axis.cc:431 -msgid "Automation" -msgstr "Automationen" +#: gtk2_ardour/automation_time_axis.cc:431 +msgid "Clear" +msgstr "Leeren" -#: gtk2_ardour/route_time_axis.cc:174 -#: gtk2_ardour/visual_time_axis.cc:92 -msgid "Visual options" -msgstr "Visuelle optionen" +#: gtk2_ardour/automation_time_axis.cc:454 +msgid "State" +msgstr "Automationssmodus" -#: gtk2_ardour/route_time_axis.cc:175 -#: gtk2_ardour/visual_time_axis.cc:93 -msgid "Hide this track" -msgstr "Diese Spur verbergen" +#: gtk2_ardour/analysis_window.cc:46 +msgid "Signal source" +msgstr "Signalquelle" -#: gtk2_ardour/route_time_axis.cc:282 -#: gtk2_ardour/mixer_strip.cc:907 -msgid "No group" -msgstr "keine Gruppe" +#: gtk2_ardour/analysis_window.cc:47 +msgid "Selected ranges" +msgstr "Ausgewählte Bereiche" -#: gtk2_ardour/route_time_axis.cc:391 -msgid "Show all automation" -msgstr "Alle Automationen zeigen" +#: gtk2_ardour/analysis_window.cc:48 +msgid "Selected regions" +msgstr "Ausgewählte Regionen" -#: gtk2_ardour/route_time_axis.cc:394 -msgid "Show existing automation" -msgstr "Verfügbare Automationen zeigen" +#: gtk2_ardour/analysis_window.cc:50 +msgid "Display model" +msgstr "Anzeigetyp" -#: gtk2_ardour/route_time_axis.cc:397 -msgid "Hide all automation" -msgstr "Automationen verbergen" +#: gtk2_ardour/analysis_window.cc:51 +msgid "Composite graphs for each track" +msgstr "Graphen für jede Spur einzeln" -#: gtk2_ardour/route_time_axis.cc:400 -msgid "Plugins" -msgstr "Plugins" +#: gtk2_ardour/analysis_window.cc:52 +msgid "Composite graph of all tracks" +msgstr "Graphen aller Spuren zusammenfassen" -#: gtk2_ardour/route_time_axis.cc:421 -#: gtk2_ardour/automation_time_axis.cc:450 -#: gtk2_ardour/imageframe_time_axis.cc:254 -#: gtk2_ardour/marker_time_axis.cc:210 -msgid "Height" -msgstr "Höhe" +#: gtk2_ardour/analysis_window.cc:54 +msgid "Show frequency power range" +msgstr "Leistungsspektrum anzeigen" -#: gtk2_ardour/route_time_axis.cc:422 -#: gtk2_ardour/imageframe_time_axis.cc:255 -#: gtk2_ardour/marker_time_axis.cc:211 -#: gtk2_ardour/theme_manager.cc:52 -msgid "Color" -msgstr "Farbe" +#: gtk2_ardour/analysis_window.cc:55 +msgid "Normalize values" +msgstr "Normalisieren" -#: gtk2_ardour/route_time_axis.cc:430 -#: gtk2_ardour/mixer_strip.cc:995 -msgid "Remote Control ID" -msgstr "ID für Fernsteuerung" +#: gtk2_ardour/analysis_window.cc:59 +#: gtk2_ardour/analysis_window.cc:60 +msgid "FFT analysis window" +msgstr "FFT - Analysefenster" -#: gtk2_ardour/route_time_axis.cc:447 -msgid "Align with existing material" -msgstr "An vorhandenem Material ausrichten" +#: gtk2_ardour/analysis_window.cc:67 +msgid "Track" +msgstr "Spur" -#: gtk2_ardour/route_time_axis.cc:453 -msgid "Align with capture time" -msgstr "An Aufnahmezeit ausrichten" +#: gtk2_ardour/analysis_window.cc:68 +msgid "Show" +msgstr "Anzeigen" -#: gtk2_ardour/route_time_axis.cc:460 -msgid "Alignment" -msgstr "Ausrichtung" +#: gtk2_ardour/analysis_window.cc:135 +msgid "Re-analyze data" +msgstr "Daten erneut analysieren" -#: gtk2_ardour/route_time_axis.cc:464 -msgid "Normal mode" -msgstr "Normaler Modus" +#: gtk2_ardour/editor_rulers.cc:353 +msgid "New location marker" +msgstr "Neuer Positionsmarker" -#: gtk2_ardour/route_time_axis.cc:467 -msgid "Tape mode" -msgstr "Tape-Modus" +#: gtk2_ardour/editor_rulers.cc:354 +msgid "Clear all locations" +msgstr "Alle Positionsmarker entfernen" -#: gtk2_ardour/route_time_axis.cc:484 -#: gtk2_ardour/editor.cc:502 -#: gtk2_ardour/editor_actions.cc:82 -#: gtk2_ardour/mixer_strip.cc:980 -#: gtk2_ardour/mixer_ui.cc:116 -msgid "Active" -msgstr "Aktiv" +#: gtk2_ardour/editor_rulers.cc:355 +msgid "Unhide locations" +msgstr "Positionen anzeigen" -#: gtk2_ardour/route_time_axis.cc:489 -#: gtk2_ardour/editor.cc:1852 -#: gtk2_ardour/editor.cc:3730 -#: gtk2_ardour/editor_actions.cc:463 -#: gtk2_ardour/editor_markers.cc:596 -#: gtk2_ardour/editor_markers.cc:652 -#: gtk2_ardour/imageframe_time_axis.cc:258 -#: gtk2_ardour/location_ui.cc:58 -#: gtk2_ardour/marker_time_axis.cc:214 -#: gtk2_ardour/mixer_strip.cc:999 +#: gtk2_ardour/editor_rulers.cc:360 +msgid "Clear all ranges" +msgstr "Alle Bereiche entfernen" + +#: gtk2_ardour/editor_rulers.cc:361 +msgid "Unhide ranges" +msgstr "Bereiche anzeigen" + +#: gtk2_ardour/editor_rulers.cc:371 +msgid "New CD track marker" +msgstr "Neuer CD-Track Marker" + +#: gtk2_ardour/editor_rulers.cc:376 +msgid "New Tempo" +msgstr "Tempowechsel einfügen..." + +#: gtk2_ardour/editor_rulers.cc:377 +msgid "Clear tempo" +msgstr "Tempo zurücksetzen" + +#: gtk2_ardour/editor_rulers.cc:382 +msgid "New Meter" +msgstr "Taktwechsel einfügen..." + +#: gtk2_ardour/editor_rulers.cc:383 +msgid "Clear meter" +msgstr "Taktart zurücksetzen" + +#: gtk2_ardour/gain_automation_time_axis.cc:64 +msgid "add gain automation event" +msgstr "Punkt in die Lautstärkekurve einfügen" + +#: gtk2_ardour/editor_audio_import.cc:73 +#: gtk2_ardour/editor_audio_import.cc:94 +msgid "You can't import or embed an audiofile until you have a session loaded." +msgstr "Sie können keine Audiodatei importieren, solange kein Projekt geladen ist." + +#: gtk2_ardour/editor_audio_import.cc:79 +#: gtk2_ardour/editor_audio_import.cc:112 +msgid "Add existing audio" +msgstr "Audio importieren" + +#: gtk2_ardour/editor_audio_import.cc:224 +msgid "The session already contains a source file named %1. This file will be imported as a new file, please confirm." +msgstr "Das Projekt enthält bereits eine Datei %1. Diese Datei wird neu importiert." + +#: gtk2_ardour/editor_audio_import.cc:226 +msgid "A source file %1 already exists. This operation will not update that source but import the file %2 as a new source, please confirm." +msgstr "Die Datei %1 existiert bereits. Dieser Vorgang wird die ursprüngliche Datei nicht beibehalten, sondern die Datei %2 als neue Datei importiern." + +#: gtk2_ardour/editor_audio_import.cc:498 +msgid "importing %1" +msgstr "importiere %1" + +#: gtk2_ardour/editor_audio_import.cc:503 +msgid "Cancel Import" +msgstr "Importieren Abbrechen" + +#: gtk2_ardour/editor_audio_import.cc:607 +msgid "Editor: cannot open file \"%1\", (%2)" +msgstr "Editor: kann die Datei \"%1\" nicht öffnen (%2)" + +#: gtk2_ardour/editor_audio_import.cc:615 +msgid "Cancel entire import" +msgstr "Importieren Abbrechen" + +#: gtk2_ardour/editor_audio_import.cc:616 +msgid "Don't embed it" +msgstr "Nicht einbetten" + +#: gtk2_ardour/editor_audio_import.cc:617 +msgid "Embed all without questions" +msgstr "Alle Importieren ohne nachzufragen" + +#: gtk2_ardour/editor_audio_import.cc:620 +#: gtk2_ardour/editor_audio_import.cc:647 +msgid "" +"%1\n" +"This audiofile's sample rate doesn't match the session sample rate!" +msgstr "" +"%1\n" +"Die Samplerate dieser Audiodatei unterscheidet sich von der Samplerate dieses Projekts." + +#: gtk2_ardour/editor_audio_import.cc:643 +msgid "Cancel" +msgstr "Abbrechen" + +#: gtk2_ardour/editor_audio_import.cc:644 +msgid "Embed it anyway" +msgstr "Trotzdem importieren" + +#: gtk2_ardour/editor_audio_import.cc:692 +msgid "could not open %1" +msgstr "Konnte \"%s\" nicht öffnen." + +#: gtk2_ardour/editor_audio_import.cc:822 +msgid "insert sndfile" +msgstr "Audiodatei einfügen" + +#: gtk2_ardour/audio_streamview.cc:171 +msgid "programming error: %1" +msgstr "Programmierfehler: %1" + +#: gtk2_ardour/marker_time_axis.cc:209 msgid "Remove" msgstr "Löschen" -#: gtk2_ardour/route_time_axis.cc:514 -#: gtk2_ardour/route_time_axis.cc:569 -#: gtk2_ardour/route_time_axis.cc:838 -#: gtk2_ardour/editor_actions.cc:1297 -msgid "programming error: %1 %2" -msgstr "Programmierfehler: %1 %2" +#: gtk2_ardour/marker_time_axis.cc:236 +msgid "1 seconds" +msgstr "1 Sekunde" -#: gtk2_ardour/route_time_axis.cc:862 -msgid "Name for playlist" -msgstr "Name für Wiedergabeliste" +#: gtk2_ardour/marker_time_axis.cc:237 +msgid "1.5 seconds" +msgstr "1,5 Sekunden" -#: gtk2_ardour/route_time_axis.cc:864 -#: gtk2_ardour/route_time_axis.cc:1340 -#: gtk2_ardour/editor.cc:1714 -#: gtk2_ardour/editor.cc:3735 -#: gtk2_ardour/editor_markers.cc:590 -#: gtk2_ardour/editor_markers.cc:1022 -#: gtk2_ardour/editor_mouse.cc:5097 -#: gtk2_ardour/imageframe_time_axis.cc:247 -#: gtk2_ardour/marker_time_axis.cc:207 -#: gtk2_ardour/mixer_strip.cc:978 -#: gtk2_ardour/redirect_box.cc:860 -#: gtk2_ardour/redirect_box.cc:1192 -#: gtk2_ardour/route_ui.cc:814 -#: gtk2_ardour/visual_time_axis.cc:330 -msgid "Rename" -msgstr "Umbenennen" +#: gtk2_ardour/marker_time_axis.cc:238 +msgid "2 seconds" +msgstr "2 Sekunden" -#: gtk2_ardour/route_time_axis.cc:906 -#: gtk2_ardour/route_time_axis.cc:952 -msgid "Name for Playlist" -msgstr "Name für Wiedergabeliste" +#: gtk2_ardour/marker_time_axis.cc:239 +msgid "2.5 seconds" +msgstr "2,5 Sekunden" -#: gtk2_ardour/route_time_axis.cc:1155 -#: gtk2_ardour/visual_time_axis.cc:340 -#: gtk2_ardour/visual_time_axis.cc:387 -msgid "A track already exists with that name" -msgstr "Es existiert bereits eine Spur mit diesem Namen" +#: gtk2_ardour/marker_time_axis.cc:240 +msgid "3 seconds" +msgstr "3 Sekunden" -#: gtk2_ardour/route_time_axis.cc:1344 -msgid "New Copy" -msgstr "Neue Kopie" +#: gtk2_ardour/marker_time_axis.cc:245 +msgid "Duration (sec)" +msgstr "Dauer (Sek)" -#: gtk2_ardour/route_time_axis.cc:1346 -msgid "Clear Current" -msgstr "Ausgewählte zurücksetzen" +#: gtk2_ardour/marker_time_axis.cc:248 +msgid "Remove Marker" +msgstr "Marker entfernen" -#: gtk2_ardour/route_time_axis.cc:1349 -msgid "Select from all ..." -msgstr "Aus allen auswählen..." +#: gtk2_ardour/marker_time_axis.cc:250 +msgid "Marker" +msgstr "Marker" -#: gtk2_ardour/route_time_axis.cc:1554 -#: gtk2_ardour/editor.cc:1368 -#: gtk2_ardour/selection.cc:694 -#: gtk2_ardour/selection.cc:733 -msgid "programming error: " -msgstr "Programmierfehler:" +#: gtk2_ardour/marker_time_axis.cc:251 +msgid "Rename Track" +msgstr "Spur umbenennen" -#: gtk2_ardour/audio_time_axis.cc:214 -msgid "Fader" -msgstr "Fader" +#: gtk2_ardour/redirect_automation_time_axis.cc:95 +msgid "add automation event to " +msgstr "Automationspunkt einfügen für" -#: gtk2_ardour/audio_time_axis.cc:219 -msgid "Pan" -msgstr "Pan" +#: gtk2_ardour/export_session_dialog.cc:29 +msgid "Export to File" +msgstr "Als Audiodatei exportieren" -#: gtk2_ardour/audio_time_axis.cc:235 -msgid "Hide all crossfades" -msgstr "Alle Crossfades verbergen" +#: gtk2_ardour/new_session_dialog.cc:51 +msgid "Name :" +msgstr "Name :" -#: gtk2_ardour/audio_time_axis.cc:236 -msgid "Show all crossfades" -msgstr "Alle Crossfades zeigen" +#: gtk2_ardour/new_session_dialog.cc:55 +#: gtk2_ardour/new_session_dialog.cc:56 +#: gtk2_ardour/new_session_dialog.cc:57 +#: gtk2_ardour/new_session_dialog.cc:58 +msgid "channels" +msgstr "Kanäle" -#: gtk2_ardour/audio_time_axis.cc:244 -msgid "Show waveforms" -msgstr "Wellenformen zeigen" +#: gtk2_ardour/new_session_dialog.cc:76 +msgid "<b>Busses</b>" +msgstr "<b>Busse</b>" -#: gtk2_ardour/audio_time_axis.cc:254 -msgid "Traditional" -msgstr "Traditionell" +#: gtk2_ardour/new_session_dialog.cc:77 +msgid "<b>Inputs</b>" +msgstr "<b>Eingänge</b>" -#: gtk2_ardour/audio_time_axis.cc:258 -msgid "Rectified" -msgstr "Gleichgerichtet" +#: gtk2_ardour/new_session_dialog.cc:78 +msgid "<b>Outputs</b>" +msgstr "<b>Ausgänge</b>" -#: gtk2_ardour/audio_time_axis.cc:268 -#: gtk2_ardour/editor.cc:1334 -#: gtk2_ardour/editor.cc:1337 -#: gtk2_ardour/editor.cc:1356 -#: gtk2_ardour/editor.cc:1359 -msgid "Linear" -msgstr "Linear" +#: gtk2_ardour/new_session_dialog.cc:80 +msgid "Create Folder In :" +msgstr "Verzeichnis erstellen in:" -#: gtk2_ardour/audio_time_axis.cc:271 -msgid "Logarithmic" -msgstr "Logarithmisch" +#: gtk2_ardour/new_session_dialog.cc:82 +msgid "Template :" +msgstr "Vorlage :" -#: gtk2_ardour/audio_time_axis.cc:290 -msgid "Waveform" -msgstr "Wellenform" +#: gtk2_ardour/new_session_dialog.cc:84 +msgid "Create Monitor Bus" +msgstr "Monitor Bus erstellen" -#: gtk2_ardour/audio_time_axis.cc:362 -msgid "gain" -msgstr "Gain" +#: gtk2_ardour/new_session_dialog.cc:91 +msgid "Create Master Bus" +msgstr "Master Bus erstellen" -#: gtk2_ardour/audio_time_axis.cc:402 -msgid "pan" -msgstr "Pan" +#: gtk2_ardour/new_session_dialog.cc:93 +msgid "Automatically Connect to Physical Inputs" +msgstr "Eingänge automatisch mit Audioeingängen verbinden" + +#: gtk2_ardour/new_session_dialog.cc:94 +#: gtk2_ardour/new_session_dialog.cc:107 +msgid "Use only" +msgstr "Benutze nur" + +#: gtk2_ardour/new_session_dialog.cc:106 +msgid "Automatically Connect Outputs" +msgstr "Ausgänge automatisch verbinden" -#: gtk2_ardour/automation_line.cc:794 +#: gtk2_ardour/new_session_dialog.cc:115 +msgid "... to Master Bus" +msgstr "... mit Master Bus" + +#: gtk2_ardour/new_session_dialog.cc:116 +msgid "... to Physical Outputs" +msgstr "... mit Audioausgängen" + +#: gtk2_ardour/new_session_dialog.cc:122 +msgid "Advanced Options" +msgstr "Erweiterte Einstellungen" + +#: gtk2_ardour/new_session_dialog.cc:130 +msgid "Recent:" +msgstr "Zuletzt verwendet:" + +#: gtk2_ardour/new_session_dialog.cc:167 +msgid "Browse:" +msgstr "Durchsuchen:" + +#: gtk2_ardour/new_session_dialog.cc:379 +msgid "Session Control" +msgstr "Projektübersicht" + +#: gtk2_ardour/new_session_dialog.cc:391 +msgid "Recent Sessions" +msgstr "Zuletzt verwendete Projekte" + +#: gtk2_ardour/new_session_dialog.cc:419 +msgid "select template" +msgstr "Vorlage auswählen" + +#: gtk2_ardour/new_session_dialog.cc:425 +msgid "select session file" +msgstr "Projektdatei auswählen" + +#: gtk2_ardour/new_session_dialog.cc:434 +msgid "select directory" +msgstr "Verzeichnis auswählen" + +#: gtk2_ardour/new_session_dialog.cc:493 +msgid "Audio Setup" +msgstr "Audio-Einstellungen" + +#: gtk2_ardour/new_session_dialog.cc:517 +msgid "New Session" +msgstr "Neues Projekt" + +#: gtk2_ardour/new_session_dialog.cc:522 +msgid "Open Session" +msgstr "Projekt öffnen" + +#: gtk2_ardour/panner_ui.cc:57 +#: gtk2_ardour/panner_ui.cc:272 +msgid "link" +msgstr "link" + +#: gtk2_ardour/panner_ui.cc:70 +msgid "Pan automation mode" +msgstr "Pan-Automationsmodus" + +#: gtk2_ardour/panner_ui.cc:71 +msgid "Pan automation type" +msgstr "Pan-Automationstyp" + +#: gtk2_ardour/panner_ui.cc:81 +msgid "panning link control" +msgstr "Pan-Regler verbinden" + +#: gtk2_ardour/panner_ui.cc:83 +msgid "panning link direction" +msgstr "Richtung der Verbindung" + +#: gtk2_ardour/panner_ui.cc:275 +msgid "L" +msgstr "L" + +#: gtk2_ardour/panner_ui.cc:395 +#, c-format +msgid "panner for channel %zu" +msgstr "Pan-Regler für Kanal %zu" + +#: gtk2_ardour/panner_ui.cc:466 +msgid "Mute" +msgstr "Mute" + +#: gtk2_ardour/panner_ui.cc:474 +msgid "Bypass" +msgstr "Bypass" + +#: gtk2_ardour/panner_ui.cc:482 +msgid "Reset" +msgstr "Zurücksetzen" + +#: gtk2_ardour/panner_ui.cc:484 +msgid "Reset all" +msgstr "Alle zurücksetzen" + +#: gtk2_ardour/opts.cc:50 +msgid "Usage: " +msgstr "Aufruf:" + +#: gtk2_ardour/opts.cc:51 +msgid " -v, --version Show version information\n" +msgstr " -v, --version Versionsinformation ausgeben\n" + +#: gtk2_ardour/opts.cc:52 +msgid " -h, --help Print this message\n" +msgstr " -h, --help Diese Hinweise\n" + +#: gtk2_ardour/opts.cc:53 +msgid " -b, --bindings Print all possible keyboard binding names\n" +msgstr " -b, --bindings Alle möglichen Tastenzuweisungsnamen ausgeben\n" + +#: gtk2_ardour/opts.cc:54 +msgid " -c, --name name Use a specific jack client name, default is ardour\n" +msgstr " -c, --name name Benutze spezielle JACK-Clientkennung, Standard: ardour\n" + +#: gtk2_ardour/opts.cc:55 +msgid " -d, --disable-plugins Disable all plugins in an existing session\n" +msgstr "-d, --disable-plugins Alle Plugins eines bestehenden Projekts deaktivieren\n" + +#: gtk2_ardour/opts.cc:56 +msgid " -n, --show-splash Show splash screen\n" +msgstr " -n, --show-splash Zeige Splashscreen\n" + +#: gtk2_ardour/opts.cc:57 +msgid " -m, --menus file Use \"file\" for Ardour menus\n" +msgstr " -m, --menus file Benutze \"file\" für Ardour-Menüs\n" + +#: gtk2_ardour/opts.cc:58 +msgid " -N, --new session-name Create a new session from the command line\n" +msgstr " -N, --new session-name Erstelle neues Projekt aus der Kommandozeile\n" + +#: gtk2_ardour/opts.cc:59 +msgid " -O, --no-hw-optimizations Disable h/w specific optimizations\n" +msgstr " -O, --no-hw-optimizations Hardwarespezifische Optimierungen deaktivieren\n" + +#: gtk2_ardour/opts.cc:60 +msgid " -S, --sync\t Draw the gui synchronously \n" +msgstr " -S, --sync\t Zeichne die GUI synchron \n" + +#: gtk2_ardour/opts.cc:62 +msgid " -V, --novst Do not use VST support\n" +msgstr " -V, --novst VST-Unterstützung ausschalten\n" + +#: gtk2_ardour/opts.cc:64 +msgid " [session-name] Name of session to load\n" +msgstr " [session-name] Name des zu ladenden Projekts\n" + +#: gtk2_ardour/opts.cc:65 +msgid " -C, --curvetest filename Curve algorithm debugger\n" +msgstr " -C, --curvetest filename Kurvenalgorithmus debuggen\n" + +#: gtk2_ardour/opts.cc:66 +msgid " -k, --keybindings filename Name of key bindings to load (default is ~/.ardour2/ardour.bindings)\n" +msgstr " -k, --keybindings filename Dateiname für die Tastaturbelegungen (Standard: ~/.ardour2/ardour.bindings)\n" + +#: gtk2_ardour/ardour_ui_options.cc:228 +msgid "programming error: unknown solo model in ARDOUR_UI::set_solo_model: %1" +msgstr "Programmierfehler: unbekannte Solo-Einstellung in ARDOUR_UI::set_solo_model: %1" + +#: gtk2_ardour/ardour_ui_options.cc:261 +msgid "programming error: unknown remote model in ARDOUR_UI::set_remote_model: %1" +msgstr "Programmierfehler: unbekanntes Fernsteuerungsmodell in ARDOUR_UI::set_remote_model: %1" + +#: gtk2_ardour/ardour_ui_options.cc:295 +msgid "programming error: unknown monitor model in ARDOUR_UI::set_monitor_model: %1" +msgstr "Programmierfehler: unbekannte Monitoring-Einstellung in ARDOUR_UI::set_monitor_model: %1" + +#: gtk2_ardour/ardour_ui_options.cc:334 +msgid "programming error: unknown denormal model in ARDOUR_UI::set_denormal_model: %1" +msgstr "Programmierfehler: unknown denormal model in ARDOUR_UI::set_denormal_model: %1" + +#: gtk2_ardour/ardour_ui_options.cc:781 +msgid "programming error: unknown file header format passed to ARDOUR_UI::map_file_data_format: %1" +msgstr "Programmierfehler: unbekanntes Dateiheaderformat übergeben an ARDOUR_UI::map_file_data_format: %1" + +#: gtk2_ardour/ardour_ui_options.cc:817 +msgid "programming error: unknown file data format passed to ARDOUR_UI::map_file_data_format: %1" +msgstr "Programmierfehler: unbekanntes Dateiformat übergeben an ARDOUR_UI::map_file_data_format: %1" + +#: gtk2_ardour/ardour_ui_options.cc:1180 +msgid "ST" +msgstr "HT" + +#: gtk2_ardour/time_axis_view_item.cc:327 +msgid "new duration %1 frames is out of bounds for %2" +msgstr "Neue Dauer %1 Frames ist außerhalb des erlaubten Bereichs %2" + +#: gtk2_ardour/about.cc:201 +msgid "Copyright (C) 1999-2008 Paul Davis\n" +msgstr "Copyright (C) 1999-2008 Paul Davis\n" + +#: gtk2_ardour/about.cc:202 +msgid "" +"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" +msgstr "" +"Ardour wird Ihnen OHNE JEGLICHE GEWÄHRLEISTUNG zur Verfügung gestellt.\n" +"Dies ist freie Software und Sie dürfen sie gerne weiterverbreiten,\n" +"solange Sie sich an die Bedingungen, die in der Datei COPYING aufgeführt sind halten.\n" + +#: gtk2_ardour/about.cc:207 +msgid "visit http://www.ardour.org/" +msgstr "besuchen Sie http://www.ardour.org" + +#: gtk2_ardour/about.cc:208 +msgid "" +"%1\n" +"(built from revision %2)" +msgstr "" +"%1\n" +"(Aus Revision %2 erstellt)" + +#: gtk2_ardour/pan_automation_time_axis.cc:69 +msgid "You need to select which line to edit" +msgstr "Sie müssen die entsprechende Automationslinie auswählen" + +#: gtk2_ardour/pan_automation_time_axis.cc:90 +msgid "add pan automation event" +msgstr "Pan-Automationspunkt einfügen" + +#: gtk2_ardour/automation_line.cc:610 +msgid "Ignoring illegal points on AutomationLine \"%1\"" +msgstr "Unzulässige Automationspunkte werden ignoriert: \"%1\"" + +#: gtk2_ardour/automation_line.cc:800 msgid "automation event move" msgstr "Automationspunkt bewegen" -#: gtk2_ardour/automation_line.cc:796 +#: gtk2_ardour/automation_line.cc:802 msgid "automation range drag" msgstr "Automationsbereich bewegen" -#: gtk2_ardour/automation_line.cc:1021 -#: gtk2_ardour/region_gain_line.cc:83 +#: gtk2_ardour/automation_line.cc:1027 msgid "remove control point" msgstr "Automationspunkt entfernen" -#: gtk2_ardour/automation_time_axis.cc:56 -#: gtk2_ardour/editor_ops.cc:3404 -msgid "clear" -msgstr "Leeren" +#: gtk2_ardour/editor_route_list.cc:369 +#: gtk2_ardour/mixer_ui.cc:917 +msgid "Show All" +msgstr "Alles zeigen" -#: gtk2_ardour/automation_time_axis.cc:97 -msgid "track height" -msgstr "Anzeigehöhe" +#: gtk2_ardour/editor_route_list.cc:370 +#: gtk2_ardour/mixer_ui.cc:918 +msgid "Hide All" +msgstr "Alle verbergen" -#: gtk2_ardour/automation_time_axis.cc:98 -msgid "automation state" -msgstr "Automationsmodus" +#: gtk2_ardour/editor_route_list.cc:371 +#: gtk2_ardour/mixer_ui.cc:919 +msgid "Show All Audio Tracks" +msgstr "Zeige alle Audio-Spuren" -#: gtk2_ardour/automation_time_axis.cc:99 -msgid "clear track" -msgstr "Spur zurücksetzen" +#: gtk2_ardour/editor_route_list.cc:372 +#: gtk2_ardour/mixer_ui.cc:920 +msgid "Hide All Audio Tracks" +msgstr "Verberge alle Audio-Spuren" -#: gtk2_ardour/automation_time_axis.cc:100 -msgid "hide track" -msgstr "Diese Spur verbergen" +#: gtk2_ardour/editor_route_list.cc:373 +#: gtk2_ardour/mixer_ui.cc:921 +msgid "Show All Audio Busses" +msgstr "Zeige alle Audio-Busse" -#: gtk2_ardour/automation_time_axis.cc:207 -#: gtk2_ardour/automation_time_axis.cc:236 -#: gtk2_ardour/automation_time_axis.cc:461 -#: gtk2_ardour/gain_meter.cc:160 -#: gtk2_ardour/generic_pluginui.cc:332 -#: gtk2_ardour/generic_pluginui.cc:579 -#: gtk2_ardour/panner_ui.cc:88 -msgid "Manual" -msgstr "Manuell" +#: gtk2_ardour/editor_route_list.cc:374 +#: gtk2_ardour/mixer_ui.cc:922 +msgid "Hide All Audio Busses" +msgstr "Verberge alle Audio-Busse" -#: gtk2_ardour/automation_time_axis.cc:209 -#: gtk2_ardour/automation_time_axis.cc:247 -#: gtk2_ardour/automation_time_axis.cc:465 -#: gtk2_ardour/editor.cc:1931 -#: gtk2_ardour/editor.cc:2014 -#: gtk2_ardour/gain_meter.cc:162 -#: gtk2_ardour/generic_pluginui.cc:335 -#: gtk2_ardour/generic_pluginui.cc:581 -#: gtk2_ardour/panner_ui.cc:90 -msgid "Play" -msgstr "Wiedergabe" +#: gtk2_ardour/editor_timefx.cc:71 +msgid "Quick but Ugly" +msgstr "Quick but Ugly" -#: gtk2_ardour/automation_time_axis.cc:211 -#: gtk2_ardour/automation_time_axis.cc:258 -#: gtk2_ardour/automation_time_axis.cc:469 -#: gtk2_ardour/gain_meter.cc:164 -#: gtk2_ardour/generic_pluginui.cc:338 -#: gtk2_ardour/generic_pluginui.cc:583 -#: gtk2_ardour/panner_ui.cc:92 -msgid "Write" -msgstr "Write" +#: gtk2_ardour/editor_timefx.cc:72 +msgid "Skip Anti-aliasing" +msgstr "Überspringe Anti-Aliasing" -#: gtk2_ardour/automation_time_axis.cc:213 -#: gtk2_ardour/automation_time_axis.cc:269 -#: gtk2_ardour/automation_time_axis.cc:473 -#: gtk2_ardour/gain_meter.cc:166 -#: gtk2_ardour/generic_pluginui.cc:341 -#: gtk2_ardour/generic_pluginui.cc:585 -#: gtk2_ardour/panner_ui.cc:94 -msgid "Touch" -msgstr "Touch" +#: gtk2_ardour/editor_timefx.cc:73 +msgid "Contents:" +msgstr "Inhalt:" -#: gtk2_ardour/automation_time_axis.cc:280 -#: gtk2_ardour/generic_pluginui.cc:344 -msgid "???" -msgstr "???" +#: gtk2_ardour/editor_timefx.cc:74 +msgid "Strict Linear" +msgstr "Linear" -#: gtk2_ardour/automation_time_axis.cc:294 -msgid "clear automation" -msgstr "Automation zurücksetzen" +#: gtk2_ardour/editor_timefx.cc:82 +msgid "Pitch Shift" +msgstr "Pitch-Shift" -#: gtk2_ardour/automation_time_axis.cc:452 -#: gtk2_ardour/editor_actions.cc:461 -#: gtk2_ardour/editor_markers.cc:588 -msgid "Hide" -msgstr "Verbergen" +#: gtk2_ardour/editor_timefx.cc:84 +msgid "Time Stretch" +msgstr "Time-Stretch" -#: gtk2_ardour/automation_time_axis.cc:454 -#: gtk2_ardour/crossfade_edit.cc:77 -#: gtk2_ardour/redirect_box.cc:1180 -#: gtk2_ardour/connection_editor.cc:56 -msgid "Clear" -msgstr "Leeren" +#: gtk2_ardour/editor_timefx.cc:100 +msgid "Octaves" +msgstr "Oktaven" -#: gtk2_ardour/automation_time_axis.cc:477 -msgid "State" -msgstr "Automationssmodus" +#: gtk2_ardour/editor_timefx.cc:104 +msgid "Semitones (12TET)" +msgstr "Halbtöne" -#: gtk2_ardour/canvas-imageframe.c:104 -msgid "pixbuf" -msgstr "" +#: gtk2_ardour/editor_timefx.cc:108 +msgid "Cents" +msgstr "Cents" -#: gtk2_ardour/canvas-imageframe.c:105 -msgid "the pixbuf" -msgstr "" +#: gtk2_ardour/editor_timefx.cc:114 +msgid "Shift" +msgstr "Shift" -#: gtk2_ardour/canvas-imageframe.c:110 -msgid "x" -msgstr "" +#: gtk2_ardour/editor_timefx.cc:149 +msgid "Stretch/Shrink" +msgstr "Stretch/Shrink" -#: gtk2_ardour/canvas-imageframe.c:111 -#: gtk2_ardour/canvas-simpleline.c:111 -#: gtk2_ardour/canvas-simplerect.c:107 -msgid "x coordinate of upper left corner of rect" -msgstr "" +#: gtk2_ardour/editor_timefx.cc:324 +msgid "timefx cannot be started - thread creation error" +msgstr "Time-Stretch konnte nicht gestartet werden - Fehler beim erstellen des Threads" -#: gtk2_ardour/canvas-imageframe.c:120 -msgid "y" -msgstr "" +#: gtk2_ardour/editor_timefx.cc:405 +msgid "pitch shift" +msgstr "pitch-shift" -#: gtk2_ardour/canvas-imageframe.c:121 -#: gtk2_ardour/canvas-simpleline.c:121 -#: gtk2_ardour/canvas-simplerect.c:117 -msgid "y coordinate of upper left corner of rect " -msgstr "" +#: gtk2_ardour/editor_timefx.cc:405 +msgid "time stretch" +msgstr "Time-Stretch" -#: gtk2_ardour/canvas-imageframe.c:129 -msgid "width" -msgstr "" +#: gtk2_ardour/io_selector.cc:59 +#: gtk2_ardour/io_selector.cc:749 +msgid "OK" +msgstr "OK" -#: gtk2_ardour/canvas-imageframe.c:130 -msgid "the width" -msgstr "" +#: gtk2_ardour/io_selector.cc:61 +#: gtk2_ardour/io_selector.cc:751 +msgid "Rescan" +msgstr "Auffrischen" -#: gtk2_ardour/canvas-imageframe.c:139 -msgid "drawwidth" -msgstr "" +#: gtk2_ardour/io_selector.cc:69 +msgid "%1 input" +msgstr "%1 Eingang" -#: gtk2_ardour/canvas-imageframe.c:140 -msgid "drawn width" -msgstr "" +#: gtk2_ardour/io_selector.cc:71 +msgid "%1 output" +msgstr "%1 Ausgang" -#: gtk2_ardour/canvas-imageframe.c:148 -msgid "height" -msgstr "" +#: gtk2_ardour/io_selector.cc:143 +msgid "Inputs" +msgstr "Eingänge" -#: gtk2_ardour/canvas-imageframe.c:149 -msgid "the height" -msgstr "" +#: gtk2_ardour/io_selector.cc:143 +msgid "Outputs" +msgstr "Ausgänge" -#: gtk2_ardour/canvas-imageframe.c:157 -msgid "anchor" -msgstr "" +#: gtk2_ardour/io_selector.cc:144 +msgid "Add Input" +msgstr "Hinzufügen" -#: gtk2_ardour/canvas-imageframe.c:158 -msgid "the anchor" -msgstr "" +#: gtk2_ardour/io_selector.cc:144 +msgid "Add Output" +msgstr "Hinzufügen" -#: gtk2_ardour/canvas-simpleline.c:110 -#: gtk2_ardour/canvas-simplerect.c:106 -msgid "x1" -msgstr "" +#: gtk2_ardour/io_selector.cc:145 +msgid "Remove Input" +msgstr "Entfernen" -#: gtk2_ardour/canvas-simpleline.c:120 -#: gtk2_ardour/canvas-simplerect.c:116 -msgid "y1" -msgstr "" +#: gtk2_ardour/io_selector.cc:145 +msgid "Remove Output" +msgstr "Entfernen" -#: gtk2_ardour/canvas-simpleline.c:131 -#: gtk2_ardour/canvas-simplerect.c:127 -msgid "x2" -msgstr "" +#: gtk2_ardour/io_selector.cc:146 +msgid "Disconnect All" +msgstr "Alle trennen" -#: gtk2_ardour/canvas-simpleline.c:132 -#: gtk2_ardour/canvas-simplerect.c:128 -msgid "x coordinate of lower right corner of rect" -msgstr "" +#: gtk2_ardour/io_selector.cc:160 +msgid "Available connections" +msgstr "Verfügbare Verbindungen" -#: gtk2_ardour/canvas-simpleline.c:141 -#: gtk2_ardour/canvas-simplerect.c:137 -msgid "y2" -msgstr "" +#: gtk2_ardour/io_selector.cc:550 +#: gtk2_ardour/io_selector.cc:561 +msgid "There are no more JACK ports available." +msgstr "Es sind keine weiteren JACK Ports verfügbar." -#: gtk2_ardour/canvas-simpleline.c:142 -#: gtk2_ardour/canvas-simplerect.c:138 -msgid "y coordinate of lower right corner of rect " -msgstr "" +#: gtk2_ardour/io_selector.cc:755 +msgid "ardour: " +msgstr "ardour: " -#: gtk2_ardour/canvas-simpleline.c:150 -msgid "color rgba" -msgstr "" +#: gtk2_ardour/editor_selection_list.cc:180 +msgid "Name for Chunk:" +msgstr "Name für Abschnitt:" -#: gtk2_ardour/canvas-simpleline.c:151 -msgid "color of line" -msgstr "" +#: gtk2_ardour/editor_selection_list.cc:183 +msgid "Create Chunk" +msgstr "Abschnitt erzeugen" -#: gtk2_ardour/canvas-simplerect.c:148 -msgid "outline pixels" -msgstr "" +#: gtk2_ardour/editor_selection_list.cc:183 +msgid "Forget it" +msgstr "Abbrechen" -#: gtk2_ardour/canvas-simplerect.c:149 -msgid "width in pixels of outline" -msgstr "" +#: gtk2_ardour/editor_selection_list.cc:206 +msgid "No selectable material found in the currently selected time range" +msgstr "Konnte im ausgewählten Bereich kein auswählbares Material finden" -#: gtk2_ardour/canvas-simplerect.c:159 -msgid "outline what" +#: gtk2_ardour/time_axis_view.cc:626 +msgid "Largest" +msgstr "Am größten" + +#: gtk2_ardour/time_axis_view.cc:627 +msgid "Large" +msgstr "Groß" + +#: gtk2_ardour/time_axis_view.cc:628 +msgid "Larger" +msgstr "Größer" + +#: gtk2_ardour/time_axis_view.cc:629 +msgid "Normal" +msgstr "Normal" + +#: gtk2_ardour/time_axis_view.cc:630 +msgid "Smaller" +msgstr "Kleiner" + +#: gtk2_ardour/time_axis_view.cc:631 +msgid "Small" +msgstr "Klein" + +#: gtk2_ardour/time_axis_view.cc:971 +msgid "unknown track height name \"%1\" in XML GUI information" +msgstr "Unbekannte Spurhöhe \"%1\" in der XML GUI Information" + +#: gtk2_ardour/redirect_box.cc:239 +msgid "New send" +msgstr "Neuer Send" + +#: gtk2_ardour/redirect_box.cc:240 +msgid "Show send controls" +msgstr "Zeige Send-Steuerung" + +#: gtk2_ardour/redirect_box.cc:422 +#: gtk2_ardour/redirect_box.cc:725 +msgid "ardour: weird plugin dialog" +msgstr "ardour: Merkwürdiger Plugin-Dialog" + +#: gtk2_ardour/redirect_box.cc:429 +msgid "" +"You attempted to add a plugin (%1).\n" +"The plugin has %2 inputs\n" +"but at the insertion point, there are\n" +"%3 active signal streams.\n" +"\n" +"This makes no sense - you are throwing away\n" +"part of the signal." msgstr "" +"Sie möchten ein Plugin hinzufügen (%1).\n" +"Dieses Plugin besitzt %2 Eingänge,\n" +"doch an dieser Position existieren\n" +"%3 aktive Signale.\n" +"\n" +"Das ist nicht möglich - es würden Teile\n" +"des Signals fehlen." -#: gtk2_ardour/canvas-simplerect.c:160 -msgid "which boundaries to outline (mask)" +#: gtk2_ardour/redirect_box.cc:441 +msgid "" +"You attempted to add a plugin (%1).\n" +"The plugin has %2 inputs\n" +"but at the insertion point there are\n" +"only %3 active signal streams.\n" +"\n" +"This makes no sense - unless the plugin supports\n" +"side-chain inputs. A future version of Ardour will\n" +"support this type of configuration." msgstr "" +"Sie möchten ein Plugin hinzufügen (%1).\n" +"Dieses Plugin besitzt %2 Eingänge,\n" +"doch an dieser Position existieren\n" +"nur %3 aktive Signale.\n" +"\n" +"Das ist nicht möglich - außer, wenn dieses Plugin\n" +"Side-Chain-Eingänge unterstützt. Dies wird in einer\n" +"der nächsten Versionen von Ardour möglich sein." -#: gtk2_ardour/canvas-simplerect.c:171 -msgid "fill" +#: gtk2_ardour/redirect_box.cc:454 +msgid "" +"You attempted to add a plugin (%1).\n" +"\n" +"The I/O configuration doesn't make sense:\n" +"\n" +"The plugin has %2 inputs and %3 outputs.\n" +"The track/bus has %4 inputs and %5 outputs.\n" +"The insertion point, has %6 active signals.\n" +"\n" +"Ardour does not understand what to do in such situations.\n" msgstr "" +"Sie möchten ein Plugin hinzufügen (%1).\n" +"\n" +"Die Ein-/Ausgangskonfiguration ist aber nicht möglich:\n" +"\n" +"Das Plugin besitzt %2 Eingänge und %3 Ausgänge.\n" +"Diese Spur besitzt %4 Eingänge und %5 Ausgänge.\n" +"An dieser Position existieren %6 aktive Signale.\n" +"\n" +"Ardour kann mit dieser Situation nicht umgehen.\n" -#: gtk2_ardour/canvas-simplerect.c:172 -msgid "fill rectangle" +#: gtk2_ardour/redirect_box.cc:503 +msgid "Cannot set up new send: %1" +msgstr "Kann keinen neuen Send erstellen: %1" + +#: gtk2_ardour/redirect_box.cc:559 +msgid "Pre-fader inserts, sends & plugins:" +msgstr "Pre-Fader Inserts, Sends & Plugins:" + +#: gtk2_ardour/redirect_box.cc:562 +msgid "Post-fader inserts, sends & plugins:" +msgstr "Post-Fader Inserts, Sends & Plugins:" + +#: gtk2_ardour/redirect_box.cc:728 +msgid "" +"You cannot reorder this set of redirects\n" +"in that way because the inputs and\n" +"outputs do not work correctly." msgstr "" +"Sie können diese Gruppe von Redirects\n" +"nicht auf diese Weise verändern, denn\n" +"die Ein-/Ausgänge arbeiten ncht korrekt." -#: gtk2_ardour/canvas-simplerect.c:179 -msgid "draw" +#: gtk2_ardour/redirect_box.cc:882 +msgid "rename redirect" +msgstr "Redirect umbenennen" + +#: gtk2_ardour/redirect_box.cc:958 +#: gtk2_ardour/redirect_box.cc:1007 +msgid "" +"Copying the set of redirects on the clipboard failed,\n" +"probably because the I/O configuration of the plugins\n" +"could not match the configuration of this track." msgstr "" +"Konnte diese Gruppe von Redirects nicht in die\n" +"Zwischenablage kopieren. Wahrscheinlich passt die\n" +"Ein-/Ausgangskonfiguration des Plugins nicht zu dieser Spur." -#: gtk2_ardour/canvas-simplerect.c:180 -msgid "draw rectangle" +#: gtk2_ardour/redirect_box.cc:1030 +msgid "" +"Do you really want to remove all pre-fader redirects from this track?\n" +"(this cannot be undone)" msgstr "" +"Wollen Sie wirklich alle Pre-Fader-Redirects von dieser Spur entfernen?\n" +"(Dies kann nicht rückgängig gemacht werden)" -#: gtk2_ardour/canvas-simplerect.c:188 -msgid "outline color rgba" +#: gtk2_ardour/redirect_box.cc:1033 +msgid "" +"Do you really want to remove all post-fader redirects from this track?\n" +"(this cannot be undone)" msgstr "" +"Wollen Sie wirklich alle Post-Fader-Redirects von dieser Spur entfernen?\n" +"(Dies kann nicht rückgängig gemacht werden)" -#: gtk2_ardour/canvas-simplerect.c:189 -msgid "color of outline" +#: gtk2_ardour/redirect_box.cc:1038 +msgid "" +"Do you really want to remove all pre-fader redirects from this bus?\n" +"(this cannot be undone)" msgstr "" +"Wollen Sie wirklich alle Pre-Fader-Redirects von diesem Bus entfernen?\n" +"(Dies kann nicht rückgängig gemacht werden)" -#: gtk2_ardour/canvas-simplerect.c:199 -msgid "fill color rgba" +#: gtk2_ardour/redirect_box.cc:1041 +msgid "" +"Do you really want to remove all post-fader redirects from this bus?\n" +"(this cannot be undone)" msgstr "" +"Wollen Sie wirklich alle Post-Fader-Redirects von diesem Bus entfernen?\n" +"(Dies kann nicht rückgängig gemacht werden)" -#: gtk2_ardour/canvas-simplerect.c:200 -msgid "color of fill" +#: gtk2_ardour/redirect_box.cc:1047 +msgid "Yes, remove them all" +msgstr "Ja, alle löschen" + +#: gtk2_ardour/redirect_box.cc:1145 +msgid "Not connected to JACK - no I/O changes are possible" +msgstr "Nicht mit Jack verbunden - es sind keine Änderungen an Ein-/Ausgängen möglich" + +#: gtk2_ardour/redirect_box.cc:1194 +msgid "New Plugin" +msgstr "Plugin einfügen" + +#: gtk2_ardour/redirect_box.cc:1196 +msgid "New Insert" +msgstr "Insert einfügen" + +#: gtk2_ardour/redirect_box.cc:1198 +msgid "New Send ..." +msgstr "Send einfügen..." + +#: gtk2_ardour/redirect_box.cc:1204 +msgid "Cut" +msgstr "Ausschneiden" + +#: gtk2_ardour/redirect_box.cc:1206 +msgid "Copy" +msgstr "Kopieren" + +#: gtk2_ardour/redirect_box.cc:1209 +msgid "Delete" +msgstr "Löschen" + +#: gtk2_ardour/redirect_box.cc:1212 +msgid "Paste" +msgstr "Einfügen" + +#: gtk2_ardour/redirect_box.cc:1215 +msgid "Select All" +msgstr "Alles auswählen" + +#: gtk2_ardour/redirect_box.cc:1216 +msgid "Deselect All" +msgstr "Nichts auswählen" + +#: gtk2_ardour/redirect_box.cc:1219 +msgid "Activate" +msgstr "Aktivieren" + +#: gtk2_ardour/redirect_box.cc:1221 +msgid "Deactivate" +msgstr "Deaktivieren" + +#: gtk2_ardour/redirect_box.cc:1223 +msgid "Activate all" +msgstr "Alle aktivieren" + +#: gtk2_ardour/redirect_box.cc:1224 +msgid "Deactivate all" +msgstr "Alle deaktivieren" + +#: gtk2_ardour/redirect_box.cc:1227 +msgid "Edit" +msgstr "Bearbeiten" + +#: gtk2_ardour/redirect_box.cc:1417 +msgid "%1: %2 (by %3)" +msgstr "%1: %2 (by %3)" + +#: gtk2_ardour/mixer_ui.cc:88 +msgid "Strips" +msgstr "Spur" + +#: gtk2_ardour/mixer_ui.cc:114 +msgid "Group" +msgstr "Gruppe" + +#: gtk2_ardour/mixer_ui.cc:115 +msgid "Active" +msgstr "Aktiv" + +#: gtk2_ardour/mixer_ui.cc:210 +#: gtk2_ardour/mixer_ui.cc:440 +#: gtk2_ardour/mixer_ui.cc:472 +msgid "Mixer" +msgstr "Mixer" + +#: gtk2_ardour/mixer_ui.cc:941 +msgid "track display list item for renamed strip not found!" +msgstr "Konnte Bezeichnung für umbenannten Mixerkanal nicht in der Spurliste finden!" + +#: gtk2_ardour/utils.cc:138 +#: gtk2_ardour/utils.cc:181 +msgid "bad XPM header %1" +msgstr "Fehlerhafter XPM Header %1" + +#: gtk2_ardour/utils.cc:320 +msgid "missing RGBA style for \"%1\"" +msgstr "Fehlender RGBA Style für \"%1\"" + +#: gtk2_ardour/utils.cc:343 +msgid "no style found for %1, using red" +msgstr "Kein Stil für %1 gefunden, verwende rot" + +#: gtk2_ardour/utils.cc:382 +msgid "unknown style attribute %1 requested for color; using \"red\"" +msgstr "Unbekanntes Stil-Attribute für Farbe verlagt; stattdessen wir lieber \"rot\" verwendet" + +#: gtk2_ardour/utils.cc:583 +msgid "cannot find icon image for %1" +msgstr "Konnte Icon-Bild für %1 nicht finden" + +#: gtk2_ardour/visual_time_axis.cc:72 +msgid "v" +msgstr "v" + +#: gtk2_ardour/visual_time_axis.cc:91 +msgid "Display Height" +msgstr "Anzeigehöhe" + +#: gtk2_ardour/visual_time_axis.cc:92 +msgid "Visual options" +msgstr "Visuelle optionen" + +#: gtk2_ardour/visual_time_axis.cc:93 +msgid "Hide this track" +msgstr "Diese Spur verbergen" + +#: gtk2_ardour/visual_time_axis.cc:227 +msgid "ardour: color selection" +msgstr "ardour: Farbe auswählen" + +#: gtk2_ardour/visual_time_axis.cc:266 +msgid "" +"Do you really want to remove track \"%1\" ?\n" +"(cannot be undone)" msgstr "" +"Wollen Sie wirklich die Spur \"%1\" löschen?\n" +"(Kann nicht rückgängig gemacht werden!)" + +#: gtk2_ardour/visual_time_axis.cc:268 +msgid "No, do nothing." +msgstr "Nein, nichts machen." + +#: gtk2_ardour/visual_time_axis.cc:269 +msgid "Yes, remove it." +msgstr "Ja, entfernen." + +#: gtk2_ardour/visual_time_axis.cc:315 +msgid "new name: " +msgstr "Neuer Name: " + +#: gtk2_ardour/visual_time_axis.cc:326 +#: gtk2_ardour/visual_time_axis.cc:373 +msgid "A track already exists with that name" +msgstr "Es existiert bereits eine Spur mit diesem Namen" #: gtk2_ardour/crossfade_edit.cc:74 msgid "ardour: x-fade edit" msgstr "ardour: Crossfade Editor" -#: gtk2_ardour/crossfade_edit.cc:78 -#: gtk2_ardour/panner_ui.cc:420 -msgid "Reset" -msgstr "Zurücksetzen" - #: gtk2_ardour/crossfade_edit.cc:79 msgid "Fade" msgstr "Fade" @@ -2378,794 +2628,676 @@ msgid "Fade Out" msgstr "Fade Out" #: gtk2_ardour/crossfade_edit.cc:171 -#: gtk2_ardour/editor.cc:1723 -#: gtk2_ardour/editor_actions.cc:459 -#: gtk2_ardour/option_editor.cc:148 +#: gtk2_ardour/editor.cc:1835 msgid "Audition" msgstr "Vorhören" -#: gtk2_ardour/editor.cc:109 -#: gtk2_ardour/editor.cc:3214 -msgid "CD Frames" -msgstr "CD-Frames" - -#: gtk2_ardour/editor.cc:110 -#: gtk2_ardour/editor.cc:3216 -msgid "SMPTE Frames" -msgstr "SMPTE-Frames" - -#: gtk2_ardour/editor.cc:111 -#: gtk2_ardour/editor.cc:2748 -#: gtk2_ardour/editor.cc:3218 -msgid "SMPTE Seconds" -msgstr "SMPTE-Sekunden" - -#: gtk2_ardour/editor.cc:112 -#: gtk2_ardour/editor.cc:3220 -msgid "SMPTE Minutes" -msgstr "SMPTE-Minuten" - -#: gtk2_ardour/editor.cc:113 -#: gtk2_ardour/editor.cc:3222 -msgid "Seconds" -msgstr "Sekunden" - -#: gtk2_ardour/editor.cc:114 -#: gtk2_ardour/editor.cc:3224 -msgid "Minutes" -msgstr "Minuten" - -#: gtk2_ardour/editor.cc:115 -#: gtk2_ardour/editor.cc:3198 -msgid "Beats/32" -msgstr "Schläge / 32" - -#: gtk2_ardour/editor.cc:116 -#: gtk2_ardour/editor.cc:3196 -msgid "Beats/16" -msgstr "Schläge / 16" - -#: gtk2_ardour/editor.cc:117 -#: gtk2_ardour/editor.cc:3194 -msgid "Beats/8" -msgstr "Schläge / 8" - -#: gtk2_ardour/editor.cc:118 -#: gtk2_ardour/editor.cc:3192 -msgid "Beats/4" -msgstr "Schläge / 4" - -#: gtk2_ardour/editor.cc:119 -#: gtk2_ardour/editor.cc:3190 -msgid "Beats/3" -msgstr "Schläge / 3" - -#: gtk2_ardour/editor.cc:120 -#: gtk2_ardour/editor.cc:3200 -msgid "Beats" -msgstr "Schläge" - -#: gtk2_ardour/editor.cc:121 -#: gtk2_ardour/editor.cc:3202 -msgid "Bars" -msgstr "Takte" - -#: gtk2_ardour/editor.cc:122 -#: gtk2_ardour/editor.cc:3204 -msgid "Marks" -msgstr "Marker" - -#: gtk2_ardour/editor.cc:123 -#: gtk2_ardour/editor.cc:3206 -msgid "Region starts" -msgstr "Regionen-Anfang" - -#: gtk2_ardour/editor.cc:124 -#: gtk2_ardour/editor.cc:3208 -msgid "Region ends" -msgstr "Regionen-Ende" - -#: gtk2_ardour/editor.cc:125 -#: gtk2_ardour/editor.cc:3212 -msgid "Region syncs" -msgstr "Regionen-Sync" - -#: gtk2_ardour/editor.cc:126 -#: gtk2_ardour/editor.cc:3210 -msgid "Region bounds" -msgstr "Regionen-Grenzen" - -#: gtk2_ardour/editor.cc:131 -#: gtk2_ardour/editor.cc:3240 -#: gtk2_ardour/editor_actions.cc:421 -msgid "No Grid" -msgstr "Raster aus" - -#: gtk2_ardour/editor.cc:132 -#: gtk2_ardour/editor.cc:3242 -#: gtk2_ardour/editor_actions.cc:422 -msgid "Grid" -msgstr "Einrasten" - -#: gtk2_ardour/editor.cc:133 -#: gtk2_ardour/editor.cc:3244 -#: gtk2_ardour/editor_actions.cc:423 -msgid "Magnetic" -msgstr "Magnetisch" - -#: gtk2_ardour/editor.cc:138 -#: gtk2_ardour/editor.cc:148 -#: gtk2_ardour/editor.cc:2734 -#: gtk2_ardour/editor.cc:2760 -#: gtk2_ardour/editor.cc:3283 -#: gtk2_ardour/editor.cc:3308 -#: gtk2_ardour/editor_actions.cc:406 -msgid "Playhead" -msgstr "Positionszeiger" - -#: gtk2_ardour/editor.cc:139 -#: gtk2_ardour/editor.cc:3281 -#: gtk2_ardour/editor_actions.cc:408 -#: gtk2_ardour/marker_time_axis.cc:255 -msgid "Marker" -msgstr "Marker" - -#: gtk2_ardour/editor.cc:140 -#: gtk2_ardour/editor.cc:149 -#: gtk2_ardour/editor.cc:3310 -#: gtk2_ardour/editor_actions.cc:407 -msgid "Mouse" -msgstr "Maus" - -#: gtk2_ardour/editor.cc:145 -#: gtk2_ardour/editor.cc:3302 -#: gtk2_ardour/export_dialog.cc:142 -#: gtk2_ardour/export_dialog.cc:158 -#: gtk2_ardour/export_dialog.cc:1131 -#: gtk2_ardour/export_dialog.cc:1135 -msgid "Left" -msgstr "Links" - -#: gtk2_ardour/editor.cc:146 -#: gtk2_ardour/editor.cc:3304 -#: gtk2_ardour/export_dialog.cc:143 -#: gtk2_ardour/export_dialog.cc:159 -msgid "Right" -msgstr "Rechts" - -#: gtk2_ardour/editor.cc:147 -#: gtk2_ardour/editor.cc:3306 -msgid "Center" -msgstr "Mitte" - -#: gtk2_ardour/editor.cc:150 -#: gtk2_ardour/editor.cc:3312 -msgid "Edit Point" -msgstr "Arbeitspunkt" +#: gtk2_ardour/midi_port_dialog.cc:22 +msgid "Port name" +msgstr "Port Name" -#: gtk2_ardour/editor.cc:177 +#: gtk2_ardour/editor.cc:202 msgid "Mins:Secs" msgstr "Min:Sek" -#: gtk2_ardour/editor.cc:181 -#: gtk2_ardour/editor_rulers.cc:436 +#: gtk2_ardour/editor.cc:203 +msgid "Bars:Beats" +msgstr "Takte:Schläge" + +#: gtk2_ardour/editor.cc:204 +msgid "Timecode" +msgstr "Timecode" + +#: gtk2_ardour/editor.cc:206 msgid "Tempo" msgstr "Tempo" -#: gtk2_ardour/editor.cc:182 -#: gtk2_ardour/editor_rulers.cc:430 +#: gtk2_ardour/editor.cc:207 msgid "Meter" msgstr "Taktart" -#: gtk2_ardour/editor.cc:183 -#: gtk2_ardour/editor_rulers.cc:442 +#: gtk2_ardour/editor.cc:208 msgid "Location Markers" msgstr "Positionsmarker" -#: gtk2_ardour/editor.cc:184 -#: gtk2_ardour/editor_rulers.cc:449 +#: gtk2_ardour/editor.cc:209 msgid "Range Markers" msgstr "Bereiche" -#: gtk2_ardour/editor.cc:185 -#: gtk2_ardour/editor_rulers.cc:462 +#: gtk2_ardour/editor.cc:210 msgid "Loop/Punch Ranges" msgstr "Schleifen/Punch-Bereiche" -#: gtk2_ardour/editor.cc:186 -#: gtk2_ardour/editor_rulers.cc:456 +#: gtk2_ardour/editor.cc:211 msgid "CD Markers" msgstr "CD-Marker" -#: gtk2_ardour/editor.cc:204 +#: gtk2_ardour/editor.cc:228 msgid "mode" msgstr "Modus" -#: gtk2_ardour/editor.cc:205 +#: gtk2_ardour/editor.cc:229 msgid "automation" msgstr "Automation" -#: gtk2_ardour/editor.cc:476 -#: gtk2_ardour/editor.cc:503 -#: gtk2_ardour/editor_actions.cc:84 -#: gtk2_ardour/mixer_ui.cc:90 -#: gtk2_ardour/mixer_ui.cc:117 -#: gtk2_ardour/analysis_window.cc:63 -msgid "Show" -msgstr "Anzeigen" - -#: gtk2_ardour/editor.cc:477 -#: gtk2_ardour/editor.cc:501 +#: gtk2_ardour/editor.cc:513 +#: gtk2_ardour/editor.cc:537 msgid "Name" msgstr "Name" -#: gtk2_ardour/editor.cc:619 -#: gtk2_ardour/editor.cc:661 +#: gtk2_ardour/editor.cc:616 +#: gtk2_ardour/editor.cc:687 +msgid "Regions" +msgstr "Regionen" + +#: gtk2_ardour/editor.cc:659 +#: gtk2_ardour/editor.cc:701 msgid "Chunks" msgstr "Teile" -#: gtk2_ardour/editor.cc:650 +#: gtk2_ardour/editor.cc:690 msgid "Tracks/Busses" msgstr "Spuren/Busse" -#: gtk2_ardour/editor.cc:653 +#: gtk2_ardour/editor.cc:693 msgid "Snapshots" msgstr "Schnappschüsse" -#: gtk2_ardour/editor.cc:656 +#: gtk2_ardour/editor.cc:696 msgid "Edit Groups" msgstr "Bearbeitungsgruppen" -#: gtk2_ardour/editor.cc:720 +#: gtk2_ardour/editor.cc:759 msgid "Nudge Region/Selection Forwards" msgstr "Region/Auswahl schrittweise nach vorne" -#: gtk2_ardour/editor.cc:721 +#: gtk2_ardour/editor.cc:760 msgid "Nudge Region/Selection Backwards" msgstr "Region/Auswahl schrittweise nach hinten" -#: gtk2_ardour/editor.cc:751 -#: gtk2_ardour/editor_mixer.cc:358 +#: gtk2_ardour/editor.cc:790 msgid "Editor" msgstr "Editor" -#: gtk2_ardour/editor.cc:1169 -#: gtk2_ardour/editor.cc:1177 -#: gtk2_ardour/editor.cc:4181 -#: gtk2_ardour/editor.cc:4209 +#: gtk2_ardour/editor.cc:1238 +#: gtk2_ardour/editor.cc:1246 +#: gtk2_ardour/editor.cc:4504 +#: gtk2_ardour/editor.cc:4531 msgid "Loop" msgstr "Schleife" -#: gtk2_ardour/editor.cc:1182 -#: gtk2_ardour/editor.cc:1190 +#: gtk2_ardour/editor.cc:1251 +#: gtk2_ardour/editor.cc:1259 msgid "Punch" msgstr "Punch" -#: gtk2_ardour/editor.cc:1314 -#: gtk2_ardour/editor_mouse.cc:1823 -msgid "programming error: fade in canvas item has no regionview data pointer!" -msgstr "Programmierfehler: fade in canvas item has no regionview data pointer!" - -#: gtk2_ardour/editor.cc:1326 -#: gtk2_ardour/editor.cc:1348 -#: gtk2_ardour/redirect_box.cc:1200 -msgid "Deactivate" -msgstr "Deaktivieren" - -#: gtk2_ardour/editor.cc:1328 -#: gtk2_ardour/editor.cc:1350 -#: gtk2_ardour/redirect_box.cc:1198 -msgid "Activate" -msgstr "Aktivieren" +#: gtk2_ardour/editor.cc:1456 +#: gtk2_ardour/route_time_axis.cc:1648 +msgid "programming error: " +msgstr "Programmierfehler:" -#: gtk2_ardour/editor.cc:1475 -#: gtk2_ardour/editor.cc:1483 -#: gtk2_ardour/editor_ops.cc:3297 +#: gtk2_ardour/editor.cc:1563 +#: gtk2_ardour/editor.cc:1571 msgid "Freeze" msgstr "Einfrieren" -#: gtk2_ardour/editor.cc:1479 +#: gtk2_ardour/editor.cc:1567 msgid "Unfreeze" msgstr "Auftauen" -#: gtk2_ardour/editor.cc:1649 +#: gtk2_ardour/editor.cc:1754 msgid "Unmute" msgstr "Unmute" -#: gtk2_ardour/editor.cc:1653 -#: gtk2_ardour/editor.cc:1978 -#: gtk2_ardour/editor_actions.cc:47 -#: gtk2_ardour/editor_markers.cc:651 -#: gtk2_ardour/mixer_strip.cc:502 -#: gtk2_ardour/mixer_strip.cc:564 -#: gtk2_ardour/redirect_box.cc:1206 -msgid "Edit" -msgstr "Bearbeiten" - -#: gtk2_ardour/editor.cc:1658 +#: gtk2_ardour/editor.cc:1763 msgid "Convert to short" msgstr "In kurzen Crossfade umwandeln" -#: gtk2_ardour/editor.cc:1660 +#: gtk2_ardour/editor.cc:1765 msgid "Convert to full" msgstr "In langen Crossfade umwandeln" -#: gtk2_ardour/editor.cc:1671 +#: gtk2_ardour/editor.cc:1776 msgid "Crossfade" msgstr "Crossfade" -#: gtk2_ardour/editor.cc:1715 +#: gtk2_ardour/editor.cc:1825 msgid "Popup region editor" msgstr "Regioneneditor öffnen" -#: gtk2_ardour/editor.cc:1716 +#: gtk2_ardour/editor.cc:1828 msgid "Raise to top layer" msgstr "Region ganz nach oben" -#: gtk2_ardour/editor.cc:1717 +#: gtk2_ardour/editor.cc:1829 msgid "Lower to bottom layer" msgstr "Region ganz nach unten" -#: gtk2_ardour/editor.cc:1719 +#: gtk2_ardour/editor.cc:1831 msgid "Define sync point" msgstr "Einrastpunkt definieren" -#: gtk2_ardour/editor.cc:1720 +#: gtk2_ardour/editor.cc:1832 msgid "Remove sync point" msgstr "Einrastpunkt entfernen" -#: gtk2_ardour/editor.cc:1725 +#: gtk2_ardour/editor.cc:1837 msgid "Bounce" msgstr "Bounce" -#: gtk2_ardour/editor.cc:1728 -msgid "Analyze region" -msgstr "Analysiere Region" +#: gtk2_ardour/editor.cc:1840 +#: gtk2_ardour/editor.cc:2016 +msgid "Spectral Analysis" +msgstr "FFT-Analyse" -#: gtk2_ardour/editor.cc:1735 -#: gtk2_ardour/editor_markers.cc:591 +#: gtk2_ardour/editor.cc:1854 msgid "Lock" msgstr "Sperren" -#: gtk2_ardour/editor.cc:1753 +#: gtk2_ardour/editor.cc:1861 +msgid "Glue to Bars&Beats" +msgstr "An Takte und Schläge binden" + +#: gtk2_ardour/editor.cc:1885 msgid "Opaque" msgstr "Deckend" -#: gtk2_ardour/editor.cc:1763 +#: gtk2_ardour/editor.cc:1895 msgid "Original position" msgstr "Ursprungsposition" -#: gtk2_ardour/editor.cc:1776 +#: gtk2_ardour/editor.cc:1908 msgid "Reset Envelope" msgstr "Lautstärkekurve zurücksetzen" -#: gtk2_ardour/editor.cc:1778 +#: gtk2_ardour/editor.cc:1910 msgid "Envelope Visible" msgstr "Lautstärkekurve sichtbar" -#: gtk2_ardour/editor.cc:1787 +#: gtk2_ardour/editor.cc:1919 msgid "Envelope Active" msgstr "Lautstärkekurve aktiv" -#: gtk2_ardour/editor.cc:1801 +#: gtk2_ardour/editor.cc:1933 msgid "DeNormalize" msgstr "DeNormalisieren" -#: gtk2_ardour/editor.cc:1803 +#: gtk2_ardour/editor.cc:1935 msgid "Normalize" msgstr "Normalisieren" -#: gtk2_ardour/editor.cc:1807 +#: gtk2_ardour/editor.cc:1939 msgid "Reverse" -msgstr "Rückwärts" +msgstr "Umkehren" -#: gtk2_ardour/editor.cc:1812 -#: gtk2_ardour/editor.cc:1903 +#: gtk2_ardour/editor.cc:1944 +#: gtk2_ardour/editor.cc:2035 msgid "Add Range Markers" msgstr "Bereichsmarker einfügen" -#: gtk2_ardour/editor.cc:1813 +#: gtk2_ardour/editor.cc:1945 msgid "Set Range Selection" msgstr "Bereich auswählen" -#: gtk2_ardour/editor.cc:1822 +#: gtk2_ardour/editor.cc:1954 msgid "Nudge fwd" msgstr "Schritt nach vorne" -#: gtk2_ardour/editor.cc:1823 +#: gtk2_ardour/editor.cc:1955 msgid "Nudge bwd" msgstr "Schritt nach hinten" -#: gtk2_ardour/editor.cc:1824 +#: gtk2_ardour/editor.cc:1956 msgid "Nudge fwd by capture offset" msgstr "Schritt nach vorne um Aufnahme-Offset" -#: gtk2_ardour/editor.cc:1825 +#: gtk2_ardour/editor.cc:1957 msgid "Nudge bwd by capture offset" msgstr "Schritt nach hinten um Aufnahme-Offset" -#: gtk2_ardour/editor.cc:1827 -#: gtk2_ardour/editor.cc:1998 -#: gtk2_ardour/editor.cc:2054 +#: gtk2_ardour/editor.cc:1959 +#: gtk2_ardour/editor.cc:2131 +#: gtk2_ardour/editor.cc:2187 msgid "Nudge" msgstr "Verschieben" -#: gtk2_ardour/editor.cc:1834 -#: gtk2_ardour/editor_actions.cc:253 +#: gtk2_ardour/editor.cc:1966 msgid "Start to edit point" msgstr "Von Anfang bis Arbeitspunkt" -#: gtk2_ardour/editor.cc:1835 -#: gtk2_ardour/editor_actions.cc:255 +#: gtk2_ardour/editor.cc:1967 msgid "Edit point to end" msgstr "Von Arbeitspunkt bis Ende" -#: gtk2_ardour/editor.cc:1836 -#: gtk2_ardour/editor_actions.cc:257 +#: gtk2_ardour/editor.cc:1968 msgid "Trim To Loop" msgstr "Auf Schleife kürzen" -#: gtk2_ardour/editor.cc:1837 -#: gtk2_ardour/editor_actions.cc:259 +#: gtk2_ardour/editor.cc:1969 msgid "Trim To Punch" msgstr "Punch-Bereich schneiden" -#: gtk2_ardour/editor.cc:1839 -#: gtk2_ardour/gain_meter.cc:169 -#: gtk2_ardour/gain_meter.cc:903 -#: gtk2_ardour/panner_ui.cc:97 -#: gtk2_ardour/panner_ui.cc:780 -msgid "Trim" -msgstr "Abschneiden" - -#: gtk2_ardour/editor.cc:1842 +#: gtk2_ardour/editor.cc:1974 msgid "Split" msgstr "Teilen" -#: gtk2_ardour/editor.cc:1845 +#: gtk2_ardour/editor.cc:1977 msgid "Make mono regions" msgstr "Zu Mono-Regionen umwandeln" -#: gtk2_ardour/editor.cc:1848 +#: gtk2_ardour/editor.cc:1980 +#: gtk2_ardour/editor.cc:3278 msgid "Duplicate" msgstr "Duplizieren" -#: gtk2_ardour/editor.cc:1849 +#: gtk2_ardour/editor.cc:1981 msgid "Multi-Duplicate" msgstr "Mehrfach duplizieren" -#: gtk2_ardour/editor.cc:1850 +#: gtk2_ardour/editor.cc:1982 msgid "Fill Track" msgstr "Spur auffüllen" -#: gtk2_ardour/editor.cc:1879 +#: gtk2_ardour/editor.cc:2011 msgid "Play range" msgstr "Bereich abspielen" -#: gtk2_ardour/editor.cc:1880 +#: gtk2_ardour/editor.cc:2012 msgid "Loop range" msgstr "Bereich in Schleife abspielen" -#: gtk2_ardour/editor.cc:1884 -msgid "Analyze range" -msgstr "Bereich analysieren" - -#: gtk2_ardour/editor.cc:1888 -#: gtk2_ardour/editor_actions.cc:370 +#: gtk2_ardour/editor.cc:2020 msgid "Extend Range to End of Region" msgstr "Bereich vergrößern bis zum Ende der Region " -#: gtk2_ardour/editor.cc:1889 -#: gtk2_ardour/editor_actions.cc:372 +#: gtk2_ardour/editor.cc:2021 msgid "Extend Range to Start of Region" msgstr "Bereich vergrößern bis zum Anfang der Region " -#: gtk2_ardour/editor.cc:1892 +#: gtk2_ardour/editor.cc:2024 msgid "Convert to region in-place" msgstr "Am Rastpunkt der Regionen einrasten" -#: gtk2_ardour/editor.cc:1893 -#, fuzzy +#: gtk2_ardour/editor.cc:2025 msgid "Convert to region in region list" msgstr "Bereich zur Regionenliste hinzufügen" -#: gtk2_ardour/editor.cc:1896 +#: gtk2_ardour/editor.cc:2028 msgid "Select all in range" msgstr "Alles im Bereich auswählen" -#: gtk2_ardour/editor.cc:1899 +#: gtk2_ardour/editor.cc:2031 msgid "Set loop from selection" msgstr "Schleife aus Auswahl erstellen" -#: gtk2_ardour/editor.cc:1900 +#: gtk2_ardour/editor.cc:2032 msgid "Set punch from selection" msgstr "Punch-Bereich aus Auswahl erstellen" -#: gtk2_ardour/editor.cc:1905 +#: gtk2_ardour/editor.cc:2037 msgid "Crop region to range" -msgstr "Regionen-Editor öffnen" +msgstr "Region auf Bereich kürzen" -#: gtk2_ardour/editor.cc:1906 +#: gtk2_ardour/editor.cc:2038 msgid "Fill range with region" msgstr "Bereich mit Region ausfüllen" -#: gtk2_ardour/editor.cc:1907 +#: gtk2_ardour/editor.cc:2039 msgid "Duplicate range" -msgstr "Bereich Duplizieren" +msgstr "Bereich duplizieren" -#: gtk2_ardour/editor.cc:1908 +#: gtk2_ardour/editor.cc:2040 msgid "Create chunk from range" msgstr "Abschnitt aus Bereich erstellen..." -#: gtk2_ardour/editor.cc:1910 -msgid "Bounce range" -msgstr "Bereich Bouncen" +#: gtk2_ardour/editor.cc:2042 +msgid "Consolidate range" +msgstr "Bereich als neue Region" -#: gtk2_ardour/editor.cc:1911 +#: gtk2_ardour/editor.cc:2043 +msgid "Bounce range to region list" +msgstr "zur Liste der Regionen" + +#: gtk2_ardour/editor.cc:2044 msgid "Export range" msgstr "Bereich exportieren" -#: gtk2_ardour/editor.cc:1925 -#: gtk2_ardour/editor.cc:2012 +#: gtk2_ardour/editor.cc:2058 +#: gtk2_ardour/editor.cc:2145 msgid "Play from edit point" msgstr "Wiedergabe ab Arbeitspunkt" -#: gtk2_ardour/editor.cc:1926 -#: gtk2_ardour/editor.cc:2013 +#: gtk2_ardour/editor.cc:2059 +#: gtk2_ardour/editor.cc:2146 msgid "Play from start" msgstr "Wiedergabe ab Anfang" -#: gtk2_ardour/editor.cc:1927 +#: gtk2_ardour/editor.cc:2060 msgid "Play region" msgstr "Region wiedergeben" -#: gtk2_ardour/editor.cc:1929 -#: gtk2_ardour/editor_actions.cc:266 +#: gtk2_ardour/editor.cc:2062 msgid "Loop Region" msgstr "Region in Schleife wiedergeben" -#: gtk2_ardour/editor.cc:1939 -#: gtk2_ardour/editor.cc:2022 +#: gtk2_ardour/editor.cc:2072 +#: gtk2_ardour/editor.cc:2155 msgid "Select All in track" msgstr "Alles in Spur auswählen" -#: gtk2_ardour/editor.cc:1940 -#: gtk2_ardour/editor.cc:2023 -#: gtk2_ardour/editor_actions.cc:137 -#: gtk2_ardour/redirect_box.cc:1194 -msgid "Select All" -msgstr "Alles Auswählen" - -#: gtk2_ardour/editor.cc:1941 -#: gtk2_ardour/editor.cc:2024 +#: gtk2_ardour/editor.cc:2074 +#: gtk2_ardour/editor.cc:2157 msgid "Invert selection in track" msgstr "Auswahl in Spur umkehren" -#: gtk2_ardour/editor.cc:1942 -#: gtk2_ardour/editor.cc:2025 +#: gtk2_ardour/editor.cc:2075 +#: gtk2_ardour/editor.cc:2158 msgid "Invert selection" msgstr "Auswahl umkehren" -#: gtk2_ardour/editor.cc:1944 +#: gtk2_ardour/editor.cc:2077 msgid "Set range to loop range" msgstr "Ausgewählten Bereich als Schleife" -#: gtk2_ardour/editor.cc:1945 +#: gtk2_ardour/editor.cc:2078 msgid "Set range to punch range" msgstr "Ausgewählten Bereich als Punch-Bereich" -#: gtk2_ardour/editor.cc:1947 -#: gtk2_ardour/editor_actions.cc:143 +#: gtk2_ardour/editor.cc:2080 msgid "Select All After Edit Point" msgstr "Alle Regionen nach dem Arbeitspunkt auswählen" -#: gtk2_ardour/editor.cc:1948 -#: gtk2_ardour/editor_actions.cc:145 +#: gtk2_ardour/editor.cc:2081 msgid "Select All Before Edit Point" msgstr "Alle Regionen vor dem Arbeitspunkt auswählen" -#: gtk2_ardour/editor.cc:1949 -#: gtk2_ardour/editor_actions.cc:148 +#: gtk2_ardour/editor.cc:2082 msgid "Select All After Playhead" msgstr "Alle Regionen nach dem Positionszeiger auswählen" -#: gtk2_ardour/editor.cc:1950 -#: gtk2_ardour/editor_actions.cc:150 +#: gtk2_ardour/editor.cc:2083 msgid "Select All Before Playhead" msgstr "Alle Regionen vor dem Positionszeiger auswählen" -#: gtk2_ardour/editor.cc:1951 -#: gtk2_ardour/editor_actions.cc:152 +#: gtk2_ardour/editor.cc:2084 msgid "Select All Between Playhead & Edit Point" msgstr "Alle Regionen zwischen Positionszeiger und Arbeitspunkt auswählen" -#: gtk2_ardour/editor.cc:1952 -#: gtk2_ardour/editor_actions.cc:154 +#: gtk2_ardour/editor.cc:2085 msgid "Select All Within Playhead & Edit Point" msgstr "Alle Regionen innerhalb Positionszeiger und Arbeitspunkt auswählen" -#: gtk2_ardour/editor.cc:1953 -#: gtk2_ardour/editor_actions.cc:157 +#: gtk2_ardour/editor.cc:2086 msgid "Select Range Between Playhead & Edit Point" msgstr "Wähle Bereich zwischen Positionszeiger und Arbeitspunkt aus" -#: gtk2_ardour/editor.cc:1957 -#: gtk2_ardour/editor.cc:2032 -#: gtk2_ardour/editor_actions.cc:48 +#: gtk2_ardour/editor.cc:2090 +#: gtk2_ardour/editor.cc:2165 msgid "Select" msgstr "Auswahl" -#: gtk2_ardour/editor.cc:1965 -#: gtk2_ardour/editor.cc:2040 -#: gtk2_ardour/editor_actions.cc:334 -#: gtk2_ardour/redirect_box.cc:1183 -msgid "Cut" -msgstr "Ausschneiden" - -#: gtk2_ardour/editor.cc:1966 -#: gtk2_ardour/editor.cc:2041 -#: gtk2_ardour/editor_actions.cc:339 -#: gtk2_ardour/redirect_box.cc:1185 -msgid "Copy" -msgstr "Kopieren" - -#: gtk2_ardour/editor.cc:1967 -#: gtk2_ardour/editor.cc:2042 -#: gtk2_ardour/editor_actions.cc:341 -#: gtk2_ardour/redirect_box.cc:1191 -msgid "Paste" -msgstr "Einfügen" - -#: gtk2_ardour/editor.cc:1971 +#: gtk2_ardour/editor.cc:2104 msgid "Align" msgstr "Ausrichten" -#: gtk2_ardour/editor.cc:1972 +#: gtk2_ardour/editor.cc:2105 msgid "Align Relative" msgstr "Relativ ausrichten" -#: gtk2_ardour/editor.cc:1976 +#: gtk2_ardour/editor.cc:2109 msgid "Insert chunk" msgstr "Abschnitt einfügen" -#: gtk2_ardour/editor.cc:1983 +#: gtk2_ardour/editor.cc:2116 msgid "Insert Selected Region" msgstr "Ausgewählte Region einfügen" -#: gtk2_ardour/editor.cc:1984 +#: gtk2_ardour/editor.cc:2117 msgid "Insert Existing Audio" msgstr "Audio importieren..." -#: gtk2_ardour/editor.cc:1993 -#: gtk2_ardour/editor.cc:2049 +#: gtk2_ardour/editor.cc:2126 +#: gtk2_ardour/editor.cc:2182 msgid "Nudge entire track fwd" msgstr "Gesamte Spur schrittweise nach vorne" -#: gtk2_ardour/editor.cc:1994 -#: gtk2_ardour/editor.cc:2050 +#: gtk2_ardour/editor.cc:2127 +#: gtk2_ardour/editor.cc:2183 msgid "Nudge track after edit point fwd" msgstr "Spur nach Arbeitspunkt schrittweise nach vorne" -#: gtk2_ardour/editor.cc:1995 -#: gtk2_ardour/editor.cc:2051 +#: gtk2_ardour/editor.cc:2128 +#: gtk2_ardour/editor.cc:2184 msgid "Nudge entire track bwd" msgstr "Gesamte Spur schrittweise nach hinten" -#: gtk2_ardour/editor.cc:1996 -#: gtk2_ardour/editor.cc:2052 +#: gtk2_ardour/editor.cc:2129 +#: gtk2_ardour/editor.cc:2185 msgid "Nudge track after edit point bwd" msgstr "Spur nach Arbeitspunkt schrittweise nach hinten" -#: gtk2_ardour/editor.cc:2027 +#: gtk2_ardour/editor.cc:2160 msgid "Select all after edit point" msgstr "Alles nach Arbeitspunkt auswählen" -#: gtk2_ardour/editor.cc:2028 +#: gtk2_ardour/editor.cc:2161 msgid "Select all before edit point" msgstr "Alles vor Arbeitspunkt auswählen" -#: gtk2_ardour/editor.cc:2029 +#: gtk2_ardour/editor.cc:2162 msgid "Select all after playhead" msgstr "Alles nach Positionszeiger auswählen" -#: gtk2_ardour/editor.cc:2030 +#: gtk2_ardour/editor.cc:2163 msgid "Select all before playhead" msgstr "Alles vor Positionszeiger auswählen" -#: gtk2_ardour/editor.cc:2684 +#: gtk2_ardour/editor.cc:2866 msgid "Select/Move Objects" msgstr "Objekte auswählen/verschieben" -#: gtk2_ardour/editor.cc:2685 +#: gtk2_ardour/editor.cc:2867 msgid "Select/Move Ranges" msgstr "Editierbereich auswählen/verschieben" -#: gtk2_ardour/editor.cc:2686 +#: gtk2_ardour/editor.cc:2868 msgid "Draw Gain Automation" msgstr "Lautstärkekurve zeichnen" -#: gtk2_ardour/editor.cc:2687 +#: gtk2_ardour/editor.cc:2869 msgid "Select Zoom Range" msgstr "Zoombereich auswählen" -#: gtk2_ardour/editor.cc:2688 +#: gtk2_ardour/editor.cc:2870 msgid "Stretch/Shrink Regions" -msgstr "Regionen vergrößern/verkleinern (Time-Stretch)" +msgstr "Regionen strecken/stauchen (Time-Stretch)" -#: gtk2_ardour/editor.cc:2689 +#: gtk2_ardour/editor.cc:2871 msgid "Listen to Specific Regions" msgstr "Ausgewählte Regionen vorhören" -#: gtk2_ardour/editor.cc:2719 -#: gtk2_ardour/editor_actions.cc:209 +#: gtk2_ardour/editor.cc:2901 msgid "Zoom In" msgstr "Vergrößern" -#: gtk2_ardour/editor.cc:2725 -#: gtk2_ardour/editor_actions.cc:207 +#: gtk2_ardour/editor.cc:2907 msgid "Zoom Out" msgstr "Verkleinern" -#: gtk2_ardour/editor.cc:2731 -#: gtk2_ardour/editor_actions.cc:211 +#: gtk2_ardour/editor.cc:2913 msgid "Zoom to Session" msgstr "Auf ganzes Projekt zoomen" -#: gtk2_ardour/editor.cc:2737 +#: gtk2_ardour/editor.cc:2916 +#: gtk2_ardour/editor.cc:2942 +#: gtk2_ardour/editor.cc:3496 +#: gtk2_ardour/editor.cc:3521 +msgid "Playhead" +msgstr "Positionszeiger" + +#: gtk2_ardour/editor.cc:2919 msgid "Zoom focus" msgstr "Zoom-Mittelpunkt" -#: gtk2_ardour/editor.cc:2751 +#: gtk2_ardour/editor.cc:2930 +#: gtk2_ardour/editor.cc:3431 +msgid "SMPTE Seconds" +msgstr "SMPTE-Sekunden" + +#: gtk2_ardour/editor.cc:2933 msgid "Snap/Grid Units" msgstr "Einrast-Einheiten" -#: gtk2_ardour/editor.cc:2754 +#: gtk2_ardour/editor.cc:2936 msgid "Magnetic Snap" msgstr "Magnetisch einrasten" -#: gtk2_ardour/editor.cc:2757 +#: gtk2_ardour/editor.cc:2939 msgid "Snap/Grid Mode" msgstr "Einrastmodus" -#: gtk2_ardour/editor.cc:2763 +#: gtk2_ardour/editor.cc:2945 msgid "Edit point" msgstr "Arbeitspunkt" -#: gtk2_ardour/editor.cc:2913 +#: gtk2_ardour/editor.cc:3095 msgid "malformed URL passed to drag-n-drop code" -msgstr "" +msgstr "Ungültige URL an drag-n-drop-Code weitergeleitet" -#: gtk2_ardour/editor.cc:3032 -#: gtk2_ardour/editor_actions.cc:320 +#: gtk2_ardour/editor.cc:3214 msgid "Undo" msgstr "Rückgängig" -#: gtk2_ardour/editor.cc:3034 +#: gtk2_ardour/editor.cc:3216 msgid "Undo (%1)" msgstr "Rückgängig (%1)" -#: gtk2_ardour/editor.cc:3041 -#: gtk2_ardour/editor_actions.cc:322 +#: gtk2_ardour/editor.cc:3223 msgid "Redo" msgstr "Wiederherstellen" -#: gtk2_ardour/editor.cc:3043 +#: gtk2_ardour/editor.cc:3225 msgid "Redo (%1)" msgstr "Wiederherstellen (%1)" -#: gtk2_ardour/editor.cc:3073 -msgid "Duplicate how many times?" -msgstr "Wie häufig duplizieren?" +#: gtk2_ardour/editor.cc:3255 +msgid "Number of Duplications:" +msgstr "Anzahl der Duplikate" -#: gtk2_ardour/editor.cc:3175 +#: gtk2_ardour/editor.cc:3386 msgid "Splice Edit" -msgstr "Kleben" +msgstr "Splice Edit" -#: gtk2_ardour/editor.cc:3177 +#: gtk2_ardour/editor.cc:3388 msgid "Slide Edit" msgstr "Slide Edit" -#: gtk2_ardour/editor.cc:3572 +#: gtk2_ardour/editor.cc:3390 +#, fuzzy +msgid "Lock Edit" +msgstr "Positionszeiger zum Arbeitspunkt" + +#: gtk2_ardour/editor.cc:3403 +msgid "Beats/3" +msgstr "Schläge / 3" + +#: gtk2_ardour/editor.cc:3405 +msgid "Beats/4" +msgstr "Schläge / 4" + +#: gtk2_ardour/editor.cc:3407 +msgid "Beats/8" +msgstr "Schläge / 8" + +#: gtk2_ardour/editor.cc:3409 +msgid "Beats/16" +msgstr "Schläge / 16" + +#: gtk2_ardour/editor.cc:3411 +msgid "Beats/32" +msgstr "Schläge / 32" + +#: gtk2_ardour/editor.cc:3413 +msgid "Beats" +msgstr "Schläge" + +#: gtk2_ardour/editor.cc:3415 +msgid "Bars" +msgstr "Takte" + +#: gtk2_ardour/editor.cc:3417 +msgid "Marks" +msgstr "Marker" + +#: gtk2_ardour/editor.cc:3419 +msgid "Region starts" +msgstr "Regionen-Anfang" + +#: gtk2_ardour/editor.cc:3421 +msgid "Region ends" +msgstr "Regionen-Ende" + +#: gtk2_ardour/editor.cc:3423 +msgid "Region bounds" +msgstr "Regionen-Grenzen" + +#: gtk2_ardour/editor.cc:3425 +msgid "Region syncs" +msgstr "Regionen-Sync" + +#: gtk2_ardour/editor.cc:3427 +msgid "CD Frames" +msgstr "CD-Frames" + +#: gtk2_ardour/editor.cc:3429 +msgid "SMPTE Frames" +msgstr "SMPTE-Frames" + +#: gtk2_ardour/editor.cc:3433 +msgid "SMPTE Minutes" +msgstr "SMPTE-Minuten" + +#: gtk2_ardour/editor.cc:3435 +msgid "Seconds" +msgstr "Sekunden" + +#: gtk2_ardour/editor.cc:3437 +msgid "Minutes" +msgstr "Minuten" + +#: gtk2_ardour/editor.cc:3453 +msgid "No Grid" +msgstr "Raster aus" + +#: gtk2_ardour/editor.cc:3455 +msgid "Grid" +msgstr "Einrasten" + +#: gtk2_ardour/editor.cc:3457 +msgid "Magnetic" +msgstr "Magnetisch" + +#: gtk2_ardour/editor.cc:3515 +msgid "Left" +msgstr "Links" + +#: gtk2_ardour/editor.cc:3517 +msgid "Right" +msgstr "Rechts" + +#: gtk2_ardour/editor.cc:3519 +msgid "Center" +msgstr "Mitte" + +#: gtk2_ardour/editor.cc:3523 +msgid "Mouse" +msgstr "Maus" + +#: gtk2_ardour/editor.cc:3525 +msgid "Active Mark" +msgstr "Aktueller Marker" + +#: gtk2_ardour/editor.cc:3790 msgid "" "Playlist %1 is currently unused.\n" "If left alone, no audio files used by it will be cleaned.\n" @@ -3175,34 +3307,19 @@ msgstr "" "Es können keine Audiodateien aufgeräumt werden, die von ihr verwendet werden.\n" "Falls sie gelöscht wird, werden die ausschließlich von ihr verwendeten Audiodateien gelöscht." -#: gtk2_ardour/editor.cc:3582 +#: gtk2_ardour/editor.cc:3800 msgid "Delete playlist" msgstr "Wiedergabeliste löschen" -#: gtk2_ardour/editor.cc:3583 +#: gtk2_ardour/editor.cc:3801 msgid "Keep playlist" msgstr "Wiedergabeliste beibehalten" -#: gtk2_ardour/editor.cc:3584 -#: gtk2_ardour/editor_audio_import.cc:515 -#: gtk2_ardour/editor_timefx.cc:78 -#: gtk2_ardour/export_dialog.cc:1034 -#: gtk2_ardour/io_selector.cc:60 -#: gtk2_ardour/io_selector.cc:748 -#: gtk2_ardour/redirect_box.cc:1022 -#: gtk2_ardour/tempo_dialog.cc:42 -#: gtk2_ardour/tempo_dialog.cc:61 -#: gtk2_ardour/tempo_dialog.cc:256 -#: gtk2_ardour/tempo_dialog.cc:274 -#: gtk2_ardour/connection_editor.cc:59 -msgid "Cancel" -msgstr "Abbrechen" - -#: gtk2_ardour/editor.cc:3752 +#: gtk2_ardour/editor.cc:3979 msgid "New name of snapshot" msgstr "Name für neuen Schnappschuss" -#: gtk2_ardour/editor.cc:3770 +#: gtk2_ardour/editor.cc:3997 msgid "" "Do you really want to remove snapshot \"%1\" ?\n" "(cannot be undone)" @@ -3210,1476 +3327,2556 @@ msgstr "" "Wollen Sie den Schnappschuss \"%1\" wirklich löschen?\n" "(Dies kann nicht rückgängig gemacht werden!)" -#: gtk2_ardour/editor.cc:3772 -#: gtk2_ardour/editor_ops.cc:206 -#: gtk2_ardour/editor_ops.cc:3954 -#: gtk2_ardour/route_ui.cc:790 -#: gtk2_ardour/visual_time_axis.cc:282 -msgid "No, do nothing." -msgstr "Nein, nichts machen." - -#: gtk2_ardour/editor.cc:3773 -#: gtk2_ardour/route_ui.cc:791 -#: gtk2_ardour/visual_time_axis.cc:283 -msgid "Yes, remove it." -msgstr "Ja, entfernen." - -#: gtk2_ardour/editor.cc:3883 +#: gtk2_ardour/editor.cc:4106 msgid "new playlists" msgstr "Neue Wiedergabelisten" -#: gtk2_ardour/editor.cc:3898 +#: gtk2_ardour/editor.cc:4123 msgid "copy playlists" msgstr "Wiedergabelisten kopieren" -#: gtk2_ardour/editor.cc:3913 +#: gtk2_ardour/editor.cc:4140 msgid "clear playlists" msgstr "Wiedergabelisten zurücksetzen" +#: gtk2_ardour/editor.cc:4736 +msgid "Please wait while Ardour loads visual data" +msgstr "Bitte warten Sie, während Ardour Daten zur Anzeige des Projekts lädt" + +#: gtk2_ardour/route_time_axis.cc:99 +msgid "m" +msgstr "m" + +#: gtk2_ardour/route_time_axis.cc:99 +msgid "s" +msgstr "s" + +#: gtk2_ardour/route_time_axis.cc:99 +msgid "r" +msgstr "r" + +#: gtk2_ardour/route_time_axis.cc:103 +msgid "g" +msgstr "g" + +#: gtk2_ardour/route_time_axis.cc:104 +msgid "p" +msgstr "w" + +#: gtk2_ardour/route_time_axis.cc:106 +msgid "a" +msgstr "a" + +#: gtk2_ardour/route_time_axis.cc:166 +#: gtk2_ardour/mixer_strip.cc:88 +#: gtk2_ardour/mixer_strip.cc:109 +msgid "Record" +msgstr "Aufnahme" + +#: gtk2_ardour/route_time_axis.cc:181 +#: gtk2_ardour/mixer_strip.cc:88 +#: gtk2_ardour/mixer_strip.cc:109 +#: gtk2_ardour/mixer_strip.cc:487 +msgid "Solo" +msgstr "Solo" + +#: gtk2_ardour/route_time_axis.cc:183 +msgid "Edit Group" +msgstr "Bearbeitungsgruppe" + +#: gtk2_ardour/route_time_axis.cc:185 +msgid "Playlist" +msgstr "Wiedergabeliste" + +#: gtk2_ardour/route_time_axis.cc:186 +#: gtk2_ardour/route_time_axis.cc:451 +msgid "Automation" +msgstr "Automationen" + +#: gtk2_ardour/route_time_axis.cc:301 +#: gtk2_ardour/mixer_strip.cc:969 +msgid "No group" +msgstr "keine Gruppe" + +#: gtk2_ardour/route_time_axis.cc:411 +msgid "Show all automation" +msgstr "Alle Automationen zeigen" + +#: gtk2_ardour/route_time_axis.cc:414 +msgid "Show existing automation" +msgstr "Verfügbare Automationen zeigen" + +#: gtk2_ardour/route_time_axis.cc:417 +msgid "Hide all automation" +msgstr "Automationen verbergen" + +#: gtk2_ardour/route_time_axis.cc:420 +msgid "Plugins" +msgstr "Plugins" + +#: gtk2_ardour/route_time_axis.cc:450 +#: gtk2_ardour/mixer_strip.cc:1057 +msgid "Remote Control ID" +msgstr "ID für Fernsteuerung" + +#: gtk2_ardour/route_time_axis.cc:467 +msgid "Align with existing material" +msgstr "An vorhandenem Material ausrichten" + +#: gtk2_ardour/route_time_axis.cc:473 +msgid "Align with capture time" +msgstr "An Aufnahmezeit ausrichten" + +#: gtk2_ardour/route_time_axis.cc:480 +msgid "Alignment" +msgstr "Ausrichtung" + +#: gtk2_ardour/route_time_axis.cc:484 +msgid "Normal mode" +msgstr "Normaler Modus" + +#: gtk2_ardour/route_time_axis.cc:487 +msgid "Tape mode" +msgstr "Tape-Modus" + +#: gtk2_ardour/route_time_axis.cc:535 +#: gtk2_ardour/route_time_axis.cc:590 +#: gtk2_ardour/route_time_axis.cc:836 +msgid "programming error: %1 %2" +msgstr "Programmierfehler: %1 %2" + +#: gtk2_ardour/route_time_axis.cc:860 +msgid "Name for playlist" +msgstr "Name für Wiedergabeliste" + +#: gtk2_ardour/route_time_axis.cc:943 +#: gtk2_ardour/route_time_axis.cc:993 +msgid "Name for Playlist" +msgstr "Name für Wiedergabeliste" + +#: gtk2_ardour/route_time_axis.cc:1386 +msgid "New Copy" +msgstr "Neue Kopie" + +#: gtk2_ardour/route_time_axis.cc:1390 +msgid "New Take" +msgstr "Neuer Take" + +#: gtk2_ardour/route_time_axis.cc:1391 +msgid "Copy Take" +msgstr "Take kopieren" + +#: gtk2_ardour/route_time_axis.cc:1396 +msgid "Clear Current" +msgstr "Ausgewählte zurücksetzen" + +#: gtk2_ardour/route_time_axis.cc:1399 +msgid "Select from all ..." +msgstr "Aus allen auswählen..." + +#: gtk2_ardour/keyeditor.cc:29 +msgid "Shortcut Editor" +msgstr "Tastenkürzel - Editor" + +#: gtk2_ardour/keyeditor.cc:30 +msgid "Remove shortcut" +msgstr "Tastenkürzel entfernen" + +#: gtk2_ardour/keyeditor.cc:40 +msgid "Action" +msgstr "Aktion" + +#: gtk2_ardour/keyeditor.cc:41 +msgid "Shortcut" +msgstr "Tastenkürzel" + +#: gtk2_ardour/keyeditor.cc:61 +msgid "Select an action, then press the key(s) to (re)set its shortcut" +msgstr "" +"Wählen Sie eine Aktion und drücken Sie dann die Taste(n) \n" +"um das Tastaturkürzel zu setzen" + +#: gtk2_ardour/keyeditor.cc:267 +msgid "Command-" +msgstr "Befehl-" + +#: gtk2_ardour/keyeditor.cc:268 +msgid "Option-" +msgstr "Option-" + +#: gtk2_ardour/keyeditor.cc:269 +msgid "Shift-" +msgstr "Groß-" + +#: gtk2_ardour/keyeditor.cc:270 +msgid "Control-" +msgstr "Strg-" + +#: gtk2_ardour/add_route_dialog.cc:62 +msgid "ardour: add track/bus" +msgstr "ardour: Füge Spur/Bus hinzu" + +#: gtk2_ardour/add_route_dialog.cc:63 +msgid "Tracks" +msgstr "Audiospuren" + +#: gtk2_ardour/add_route_dialog.cc:64 +msgid "Busses" +msgstr "Busse" + +#: gtk2_ardour/add_route_dialog.cc:114 +#: gtk2_ardour/plugin_ui.cc:316 +msgid "Add" +msgstr "Hinzufügen" + +#: gtk2_ardour/add_route_dialog.cc:132 +msgid "Name (template)" +msgstr "Name für Mixer-Vorlage" + +#: gtk2_ardour/add_route_dialog.cc:138 +msgid "Channel Configuration" +msgstr "Kanaleinstellungen" + +#: gtk2_ardour/add_route_dialog.cc:203 +msgid "Tape" +msgstr "Tape" + +#: gtk2_ardour/add_route_dialog.cc:220 +msgid "Mono" +msgstr "Mono" + +#: gtk2_ardour/add_route_dialog.cc:222 +msgid "Stereo" +msgstr "Stereo" + +#: gtk2_ardour/export_region_dialog.cc:34 +msgid "ardour: export region" +msgstr "ardour: Region Exportieren" + +#: gtk2_ardour/mixer_strip.cc:98 +#: gtk2_ardour/mixer_strip.cc:119 +#: gtk2_ardour/mixer_strip.cc:379 +#: gtk2_ardour/mixer_strip.cc:1287 +msgid "pre" +msgstr "Pre" + +#: gtk2_ardour/mixer_strip.cc:99 +#: gtk2_ardour/mixer_strip.cc:120 +#: gtk2_ardour/mixer_strip.cc:848 +msgid "Comments" +msgstr "Kommentare" + +#: gtk2_ardour/mixer_strip.cc:147 +msgid "Input" +msgstr "Eingang" + +#: gtk2_ardour/mixer_strip.cc:152 +#: gtk2_ardour/mixer_strip.cc:794 +msgid "Output" +msgstr "Ausgang" + +#: gtk2_ardour/mixer_strip.cc:164 +msgid "tupni" +msgstr "tupni" + +#: gtk2_ardour/mixer_strip.cc:359 +msgid "Varispeed" +msgstr "Varispeed" + +#: gtk2_ardour/mixer_strip.cc:375 +#: gtk2_ardour/mixer_strip.cc:1283 +msgid "input" +msgstr "Input" + +#: gtk2_ardour/mixer_strip.cc:383 +#: gtk2_ardour/mixer_strip.cc:1291 +msgid "post" +msgstr "Post" + +#: gtk2_ardour/mixer_strip.cc:388 +#: gtk2_ardour/mixer_strip.cc:864 +msgid "Click to Add/Edit Comments" +msgstr "Kommentare hinzufügen/ändern" + +#: gtk2_ardour/mixer_strip.cc:484 +msgid "record" +msgstr "Aufnahme" + +#: gtk2_ardour/mixer_strip.cc:491 +msgid "comments" +msgstr "Kommentare" + +#: gtk2_ardour/mixer_strip.cc:494 +msgid "*comments*" +msgstr "*Kommentare*" + +#: gtk2_ardour/mixer_strip.cc:506 +msgid "Rec" +msgstr "Rec" + +#: gtk2_ardour/mixer_strip.cc:509 +msgid "S" +msgstr "S" + +#: gtk2_ardour/mixer_strip.cc:513 +#: gtk2_ardour/mixer_strip.cc:858 +msgid "Cmt" +msgstr "Kmt" + +#: gtk2_ardour/mixer_strip.cc:516 +#: gtk2_ardour/mixer_strip.cc:855 +msgid "*Cmt*" +msgstr "*Kmt*" + +#: gtk2_ardour/mixer_strip.cc:655 +#: gtk2_ardour/mixer_strip.cc:671 +msgid "could not register new ports required for that connection" +msgstr "Konnte die Ports, die diese Verbindung benötigt nicht registrieren" + +#: gtk2_ardour/mixer_strip.cc:774 +msgid " Input" +msgstr "Eingang" + +#: gtk2_ardour/mixer_strip.cc:777 +msgid "I" +msgstr "I" + +#: gtk2_ardour/mixer_strip.cc:797 +msgid "O" +msgstr "O" + +#: gtk2_ardour/mixer_strip.cc:845 +msgid "*Comments*" +msgstr "*Kommentare*" + +#: gtk2_ardour/mixer_strip.cc:900 +msgid ": comment editor" +msgstr "Kommentare bearbeiten" + +#: gtk2_ardour/mixer_strip.cc:995 +msgid "Grp" +msgstr "Grp" + +#: gtk2_ardour/mixer_strip.cc:998 +msgid "~G" +msgstr "~G" + +#: gtk2_ardour/mixer_strip.cc:1046 +msgid "Invert Polarity" +msgstr "Polarität umkehren" + +#: gtk2_ardour/mixer_strip.cc:1049 +msgid "Protect against denormals" +msgstr "Schutz vor Denormals" + +#: gtk2_ardour/plugin_ui.cc:87 +msgid "Eh? LADSPA plugins don't have editors!" +msgstr "Merkwürdig... LADSPA-Plugins sollten kein GUI haben!" + +#: gtk2_ardour/plugin_ui.cc:96 +#: gtk2_ardour/plugin_ui.cc:203 +msgid "unknown type of editor-supplying plugin (note: no VST support in this version of ardour)" +msgstr "Unbekannter Plugintyp (Hinweis: diese Ardour-Version unterstützt keine VST-Plugins)" + +#: gtk2_ardour/plugin_ui.cc:99 +msgid "unknown type of editor-supplying plugin" +msgstr "Unbekannter Plugintyp" + +#: gtk2_ardour/plugin_ui.cc:268 +msgid "create_lv2_editor called on non-LV2 plugin" +msgstr "create_lv2_editor auf nicht-LV2-Plugin angewandt" + +#: gtk2_ardour/plugin_ui.cc:347 +msgid "Plugin preset %1 not found" +msgstr "Plugin Preset %1 nicht gefunden" + +#: gtk2_ardour/plugin_ui.cc:356 +msgid "Name of New Preset:" +msgstr "Name für neue Voreinstellung:" + +#: gtk2_ardour/imageframe_socket_handler.cc:126 +msgid "Image Compositor Socket has been shutdown/closed" +msgstr "" + +#: gtk2_ardour/location_ui.cc:49 +#: gtk2_ardour/location_ui.cc:52 +msgid "Use PH" +msgstr "zu PZ" + +#: gtk2_ardour/location_ui.cc:50 +#: gtk2_ardour/location_ui.cc:53 +msgid "Go" +msgstr "Gehe zu" + +#: gtk2_ardour/location_ui.cc:56 +msgid "CD" +msgstr "CD" + +#: gtk2_ardour/location_ui.cc:57 +msgid "Hidden" +msgstr "Versteckt" + +#: gtk2_ardour/location_ui.cc:59 +msgid "SCMS" +msgstr "SCMS" + +#: gtk2_ardour/location_ui.cc:60 +msgid "Pre-Emphasis" +msgstr "Präemphase" + +#: gtk2_ardour/location_ui.cc:85 +#: gtk2_ardour/location_ui.cc:86 +msgid "Set value to Playhead" +msgstr "Wert auf Positionszeiger setzen" + +#: gtk2_ardour/location_ui.cc:443 +msgid "You cannot put a CD marker at the start of the session" +msgstr "Sie können keinen CD-Marker am Anfang des Projekts erstellen" + +#: gtk2_ardour/location_ui.cc:624 +msgid "Add New Location" +msgstr "Neue Position hinzufügen" + +#: gtk2_ardour/location_ui.cc:625 +msgid "Add New Range" +msgstr "Neuen Bereich hinzufügen" + +#: gtk2_ardour/location_ui.cc:663 +msgid "Location (CD Index) Markers" +msgstr "Positionsmarker (CD Index)" + +#: gtk2_ardour/location_ui.cc:683 +msgid "Range (CD Track) Markers" +msgstr "Bereiche (CD Tracks)" + +#: gtk2_ardour/location_ui.cc:720 +msgid "remove marker" +msgstr "Marker entfernen" + +#: gtk2_ardour/location_ui.cc:851 +msgid "add marker" +msgstr "Marker hinzufügen" + +#: gtk2_ardour/location_ui.cc:870 +msgid "add range marker" +msgstr "Bereich hinzufügen" + +#: gtk2_ardour/sfdb_ui.cc:77 +#: gtk2_ardour/sfdb_ui.cc:97 +#: gtk2_ardour/sfdb_ui.cc:106 +msgid "as new tracks" +msgstr "als neue Spuren" + +#: gtk2_ardour/sfdb_ui.cc:79 +#: gtk2_ardour/sfdb_ui.cc:99 +msgid "to selected tracks" +msgstr "zu ausgewählten Spuren" + +#: gtk2_ardour/sfdb_ui.cc:81 +#: gtk2_ardour/sfdb_ui.cc:101 +msgid "to region list" +msgstr "zur Liste der Regionen" + +#: gtk2_ardour/sfdb_ui.cc:83 +#: gtk2_ardour/sfdb_ui.cc:103 +msgid "as new tape tracks" +msgstr "als neue Tape-Spuren" + +#: gtk2_ardour/sfdb_ui.cc:87 +msgid "programming error: unknown import mode string %1" +msgstr "Programmierfehler: unbekannter Importmodus %1" + +#: gtk2_ardour/sfdb_ui.cc:115 +msgid "Auto-play" +msgstr "Auto-Play" + +#: gtk2_ardour/sfdb_ui.cc:124 +#: gtk2_ardour/sfdb_ui.cc:234 +msgid "<b>Soundfile Info</b>" +msgstr "<b>Eigenschaften der Audiodatei</b>" + +#: gtk2_ardour/sfdb_ui.cc:135 +msgid "Length:" +msgstr "Länge:" + +#: gtk2_ardour/sfdb_ui.cc:136 +msgid "Timestamp:" +msgstr "Zeitstempel:" + +#: gtk2_ardour/sfdb_ui.cc:137 +msgid "Format:" +msgstr "Format:" + +#: gtk2_ardour/sfdb_ui.cc:138 +msgid "Channels:" +msgstr "Kanäle:" + +#: gtk2_ardour/sfdb_ui.cc:139 +#: gtk2_ardour/sfdb_ui.cc:254 +#: gtk2_ardour/sfdb_ui.cc:259 +msgid "Sample rate:" +msgstr "Samplerate:" + +#: gtk2_ardour/sfdb_ui.cc:171 +#: gtk2_ardour/sfdb_ui.cc:490 +msgid "Tags:" +msgstr "Stichworte:" + +#: gtk2_ardour/sfdb_ui.cc:181 +msgid "Play (double click)" +msgstr "Play" + +#: gtk2_ardour/sfdb_ui.cc:235 +#: gtk2_ardour/sfdb_ui.cc:236 +#: gtk2_ardour/sfdb_ui.cc:237 +msgid "n/a" +msgstr "n/a" + +#: gtk2_ardour/sfdb_ui.cc:314 +msgid "Could not read file: %1 (%2)." +msgstr "Konnte Datei nicht lesen: %1 (%2)." + +#: gtk2_ardour/sfdb_ui.cc:334 +msgid "Could not access soundfile: " +msgstr "Konnte auf Audiodatei nicht zugreifen: " + +#: gtk2_ardour/sfdb_ui.cc:380 +msgid "SoundFileBox: Could not tokenize string: " +msgstr "SoundFileBox: Konnte Zeichenkette nicht zerlegen: " + +#: gtk2_ardour/sfdb_ui.cc:400 +msgid "Search" +msgstr "Suchen" + +#: gtk2_ardour/sfdb_ui.cc:402 +#: gtk2_ardour/sfdb_ui.cc:792 +msgid "Start Downloading" +msgstr "Download beginnen" + +#: gtk2_ardour/sfdb_ui.cc:417 +msgid "Audio files" +msgstr "Audiodateien" + +#: gtk2_ardour/sfdb_ui.cc:420 +msgid "All files" +msgstr "Alle Dateien" + +#: gtk2_ardour/sfdb_ui.cc:431 +msgid "Browse Files" +msgstr "Durchsuchen" + +#: gtk2_ardour/sfdb_ui.cc:458 +#: gtk2_ardour/sfdb_ui.cc:505 +msgid "Paths" +msgstr "Pfade" + +#: gtk2_ardour/sfdb_ui.cc:467 +msgid "Search Tags" +msgstr "Stichwortsuche" + +#: gtk2_ardour/sfdb_ui.cc:482 +msgid "User:" +msgstr "Benutzer:" + +#: gtk2_ardour/sfdb_ui.cc:486 +msgid "Password:" +msgstr "Passwort" + +#: gtk2_ardour/sfdb_ui.cc:515 +msgid "Search Freesound" +msgstr "Freesound durchsuchen" + +#: gtk2_ardour/sfdb_ui.cc:698 +msgid "SoundFileBrowser: Could not tokenize string: " +msgstr "SoundFileBrowser: Konnte Zeichenkete nicht zerlegen:" + +#: gtk2_ardour/sfdb_ui.cc:734 +msgid "Cancelling.." +msgstr "Abbrechen..." + +#: gtk2_ardour/sfdb_ui.cc:959 +#: gtk2_ardour/sfdb_ui.cc:1238 +#: gtk2_ardour/sfdb_ui.cc:1280 +msgid "one track per file" +msgstr "eine Spur pro Datei" + +#: gtk2_ardour/sfdb_ui.cc:962 +#: gtk2_ardour/sfdb_ui.cc:1281 +msgid "one track per channel" +msgstr "eine Spur pro Kanal" + +#: gtk2_ardour/sfdb_ui.cc:970 +#: gtk2_ardour/sfdb_ui.cc:1283 +msgid "sequence files" +msgstr "Dateien aneinanderreihen" + +#: gtk2_ardour/sfdb_ui.cc:973 +#: gtk2_ardour/sfdb_ui.cc:987 +#: gtk2_ardour/sfdb_ui.cc:1287 +msgid "all files in one region" +msgstr "alle Dateien in einer Region" + +#: gtk2_ardour/sfdb_ui.cc:979 +#: gtk2_ardour/sfdb_ui.cc:1285 +msgid "one region per file" +msgstr "eine Region pro Datei" + +#: gtk2_ardour/sfdb_ui.cc:982 +#: gtk2_ardour/sfdb_ui.cc:1286 +msgid "one region per channel" +msgstr "eine Region pro Kanal" + +#: gtk2_ardour/sfdb_ui.cc:1040 +msgid "" +"One or more of the selected files\n" +"cannot be used by Ardour" +msgstr "" +"Eine oder mehrere der ausgewählten Dateien\n" +"können nicht von Ardour benutzt werden" + +#: gtk2_ardour/sfdb_ui.cc:1167 +msgid "Copy files to session" +msgstr "Kopiere Dateien zum Projekt" + +#: gtk2_ardour/sfdb_ui.cc:1183 +#: gtk2_ardour/sfdb_ui.cc:1318 +msgid "use file timestamp" +msgstr "Zeitstempel" + +#: gtk2_ardour/sfdb_ui.cc:1184 +#: gtk2_ardour/sfdb_ui.cc:1320 +msgid "at edit point" +msgstr "Arbeitspunkt" + +#: gtk2_ardour/sfdb_ui.cc:1185 +#: gtk2_ardour/sfdb_ui.cc:1322 +msgid "at playhead" +msgstr "Positionszeiger" + +#: gtk2_ardour/sfdb_ui.cc:1186 +msgid "at session start" +msgstr "Projektanfang" + +#: gtk2_ardour/sfdb_ui.cc:1191 +msgid "Add files:" +msgstr "Hinzufügen:" + +#: gtk2_ardour/sfdb_ui.cc:1213 +msgid "Insert:" +msgstr "Einfügepunkt:" + +#: gtk2_ardour/sfdb_ui.cc:1226 +msgid "Mapping:" +msgstr "Zuordnung:" + +#: gtk2_ardour/sfdb_ui.cc:1244 +msgid "Conversion Quality:" +msgstr "SR-Konvertierung:" + +#: gtk2_ardour/sfdb_ui.cc:1256 +#: gtk2_ardour/sfdb_ui.cc:1334 +msgid "Best" +msgstr "bestmöglich" + +#: gtk2_ardour/sfdb_ui.cc:1257 +#: gtk2_ardour/sfdb_ui.cc:1336 +msgid "Good" +msgstr "gut" + +#: gtk2_ardour/sfdb_ui.cc:1258 +#: gtk2_ardour/sfdb_ui.cc:1338 +msgid "Quick" +msgstr "schnell" + +#: gtk2_ardour/sfdb_ui.cc:1282 +msgid "merge files" +msgstr "Dateien zusammenfügen" + +#: gtk2_ardour/sfdb_ui.cc:1359 +msgid "programming error: %1 (%2)" +msgstr "Programmierfehler: %1 (%2)" + +#: gtk2_ardour/editor_export_audio.cc:66 +msgid "" +"There is no selection to export.\n" +"\n" +"Select a selection using the range mouse mode" +msgstr "" +"Es wurde keine Auswahlbereich zum Exportieren erstellt.\n" +"\n" +"Erstellen Sie eine Auswahl mit dem Bereichswerkzeug" + +#: gtk2_ardour/editor_export_audio.cc:109 +msgid "" +"There are no ranges to export.\n" +"\n" +"Create 1 or more ranges by dragging the mouse in the range bar" +msgstr "" +"Es gibt keine Bereiche, die exportiert werden können.\n" +"\n" +"Erstellen Sie einen oder mehrere Bereiche, indem Sie den Mauszeiger in der Bereichleiste ziehen" + #: gtk2_ardour/editor_actions.cc:49 -msgid "Select Regions" -msgstr "Region auswählen" +msgid "Autoconnect" +msgstr "Automatisch verbinden" #: gtk2_ardour/editor_actions.cc:50 -msgid "Select Range Operations" -msgstr "Bereichs" +msgid "Crossfades" +msgstr "Crossfades" -#: gtk2_ardour/editor_actions.cc:51 +#: gtk2_ardour/editor_actions.cc:52 msgid "Move Selected Marker" msgstr "Ausgewählten Positionsmarker verschieben" -#: gtk2_ardour/editor_actions.cc:52 -msgid "Region operations" -msgstr "Region(en)" - #: gtk2_ardour/editor_actions.cc:53 -msgid "Tools" -msgstr "Werkzeuge" +msgid "Select Range Operations" +msgstr "Bereichs" #: gtk2_ardour/editor_actions.cc:54 -msgid "View" -msgstr "Ansicht" +msgid "Select Regions" +msgstr "Region auswählen" #: gtk2_ardour/editor_actions.cc:55 -msgid "ZoomFocus" -msgstr "Zoom-Mittelpunkt" - -#: gtk2_ardour/editor_actions.cc:56 -msgid "Meter hold" -msgstr "Pegelanzeige halten" +msgid "Edit Point" +msgstr "Arbeitspunkt" #: gtk2_ardour/editor_actions.cc:57 -msgid "Meter falloff" -msgstr "Abfall der Pegelanzeigen" +msgid "Latch" +msgstr "Latch" + +#: gtk2_ardour/editor_actions.cc:58 +msgid "Layering" +msgstr "Layering" #: gtk2_ardour/editor_actions.cc:59 -msgid "Crossfades" -msgstr "Crossfades" +msgid "Link" +msgstr "Link" #: gtk2_ardour/editor_actions.cc:60 -msgid "Monitoring" -msgstr "Monitoring" +#, fuzzy +msgid "Locate To Markers" +msgstr "Positionsmarker" #: gtk2_ardour/editor_actions.cc:61 -msgid "Autoconnect" -msgstr "Automatisch verbinden" +#: gtk2_ardour/editor_actions.cc:685 +msgid "Markers" +msgstr "Marker" #: gtk2_ardour/editor_actions.cc:62 -msgid "Layering" -msgstr "Layering" +msgid "Meter falloff" +msgstr "Abfall der Pegelanzeigen" #: gtk2_ardour/editor_actions.cc:63 -msgid "Timecode fps" -msgstr "Timecode FPS" +msgid "Meter hold" +msgstr "Pegelanzeige halten" #: gtk2_ardour/editor_actions.cc:64 +msgid "Misc Options" +msgstr "Sonstiges" + +#: gtk2_ardour/editor_actions.cc:65 +msgid "Monitoring" +msgstr "Monitoring" + +#: gtk2_ardour/editor_actions.cc:70 +msgid "Primary Clock" +msgstr "Erste Zeitanzeige" + +#: gtk2_ardour/editor_actions.cc:71 msgid "Pullup / Pulldown" msgstr "Pull-Up / Pull-Down" -#: gtk2_ardour/editor_actions.cc:65 +#: gtk2_ardour/editor_actions.cc:72 +msgid "Region" +msgstr "Region" + +#: gtk2_ardour/editor_actions.cc:73 +msgid "Region operations" +msgstr "Region(en)" + +#: gtk2_ardour/editor_actions.cc:74 +msgid "Gain" +msgstr "Gain" + +#: gtk2_ardour/editor_actions.cc:75 +msgid "Rulers" +msgstr "Markierungsleisten" + +#: gtk2_ardour/editor_actions.cc:76 +msgid "Views" +msgstr "Ansichten" + +#: gtk2_ardour/editor_actions.cc:77 +msgid "Scroll" +msgstr "Scrollen" + +#: gtk2_ardour/editor_actions.cc:78 +msgid "Secondary Clock" +msgstr "Zweite Zeitanzeige" + +#: gtk2_ardour/editor_actions.cc:81 +#: gtk2_ardour/editor_actions.cc:511 +msgid "Separate" +msgstr "Teilen" + +#: gtk2_ardour/editor_actions.cc:85 msgid "Subframes" msgstr "Subframes" -#: gtk2_ardour/editor_actions.cc:66 -#, fuzzy -msgid "Locate To Markers" -msgstr "Positionsmarker" +#: gtk2_ardour/editor_actions.cc:88 +msgid "Timecode fps" +msgstr "Timecode FPS" -#: gtk2_ardour/editor_actions.cc:70 +#: gtk2_ardour/editor_actions.cc:91 +msgid "Tools" +msgstr "Werkzeuge" + +#: gtk2_ardour/editor_actions.cc:93 +msgid "View" +msgstr "Ansicht" + +#: gtk2_ardour/editor_actions.cc:94 +msgid "Waveforms" +msgstr "Wellenform" + +#: gtk2_ardour/editor_actions.cc:95 +msgid "Zoom Focus" +msgstr "Zoom Fokus" + +#: gtk2_ardour/editor_actions.cc:96 +msgid "Zoom" +msgstr "Zoom" + +#: gtk2_ardour/editor_actions.cc:98 msgid "Link Region/Track Selection" msgstr "Spurauswahl folgt Auswahl der Region" -#: gtk2_ardour/editor_actions.cc:72 +#: gtk2_ardour/editor_actions.cc:99 +msgid "Break drag" +msgstr "Verschieben abbrechen" + +#: gtk2_ardour/editor_actions.cc:101 msgid "Show Editor Mixer" msgstr "Mixer-Panel zeigen" -#: gtk2_ardour/editor_actions.cc:77 +#: gtk2_ardour/editor_actions.cc:106 msgid "Span Entire Overlap" msgstr "Gesamte Überlappung" -#: gtk2_ardour/editor_actions.cc:86 +#: gtk2_ardour/editor_actions.cc:115 msgid "Created Automatically" msgstr "Automatisch erzeugen" -#: gtk2_ardour/editor_actions.cc:89 +#: gtk2_ardour/editor_actions.cc:118 +msgid "Use Region Fades (global)" +msgstr "Regionen-Fades global benutzen" + +#: gtk2_ardour/editor_actions.cc:120 +msgid "Show Region Fades" +msgstr "Fades anzeigen" + +#: gtk2_ardour/editor_actions.cc:122 +msgid "Toggle Region Fade In" +msgstr "Fade-In (de-)aktivieren" + +#: gtk2_ardour/editor_actions.cc:124 +msgid "Toggle Region Fade Out" +msgstr "Fade-Out (de-)aktivieren" + +#: gtk2_ardour/editor_actions.cc:126 +msgid "Toggle Region Fades" +msgstr "Überblenden von Region (de-)aktivieren" + +#: gtk2_ardour/editor_actions.cc:129 msgid "Playhead to Next Region Boundary" msgstr "Positionszeiger zur nächsten Regiongrenze" -#: gtk2_ardour/editor_actions.cc:91 +#: gtk2_ardour/editor_actions.cc:131 msgid "Playhead to Previous Region Boundary" msgstr "Positionszeiger zur vorherigen Regiongrenze" -#: gtk2_ardour/editor_actions.cc:94 +#: gtk2_ardour/editor_actions.cc:134 msgid "Playhead to Next Region Start" msgstr "Positionszeiger zum Anfang der nächsten Region" -#: gtk2_ardour/editor_actions.cc:96 +#: gtk2_ardour/editor_actions.cc:136 msgid "Playhead to Next Region End" msgstr "Positionszeiger zum Ende der nächsten Region" -#: gtk2_ardour/editor_actions.cc:98 +#: gtk2_ardour/editor_actions.cc:138 msgid "Playhead to Next Region Sync" msgstr "Positionszeiger zum Einrastpunkt der nächsten Region" -#: gtk2_ardour/editor_actions.cc:101 +#: gtk2_ardour/editor_actions.cc:141 msgid "Playhead to Previous Region Start" msgstr "Positionszeiger zum Anfang der vorherigen Region" -#: gtk2_ardour/editor_actions.cc:103 +#: gtk2_ardour/editor_actions.cc:143 msgid "Playhead to Previous Region End" msgstr "Positionszeiger zum Ende der vorherigen Region" -#: gtk2_ardour/editor_actions.cc:105 +#: gtk2_ardour/editor_actions.cc:145 msgid "Playhead to Previous Region Sync" msgstr "Positionszeiger zum Einrastpunkt der vorherigen Region" -#: gtk2_ardour/editor_actions.cc:108 +#: gtk2_ardour/editor_actions.cc:148 msgid "to Next Region Boundary" msgstr "zur nächsten Regiongrenze" -#: gtk2_ardour/editor_actions.cc:110 +#: gtk2_ardour/editor_actions.cc:150 msgid "to Previous Region Boundary" msgstr "zur vorherigen Regiongrenze" -#: gtk2_ardour/editor_actions.cc:113 +#: gtk2_ardour/editor_actions.cc:153 msgid "to Next Region Start" msgstr "zum Anfang der nächsten Region" -#: gtk2_ardour/editor_actions.cc:115 +#: gtk2_ardour/editor_actions.cc:155 msgid "to Next Region End" msgstr "zum Ende der nächsten Region" -#: gtk2_ardour/editor_actions.cc:117 +#: gtk2_ardour/editor_actions.cc:157 msgid "to Next Region Sync" msgstr "zum Einrastpunkt der nächsten Region" -#: gtk2_ardour/editor_actions.cc:120 +#: gtk2_ardour/editor_actions.cc:160 msgid "to Previous Region Start" msgstr "zum Anfang der vorherigen Region" -#: gtk2_ardour/editor_actions.cc:122 +#: gtk2_ardour/editor_actions.cc:162 msgid "to Previous Region End" msgstr "zum Ende der vorherigen Region" -#: gtk2_ardour/editor_actions.cc:124 +#: gtk2_ardour/editor_actions.cc:164 msgid "to Previous Region Sync" msgstr "zum Einrastpunkt der vorherigen Region" -#: gtk2_ardour/editor_actions.cc:127 +#: gtk2_ardour/editor_actions.cc:167 msgid "to Range Start" msgstr "zum Anfang des Auswahlbereichs" -#: gtk2_ardour/editor_actions.cc:129 +#: gtk2_ardour/editor_actions.cc:169 msgid "to Range End" msgstr "zum Ende des Auswahlbereichs" -#: gtk2_ardour/editor_actions.cc:132 +#: gtk2_ardour/editor_actions.cc:172 msgid "Playhead to Range Start" msgstr "Positionszeiger zum Anfang des Auswahlbereichs" -#: gtk2_ardour/editor_actions.cc:134 +#: gtk2_ardour/editor_actions.cc:174 msgid "Playhead to Range End" msgstr "Positionszeiger zum Ende des Auswahlbereichs" -#: gtk2_ardour/editor_actions.cc:139 -#: gtk2_ardour/redirect_box.cc:1195 -msgid "Deselect All" -msgstr "Nichts auswählen" - -#: gtk2_ardour/editor_actions.cc:141 +#: gtk2_ardour/editor_actions.cc:181 msgid "Invert Selection" msgstr "Auswahl umkehren" -#: gtk2_ardour/editor_actions.cc:160 +#: gtk2_ardour/editor_actions.cc:188 +msgid "Select All Overlapping Edit Range" +msgstr "Alle Regionen des Bearbeitungsbereichs auswählen " + +#: gtk2_ardour/editor_actions.cc:190 +msgid "Select All Inside Edit Range" +msgstr "Alles inerhalb des Bearbeitungsbereichs auswählen" + +#: gtk2_ardour/editor_actions.cc:193 +msgid "Select Edit Range" +msgstr "Bearbeitungsbereich auswählen" + +#: gtk2_ardour/editor_actions.cc:196 msgid "Select All in Punch Range" msgstr "Alle Regionen im Punch-Bereich auswählen" -#: gtk2_ardour/editor_actions.cc:162 +#: gtk2_ardour/editor_actions.cc:198 msgid "Select All in Loop Range" msgstr "Alle Regionen innerhalb der Schleife auswählen" -#: gtk2_ardour/editor_actions.cc:165 +#: gtk2_ardour/editor_actions.cc:201 msgid "Select Next Track/Bus" msgstr "Nächste Spur/Bus auswählen" -#: gtk2_ardour/editor_actions.cc:167 +#: gtk2_ardour/editor_actions.cc:203 msgid "Select Previous Track/Bus" msgstr "Vorherige Spur/Bus auswählen" -#: gtk2_ardour/editor_actions.cc:171 -#, fuzzy +#: gtk2_ardour/editor_actions.cc:207 +msgid "Save View 1" +msgstr "Ansicht 1 speichern" + +#: gtk2_ardour/editor_actions.cc:209 +msgid "Goto View 1" +msgstr "Ansicht 1 aufrufen" + +#: gtk2_ardour/editor_actions.cc:211 +msgid "Save View 2" +msgstr "Ansicht 2 speichern" + +#: gtk2_ardour/editor_actions.cc:213 +msgid "Goto View 2" +msgstr "Ansicht 2 aufrufen" + +#: gtk2_ardour/editor_actions.cc:215 +msgid "Save View 3" +msgstr "Ansicht 3 speichern" + +#: gtk2_ardour/editor_actions.cc:217 +msgid "Goto View 3" +msgstr "Ansicht 3 aufrufen" + +#: gtk2_ardour/editor_actions.cc:219 +msgid "Save View 4" +msgstr "Ansicht 4 speichern" + +#: gtk2_ardour/editor_actions.cc:221 +msgid "Goto View 4" +msgstr "Ansicht 4 aufrufen" + +#: gtk2_ardour/editor_actions.cc:223 +msgid "Save View 5" +msgstr "Ansicht 5 speichern" + +#: gtk2_ardour/editor_actions.cc:225 +msgid "Goto View 5" +msgstr "Ansicht 5 aufrufen" + +#: gtk2_ardour/editor_actions.cc:227 +msgid "Save View 6" +msgstr "Ansicht 6 speichern" + +#: gtk2_ardour/editor_actions.cc:229 +msgid "Goto View 6" +msgstr "Ansicht 6 aufrufen" + +#: gtk2_ardour/editor_actions.cc:231 +msgid "Save View 7" +msgstr "Ansicht 7 speichern" + +#: gtk2_ardour/editor_actions.cc:233 +msgid "Goto View 7" +msgstr "Ansicht 7 aufrufen" + +#: gtk2_ardour/editor_actions.cc:235 +msgid "Save View 8" +msgstr "Ansicht 8 speichern" + +#: gtk2_ardour/editor_actions.cc:237 +msgid "Goto View 8" +msgstr "Ansicht 8 aufrufen" + +#: gtk2_ardour/editor_actions.cc:239 +msgid "Save View 9" +msgstr "Ansicht 9 speichern" + +#: gtk2_ardour/editor_actions.cc:241 +msgid "Goto View 9" +msgstr "Ansicht 9 aufrufen" + +#: gtk2_ardour/editor_actions.cc:243 +msgid "Save View 10" +msgstr "Ansicht 10 speichern" + +#: gtk2_ardour/editor_actions.cc:245 +msgid "Goto View 10" +msgstr "Ansicht 10 aufrufen" + +#: gtk2_ardour/editor_actions.cc:247 +msgid "Save View 11" +msgstr "Ansicht 11 speichern" + +#: gtk2_ardour/editor_actions.cc:249 +msgid "Goto View 11" +msgstr "Ansicht 11 aufrufen" + +#: gtk2_ardour/editor_actions.cc:251 +msgid "Save View 12" +msgstr "Ansicht 12 speichern" + +#: gtk2_ardour/editor_actions.cc:253 +msgid "Goto View 12" +msgstr "Ansicht 12 aufrufen" + +#: gtk2_ardour/editor_actions.cc:257 msgid "Locate to Mark 1" -msgstr "Zu Marker 1 " +msgstr "Positionszeiger zu Marker 1 setzen" -#: gtk2_ardour/editor_actions.cc:173 -#, fuzzy +#: gtk2_ardour/editor_actions.cc:259 msgid "Locate to Mark 2" -msgstr "Positionszeiger zu Marker setzen" +msgstr "Positionszeiger zu Marker 2 setzen" -#: gtk2_ardour/editor_actions.cc:175 -#, fuzzy +#: gtk2_ardour/editor_actions.cc:261 msgid "Locate to Mark 3" -msgstr "Positionszeiger zu Marker setzen" +msgstr "Positionszeiger zu Marker 3 setzen" -#: gtk2_ardour/editor_actions.cc:177 -#, fuzzy +#: gtk2_ardour/editor_actions.cc:263 msgid "Locate to Mark 4" -msgstr "Positionszeiger zu Marker setzen" +msgstr "Positionszeiger zu Marker 4 setzen" -#: gtk2_ardour/editor_actions.cc:179 -#, fuzzy +#: gtk2_ardour/editor_actions.cc:265 msgid "Locate to Mark 5" -msgstr "Positionszeiger zu Marker setzen" +msgstr "Positionszeiger zu Marker 5 setzen" -#: gtk2_ardour/editor_actions.cc:181 -#, fuzzy +#: gtk2_ardour/editor_actions.cc:267 msgid "Locate to Mark 6" -msgstr "Positionszeiger zu Marker setzen" +msgstr "Positionszeiger zu Marker 6 setzen" -#: gtk2_ardour/editor_actions.cc:183 -#, fuzzy +#: gtk2_ardour/editor_actions.cc:269 msgid "Locate to Mark 7" -msgstr "Positionszeiger zu Marker setzen" +msgstr "Positionszeiger zu Marker 7 setzen" -#: gtk2_ardour/editor_actions.cc:185 -#, fuzzy +#: gtk2_ardour/editor_actions.cc:271 msgid "Locate to Mark 8" -msgstr "Positionszeiger zu Marker setzen" +msgstr "Positionszeiger zu Marker 8 setzen" -#: gtk2_ardour/editor_actions.cc:187 -#, fuzzy +#: gtk2_ardour/editor_actions.cc:273 msgid "Locate to Mark 9" -msgstr "Positionszeiger zu Marker setzen" +msgstr "Positionszeiger zu Marker 9 setzen" -#: gtk2_ardour/editor_actions.cc:190 +#: gtk2_ardour/editor_actions.cc:276 msgid "Jump Forward to Mark" msgstr "Zum nächsten Marker springen" -#: gtk2_ardour/editor_actions.cc:192 +#: gtk2_ardour/editor_actions.cc:278 msgid "Jump Backward to Mark" msgstr "Zum vorherigen Marker springen" -#: gtk2_ardour/editor_actions.cc:194 +#: gtk2_ardour/editor_actions.cc:280 msgid "Add Mark from Playhead" msgstr "Marker am Positionszeiger setzen" -#: gtk2_ardour/editor_actions.cc:197 +#: gtk2_ardour/editor_actions.cc:283 msgid "Nudge Forward" msgstr "Schritt nach vorne" -#: gtk2_ardour/editor_actions.cc:199 +#: gtk2_ardour/editor_actions.cc:285 msgid "Nudge Next Forward" msgstr "Nächste Region Schritt vorwärts" -#: gtk2_ardour/editor_actions.cc:201 +#: gtk2_ardour/editor_actions.cc:287 msgid "Nudge Backward" msgstr "Schritt nach Hinten" -#: gtk2_ardour/editor_actions.cc:203 +#: gtk2_ardour/editor_actions.cc:289 msgid "Nudge Next Backward" msgstr "Nächste Region Schritt rückwärts" -#: gtk2_ardour/editor_actions.cc:213 +#: gtk2_ardour/editor_actions.cc:292 +msgid "Nudge Playhead Forward" +msgstr "Positionszeiger vorwärts" + +#: gtk2_ardour/editor_actions.cc:294 +msgid "Nudge Playhead Backward" +msgstr "Positionszeiger rückwärts" + +#: gtk2_ardour/editor_actions.cc:296 +msgid "Forward To Grid" +msgstr "Vorwärts auf Raster" + +#: gtk2_ardour/editor_actions.cc:298 +msgid "Backward To Grid" +msgstr "Rückwärts auf Raster" + +#: gtk2_ardour/editor_actions.cc:308 msgid "Zoom to Region" msgstr "Auf Region zoomen" -#: gtk2_ardour/editor_actions.cc:215 +#: gtk2_ardour/editor_actions.cc:310 +msgid "Zoom to Region (W&H)" +msgstr "Auf Region zoomen (B&H)" + +#: gtk2_ardour/editor_actions.cc:312 msgid "Toggle Zoom State" -msgstr "" +msgstr "Letzten Zoom wählen" + +#: gtk2_ardour/editor_actions.cc:315 +msgid "Move Selected Tracks Up" +msgstr "Ausgewählte Spuren nach oben verschieben" + +#: gtk2_ardour/editor_actions.cc:317 +msgid "Move Selected Tracks Down" +msgstr "Ausgewählte Spuren nach unten verschieben" -#: gtk2_ardour/editor_actions.cc:218 +#: gtk2_ardour/editor_actions.cc:320 msgid "Scroll Tracks Up" msgstr "Spuren nach oben scrollen" -#: gtk2_ardour/editor_actions.cc:220 +#: gtk2_ardour/editor_actions.cc:322 msgid "Scroll Tracks Down" msgstr "Spuren nach unten scrollen" -#: gtk2_ardour/editor_actions.cc:222 +#: gtk2_ardour/editor_actions.cc:324 msgid "Step Tracks Up" msgstr "Spuren langsam nach oben scrollen" -#: gtk2_ardour/editor_actions.cc:224 +#: gtk2_ardour/editor_actions.cc:326 msgid "Step Tracks Down" msgstr "Spuren langsam nach unten scrollen" -#: gtk2_ardour/editor_actions.cc:227 +#: gtk2_ardour/editor_actions.cc:329 msgid "Scroll Backward" -msgstr "Vorwärts scrollen" +msgstr "Nach rechts scrollen" -#: gtk2_ardour/editor_actions.cc:229 +#: gtk2_ardour/editor_actions.cc:331 msgid "Scroll Forward" -msgstr "Rückwärts scrollen" +msgstr "Nach links scrollen" -#: gtk2_ardour/editor_actions.cc:231 +#: gtk2_ardour/editor_actions.cc:333 msgid "goto" msgstr "Gehe zu" -#: gtk2_ardour/editor_actions.cc:233 -#: gtk2_ardour/editor_actions.cc:235 -msgid "to Center" -msgstr "zur Mitte" +#: gtk2_ardour/editor_actions.cc:335 +msgid "Center Playhead" +msgstr "Positionszeiger zentrieren" + +#: gtk2_ardour/editor_actions.cc:337 +msgid "Center Active Marker" +msgstr "Marker zentrieren" -#: gtk2_ardour/editor_actions.cc:238 -msgid "Playhead forward" +#: gtk2_ardour/editor_actions.cc:340 +msgid "Playhead Forward" msgstr "Positionszeiger vorwärts" -#: gtk2_ardour/editor_actions.cc:240 +#: gtk2_ardour/editor_actions.cc:342 msgid "Playhead Backward" msgstr "Positionszeiger rückwärts" -#: gtk2_ardour/editor_actions.cc:243 -msgid "to Edit" -msgstr "Positionszeiger zum Arbeitspunkt" +#: gtk2_ardour/editor_actions.cc:345 +msgid "Playhead To Active Mark" +msgstr "Positionszeiger zur aktiven Markierung" -#: gtk2_ardour/editor_actions.cc:245 -msgid "to Playhead" -msgstr "zum Positionszeiger" +#: gtk2_ardour/editor_actions.cc:347 +msgid "Active Mark To Playhead" +msgstr "Aktiven Marker zum Positionszeiger verschieben" + +#: gtk2_ardour/editor_actions.cc:350 +msgid "Trim Start At Edit Point" +msgstr "Schneide Anfang der Region am Arbeitspunkt" + +#: gtk2_ardour/editor_actions.cc:353 +msgid "Trim End At Edit Point" +msgstr "Schneide Ende der Region am Arbeitspunkt" -#: gtk2_ardour/editor_actions.cc:248 -msgid "Trim start at edit point" -msgstr "Schneide Regionanfang am Arbeitspunkt" +#: gtk2_ardour/editor_actions.cc:357 +msgid "Start To Edit Point" +msgstr "Von Anfang bis Arbeitspunkt" -#: gtk2_ardour/editor_actions.cc:250 -msgid "Trim end at edit point" -msgstr "Schneide Regionende am Arbeitspunkt" +#: gtk2_ardour/editor_actions.cc:360 +msgid "Edit Point To End" +msgstr "Von Arbeitspunkt bis Ende" -#: gtk2_ardour/editor_actions.cc:262 +#: gtk2_ardour/editor_actions.cc:370 msgid "Set Loop From Edit Range" msgstr "Schleife aus Editierbereich erstellen" -#: gtk2_ardour/editor_actions.cc:264 +#: gtk2_ardour/editor_actions.cc:372 msgid "Set Loop From Region" msgstr "Schleife aus Region erstellen" -#: gtk2_ardour/editor_actions.cc:268 +#: gtk2_ardour/editor_actions.cc:377 msgid "Set Punch From Edit Range" msgstr "Punch-Bereich aus Editierbereich erstellen" -#: gtk2_ardour/editor_actions.cc:272 +#: gtk2_ardour/editor_actions.cc:379 +msgid "Set Punch From Region" +msgstr "Punch-Bereich aus Region erstellen" + +#: gtk2_ardour/editor_actions.cc:382 msgid "Transpose" msgstr "Transponieren" -#: gtk2_ardour/editor_actions.cc:275 +#: gtk2_ardour/editor_actions.cc:384 +msgid "Toggle Opaque" +msgstr "Deckend" + +#: gtk2_ardour/editor_actions.cc:388 msgid "Set Fade In Length" msgstr "Ändere Fade-In Länge" -#: gtk2_ardour/editor_actions.cc:277 +#: gtk2_ardour/editor_actions.cc:390 msgid "Toggle Fade In Active" msgstr "Fade-In aktivieren" -#: gtk2_ardour/editor_actions.cc:279 +#: gtk2_ardour/editor_actions.cc:392 msgid "Set Fade Out Length" msgstr "Fade-Out verändern" -#: gtk2_ardour/editor_actions.cc:281 +#: gtk2_ardour/editor_actions.cc:394 msgid "Toggle Fade Out Active" msgstr "Fade-Out aktivieren" -#: gtk2_ardour/editor_actions.cc:284 +#: gtk2_ardour/editor_actions.cc:397 msgid "Align Regions Start" msgstr "Anfang der Regionen ausrichten" -#: gtk2_ardour/editor_actions.cc:286 +#: gtk2_ardour/editor_actions.cc:400 msgid "Align Regions Start Relative" msgstr "Anfang der Regionen relativ ausrichten" -#: gtk2_ardour/editor_actions.cc:288 +#: gtk2_ardour/editor_actions.cc:403 msgid "Align Regions End" msgstr "Regionenenden ausrichten" -#: gtk2_ardour/editor_actions.cc:290 +#: gtk2_ardour/editor_actions.cc:406 msgid "Align Regions End Relative" msgstr "Regionenenden relativ ausrichten" -#: gtk2_ardour/editor_actions.cc:293 +#: gtk2_ardour/editor_actions.cc:410 msgid "Align Regions Sync" msgstr "Regionen-Einrastpunkt ausrichten" -#: gtk2_ardour/editor_actions.cc:295 +#: gtk2_ardour/editor_actions.cc:413 msgid "Align Regions Sync Relative" msgstr "Regionen-Einrastpunkt relativ ausrichten" -#: gtk2_ardour/editor_actions.cc:298 +#: gtk2_ardour/editor_actions.cc:417 msgid "Play From Edit Point" msgstr "Wiedergabe ab Arbeitspunkt" -#: gtk2_ardour/editor_actions.cc:300 +#: gtk2_ardour/editor_actions.cc:419 msgid "Play from Edit Point & Return" msgstr "Wiedergabe ab Arbeitspunkt & Return" -#: gtk2_ardour/editor_actions.cc:303 +#: gtk2_ardour/editor_actions.cc:422 msgid "Play Edit Range" msgstr "Editierbereich wiedergeben" -#: gtk2_ardour/editor_actions.cc:304 +#: gtk2_ardour/editor_actions.cc:423 msgid "Play Selected Region(s)" msgstr "Ausgewählte Regionen wiedergeben" -#: gtk2_ardour/editor_actions.cc:306 +#: gtk2_ardour/editor_actions.cc:426 msgid "Brush at Mouse" msgstr "Pinsel an Mausposition (Brush)" -#: gtk2_ardour/editor_actions.cc:308 -msgid "Mute/Unmute Region" -msgstr "Region Mute/Unmute" +#: gtk2_ardour/editor_actions.cc:429 +msgid "Playhead to Mouse" +msgstr "Positionszeiger zur Mausposition" -#: gtk2_ardour/editor_actions.cc:311 -msgid "Set Playhead" -msgstr "Positionszeiger setzen" +#: gtk2_ardour/editor_actions.cc:431 +msgid "Active Marker to Mouse" +msgstr "Akitven Marker zur Mausposition" -#: gtk2_ardour/editor_actions.cc:313 -msgid "Set Edit Point" -msgstr "Arbeitspunkt setzen" +#: gtk2_ardour/editor_actions.cc:434 +msgid "Duplicate Region" +msgstr "Region duplizieren" -#: gtk2_ardour/editor_actions.cc:315 +#: gtk2_ardour/editor_actions.cc:437 +msgid "Multi-Duplicate Region" +msgstr "Region mehrfach duplizieren" + +#: gtk2_ardour/editor_actions.cc:440 +msgid "Duplicate Range" +msgstr "Bereich duplizieren" + +#: gtk2_ardour/editor_actions.cc:443 +msgid "Insert Region" +msgstr "Einfügen" + +#: gtk2_ardour/editor_actions.cc:446 +msgid "Normalize Region" +msgstr "Normalisieren" + +#: gtk2_ardour/editor_actions.cc:452 +msgid "Auto-Rename" +msgstr "Automatisch umbenennen" + +#: gtk2_ardour/editor_actions.cc:455 +msgid "Boost Region Gain" +msgstr "Lautstärke erhöhen" + +#: gtk2_ardour/editor_actions.cc:458 +msgid "Cut Region Gain" +msgstr "Lautstärke erniedrigen" + +#: gtk2_ardour/editor_actions.cc:461 msgid "Split Region" msgstr "Region teilen (Split)" -#: gtk2_ardour/editor_actions.cc:317 +#: gtk2_ardour/editor_actions.cc:464 msgid "Set Region Sync Position" msgstr "Einrastpunkt der Region setzen" -#: gtk2_ardour/editor_actions.cc:325 +#: gtk2_ardour/editor_actions.cc:467 +msgid "Remove Region Sync" +msgstr "Synchronisation entfernen" + +#: gtk2_ardour/editor_actions.cc:470 +msgid "Raise Region" +msgstr "Region weiter nach oben" + +#: gtk2_ardour/editor_actions.cc:473 +msgid "Lower Region" +msgstr "Region weiter nach unten" + +#: gtk2_ardour/editor_actions.cc:476 +msgid "Export Region" +msgstr "Region exportieren" + +#: gtk2_ardour/editor_actions.cc:479 +msgid "Lock Region" +msgstr "Region sperren" + +#: gtk2_ardour/editor_actions.cc:482 +msgid "Glue Region To Bars&Beats" +msgstr "Region an an Takte und Schläge binden" + +#: gtk2_ardour/editor_actions.cc:485 +msgid "Move To Original Position" +msgstr "Ursprungsposition" + +#: gtk2_ardour/editor_actions.cc:497 +msgid "Mute/Unmute Region" +msgstr "Region stummschalten" + +#: gtk2_ardour/editor_actions.cc:506 msgid "Export Session" msgstr "Projekt exportieren..." -#: gtk2_ardour/editor_actions.cc:327 +#: gtk2_ardour/editor_actions.cc:508 msgid "Export Range" msgstr "Bereiche exportieren..." -#: gtk2_ardour/editor_actions.cc:330 -msgid "Separate" -msgstr "Teilen" +#: gtk2_ardour/editor_actions.cc:514 +msgid "Separate Using Punch Range" +msgstr "an Punch-Bereichsgrenzen teilen" -#: gtk2_ardour/editor_actions.cc:332 -#: gtk2_ardour/editor_actions.cc:355 -#, fuzzy -msgid "Crop" -msgstr "Kopieren" +#: gtk2_ardour/editor_actions.cc:517 +msgid "Separate Using Loop Range" +msgstr "an Schleifenenden teilen" -#: gtk2_ardour/editor_actions.cc:337 -#: gtk2_ardour/redirect_box.cc:1188 -#: gtk2_ardour/connection_editor.cc:55 -msgid "Delete" -msgstr "Löschen" +#: gtk2_ardour/editor_actions.cc:520 +#: gtk2_ardour/editor_actions.cc:550 +msgid "Crop" +msgstr "Beschneiden" -#: gtk2_ardour/editor_actions.cc:343 -msgid "Duplicate Region" -msgstr "Duplizieren" +#: gtk2_ardour/editor_actions.cc:533 +msgid "Set Tempo from Region=Bar" +msgstr "Tempo setzen mit \"Region=Takt\"" -#: gtk2_ardour/editor_actions.cc:345 -msgid "Multi-Duplicate Region" -msgstr "Region mehrfach Duplizieren" +#: gtk2_ardour/editor_actions.cc:536 +msgid "Set Tempo from Edit Range=Bar" +msgstr "Tempo setzen mit \"Auswahl=Takt\"" -#: gtk2_ardour/editor_actions.cc:347 -msgid "Duplicate Range" -msgstr "Bereich duplizieren" +#: gtk2_ardour/editor_actions.cc:539 +msgid "Split Regions At Percussion Onsets" +msgstr "Regionen an perkussiven Schlägen teilen" -#: gtk2_ardour/editor_actions.cc:349 -msgid "Insert Region" -msgstr "Einfügen" +#: gtk2_ardour/editor_actions.cc:542 +msgid "Rhythm Ferret" +msgstr "Rhythm Ferret" -#: gtk2_ardour/editor_actions.cc:351 -msgid "Reverse Region" -msgstr "Rückwärts" +#: gtk2_ardour/editor_actions.cc:545 +msgid "Move Forward to Transient" +msgstr "Zum nächsten Transienten" -#: gtk2_ardour/editor_actions.cc:353 -msgid "Normalize Region" -msgstr "Normalisieren" +#: gtk2_ardour/editor_actions.cc:547 +msgid "Move Backwards to Transient" +msgstr "Zum vorherigen Transienten" -#: gtk2_ardour/editor_actions.cc:357 +#: gtk2_ardour/editor_actions.cc:552 msgid "Insert Chunk" msgstr "Abschnitt einfügen" -#: gtk2_ardour/editor_actions.cc:360 +#: gtk2_ardour/editor_actions.cc:555 msgid "Split At Edit Point" msgstr "Am Arbeitspunkt trennen" -#: gtk2_ardour/editor_actions.cc:363 +#: gtk2_ardour/editor_actions.cc:558 msgid "Start Range" msgstr "Bereich beginnen" -#: gtk2_ardour/editor_actions.cc:365 +#: gtk2_ardour/editor_actions.cc:560 msgid "Finish Range" msgstr "Bereich beenden" -#: gtk2_ardour/editor_actions.cc:367 +#: gtk2_ardour/editor_actions.cc:562 msgid "Finish add Range" msgstr "Bereich hinzufügen beenden" -#: gtk2_ardour/editor_actions.cc:375 +#: gtk2_ardour/editor_actions.cc:570 msgid "Follow Playhead" msgstr "Positionszeiger folgen" -#: gtk2_ardour/editor_actions.cc:383 +#: gtk2_ardour/editor_actions.cc:575 +msgid "Insert Time" +msgstr "Stille Einfügen" + +#: gtk2_ardour/editor_actions.cc:579 +msgid "Toggle Active" +msgstr "Spur Aktivieren / Deaktivieren" + +#: gtk2_ardour/editor_actions.cc:586 +msgid "Fit Selected Tracks" +msgstr "An ausgewählte Spuren anpassen" + +#: gtk2_ardour/editor_actions.cc:611 msgid "Zoom Focus Left" msgstr "Am linken Rand ausrichten" -#: gtk2_ardour/editor_actions.cc:385 +#: gtk2_ardour/editor_actions.cc:613 msgid "Zoom Focus Right" msgstr "Am rechten Rand ausrichten" -#: gtk2_ardour/editor_actions.cc:387 +#: gtk2_ardour/editor_actions.cc:615 msgid "Zoom Focus Center" msgstr "Zentriert ausrichten" -#: gtk2_ardour/editor_actions.cc:389 +#: gtk2_ardour/editor_actions.cc:617 msgid "Zoom Focus Playhead" msgstr "Am Positionszeiger ausrichten" -#: gtk2_ardour/editor_actions.cc:391 +#: gtk2_ardour/editor_actions.cc:619 msgid "Zoom Focus Mouse" msgstr "Zoom Fokus zur Maus" -#: gtk2_ardour/editor_actions.cc:393 +#: gtk2_ardour/editor_actions.cc:621 msgid "Zoom Focus Edit" msgstr "Am Editierzeiger ausrichten" -#: gtk2_ardour/editor_actions.cc:399 +#: gtk2_ardour/editor_actions.cc:627 msgid "Object Tool" msgstr "Objektwerkzeug" -#: gtk2_ardour/editor_actions.cc:400 +#: gtk2_ardour/editor_actions.cc:628 msgid "Range Tool" msgstr "Bereich-Werkzeug (Range)" -#: gtk2_ardour/editor_actions.cc:401 +#: gtk2_ardour/editor_actions.cc:629 msgid "Gain Tool" msgstr "Lautstärkewerkzeug (Gain)" -#: gtk2_ardour/editor_actions.cc:402 +#: gtk2_ardour/editor_actions.cc:630 msgid "Zoom Tool" msgstr "Zoom-Werkzeug" -#: gtk2_ardour/editor_actions.cc:403 +#: gtk2_ardour/editor_actions.cc:631 msgid "Timefx Tool" msgstr "Zeit-Werkzeug (Time)" -#: gtk2_ardour/editor_actions.cc:410 +#: gtk2_ardour/editor_actions.cc:638 msgid "Change edit point" msgstr "Arbeitspunkt ändern" -#: gtk2_ardour/editor_actions.cc:411 +#: gtk2_ardour/editor_actions.cc:639 msgid "Change edit point (w/Marker)" msgstr "Setze Arbeitspunkt (über Positionsmarker)" -#: gtk2_ardour/editor_actions.cc:413 -#, fuzzy +#: gtk2_ardour/editor_actions.cc:641 msgid "Splice" msgstr "Teilen" -#: gtk2_ardour/editor_actions.cc:414 +#: gtk2_ardour/editor_actions.cc:642 #, fuzzy msgid "Slide" msgstr "Verbergen" -#: gtk2_ardour/editor_actions.cc:415 +#: gtk2_ardour/editor_actions.cc:644 msgid "Toggle Edit Mode" -msgstr "" +msgstr "Edit-Modus (de-) aktivieren" -#: gtk2_ardour/editor_actions.cc:417 +#: gtk2_ardour/editor_actions.cc:646 msgid "Snap To" msgstr "Raster" -#: gtk2_ardour/editor_actions.cc:418 +#: gtk2_ardour/editor_actions.cc:647 msgid "Snap Mode" msgstr "Einrastmodus" -#: gtk2_ardour/editor_actions.cc:425 +#: gtk2_ardour/editor_actions.cc:654 msgid "Next Snap Mode" msgstr "Nächster Einrastmodus" -#: gtk2_ardour/editor_actions.cc:426 +#: gtk2_ardour/editor_actions.cc:655 msgid "Next Snap Choice" -msgstr "" +msgstr "Nächster Einrastmodus" -#: gtk2_ardour/editor_actions.cc:431 +#: gtk2_ardour/editor_actions.cc:660 msgid "Snap to cd frame" msgstr "An CD-Frames einrasten" -#: gtk2_ardour/editor_actions.cc:432 +#: gtk2_ardour/editor_actions.cc:661 msgid "Snap to SMPTE frame" msgstr "An SMPTE-Frames einrasten" -#: gtk2_ardour/editor_actions.cc:433 +#: gtk2_ardour/editor_actions.cc:662 msgid "Snap to SMPTE seconds" msgstr "An SMPTE-Sekunden einrasten" -#: gtk2_ardour/editor_actions.cc:434 +#: gtk2_ardour/editor_actions.cc:663 msgid "Snap to SMPTE minutes" msgstr "An SMPTE-Minuten einrasten" -#: gtk2_ardour/editor_actions.cc:435 +#: gtk2_ardour/editor_actions.cc:664 msgid "Snap to seconds" msgstr "An Sekunden einrasten" -#: gtk2_ardour/editor_actions.cc:436 +#: gtk2_ardour/editor_actions.cc:665 msgid "Snap to minutes" msgstr "An Minuten einrasten" -#: gtk2_ardour/editor_actions.cc:437 +#: gtk2_ardour/editor_actions.cc:666 msgid "Snap to thirtyseconds" msgstr "An halben Minuten einrasten" -#: gtk2_ardour/editor_actions.cc:438 +#: gtk2_ardour/editor_actions.cc:667 msgid "Snap to asixteenthbeat" msgstr "An Sechzehnteln einrasten" -#: gtk2_ardour/editor_actions.cc:439 +#: gtk2_ardour/editor_actions.cc:668 msgid "Snap to eighths" msgstr "An Achteln einrasten" -#: gtk2_ardour/editor_actions.cc:440 +#: gtk2_ardour/editor_actions.cc:669 msgid "Snap to quarters" msgstr "An Vierteln einrasten" -#: gtk2_ardour/editor_actions.cc:441 +#: gtk2_ardour/editor_actions.cc:670 msgid "Snap to thirds" msgstr "An Triolen einrasten" -#: gtk2_ardour/editor_actions.cc:442 +#: gtk2_ardour/editor_actions.cc:671 msgid "Snap to beat" msgstr "An Schlägen einrasten" -#: gtk2_ardour/editor_actions.cc:443 +#: gtk2_ardour/editor_actions.cc:672 msgid "Snap to bar" msgstr "An Takten einrasten" -#: gtk2_ardour/editor_actions.cc:444 +#: gtk2_ardour/editor_actions.cc:673 msgid "Snap to mark" msgstr "An Markern einrasten" -#: gtk2_ardour/editor_actions.cc:445 +#: gtk2_ardour/editor_actions.cc:674 msgid "Snap to region start" msgstr "Am Anfang der Regionen einrasten" -#: gtk2_ardour/editor_actions.cc:446 +#: gtk2_ardour/editor_actions.cc:675 msgid "Snap to region end" msgstr "Am Ende der Regionen einrasten" -#: gtk2_ardour/editor_actions.cc:447 +#: gtk2_ardour/editor_actions.cc:676 msgid "Snap to region sync" msgstr "Am Einrastpunkt der Regionen einrasten" -#: gtk2_ardour/editor_actions.cc:448 +#: gtk2_ardour/editor_actions.cc:677 msgid "Snap to region boundary" msgstr "An Grenzen der Regionen einrasten" -#: gtk2_ardour/editor_actions.cc:457 +#: gtk2_ardour/editor_actions.cc:684 +msgid "Ranges" +msgstr "Bereiche" + +#: gtk2_ardour/editor_actions.cc:687 +msgid "Loop/Punch" +msgstr "Schleifen/Punch-Bereiche" + +#: gtk2_ardour/editor_actions.cc:691 +msgid "Min:Sec" +msgstr "Min:Sek" + +#: gtk2_ardour/editor_actions.cc:719 msgid "Sort" msgstr "Sortieren" -#: gtk2_ardour/editor_actions.cc:465 +#: gtk2_ardour/editor_actions.cc:727 msgid "Show all" msgstr "Alle zeigen" -#: gtk2_ardour/editor_actions.cc:466 +#: gtk2_ardour/editor_actions.cc:728 msgid "Show automatic regions" msgstr "Automatische Regionen zeigen" -#: gtk2_ardour/editor_actions.cc:468 +#: gtk2_ardour/editor_actions.cc:730 msgid "Ascending" msgstr "aufsteigend" -#: gtk2_ardour/editor_actions.cc:470 +#: gtk2_ardour/editor_actions.cc:732 msgid "Descending" msgstr "absteigend" -#: gtk2_ardour/editor_actions.cc:473 +#: gtk2_ardour/editor_actions.cc:735 msgid "By Region Name" msgstr "nach Name der Region" -#: gtk2_ardour/editor_actions.cc:475 +#: gtk2_ardour/editor_actions.cc:737 msgid "By Region Length" msgstr "nach Länge der Region" -#: gtk2_ardour/editor_actions.cc:477 +#: gtk2_ardour/editor_actions.cc:739 msgid "By Region Position" msgstr "nach Position der Region" -#: gtk2_ardour/editor_actions.cc:479 +#: gtk2_ardour/editor_actions.cc:741 msgid "By Region Timestamp" msgstr "nach Zeitstempel der Region" -#: gtk2_ardour/editor_actions.cc:481 +#: gtk2_ardour/editor_actions.cc:743 msgid "By Region Start in File" msgstr "nach Anfang der Region in der Datei" -#: gtk2_ardour/editor_actions.cc:483 +#: gtk2_ardour/editor_actions.cc:745 msgid "By Region End in File" msgstr "nach Ende der Region in der Datei" -#: gtk2_ardour/editor_actions.cc:485 +#: gtk2_ardour/editor_actions.cc:747 msgid "By Source File Name" msgstr "nach Namen der Quelldatei" -#: gtk2_ardour/editor_actions.cc:487 +#: gtk2_ardour/editor_actions.cc:749 msgid "By Source File Length" msgstr "nach Länge der Quelldatei" -#: gtk2_ardour/editor_actions.cc:489 +#: gtk2_ardour/editor_actions.cc:751 msgid "By Source File Creation Date" msgstr "nach Erstellungsdatum der Quelldatei" -#: gtk2_ardour/editor_actions.cc:491 +#: gtk2_ardour/editor_actions.cc:753 msgid "By Source Filesystem" msgstr "nach Dateisystem der Quelle" -#: gtk2_ardour/editor_actions.cc:497 -msgid "Add Existing Audio" -msgstr "Audio importieren" +#: gtk2_ardour/editor_actions.cc:759 +msgid "Import" +msgstr "Importieren" -#: gtk2_ardour/editor_actions.cc:499 -msgid "Add External Audio" -msgstr "Audio importieren..." +#: gtk2_ardour/editor_actions.cc:761 +msgid "Import to Region List" +msgstr "Regionen importieren" -#: gtk2_ardour/editor_actions.cc:502 +#: gtk2_ardour/editor_actions.cc:764 msgid "Show Waveforms" msgstr "Wellenformen zeigen" -#: gtk2_ardour/editor_actions.cc:503 +#: gtk2_ardour/editor_actions.cc:767 msgid "Show Waveforms While Recording" msgstr "Wellenformen beim Aufnehmen zeigen" -#: gtk2_ardour/editor_actions.cc:504 +#: gtk2_ardour/editor_actions.cc:768 msgid "Show Measures" -msgstr "Takte zeigen" +msgstr "Takt-Raster einblenden" -#: gtk2_ardour/editor_actions.cc:508 +#: gtk2_ardour/editor_actions.cc:779 msgid "Show Logo" msgstr "Zeige Logo" -#: gtk2_ardour/editor_actions.cc:514 +#: gtk2_ardour/editor_actions.cc:785 msgid "Later is Higher" -msgstr "Neuste nach oben" +msgstr "Spätere nach oben" -#: gtk2_ardour/editor_actions.cc:515 +#: gtk2_ardour/editor_actions.cc:786 msgid "Most Recently Moved/Added is Higher" msgstr "Zuletzt bewegte/hinzugefügte nach oben" -#: gtk2_ardour/editor_actions.cc:516 +#: gtk2_ardour/editor_actions.cc:787 msgid "Most Recently Added is Higher" msgstr "Zuletzt hinzugefügte nach oben" -#: gtk2_ardour/editor_actions.cc:520 +#: gtk2_ardour/editor_actions.cc:791 msgid "23.976" msgstr "23,976" -#: gtk2_ardour/editor_actions.cc:521 +#: gtk2_ardour/editor_actions.cc:792 msgid "24" msgstr "24" -#: gtk2_ardour/editor_actions.cc:522 +#: gtk2_ardour/editor_actions.cc:793 msgid "24.976" msgstr "24,976" -#: gtk2_ardour/editor_actions.cc:523 +#: gtk2_ardour/editor_actions.cc:794 msgid "25" msgstr "25" -#: gtk2_ardour/editor_actions.cc:524 +#: gtk2_ardour/editor_actions.cc:795 msgid "29.97" msgstr "29,97" -#: gtk2_ardour/editor_actions.cc:525 +#: gtk2_ardour/editor_actions.cc:796 msgid "29.97 drop" msgstr "29,97 (drop)" -#: gtk2_ardour/editor_actions.cc:526 +#: gtk2_ardour/editor_actions.cc:797 msgid "30" msgstr "30" -#: gtk2_ardour/editor_actions.cc:527 +#: gtk2_ardour/editor_actions.cc:798 msgid "30 drop" msgstr "30 (drop)" -#: gtk2_ardour/editor_actions.cc:528 +#: gtk2_ardour/editor_actions.cc:799 msgid "59.94" msgstr "59,94" -#: gtk2_ardour/editor_actions.cc:529 +#: gtk2_ardour/editor_actions.cc:800 msgid "60" msgstr "60" -#: gtk2_ardour/editor_actions.cc:533 +#: gtk2_ardour/editor_actions.cc:804 msgid "+4.1667% + 0.1%" msgstr "+4,1667% + 0,1%" -#: gtk2_ardour/editor_actions.cc:534 +#: gtk2_ardour/editor_actions.cc:805 msgid "+4.1667%" msgstr "+4,1667%" -#: gtk2_ardour/editor_actions.cc:535 +#: gtk2_ardour/editor_actions.cc:806 msgid "+4.1667% - 0.1%" msgstr "+4,1667% - 0,1%" -#: gtk2_ardour/editor_actions.cc:536 +#: gtk2_ardour/editor_actions.cc:807 msgid "+ 0.1%" msgstr "+ 0,1%" -#: gtk2_ardour/editor_actions.cc:537 -#: gtk2_ardour/engine_dialog.cc:98 -#: gtk2_ardour/engine_dialog.cc:103 -#: gtk2_ardour/engine_dialog.cc:479 -#: gtk2_ardour/export_dialog.cc:78 -#: gtk2_ardour/export_dialog.cc:92 +#: gtk2_ardour/editor_actions.cc:808 +#: gtk2_ardour/route_ui.cc:604 #: gtk2_ardour/export_dialog.cc:956 -#: gtk2_ardour/export_dialog.cc:1294 -#: gtk2_ardour/route_ui.cc:513 +#: gtk2_ardour/export_dialog.cc:1291 msgid "None" msgstr "Kein" -#: gtk2_ardour/editor_actions.cc:538 +#: gtk2_ardour/editor_actions.cc:809 msgid "- 0.1%" msgstr "- 0,1%" -#: gtk2_ardour/editor_actions.cc:539 +#: gtk2_ardour/editor_actions.cc:810 msgid "-4.1667% + 0.1%" msgstr "-4,1667% + 0,1%" -#: gtk2_ardour/editor_actions.cc:540 +#: gtk2_ardour/editor_actions.cc:811 msgid "-4.1667%" msgstr "-4,1667%" -#: gtk2_ardour/editor_actions.cc:541 +#: gtk2_ardour/editor_actions.cc:812 msgid "-4.1667% - 0.1%" msgstr "-4,1667% - 0,1%" -#: gtk2_ardour/editor_actions.cc:545 +#: gtk2_ardour/editor_actions.cc:816 msgid "80 per frame" msgstr "80 pro Frame" -#: gtk2_ardour/editor_actions.cc:547 +#: gtk2_ardour/editor_actions.cc:818 msgid "100 per frame" msgstr "100 pro Frame" -#: gtk2_ardour/editor_actions.cc:863 -#: gtk2_ardour/editor_actions.cc:972 -#: gtk2_ardour/editor_actions.cc:983 -#: gtk2_ardour/editor_actions.cc:1036 -#: gtk2_ardour/editor_actions.cc:1047 -#: gtk2_ardour/editor_actions.cc:1094 -#: gtk2_ardour/editor_actions.cc:1104 +#: gtk2_ardour/editor_actions.cc:1212 +#: gtk2_ardour/editor_actions.cc:1321 +#: gtk2_ardour/editor_actions.cc:1332 +#: gtk2_ardour/editor_actions.cc:1385 +#: gtk2_ardour/editor_actions.cc:1396 +#: gtk2_ardour/editor_actions.cc:1443 +#: gtk2_ardour/editor_actions.cc:1453 msgid "programming error: %1: %2" msgstr "Programmierfehler: %1: %2" -#: gtk2_ardour/editor_actions.cc:1265 +#: gtk2_ardour/editor_actions.cc:1614 msgid "Configuraton is using unhandled subframes per frame value: %1" msgstr "Diese Konfiguration benutzt einen unzulässigen Wert für Subframes pro Frame: %1" -#: gtk2_ardour/editor_audio_import.cc:71 -#: gtk2_ardour/editor_audio_import.cc:92 -msgid "You can't import or embed an audiofile until you have a session loaded." -msgstr "Sie können keine Audiodatei importieren, solange kein Projekt geladen ist." +#: gtk2_ardour/keyboard.cc:81 +#: gtk2_ardour/keyboard.cc:592 +msgid "Unknown" +msgstr "Unknown" -#: gtk2_ardour/editor_audio_import.cc:77 -#: gtk2_ardour/editor_audio_import.cc:110 -msgid "Add existing audio" -msgstr "Audio importieren" +#: gtk2_ardour/keyboard.cc:473 +msgid "your own" +msgstr "" -#: gtk2_ardour/editor_audio_import.cc:370 -msgid "importing %1" -msgstr "importiere %1" +#: gtk2_ardour/keyboard.cc:537 +#: gtk2_ardour/keyboard.cc:561 +msgid "Default keybindings not found - Ardour will be hard to use!" +msgstr "Keine Tastatur-Standardbelegung gefunden!" -#: gtk2_ardour/editor_audio_import.cc:376 -msgid "Cancel Import" -msgstr "Importieren Abbrechen" +#: gtk2_ardour/keyboard.cc:540 +#: gtk2_ardour/keyboard.cc:564 +msgid "Key bindings file \"%1\" not found. Default bindings used instead" +msgstr "Die Datei \"%1\" für Tastaturkürzel wurde nicht gefunden. Stattdessen wird die Standard-Belegung verwendet." -#: gtk2_ardour/editor_audio_import.cc:479 -msgid "Editor: cannot open file \"%1\", (%2)" -msgstr "Editor: kann die Datei \"%1\" nicht öffnen (%2)" +#: gtk2_ardour/keyboard.cc:603 +msgid "Ardour key bindings file not found at \"%1\" or contains errors." +msgstr "Konnte die Datei mit den Tastaturzuweisungen nicht an der Stelle \"%1\" finden, oder sie ist fehlerhaft." -#: gtk2_ardour/editor_audio_import.cc:487 -msgid "Cancel entire import" -msgstr "Importieren Abbrechen" +#: gtk2_ardour/connection_editor.cc:50 +msgid "ardour: connections" +msgstr "ardour: Verbindungen" -#: gtk2_ardour/editor_audio_import.cc:488 -msgid "Don't embed it" -msgstr "Nicht einbetten" +#: gtk2_ardour/connection_editor.cc:51 +msgid "Input Connections" +msgstr "Verbindungen der Eingänge" -#: gtk2_ardour/editor_audio_import.cc:489 -msgid "Embed all without questions" -msgstr "Alle Importieren ohne nachzufragen" +#: gtk2_ardour/connection_editor.cc:52 +msgid "Output Connections" +msgstr "Verbindungen der Ausgänge" -#: gtk2_ardour/editor_audio_import.cc:492 -#: gtk2_ardour/editor_audio_import.cc:519 -msgid "" -"%1\n" -"This audiofile's sample rate doesn't match the session sample rate!" -msgstr "" -"%1\n" -"Die Samplerate dieser Audiodatei unterscheidet sich von der Samplerate dieses Projekts." +#: gtk2_ardour/connection_editor.cc:53 +msgid "New Input" +msgstr "Neuer Eingang" -#: gtk2_ardour/editor_audio_import.cc:516 -msgid "Embed it anyway" -msgstr "Trotzdem importieren" +#: gtk2_ardour/connection_editor.cc:54 +msgid "New Output" +msgstr "Neuer Ausgang" -#: gtk2_ardour/editor_audio_import.cc:561 -msgid "could not open %1" -msgstr "Konnte \"%s\" nicht öffnen." +#: gtk2_ardour/connection_editor.cc:57 +#: gtk2_ardour/connection_editor.cc:100 +msgid "Add Port" +msgstr "Port hinzufügen" -#: gtk2_ardour/editor_audio_import.cc:691 -msgid "insert sndfile" -msgstr "Audiodatei einfügen" +#: gtk2_ardour/connection_editor.cc:105 +msgid "Available Ports" +msgstr "Verfügbare Verbindungen" -#: gtk2_ardour/editor_canvas.cc:129 -msgid "VerboseCanvasCursor" +#: gtk2_ardour/connection_editor.cc:500 +msgid "Connection \"" +msgstr "Verbindung \"" + +#: gtk2_ardour/connection_editor.cc:502 +msgid "\"" msgstr "" -#: gtk2_ardour/editor_edit_groups.cc:52 -#: gtk2_ardour/mixer_ui.cc:848 -msgid "Activate All" -msgstr "Alle aktivieren" +#: gtk2_ardour/connection_editor.cc:531 +#, c-format +msgid "in %d" +msgstr "In %d" -#: gtk2_ardour/editor_edit_groups.cc:53 -#: gtk2_ardour/mixer_ui.cc:849 -msgid "Disable All" -msgstr "Alle deaktivieren" +#: gtk2_ardour/connection_editor.cc:533 +#, c-format +msgid "out %d" +msgstr "Out %d" -#: gtk2_ardour/editor_edit_groups.cc:55 -#: gtk2_ardour/mixer_ui.cc:851 -msgid "Add group" -msgstr "Gruppe hinzufügen" +#: gtk2_ardour/connection_editor.cc:657 +msgid "Name for new connection:" +msgstr "Name für neue Verbindung:" -#: gtk2_ardour/editor_edit_groups.cc:228 -#: gtk2_ardour/mixer_ui.cc:1092 -msgid "unnamed" -msgstr "unbenannt" +#: gtk2_ardour/route_ui.cc:238 +msgid "mute change" +msgstr "Mute ändern" -#: gtk2_ardour/editor_edit_groups.cc:257 -#: gtk2_ardour/mixer_ui.cc:946 -msgid "-all-" -msgstr "-alle-" +#: gtk2_ardour/route_ui.cc:322 +#: gtk2_ardour/route_ui.cc:333 +msgid "solo change" +msgstr "Solo ändern" -#: gtk2_ardour/editor_export_audio.cc:66 +#: gtk2_ardour/route_ui.cc:394 +msgid "Not connected to JACK - cannot engage record" +msgstr "Nicht mit JACK verbunden - konnte die Aufnahme nicht starten" + +#: gtk2_ardour/route_ui.cc:408 +msgid "rec-enable change" +msgstr "Aufnahmestatus ändern" + +#: gtk2_ardour/route_ui.cc:646 +msgid "Solo-safe" +msgstr "Solo-Safe" + +#: gtk2_ardour/route_ui.cc:668 +msgid "Pre Fader" +msgstr "Pre Fader" + +#: gtk2_ardour/route_ui.cc:675 +msgid "Post Fader" +msgstr "Post Fader" + +#: gtk2_ardour/route_ui.cc:682 +msgid "Control Outs" +msgstr "Vorhörausgang" + +#: gtk2_ardour/route_ui.cc:689 +msgid "Main Outs" +msgstr "Main Ausgänge" + +#: gtk2_ardour/route_ui.cc:726 +msgid "mix group solo change" +msgstr "Mixergruppe Solo-Status ändern" + +#: gtk2_ardour/route_ui.cc:765 +msgid "mix group mute change" +msgstr "Mixergruppe Mute-Status ändern" + +#: gtk2_ardour/route_ui.cc:782 +msgid "mix group rec-enable change" +msgstr "Mixergruppe Aufnahmestatus ändern" + +#: gtk2_ardour/route_ui.cc:876 msgid "" -"There is no selection to export.\n" +"Do you really want to remove track \"%1\" ?\n" "\n" -"Select a selection using the range mouse mode" +"You may also lose the playlist used by this track.\n" +"(cannot be undone)" msgstr "" -"Es wurde keine Auswahlbereich zum Exportieren erstellt.\n" +"Wollen Sie wirklich die Spur \"%1\" löschen?\n" "\n" -"Erstellen Sie eine Auswahl mit dem Bereichswerkzeug" +"Sie werden auch die Wiedergabeliste, die diese Spur benutzt verlieren.\n" +"(Dies kann nicht rückgängig gemacht werden!)" -#: gtk2_ardour/editor_export_audio.cc:109 +#: gtk2_ardour/route_ui.cc:878 msgid "" -"There are no ranges to export.\n" -"\n" -"Create 1 or more ranges by dragging the mouse in the range bar" +"Do you really want to remove bus \"%1\" ?\n" +"(cannot be undone)" msgstr "" -"Es gibt keine Bereiche, die exportiert werden können.\n" -"\n" -"Erstellen Sie einen oder mehrere Bereiche, indem Sie den Mauszeiger in der Bereichleiste ziehen" +"Wollen Sie den Bus \"%1\" wirklich löschen?\n" +"(Dies kann nicht rückgängig gemacht werden!)" -#: gtk2_ardour/editor_imageframe.cc:622 -#: gtk2_ardour/editor_imageframe.cc:652 -msgid "programming error: no ImageFrameView selected" -msgstr "Programmierfehler: kein ImageFrameView ausgewählt" +#: gtk2_ardour/route_ui.cc:903 +msgid "New Name: " +msgstr "Neuer Name: " -#: gtk2_ardour/editor_imageframe.cc:845 -#: gtk2_ardour/editor_imageframe.cc:867 -msgid "programming error: no MarkerView selected" -msgstr "Programmierfehler: kein MarkerView ausgewählt" +#: gtk2_ardour/export_dialog.cc:102 +msgid "Format" +msgstr "Format" -#: gtk2_ardour/editor_keyboard.cc:82 -msgid "mute region" -msgstr "Region stummschalten" +#: gtk2_ardour/export_dialog.cc:103 +msgid "CD Marker File Type" +msgstr "CD-Marker" -#: gtk2_ardour/editor_markers.cc:399 -#: gtk2_ardour/editor_ops.cc:1794 -#: gtk2_ardour/editor_ops.cc:1811 -#: gtk2_ardour/editor_ops.cc:1836 -#: gtk2_ardour/location_ui.cc:821 -msgid "add marker" -msgstr "Marker hinzufügen" +#: gtk2_ardour/export_dialog.cc:104 +msgid "Channels" +msgstr "Kanäle" -#: gtk2_ardour/editor_markers.cc:423 -#: gtk2_ardour/editor_markers.cc:491 -#: gtk2_ardour/editor_markers.cc:676 -#: gtk2_ardour/editor_markers.cc:694 -#: gtk2_ardour/editor_markers.cc:712 -#: gtk2_ardour/editor_markers.cc:731 -#: gtk2_ardour/editor_markers.cc:750 -#: gtk2_ardour/editor_markers.cc:780 -#: gtk2_ardour/editor_markers.cc:808 -#: gtk2_ardour/editor_markers.cc:836 -#: gtk2_ardour/editor_markers.cc:874 -#: gtk2_ardour/editor_markers.cc:899 -#: gtk2_ardour/editor_markers.cc:926 -#: gtk2_ardour/editor_markers.cc:949 -#: gtk2_ardour/editor_markers.cc:969 -#: gtk2_ardour/editor_markers.cc:993 -#: gtk2_ardour/editor_mouse.cc:2139 -#: gtk2_ardour/editor_mouse.cc:4686 -msgid "programming error: marker canvas item has no marker object pointer!" -msgstr "Programmierfehler: marker canvas item has no marker object pointer!" +#: gtk2_ardour/export_dialog.cc:107 +msgid "Sample Endianness" +msgstr "Bytefolge" -#: gtk2_ardour/editor_markers.cc:441 -#: gtk2_ardour/location_ui.cc:699 -msgid "remove marker" -msgstr "Marker entfernen" +#: gtk2_ardour/export_dialog.cc:108 +msgid "Sample Rate" +msgstr "Samplerate" -#: gtk2_ardour/editor_markers.cc:582 -msgid "Locate to here" -msgstr "Positionszeiger hierhin setzen" +#: gtk2_ardour/export_dialog.cc:109 +msgid "Conversion Quality" +msgstr "SR-Konvertierung" -#: gtk2_ardour/editor_markers.cc:583 -msgid "Play from here" -msgstr "Wiedergabe ab hier" +#: gtk2_ardour/export_dialog.cc:110 +msgid "Dither Type" +msgstr "Dithering" -#: gtk2_ardour/editor_markers.cc:584 -msgid "Move Mark to Playhead" -msgstr "Marker zum Positionszeiger verschieben" +#: gtk2_ardour/export_dialog.cc:111 +msgid "Export CD Marker File Only" +msgstr "Nur CD-Marker exportieren" -#: gtk2_ardour/editor_markers.cc:592 -msgid "Unlock" -msgstr "Entsperren" +#: gtk2_ardour/export_dialog.cc:112 +msgid "Browse" +msgstr "Durchsuchen" -#: gtk2_ardour/editor_markers.cc:614 -msgid "Play Range" -msgstr "Bereich wiedergeben" +#: gtk2_ardour/export_dialog.cc:113 +msgid "Specific tracks ..." +msgstr "Alle Spuren..." -#: gtk2_ardour/editor_markers.cc:615 -msgid "Locate to Range Mark" -msgstr "Positionszeiger zu Bereichsmarker" +#: gtk2_ardour/export_dialog.cc:423 +msgid "22.05kHz" +msgstr "22,05 kHz" -#: gtk2_ardour/editor_markers.cc:616 -msgid "Play from Range Mark" -msgstr "Wiedergabe ab Bereichsmarker" +#: gtk2_ardour/export_dialog.cc:426 +#: gtk2_ardour/export_dialog.cc:441 +#: gtk2_ardour/export_dialog.cc:1089 +#: gtk2_ardour/export_dialog.cc:1259 +msgid "44.1kHz" +msgstr "44,1 kHz" -#: gtk2_ardour/editor_markers.cc:618 -msgid "Loop Range" -msgstr "Bereich in Schleife wiedergeben" +#: gtk2_ardour/export_dialog.cc:429 +#: gtk2_ardour/export_dialog.cc:1091 +#: gtk2_ardour/export_dialog.cc:1261 +msgid "48kHz" +msgstr "48 kHz" -#: gtk2_ardour/editor_markers.cc:620 -msgid "Set Range Mark from Playhead" -msgstr "Bereichsmarker zum Positionszeiger verschieben" +#: gtk2_ardour/export_dialog.cc:432 +#: gtk2_ardour/export_dialog.cc:1093 +#: gtk2_ardour/export_dialog.cc:1263 +msgid "88.2kHz" +msgstr "88,2 kHz" -#: gtk2_ardour/editor_markers.cc:622 -msgid "Set Range from Range Selection" -msgstr "Bereichsmarker zum Auswahlbereich verschieben" +#: gtk2_ardour/export_dialog.cc:435 +#: gtk2_ardour/export_dialog.cc:1095 +#: gtk2_ardour/export_dialog.cc:1265 +msgid "96kHz" +msgstr "96 kHz" -#: gtk2_ardour/editor_markers.cc:628 -msgid "Hide Range" -msgstr "Bereich verbergen" +#: gtk2_ardour/export_dialog.cc:438 +#: gtk2_ardour/export_dialog.cc:1097 +#: gtk2_ardour/export_dialog.cc:1267 +msgid "192kHz" +msgstr "192 kHz" -#: gtk2_ardour/editor_markers.cc:629 -#: gtk2_ardour/editor_markers.cc:1013 -msgid "Rename Range" -msgstr "Bereich umbenennen" +#: gtk2_ardour/export_dialog.cc:510 +#: gtk2_ardour/export_dialog.cc:1115 +#: gtk2_ardour/export_dialog.cc:1237 +msgid "mono" +msgstr "Mono" -#: gtk2_ardour/editor_markers.cc:630 -msgid "Remove Range" -msgstr "Bereich entfernen" +#: gtk2_ardour/export_dialog.cc:656 +msgid "Editor: cannot open \"%1\" as export file for CD toc file" +msgstr "Editor: Kann \"%1\" nicht nicht zum Export für CD-Inhaltsverzeichnis (TOC) öffnen." -#: gtk2_ardour/editor_markers.cc:635 -msgid "Separate Regions in Range" -msgstr "Regionen an Bereichsgrenzen teilen" +#: gtk2_ardour/export_dialog.cc:790 +msgid "Editor: cannot open \"%1\" as export file for CD cue file" +msgstr "Editor: Kann \"%1\" nicht zum Export für CD CUE-Datei öffnen." -#: gtk2_ardour/editor_markers.cc:636 -msgid "Select All in Range" -msgstr "Alles im Bereich auswählen" +#: gtk2_ardour/export_dialog.cc:926 +msgid "TOC" +msgstr "TOC" -#: gtk2_ardour/editor_markers.cc:638 -msgid "Select Range" -msgstr "Bereich auswählen" +#: gtk2_ardour/export_dialog.cc:941 +msgid "Not connected to audioengine" +msgstr "Nicht mit JACK verbunden" -#: gtk2_ardour/editor_markers.cc:664 -msgid "Set Loop Range" -msgstr "Schleife erstellen" +#: gtk2_ardour/export_dialog.cc:945 +msgid "Ardour cannot export audio when disconnected" +msgstr "Ardour kann nicht exportieren, wenn keine Verbindung zu JACK besteht." -#: gtk2_ardour/editor_markers.cc:665 -msgid "Set Punch Range" -msgstr "Punch-Bereich erstellen" +#: gtk2_ardour/export_dialog.cc:975 +msgid "Stop Export" +msgstr "Export Abbrechen" -#: gtk2_ardour/editor_markers.cc:1007 -msgid "New Name:" -msgstr "Neuer Name: " +#: gtk2_ardour/export_dialog.cc:1191 +msgid "Please enter a valid filename." +msgstr "Bitte geben Sie einen gültigen Dateinamen ein." -#: gtk2_ardour/editor_markers.cc:1011 -msgid "Rename Mark" -msgstr "Marker umbenennen" +#: gtk2_ardour/export_dialog.cc:1201 +msgid "Please specify a complete filename for the audio file." +msgstr "Bitte geben Sie einen kompletten Dateinamen für die Audiodatei ein." -#: gtk2_ardour/editor_markers.cc:1035 -msgid "rename marker" -msgstr "Marker umbenennen" +#: gtk2_ardour/export_dialog.cc:1207 +msgid "File already exists, do you want to overwrite it?" +msgstr "Datei existiert bereits, wollen Sie sie überschreiben?" -#: gtk2_ardour/editor_markers.cc:1059 -msgid "set loop range" -msgstr "Loop-Bereich festlegen" +#: gtk2_ardour/export_dialog.cc:1277 +msgid "fastest" +msgstr "schnellstmöglich" -#: gtk2_ardour/editor_markers.cc:1065 -msgid "set punch range" -msgstr "Punch-Bereich festlegen" +#: gtk2_ardour/export_dialog.cc:1279 +msgid "linear" +msgstr "Linear" -#: gtk2_ardour/editor_mouse.cc:144 -msgid "Editor::event_frame() used on unhandled event type %1" -msgstr "" +#: gtk2_ardour/export_dialog.cc:1281 +msgid "better" +msgstr "besser" -#: gtk2_ardour/editor_mouse.cc:1696 -msgid "programming error: start_grab called without drag item" -msgstr "Programmierfehler: start_grab called without drag item" +#: gtk2_ardour/export_dialog.cc:1283 +msgid "intermediate" +msgstr "mittelmäßig" -#: gtk2_ardour/editor_mouse.cc:1898 -msgid "change fade in length" -msgstr "Ändere Fade-In Länge" +#: gtk2_ardour/export_dialog.cc:1293 +msgid "Rectangular" +msgstr "rechteckig" -#: gtk2_ardour/editor_mouse.cc:1930 -msgid "programming error: fade out canvas item has no regionview data pointer!" -msgstr "Programmierfehler: fade out canvas item has no regionview data pointer!" +#: gtk2_ardour/export_dialog.cc:1295 +msgid "Triangular" +msgstr "dreieckig" -#: gtk2_ardour/editor_mouse.cc:2014 -msgid "change fade out length" -msgstr "Fade-Out verändern" +#: gtk2_ardour/audio_region_view.cc:975 +msgid "add gain control point" +msgstr "Lautstärkekurve bearbeiten" -#: gtk2_ardour/editor_mouse.cc:2046 -msgid "programming error: cursor canvas item has no cursor data pointer!" -msgstr "Programmierfehler: cursor canvas item has no cursor data pointer!" +#: gtk2_ardour/engine_dialog.cc:49 +msgid "Realtime" +msgstr "Realtime" -#: gtk2_ardour/editor_mouse.cc:2301 -msgid "move marker" -msgstr "Marker bewegen" +#: gtk2_ardour/engine_dialog.cc:50 +msgid "Do not lock memory" +msgstr "Speicherzugriff nicht sperren" -#: gtk2_ardour/editor_mouse.cc:2334 -#: gtk2_ardour/editor_mouse.cc:2366 -#: gtk2_ardour/editor_tempodisplay.cc:505 -msgid "programming error: meter marker canvas item has no marker object pointer!" -msgstr "pProgrammierfehler: meter marker canvas item has no marker object pointer!" +#: gtk2_ardour/engine_dialog.cc:51 +msgid "Unlock memory" +msgstr "Speicherzugriff öffnen" -#: gtk2_ardour/editor_mouse.cc:2434 -msgid "copy meter mark" -msgstr "Taktmarker kopieren" +#: gtk2_ardour/engine_dialog.cc:52 +msgid "No zombies" +msgstr "Keine Zombies (Soft Mode)" -#: gtk2_ardour/editor_mouse.cc:2445 -msgid "move meter mark" -msgstr "Taktwechsel bewegen" +#: gtk2_ardour/engine_dialog.cc:53 +msgid "Provide monitor ports" +msgstr "Monitor-Ports erstellen" -#: gtk2_ardour/editor_mouse.cc:2461 -#: gtk2_ardour/editor_mouse.cc:2495 -#: gtk2_ardour/editor_tempodisplay.cc:373 -#: gtk2_ardour/editor_tempodisplay.cc:454 -#: gtk2_ardour/editor_tempodisplay.cc:473 -msgid "programming error: tempo marker canvas item has no marker object pointer!" -msgstr "Programmierfehler: tempo marker canvas item has no marker object pointer!" +#: gtk2_ardour/engine_dialog.cc:54 +msgid "Force 16 bit" +msgstr "Erzwinge 16 Bit" -#: gtk2_ardour/editor_mouse.cc:2466 -#: gtk2_ardour/editor_mouse.cc:2500 -#: gtk2_ardour/editor_tempodisplay.cc:378 -#: gtk2_ardour/editor_tempodisplay.cc:459 -msgid "programming error: marker for tempo is not a tempo marker!" -msgstr "Programmierfehler: marker for tempo is not a tempo marker!" +#: gtk2_ardour/engine_dialog.cc:55 +msgid "H/W monitoring" +msgstr "Hardware Monitoring" -#: gtk2_ardour/editor_mouse.cc:2567 -msgid "copy tempo mark" -msgstr "Tempomarker kopieren" +#: gtk2_ardour/engine_dialog.cc:56 +msgid "H/W metering" +msgstr "Hardware-Pegelanzeige" -#: gtk2_ardour/editor_mouse.cc:2578 -msgid "move tempo mark" -msgstr "Tempowechsel bewegen" +#: gtk2_ardour/engine_dialog.cc:57 +msgid "Verbose output" +msgstr "Ausführliche Statusmeldungen" -#: gtk2_ardour/editor_mouse.cc:2593 -#: gtk2_ardour/editor_mouse.cc:2612 -#: gtk2_ardour/editor_mouse.cc:2625 -msgid "programming error: control point canvas item has no control point object pointer!" -msgstr "Programmierfehler: control point canvas item has no control point object pointer!" +#: gtk2_ardour/engine_dialog.cc:58 +msgid "Start" +msgstr "Start" -#: gtk2_ardour/editor_mouse.cc:2761 -msgid "programming error: line canvas item has no line pointer!" -msgstr "Programmierfehler: line canvas item has no line pointer!" +#: gtk2_ardour/engine_dialog.cc:77 +msgid "8000Hz" +msgstr "8000 Hz" -#: gtk2_ardour/editor_mouse.cc:2900 -msgid "move region(s)" -msgstr "Region(en) bewegen" +#: gtk2_ardour/engine_dialog.cc:78 +msgid "22050Hz" +msgstr "22050 Hz" -#: gtk2_ardour/editor_mouse.cc:2964 -msgid "Drag region brush" -msgstr "Region Brush ziehen" +#: gtk2_ardour/engine_dialog.cc:79 +msgid "44100Hz" +msgstr "44100 Hz" -#: gtk2_ardour/editor_mouse.cc:3595 -msgid "fixed time region copy" -msgstr "Region zeitgleich kopieren" +#: gtk2_ardour/engine_dialog.cc:80 +msgid "48000Hz" +msgstr "48000 Hz" -#: gtk2_ardour/editor_mouse.cc:3597 -msgid "region copy" -msgstr "Region kopieren" +#: gtk2_ardour/engine_dialog.cc:81 +msgid "88200Hz" +msgstr "88200 Hz" -#: gtk2_ardour/editor_mouse.cc:3601 -msgid "fixed time region drag" -msgstr "Region zeitgleich verschieben" +#: gtk2_ardour/engine_dialog.cc:82 +msgid "96000Hz" +msgstr "96000 Hz" -#: gtk2_ardour/editor_mouse.cc:3603 -msgid "region drag" -msgstr "Region verschieben" +#: gtk2_ardour/engine_dialog.cc:83 +msgid "192000Hz" +msgstr "192000 Hz" -#: gtk2_ardour/editor_mouse.cc:4007 -msgid "selection grab" -msgstr "Auswählen" +#: gtk2_ardour/engine_dialog.cc:104 +#: gtk2_ardour/engine_dialog.cc:515 +msgid "Shaped" +msgstr "shaped" -#: gtk2_ardour/editor_mouse.cc:4157 -msgid "range selection" -msgstr "Auswahlbereich" +#: gtk2_ardour/engine_dialog.cc:129 +#: gtk2_ardour/engine_dialog.cc:449 +#: gtk2_ardour/engine_dialog.cc:909 +msgid "Playback/Recording on 1 Device" +msgstr "Wiedergabe/Aufnahme mit einem Gerät" -#: gtk2_ardour/editor_mouse.cc:4173 -msgid "trim selection start" -msgstr "Anfangspunkt der Auswahl abschneiden" +#: gtk2_ardour/engine_dialog.cc:130 +#: gtk2_ardour/engine_dialog.cc:453 +#: gtk2_ardour/engine_dialog.cc:488 +#: gtk2_ardour/engine_dialog.cc:912 +msgid "Playback/Recording on 2 Devices" +msgstr "Wiedergabe/Aufnahme mit zwei Geräten" -#: gtk2_ardour/editor_mouse.cc:4189 -msgid "trim selection end" -msgstr "Endpunkt der Auswahl abschneiden" +#: gtk2_ardour/engine_dialog.cc:131 +#: gtk2_ardour/engine_dialog.cc:468 +#: gtk2_ardour/engine_dialog.cc:915 +msgid "Playback only" +msgstr "Nur Wiedergabe" -#: gtk2_ardour/editor_mouse.cc:4206 -msgid "move selection" -msgstr "Auswahl bewegen" +#: gtk2_ardour/engine_dialog.cc:132 +#: gtk2_ardour/engine_dialog.cc:470 +#: gtk2_ardour/engine_dialog.cc:917 +msgid "Recording only" +msgstr "Nur Aufnahme" -#: gtk2_ardour/editor_mouse.cc:4595 -msgid "Start point trim" -msgstr "Anfangspunkt verändern" +#: gtk2_ardour/engine_dialog.cc:141 +msgid "Driver" +msgstr "Treiber" -#: gtk2_ardour/editor_mouse.cc:4627 -msgid "End point trim" -msgstr "Endpunkt verändern" +#: gtk2_ardour/engine_dialog.cc:146 +msgid "Interface" +msgstr "Gerät / Interface" -#: gtk2_ardour/editor_mouse.cc:4670 -msgid "trimmed region" -msgstr "Abgeschnittene Region" +#: gtk2_ardour/engine_dialog.cc:156 +msgid "Buffer size" +msgstr "Größe Buffer" -#: gtk2_ardour/editor_mouse.cc:4817 -msgid "new range marker" -msgstr "Neuer Bereich" +#: gtk2_ardour/engine_dialog.cc:162 +msgid "Number of buffers" +msgstr "Anzahl Buffer" -#: gtk2_ardour/editor_mouse.cc:5065 -msgid "rubberband selection" -msgstr "Bereichsauswahl" +#: gtk2_ardour/engine_dialog.cc:169 +msgid "Approximate latency" +msgstr "Latenz (ca.)" -#: gtk2_ardour/editor_mouse.cc:5095 -msgid "Name for region:" -msgstr "Name für Region:" +#: gtk2_ardour/engine_dialog.cc:183 +msgid "Audio Mode" +msgstr "Audio-Modus" -#: gtk2_ardour/editor_mouse.cc:5168 -msgid "timestretch" -msgstr "Time-Stretch" +#: gtk2_ardour/engine_dialog.cc:222 +msgid "Realtime Priority" +msgstr "Realtime Priorität" -#: gtk2_ardour/editor_ops.cc:114 -msgid "split" -msgstr "Teile" +#: gtk2_ardour/engine_dialog.cc:251 +#: gtk2_ardour/engine_dialog.cc:375 +msgid "Ignore" +msgstr "ignorieren" -#: gtk2_ardour/editor_ops.cc:180 -msgid "remove region" -msgstr "Region(en) löschen" +#: gtk2_ardour/engine_dialog.cc:259 +msgid "Client timeout" +msgstr "Client Timeout" + +#: gtk2_ardour/engine_dialog.cc:265 +msgid "Number of ports" +msgstr "Anzahl Ports" -#: gtk2_ardour/editor_ops.cc:200 +#: gtk2_ardour/engine_dialog.cc:272 +msgid "Dither" +msgstr "Dithering" + +#: gtk2_ardour/engine_dialog.cc:282 +msgid "No JACK server found anywhere on this system. Please install JACK and restart" +msgstr "Es wurde kein JACK Server auf diesem System gefunden. Bitte installieren Sie JACK und starten Sie Ardour neu." + +#: gtk2_ardour/engine_dialog.cc:290 +msgid "Server:" +msgstr "Server:" + +#: gtk2_ardour/engine_dialog.cc:303 +msgid "Input device" +msgstr "Eingangsgerät" + +#: gtk2_ardour/engine_dialog.cc:308 +msgid "Output device" +msgstr "Ausgabegerät" + +#: gtk2_ardour/engine_dialog.cc:314 +msgid "Input channels" +msgstr "Eingangskanäle" + +#: gtk2_ardour/engine_dialog.cc:319 +msgid "Output channels" +msgstr "Ausgangskanäle" + +#: gtk2_ardour/engine_dialog.cc:324 +msgid "Hardware input latency (samples)" +msgstr "Hardware Eingangslatenz (Samples)" + +#: gtk2_ardour/engine_dialog.cc:329 +msgid "Hardware output latency (samples)" +msgstr "Hardware Ausgangslatenz (Samples)" + +#: gtk2_ardour/engine_dialog.cc:342 +msgid "Device" +msgstr "Gerät" + +#: gtk2_ardour/engine_dialog.cc:344 +msgid "Advanced" +msgstr "Erweitert" + +#: gtk2_ardour/engine_dialog.cc:579 +msgid "cannot open JACK rc file %1 to store parameters" +msgstr "kann die JACK rc-Datei %1 nicht öffnen, um die Parameter zu sichern" + +#: gtk2_ardour/engine_dialog.cc:720 +#, fuzzy msgid "" -" This is destructive, will possibly delete audio files\n" -"It cannot be undone\n" -"Do you really want to destroy %1 ?" -msgstr "" -" Diese Aktion ist destruktiv und löscht möglicherweise Audiodateien\n" -"Dies kann nicht rückgängig gemacht werden\n" -"Wollen Sie %1 wirklich löschen ?" +"You do not have any audio devices capable of\n" +"simultaneous playback and recording.\n" +"\n" +"Please use Applications -> Utilities -> Audio MIDI Setup\n" +"to create an \"aggregrate\" device, or install a suitable\n" +"audio interface.\n" +"\n" +"Please send email to Apple and ask them why new Macs\n" +"have no duplex audio device.\n" +"\n" +"Alternatively, if you really want just playback\n" +"or recording but not both, start JACK before running\n" +"Ardour and choose the relevant device then." +msgstr " " -#: gtk2_ardour/editor_ops.cc:204 -msgid "these regions" -msgstr "diese Region" +#: gtk2_ardour/engine_dialog.cc:733 +msgid "No suitable audio devices" +msgstr "Keine passenden Audiogeräte." -#: gtk2_ardour/editor_ops.cc:204 -msgid "this region" -msgstr "diese Region" +#: gtk2_ardour/engine_dialog.cc:845 +msgid "No devices found for driver \"%1\"" +msgstr "Keine Treiber für das Gerät \"%1\" gefunden." -#: gtk2_ardour/editor_ops.cc:209 -msgid "Yes, destroy them." -msgstr "Ja, entfernen." +#: gtk2_ardour/engine_dialog.cc:950 +msgid "JACK appears to be missing from the Ardour bundle" +msgstr "JACK scheint im Ardour-Paket zu fehlen." -#: gtk2_ardour/editor_ops.cc:211 -#: gtk2_ardour/editor_ops.cc:3955 -msgid "Yes, destroy it." -msgstr "Ja, entfernen." +#: gtk2_ardour/engine_dialog.cc:1016 +msgid "You need to choose an audio device first." +msgstr "Sie müssen zuerst ein Audiogerät auswählen." + +#: gtk2_ardour/engine_dialog.cc:1032 +msgid "Audio device \"%1\" not known on this computer." +msgstr "Audiogerät %1 scheint auf diesem Computer nicht vorhanden zu sein." + +#: gtk2_ardour/engine_dialog.cc:1180 +msgid "AudioSetup value for %1 is missing data" +msgstr "Es fehlen Daten zum AudioSetup-Wert von %1" -#: gtk2_ardour/editor_ops.cc:297 -#: gtk2_ardour/editor_ops.cc:325 +#: gtk2_ardour/engine_dialog.cc:1260 +msgid "configuration files contain a JACK server path that doesn't exist (%1)" +msgstr "die Konfiguration enthält einen JACK-Serverpfad, der nicht existiert (%1)" + +#: gtk2_ardour/editor_keyboard.cc:82 +msgid "mute region" +msgstr "Region stummschalten" + +#: gtk2_ardour/editor_ops.cc:127 +msgid "split" +msgstr "Teile" + +#: gtk2_ardour/editor_ops.cc:194 +#: gtk2_ardour/editor_ops.cc:217 +msgid "remove region" +msgstr "Region(en) löschen" + +#: gtk2_ardour/editor_ops.cc:315 +#: gtk2_ardour/editor_ops.cc:343 msgid "extend selection" msgstr "Auswahl erweitern" -#: gtk2_ardour/editor_ops.cc:341 +#: gtk2_ardour/editor_ops.cc:384 msgid "nudge regions forward" msgstr "Regionen Schritt vorwärts" -#: gtk2_ardour/editor_ops.cc:368 -#: gtk2_ardour/editor_ops.cc:445 +#: gtk2_ardour/editor_ops.cc:408 +#: gtk2_ardour/editor_ops.cc:493 msgid "nudge location forward" msgstr "Position Schritt vorwärts" -#: gtk2_ardour/editor_ops.cc:414 +#: gtk2_ardour/editor_ops.cc:465 msgid "nudge regions backward" msgstr "Regionen Schritt nach hinten" -#: gtk2_ardour/editor_ops.cc:497 -#: gtk2_ardour/editor_ops.cc:524 +#: gtk2_ardour/editor_ops.cc:558 +#: gtk2_ardour/editor_ops.cc:588 msgid "nudge forward" msgstr "Schritt vorwärts" -#: gtk2_ardour/editor_ops.cc:591 +#: gtk2_ardour/editor_ops.cc:655 msgid "build_region_boundary_cache called with snap_type = %1" -msgstr "" +msgstr "build_region_boundary_cache wurde mit snap_type = %1 aufgerufen" + +#: gtk2_ardour/editor_ops.cc:1919 +#: gtk2_ardour/editor_markers.cc:1076 +msgid "New Name:" +msgstr "Neuer Name: " -#: gtk2_ardour/editor_ops.cc:1634 -#: gtk2_ardour/editor_ops.cc:4709 -msgid "cannot set loop: no region selected" -msgstr "Kann keine Schleife erstellen: keine Region ausgewählt" +#: gtk2_ardour/editor_ops.cc:1922 +msgid "Name New Location Marker" +msgstr "Marker benennen" -#: gtk2_ardour/editor_ops.cc:1957 +#: gtk2_ardour/editor_ops.cc:2140 msgid "clear markers" msgstr "Marker zurücksetzen" -#: gtk2_ardour/editor_ops.cc:1970 +#: gtk2_ardour/editor_ops.cc:2153 msgid "clear ranges" msgstr "Bereiche zurücksetzen" -#: gtk2_ardour/editor_ops.cc:1990 +#: gtk2_ardour/editor_ops.cc:2173 msgid "clear locations" msgstr "Positionen zurücksetzen" -#: gtk2_ardour/editor_ops.cc:2063 +#: gtk2_ardour/editor_ops.cc:2246 msgid "insert dragged region" msgstr "Region ziehen" -#: gtk2_ardour/editor_ops.cc:2110 +#: gtk2_ardour/editor_ops.cc:2293 msgid "insert region" msgstr "Region einfügen" -#: gtk2_ardour/editor_ops.cc:2321 +#: gtk2_ardour/editor_ops.cc:2517 msgid "Rename Region" msgstr "Region umbenennen" -#: gtk2_ardour/editor_ops.cc:2325 +#: gtk2_ardour/editor_ops.cc:2521 msgid "New name:" msgstr "Neuer Name: " -#: gtk2_ardour/editor_ops.cc:2624 +#: gtk2_ardour/editor_ops.cc:2859 msgid "separate" msgstr "Teilen" -#: gtk2_ardour/editor_ops.cc:2759 +#: gtk2_ardour/editor_ops.cc:3007 msgid "trim to selection" msgstr "Auf Auswahl kürzen" -#: gtk2_ardour/editor_ops.cc:2804 +#: gtk2_ardour/editor_ops.cc:3055 msgid "region fill" msgstr "Region füllen" -#: gtk2_ardour/editor_ops.cc:2868 +#: gtk2_ardour/editor_ops.cc:3119 msgid "fill selection" msgstr "Auswahl füllen" -#: gtk2_ardour/editor_ops.cc:2906 +#: gtk2_ardour/editor_ops.cc:3158 msgid "set sync point" msgstr "Einrastpunkt definieren" -#: gtk2_ardour/editor_ops.cc:2926 +#: gtk2_ardour/editor_ops.cc:3184 msgid "remove sync" msgstr "Einrastpunkt entfernen" -#: gtk2_ardour/editor_ops.cc:2941 +#: gtk2_ardour/editor_ops.cc:3206 msgid "naturalize" msgstr "zur Ursprungsposition setzen" -#: gtk2_ardour/editor_ops.cc:3026 +#: gtk2_ardour/editor_ops.cc:3306 msgid "align selection (relative)" msgstr "Auswahl relativ ausrichten" -#: gtk2_ardour/editor_ops.cc:3055 +#: gtk2_ardour/editor_ops.cc:3346 msgid "align selection" msgstr "Auswahl ausrichten" -#: gtk2_ardour/editor_ops.cc:3067 +#: gtk2_ardour/editor_ops.cc:3358 msgid "align region" msgstr "Region ausrichten" -#: gtk2_ardour/editor_ops.cc:3104 +#: gtk2_ardour/editor_ops.cc:3395 msgid "trim to loop" msgstr "Auf Schleife kürzen" -#: gtk2_ardour/editor_ops.cc:3114 +#: gtk2_ardour/editor_ops.cc:3405 msgid "trim to punch" msgstr "Auf Punch-Bereich kürzen" -#: gtk2_ardour/editor_ops.cc:3174 +#: gtk2_ardour/editor_ops.cc:3468 msgid "trim region start to edit point" msgstr "Regionanfang bis Arbeitspunkt abschneiden" -#: gtk2_ardour/editor_ops.cc:3216 +#: gtk2_ardour/editor_ops.cc:3513 msgid "trim region end to edit point" msgstr "Regionende bis Arbeitspunkt abschneiden" -#: gtk2_ardour/editor_ops.cc:3303 +#: gtk2_ardour/editor_ops.cc:3600 msgid "Cancel Freeze" msgstr "Einfrieren abbrechen" -#: gtk2_ardour/editor_ops.cc:3346 +#: gtk2_ardour/editor_ops.cc:3643 msgid "bounce range" msgstr "Bereich Bouncen" -#: gtk2_ardour/editor_ops.cc:3398 +#: gtk2_ardour/editor_ops.cc:3703 msgid "cut" msgstr "Ausschneiden" -#: gtk2_ardour/editor_ops.cc:3401 +#: gtk2_ardour/editor_ops.cc:3706 msgid "copy" msgstr "Kopieren" -#: gtk2_ardour/editor_ops.cc:3429 +#: gtk2_ardour/editor_ops.cc:3756 msgid " objects" msgstr "Objekte" -#: gtk2_ardour/editor_ops.cc:3469 +#: gtk2_ardour/editor_ops.cc:3792 msgid " range" msgstr "Bereich" -#: gtk2_ardour/editor_ops.cc:3698 +#: gtk2_ardour/editor_ops.cc:4031 msgid "paste" msgstr "Einfügen" -#: gtk2_ardour/editor_ops.cc:3747 +#: gtk2_ardour/editor_ops.cc:4080 msgid "paste chunk" msgstr "Abschnitt einfügen" -#: gtk2_ardour/editor_ops.cc:3791 +#: gtk2_ardour/editor_ops.cc:4124 msgid "duplicate region" msgstr "Region duplizieren" -#: gtk2_ardour/editor_ops.cc:3839 +#: gtk2_ardour/editor_ops.cc:4172 msgid "duplicate selection" msgstr "Auswahl duplizieren" -#: gtk2_ardour/editor_ops.cc:3893 +#: gtk2_ardour/editor_ops.cc:4226 msgid "clear playlist" msgstr "Wiedergabeliste zurücksetzen" -#: gtk2_ardour/editor_ops.cc:3923 +#: gtk2_ardour/editor_ops.cc:4256 msgid "nudge track" msgstr "Spur verschieben" -#: gtk2_ardour/editor_ops.cc:3951 +#: gtk2_ardour/editor_ops.cc:4284 msgid "" "Do you really want to destroy the last capture?\n" "(This is destructive and cannot be undone)" @@ -4687,1454 +5884,1208 @@ msgstr "" "Wollen Sie wirklich die letzte Aufnahme rückgängig machen?\n" "(Dies kann nicht rückgängig gemacht werden!)" -#: gtk2_ardour/editor_ops.cc:3979 +#: gtk2_ardour/editor_ops.cc:4288 +msgid "Yes, destroy it." +msgstr "Ja, entfernen." + +#: gtk2_ardour/editor_ops.cc:4316 msgid "normalize" msgstr "Normalisieren" -#: gtk2_ardour/editor_ops.cc:4032 +#: gtk2_ardour/editor_ops.cc:4425 msgid "reverse regions" msgstr "Regionen umkehren" -#: gtk2_ardour/editor_ops.cc:4145 +#: gtk2_ardour/editor_ops.cc:4545 msgid "reset region gain" msgstr "Lautstärkekurve zurücksetzen" -#: gtk2_ardour/editor_ops.cc:4258 +#: gtk2_ardour/editor_ops.cc:4683 msgid "set fade in length" msgstr "Ändere Fade-In Länge" -#: gtk2_ardour/editor_ops.cc:4265 +#: gtk2_ardour/editor_ops.cc:4690 msgid "set fade out length" msgstr "Ändere Fade-Out Länge" -#: gtk2_ardour/editor_ops.cc:4305 +#: gtk2_ardour/editor_ops.cc:4738 msgid "toggle fade in active" msgstr "Fade-In aktivieren" -#: gtk2_ardour/editor_ops.cc:4305 +#: gtk2_ardour/editor_ops.cc:4738 msgid "toggle fade out active" msgstr "Fade-Out aktivieren" -#: gtk2_ardour/editor_ops.cc:4343 +#: gtk2_ardour/editor_ops.cc:4788 msgid "set fade in shape" msgstr "Fade-In Kurve bearbeiten" -#: gtk2_ardour/editor_ops.cc:4367 +#: gtk2_ardour/editor_ops.cc:4821 msgid "set fade out shape" msgstr "Fade-Out Kurve ändern" -#: gtk2_ardour/editor_ops.cc:4391 +#: gtk2_ardour/editor_ops.cc:4853 msgid "set fade in active" msgstr "Fade-In aktivieren" -#: gtk2_ardour/editor_ops.cc:4415 +#: gtk2_ardour/editor_ops.cc:4887 msgid "set fade out active" msgstr "Fade-Out aktivieren" -#: gtk2_ardour/editor_ops.cc:4589 +#: gtk2_ardour/editor_ops.cc:5097 msgid "trim front" msgstr "vorne abschneiden" -#: gtk2_ardour/editor_ops.cc:4589 +#: gtk2_ardour/editor_ops.cc:5097 msgid "trim back" msgstr "hinten Abschneiden" -#: gtk2_ardour/editor_ops.cc:4670 +#: gtk2_ardour/editor_ops.cc:5179 msgid "set loop range from selection" msgstr "Schleife aus Auswahl erstellen" -#: gtk2_ardour/editor_ops.cc:4692 +#: gtk2_ardour/editor_ops.cc:5201 msgid "set loop range from edit range" msgstr "Schleife aus Editierbereich erstellen" -#: gtk2_ardour/editor_ops.cc:4722 +#: gtk2_ardour/editor_ops.cc:5232 msgid "set loop range from region" msgstr "Schleife aus Region erstellen" -#: gtk2_ardour/editor_ops.cc:4740 +#: gtk2_ardour/editor_ops.cc:5250 msgid "set punch range from selection" msgstr "Punch-Bereich aus Auswahl erstellen" -#: gtk2_ardour/editor_ops.cc:4757 +#: gtk2_ardour/editor_ops.cc:5267 msgid "set punch range from edit range" msgstr "Punch-Bereich aus Editierbereich erstellen" -#: gtk2_ardour/editor_region_list.cc:109 -#: gtk2_ardour/editor_region_list.cc:113 -#: gtk2_ardour/editor_region_list.cc:116 -#: gtk2_ardour/location_ui.cc:57 -msgid "Hidden" -msgstr "Versteckt" +#: gtk2_ardour/editor_ops.cc:5293 +msgid "set punch range from region" +msgstr "Punch-Bereich aus Region erstellen" -#: gtk2_ardour/editor_region_list.cc:159 -msgid " (MISSING)" -msgstr "(FEHLT)" - -#: gtk2_ardour/editor_route_list.cc:77 -#: gtk2_ardour/editor_route_list.cc:78 -#: gtk2_ardour/editor_route_list.cc:264 -msgid "editor" -msgstr "Editor" - -#: gtk2_ardour/editor_route_list.cc:338 -#: gtk2_ardour/mixer_ui.cc:811 -msgid "Show All" -msgstr "Alles zeigen" - -#: gtk2_ardour/editor_route_list.cc:339 -#: gtk2_ardour/mixer_ui.cc:812 -msgid "Hide All" -msgstr "Alle verbergen" - -#: gtk2_ardour/editor_route_list.cc:340 -#: gtk2_ardour/mixer_ui.cc:813 -msgid "Show All Audio Tracks" -msgstr "Zeige alle Audio-Spuren" - -#: gtk2_ardour/editor_route_list.cc:341 -#: gtk2_ardour/mixer_ui.cc:814 -msgid "Hide All Audio Tracks" -msgstr "Verberge alle Audio-Spuren" - -#: gtk2_ardour/editor_route_list.cc:342 -#: gtk2_ardour/mixer_ui.cc:815 -msgid "Show All Audio Busses" -msgstr "Zeige alle Audio-Busse" - -#: gtk2_ardour/editor_route_list.cc:343 -#: gtk2_ardour/mixer_ui.cc:816 -msgid "Hide All Audio Busses" -msgstr "Verberge alle Audio-Busse" - -#: gtk2_ardour/editor_rulers.cc:366 -msgid "New location marker" -msgstr "Neuer Positionsmarker" - -#: gtk2_ardour/editor_rulers.cc:367 -msgid "Clear all locations" -msgstr "Alle Positionsmarker entfernen" - -#: gtk2_ardour/editor_rulers.cc:368 -msgid "Unhide locations" -msgstr "Positionen anzeigen" +#: gtk2_ardour/editor_ops.cc:5377 +msgid "Add new marker" +msgstr "Marker hinzufügen" -#: gtk2_ardour/editor_rulers.cc:373 -msgid "Clear all ranges" -msgstr "Alle Bereiche entfernen" +#: gtk2_ardour/editor_ops.cc:5378 +msgid "Set global tempo" +msgstr "Globales tempo setzen" -#: gtk2_ardour/editor_rulers.cc:374 -msgid "Unhide ranges" -msgstr "Bereiche anzeigen" +#: gtk2_ardour/editor_ops.cc:5379 +msgid "Do you want to set the global tempo or add new tempo marker?" +msgstr "Möchten Sie das globale Tempo ändern oder einen neuen Tempo-Marker setzen?" -#: gtk2_ardour/editor_rulers.cc:384 -msgid "New CD track marker" -msgstr "Neuer CD-Track Marker" +#: gtk2_ardour/editor_ops.cc:5403 +msgid "set tempo from region" +msgstr "Tempo anhand von Region setzen" -#: gtk2_ardour/editor_rulers.cc:389 -msgid "New Tempo" -msgstr "Tempowechsel einfügen..." +#: gtk2_ardour/editor_ops.cc:5437 +msgid "split regions" +msgstr "Region teilen (Split)" -#: gtk2_ardour/editor_rulers.cc:390 -msgid "Clear tempo" -msgstr "Tempo zurücksetzen" +#: gtk2_ardour/editor_ops.cc:5482 +msgid "" +"You are about to split\n" +"%1\n" +"into %2 pieces.\n" +"This could take a long time." +msgstr "" +"Sie versuchen %1 in %2 Teile zu teilen.\n" +"Das könnte sehr lange dauern." -#: gtk2_ardour/editor_rulers.cc:395 -msgid "New Meter" -msgstr "Taktwechsel einfügen..." +#: gtk2_ardour/editor_ops.cc:5489 +msgid "Call for the Ferret!" +msgstr "Call for the Ferret!" -#: gtk2_ardour/editor_rulers.cc:396 -msgid "Clear meter" -msgstr "Taktart zurücksetzen" +#: gtk2_ardour/editor_ops.cc:5490 +msgid "" +"Press OK to continue with this split operation\n" +"or ask the Ferret dialog to tune the analysis" +msgstr "" +"Drücken Sie OK um mit der aufteiloperation (Split) fortzufahren\n" +"oder versuchen sie im Ferret-Fenster die Analyse zu verbessern." -#: gtk2_ardour/editor_rulers.cc:404 -msgid "Min:Secs" -msgstr "Min:Sek" +#: gtk2_ardour/editor_ops.cc:5492 +msgid "Press OK to continue with this split operation" +msgstr "Drücken Sie OK um mit der aufteiloperation (Split) fortzufahren" -#: gtk2_ardour/editor_selection.cc:740 -msgid "set selected regions" -msgstr "Regionen auswählen" +#: gtk2_ardour/editor_ops.cc:5495 +msgid "Excessive split?" +msgstr "Übermäßige Aufteilung?" -#: gtk2_ardour/editor_selection.cc:850 -msgid "select all" -msgstr "Alle Regionen auswählen" +#: gtk2_ardour/editor_ops.cc:5798 +#: gtk2_ardour/ardour_ui.cc:1227 +msgid "tracks" +msgstr "Spuren" -#: gtk2_ardour/editor_selection.cc:939 -msgid "select all within" -msgstr "Alle im Bereich auswählen" +#: gtk2_ardour/editor_ops.cc:5800 +msgid "track" +msgstr "Spur" -#: gtk2_ardour/editor_selection.cc:970 -msgid "set selection from region" -msgstr "Auswahlbereich von Region erstellen" +#: gtk2_ardour/editor_ops.cc:5804 +#: gtk2_ardour/ardour_ui.cc:1227 +msgid "busses" +msgstr "Audio-Bussen" -#: gtk2_ardour/editor_selection.cc:1003 -msgid "set selection from range" -msgstr "Auswahlbereich von Bereich erstellen" +#: gtk2_ardour/editor_ops.cc:5806 +msgid "bus" +msgstr "Bus" -#: gtk2_ardour/editor_selection.cc:1033 -msgid "select all from range" -msgstr "Alle im Bereich auswählen" +#: gtk2_ardour/editor_ops.cc:5811 +msgid "" +"Do you really want to remove %1 %2 and %3 %4?\n" +"(You may also lose the playlists associated with the %2)\n" +"\n" +"This action cannot be undone!" +msgstr "" +"Wollen Sie wirklich die Spur \"%1\" löschen?\n" +"\n" +"Sie werden auch die Wiedergabeliste, die diese Spur benutzt verlieren.\n" +"(Dies kann nicht rückgängig gemacht werden!)" -#: gtk2_ardour/editor_selection.cc:1055 -msgid "select all from punch" -msgstr "Alle im Punch-Bereich auswählen" +#: gtk2_ardour/editor_ops.cc:5816 +msgid "" +"Do you really want to remove %1 %2?\n" +"(You may also lose the playlists associated with the %2)\n" +"\n" +"This action cannot be undone!" +msgstr "" +"Wollen Sie wirklich die Spur \"%1\" löschen?\n" +"\n" +"Sie werden auch die von dieser Spur benutzten Wiedergabelisten verlieren.\n" +"(Dies kann nicht rückgängig gemacht werden!)" -#: gtk2_ardour/editor_selection.cc:1077 -msgid "select all from loop" -msgstr "Alle im Loop-Bereich auswählen" +#: gtk2_ardour/editor_ops.cc:5822 +msgid "Do you really want to remove %1 %2?" +msgstr "" +"Wollen Sie den Bus \"%1\" wirklich löschen?\n" +"(Dies kann nicht rückgängig gemacht werden!)" -#: gtk2_ardour/editor_selection.cc:1091 -msgid "select all after cursor" -msgstr "Alle nach Positionszeiger auswählen" +#: gtk2_ardour/editor_ops.cc:5828 +msgid "Yes, remove them." +msgstr "Ja, entfernen." -#: gtk2_ardour/editor_selection.cc:1096 -msgid "select all before cursor" -msgstr "Alle vor Positionszeiger auswählen" +#: gtk2_ardour/editor_ops.cc:5873 +msgid "Stay in position" +msgstr "Unverändert lassen" -#: gtk2_ardour/editor_selection.cc:1122 -msgid "select all after edit" -msgstr "Alles nach Arbeitspunkt auswählen" +#: gtk2_ardour/editor_ops.cc:5874 +msgid "Move" +msgstr "Verschieben" -#: gtk2_ardour/editor_selection.cc:1127 -msgid "select all before edit" -msgstr "Alles vor Arbeitspunkt auswählen" +#: gtk2_ardour/editor_ops.cc:5875 +msgid "Split & Later Section Moves" +msgstr "Teilen & hinteren Teil verschieben" -#: gtk2_ardour/editor_selection.cc:1237 -msgid "No edit range defined" -msgstr "Kein Editierbereich definiert" +#: gtk2_ardour/editor_ops.cc:5876 +msgid "Intersected regions should:" +msgstr "Regionen am Positionsmarker:" -#: gtk2_ardour/editor_selection.cc:1243 -msgid "" -"the edit point is Selected Marker\n" -"but there is no selected marker." -msgstr "" -"der Arbeitspunkt ist der gewählte Positionsmarker,\n" -"es ist aber kein Positionsmarker ausgewählt." +#: gtk2_ardour/editor_ops.cc:5877 +msgid "Move Glued Regions" +msgstr "Taktgebundene Regionen mitbewegen" -#: gtk2_ardour/editor_selection_list.cc:180 -msgid "Name for Chunk:" -msgstr "Name für Abschnitt:" +#: gtk2_ardour/editor_ops.cc:5878 +msgid "Move Markers" +msgstr "Marker mitbewegen" -#: gtk2_ardour/editor_selection_list.cc:183 -msgid "Create Chunk" -msgstr "Abschnitt erzeugen" +#: gtk2_ardour/editor_ops.cc:5952 +msgid "insert time" +msgstr "Stille einfügen" -#: gtk2_ardour/editor_selection_list.cc:183 -msgid "Forget it" -msgstr "Abbrechen" +#: gtk2_ardour/editor_ops.cc:6026 +msgid "There are too many selected tracks to fit in the current window" +msgstr "Es sind zu viele Spuren ausgewählt um in das aktuelle Fenster zu passen" -#: gtk2_ardour/editor_selection_list.cc:206 -msgid "No selectable material found in the currently selected time range" -msgstr "Konnte im ausgewählten Bereich kein auswählbares Material finden" +#: gtk2_ardour/editor_ops.cc:6136 +#, c-format +msgid "Saved view %u" +msgstr "Ansicht %u gespeichert" -#: gtk2_ardour/editor_tempodisplay.cc:293 -#: gtk2_ardour/editor_tempodisplay.cc:335 +#: gtk2_ardour/editor_tempodisplay.cc:213 +#: gtk2_ardour/editor_tempodisplay.cc:256 msgid "add" msgstr "Hinzufügen" -#: gtk2_ardour/editor_tempodisplay.cc:316 +#: gtk2_ardour/editor_tempodisplay.cc:237 msgid "add tempo mark" msgstr "Tempowechsel einfügen" -#: gtk2_ardour/editor_tempodisplay.cc:357 +#: gtk2_ardour/editor_tempodisplay.cc:280 msgid "add meter mark" msgstr "Taktwechsel einfügen" -#: gtk2_ardour/editor_tempodisplay.cc:390 -#: gtk2_ardour/editor_tempodisplay.cc:419 +#: gtk2_ardour/editor_tempodisplay.cc:313 +#: gtk2_ardour/editor_tempodisplay.cc:342 msgid "done" msgstr "Fertig" -#: gtk2_ardour/editor_tempodisplay.cc:408 -#: gtk2_ardour/editor_tempodisplay.cc:438 +#: gtk2_ardour/editor_tempodisplay.cc:331 +#: gtk2_ardour/editor_tempodisplay.cc:363 msgid "replace tempo mark" msgstr "Tempowechsel ersetzen" -#: gtk2_ardour/editor_tempodisplay.cc:478 -#: gtk2_ardour/editor_tempodisplay.cc:510 +#: gtk2_ardour/editor_tempodisplay.cc:405 +#: gtk2_ardour/editor_tempodisplay.cc:437 msgid "programming error: marker for meter is not a meter marker!" msgstr "Programmierfehler: marker for meter is not a meter marker!" -#: gtk2_ardour/editor_tempodisplay.cc:488 -#: gtk2_ardour/editor_tempodisplay.cc:522 +#: gtk2_ardour/editor_tempodisplay.cc:415 +#: gtk2_ardour/editor_tempodisplay.cc:449 msgid "remove tempo mark" msgstr "Tempowechsel entfernen" -#: gtk2_ardour/editor_timefx.cc:63 -msgid "Quick but Ugly" -msgstr "Quick but Ugly" - -#: gtk2_ardour/editor_timefx.cc:64 -msgid "Skip Anti-aliasing" -msgstr "Überspringe Anti-Aliasing" - -#: gtk2_ardour/editor_timefx.cc:68 -msgid "TimeFXDialog" -msgstr "" - -#: gtk2_ardour/editor_timefx.cc:72 -msgid "Pitch Shift" -msgstr "Pitch-Shift" - -#: gtk2_ardour/editor_timefx.cc:74 -msgid "Time Stretch" -msgstr "Time-Stretch" - -#: gtk2_ardour/editor_timefx.cc:92 -msgid "Octaves" -msgstr "Oktaven" - -#: gtk2_ardour/editor_timefx.cc:96 -msgid "Semitones (12TET)" -msgstr "Halbtöne" - -#: gtk2_ardour/editor_timefx.cc:100 -msgid "Cents" -msgstr "Cents" - -#: gtk2_ardour/editor_timefx.cc:106 -msgid "Shift" -msgstr "Shift" - -#: gtk2_ardour/editor_timefx.cc:116 -msgid "Stretch/Shrink" -msgstr "Stretch/Shrink" - -#: gtk2_ardour/editor_timefx.cc:119 -#: gtk2_ardour/editor_timefx.cc:120 -msgid "TimeFXButton" -msgstr "" - -#: gtk2_ardour/editor_timefx.cc:121 -msgid "TimeFXProgress" -msgstr "" - -#: gtk2_ardour/editor_timefx.cc:234 -#, fuzzy -msgid "timefx cannot be started - thread creation error" -msgstr "Time-Stretch konnte nicht gestartet werden - Fehler beim erstellen des Threads" - -#: gtk2_ardour/editor_timefx.cc:315 -msgid "pitch shift" -msgstr "pitch-shift" - -#: gtk2_ardour/editor_timefx.cc:315 -msgid "time stretch" -msgstr "Time-Stretch" - -#: gtk2_ardour/engine_dialog.cc:46 -msgid "Realtime" -msgstr "Realtime" - -#: gtk2_ardour/engine_dialog.cc:47 -msgid "Do not lock memory" -msgstr "Speicherzugriff nicht sperren" - -#: gtk2_ardour/engine_dialog.cc:48 -msgid "Unlock memory" -msgstr "Speicherzugriff öffnen" - -#: gtk2_ardour/engine_dialog.cc:49 -msgid "No zombies" -msgstr "Keine Zombies (Soft Mode)" - -#: gtk2_ardour/engine_dialog.cc:50 -msgid "Provide monitor ports" -msgstr "Monitor-Ports erstellen" - -#: gtk2_ardour/engine_dialog.cc:51 -msgid "Force 16 bit" -msgstr "Erzwinge 16 Bit" - -#: gtk2_ardour/engine_dialog.cc:52 -msgid "H/W monitoring" -msgstr "Hardware Monitoring" - -#: gtk2_ardour/engine_dialog.cc:53 -msgid "H/W metering" -msgstr "Hardware-Pegelanzeige" - -#: gtk2_ardour/engine_dialog.cc:54 -msgid "Verbose output" -msgstr "Ausführliche Statusmeldungen" - -#: gtk2_ardour/engine_dialog.cc:55 -msgid "Start" -msgstr "Start" - -#: gtk2_ardour/engine_dialog.cc:74 -msgid "8000Hz" -msgstr "8000 Hz" - -#: gtk2_ardour/engine_dialog.cc:75 -msgid "22050Hz" -msgstr "22050 Hz" - -#: gtk2_ardour/engine_dialog.cc:76 -msgid "44100Hz" -msgstr "44100 Hz" - -#: gtk2_ardour/engine_dialog.cc:77 -msgid "48000Hz" -msgstr "48000 Hz" - -#: gtk2_ardour/engine_dialog.cc:78 -msgid "88200Hz" -msgstr "88200 Hz" - -#: gtk2_ardour/engine_dialog.cc:79 -msgid "96000Hz" -msgstr "96000 Hz" - -#: gtk2_ardour/engine_dialog.cc:80 -msgid "192000Hz" -msgstr "192000 Hz" - -#: gtk2_ardour/engine_dialog.cc:99 -#: gtk2_ardour/engine_dialog.cc:480 -#: gtk2_ardour/export_dialog.cc:81 -#: gtk2_ardour/export_dialog.cc:1298 -msgid "Triangular" -msgstr "dreieckig" +#: gtk2_ardour/editor_region_list.cc:174 +msgid " (MISSING)" +msgstr "(FEHLT)" -#: gtk2_ardour/engine_dialog.cc:100 -#: gtk2_ardour/engine_dialog.cc:482 -#: gtk2_ardour/export_dialog.cc:79 -#: gtk2_ardour/export_dialog.cc:1296 -msgid "Rectangular" -msgstr "rechteckig" +#: gtk2_ardour/route_params_ui.cc:85 +msgid "Tracks/Buses" +msgstr "Spuren/Busse" -#: gtk2_ardour/engine_dialog.cc:101 -#: gtk2_ardour/engine_dialog.cc:484 -msgid "Shaped" -msgstr "shaped" +#: gtk2_ardour/route_params_ui.cc:105 +msgid "Pre-fader Redirects" +msgstr "Pre-Fader Redirects" -#: gtk2_ardour/engine_dialog.cc:129 -#: gtk2_ardour/engine_dialog.cc:435 -#: gtk2_ardour/engine_dialog.cc:803 -msgid "Playback/Recording on 1 Device" -msgstr "Wiedergabe/Aufnahme mit einem Gerät" +#: gtk2_ardour/route_params_ui.cc:106 +msgid "Post-fader Redirects" +msgstr "Post-Fader Redirects" -#: gtk2_ardour/engine_dialog.cc:130 -#: gtk2_ardour/engine_dialog.cc:439 -#: gtk2_ardour/engine_dialog.cc:464 -#: gtk2_ardour/engine_dialog.cc:806 -msgid "Playback/Recording on 2 Devices" -msgstr "Wiedergabe/Aufnahme mit zwei Geräten" +#: gtk2_ardour/route_params_ui.cc:205 +msgid "route display list item for renamed route not found!" +msgstr "Konnte Bezeichnung für umbenannten Verbindung nicht in der Liste der Verbindungen finden!" -#: gtk2_ardour/engine_dialog.cc:131 -#: gtk2_ardour/engine_dialog.cc:446 -#: gtk2_ardour/engine_dialog.cc:809 -msgid "Playback only" -msgstr "Nur Wiedergabe" +#: gtk2_ardour/route_params_ui.cc:455 +msgid "NO TRACK" +msgstr "KEINE SPUR" -#: gtk2_ardour/engine_dialog.cc:132 -#: gtk2_ardour/engine_dialog.cc:448 -#: gtk2_ardour/engine_dialog.cc:811 -msgid "Recording only" -msgstr "Nur Aufnahme" +#: gtk2_ardour/route_params_ui.cc:685 +#: gtk2_ardour/route_params_ui.cc:686 +msgid "No Route Selected" +msgstr "Keine Route ausgewählt" -#: gtk2_ardour/engine_dialog.cc:141 -msgid "Driver" -msgstr "Treiber" +#: gtk2_ardour/editor_markers.cc:594 +msgid "Locate to here" +msgstr "Positionszeiger hierhin setzen" -#: gtk2_ardour/engine_dialog.cc:146 -msgid "Interface" -msgstr "Gerät / Interface" +#: gtk2_ardour/editor_markers.cc:595 +msgid "Play from here" +msgstr "Wiedergabe ab hier" -#: gtk2_ardour/engine_dialog.cc:151 -#: gtk2_ardour/export_dialog.cc:108 -msgid "Sample Rate" -msgstr "Samplerate" +#: gtk2_ardour/editor_markers.cc:596 +msgid "Move Mark to Playhead" +msgstr "Marker zum Positionszeiger verschieben" -#: gtk2_ardour/engine_dialog.cc:156 -msgid "Buffer size" -msgstr "Größe Buffer" +#: gtk2_ardour/editor_markers.cc:600 +msgid "Create range to next marker" +msgstr "Bereich bis zum nächsten Marker erstellen" -#: gtk2_ardour/engine_dialog.cc:162 -msgid "Number of buffers" -msgstr "Anzahl Buffer" +#: gtk2_ardour/editor_markers.cc:606 +msgid "Unlock" +msgstr "Entsperren" -#: gtk2_ardour/engine_dialog.cc:169 -msgid "Approximate latency" -msgstr "Latenz (ca.)" +#: gtk2_ardour/editor_markers.cc:628 +msgid "Play Range" +msgstr "Bereich wiedergeben" -#: gtk2_ardour/engine_dialog.cc:183 -msgid "Audio Mode" -msgstr "Audio-Modus" +#: gtk2_ardour/editor_markers.cc:629 +msgid "Locate to Range Mark" +msgstr "Positionszeiger zu Bereichsmarker" -#: gtk2_ardour/engine_dialog.cc:222 -msgid "Realtime Priority" -msgstr "Realtime Priorität" +#: gtk2_ardour/editor_markers.cc:630 +msgid "Play from Range Mark" +msgstr "Wiedergabe ab Bereichsmarker" -#: gtk2_ardour/engine_dialog.cc:251 -#: gtk2_ardour/engine_dialog.cc:374 -msgid "Ignore" -msgstr "ignorieren" +#: gtk2_ardour/editor_markers.cc:632 +msgid "Loop Range" +msgstr "Bereich in Schleife wiedergeben" -#: gtk2_ardour/engine_dialog.cc:259 -msgid "Client timeout" -msgstr "Client Timeout" +#: gtk2_ardour/editor_markers.cc:634 +msgid "Set Range Mark from Playhead" +msgstr "Bereichsmarker beim Positionszeiger erzeugen" -#: gtk2_ardour/engine_dialog.cc:265 -msgid "Number of ports" -msgstr "Anzahl Ports" +#: gtk2_ardour/editor_markers.cc:636 +msgid "Set Range from Range Selection" +msgstr "Bereichsmarker für Auswahl erzeugen" -#: gtk2_ardour/engine_dialog.cc:272 -msgid "Dither" -msgstr "Dithering" +#: gtk2_ardour/editor_markers.cc:646 +msgid "Hide Range" +msgstr "Bereich verbergen" -#: gtk2_ardour/engine_dialog.cc:282 -msgid "No JACK server found anywhere on this system. Please install JACK and restart" -msgstr "Es wurde kein JACK Server auf diesem System gefunden. Bitte installieren Sie JACK und starten Sie ardour neu." +#: gtk2_ardour/editor_markers.cc:647 +#: gtk2_ardour/editor_markers.cc:1082 +msgid "Rename Range" +msgstr "Bereich umbenennen" -#: gtk2_ardour/engine_dialog.cc:290 -#, fuzzy -msgid "Server:" -msgstr "Stereo" +#: gtk2_ardour/editor_markers.cc:648 +msgid "Remove Range" +msgstr "Bereich entfernen" -#: gtk2_ardour/engine_dialog.cc:303 -msgid "Input device" -msgstr "Eingangsgerät" +#: gtk2_ardour/editor_markers.cc:653 +msgid "Separate Regions in Range" +msgstr "Regionen an Bereichsgrenzen teilen" -#: gtk2_ardour/engine_dialog.cc:308 -msgid "Output device" -msgstr "Ausgabegerät" +#: gtk2_ardour/editor_markers.cc:654 +msgid "Select All in Range" +msgstr "Alles im Bereich auswählen" -#: gtk2_ardour/engine_dialog.cc:314 -msgid "Input channels" -msgstr "Eingangskanäle" +#: gtk2_ardour/editor_markers.cc:656 +msgid "Select Range" +msgstr "Bereich auswählen" -#: gtk2_ardour/engine_dialog.cc:319 -msgid "Output channels" -msgstr "Ausgangskanäle" +#: gtk2_ardour/editor_markers.cc:682 +msgid "Set Loop Range" +msgstr "Schleife erstellen" -#: gtk2_ardour/engine_dialog.cc:324 -msgid "Hardware input latency (samples)" -msgstr "Hardware Eingangslatenz (Samples)" +#: gtk2_ardour/editor_markers.cc:683 +msgid "Set Punch Range" +msgstr "Punch-Bereich erstellen" -#: gtk2_ardour/engine_dialog.cc:329 -msgid "Hardware output latency (samples)" -msgstr "Hardware Ausgangslatenz (Samples)" +#: gtk2_ardour/editor_markers.cc:1080 +msgid "Rename Mark" +msgstr "Marker umbenennen" -#: gtk2_ardour/engine_dialog.cc:342 -msgid "Device" -msgstr "Gerät" +#: gtk2_ardour/editor_markers.cc:1104 +msgid "rename marker" +msgstr "Marker umbenennen" -#: gtk2_ardour/engine_dialog.cc:344 -msgid "Advanced" -msgstr "Erweitert" +#: gtk2_ardour/editor_markers.cc:1126 +msgid "set loop range" +msgstr "Loop-Bereich festlegen" -#: gtk2_ardour/engine_dialog.cc:537 -msgid "cannot open JACK rc file %1 to store parameters" -msgstr "kann die JACK rc-Datei %1 nicht öffnen, um die Parameter zu sichern" +#: gtk2_ardour/editor_markers.cc:1132 +msgid "set punch range" +msgstr "Punch-Bereich festlegen" -#: gtk2_ardour/engine_dialog.cc:842 -msgid "JACK appears to be missing from the Ardour bundle" +#: gtk2_ardour/ardour_ui.cc:115 +msgid "" +"pre\n" +"roll" msgstr "" +"pre\n" +"roll" -#: gtk2_ardour/engine_dialog.cc:1026 -msgid "AudioSetup value for %1 is missing data" +#: gtk2_ardour/ardour_ui.cc:116 +msgid "" +"post\n" +"roll" msgstr "" +"post\n" +"roll" -#: gtk2_ardour/engine_dialog.cc:1106 -msgid "configuration files contain a JACK server path that doesn't exist (%1)" -msgstr "die Konfiguration enthält einen JACK-Serverpfad, der nicht existiert (%1)" - -#: gtk2_ardour/export_dialog.cc:59 -#: gtk2_ardour/export_dialog.cc:423 -#: gtk2_ardour/export_dialog.cc:1090 -#: gtk2_ardour/export_dialog.cc:1260 -msgid "22.05kHz" -msgstr "22,05 kHz" - -#: gtk2_ardour/export_dialog.cc:60 -#: gtk2_ardour/export_dialog.cc:426 -#: gtk2_ardour/export_dialog.cc:441 -#: gtk2_ardour/export_dialog.cc:1092 -#: gtk2_ardour/export_dialog.cc:1262 -msgid "44.1kHz" -msgstr "44,1 kHz" - -#: gtk2_ardour/export_dialog.cc:61 -#: gtk2_ardour/export_dialog.cc:429 -#: gtk2_ardour/export_dialog.cc:1094 -#: gtk2_ardour/export_dialog.cc:1264 -msgid "48kHz" -msgstr "4" - -#: gtk2_ardour/export_dialog.cc:62 -#: gtk2_ardour/export_dialog.cc:432 -#: gtk2_ardour/export_dialog.cc:1096 -#: gtk2_ardour/export_dialog.cc:1266 -msgid "88.2kHz" -msgstr "88,2 kHz" - -#: gtk2_ardour/export_dialog.cc:63 -#: gtk2_ardour/export_dialog.cc:435 -#: gtk2_ardour/export_dialog.cc:1098 -#: gtk2_ardour/export_dialog.cc:1268 -msgid "96kHz" -msgstr "96 kHz" - -#: gtk2_ardour/export_dialog.cc:64 -#: gtk2_ardour/export_dialog.cc:438 -#: gtk2_ardour/export_dialog.cc:1100 -#: gtk2_ardour/export_dialog.cc:1270 -msgid "192kHz" -msgstr "192 kHz" - -#: gtk2_ardour/export_dialog.cc:69 -msgid "best" -msgstr "bestmöglich" - -#: gtk2_ardour/export_dialog.cc:70 -#: gtk2_ardour/export_dialog.cc:1280 -msgid "fastest" -msgstr "schnellstmöglich" - -#: gtk2_ardour/export_dialog.cc:71 -#: gtk2_ardour/export_dialog.cc:1282 -msgid "linear" -msgstr "Linear" - -#: gtk2_ardour/export_dialog.cc:72 -#: gtk2_ardour/export_dialog.cc:1284 -msgid "better" -msgstr "besser" - -#: gtk2_ardour/export_dialog.cc:73 -#: gtk2_ardour/export_dialog.cc:1286 -msgid "intermediate" -msgstr "mittelmäßig" - -#: gtk2_ardour/export_dialog.cc:80 -msgid "Shaped Noise" -msgstr "Shaped Noise" - -#: gtk2_ardour/export_dialog.cc:86 -msgid "stereo" -msgstr "Stereo" - -#: gtk2_ardour/export_dialog.cc:87 -#: gtk2_ardour/export_dialog.cc:510 -#: gtk2_ardour/export_dialog.cc:1118 -#: gtk2_ardour/export_dialog.cc:1240 -msgid "mono" -msgstr "Mono" - -#: gtk2_ardour/export_dialog.cc:93 -msgid "CUE" -msgstr "CUE" - -#: gtk2_ardour/export_dialog.cc:94 -#: gtk2_ardour/export_dialog.cc:926 -msgid "TOC" -msgstr "TOC" - -#: gtk2_ardour/export_dialog.cc:102 -msgid "Format" -msgstr "Format" - -#: gtk2_ardour/export_dialog.cc:103 -msgid "CD Marker File Type" -msgstr "CD-Marker" - -#: gtk2_ardour/export_dialog.cc:104 -msgid "Channels" -msgstr "Kanäle" - -#: gtk2_ardour/export_dialog.cc:105 -msgid "File Type" -msgstr "Dateiformat" - -#: gtk2_ardour/export_dialog.cc:106 -msgid "Sample Format" -msgstr "Sampleformat" - -#: gtk2_ardour/export_dialog.cc:107 -msgid "Sample Endianness" -msgstr "Bytefolge" - -#: gtk2_ardour/export_dialog.cc:109 -msgid "Conversion Quality" -msgstr "Qualität" - -#: gtk2_ardour/export_dialog.cc:110 -msgid "Dither Type" -msgstr "Dithering" - -#: gtk2_ardour/export_dialog.cc:111 -msgid "Export CD Marker File Only" -msgstr "Nur CD-Marker exportieren" - -#: gtk2_ardour/export_dialog.cc:112 -#: gtk2_ardour/option_editor.cc:98 -#: gtk2_ardour/option_editor.cc:99 -msgid "Browse" -msgstr "Durchsuchen" - -#: gtk2_ardour/export_dialog.cc:113 -msgid "Specific tracks ..." -msgstr "Alle Spuren..." - -#: gtk2_ardour/export_dialog.cc:141 -#: gtk2_ardour/export_dialog.cc:157 -#: gtk2_ardour/mixer_strip.cc:127 -#: gtk2_ardour/mixer_strip.cc:733 -msgid "Output" -msgstr "Ausgang" - -#: gtk2_ardour/export_dialog.cc:656 -msgid "Editor: cannot open \"%1\" as export file for CD toc file" -msgstr "Editor: Kann \"%1\" nicht nicht zum Export für CD-Inhaltsverzeichnis (TOC) öffnen." +#: gtk2_ardour/ardour_ui.cc:142 +msgid "% " +msgstr "" -#: gtk2_ardour/export_dialog.cc:790 -msgid "Editor: cannot open \"%1\" as export file for CD cue file" -msgstr "Editor: Kann \"%1\" nicht zum Export für CD CUE-Datei öffnen." +#: gtk2_ardour/ardour_ui.cc:150 +msgid "" +"time\n" +"master" +msgstr "" +"Time\n" +"Master" -#: gtk2_ardour/export_dialog.cc:809 -msgid "WAV" -msgstr "WAV" +#: gtk2_ardour/ardour_ui.cc:152 +msgid "AUDITION" +msgstr "VORHÖREN" -#: gtk2_ardour/export_dialog.cc:941 -#, fuzzy -msgid "Not connected to audioengine" -msgstr "Nicht mit JACK verbunden - konnte die Aufnahme nicht starten" +#: gtk2_ardour/ardour_ui.cc:153 +msgid "SOLO" +msgstr "SOLO" -#: gtk2_ardour/export_dialog.cc:945 -msgid "Ardour cannot export audio when disconnected" -msgstr "Ardour kann nicht exportieren, wenn keine Verbindung zu JACK besteht." +#: gtk2_ardour/ardour_ui.cc:155 +msgid "Errors" +msgstr "Fehlermeldungen" -#: gtk2_ardour/export_dialog.cc:975 -msgid "Stop Export" -msgstr "Export Abbrechen" +#: gtk2_ardour/ardour_ui.cc:246 +msgid "could not initialize Ardour." +msgstr "Konnte Ardour nicht initialisieren." -#: gtk2_ardour/export_dialog.cc:1194 -msgid "Please enter a valid filename." -msgstr "Bitte geben Sie einen gültigen Dateinamen ein." +#: gtk2_ardour/ardour_ui.cc:272 +msgid "Starting audio engine" +msgstr "Starte Audio Engine" -#: gtk2_ardour/export_dialog.cc:1204 -msgid "Please specify a complete filename for the audio file." -msgstr "Bitte geben Sie einen kompletten Dateinamen für die Audiodatei ein." +#: gtk2_ardour/ardour_ui.cc:578 +msgid "Ardour could not start JACK" +msgstr "Ardour konnte JACK nicht starten" -#: gtk2_ardour/export_dialog.cc:1210 -msgid "File already exists, do you want to overwrite it?" -msgstr "Datei existiert bereits, wollen Sie sie überschreiben?" +#: gtk2_ardour/ardour_ui.cc:580 +msgid "Ardour could not connect to JACK." +msgstr "Ardour konnte nicht zu JACK verbinden." -#: gtk2_ardour/export_dialog.cc:1222 -#: gtk2_ardour/export_range_markers_dialog.cc:160 -msgid "Cannot write file in: " -msgstr "Konnte Datei nicht in Verzeichnis schreiben:" +#: gtk2_ardour/ardour_ui.cc:589 +msgid "" +"There are several possible reasons:\n" +"\n" +"1) You requested audio parameters that are not supported..\n" +"2) JACK is running as another user.\n" +"\n" +"Please consider the possibilities, and perhaps try different parameters." +msgstr "" +"Dafür kann es verschiedene Gründe geben:\n" +"\n" +"1) Sie haben nicht unterstützte Audioeinstellungen gewählt.\n" +"2) JACK wurde unter einem anderen Benutzer gestartet.\n" +"\n" +"Betrachten Sie bitte diese Möglichkeiten und verwenden sie ggf. andere Einstellungen." -#: gtk2_ardour/export_session_dialog.cc:29 -#: gtk2_ardour/export_region_dialog.cc:35 -msgid "Export to File" -msgstr "Als Audiodatei exportieren" +#: gtk2_ardour/ardour_ui.cc:596 +msgid "" +"There are several possible reasons:\n" +"\n" +"1) JACK is not running.\n" +"2) JACK is running as another user, perhaps root.\n" +"3) There is already another client called \"ardour\".\n" +"\n" +"Please consider the possibilities, and perhaps (re)start JACK." +msgstr "" +"Dafür kann es verschiedene Gründe geben:\n" +"\n" +"1) JACK läuft nicht.\n" +"2) JACK wurde unter einem anderen Benutzer gestartet, möglicherweise als root.\n" +"3) Es gibt bereits einen anderen Client mit der Bezeichnung \"ardour\".\n" +"\n" +"Betrachten Sie bitte diese Möglichkeiten und starten Sie ggf. JACK neu." -#: gtk2_ardour/export_region_dialog.cc:34 -msgid "ardour: export region" -msgstr "ardour: Region Exportieren" +#: gtk2_ardour/ardour_ui.cc:644 +msgid "Ardour is ready for use" +msgstr "Ardour ist bereit" -#: gtk2_ardour/export_range_markers_dialog.cc:41 -msgid "ardour: export ranges" -msgstr "ardour: Bereiche Exportieren" +#: gtk2_ardour/ardour_ui.cc:686 +msgid "" +"WARNING: Your system has a limit for maximum amount of locked memory. This might cause Ardour to run out of memory before your system runs out of memory. \n" +"\n" +"You can view the memory limit with 'ulimit -l', and it is normally controlled by /etc/security/limits.conf" +msgstr "" +"WARNUNG: Ihr System hat eine Begrenzung für die Reservierung von Arbeitsspeicher eingestellt. Dies könnte dazu führen, dass Ardour zu schnell der Speicher ausgeht.\n" +"\n" +"Sie können die Speicherbegrenzung mit 'ulimit -l' einsehen und normalerweise in /etc/security/limits.conf verändern." -#: gtk2_ardour/export_range_markers_dialog.cc:42 -msgid "Export to Directory" -msgstr "In Verzeichnis exportieren" +#: gtk2_ardour/ardour_ui.cc:694 +msgid "Do not show this window again" +msgstr "Diese Meldung nicht wieder anzeigen" -#: gtk2_ardour/export_range_markers_dialog.cc:143 -msgid "Please enter a valid target directory." -msgstr "Bitte geben Sie ein gültiges Zielverzeichis an." +#: gtk2_ardour/ardour_ui.cc:723 +msgid "quit" +msgstr "Beenden" -#: gtk2_ardour/export_range_markers_dialog.cc:151 -msgid "Please select an existing target directory. Files are not allowed!" +#: gtk2_ardour/ardour_ui.cc:732 +msgid "" +"Ardour was unable to save your session.\n" +"\n" +"If you still wish to quit, please use the\n" +"\n" +"\"Just quit\" option." msgstr "" -"Bitte wählen Sie ein vorhandenes Zielverzeichnis aus.\n" -"Dateien sind nicht möglich." - -#: gtk2_ardour/gain_automation_time_axis.cc:64 -msgid "add gain automation event" -msgstr "Punkt in die Lautstärkekurve einfügen" - -#: gtk2_ardour/gain_meter.cc:114 -#: gtk2_ardour/gain_meter.cc:345 -#: gtk2_ardour/gain_meter.cc:541 -#: gtk2_ardour/gain_meter.cc:612 -msgid "-inf" -msgstr "-inf" +"Ardour konnte das Projekt nicht speichern.\n
\n" +"Wenn Sie trotzdem beenden wollen, wählen Sie bitte\n" +"\n" +"\"Trotzdem beenden\"." -#: gtk2_ardour/gain_meter.cc:125 -msgid "Fader automation mode" -msgstr "Fader Automationsmodus" +#: gtk2_ardour/ardour_ui.cc:757 +msgid "ardour: save session?" +msgstr "ardour: Projekt speichern?" -#: gtk2_ardour/gain_meter.cc:126 -msgid "Fader automation type" -msgstr "Fader-Automationstyp" +#: gtk2_ardour/ardour_ui.cc:764 +msgid "Don't %1" +msgstr "Abbrechen" -#: gtk2_ardour/gain_meter.cc:170 -#: gtk2_ardour/gain_meter.cc:907 -#: gtk2_ardour/panner_ui.cc:98 -#: gtk2_ardour/panner_ui.cc:784 -msgid "Abs" -msgstr "Abs" +#: gtk2_ardour/ardour_ui.cc:766 +msgid "Just %1" +msgstr "%1" -#: gtk2_ardour/gain_meter.cc:519 -msgid "-Inf" -msgstr "-Inf" +#: gtk2_ardour/ardour_ui.cc:768 +msgid "Save and %1" +msgstr "Speichern und %1" -#: gtk2_ardour/gain_meter.cc:723 -#: gtk2_ardour/gain_meter.cc:738 -msgid "meter point change" -msgstr "Taktwechsel ändern" +#: gtk2_ardour/ardour_ui.cc:780 +msgid "session" +msgstr "Das Projekt" -#: gtk2_ardour/gain_meter.cc:871 -#: gtk2_ardour/mixer_strip.cc:443 -#: gtk2_ardour/panner_ui.cc:748 -msgid "M" -msgstr "M" +#: gtk2_ardour/ardour_ui.cc:782 +msgid "snapshot" +msgstr "Der Schnappschuss" -#: gtk2_ardour/gain_meter.cc:874 -#: gtk2_ardour/panner_ui.cc:751 -msgid "P" -msgstr "P" +#: gtk2_ardour/ardour_ui.cc:784 +msgid "" +"The %1\"%2\"\n" +"has not been saved.\n" +"\n" +"Any changes made this time\n" +"will be lost unless you save it.\n" +"\n" +"What do you want to do?" +msgstr "" +"%1 \"%2\" wurde nicht gespeichert.\n" +"\n" +"Alle Änderungen werden verloren gehen wenn Sie nicht speichern.\n" +"\n" +"Wie wollen Sie vorgehen?" -#: gtk2_ardour/gain_meter.cc:877 -#: gtk2_ardour/panner_ui.cc:754 -msgid "T" -msgstr "T" +#: gtk2_ardour/ardour_ui.cc:798 +msgid "Prompter" +msgstr "Frage" -#: gtk2_ardour/gain_meter.cc:880 -#: gtk2_ardour/panner_ui.cc:757 -msgid "W" -msgstr "W" +#: gtk2_ardour/ardour_ui.cc:858 +#, c-format +msgid "disconnected" +msgstr "getrennt" -#: gtk2_ardour/generic_pluginui.cc:77 -msgid "<span size=\"large\">Presets</span>" -msgstr "<span size=\"large\">Voreinstellungen</span>" +#: gtk2_ardour/ardour_ui.cc:865 +#, c-format +msgid "%.1f kHz / %4.1f ms" +msgstr "%.1f kHz / %4.1f ms" -#: gtk2_ardour/generic_pluginui.cc:205 -msgid "Plugin Editor: could not build control element for port %1" -msgstr "Plugin Editor: konnte kein Steuerelement für Port %1 erzeugen" +#: gtk2_ardour/ardour_ui.cc:869 +#, c-format +msgid "%u kHz / %4.1f ms" +msgstr "%u kHz / %4.1f ms" -#: gtk2_ardour/generic_pluginui.cc:295 -msgid "Automation control" -msgstr "Automation" +#: gtk2_ardour/ardour_ui.cc:882 +#, c-format +msgid "DSP: %5.1f%%" +msgstr "DSP: %5.1f%%" -#: gtk2_ardour/generic_pluginui.cc:302 -#, fuzzy -msgid "Mgnual" -msgstr "Manuell" +#: gtk2_ardour/ardour_ui.cc:892 +#, c-format +msgid "Buffers p:%<PRIu32>%% c:%<PRIu32>%%" +msgstr "Buffer p:%<PRIu32>%% c:%<PRIu32>%%" -#: gtk2_ardour/gtk-custom-ruler.c:126 -msgid "Lower" -msgstr "Untergrenze" +#: gtk2_ardour/ardour_ui.cc:920 +msgid "Disk: 24hrs+" +msgstr "HD: >24 Std." -#: gtk2_ardour/gtk-custom-ruler.c:127 -msgid "Lower limit of ruler" -msgstr "Untere Grenze des Lineals" +#: gtk2_ardour/ardour_ui.cc:940 +#, c-format +msgid "Disk: %02dh:%02dm:%02ds" +msgstr "HD: %02dh:%02dm:%02ds" -#: gtk2_ardour/gtk-custom-ruler.c:136 -msgid "Upper" -msgstr "Obergrenze" +#: gtk2_ardour/ardour_ui.cc:1139 +msgid "" +"Ardour is not connected to JACK\n" +"You cannot open or close sessions in this condition" +msgstr "" +"Ardour ist derzeit nicht mit JACK verbunden.\n" +"Es ist nicht möglich, neue Projekte zu erstellen." -#: gtk2_ardour/gtk-custom-ruler.c:137 -msgid "Upper limit of ruler" -msgstr "Obere Grenze für das Lineal" +#: gtk2_ardour/ardour_ui.cc:1164 +msgid "open session" +msgstr "Projekt öffnen" -#: gtk2_ardour/gtk-custom-ruler.c:146 -msgid "Position" -msgstr "Position" +#: gtk2_ardour/ardour_ui.cc:1171 +msgid "Ardour sessions" +msgstr "Ardour-Projekte" -#: gtk2_ardour/gtk-custom-ruler.c:147 -msgid "Position of mark on the ruler" -msgstr "Position der Markierung auf dem Lineal" +#: gtk2_ardour/ardour_ui.cc:1204 +msgid "Patience is a virtue.\n" +msgstr "Geduld ist eine Tugend.\n" -#: gtk2_ardour/gtk-custom-ruler.c:156 -msgid "Max Size" -msgstr "Maximale Größe" +#: gtk2_ardour/ardour_ui.cc:1214 +msgid "You cannot add a track or bus without a session already loaded." +msgstr "Sie können erst Spuren oder Busse hinzufügen, wenn ein Projekt geladen wurde." -#: gtk2_ardour/gtk-custom-ruler.c:157 -msgid "Maximum size of the ruler" -msgstr "Minimal Größe des Lineals" +#: gtk2_ardour/ardour_ui.cc:1224 +#: gtk2_ardour/ardour_ui.cc:1237 +msgid "could not create a new audio track" +msgstr "Konnte neue Spur nicht erstellen." -#: gtk2_ardour/gtk-custom-ruler.c:166 -msgid "Show Position" -msgstr "Zeige Position" +#: gtk2_ardour/ardour_ui.cc:1226 +msgid "could only create %1 of %2 new audio %3" +msgstr "Konnte nur %1 von %2 neuen %3 erstellen" -#: gtk2_ardour/gtk-custom-ruler.c:167 -msgid "Draw current ruler position" -msgstr "Zeige aktuelle Position des Lineals" +#: gtk2_ardour/ardour_ui.cc:1239 +msgid "could not create %1 new audio tracks" +msgstr "Konnte %1 neue Spuren nicht erstellen." -#: gtk2_ardour/imageframe_socket_handler.cc:126 -msgid "Image Compositor Socket has been shutdown/closed" +#: gtk2_ardour/ardour_ui.cc:1259 +msgid "" +"There are insufficient JACK ports available\n" +"to create a new track or bus.\n" +"You should save Ardour, exit and\n" +"restart JACK with more ports." msgstr "" +"Es sind nicht genügend JACK Ports verfügbar\n" +"um neue Spuren oder Busse zu erstellen.\n" +"Speichern Sie Ihr Projekt, beenden Sie\n" +"Ardour und starten Sie JACK mit einer größeren\n" +"Anzahl Ports neu." -#: gtk2_ardour/imageframe_time_axis.cc:285 -msgid "0.5 seconds" -msgstr "0,5 Sekunden" - -#: gtk2_ardour/imageframe_time_axis.cc:286 -#: gtk2_ardour/marker_time_axis.cc:241 -msgid "1 seconds" -msgstr "1 Sekunde" - -#: gtk2_ardour/imageframe_time_axis.cc:287 -#: gtk2_ardour/marker_time_axis.cc:242 -msgid "1.5 seconds" -msgstr "1,5 Sekunden" - -#: gtk2_ardour/imageframe_time_axis.cc:288 -#: gtk2_ardour/marker_time_axis.cc:243 -msgid "2 seconds" -msgstr "2 Sekunden" - -#: gtk2_ardour/imageframe_time_axis.cc:289 -#: gtk2_ardour/marker_time_axis.cc:244 -msgid "2.5 seconds" -msgstr "2,5 Sekunden" - -#: gtk2_ardour/imageframe_time_axis.cc:290 -#: gtk2_ardour/marker_time_axis.cc:245 -msgid "3 seconds" -msgstr "3 Sekunden" - -#: gtk2_ardour/imageframe_time_axis.cc:295 -#: gtk2_ardour/marker_time_axis.cc:250 -msgid "Duration (sec)" -msgstr "Dauer (Sek)" - -#: gtk2_ardour/imageframe_time_axis.cc:300 -msgid "Remove Frame" -msgstr "Frame löschen" +#: gtk2_ardour/ardour_ui.cc:1409 +msgid "" +"Please create 1 or more track\n" +"before trying to record.\n" +"Check the Session menu." +msgstr "" +"Bitte fügen Sie mindestens eine weitere Spur hinzu,\n" +"bevor Sie aufnehmen.\n" +"Weitere Einstellungen finden Sie im Projektmenü." -#: gtk2_ardour/imageframe_time_axis.cc:303 -msgid "Image Frame" +#: gtk2_ardour/ardour_ui.cc:1667 +msgid "" +"JACK has either been shutdown or it\n" +"disconnected Ardour because Ardour\n" +"was not fast enough. You can save the\n" +"session and/or try to reconnect to JACK ." msgstr "" +"JACK wurde entweder beendet oder\n" +"hat Ardour getrennt weil Ardour nicht\n" +"schnell genug war. Sie sollten versuchen,\n" +"das Projekt zu speichern und erneut mit JACK zu verbinden." -#: gtk2_ardour/imageframe_time_axis.cc:304 -#: gtk2_ardour/marker_time_axis.cc:256 -msgid "Rename Track" -msgstr "Spur umbenennen" +#: gtk2_ardour/ardour_ui.cc:1685 +msgid "Unable to start the session running" +msgstr "Konnte das aktuelle Projekt nicht starten" -#: gtk2_ardour/io_selector.cc:59 -#: gtk2_ardour/io_selector.cc:747 -#: gtk2_ardour/connection_editor.cc:85 -msgid "OK" -msgstr "OK" +#: gtk2_ardour/ardour_ui.cc:1776 +#: gtk2_ardour/ardour_ui.cc:1795 +#: gtk2_ardour/audio_clock.cc:514 +#: gtk2_ardour/audio_clock.cc:515 +msgid "none" +msgstr "keine" -#: gtk2_ardour/io_selector.cc:61 -#: gtk2_ardour/io_selector.cc:749 -#: gtk2_ardour/connection_editor.cc:60 -#: gtk2_ardour/connection_editor.cc:109 -msgid "Rescan" -msgstr "Auffrischen" +#: gtk2_ardour/ardour_ui.cc:1785 +#: gtk2_ardour/ardour_ui.cc:1804 +msgid "off" +msgstr "aus" -#: gtk2_ardour/io_selector.cc:69 -msgid "%1 input" -msgstr "%1 Eingang" +#: gtk2_ardour/ardour_ui.cc:1830 +msgid "Name of New Snapshot" +msgstr "Name für neuen Schnappschuss" -#: gtk2_ardour/io_selector.cc:71 -msgid "%1 output" -msgstr "%1 Ausgang" +#: gtk2_ardour/ardour_ui.cc:1940 +msgid "Name for mix template:" +msgstr "Name für Mixer-Vorlage" -#: gtk2_ardour/io_selector.cc:143 -#: gtk2_ardour/route_params_ui.cc:103 -msgid "Inputs" -msgstr "Eingänge" +#: gtk2_ardour/ardour_ui.cc:1941 +msgid "-template" +msgstr "Vorlage" -#: gtk2_ardour/io_selector.cc:143 -#: gtk2_ardour/route_params_ui.cc:104 -msgid "Outputs" -msgstr "Ausgänge" +#: gtk2_ardour/ardour_ui.cc:1970 +msgid "" +"Welcome to Ardour.\n" +"\n" +"The program will take a bit longer to start up\n" +"while the system fonts are checked.\n" +"\n" +"This will only be done once, and you will\n" +"not see this message again\n" +msgstr "" +"Willkommen bei Ardour.\n" +"\n" +"Der Programmstart wird etwas länger dauern,\n" +"da die Systemschriften geprüft werden.\n" +"\n" +"Diese Meldung wird nur dieses eine Mal\n" +"auftauchen.\n" -#: gtk2_ardour/io_selector.cc:144 -msgid "Add Input" -msgstr "Hinzufügen" +#: gtk2_ardour/ardour_ui.cc:2057 +msgid "" +"This session\n" +"%1\n" +"already exists. Do you want to open it?" +msgstr "" +"Das Projekt\n" +"%1\n" +"existiert bereits. Wollen Sie sie öffnen?" -#: gtk2_ardour/io_selector.cc:144 -msgid "Add Output" -msgstr "Hinzufügen" +#: gtk2_ardour/ardour_ui.cc:2420 +msgid "" +"You do not have write access to this session.\n" +"This prevents the session from being loaded." +msgstr "" +"Sie haben keinen Schreibzugriff auf dieses Projekt.\n" +"Dadurch kann das Projekt nicht geladen werden." -#: gtk2_ardour/io_selector.cc:145 -msgid "Remove Input" -msgstr "Entfernen" +#: gtk2_ardour/ardour_ui.cc:2427 +msgid "Please wait while Ardour loads your session" +msgstr "Bitte warten Sie, während Ardour das Projekt lädt" -#: gtk2_ardour/io_selector.cc:145 -msgid "Remove Output" -msgstr "Entfernen" +#: gtk2_ardour/ardour_ui.cc:2442 +#: gtk2_ardour/ardour_ui.cc:2468 +msgid "Loading Error" +msgstr "Fehler beim Laden" -#: gtk2_ardour/io_selector.cc:146 -msgid "Disconnect All" -msgstr "Alle trennen" +#: gtk2_ardour/ardour_ui.cc:2443 +#: gtk2_ardour/ardour_ui.cc:2469 +msgid "Click the OK button to try again." +msgstr "Klicken Sie auf OK, um es erneut zu versuchen." -#: gtk2_ardour/io_selector.cc:160 -msgid "Available connections" -msgstr "Verfügbare Verbindungen" +#: gtk2_ardour/ardour_ui.cc:2463 +msgid "Session \"%1 (snapshot %2)\" did not load successfully" +msgstr "Projekt \"%1 (Schnappschuss %2)\" konnte nicht geladen werden." -#: gtk2_ardour/io_selector.cc:548 -#: gtk2_ardour/io_selector.cc:559 -msgid "There are no more JACK ports available." -msgstr "Es sind keine weiteren JACK Ports verfügbar." +#: gtk2_ardour/ardour_ui.cc:2542 +msgid "Could not create session in \"%1\"" +msgstr "Konnte kein Projekt in \"%1\" anlegen" -#: gtk2_ardour/io_selector.cc:753 -msgid "ardour: " -msgstr "ardour: " +#: gtk2_ardour/ardour_ui.cc:2629 +msgid "No audio files were ready for cleanup" +msgstr "Keine Audiodateien zum Aufräumen vorhanden" -#: gtk2_ardour/keyeditor.cc:25 -msgid "Keybinding Editor" +#: gtk2_ardour/ardour_ui.cc:2633 +msgid "" +"If this seems suprising, \n" +"check for any existing snapshots.\n" +"These may still include regions that\n" +"require some unused files to continue to exist." msgstr "" +"Falls trotzdem nicht benötigte Dateien\n" +"existieren, welche hier nicht erkannt werden,\n" +"sind sie wahrscheinlich noch in einem\n" +"älteren Schnappschuss als Region eingebunden." -#: gtk2_ardour/keyeditor.cc:33 -msgid "Action" -msgstr "Aktion" +#: gtk2_ardour/ardour_ui.cc:2642 +msgid "ardour: cleanup" +msgstr "ardour: Aufräumen" -#: gtk2_ardour/keyeditor.cc:34 -msgid "Binding" -msgstr "Zugewiesene Taste" +#: gtk2_ardour/ardour_ui.cc:2678 +#: gtk2_ardour/ardour_ui.cc:2684 +msgid "files were" +msgstr "folgenden Dateien wurden" -#: gtk2_ardour/keyeditor.cc:188 -msgid "Command-" -msgstr "Befehl-" +#: gtk2_ardour/ardour_ui.cc:2680 +#: gtk2_ardour/ardour_ui.cc:2686 +msgid "file was" +msgstr "folgende Datei wurde" -#: gtk2_ardour/keyeditor.cc:189 -msgid "Option-" -msgstr "Option-" +#: gtk2_ardour/ardour_ui.cc:2727 +msgid "Are you sure you want to cleanup?" +msgstr "Sind Sie sicher, dass Sie aufräumen wollen?" -#: gtk2_ardour/keyeditor.cc:190 -msgid "Shift-" +#: gtk2_ardour/ardour_ui.cc:2732 +msgid "" +"Cleanup is a destructive operation.\n" +"ALL undo/redo information will be lost if you cleanup.\n" +"After cleanup, unused audio files will be moved to a \"dead sounds\" location." msgstr "" +"Das Aufräumen ist eine destruktive Operation.\n" +"Sämtliche Wiederherstellungsinformationen gehen verloren, wenn Sie aufräumen.\n" +"Nach dem Aufräumen werden alle nicht benötigten Audiodateien in einen \"dead sounds\" Ordner verschoben." -#: gtk2_ardour/location_ui.cc:49 -#: gtk2_ardour/location_ui.cc:52 -msgid "Set" -msgstr "Setzen" - -#: gtk2_ardour/location_ui.cc:50 -#: gtk2_ardour/location_ui.cc:53 -msgid "Go" -msgstr "Gehe zu" - -#: gtk2_ardour/location_ui.cc:56 -msgid "CD" -msgstr "CD" - -#: gtk2_ardour/location_ui.cc:59 -msgid "SCMS" -msgstr "SCMS" - -#: gtk2_ardour/location_ui.cc:60 -msgid "Pre-Emphasis" -msgstr "Präemphase" - -#: gtk2_ardour/location_ui.cc:430 -msgid "You cannot put a CD marker at the start of the session" -msgstr "Sie können keinen CD-Marker am Anfang des Projekts erstellen" - -#: gtk2_ardour/location_ui.cc:605 -msgid "Add New Location" -msgstr "Neue Position hinzufügen" - -#: gtk2_ardour/location_ui.cc:606 -msgid "Add New Range" -msgstr "Neuen Bereich hinzufügen" +#: gtk2_ardour/ardour_ui.cc:2738 +msgid "Clean Up" +msgstr "Aufräumen" -#: gtk2_ardour/location_ui.cc:642 -msgid "Location (CD Index) Markers" -msgstr "Positionsmarker (CD Index)" +#: gtk2_ardour/ardour_ui.cc:2741 +msgid "CleanupDialog" +msgstr "Aufräumdialog" -#: gtk2_ardour/location_ui.cc:662 -msgid "Range (CD Track) Markers" -msgstr "Bereiche (CD Tracks)" +#: gtk2_ardour/ardour_ui.cc:2772 +msgid "cleaned files" +msgstr "aufgeräumte Dateien" -#: gtk2_ardour/location_ui.cc:840 -msgid "add range marker" -msgstr "Bereich hinzufügen" +#: gtk2_ardour/ardour_ui.cc:2773 +msgid "" +"The following %1 %2 not in use and \n" +"have been moved to:\n" +"%3. \n" +"\n" +"Flushing the wastebasket will \n" +"release an additional\n" +"%4 %5bytes of disk space.\n" +msgstr "" +"Die %1 %2 nicht benötigt und\n" +"verschoben nach:\n" +"%3. \n" +"\n" +"Wenn Sie den Müll leeren werden weitere\n" +"%4 %5byte Speicherplatz frei.\n" -#: gtk2_ardour/main.cc:153 -msgid "cannot open pango.rc file %1" -msgstr "kann die Datei pango.rc nicht öffnen %1" +#: gtk2_ardour/ardour_ui.cc:2799 +msgid "deleted file" +msgstr "gelöschte Datei" -#: gtk2_ardour/main.cc:230 -msgid "Key bindings file \"%1\" not found. Default bindings used instead" +#: gtk2_ardour/ardour_ui.cc:2800 +msgid "" +"The following %1 %2 deleted from\n" +"%3,\n" +"releasing %4 %5bytes of disk space" msgstr "" +"Die %1 %2 gelöscht aus\n" +"%3,\n" +"und machten %4 %5byte Speicherplatz frei" -#: gtk2_ardour/main.cc:292 -msgid "Ardour/GTK " -msgstr "Ardour/GTK " +#: gtk2_ardour/ardour_ui.cc:2924 +msgid "Recording was stopped because your system could not keep up." +msgstr "Die Aufnahme wurde gestoppt, da Ihr System nicht schnell genug folgen konnte." -#: gtk2_ardour/main.cc:294 +#: gtk2_ardour/ardour_ui.cc:2949 msgid "" +"The disk system on your computer\n" +"was not able to keep up with Ardour.\n" "\n" -" (built using " +"Specifically, it failed to write data to disk\n" +"quickly enough to keep up with recording.\n" msgstr "" +"Ihre Festplatte war nicht schnell genug,\n" +"um Ardour zu folgen.\n" "\n" -" (kompiliert mit Version " - -#: gtk2_ardour/main.cc:297 -msgid " and GCC version " -msgstr " und GCC Version" - -#: gtk2_ardour/main.cc:307 -msgid "Copyright (C) 1999-2007 Paul Davis" -msgstr "Copyright (C) 1999-2007 Paul Davis" - -#: gtk2_ardour/main.cc:308 -msgid "Some portions Copyright (C) Steve Harris, Ari Johnson, Brett Viren, Joel Baker" -msgstr "Einige Teile Copyright (C) Steve Harris, Ari Johnson, Brett Viren, Joel Baker" - -#: gtk2_ardour/main.cc:310 -msgid "Ardour comes with ABSOLUTELY NO WARRANTY" -msgstr "Ardour wird Ihnen ohne jegliche Gewährleistung und ausdrücklich ohne die Zusicherung" - -#: gtk2_ardour/main.cc:311 -msgid "not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." -msgstr "für allgemeine oder spezielle Gebrauchstauglichkeit zur Verfügung gestellt." - -#: gtk2_ardour/main.cc:312 -msgid "This is free software, and you are welcome to redistribute it " -msgstr "Dies ist freie Software und Sie dürfen sie gerne weiterverbreiten," - -#: gtk2_ardour/main.cc:313 -msgid "under certain conditions; see the source for copying conditions." -msgstr "solange Sie sich an die Bedingungen, die in der Datei COPYING aufgeführt sind halten." - -#: gtk2_ardour/main.cc:324 -msgid "could not create ARDOUR GUI" -msgstr "konnte das grafische Ardour User Interface nicht erstellen" +"Die Daten konnten nicht schnell genug geschrieben\n" +"werden, um die Aufnahme fortzuführen.\n" -#: gtk2_ardour/marker.cc:244 -msgid "MarkerText" +#: gtk2_ardour/ardour_ui.cc:2968 +msgid "" +"The disk system on your computer\n" +"was not able to keep up with Ardour.\n" +"\n" +"Specifically, it failed to read data from disk\n" +"quickly enough to keep up with playback.\n" msgstr "" +"Ihre Festplatte war nicht schnell genug,\n" +"um Ardour zu folgen.\n" +"\n" +"Die Daten konnten nicht schnell genug gelesen\n" +"werden, um die Wiedergabe aufrechtzuerhalten.\n" -#: gtk2_ardour/marker_time_axis.cc:253 -msgid "Remove Marker" -msgstr "Marker entfernen" - -#: gtk2_ardour/midi_port_dialog.cc:22 -msgid "Port name" -msgstr "Port Name" - -#: gtk2_ardour/mixer_strip.cc:97 -#: gtk2_ardour/mixer_strip.cc:143 -#: gtk2_ardour/mixer_strip.cc:1217 -msgid "pre" -msgstr "Pre" +#: gtk2_ardour/ardour_ui.cc:3008 +msgid "Crash Recovery" +msgstr "Wiederherstellung" -#: gtk2_ardour/mixer_strip.cc:98 -#: gtk2_ardour/mixer_strip.cc:786 -msgid "Comments" -msgstr "Kommentare" +#: gtk2_ardour/ardour_ui.cc:3009 +msgid "" +"This session appears to have been in\n" +"middle of recording when ardour or\n" +"the computer was shutdown.\n" +"\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" +msgstr "" +"Es scheint, dass dieses Projekt während\n" +"einer Aufnahme abgebrochen oder\n" +"geschlossen wurde.\n" +"\n" +"Ardour kann die Aufgenommenen Audiodaten\n" +"für Sie wiederherstellen oder sie verwerfen.\n" +"Bitte entscheiden Sie, wie Sie vorgehen möchten.\n" -#: gtk2_ardour/mixer_strip.cc:122 -msgid "Input" -msgstr "Eingang" +#: gtk2_ardour/ardour_ui.cc:3021 +msgid "Ignore crash data" +msgstr "Daten verwerfen" -#: gtk2_ardour/mixer_strip.cc:139 -#: gtk2_ardour/mixer_strip.cc:1213 -#: gtk2_ardour/option_editor.cc:707 -msgid "input" -msgstr "Input" +#: gtk2_ardour/ardour_ui.cc:3022 +msgid "Recover from crash" +msgstr "Daten wiederherstellen" -#: gtk2_ardour/mixer_strip.cc:147 -#: gtk2_ardour/mixer_strip.cc:1221 -msgid "post" -msgstr "Post" +#: gtk2_ardour/ardour_ui.cc:3042 +msgid "Sample Rate Mismatch" +msgstr "Samplerate passt nicht" -#: gtk2_ardour/mixer_strip.cc:154 -msgid "tupni" +#: gtk2_ardour/ardour_ui.cc:3043 +msgid "" +"This session was created with a sample rate of %1 Hz\n" +"\n" +"The audioengine is currently running at %2 Hz\n" msgstr "" +"Dieses Projekt wurde mit einer Samplrate von %1 Hz erstellt.\n" +"\n" +"Die Audioengine läuft derzeit mit %2 Hz.\n" -#: gtk2_ardour/mixer_strip.cc:202 -msgid "Varispeed" -msgstr "Varispeed" - -#: gtk2_ardour/mixer_strip.cc:228 -#: gtk2_ardour/mixer_strip.cc:802 -msgid "Click to Add/Edit Comments" -msgstr "Kommentare hinzufügen/ändern" - -#: gtk2_ardour/mixer_strip.cc:419 -msgid "record" -msgstr "Aufnahme" +#: gtk2_ardour/ardour_ui.cc:3052 +msgid "Do not load session" +msgstr "Projekt nicht laden" -#: gtk2_ardour/mixer_strip.cc:426 -msgid "comments" -msgstr "Kommentare" +#: gtk2_ardour/ardour_ui.cc:3053 +msgid "Load session anyway" +msgstr "Projekt trotzdem laden" -#: gtk2_ardour/mixer_strip.cc:429 -msgid "*comments*" -msgstr "*Kommentare*" +#: gtk2_ardour/ardour_ui.cc:3074 +msgid "Could not disconnect from JACK" +msgstr "Konnte Verbindung mit JACK nicht trennen" -#: gtk2_ardour/mixer_strip.cc:441 -msgid "Rec" -msgstr "Rec" +#: gtk2_ardour/ardour_ui.cc:3087 +msgid "Could not reconnect to JACK" +msgstr "Konnte nicht erneut zu JACK verbinden" -#: gtk2_ardour/mixer_strip.cc:444 -msgid "S" -msgstr "S" +#: gtk2_ardour/audio_clock.cc:1941 +msgid "Minutes:Seconds" +msgstr "Minuten:Sekunden" -#: gtk2_ardour/mixer_strip.cc:448 -#: gtk2_ardour/mixer_strip.cc:796 -msgid "Cmt" -msgstr "Kmt" +#: gtk2_ardour/time_selection.cc:40 +msgid "programming error: request for non-existent audio range (%1)!" +msgstr "Programmierfehler: request for non-existent audio range (%1)!" -#: gtk2_ardour/mixer_strip.cc:451 -#: gtk2_ardour/mixer_strip.cc:793 -msgid "*Cmt*" -msgstr "*Kmt*" +#: gtk2_ardour/plugin_selector.cc:60 +msgid "ardour: plugins" +msgstr "ardour: Plugins" -#: gtk2_ardour/mixer_strip.cc:490 -#: gtk2_ardour/mixer_strip.cc:556 -#: gtk2_ardour/redirect_box.cc:1124 -msgid "Not connected to JACK - no I/O changes are possible" -msgstr "Nicht mit Jack verbunden - es sind keine Änderungen an Ein-/Ausgängen möglich" +#: gtk2_ardour/plugin_selector.cc:77 +msgid "Fav" +msgstr "Fav" -#: gtk2_ardour/mixer_strip.cc:590 -#: gtk2_ardour/mixer_strip.cc:606 -msgid "could not register new ports required for that connection" -msgstr "Konnte die Ports, die diese Verbindung benötigt nicht registrieren" +#: gtk2_ardour/plugin_selector.cc:78 +msgid "Available Plugins" +msgstr "Verfügbare Plugins" -#: gtk2_ardour/mixer_strip.cc:713 -msgid " Input" -msgstr "Eingang" +#: gtk2_ardour/plugin_selector.cc:79 +msgid "Type" +msgstr "Typ" -#: gtk2_ardour/mixer_strip.cc:716 -msgid "I" -msgstr "I" +#: gtk2_ardour/plugin_selector.cc:80 +msgid "Category" +msgstr "Kategorie" -#: gtk2_ardour/mixer_strip.cc:736 -msgid "O" -msgstr "O" +#: gtk2_ardour/plugin_selector.cc:81 +msgid "Creator" +msgstr "Ersteller" -#: gtk2_ardour/mixer_strip.cc:783 -msgid "*Comments*" -msgstr "*Kommentare*" +#: gtk2_ardour/plugin_selector.cc:82 +msgid "# Inputs" +msgstr "Eingänge" -#: gtk2_ardour/mixer_strip.cc:838 -msgid ": comment editor" -msgstr "Kommentare bearbeiten" +#: gtk2_ardour/plugin_selector.cc:83 +msgid "# Outputs" +msgstr "Ausgänge" -#: gtk2_ardour/mixer_strip.cc:933 -msgid "Grp" -msgstr "Grp" +#: gtk2_ardour/plugin_selector.cc:100 +msgid "Plugins to be connected" +msgstr "Plugins, die verbunden werden" -#: gtk2_ardour/mixer_strip.cc:936 -msgid "~G" -msgstr "~G" +#: gtk2_ardour/plugin_selector.cc:113 +msgid "Add a plugin to the effect list" +msgstr "Plugin zur Effektliste hinzufügen" -#: gtk2_ardour/mixer_strip.cc:984 -msgid "Invert Polarity" -msgstr "Polarität umkehren" +#: gtk2_ardour/plugin_selector.cc:117 +msgid "Remove a plugin from the effect list" +msgstr "Plugin aus der Effektliste entfernen" -#: gtk2_ardour/mixer_strip.cc:987 -msgid "Protect against denormals" -msgstr "Schutz vor Denormals" +#: gtk2_ardour/plugin_selector.cc:119 +msgid "Update available plugins" +msgstr "Verfügbare Plugins auffrischen" -#: gtk2_ardour/mixer_ui.cc:89 -msgid "Strips" -msgstr "Spur" +#: gtk2_ardour/plugin_selector.cc:156 +msgid "Insert Plugin(s)" +msgstr "Plugin(s) einfügen" -#: gtk2_ardour/mixer_ui.cc:115 -msgid "Group" -msgstr "Gruppe" +#: gtk2_ardour/plugin_selector.cc:203 +#: gtk2_ardour/plugin_selector.cc:450 +msgid "Favorites only" +msgstr "nur Favoriten" -#: gtk2_ardour/mixer_ui.cc:215 -#: gtk2_ardour/mixer_ui.cc:425 -#: gtk2_ardour/mixer_ui.cc:457 -msgid "Mixer" -msgstr "Mixer" - -#: gtk2_ardour/mixer_ui.cc:835 -msgid "track display list item for renamed strip not found!" -msgstr "Konnte Bezeichnung für umbenannten Mixerkanal nicht in der Spurliste finden!" +#: gtk2_ardour/plugin_selector.cc:209 +msgid "Name contains" +msgstr "Name enthält" -#: gtk2_ardour/new_session_dialog.cc:46 -msgid "Name :" -msgstr "Name :" +#: gtk2_ardour/plugin_selector.cc:211 +msgid "Type contains" +msgstr "Typ enthält" -#: gtk2_ardour/new_session_dialog.cc:50 -#: gtk2_ardour/new_session_dialog.cc:51 -#: gtk2_ardour/new_session_dialog.cc:52 -#: gtk2_ardour/new_session_dialog.cc:53 -msgid "channels" -msgstr "Kanäle" +#: gtk2_ardour/plugin_selector.cc:213 +msgid "Author contains" +msgstr "Autor enthält" -#: gtk2_ardour/new_session_dialog.cc:71 -msgid "<b>Busses</b>" -msgstr "<b>Busse</b>" +#: gtk2_ardour/plugin_selector.cc:215 +msgid "Library contains" +msgstr "Kategorie enthält" -#: gtk2_ardour/new_session_dialog.cc:72 -msgid "<b>Inputs</b>" -msgstr "<b>Eingänge</b>" +#: gtk2_ardour/plugin_selector.cc:502 +msgid "Favorites" +msgstr "Favoriten" -#: gtk2_ardour/new_session_dialog.cc:73 -msgid "<b>Outputs</b>" -msgstr "<b>Ausgänge</b>" +#: gtk2_ardour/plugin_selector.cc:503 +msgid "Plugin Manager" +msgstr "Alle Plugins ..." -#: gtk2_ardour/new_session_dialog.cc:75 -msgid "Create Folder In :" -msgstr "Verzeichnis erstellen in:" +#: gtk2_ardour/tempo_dialog.cc:36 +msgid "edit tempo" +msgstr "Tempo bearbeiten" -#: gtk2_ardour/new_session_dialog.cc:77 -msgid "Template :" -msgstr "Vorlage :" +#: gtk2_ardour/tempo_dialog.cc:42 +#: gtk2_ardour/tempo_dialog.cc:61 +msgid "Bar" +msgstr "Takt" -#: gtk2_ardour/new_session_dialog.cc:79 -msgid "Create Monitor Bus" -msgstr "Monitor Bus erstellen" +#: gtk2_ardour/tempo_dialog.cc:43 +#: gtk2_ardour/tempo_dialog.cc:62 +msgid "Beat" +msgstr "Schlag" -#: gtk2_ardour/new_session_dialog.cc:86 -msgid "Create Master Bus" -msgstr "Master Bus erstellen" +#: gtk2_ardour/tempo_dialog.cc:45 +#: gtk2_ardour/tempo_dialog.cc:64 +#: gtk2_ardour/tempo_dialog.cc:276 +#: gtk2_ardour/tempo_dialog.cc:291 +msgid "Location" +msgstr "Position" -#: gtk2_ardour/new_session_dialog.cc:88 -msgid "Automatically Connect to Physical Inputs" -msgstr "Eingänge automatisch mit Audioeingängen verbinden" +#: gtk2_ardour/tempo_dialog.cc:77 +#: gtk2_ardour/tempo_dialog.cc:94 +#: gtk2_ardour/tempo_dialog.cc:304 +#: gtk2_ardour/tempo_dialog.cc:322 +msgid "whole (1)" +msgstr "Ganze (1)" -#: gtk2_ardour/new_session_dialog.cc:89 -#: gtk2_ardour/new_session_dialog.cc:102 -msgid "Use only" -msgstr "Benutze nur" +#: gtk2_ardour/tempo_dialog.cc:78 +#: gtk2_ardour/tempo_dialog.cc:96 +#: gtk2_ardour/tempo_dialog.cc:305 +#: gtk2_ardour/tempo_dialog.cc:324 +msgid "second (2)" +msgstr "Halbe (2)" -#: gtk2_ardour/new_session_dialog.cc:101 -msgid "Automatically Connect Outputs" -msgstr "Ausgänge automatisch verbinden" +#: gtk2_ardour/tempo_dialog.cc:79 +#: gtk2_ardour/tempo_dialog.cc:98 +#: gtk2_ardour/tempo_dialog.cc:306 +#: gtk2_ardour/tempo_dialog.cc:326 +msgid "third (3)" +msgstr "Triolen (3)" -#: gtk2_ardour/new_session_dialog.cc:110 -msgid "... to Master Bus" -msgstr "... mit Master Bus" +#: gtk2_ardour/tempo_dialog.cc:80 +#: gtk2_ardour/tempo_dialog.cc:100 +#: gtk2_ardour/tempo_dialog.cc:108 +#: gtk2_ardour/tempo_dialog.cc:307 +#: gtk2_ardour/tempo_dialog.cc:328 +#: gtk2_ardour/tempo_dialog.cc:336 +msgid "quarter (4)" +msgstr "Viertel (4)" -#: gtk2_ardour/new_session_dialog.cc:111 -msgid "... to Physical Outputs" -msgstr "... mit Audioausgängen" +#: gtk2_ardour/tempo_dialog.cc:81 +#: gtk2_ardour/tempo_dialog.cc:102 +#: gtk2_ardour/tempo_dialog.cc:308 +#: gtk2_ardour/tempo_dialog.cc:330 +msgid "eighth (8)" +msgstr "Achtel (8)" -#: gtk2_ardour/new_session_dialog.cc:117 -msgid "Advanced Options" -msgstr "Erweiterte Einstellungen" +#: gtk2_ardour/tempo_dialog.cc:82 +#: gtk2_ardour/tempo_dialog.cc:104 +#: gtk2_ardour/tempo_dialog.cc:309 +#: gtk2_ardour/tempo_dialog.cc:332 +msgid "sixteenth (16)" +msgstr "Sechzehntel (16)" -#: gtk2_ardour/new_session_dialog.cc:125 -msgid "Recent:" -msgstr "Zuletzt verwendet:" +#: gtk2_ardour/tempo_dialog.cc:83 +#: gtk2_ardour/tempo_dialog.cc:106 +#: gtk2_ardour/tempo_dialog.cc:310 +#: gtk2_ardour/tempo_dialog.cc:334 +msgid "thirty-second (32)" +msgstr "Zweiunddreissigstel (32)" -#: gtk2_ardour/new_session_dialog.cc:162 -msgid "Browse:" -msgstr "Durchsuchen:" +#: gtk2_ardour/tempo_dialog.cc:110 +msgid "Beats Per Minute:" +msgstr "Schläge pro Minute" -#: gtk2_ardour/new_session_dialog.cc:350 -msgid "Session Control" -msgstr "Projektübersicht" +#: gtk2_ardour/tempo_dialog.cc:150 +msgid "Tempo Begins at:" +msgstr "Tempo beginnt bei:" -#: gtk2_ardour/new_session_dialog.cc:393 -msgid "select template" -msgstr "Vorlage auswählen" +#: gtk2_ardour/tempo_dialog.cc:246 +#: gtk2_ardour/tempo_dialog.cc:478 +msgid "garbaged note type entry (%1)" +msgstr "Fehlerhafter Notentyp (%1)" -#: gtk2_ardour/new_session_dialog.cc:399 -msgid "select session file" -msgstr "Projektdatei auswählen" +#: gtk2_ardour/tempo_dialog.cc:256 +#: gtk2_ardour/tempo_dialog.cc:488 +msgid "incomprehensible note type entry (%1)" +msgstr "Unverständlicher Notentyp (%1)" -#: gtk2_ardour/new_session_dialog.cc:408 -msgid "select directory" -msgstr "Verzeichnis auswählen" +#: gtk2_ardour/tempo_dialog.cc:317 +msgid "thirtq-second (32)" +msgstr "Zweiunddreissigstel (32)" -#: gtk2_ardour/new_session_dialog.cc:468 -msgid "Audio Setup" -msgstr "Audio-Einstellungen" +#: gtk2_ardour/tempo_dialog.cc:338 +msgid "Note Value:" +msgstr "Notenwert" -#: gtk2_ardour/new_session_dialog.cc:492 -msgid "New Session" -msgstr "Neues Projekt" +#: gtk2_ardour/tempo_dialog.cc:339 +msgid "Beats Per Bar:" +msgstr "Schläge pro Takt" -#: gtk2_ardour/new_session_dialog.cc:497 -msgid "Open Session" -msgstr "Projekt öffnen" +#: gtk2_ardour/tempo_dialog.cc:357 +msgid "Meter Begins at Bar:" +msgstr "Neue Taktart beginnt bei Takt:" -#: gtk2_ardour/option_editor.cc:77 +#: gtk2_ardour/option_editor.cc:82 msgid "Limit undo history" msgstr "Begrenze Aktionsliste" -#: gtk2_ardour/option_editor.cc:78 +#: gtk2_ardour/option_editor.cc:83 msgid "Save undo history" msgstr "Aktionsliste speichern" -#: gtk2_ardour/option_editor.cc:83 +#: gtk2_ardour/option_editor.cc:88 msgid "SMPTE offset is negative" msgstr "Negatives SMPTE-Offset" -#: gtk2_ardour/option_editor.cc:84 +#: gtk2_ardour/option_editor.cc:89 msgid "Timecode source is sample-clock synced" -msgstr "" +msgstr "Timecode-Quelle ist mit Sample-Clock synchronisiert" -#: gtk2_ardour/option_editor.cc:93 +#: gtk2_ardour/option_editor.cc:98 msgid "Add new MIDI port" msgstr "Neuen MIDI-Port hinzufügen" -#: gtk2_ardour/option_editor.cc:145 +#: gtk2_ardour/option_editor.cc:154 msgid "Paths/Files" msgstr "Pfade" -#: gtk2_ardour/option_editor.cc:146 +#: gtk2_ardour/option_editor.cc:155 msgid "Kbd/Mouse" msgstr "Tastatur/Maus" -#: gtk2_ardour/option_editor.cc:149 +#: gtk2_ardour/option_editor.cc:159 msgid "Misc" msgstr "Sonstiges" -#: gtk2_ardour/option_editor.cc:152 +#: gtk2_ardour/option_editor.cc:162 msgid "MIDI" msgstr "MIDI" -#: gtk2_ardour/option_editor.cc:222 +#: gtk2_ardour/option_editor.cc:232 msgid "session RAID path" msgstr "Projektverzeichnis (RAID)" -#: gtk2_ardour/option_editor.cc:238 -#: gtk2_ardour/option_editor.cc:244 -#: gtk2_ardour/option_editor.cc:933 -#: gtk2_ardour/option_editor.cc:953 +#: gtk2_ardour/option_editor.cc:248 +#: gtk2_ardour/option_editor.cc:254 +#: gtk2_ardour/option_editor.cc:988 +#: gtk2_ardour/option_editor.cc:1008 msgid "internal" msgstr "intern" -#: gtk2_ardour/option_editor.cc:257 +#: gtk2_ardour/option_editor.cc:281 +msgid "Font Scaling" +msgstr "Schriftskalierung" + +#: gtk2_ardour/option_editor.cc:295 msgid "Short crossfade length (msecs)" msgstr "Länge für kurze Crossfades (ms)" -#: gtk2_ardour/option_editor.cc:269 +#: gtk2_ardour/option_editor.cc:307 msgid "Destructive crossfade length (msecs)" msgstr "Länge für destruktive Crossfades (ms)" -#: gtk2_ardour/option_editor.cc:288 +#: gtk2_ardour/option_editor.cc:326 msgid "History depth (commands)" msgstr "Anzahl der Befehle, die rückgängig gemacht werden können" -#: gtk2_ardour/option_editor.cc:309 +#: gtk2_ardour/option_editor.cc:347 msgid "Saved history depth (commands)" msgstr "Anzahl der Befehle, die im Verlauf gespeichert werden" -#: gtk2_ardour/option_editor.cc:407 +#: gtk2_ardour/option_editor.cc:445 msgid "SMPTE Offset" msgstr "SMPTE Offset" -#: gtk2_ardour/option_editor.cc:480 -#, fuzzy +#: gtk2_ardour/option_editor.cc:518 msgid "Inbound MMC Device ID" -msgstr "MMC Gerät ID" +msgstr "ID des ausgehenden MMC-Geräts" -#: gtk2_ardour/option_editor.cc:490 -#, fuzzy +#: gtk2_ardour/option_editor.cc:528 msgid "Outbound MMC Device ID" -msgstr "MMC Gerät ID" +msgstr "ID des eingehenden MMC-Geräts" + +#: gtk2_ardour/option_editor.cc:538 +#, fuzzy +msgid "Startup program change" +msgstr "Bereich beginnen" -#: gtk2_ardour/option_editor.cc:522 +#: gtk2_ardour/option_editor.cc:577 msgid "Port" msgstr "Port" -#: gtk2_ardour/option_editor.cc:526 +#: gtk2_ardour/option_editor.cc:581 msgid "Offline" msgstr "Offline" -#: gtk2_ardour/option_editor.cc:530 +#: gtk2_ardour/option_editor.cc:585 msgid "" "Trace\n" "Input" @@ -6142,7 +7093,7 @@ msgstr "" "Verfolge\n" "Eingang" -#: gtk2_ardour/option_editor.cc:534 +#: gtk2_ardour/option_editor.cc:589 msgid "" "Trace\n" "Output" @@ -6150,15 +7101,15 @@ msgstr "" "Verfolge\n" "Ausgang" -#: gtk2_ardour/option_editor.cc:538 +#: gtk2_ardour/option_editor.cc:593 msgid "MTC" msgstr "MTC" -#: gtk2_ardour/option_editor.cc:542 +#: gtk2_ardour/option_editor.cc:597 msgid "MMC" msgstr "MMC" -#: gtk2_ardour/option_editor.cc:546 +#: gtk2_ardour/option_editor.cc:601 msgid "" "MIDI Parameter\n" "Control" @@ -6166,40 +7117,40 @@ msgstr "" "MIDI Parameter\n" "Steuerung" -#: gtk2_ardour/option_editor.cc:585 -#: gtk2_ardour/option_editor.cc:592 -#: gtk2_ardour/option_editor.cc:595 -#: gtk2_ardour/option_editor.cc:808 +#: gtk2_ardour/option_editor.cc:640 +#: gtk2_ardour/option_editor.cc:647 +#: gtk2_ardour/option_editor.cc:650 +#: gtk2_ardour/option_editor.cc:863 msgid "online" msgstr "Online" -#: gtk2_ardour/option_editor.cc:592 -#: gtk2_ardour/option_editor.cc:593 -#: gtk2_ardour/option_editor.cc:805 +#: gtk2_ardour/option_editor.cc:647 +#: gtk2_ardour/option_editor.cc:648 +#: gtk2_ardour/option_editor.cc:860 msgid "offline" msgstr "Offline" -#: gtk2_ardour/option_editor.cc:709 +#: gtk2_ardour/option_editor.cc:764 msgid "output" msgstr "Ausgang" -#: gtk2_ardour/option_editor.cc:880 +#: gtk2_ardour/option_editor.cc:935 msgid "Choose Click" msgstr "Click auswählen" -#: gtk2_ardour/option_editor.cc:902 +#: gtk2_ardour/option_editor.cc:957 msgid "Choose Click Emphasis" msgstr "Click-Betonung auswählen" -#: gtk2_ardour/option_editor.cc:1005 +#: gtk2_ardour/option_editor.cc:1056 msgid "Click audio file" msgstr "Audiodatei für Click" -#: gtk2_ardour/option_editor.cc:1011 +#: gtk2_ardour/option_editor.cc:1062 msgid "Click emphasis audiofile" msgstr "Audiodatei für Click-Betonung" -#: gtk2_ardour/option_editor.cc:1048 +#: gtk2_ardour/option_editor.cc:1111 msgid "" "The auditioner is a dedicated mixer strip used\n" "for listening to specific regions outside the context\n" @@ -6212,130 +7163,98 @@ msgstr "" "Dieser Bus lässt sich wie jeder andere Mixer-Kanal\n" "verbinden." -#: gtk2_ardour/option_editor.cc:1139 +#: gtk2_ardour/option_editor.cc:1203 msgid "Edit using" msgstr "Bearbeiten mit" -#: gtk2_ardour/option_editor.cc:1146 -#: gtk2_ardour/option_editor.cc:1173 +#: gtk2_ardour/option_editor.cc:1210 +#: gtk2_ardour/option_editor.cc:1237 msgid "+ button" msgstr "und Maustaste" -#: gtk2_ardour/option_editor.cc:1166 +#: gtk2_ardour/option_editor.cc:1230 msgid "Delete using" msgstr "Entfernen mit" -#: gtk2_ardour/option_editor.cc:1193 +#: gtk2_ardour/option_editor.cc:1257 msgid "Ignore snap using" msgstr "Einrasten übergehen mit" -#: gtk2_ardour/opts.cc:49 -msgid "Usage: " -msgstr "Aufruf:" - -#: gtk2_ardour/opts.cc:50 -msgid " -v, --version Show version information\n" -msgstr " -v, --version Versionsinformation ausgeben\n" +#: gtk2_ardour/option_editor.cc:1274 +msgid "Keyboard layout" +msgstr "Tastaturlayout" -#: gtk2_ardour/opts.cc:51 -msgid " -h, --help Print this message\n" -msgstr " -h, --help Diese Hinweise\n" +#: gtk2_ardour/rhythm_ferret.cc:50 +msgid "Operation" +msgstr "Aktionen" -#: gtk2_ardour/opts.cc:52 -msgid " -b, --bindings Print all possible keyboard binding names\n" -msgstr " -b, --bindings Alle möglichen Tastenzuweisungsnamen ausgeben\n" - -#: gtk2_ardour/opts.cc:53 -msgid " -c, --name name Use a specific jack client name, default is ardour\n" -msgstr " -c, --name name Benutze spezielle JACK-Clientkennung, Standard: ardour\n" - -#: gtk2_ardour/opts.cc:54 -msgid " -d, --disable-plugins Disable all plugins in an existing session\n" -msgstr "" - -#: gtk2_ardour/opts.cc:55 -msgid " -n, --show-splash Show splash screen\n" -msgstr " -n, --show-splash Zeige Splashscreen\n" - -#: gtk2_ardour/opts.cc:56 -msgid " -m, --menus file Use \"file\" for Ardour menus\n" -msgstr " -m, --menus file Benutze \"file\" für Ardour-Menüs\n" - -#: gtk2_ardour/opts.cc:57 -msgid " -N, --new session-name Create a new session from the command line\n" -msgstr " -N, --new session-name Erstelle neues Projekt aus der Kommandozeile\n" - -#: gtk2_ardour/opts.cc:58 -msgid " -O, --no-hw-optimizations Disable h/w specific optimizations\n" -msgstr " -O, --no-hw-optimizations Hardwarespezifische Optimierungen deaktivieren\n" +#: gtk2_ardour/rhythm_ferret.cc:51 +msgid "Selection" +msgstr "Auswahl" -#: gtk2_ardour/opts.cc:59 -msgid " -S, --sync\t Draw the gui synchronously \n" -msgstr " -S, --sync\t Zeichne die GUI synchron \n" +#: gtk2_ardour/rhythm_ferret.cc:52 +msgid "Analysis" +msgstr "Analyse" -#: gtk2_ardour/opts.cc:61 -msgid " -V, --novst Do not use VST support\n" -msgstr " -V, --novst VST-Unterstützung ausschalten\n" +#: gtk2_ardour/rhythm_ferret.cc:55 +msgid "Set Tempo Map" +msgstr "Tempowechsel einfügen" -#: gtk2_ardour/opts.cc:63 -msgid " [session-name] Name of session to load\n" -msgstr " [session-name] Name des zu ladenden Projekts\n" +#: gtk2_ardour/rhythm_ferret.cc:56 +msgid "Conform Region" +msgstr "Region angleichen" -#: gtk2_ardour/opts.cc:64 -msgid " -C, --curvetest filename Curve algorithm debugger\n" -msgstr " -C, --curvetest filename Kurvenalgorithmus debuggen\n" +#: gtk2_ardour/rhythm_ferret.cc:57 +msgid "Mode" +msgstr "Modus" -#: gtk2_ardour/opts.cc:65 -msgid " -k, --keybindings filename Name of key bindings to load (default is ~/.ardour2/ardour.bindings)\n" -msgstr " -k, --keybindings filename Dateiname für die Tastaturbelegungen (Standard: ~/.ardour2/ardour.bindings)\n" +#: gtk2_ardour/rhythm_ferret.cc:60 +msgid "Threshold" +msgstr "Schwellwert" -#: gtk2_ardour/pan_automation_time_axis.cc:69 -msgid "You need to select which line to edit" -msgstr "Sie müssen die entsprechende Automationslinie auswählen" +#: gtk2_ardour/rhythm_ferret.cc:63 +msgid "Sensitivity" +msgstr "Empfindlichkeit" -#: gtk2_ardour/pan_automation_time_axis.cc:90 -msgid "add pan automation event" -msgstr "Pan-Automationspunkt einfügen" +#: gtk2_ardour/rhythm_ferret.cc:64 +msgid "Analyze" +msgstr "Daten analysieren" -#: gtk2_ardour/panner2d.cc:588 -#: gtk2_ardour/panner_ui.cc:412 -#: gtk2_ardour/plugin_ui.cc:221 -msgid "Bypass" -msgstr "Bypass" +#: gtk2_ardour/rhythm_ferret.cc:65 +msgid "Detection function" +msgstr "Erkennungsfunktion" -#: gtk2_ardour/panner_ui.cc:58 -#: gtk2_ardour/panner_ui.cc:217 -msgid "link" -msgstr "link" +#: gtk2_ardour/rhythm_ferret.cc:68 +msgid "Peak Threshold" +msgstr "Laut-Schwellwert (dB)" -#: gtk2_ardour/panner_ui.cc:69 -msgid "Pan automation mode" -msgstr "Pan-Automationsmodus" +#: gtk2_ardour/rhythm_ferret.cc:71 +msgid "Silent Threshold (dB)" +msgstr "Ruhe-Schwellwert (dB)" -#: gtk2_ardour/panner_ui.cc:70 -msgid "Pan automation type" -msgstr "Pan-Automationstyp" +#: gtk2_ardour/rhythm_ferret.cc:74 +msgid "Trigger gap (msecs)" +msgstr "Mindestauslöseabstand (msec)" -#: gtk2_ardour/panner_ui.cc:80 -msgid "panning link control" -msgstr "Pan-Regler verbinden" +#: gtk2_ardour/rhythm_ferret.cc:394 +msgid "split regions (rhythm ferret)" +msgstr "Regionen teilen (rhythm ferret)" -#: gtk2_ardour/panner_ui.cc:82 -msgid "panning link direction" -msgstr "Richtung der Verbindung" +#: gtk2_ardour/ardour_ui_dependents.cc:74 +msgid "Setup Editor" +msgstr "Editor laden" -#: gtk2_ardour/panner_ui.cc:220 -msgid "L" -msgstr "L" +#: gtk2_ardour/ardour_ui_dependents.cc:76 +msgid "Setup Mixer" +msgstr "Mixer laden" -#: gtk2_ardour/panner_ui.cc:333 -#, c-format -msgid "panner for channel %zu" -msgstr "Pan-Regler für Kanal %zu" +#: gtk2_ardour/ardour_ui_dependents.cc:81 +msgid "Reload Session History" +msgstr "Projektverlauf laden" -#: gtk2_ardour/panner_ui.cc:422 -msgid "Reset all" -msgstr "Alle zurücksetzen" +#: gtk2_ardour/splash.cc:42 +msgid "Ardour loading ..." +msgstr "Ardour startet ..." #: gtk2_ardour/playlist_selector.cc:58 msgid "Playlists" @@ -6345,6 +7264,11 @@ msgstr "Wiedergabelisten" msgid "Playlists grouped by track" msgstr "Wiedergabelisten, nach Spur gruppiert" +#: gtk2_ardour/playlist_selector.cc:73 +#: gtk2_ardour/ardour_ui_dialogs.cc:169 +msgid "close" +msgstr "Schließen" + #: gtk2_ardour/playlist_selector.cc:112 msgid "Playlist for %1" msgstr "Wiedergabeliste für %1" @@ -6357,925 +7281,340 @@ msgstr "Andere Spuren" msgid "unassigned" msgstr "nicht zugewiesen" -#: gtk2_ardour/plugin_selector.cc:50 -#: gtk2_ardour/plugin_selector.cc:190 -msgid "Name contains" -msgstr "Name enthält" - -#: gtk2_ardour/plugin_selector.cc:51 -#: gtk2_ardour/plugin_selector.cc:192 -msgid "Type contains" -msgstr "" - -#: gtk2_ardour/plugin_selector.cc:52 -#: gtk2_ardour/plugin_selector.cc:194 -msgid "Author contains" -msgstr "Autor enthält" - -#: gtk2_ardour/plugin_selector.cc:53 -#: gtk2_ardour/plugin_selector.cc:196 -msgid "Library contains" -msgstr "" - -#: gtk2_ardour/plugin_selector.cc:58 -msgid "ardour: plugins" -msgstr "ardour: Plugins" - -#: gtk2_ardour/plugin_selector.cc:70 -msgid "Available Plugins" -msgstr "Verfügbare Plugins" - -#: gtk2_ardour/plugin_selector.cc:71 -msgid "Type" -msgstr "Typ" - -#: gtk2_ardour/plugin_selector.cc:72 -msgid "Category" -msgstr "" - -#: gtk2_ardour/plugin_selector.cc:73 -msgid "Creator" -msgstr "Ersteller" - -#: gtk2_ardour/plugin_selector.cc:74 -msgid "# Inputs" -msgstr "Eingänge" - -#: gtk2_ardour/plugin_selector.cc:75 -msgid "# Outputs" -msgstr "Ausgänge" - -#: gtk2_ardour/plugin_selector.cc:85 -msgid "Plugins to be connected" -msgstr "Plugins, die verbunden werden" - -#: gtk2_ardour/plugin_selector.cc:98 -msgid "Add a plugin to the effect list" -msgstr "Plugin zur Effektliste hinzufügen" - -#: gtk2_ardour/plugin_selector.cc:102 -msgid "Remove a plugin from the effect list" -msgstr "Plugin aus der Effektliste entfernen" - -#: gtk2_ardour/plugin_selector.cc:104 -msgid "Update available plugins" -msgstr "Verfügbare Plugins auffrischen" - -#: gtk2_ardour/plugin_selector.cc:141 -msgid "Insert Plugin(s)" -msgstr "Plugin(s) einfügen" - -#: gtk2_ardour/plugin_ui.cc:81 -msgid "Eh? LADSPA plugins don't have editors!" -msgstr "" - -#: gtk2_ardour/plugin_ui.cc:85 -#: gtk2_ardour/plugin_ui.cc:141 -msgid "unknown type of editor-supplying plugin (note: no VST support in this version of ardour)" -msgstr "Unbekannter Plugintyp (Hinweis: diese ardour-Version unterstützt keine VST-Plugins)" - -#: gtk2_ardour/plugin_ui.cc:241 -msgid "Plugin preset %1 not found" -msgstr "Plugin Preset %1 nicht gefunden" - -#: gtk2_ardour/plugin_ui.cc:251 -msgid "Name of New Preset:" -msgstr "Name für neue Voreinstellung:" - -#: gtk2_ardour/redirect_automation_line.cc:53 -msgid "redirect automation created for non-plugin" -msgstr "Redirect-Automation für ein nicht-Plugin erstellt" - -#: gtk2_ardour/redirect_automation_time_axis.cc:95 -msgid "add automation event to " -msgstr "Automationspunkt einfügen für" - -#: gtk2_ardour/redirect_box.cc:237 -msgid "New send" -msgstr "Neuer Send" - -#: gtk2_ardour/redirect_box.cc:238 -msgid "Show send controls" -msgstr "Zeige Send-Steuerung" - -#: gtk2_ardour/redirect_box.cc:413 -#: gtk2_ardour/redirect_box.cc:708 -msgid "ardour: weird plugin dialog" -msgstr "ardour: Merkwürdiger Plugin-Dialog" - -#: gtk2_ardour/redirect_box.cc:420 -msgid "" -"You attempted to add a plugin (%1).\n" -"The plugin has %2 inputs\n" -"but at the insertion point, there are\n" -"%3 active signal streams.\n" -"\n" -"This makes no sense - you are throwing away\n" -"part of the signal." -msgstr "" -"Sie möchten ein Plugin hinzufügen (%1).\n" -"Dieses Plugin besitzt %2 Eingänge,\n" -"doch an dieser Position existieren\n" -"%3 aktive Signale.\n" -"\n" -"Das ist nicht möglich - es würden Teile\n" -"des Signals fehlen." - -#: gtk2_ardour/redirect_box.cc:432 -msgid "" -"You attempted to add a plugin (%1).\n" -"The plugin has %2 inputs\n" -"but at the insertion point there are\n" -"only %3 active signal streams.\n" -"\n" -"This makes no sense - unless the plugin supports\n" -"side-chain inputs. A future version of Ardour will\n" -"support this type of configuration." -msgstr "" -"Sie möchten ein Plugin hinzufügen (%1).\n" -"Dieses Plugin besitzt %2 Eingänge,\n" -"doch an dieser Position existieren\n" -"nur %3 aktive Signale.\n" -"\n" -"Das ist nicht möglich - außer, wenn dieses Plugin\n" -"Side-Chain-Eingänge unterstützt. Dies wird in einer\n" -"der nächsten Versionen von ardour möglich sein." - -#: gtk2_ardour/redirect_box.cc:445 -msgid "" -"You attempted to add a plugin (%1).\n" -"\n" -"The I/O configuration doesn't make sense:\n" -"\n" -"The plugin has %2 inputs and %3 outputs.\n" -"The track/bus has %4 inputs and %5 outputs.\n" -"The insertion point, has %6 active signals.\n" -"\n" -"Ardour does not understand what to do in such situations.\n" -msgstr "" -"Sie möchten ein Plugin hinzufügen (%1).\n" -"\n" -"Die Ein-/Ausgangskonfiguration ist aber nicht möglich:\n" -"\n" -"Das Plugin besitzt %2 Eingänge und %3 Ausgänge.\n" -"Diese Spur besitzt %4 Eingänge und %5 Ausgänge.\n" -"An dieser Position existieren %6 aktive Signale.\n" -"\n" -"Ardour kann mit dieser Situation nicht umgehen.\n" - -#: gtk2_ardour/redirect_box.cc:542 -msgid "Pre-fader inserts, sends & plugins:" -msgstr "Pre-Fader Inserts, Sends & Plugins:" - -#: gtk2_ardour/redirect_box.cc:545 -msgid "Post-fader inserts, sends & plugins:" -msgstr "Post-Fader Inserts, Sends & Plugins:" - -#: gtk2_ardour/redirect_box.cc:711 -msgid "" -"You cannot reorder this set of redirects\n" -"in that way because the inputs and\n" -"outputs do not work correctly." -msgstr "" -"Sie können diese Gruppe von Redirects\n" -"nicht auf diese Weise verändern, denn\n" -"die Ein-/Ausgänge arbeiten ncht korrekt." - -#: gtk2_ardour/redirect_box.cc:858 -msgid "rename redirect" -msgstr "Redirect umbenennen" - -#: gtk2_ardour/redirect_box.cc:934 -#: gtk2_ardour/redirect_box.cc:983 -msgid "" -"Copying the set of redirects on the clipboard failed,\n" -"probably because the I/O configuration of the plugins\n" -"could not match the configuration of this track." -msgstr "" -"Konnte diese Gruppe von Redirects nicht in die\n" -"Zwischenablage kopieren. Wahrscheinlich passt die\n" -"Ein-/Ausgangskonfiguration des Plugins nicht zu dieser Spur." - -#: gtk2_ardour/redirect_box.cc:1006 -msgid "" -"Do you really want to remove all pre-fader redirects from this track?\n" -"(this cannot be undone)" -msgstr "" -"Wollen Sie wirklich alle Pre-Fader-Redirects von dieser Spur entfernen?\n" -"(Dies kann nicht rückgängig gemacht werden)" - -#: gtk2_ardour/redirect_box.cc:1009 -msgid "" -"Do you really want to remove all post-fader redirects from this track?\n" -"(this cannot be undone)" -msgstr "" -"Wollen Sie wirklich alle Post-Fader-Redirects von dieser Spur entfernen?\n" -"(Dies kann nicht rückgängig gemacht werden)" +#: gtk2_ardour/imageframe_time_axis.cc:285 +msgid "0.5 seconds" +msgstr "0,5 Sekunden" -#: gtk2_ardour/redirect_box.cc:1014 -msgid "" -"Do you really want to remove all pre-fader redirects from this bus?\n" -"(this cannot be undone)" -msgstr "" -"Wollen Sie wirklich alle Pre-Fader-Redirects von diesem Bus entfernen?\n" -"(Dies kann nicht rückgängig gemacht werden)" +#: gtk2_ardour/imageframe_time_axis.cc:300 +msgid "Remove Frame" +msgstr "Frame löschen" -#: gtk2_ardour/redirect_box.cc:1017 -msgid "" -"Do you really want to remove all post-fader redirects from this bus?\n" -"(this cannot be undone)" +#: gtk2_ardour/imageframe_time_axis.cc:303 +#, fuzzy +msgid "Image Frame" msgstr "" -"Wollen Sie wirklich alle Post-Fader-Redirects von diesem Bus entfernen?\n" -"(Dies kann nicht rückgängig gemacht werden)" - -#: gtk2_ardour/redirect_box.cc:1023 -msgid "Yes, remove them all" -msgstr "Ja, alle löschen" - -#: gtk2_ardour/redirect_box.cc:1173 -msgid "New Plugin ..." -msgstr "Plugin einfügen..." - -#: gtk2_ardour/redirect_box.cc:1175 -msgid "New Insert" -msgstr "Insert einfügen" - -#: gtk2_ardour/redirect_box.cc:1177 -msgid "New Send ..." -msgstr "Send einfügen..." - -#: gtk2_ardour/redirect_box.cc:1202 -msgid "Activate all" -msgstr "Alle aktivieren" - -#: gtk2_ardour/redirect_box.cc:1203 -msgid "Deactivate all" -msgstr "Alle deaktivieren" - -#: gtk2_ardour/redirect_box.cc:1396 -msgid "%1: %2 (by %3)" -msgstr "%1: %2 (by %3)" - -#: gtk2_ardour/audio_region_editor.cc:48 -msgid "NAME:" -msgstr "Name:" - -#: gtk2_ardour/audio_region_editor.cc:49 -msgid "play" -msgstr "Play" - -#: gtk2_ardour/audio_region_editor.cc:68 -msgid "audition this region" -msgstr "Diese Region Vorhören" - -#: gtk2_ardour/audio_region_editor.cc:83 -msgid "START:" -msgstr "Beginn:" - -#: gtk2_ardour/audio_region_editor.cc:85 -msgid "END:" -msgstr "Ende:" - -#: gtk2_ardour/audio_region_editor.cc:87 -msgid "LENGTH:" -msgstr "Längess:" - -#: gtk2_ardour/audio_region_editor.cc:123 -msgid "Region %1" -msgstr "Region %1" - -#: gtk2_ardour/audio_region_editor.cc:204 -msgid "change region start position" -msgstr "Startposition der Region ändern" - -#: gtk2_ardour/audio_region_editor.cc:221 -msgid "change region end position" -msgstr "Endposition der Region ändern" - -#: gtk2_ardour/audio_region_editor.cc:242 -msgid "change region length" -msgstr "Länge der Region verändern" - -#: gtk2_ardour/audio_region_view.cc:922 -msgid "add gain control point" -msgstr "Lautstärkekurve bearbeiten" -#: gtk2_ardour/route_params_ui.cc:85 -msgid "Tracks/Buses" -msgstr "Spuren/Busse" - -#: gtk2_ardour/route_params_ui.cc:105 -msgid "Pre-fader Redirects" -msgstr "Pre-Fader Redirects" - -#: gtk2_ardour/route_params_ui.cc:106 -msgid "Post-fader Redirects" -msgstr "Post-Fader Redirects" - -#: gtk2_ardour/route_params_ui.cc:205 -msgid "route display list item for renamed route not found!" -msgstr "Konnte Bezeichnung für umbenannten Verbindung nicht in der Liste der Verbindungen finden!" - -#: gtk2_ardour/route_params_ui.cc:452 -msgid "NO TRACK" -msgstr "KEINE SPUR" - -#: gtk2_ardour/route_params_ui.cc:682 -#: gtk2_ardour/route_params_ui.cc:683 -msgid "No Route Selected" -msgstr "Keine Route ausgewählt" - -#: gtk2_ardour/route_ui.cc:156 -msgid "mute change" -msgstr "Mute ändern" - -#: gtk2_ardour/route_ui.cc:234 -#: gtk2_ardour/route_ui.cc:245 -msgid "solo change" -msgstr "Solo ändern" - -#: gtk2_ardour/route_ui.cc:303 -msgid "Not connected to JACK - cannot engage record" -msgstr "Nicht mit JACK verbunden - konnte die Aufnahme nicht starten" - -#: gtk2_ardour/route_ui.cc:317 -msgid "rec-enable change" -msgstr "Aufnahmestatus ändern" +#: gtk2_ardour/main.cc:187 +msgid "cannot create user ardour folder %1 (%2)" +msgstr "Kann benutzerspezifischen Ardour-Ordner %1 nicht erstellen: %2" -#: gtk2_ardour/route_ui.cc:555 -msgid "Solo-safe" -msgstr "Solo-Safe" - -#: gtk2_ardour/route_ui.cc:577 -msgid "Pre Fader" -msgstr "Pre Fader" - -#: gtk2_ardour/route_ui.cc:584 -msgid "Post Fader" -msgstr "Post Fader" - -#: gtk2_ardour/route_ui.cc:591 -msgid "Control Outs" -msgstr "Vorhörausgang" - -#: gtk2_ardour/route_ui.cc:598 -msgid "Main Outs" -msgstr "Main Ausgänge" - -#: gtk2_ardour/route_ui.cc:635 -msgid "mix group solo change" -msgstr "Mixergruppe Solo-Status ändern" - -#: gtk2_ardour/route_ui.cc:674 -msgid "mix group mute change" -msgstr "Mixergruppe Mute-Status ändern" +#: gtk2_ardour/main.cc:195 +msgid "cannot open pango.rc file %1" +msgstr "kann die Datei pango.rc nicht öffnen %1" -#: gtk2_ardour/route_ui.cc:691 -msgid "mix group rec-enable change" -msgstr "Mixergruppe Aufnahmestatus ändern" +#: gtk2_ardour/main.cc:244 +msgid "SIGPIPE received - JACK has probably died" +msgstr "SIGPIPE empfangen - möglicherweise ist JACK abgestürzt" -#: gtk2_ardour/route_ui.cc:709 -#: gtk2_ardour/visual_time_axis.cc:241 -msgid "ardour: color selection" -msgstr "ardour: Farbe auswählen" +#: gtk2_ardour/main.cc:292 +msgid "Ardour/GTK " +msgstr "Ardour/GTK " -#: gtk2_ardour/route_ui.cc:785 +#: gtk2_ardour/main.cc:294 msgid "" -"Do you really want to remove track \"%1\" ?\n" "\n" -"You may also lose the playlist used by this track.\n" -"(cannot be undone)" +" (built using " msgstr "" -"Wollen Sie wirklich die Spur \"%1\" löschen?\n" "\n" -"Sie werden auch die Wiedergabeliste, die diese Spur benutzt verlieren.\n" -"(Dies kann nicht rückgängig gemacht werden!)" - -#: gtk2_ardour/route_ui.cc:787 -msgid "" -"Do you really want to remove bus \"%1\" ?\n" -"(cannot be undone)" -msgstr "" -"Wollen Sie den Bus \"%1\" wirklich löschen?\n" -"(Dies kann nicht rückgängig gemacht werden!)" - -#: gtk2_ardour/route_ui.cc:812 -msgid "New Name: " -msgstr "Neuer Name: " - -#: gtk2_ardour/sfdb_ui.cc:81 -#, fuzzy -msgid "programming error: unknown import mode string %1" -msgstr "Programmierfehler: unbekanntes Fernsteuerungsmodell in ARDOUR_UI::set_remote_model: %1" - -#: gtk2_ardour/sfdb_ui.cc:91 -#: gtk2_ardour/sfdb_ui.cc:100 -msgid "as new tracks" -msgstr "als neue Spuren" - -#: gtk2_ardour/sfdb_ui.cc:93 -msgid "to selected tracks" -msgstr "zu ausgewählten Spuren" - -#: gtk2_ardour/sfdb_ui.cc:95 -msgid "to region list" -msgstr "zur Liste der Regionen" - -#: gtk2_ardour/sfdb_ui.cc:97 -msgid "as new tape tracks" -msgstr "als neue Tape-Spuren" - -#: gtk2_ardour/sfdb_ui.cc:109 -msgid "Auto-play" -msgstr "Auto-Play" - -#: gtk2_ardour/sfdb_ui.cc:118 -#: gtk2_ardour/sfdb_ui.cc:228 -msgid "<b>Soundfile Info</b>" -msgstr "<b>Eigenschaften der Audiodatei</b>" - -#: gtk2_ardour/sfdb_ui.cc:129 -msgid "Length:" -msgstr "Länge:" - -#: gtk2_ardour/sfdb_ui.cc:130 -msgid "Timestamp:" -msgstr "Zeitstempel:" - -#: gtk2_ardour/sfdb_ui.cc:131 -msgid "Format:" -msgstr "Format:" - -#: gtk2_ardour/sfdb_ui.cc:132 -msgid "Channels:" -msgstr "Kanäle:" - -#: gtk2_ardour/sfdb_ui.cc:133 -#: gtk2_ardour/sfdb_ui.cc:248 -#: gtk2_ardour/sfdb_ui.cc:253 -msgid "Sample rate:" -msgstr "Samplerate:" - -#: gtk2_ardour/sfdb_ui.cc:165 -msgid "Tags:" -msgstr "Stichworte:" - -#: gtk2_ardour/sfdb_ui.cc:175 -msgid "Play (double click)" -msgstr "Wiedergabe (Doppelklick)" - -#: gtk2_ardour/sfdb_ui.cc:229 -#: gtk2_ardour/sfdb_ui.cc:230 -#: gtk2_ardour/sfdb_ui.cc:231 -msgid "n/a" -msgstr "" - -#: gtk2_ardour/sfdb_ui.cc:306 -msgid "Could not read file: %1 (%2)." -msgstr "Konnte Datei nicht lesen: %1 (%2)." - -#: gtk2_ardour/sfdb_ui.cc:326 -msgid "Could not access soundfile: " -msgstr "Konnte auf Audiodatei nicht zugreifen: " - -#: gtk2_ardour/sfdb_ui.cc:372 -msgid "SoundFileBox: Could not tokenize string: " -msgstr "" - -#: gtk2_ardour/sfdb_ui.cc:392 -msgid "Search" -msgstr "Suchen" - -#: gtk2_ardour/sfdb_ui.cc:421 -msgid "Paths" -msgstr "Pfade" - -#: gtk2_ardour/sfdb_ui.cc:425 -msgid "Browse Files" -msgstr "Durchsuchen" - -#: gtk2_ardour/sfdb_ui.cc:426 -msgid "Search Tags" -msgstr "Stichwortsuche" - -#: gtk2_ardour/sfdb_ui.cc:434 -msgid "Audio files" -msgstr "Audiodateien" - -#: gtk2_ardour/sfdb_ui.cc:437 -msgid "All files" -msgstr "Alle Dateien" - -#: gtk2_ardour/sfdb_ui.cc:598 -msgid "SoundFileBrowser: Could not tokenize string: " -msgstr "" - -#: gtk2_ardour/sfdb_ui.cc:766 -#: gtk2_ardour/sfdb_ui.cc:1049 -#: gtk2_ardour/sfdb_ui.cc:1091 -msgid "one track per file" -msgstr "eine Spur pro Datei" - -#: gtk2_ardour/sfdb_ui.cc:769 -#: gtk2_ardour/sfdb_ui.cc:1092 -msgid "one track per channel" -msgstr "eine Spur pro Kanal" - -#: gtk2_ardour/sfdb_ui.cc:777 -#: gtk2_ardour/sfdb_ui.cc:1094 -#, fuzzy -msgid "sequence files" -msgstr "aufgeräumte Dateien" - -#: gtk2_ardour/sfdb_ui.cc:780 -#: gtk2_ardour/sfdb_ui.cc:794 -#: gtk2_ardour/sfdb_ui.cc:1098 -msgid "all files in one region" -msgstr "alle Dateien in einer Region" - -#: gtk2_ardour/sfdb_ui.cc:786 -#: gtk2_ardour/sfdb_ui.cc:1096 -msgid "one region per file" -msgstr "eine Region pro Datei" - -#: gtk2_ardour/sfdb_ui.cc:789 -#: gtk2_ardour/sfdb_ui.cc:1097 -msgid "one region per channel" -msgstr "eine Region pro Kanal" - -#: gtk2_ardour/sfdb_ui.cc:847 -msgid "" -"One or more of the selected files\n" -"cannot be used by Ardour" -msgstr "" -"Eine oder mehrere der ausgewählten Dateien\n" -"können nicht von Ardour benutzt werden" - -#: gtk2_ardour/sfdb_ui.cc:978 -msgid "Copy files to session" -msgstr "Kopiere Dateien zum Projekt" - -#: gtk2_ardour/sfdb_ui.cc:994 -#: gtk2_ardour/sfdb_ui.cc:1129 -msgid "use file timestamp" -msgstr "verwende Datei-Zeitstempel" - -#: gtk2_ardour/sfdb_ui.cc:995 -#: gtk2_ardour/sfdb_ui.cc:1131 -msgid "at edit point" -msgstr "am Arbeitspunkt" - -#: gtk2_ardour/sfdb_ui.cc:996 -#: gtk2_ardour/sfdb_ui.cc:1133 -msgid "at playhead" -msgstr "am Positionszeiger" - -#: gtk2_ardour/sfdb_ui.cc:997 -msgid "at session start" -msgstr "am Projektanfang" - -#: gtk2_ardour/sfdb_ui.cc:1002 -msgid "Add files:" -msgstr "Dateien hinzufügen:" - -#: gtk2_ardour/sfdb_ui.cc:1024 -msgid "Insert:" -msgstr "Einfügen:" - -#: gtk2_ardour/sfdb_ui.cc:1037 -msgid "Mapping:" -msgstr "" - -#: gtk2_ardour/sfdb_ui.cc:1055 -msgid "Conversion Quality:" -msgstr "Konvertierungsqualität:" - -#: gtk2_ardour/sfdb_ui.cc:1067 -#: gtk2_ardour/sfdb_ui.cc:1145 -msgid "Best" -msgstr "bestmöglich" - -#: gtk2_ardour/sfdb_ui.cc:1068 -#: gtk2_ardour/sfdb_ui.cc:1147 -msgid "Good" -msgstr "gut" - -#: gtk2_ardour/sfdb_ui.cc:1069 -#: gtk2_ardour/sfdb_ui.cc:1149 -msgid "Quick" -msgstr "schnell" - -#: gtk2_ardour/sfdb_ui.cc:1093 -msgid "merge files" -msgstr "Dateien zusammenfügen" - -#: gtk2_ardour/sfdb_ui.cc:1170 -msgid "programming error: %1 (%2)" -msgstr "Programmierfehler: %1 (%2)" - -#: gtk2_ardour/tempo_dialog.cc:36 -msgid "edit tempo" -msgstr "Tempo bearbeiten" - -#: gtk2_ardour/tempo_dialog.cc:39 -#: gtk2_ardour/tempo_dialog.cc:59 -msgid "Beats per minute" -msgstr "Schläge pro Minute" - -#: gtk2_ardour/tempo_dialog.cc:40 -msgid "BPM denominator" -msgstr "BPM Zählzeit" - -#: gtk2_ardour/tempo_dialog.cc:43 -#: gtk2_ardour/tempo_dialog.cc:62 -#: gtk2_ardour/tempo_dialog.cc:257 -#: gtk2_ardour/tempo_dialog.cc:275 -msgid "Bar" -msgstr "Takt" - -#: gtk2_ardour/tempo_dialog.cc:44 -#: gtk2_ardour/tempo_dialog.cc:63 -#: gtk2_ardour/tempo_dialog.cc:258 -#: gtk2_ardour/tempo_dialog.cc:276 -msgid "Beat" -msgstr "Schlag" - -#: gtk2_ardour/tempo_dialog.cc:46 -#: gtk2_ardour/tempo_dialog.cc:65 -#: gtk2_ardour/tempo_dialog.cc:259 -#: gtk2_ardour/tempo_dialog.cc:277 -msgid "Location" -msgstr "Position" - -#: gtk2_ardour/tempo_dialog.cc:78 -#: gtk2_ardour/tempo_dialog.cc:95 -#: gtk2_ardour/tempo_dialog.cc:290 -#: gtk2_ardour/tempo_dialog.cc:308 -msgid "whole (1)" -msgstr "Ganze (1)" - -#: gtk2_ardour/tempo_dialog.cc:79 -#: gtk2_ardour/tempo_dialog.cc:97 -#: gtk2_ardour/tempo_dialog.cc:291 -#: gtk2_ardour/tempo_dialog.cc:310 -msgid "second (2)" -msgstr "Halbe (2)" - -#: gtk2_ardour/tempo_dialog.cc:80 -#: gtk2_ardour/tempo_dialog.cc:99 -#: gtk2_ardour/tempo_dialog.cc:292 -#: gtk2_ardour/tempo_dialog.cc:312 -msgid "third (3)" -msgstr "Triolen (3)" - -#: gtk2_ardour/tempo_dialog.cc:81 -#: gtk2_ardour/tempo_dialog.cc:101 -#: gtk2_ardour/tempo_dialog.cc:109 -#: gtk2_ardour/tempo_dialog.cc:293 -#: gtk2_ardour/tempo_dialog.cc:314 -#: gtk2_ardour/tempo_dialog.cc:322 -msgid "quarter (4)" -msgstr "Viertel (4)" - -#: gtk2_ardour/tempo_dialog.cc:82 -#: gtk2_ardour/tempo_dialog.cc:103 -#: gtk2_ardour/tempo_dialog.cc:294 -#: gtk2_ardour/tempo_dialog.cc:316 -msgid "eighth (8)" -msgstr "Achtel (8)" - -#: gtk2_ardour/tempo_dialog.cc:83 -#: gtk2_ardour/tempo_dialog.cc:105 -#: gtk2_ardour/tempo_dialog.cc:295 -#: gtk2_ardour/tempo_dialog.cc:318 -msgid "sixteenth (16)" -msgstr "Sechzehntel (16)" - -#: gtk2_ardour/tempo_dialog.cc:84 -#: gtk2_ardour/tempo_dialog.cc:107 -#: gtk2_ardour/tempo_dialog.cc:296 -#: gtk2_ardour/tempo_dialog.cc:320 -msgid "thirty-second (32)" -msgstr "Zweiunddreissigstel (32)" - -#: gtk2_ardour/tempo_dialog.cc:225 -#: gtk2_ardour/tempo_dialog.cc:479 -msgid "garbaged note type entry (%1)" -msgstr "Fehlerhafter Notentyp (%1)" - -#: gtk2_ardour/tempo_dialog.cc:235 -#: gtk2_ardour/tempo_dialog.cc:489 -msgid "incomprehensible note type entry (%1)" -msgstr "Unverständlicher Notentyp (%1)" - -#: gtk2_ardour/tempo_dialog.cc:253 -#: gtk2_ardour/tempo_dialog.cc:271 -msgid "Meter denominator" -msgstr "Takteinteilung" - -#: gtk2_ardour/tempo_dialog.cc:254 -#: gtk2_ardour/tempo_dialog.cc:272 -msgid "Beats per bar" -msgstr "Schläge pro Takt" - -#: gtk2_ardour/tempo_dialog.cc:303 -#, fuzzy -msgid "thirtq-second (32)" -msgstr "Zweiunddreissigstel (32)" - -#: gtk2_ardour/theme_manager.cc:51 -msgid "Object" -msgstr "" - -#: gtk2_ardour/theme_manager.cc:182 -msgid "Unable to find UI style file %1. Ardour will look strange" -msgstr "Kann die UI-Style Datei %1 nicht finden. Ardour wird merkwürdig aussehen." - -#: gtk2_ardour/time_axis_view.cc:111 -msgid "gTortnam" -msgstr "" +" (kompiliert mit Version " -#: gtk2_ardour/time_axis_view.cc:589 -msgid "Largest" -msgstr "Am größten" +#: gtk2_ardour/main.cc:297 +msgid " and GCC version " +msgstr " und GCC Version" -#: gtk2_ardour/time_axis_view.cc:590 -msgid "Large" -msgstr "Groß" +#: gtk2_ardour/main.cc:307 +msgid "Copyright (C) 1999-2008 Paul Davis" +msgstr "Copyright (C) 1999-2008 Paul Davis" -#: gtk2_ardour/time_axis_view.cc:591 -msgid "Larger" -msgstr "Größer" +#: gtk2_ardour/main.cc:308 +msgid "Some portions Copyright (C) Steve Harris, Ari Johnson, Brett Viren, Joel Baker" +msgstr "Einige Teile Copyright (C) Steve Harris, Ari Johnson, Brett Viren, Joel Baker" -#: gtk2_ardour/time_axis_view.cc:593 -msgid "Smaller" -msgstr "Kleiner" +#: gtk2_ardour/main.cc:310 +msgid "Ardour comes with ABSOLUTELY NO WARRANTY" +msgstr "Ardour wird Ihnen ohne jegliche Gewährleistung und ausdrücklich ohne die Zusicherung" -#: gtk2_ardour/time_axis_view.cc:594 -msgid "Small" -msgstr "Klein" +#: gtk2_ardour/main.cc:311 +msgid "not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." +msgstr "für allgemeine oder spezielle Gebrauchstauglichkeit zur Verfügung gestellt." -#: gtk2_ardour/time_axis_view.cc:909 -msgid "unknown track height name \"%1\" in XML GUI information" -msgstr "Unbekannte Spurhöhe \"%1\" in der XML GUI Information" +#: gtk2_ardour/main.cc:312 +msgid "This is free software, and you are welcome to redistribute it " +msgstr "Dies ist freie Software und Sie dürfen sie gerne weiterverbreiten," -#: gtk2_ardour/time_axis_view_item.cc:80 -msgid "TimeAxisViewItemName" -msgstr "" +#: gtk2_ardour/main.cc:313 +msgid "under certain conditions; see the source for copying conditions." +msgstr "solange Sie sich an die Bedingungen, die in der Datei COPYING aufgeführt sind halten." -#: gtk2_ardour/time_axis_view_item.cc:332 -msgid "new duration %1 frames is out of bounds for %2" -msgstr "Neue Dauer %1 Frames ist außerhalb des erlaubten Bereichs %2" +#: gtk2_ardour/main.cc:322 +msgid "Cannot install SIGPIPE error handler" +msgstr "Kann keine Fehlerbehandlung via SIGPIPE initialisieren" -#: gtk2_ardour/time_selection.cc:40 -msgid "programming error: request for non-existent audio range (%1)!" -msgstr "Programmierfehler: request for non-existent audio range (%1)!" +#: gtk2_ardour/main.cc:328 +msgid "could not create ARDOUR GUI" +msgstr "konnte das grafische Ardour User Interface nicht erstellen" -#: gtk2_ardour/ui_config.cc:68 +#: gtk2_ardour/ui_config.cc:78 msgid "loading default ui configuration file %1" msgstr "lade voreingestellte UI-Konfigurationsdatei %1" -#: gtk2_ardour/ui_config.cc:71 +#: gtk2_ardour/ui_config.cc:81 msgid "Ardour: cannot read default ui configuration file \"%1\"" msgstr "Ardour: kann die voreingestellte UI-Konfigurationsdatei \"%1\" nicht lesen" -#: gtk2_ardour/ui_config.cc:76 +#: gtk2_ardour/ui_config.cc:86 msgid "Ardour: default ui configuration file \"%1\" not loaded successfully." msgstr "Ardour: Die voreingestellte UI-Konfigurationsdatei \"%1\" konnte nicht geladen werden." -#: gtk2_ardour/ui_config.cc:88 +#: gtk2_ardour/ui_config.cc:104 msgid "loading user ui configuration file %1" msgstr "lade benutzerdefinierte UI-Konfigurationsdatei %1" -#: gtk2_ardour/ui_config.cc:91 +#: gtk2_ardour/ui_config.cc:107 msgid "Ardour: cannot read ui configuration file \"%1\"" msgstr "Ardour: kann die UI-Konfigurationsdatei \"%1\" nicht lesen" -#: gtk2_ardour/ui_config.cc:96 +#: gtk2_ardour/ui_config.cc:112 msgid "Ardour: user ui configuration file \"%1\" not loaded successfully." msgstr "Ardour: Die benutzerdefinierte UI-Konfigurationsdatei \"%1\" konnte nicht geladen werden." -#: gtk2_ardour/ui_config.cc:120 +#: gtk2_ardour/ui_config.cc:135 msgid "UI config file %1 not saved" msgstr "UI-Konfigurationsdatei %1 nicht gespeichert." -#: gtk2_ardour/utils.cc:132 -#: gtk2_ardour/utils.cc:175 -msgid "bad XPM header %1" -msgstr "Fehlerhafter XPM Header %1" - -#: gtk2_ardour/utils.cc:314 -msgid "missing RGBA style for \"%1\"" -msgstr "Fehlender RGBA Style für \"%1\"" - -#: gtk2_ardour/utils.cc:337 -msgid "no style found for %1, using red" -msgstr "" - -#: gtk2_ardour/utils.cc:376 -msgid "unknown style attribute %1 requested for color; using \"red\"" -msgstr "" - -#: gtk2_ardour/utils.cc:581 -msgid "cannot find icon image for %1" -msgstr "Konnte Icon-Bild für %1 nicht finden" - -#: gtk2_ardour/visual_time_axis.cc:280 -msgid "" -"Do you really want to remove track \"%1\" ?\n" -"(cannot be undone)" -msgstr "" -"Wollen Sie wirklich die Spur \"%1\" löschen?\n" -"(Kann nicht rückgängig gemacht werden!)" - -#: gtk2_ardour/visual_time_axis.cc:329 -msgid "new name: " -msgstr "Neuer Name: " - -#: gtk2_ardour/connection_editor.cc:50 -msgid "ardour: connections" -msgstr "ardour: Verbindungen" - -#: gtk2_ardour/connection_editor.cc:51 -msgid "Input Connections" -msgstr "Verbindungen der Eingänge" - -#: gtk2_ardour/connection_editor.cc:52 -msgid "Output Connections" -msgstr "Verbindungen der Ausgänge" - -#: gtk2_ardour/connection_editor.cc:53 -msgid "New Input" -msgstr "Neuer Eingang" - -#: gtk2_ardour/connection_editor.cc:54 -msgid "New Output" -msgstr "Neuer Ausgang" - -#: gtk2_ardour/connection_editor.cc:57 -#: gtk2_ardour/connection_editor.cc:100 -msgid "Add Port" -msgstr "Port hinzufügen" - -#: gtk2_ardour/connection_editor.cc:105 -msgid "Available Ports" -msgstr "Verfügbare Verbindungen" - -#: gtk2_ardour/connection_editor.cc:500 -msgid "Connection \"" -msgstr "Verbindung \"" - -#: gtk2_ardour/connection_editor.cc:502 -msgid "\"" -msgstr "" - -#: gtk2_ardour/connection_editor.cc:531 -#, c-format -msgid "in %d" -msgstr "In %d" - -#: gtk2_ardour/connection_editor.cc:533 -#, c-format -msgid "out %d" -msgstr "Out %d" - -#: gtk2_ardour/connection_editor.cc:657 -msgid "Name for new connection:" -msgstr "Name für neue Verbindung:" - -#: gtk2_ardour/analysis_window.cc:45 -msgid "analysis window" -msgstr "Analysefenster" - -#: gtk2_ardour/analysis_window.cc:47 -msgid "Signal source" -msgstr "Signalquelle" - -#: gtk2_ardour/analysis_window.cc:48 -msgid "Selected ranges" -msgstr "Ausgewählte Bereiche" - -#: gtk2_ardour/analysis_window.cc:49 -msgid "Selected regions" -msgstr "Ausgewählte Regionen" +#: gtk2_ardour/actions.cc:80 +#: gtk2_ardour/actions.cc:81 +msgid "badly formatted UI definition file: %1" +msgstr "die UI Definitionsdatei %1 ist falsch formatiert" -#: gtk2_ardour/analysis_window.cc:51 -msgid "Display model" -msgstr "Anzeigetyp" +#: gtk2_ardour/actions.cc:83 +msgid "Ardour menu definition file not found" +msgstr "Konnte die Ardour Menü-Definition nicht finden" -#: gtk2_ardour/analysis_window.cc:52 -msgid "Composite graphs for each track" -msgstr "Graphen für jede Spur einzeln" +#: gtk2_ardour/actions.cc:87 +msgid "ardour will not work without a valid ardour.menus file" +msgstr "Ardour benötigt eine gültige ardour.menus Datei" -#: gtk2_ardour/analysis_window.cc:53 -msgid "Composite graph of all tracks" -msgstr "Graphen aller Spuren zusammenfassen" +#: gtk2_ardour/actions.cc:325 +msgid "programmer error: %1 %2" +msgstr "Programmierfehler: %1 %2" -#: gtk2_ardour/analysis_window.cc:62 -msgid "Track" -msgstr "Spur" +#: gtk2_ardour/actions.cc:344 +msgid "Unknown action name: %1" +msgstr "Unbekannte Aktionsbezeichnung: %1" -#: gtk2_ardour/analysis_window.cc:130 -msgid "Analyze data" -msgstr "Daten analysieren" +#~ msgid "Paul Davis" +#~ msgstr "Paul Davis" +#~ msgid "Jesse Chappell" +#~ msgstr "Jesse Chappell" +#~ msgid "Taybin Rutkin" +#~ msgstr "Taybin Rutkin" +#~ msgid "Marcus Andersson" +#~ msgstr "Marcus Andersson" +#~ msgid "Jeremy Hall" +#~ msgstr "Jeremy Hall" +#~ msgid "Steve Harris" +#~ msgstr "Steve Harris" +#~ msgid "Tim Mayberry" +#~ msgstr "Tim Mayberry" +#~ msgid "Mark Stewart" +#~ msgstr "Mark Stewart" +#~ msgid "Sam Chessman" +#~ msgstr "Sam Chessman" +#~ msgid "Jack O'Quin" +#~ msgstr "Jack O'Quin" +#~ msgid "Matt Krai" +#~ msgstr "Matt Krai" +#~ msgid "Ben Bell" +#~ msgstr "Ben Bell" +#~ msgid "Gerard van Dongen" +#~ msgstr "Gerard van Dongen" +#~ msgid "Thomas Charbonnel" +#~ msgstr "Thomas Charbonnel" +#~ msgid "Nick Mainsbridge" +#~ msgstr "Nick Mainsbridge" +#~ msgid "Colin Law" +#~ msgstr "Colin Law" +#~ msgid "Sampo Savolainen" +#~ msgstr "Sampo Savolainen" +#~ msgid "Joshua Leach" +#~ msgstr "Joshua Leach" +#~ msgid "Rob Holland" +#~ msgstr "Rob Holland" +#~ msgid "Per Sigmond" +#~ msgstr "Per Sigmond" +#~ msgid "Doug Mclain" +#~ msgstr "Doug Mclain" +#~ msgid "Petter Sundlöf" +#~ msgstr "Petter Sundlöf" +#~ msgid "Thorsten Wilms" +#~ msgstr "Thorsten Wilms" +#~ msgid "Ben Loftis" +#~ msgstr "Ben Loftis" +#~ msgid "Stefan Kersten" +#~ msgstr "Stefan Kersten" +#~ msgid "Christopher George" +#~ msgstr "Christopher George" +#~ msgid "Robert Jordens" +#~ msgstr "Robert Jordens" +#~ msgid "Dave Robillard" +#~ msgstr "Dave Robillard" +#~ msgid "Hans Fugal" +#~ msgstr "Hans Fugal" +#~ msgid "Brian Ahr" +#~ msgstr "Brian Ahr" +#~ msgid "Nimal Ratnayake" +#~ msgstr "Nimal Ratnayake" +#~ msgid "Mike Täht" +#~ msgstr "Mike Täht" +#~ msgid "John Anderson" +#~ msgstr "John Anderson" +#~ msgid "Nedko Arnaudov" +#~ msgstr "Nedko Arnaudov" +#~ msgid "Carl Hetherington" +#~ msgstr "Carl Hetherington" +#~ msgid "" +#~ "French:\n" +#~ "\tAlain Fréhel <alain.frehel@free.fr>\n" +#~ "\tChristophe Combelles <ccomb@free.fr>\n" +#~ msgstr "" +#~ "French:\n" +#~ "\tAlain Fréhel <alain.frehel@free.fr>\n" +#~ "\tChristophe Combelles <ccomb@free.fr>\n" +#~ msgid "" +#~ "German:\n" +#~ "\tKarsten Petersen <kapet@kapet.de>\n" +#~ "\tSebastian Arnold <mail@sebastian-arnold.net>\n" +#~ msgstr "" +#~ "Deutsch:\n" +#~ "\tKarsten Petersen <kapet@kapet.de>\n" +#~ "\tSebastian Arnold <mail@sebastian-arnold.net>\n" +#~ msgid "" +#~ "Italian:\n" +#~ "\tFilippo Pappalardo <filippo@email.it>\n" +#~ msgstr "" +#~ "Italian:\n" +#~ "\tFilippo Pappalardo <filippo@email.it>\n" +#~ msgid "" +#~ "Portuguese:\n" +#~ "\tRui Nuno Capela <rncbc@rncbc.org>\n" +#~ msgstr "" +#~ "Portuguese:\n" +#~ "\tRui Nuno Capela <rncbc@rncbc.org>\n" +#~ msgid "" +#~ "Brazilian Portuguese:\n" +#~ "\tAlexander da Franca Fernandes <alexander@nautae.eti.br>\n" +#~ "\tChris Ross <chris@tebibyte.org>\n" +#~ msgstr "" +#~ "Brazilian Portuguese:\n" +#~ "\tAlexander da Franca Fernandes <alexander@nautae.eti.br>\n" +#~ "\tChris Ross <chris@tebibyte.org>\n" +#~ msgid "" +#~ "Spanish:\n" +#~ "\t Alex Krohn <alexkrohn@fastmail.fm>\n" +#~ msgstr "" +#~ "Spanish:\n" +#~ "\t Alex Krohn <alexkrohn@fastmail.fm>\n" +#~ msgid "" +#~ "Russian:\n" +#~ "\t Igor Blinov <pitstop@nm.ru>\n" +#~ msgstr "" +#~ "Russian:\n" +#~ "\t Igor Blinov <pitstop@nm.ru>\n" +#~ msgid "" +#~ "Greek:\n" +#~ "\t Klearchos Gourgourinis <muadib@in.gr>\n" +#~ msgstr "" +#~ "Greek:\n" +#~ "\t Klearchos Gourgourinis <muadib@in.gr>\n" +#~ msgid "3 Channels" +#~ msgstr "3 Kanäle" +#~ msgid "4 Channels" +#~ msgstr "4 Kanäle" +#~ msgid "6 Channels" +#~ msgstr "6 Kanäle" +#~ msgid "8 Channels" +#~ msgstr "8 Kanäle" +#~ msgid "Manual Setup" +#~ msgstr "Manuell" +#~ msgid "Could not find command line session \"%1\"" +#~ msgstr "Konnte das per Kommandozeile übergebene Projekt nicht laden: \"%1\"" +#~ msgid "" +#~ "\n" +#~ "\n" +#~ "No session named \"%1\" exists.\n" +#~ "To create it from the command line, start ardour as:\n" +#~ " ardour --new %1" +#~ msgstr "" +#~ "\n" +#~ "\n" +#~ "Es existiert kein Projekt mit dem Namen \"%1\".\n" +#~ "Um es von der Kommandozeile aus zu erstellen, starten Sie ardour mit:\n" +#~ " ardour --new %1" +#~ msgid "Ardour cannot understand \"%1\" as a session name" +#~ msgstr "Ardour kann \"%1\" nicht als Projektnamen benutzen" +#~ msgid "KeyMouse Actions" +#~ msgstr "Tastatur/Maus-Befehle" +#~ msgid "Header" +#~ msgstr "Header" +#~ msgid "Data" +#~ msgstr "Datenformat" +#~ msgid "Software monitoring" +#~ msgstr "Software Monitoring" +#~ msgid "External monitoring" +#~ msgstr "Externes Monitoring" +#~ msgid "Analyze region" +#~ msgstr "Analysiere Region" +#~ msgid "Analyze range" +#~ msgstr "Bereich analysieren" +#~ msgid "Bounce range" +#~ msgstr "Bereich Bouncen" +#~ msgid "Duplicate how many times?" +#~ msgstr "Wie häufig duplizieren?" +#~ msgid "to Center" +#~ msgstr "zur Mitte" +#~ msgid "to Playhead" +#~ msgstr "zum Positionszeiger" +#~ msgid "Set Edit Point" +#~ msgstr "Arbeitspunkt setzen" +#~ msgid "Reverse Region" +#~ msgstr "Rückwärts" +#~ msgid "Add Existing Audio" +#~ msgstr "Audio importieren" +#~ msgid "Add External Audio" +#~ msgstr "Audio importieren..." +#~ msgid "" +#~ " This is destructive, will possibly delete audio files\n" +#~ "It cannot be undone\n" +#~ "Do you really want to destroy %1 ?" +#~ msgstr "" +#~ " Diese Aktion ist destruktiv und löscht möglicherweise Audiodateien\n" +#~ "Dies kann nicht rückgängig gemacht werden\n" +#~ "Wollen Sie %1 wirklich löschen ?" +#~ msgid "these regions" +#~ msgstr "diese Region" +#~ msgid "this region" +#~ msgstr "diese Region" +#~ msgid "Yes, destroy them." +#~ msgstr "Ja, entfernen." +#~ msgid "cannot set loop: no region selected" +#~ msgstr "Kann keine Schleife erstellen: keine Region ausgewählt" +#~ msgid "editor" +#~ msgstr "Editor" +#~ msgid "best" +#~ msgstr "bestmöglich" +#~ msgid "Shaped Noise" +#~ msgstr "Shaped Noise" +#~ msgid "stereo" +#~ msgstr "Stereo" +#~ msgid "CUE" +#~ msgstr "CUE" +#~ msgid "WAV" +#~ msgstr "WAV" +#~ msgid "Binding" +#~ msgstr "Zugewiesene Taste" +#~ msgid "Set" +#~ msgstr "Setzen" +#~ msgid "BPM denominator" +#~ msgstr "BPM Zählzeit" diff --git a/gtk2_ardour/processor_box.cc b/gtk2_ardour/processor_box.cc index 88bd7d0b15..fe648352d0 100644 --- a/gtk2_ardour/processor_box.cc +++ b/gtk2_ardour/processor_box.cc @@ -120,7 +120,7 @@ ProcessorBox::ProcessorBox (Placement pcmnt, Session& sess, PluginSelector &plug processor_display.get_column(0)->set_sizing(TREE_VIEW_COLUMN_FIXED); processor_display.get_column(0)->set_fixed_width(48); processor_display.add_object_drag (columns.processor.index(), "processors"); - processor_display.signal_object_drop.connect (mem_fun (*this, &ProcessorBox::object_drop)); + processor_display.signal_drop.connect (mem_fun (*this, &ProcessorBox::object_drop)); TreeViewColumn* name_col = processor_display.get_column(0); CellRendererText* renderer = dynamic_cast<CellRendererText*>(processor_display.get_column_cell_renderer (0)); @@ -167,22 +167,11 @@ ProcessorBox::route_going_away () no_processor_redisplay = true; } + void -ProcessorBox::object_drop (string type, uint32_t cnt, const boost::shared_ptr<Processor>* ptr) +ProcessorBox::object_drop (const list<boost::shared_ptr<Processor> >& procs) { - if (type != "processors" || cnt == 0 || !ptr) { - return; - } - - /* do something with the dropped processors */ - - list<boost::shared_ptr<Processor> > processors; - - for (uint32_t n = 0; n < cnt; ++n) { - processors.push_back (ptr[n]); - } - - paste_processor_list (processors); + paste_processor_list (procs); } void @@ -310,7 +299,13 @@ ProcessorBox::processor_button_press_event (GdkEventButton *ev) // this is purely informational but necessary ProcessorSelected (processor); // emit + + } else if (!processor && ev->button == 1 && ev->type == GDK_2BUTTON_PRESS) { + + choose_plugin (); + _plugin_selector.show_manager (); } + return ret; } @@ -343,7 +338,7 @@ ProcessorBox::processor_button_release_event (GdkEventButton *ev) show_processor_menu(ev->time); ret = true; - } else if (processor && (ev->button == 2) && (Keyboard::no_modifier_keys_pressed (ev) && ((ev->state & Gdk::BUTTON2_MASK) == Gdk::BUTTON2_MASK))) { + } else if (processor && Keyboard::is_button2_event (ev) && (Keyboard::no_modifier_keys_pressed (ev) && ((ev->state & Gdk::BUTTON2_MASK) == Gdk::BUTTON2_MASK))) { /* button2-click with no modifiers */ @@ -399,6 +394,10 @@ ProcessorBox::use_plugins (const SelectedPlugins& plugins) boost::shared_ptr<Processor> processor (new PluginInsert (_session, *p, _placement)); Route::ProcessorStreams err_streams; + + if (Config->get_new_plugins_active()) { + processor->set_active (true); + } if (_route->add_processor (processor, &err_streams)) { weird_plugin_dialog (**p, err_streams, _route); @@ -538,6 +537,9 @@ ProcessorBox::send_io_finished (IOSelector::Result r, boost::weak_ptr<Processor> case IOSelector::Accepted: _route->add_processor (processor); + if (Profile->get_sae()) { + processor->set_active (true); + } break; } @@ -775,9 +777,10 @@ ProcessorBox::cut_processors () no_processor_redisplay = true; for (vector<boost::shared_ptr<Processor> >::iterator i = to_be_removed.begin(); i != to_be_removed.end(); ++i) { - // Do not cut inserts or sends + // Do not cut inserts + if (boost::dynamic_pointer_cast<PluginInsert>((*i)) != 0 || + (boost::dynamic_pointer_cast<Send>((*i)) != 0)) { - if (boost::dynamic_pointer_cast<PluginInsert>((*i)) != 0) { void* gui = (*i)->get_gui (); if (gui) { @@ -814,8 +817,9 @@ ProcessorBox::copy_processors () } for (vector<boost::shared_ptr<Processor> >::iterator i = to_be_copied.begin(); i != to_be_copied.end(); ++i) { - // Do not copy processors or sends - if (boost::dynamic_pointer_cast<PluginInsert>((*i)) != 0) { + // Do not copy inserts + if (boost::dynamic_pointer_cast<PluginInsert>((*i)) != 0 || + (boost::dynamic_pointer_cast<Send>((*i)) != 0)) { node->add_child_nocopy ((*i)->get_state()); } } @@ -905,11 +909,11 @@ ProcessorBox::paste_processors () } void -ProcessorBox::paste_processor_list (list<boost::shared_ptr<Processor> >& processors) +ProcessorBox::paste_processor_list (const list<boost::shared_ptr<Processor> >& processors) { list<boost::shared_ptr<Processor> > copies; - for (list<boost::shared_ptr<Processor> >::iterator i = processors.begin(); i != processors.end(); ++i) { + for (list<boost::shared_ptr<Processor> >::const_iterator i = processors.begin(); i != processors.end(); ++i) { boost::shared_ptr<Processor> copy = Processor::clone (*i); diff --git a/gtk2_ardour/processor_box.h b/gtk2_ardour/processor_box.h index 74d781a0d4..92a301633a 100644 --- a/gtk2_ardour/processor_box.h +++ b/gtk2_ardour/processor_box.h @@ -126,7 +126,7 @@ class ProcessorBox : public Gtk::HBox, public PluginInterestedObject Gtkmm2ext::DnDTreeView<boost::shared_ptr<ARDOUR::Processor> > processor_display; Gtk::ScrolledWindow processor_scroller; - void object_drop (std::string type, uint32_t cnt, const boost::shared_ptr<ARDOUR::Processor>*); + void object_drop (const std::list<boost::shared_ptr<ARDOUR::Processor> >&); Width _width; @@ -186,7 +186,7 @@ class ProcessorBox : public Gtk::HBox, public PluginInterestedObject void get_selected_processors (vector<boost::shared_ptr<ARDOUR::Processor> >&); static Glib::RefPtr<Gtk::Action> paste_action; - void paste_processor_list (std::list<boost::shared_ptr<ARDOUR::Processor> >& processors); + void paste_processor_list (const std::list<boost::shared_ptr<ARDOUR::Processor> >& processors); void paste_processor_state (const XMLNode&); void activate_processor (boost::shared_ptr<ARDOUR::Processor>); diff --git a/gtk2_ardour/public_editor.h b/gtk2_ardour/public_editor.h index 253c033eb8..0af92a592a 100644 --- a/gtk2_ardour/public_editor.h +++ b/gtk2_ardour/public_editor.h @@ -244,6 +244,7 @@ class PublicEditor : public Gtk::Window, public PBD::StatefulThingWithGoingAway /** @return true if the playhead is currently being dragged, otherwise false */ virtual bool dragging_playhead () const = 0; + virtual double get_physical_screen_width() const = 0; virtual void ensure_float (Gtk::Window&) = 0; virtual void show_window () = 0; virtual TrackViewList* get_valid_views (TimeAxisView*, ARDOUR::RouteGroup* grp = 0) = 0; @@ -336,6 +337,8 @@ class PublicEditor : public Gtk::Window, public PBD::StatefulThingWithGoingAway virtual gdouble get_trackview_group_vertical_offset () const = 0; + virtual gdouble get_canvas_timebars_vsize () const = 0; + virtual ArdourCanvas::Group* get_background_group () const = 0; virtual ArdourCanvas::Group* get_trackview_group () const = 0; /// Singleton instance, set up by Editor::Editor() diff --git a/gtk2_ardour/route_time_axis.cc b/gtk2_ardour/route_time_axis.cc index a36a6bc35a..8e462c984e 100644 --- a/gtk2_ardour/route_time_axis.cc +++ b/gtk2_ardour/route_time_axis.cc @@ -136,6 +136,13 @@ RouteTimeAxisView::RouteTimeAxisView (PublicEditor& ed, Session& sess, boost::sh visual_button.set_name ("TrackVisualButton"); hide_button.set_name ("TrackRemoveButton"); + edit_group_button.unset_flags (Gtk::CAN_FOCUS); + playlist_button.unset_flags (Gtk::CAN_FOCUS); + automation_button.unset_flags (Gtk::CAN_FOCUS); + size_button.unset_flags (Gtk::CAN_FOCUS); + visual_button.unset_flags (Gtk::CAN_FOCUS); + hide_button.unset_flags (Gtk::CAN_FOCUS); + hide_button.add (*(manage (new Image (::get_icon("hide"))))); hide_button.show_all (); @@ -147,9 +154,9 @@ RouteTimeAxisView::RouteTimeAxisView (PublicEditor& ed, Session& sess, boost::sh hide_button.signal_clicked().connect (mem_fun(*this, &RouteTimeAxisView::hide_click)); solo_button->signal_button_press_event().connect (mem_fun(*this, &RouteUI::solo_press), false); - solo_button->signal_button_release_event().connect (mem_fun(*this, &RouteUI::solo_release)); + solo_button->signal_button_release_event().connect (mem_fun(*this, &RouteUI::solo_release), false); mute_button->signal_button_press_event().connect (mem_fun(*this, &RouteUI::mute_press), false); - mute_button->signal_button_release_event().connect (mem_fun(*this, &RouteUI::mute_release)); + mute_button->signal_button_release_event().connect (mem_fun(*this, &RouteUI::mute_release), false); if (is_track()) { @@ -502,11 +509,10 @@ RouteTimeAxisView::build_display_menu () items.push_back (SeparatorElem()); - build_remote_control_menu (); - build_automation_action_menu (); - if (!Profile->get_sae()) { + build_remote_control_menu (); items.push_back (MenuElem (_("Remote Control ID"), *remote_control_menu)); + build_automation_action_menu (); items.push_back (MenuElem (_("Automation"), *automation_action_menu)); items.push_back (SeparatorElem()); } @@ -586,7 +592,12 @@ RouteTimeAxisView::build_display_menu () items.push_back (SeparatorElem()); items.push_back (MenuElem (_("Hide"), mem_fun(*this, &RouteTimeAxisView::hide_click))); - items.push_back (MenuElem (_("Remove"), mem_fun(*this, &RouteUI::remove_this_route))); + if (!Profile->get_sae()) { + items.push_back (MenuElem (_("Remove"), mem_fun(*this, &RouteUI::remove_this_route))); + } else { + items.push_front (SeparatorElem()); + items.push_front (MenuElem (_("Delete"), mem_fun(*this, &RouteUI::remove_this_route))); + } } static bool __reset_item (RadioMenuItem* item) @@ -824,6 +835,18 @@ RouteTimeAxisView::set_height (uint32_t h) } else { + + /* don't allow name_entry to be hidden while + it has focus, otherwise the GUI becomes unusable. + */ + + if (name_entry.has_focus()) { + if (name_entry.get_text() != _route->name()) { + name_entry_changed (); + } + controls_ebox.grab_focus (); + } + hide_name_entry (); show_name_label (); @@ -2054,6 +2077,7 @@ RouteTimeAxisView::processor_menu_item_toggled (RouteTimeAxisView::ProcessorAuto if (showit) { pan->view->set_marked_for_display (true); pan->view->canvas_display->show(); + pan->view->canvas_background->show(); } else { rai->processor->mark_automation_visible (pan->what, true); pan->view->set_marked_for_display (false); diff --git a/gtk2_ardour/route_ui.cc b/gtk2_ardour/route_ui.cc index 26c99488cc..c53e205b49 100644 --- a/gtk2_ardour/route_ui.cc +++ b/gtk2_ardour/route_ui.cc @@ -23,6 +23,7 @@ #include <gtkmm2ext/doi.h> #include <gtkmm2ext/bindable_button.h> #include <gtkmm2ext/barcontroller.h> +#include <gtkmm2ext/gtk_ui.h> #include <ardour/route_group.h> #include <pbd/memento_command.h> @@ -46,6 +47,7 @@ #include <ardour/audio_diskstream.h> #include <ardour/midi_track.h> #include <ardour/midi_diskstream.h> +#include <ardour/profile.h> #include "i18n.h" using namespace sigc; @@ -92,19 +94,24 @@ RouteUI::init () was_solo_safe = false; polarity_menu_item = 0; denormal_menu_item = 0; + multiple_mute_change = false; + multiple_solo_change = false; mute_button = manage (new BindableToggleButton ("")); mute_button->set_self_managed (true); mute_button->set_name ("MuteButton"); + UI::instance()->set_tip (mute_button, _("Mute this track"), ""); solo_button = manage (new BindableToggleButton ("")); solo_button->set_self_managed (true); solo_button->set_name ("SoloButton"); + UI::instance()->set_tip (solo_button, _("Mute other (non-soloed) tracks"), ""); rec_enable_button = manage (new BindableToggleButton ("")); rec_enable_button->set_name ("RecordEnableButton"); rec_enable_button->set_self_managed (true); - + UI::instance()->set_tip (rec_enable_button, _("Enable recording on this track"), ""); + _session.SoloChanged.connect (mem_fun(*this, &RouteUI::solo_changed_so_update_mute)); } @@ -123,11 +130,6 @@ RouteUI::reset () mute_menu = 0; } - if (remote_control_menu) { - delete remote_control_menu; - remote_control_menu = 0; - } - if (xml_node) { /* do not delete the node - its owned by the route */ xml_node = 0; @@ -207,10 +209,10 @@ RouteUI::set_route (boost::shared_ptr<Route> rp) bool RouteUI::mute_press(GdkEventButton* ev) { - if (ev->type == GDK_2BUTTON_PRESS) { + if (ev->type == GDK_2BUTTON_PRESS || ev->type == GDK_3BUTTON_PRESS ) { return true; } - + multiple_mute_change = false; if (!ignore_toggle) { if (Keyboard::is_context_menu_event (ev)) { @@ -223,7 +225,7 @@ RouteUI::mute_press(GdkEventButton* ev) } else { - if (ev->button == 2) { + if (Keyboard::is_button2_event (ev)) { // Primary-button2 click is the midi binding click // button2-click is "momentary" @@ -234,7 +236,7 @@ RouteUI::mute_press(GdkEventButton* ev) } } - if (ev->button == 1 || ev->button == 2) { + if (ev->button == 1 || Keyboard::is_button2_event (ev)) { if (Keyboard::modifier_state_equals (ev->state, Keyboard::ModifierMask (Keyboard::PrimaryModifier|Keyboard::TertiaryModifier))) { @@ -246,6 +248,7 @@ RouteUI::mute_press(GdkEventButton* ev) cmd->mark(); _session.add_command(cmd); _session.commit_reversible_command (); + multiple_mute_change = true; } else if (Keyboard::modifier_state_equals (ev->state, Keyboard::PrimaryModifier)) { @@ -260,8 +263,11 @@ RouteUI::mute_press(GdkEventButton* ev) } else { /* plain click applies change to this route */ - - reversibly_apply_route_boolean ("mute change", &Route::set_mute, !_route->muted(), this); + if (wait_for_release) { + _route->set_mute (!_route->muted(), this); + } else { + reversibly_apply_route_boolean ("mute change", &Route::set_mute, !_route->muted(), this); + } } } } @@ -277,9 +283,14 @@ RouteUI::mute_release(GdkEventButton* ev) if (!ignore_toggle) { if (wait_for_release){ wait_for_release = false; - // undo the last op - // because the press was the last undoable thing we did - _session.undo (1U); + if (multiple_mute_change) { + multiple_mute_change = false; + // undo the last op + // because the press was the last undoable thing we did + _session.undo (1U); + } else { + _route->set_mute (!_route->muted(), this); + } } } return true; @@ -288,16 +299,16 @@ RouteUI::mute_release(GdkEventButton* ev) bool RouteUI::solo_press(GdkEventButton* ev) { - /* ignore double clicks */ + /* ignore double/triple clicks */ - if (ev->type == GDK_2BUTTON_PRESS) { + if (ev->type == GDK_2BUTTON_PRESS || ev->type == GDK_3BUTTON_PRESS ) { return true; } - + multiple_solo_change = false; if (!ignore_toggle) { if (Keyboard::is_context_menu_event (ev)) { - + if (solo_menu == 0) { build_solo_menu (); } @@ -306,7 +317,7 @@ RouteUI::solo_press(GdkEventButton* ev) } else { - if (ev->button == 2) { + if (Keyboard::is_button2_event (ev)) { // Primary-button2 click is the midi binding click // button2-click is "momentary" @@ -318,18 +329,31 @@ RouteUI::solo_press(GdkEventButton* ev) } } - if (ev->button == 1 || ev->button == 2) { + if (ev->button == 1 || Keyboard::is_button2_event (ev)) { if (Keyboard::modifier_state_equals (ev->state, Keyboard::ModifierMask (Keyboard::PrimaryModifier|Keyboard::TertiaryModifier))) { /* Primary-Tertiary-click applies change to all routes */ - + bool was_not_latched = false; + if (!Config->get_solo_latched ()) { + was_not_latched = true; + /* + XXX it makes no sense to solo all tracks if we're + not in latched mode, but doing nothing feels like a bug, + so do it anyway + */ + Config->set_solo_latched (true); + } _session.begin_reversible_command (_("solo change")); Session::GlobalSoloStateCommand *cmd = new Session::GlobalSoloStateCommand(_session, this); _session.set_all_solo (!_route->soloed()); cmd->mark(); _session.add_command (cmd); _session.commit_reversible_command (); + multiple_solo_change = true; + if (was_not_latched) { + Config->set_solo_latched (false); + } } else if (Keyboard::modifier_state_contains (ev->state, Keyboard::ModifierMask (Keyboard::PrimaryModifier|Keyboard::SecondaryModifier))) { @@ -347,8 +371,17 @@ RouteUI::solo_press(GdkEventButton* ev) // shift-click: set this route to solo safe - _route->set_solo_safe (!_route->solo_safe(), this); - wait_for_release = false; + if (Profile->get_sae() && ev->button == 1) { + // button 1 and shift-click: disables solo_latched for this click + if (!Config->get_solo_latched ()) { + Config->set_solo_latched (true); + reversibly_apply_route_boolean ("solo change", &Route::set_solo, !_route->soloed(), this); + Config->set_solo_latched (false); + } + } else { + _route->set_solo_safe (!_route->solo_safe(), this); + wait_for_release = false; + } } else if (Keyboard::modifier_state_equals (ev->state, Keyboard::PrimaryModifier)) { @@ -363,7 +396,11 @@ RouteUI::solo_press(GdkEventButton* ev) } else { /* click: solo this route */ - reversibly_apply_route_boolean ("solo change", &Route::set_solo, !_route->soloed(), this); + if (wait_for_release) { + _route->set_solo (!_route->soloed(), this); + } else { + reversibly_apply_route_boolean ("solo change", &Route::set_solo, !_route->soloed(), this); + } } } } @@ -378,10 +415,16 @@ RouteUI::solo_release(GdkEventButton* ev) if (!ignore_toggle) { if (wait_for_release) { wait_for_release = false; - // undo the last op - // because the press was the last undoable thing we did - - _session.undo (1U); + if (multiple_solo_change) { + multiple_solo_change = false; + // undo the last op + // because the press was the last undoable thing we did + _session.undo (1U); + } else { + // we don't use "undo the last op" + // here because its expensive for the GUI + _route->set_solo (!_route->soloed(), this); + } } } @@ -391,7 +434,7 @@ RouteUI::solo_release(GdkEventButton* ev) bool RouteUI::rec_enable_press(GdkEventButton* ev) { - if (ev->type == GDK_2BUTTON_PRESS) { + if (ev->type == GDK_2BUTTON_PRESS || ev->type == GDK_3BUTTON_PRESS ) { return true; } @@ -403,7 +446,7 @@ RouteUI::rec_enable_press(GdkEventButton* ev) if (!ignore_toggle && is_track() && rec_enable_button) { - if (ev->button == 2 && Keyboard::modifier_state_equals (ev->state, Keyboard::PrimaryModifier)) { + if (Keyboard::is_button2_event (ev) && Keyboard::modifier_state_equals (ev->state, Keyboard::PrimaryModifier)) { // do nothing on midi bind event return false; @@ -449,6 +492,7 @@ RouteUI::rec_enable_release (GdkEventButton* ev) void RouteUI::solo_changed(void* src) { + Gtkmm2ext::UI::instance()->call_slot (mem_fun (*this, &RouteUI::update_solo_display)); } @@ -907,7 +951,7 @@ gint RouteUI::idle_remove_this_route (RouteUI *rui) { rui->_session.remove_route (rui->_route); - return FALSE; + return false; } void diff --git a/gtk2_ardour/route_ui.h b/gtk2_ardour/route_ui.h index 67aa409dda..c784b97668 100644 --- a/gtk2_ardour/route_ui.h +++ b/gtk2_ardour/route_ui.h @@ -76,6 +76,8 @@ class RouteUI : public virtual AxisView bool ignore_toggle; bool wait_for_release; + bool multiple_mute_change; + bool multiple_solo_change; BindableToggleButton* mute_button; BindableToggleButton* solo_button; diff --git a/gtk2_ardour/send_ui.cc b/gtk2_ardour/send_ui.cc index 6ce6edd303..e99ea25cbd 100644 --- a/gtk2_ardour/send_ui.cc +++ b/gtk2_ardour/send_ui.cc @@ -113,22 +113,20 @@ SendUI::fast_update () } SendUIWindow::SendUIWindow (boost::shared_ptr<Send> s, Session& ss) + : ArdourDialog (string("Ardour: send ") + s->name()) { ui = new SendUI (s, ss); - vpacker.set_border_width (5); - hpacker.pack_start (*ui, true, true); - vpacker.pack_start (hpacker); + get_vbox()->set_border_width (5); + get_vbox()->pack_start (hpacker); - add (vpacker); set_name ("SendUIWindow"); going_away_connection = s->GoingAway.connect (mem_fun (*this, &SendUIWindow::send_going_away)); signal_delete_event().connect (bind (ptr_fun (just_hide_it), reinterpret_cast<Window *> (this))); - } SendUIWindow::~SendUIWindow () diff --git a/gtk2_ardour/send_ui.h b/gtk2_ardour/send_ui.h index 5a7298c515..0d6356970e 100644 --- a/gtk2_ardour/send_ui.h +++ b/gtk2_ardour/send_ui.h @@ -22,6 +22,7 @@ #include "gain_meter.h" #include "panner_ui.h" +#include "ardour_dialog.h" namespace ARDOUR { class Send; @@ -59,7 +60,7 @@ class SendUI : public Gtk::HBox void outs_changed (ARDOUR::IOChange, void*); }; -class SendUIWindow : public Gtk::Window +class SendUIWindow : public ArdourDialog { public: SendUIWindow(boost::shared_ptr<ARDOUR::Send>, ARDOUR::Session&); @@ -68,7 +69,6 @@ class SendUIWindow : public Gtk::Window SendUI* ui; private: - Gtk::VBox vpacker; Gtk::HBox hpacker; void send_going_away (); diff --git a/gtk2_ardour/sfdb_ui.cc b/gtk2_ardour/sfdb_ui.cc index 915c3c6d3c..799e74898b 100644 --- a/gtk2_ardour/sfdb_ui.cc +++ b/gtk2_ardour/sfdb_ui.cc @@ -732,7 +732,7 @@ SoundFileBrowser::found_search_clicked () void* freesound_search_thread_entry (void* arg) { - PBD::ThreadCreated (pthread_self(), X_("Freesound Search")); + PBD::notify_gui_about_thread_creation (pthread_self(), X_("Freesound Search")); static_cast<SoundFileBrowser*>(arg)->freesound_search_thread (); diff --git a/gtk2_ardour/streamview.cc b/gtk2_ardour/streamview.cc index 8730c55f58..9658af06fc 100644 --- a/gtk2_ardour/streamview.cc +++ b/gtk2_ardour/streamview.cc @@ -48,6 +48,7 @@ using namespace Editing; StreamView::StreamView (RouteTimeAxisView& tv, ArdourCanvas::Group* group) : _trackview (tv) , owns_canvas_group(group == 0) + , _background_group(new ArdourCanvas::Group(*_trackview.canvas_background)) , canvas_group(group ? group : new ArdourCanvas::Group(*_trackview.canvas_display)) , _samples_per_unit(_trackview.editor.get_current_zoom()) , rec_updating(false) @@ -62,10 +63,10 @@ StreamView::StreamView (RouteTimeAxisView& tv, ArdourCanvas::Group* group) { /* set_position() will position the group */ - canvas_rect = new ArdourCanvas::SimpleRect (*canvas_group); + canvas_rect = new ArdourCanvas::SimpleRect (*_background_group); canvas_rect->property_x1() = 0.0; canvas_rect->property_y1() = 0.0; - canvas_rect->property_x2() = _trackview.editor.frame_to_pixel (max_frames - 1); + canvas_rect->property_x2() = _trackview.editor.get_physical_screen_width(); canvas_rect->property_y2() = (double) tv.current_height(); canvas_rect->raise(1); // raise above tempo lines @@ -301,10 +302,8 @@ StreamView::region_layered (RegionView* rv) { /* don't ever leave it at the bottom, since then it doesn't get events - the parent group does instead ... - we need to raise it above the streamview's - canvas_rect, hence the layer+1 here */ - rv->get_canvas_group()->raise (rv->region()->layer() + 1); + rv->get_canvas_group()->raise (rv->region()->layer()); } void diff --git a/gtk2_ardour/streamview.h b/gtk2_ardour/streamview.h index 3b1b4cb12b..fe97489241 100644 --- a/gtk2_ardour/streamview.h +++ b/gtk2_ardour/streamview.h @@ -74,6 +74,7 @@ public: void set_layer_display (LayerDisplay); + ArdourCanvas::Group* background_group() { return _background_group; } ArdourCanvas::Group* canvas_item() { return canvas_group; } enum ColorTarget { @@ -128,6 +129,7 @@ protected: RouteTimeAxisView& _trackview; bool owns_canvas_group; + ArdourCanvas::Group* _background_group; ArdourCanvas::Group* canvas_group; ArdourCanvas::SimpleRect* canvas_rect; /* frame around the whole thing */ diff --git a/gtk2_ardour/theme_manager.cc b/gtk2_ardour/theme_manager.cc index 9968fa9ea0..3735791eb8 100644 --- a/gtk2_ardour/theme_manager.cc +++ b/gtk2_ardour/theme_manager.cc @@ -31,6 +31,7 @@ #include <ardour/configuration.h> #include <ardour/filesystem_paths.h> +#include <ardour/profile.h> #include "theme_manager.h" #include "rgb_macros.h" @@ -207,12 +208,29 @@ load_rc_file (const string& filename, bool themechange) Gtkmm2ext::UI::instance()->load_rcfile (rc_file_path.to_string(), themechange); } +/* hmm, this is a problem. the profile doesn't + exist when the theme manager is constructed + and toggles buttons during "normal" GTK setup. + + a better solution will be to make all Profile + methods static or something. + + XXX FIX ME +*/ + +#define HACK_PROFILE_IS_SAE() (getenv("ARDOUR_SAE")!=0) + void ThemeManager::on_dark_theme_button_toggled() { if (!dark_button.get_active()) return; - ARDOUR_UI::config()->ui_rc_file.set("ardour3_ui_dark.rc"); + if (HACK_PROFILE_IS_SAE()){ + ARDOUR_UI::config()->ui_rc_file.set("ardour3_ui_dark_sae.rc"); + } else { + ARDOUR_UI::config()->ui_rc_file.set("ardour3_ui_dark.rc"); + } + load_rc_file (ARDOUR_UI::config()->ui_rc_file.get(), true); } @@ -221,7 +239,12 @@ ThemeManager::on_light_theme_button_toggled() { if (!light_button.get_active()) return; - ARDOUR_UI::config()->ui_rc_file.set("ardour3_ui_light.rc"); + if (HACK_PROFILE_IS_SAE()){ + ARDOUR_UI::config()->ui_rc_file.set("ardour3_ui_light_sae.rc"); + } else { + ARDOUR_UI::config()->ui_rc_file.set("ardour3_ui_light.rc"); + } + load_rc_file (ARDOUR_UI::config()->ui_rc_file.get(), true); } @@ -258,9 +281,9 @@ ThemeManager::setup_theme () rcfile = ARDOUR_UI::config()->ui_rc_file.get(); } - if (rcfile == "ardour3_ui_dark.rc") { + if (rcfile == "ardour3_ui_dark.rc" || rcfile == "ardour3_ui_dark_sae.rc") { dark_button.set_active(); - } else if (rcfile == "ardour3_ui_light.rc") { + } else if (rcfile == "ardour3_ui_light.rc" || "ardour3_ui_light_sae.rc") { light_button.set_active(); } diff --git a/gtk2_ardour/time_axis_view.cc b/gtk2_ardour/time_axis_view.cc index 1887c6d7ea..7da878b9f3 100644 --- a/gtk2_ardour/time_axis_view.cc +++ b/gtk2_ardour/time_axis_view.cc @@ -1,922 +1,935 @@ -/* - Copyright (C) 2000 Paul Davis - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. - -*/ - -#include <cstdlib> -#include <cmath> -#include <algorithm> -#include <string> -#include <list> - -#include <libgnomecanvasmm.h> -#include <libgnomecanvasmm/canvas.h> -#include <libgnomecanvasmm/item.h> - -#include <pbd/error.h> - -#include <gtkmm2ext/utils.h> -#include <gtkmm2ext/selector.h> -#include <gtkmm2ext/stop_signal.h> - -#include <ardour/session.h> -#include <ardour/utils.h> -#include <ardour/ladspa_plugin.h> -#include <ardour/processor.h> -#include <ardour/location.h> - -#include "ardour_ui.h" -#include "public_editor.h" -#include "time_axis_view.h" -#include "region_view.h" -#include "ghostregion.h" -#include "simplerect.h" -#include "simpleline.h" -#include "selection.h" -#include "keyboard.h" -#include "rgb_macros.h" -#include "utils.h" - -#include "i18n.h" - -using namespace Gtk; -using namespace Gdk; -using namespace sigc; -using namespace ARDOUR; -using namespace PBD; -using namespace Editing; -using namespace ArdourCanvas; - -const double trim_handle_size = 6.0; /* pixels */ - -uint32_t TimeAxisView::hLargest = 0; -uint32_t TimeAxisView::hLarge = 0; -uint32_t TimeAxisView::hLarger = 0; -uint32_t TimeAxisView::hNormal = 0; -uint32_t TimeAxisView::hSmaller = 0; -uint32_t TimeAxisView::hSmall = 0; -bool TimeAxisView::need_size_info = true; - -TimeAxisView::TimeAxisView (ARDOUR::Session& sess, PublicEditor& ed, TimeAxisView* rent, Canvas& canvas) - : AxisView (sess), - editor (ed), - y_position(0), - order(0), - controls_table (2, 8) -{ - if (need_size_info) { - compute_controls_size_info (); - need_size_info = false; - } - - canvas_display = new Group (*ed.get_trackview_group (), 0.0, 0.0); - - ghost_group = new Group (*canvas_display); - ghost_group->lower_to_bottom(); - ghost_group->show(); - - selection_group = new Group (*canvas_display); - selection_group->hide(); - - control_parent = 0; - display_menu = 0; - size_menu = 0; - _hidden = false; - in_destructor = false; - height = 0; - effective_height = 0; - parent = rent; - _has_state = false; - last_name_entry_key_press_event = 0; - name_packing = NamePackingBits (0); - resize_drag_start = -1; - - /* - Create the standard LHS Controls - We create the top-level container and name add the name label here, - subclasses can add to the layout as required - */ - - name_entry.set_name ("EditorTrackNameDisplay"); - name_entry.signal_button_release_event().connect (mem_fun (*this, &TimeAxisView::name_entry_button_release)); - name_entry.signal_button_press_event().connect (mem_fun (*this, &TimeAxisView::name_entry_button_press)); - name_entry.signal_key_release_event().connect (mem_fun (*this, &TimeAxisView::name_entry_key_release)); - name_entry.signal_activate().connect (mem_fun(*this, &TimeAxisView::name_entry_activated)); - name_entry.signal_focus_in_event().connect (mem_fun (*this, &TimeAxisView::name_entry_focus_in)); - name_entry.signal_focus_out_event().connect (mem_fun (*this, &TimeAxisView::name_entry_focus_out)); - Gtkmm2ext::set_size_request_to_display_given_text (name_entry, N_("gTortnam"), 10, 10); // just represents a short name - - name_label.set_name ("TrackLabel"); - name_label.set_alignment (0.0, 0.5); - - /* typically, either name_label OR name_entry are visible, - but not both. its up to derived classes to show/hide them as they - wish. - */ - - name_hbox.show (); - - controls_table.set_border_width (2); - controls_table.set_row_spacings (0); - controls_table.set_col_spacings (0); - controls_table.set_homogeneous (true); - - controls_table.attach (name_hbox, 0, 5, 0, 1, Gtk::FILL|Gtk::EXPAND, Gtk::FILL|Gtk::EXPAND, 3, 0); - controls_table.show_all (); - controls_table.set_no_show_all (); - - resizer.set_size_request (10, 10); - resizer.set_name ("ResizeHandle"); - resizer.signal_expose_event().connect (mem_fun (*this, &TimeAxisView::resizer_expose)); - resizer.signal_button_press_event().connect (mem_fun (*this, &TimeAxisView::resizer_button_press)); - resizer.signal_button_release_event().connect (mem_fun (*this, &TimeAxisView::resizer_button_release)); - resizer.signal_motion_notify_event().connect (mem_fun (*this, &TimeAxisView::resizer_motion)); - resizer.set_events (Gdk::BUTTON_PRESS_MASK| - Gdk::BUTTON_RELEASE_MASK| - Gdk::POINTER_MOTION_MASK| - Gdk::SCROLL_MASK); - - resizer_box.pack_start (resizer, false, false); - resizer.show (); - resizer_box.show(); - - HSeparator* separator = manage (new HSeparator()); - - controls_vbox.pack_start (controls_table, false, false); - controls_vbox.pack_end (*separator, false, false); - controls_vbox.pack_end (resizer_box, false, true); - controls_vbox.show (); - - //controls_ebox.set_name ("TimeAxisViewControlsBaseUnselected"); - controls_ebox.add (controls_vbox); - controls_ebox.add_events (BUTTON_PRESS_MASK|BUTTON_RELEASE_MASK|SCROLL_MASK); - controls_ebox.set_flags (CAN_FOCUS); - - controls_ebox.signal_button_release_event().connect (mem_fun (*this, &TimeAxisView::controls_ebox_button_release)); - controls_ebox.signal_scroll_event().connect (mem_fun (*this, &TimeAxisView::controls_ebox_scroll), true); - - controls_hbox.pack_start (controls_ebox,true,true); - controls_hbox.show (); - - // controls_frame.add (controls_hbox); - // controls_frame.set_name ("TimeAxisViewControlsBaseUnselected"); - // controls_vbox.set_name ("TimeAxisViewControlsBaseUnselected"); - // controls_frame.set_shadow_type (Gtk::SHADOW_ETCHED_OUT); - - ColorsChanged.connect (mem_fun (*this, &TimeAxisView::color_handler)); -} - -TimeAxisView::~TimeAxisView() -{ - in_destructor = true; - - for (list<GhostRegion*>::iterator i = ghosts.begin(); i != ghosts.end(); ++i) { - delete *i; - } - - for (list<SelectionRect*>::iterator i = free_selection_rects.begin(); i != free_selection_rects.end(); ++i) { - delete (*i)->rect; - delete (*i)->start_trim; - delete (*i)->end_trim; - - } - - for (list<SelectionRect*>::iterator i = used_selection_rects.begin(); i != used_selection_rects.end(); ++i) { - delete (*i)->rect; - delete (*i)->start_trim; - delete (*i)->end_trim; - } - - for (list<SimpleLine*>::iterator i = feature_lines.begin(); i != feature_lines.end(); ++i) { - delete (*i); - } - - if (selection_group) { - delete selection_group; - selection_group = 0; - } - - if (canvas_display) { - delete canvas_display; - canvas_display = 0; - } - - if (display_menu) { - delete display_menu; - display_menu = 0; - } -} - -guint32 -TimeAxisView::show_at (double y, int& nth, VBox *parent) -{ - if (control_parent) { - control_parent->reorder_child (controls_hbox, nth); - } else { - control_parent = parent; - parent->pack_start (controls_hbox, false, false); - parent->reorder_child (controls_hbox, nth); - } - - order = nth; - - if (y_position != y) { - canvas_display->property_y () = y; - canvas_display->move (0.0, 0.0); - y_position = y; - - } - - canvas_display->raise_to_top (); - - if (_marked_for_display) { - controls_hbox.show (); - controls_ebox.show (); - } - - _hidden = false; - - effective_height = current_height(); - - /* now show children */ - - for (Children::iterator i = children.begin(); i != children.end(); ++i) { - if (canvas_item_visible ((*i)->canvas_display)) { - ++nth; - effective_height += (*i)->show_at (y + effective_height, nth, parent); - } - } - - return effective_height; -} - -void -TimeAxisView::clip_to_viewport () -{ - if (_marked_for_display) { - if (y_position + effective_height < editor.get_trackview_group_vertical_offset () || y_position > editor.get_trackview_group_vertical_offset () + canvas_display->get_canvas()->get_height()) { - canvas_display->hide (); - return; - } - canvas_display->show (); - } - return; -} - -bool -TimeAxisView::controls_ebox_scroll (GdkEventScroll* ev) -{ - switch (ev->direction) { - case GDK_SCROLL_UP: - if (Keyboard::modifier_state_equals (ev->state, Keyboard::TertiaryModifier)) { - step_height (true); - return true; - } else if (Keyboard::no_modifiers_active (ev->state)) { - editor.scroll_tracks_up_line(); - return true; - } - break; - - case GDK_SCROLL_DOWN: - if (Keyboard::modifier_state_equals (ev->state, Keyboard::TertiaryModifier)) { - step_height (false); - return true; - } else if (Keyboard::no_modifiers_active (ev->state)) { - editor.scroll_tracks_down_line(); - return true; - } - break; - - default: - /* no handling for left/right, yet */ - break; - } - - return false; -} - -bool -TimeAxisView::controls_ebox_button_release (GdkEventButton* ev) -{ - switch (ev->button) { - case 1: - selection_click (ev); - break; - - case 3: - popup_display_menu (ev->time); - break; - } - - return true; -} - -void -TimeAxisView::selection_click (GdkEventButton* ev) -{ - Selection::Operation op = Keyboard::selection_type (ev->state); - editor.set_selected_track (*this, op, false); -} - -void -TimeAxisView::hide () -{ - if (_hidden) { - return; - } - - canvas_display->hide(); - controls_hbox.hide (); - - if (control_parent) { - control_parent->remove (controls_hbox); - control_parent = 0; - } - - y_position = -1; - _hidden = true; - - /* now hide children */ - - for (Children::iterator i = children.begin(); i != children.end(); ++i) { - (*i)->hide (); - } - - /* if its hidden, it cannot be selected */ - - editor.get_selection().remove (this); - - Hiding (); -} - -void -TimeAxisView::step_height (bool bigger) -{ - static const uint32_t step = 20; - - if (bigger) { - set_height (height + step); - } else { - if (height > step) { - set_height (std::max (height - step, hSmall)); - } else if (height != hSmall) { - set_height (hSmall); - } - } -} - -void -TimeAxisView::set_heights (uint32_t h) -{ - TrackSelection& ts (editor.get_selection().tracks); - - for (TrackSelection::iterator i = ts.begin(); i != ts.end(); ++i) { - (*i)->set_height (h); - } -} - -void -TimeAxisView::set_height(uint32_t h) -{ - controls_ebox.property_height_request () = h; - height = h; - - for (list<GhostRegion*>::iterator i = ghosts.begin(); i != ghosts.end(); ++i) { - (*i)->set_height (); - } - - if (canvas_item_visible (selection_group)) { - /* resize the selection rect */ - show_selection (editor.get_selection().time); - } - - reshow_feature_lines (); -} - -bool -TimeAxisView::name_entry_key_release (GdkEventKey* ev) -{ - PublicEditor::TrackViewList *allviews = 0; - PublicEditor::TrackViewList::iterator i; - - switch (ev->keyval) { - case GDK_Escape: - name_entry.select_region (0,0); - controls_ebox.grab_focus (); - name_entry_changed (); - return true; - - /* Shift+Tab Keys Pressed. Note that for Shift+Tab, GDK actually - * generates a different ev->keyval, rather than setting - * ev->state. + /* + Copyright (C) 2000 Paul Davis + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + + */ + + #include <cstdlib> + #include <cmath> + #include <algorithm> + #include <string> + #include <list> + + #include <libgnomecanvasmm.h> + #include <libgnomecanvasmm/canvas.h> + #include <libgnomecanvasmm/item.h> + + #include <pbd/error.h> + + #include <gtkmm2ext/utils.h> + #include <gtkmm2ext/selector.h> + #include <gtkmm2ext/stop_signal.h> + + #include <ardour/session.h> + #include <ardour/utils.h> + #include <ardour/ladspa_plugin.h> + #include <ardour/processor.h> + #include <ardour/location.h> + + #include "ardour_ui.h" + #include "public_editor.h" + #include "time_axis_view.h" + #include "region_view.h" + #include "ghostregion.h" + #include "simplerect.h" + #include "simpleline.h" + #include "selection.h" + #include "keyboard.h" + #include "rgb_macros.h" + #include "utils.h" + + #include "i18n.h" + + using namespace Gtk; + using namespace Gdk; + using namespace sigc; + using namespace ARDOUR; + using namespace PBD; + using namespace Editing; + using namespace ArdourCanvas; + + const double trim_handle_size = 6.0; /* pixels */ + + uint32_t TimeAxisView::hLargest = 0; + uint32_t TimeAxisView::hLarge = 0; + uint32_t TimeAxisView::hLarger = 0; + uint32_t TimeAxisView::hNormal = 0; + uint32_t TimeAxisView::hSmaller = 0; + uint32_t TimeAxisView::hSmall = 0; + bool TimeAxisView::need_size_info = true; + + TimeAxisView::TimeAxisView (ARDOUR::Session& sess, PublicEditor& ed, TimeAxisView* rent, Canvas& canvas) + : AxisView (sess), + editor (ed), + y_position(0), + order(0), + controls_table (2, 8) + { + if (need_size_info) { + compute_controls_size_info (); + need_size_info = false; + } + canvas_background = new Group (*ed.get_background_group (), 0.0, 0.0); + canvas_display = new Group (*ed.get_trackview_group (), 0.0, 0.0); + + selection_group = new Group (*canvas_display); + selection_group->hide(); + + ghost_group = new Group (*canvas_display); + ghost_group->lower_to_bottom(); + ghost_group->show(); + + control_parent = 0; + display_menu = 0; + size_menu = 0; + _hidden = false; + in_destructor = false; + height = 0; + effective_height = 0; + parent = rent; + _has_state = false; + last_name_entry_key_press_event = 0; + name_packing = NamePackingBits (0); + resize_drag_start = -1; + + /* + Create the standard LHS Controls + We create the top-level container and name add the name label here, + subclasses can add to the layout as required */ - case GDK_ISO_Left_Tab: - case GDK_Tab: - name_entry_changed (); - allviews = editor.get_valid_views (0); - if (allviews != 0) { - i = find (allviews->begin(), allviews->end(), this); - if (ev->keyval == GDK_Tab) { - if (i != allviews->end()) { - do { - if (++i == allviews->end()) { return true; } - } while((*i)->hidden()); - } - } else { - if (i != allviews->begin()) { - do { - if (--i == allviews->begin()) { return true; } - } while ((*i)->hidden()); - } - } - - - /* resize to show editable name display */ - - if ((*i)->current_height() >= hSmall && (*i)->current_height() < hNormal) { - (*i)->set_height (hSmaller); - } - - (*i)->name_entry.grab_focus(); - } - return true; - case GDK_Up: - case GDK_Down: - name_entry_changed (); - return true; - - default: - break; - } - -#ifdef TIMEOUT_NAME_EDIT - /* adapt the timeout to reflect the user's typing speed */ - - guint32 name_entry_timeout; - - if (last_name_entry_key_press_event) { - /* timeout is 1/2 second or 5 times their current inter-char typing speed */ - name_entry_timeout = std::max (500U, (5 * (ev->time - last_name_entry_key_press_event))); - } else { - /* start with a 1 second timeout */ - name_entry_timeout = 1000; - } - - last_name_entry_key_press_event = ev->time; - - /* wait 1 seconds and if no more keys are pressed, act as if they pressed enter */ - - name_entry_key_timeout.disconnect(); - name_entry_key_timeout = Glib::signal_timeout().connect (mem_fun (*this, &TimeAxisView::name_entry_key_timed_out), name_entry_timeout); -#endif - - return false; -} - -bool -TimeAxisView::name_entry_focus_in (GdkEventFocus* ev) -{ - name_entry.select_region (0, -1); - name_entry.set_name ("EditorActiveTrackNameDisplay"); - return false; -} - -bool -TimeAxisView::name_entry_focus_out (GdkEventFocus* ev) -{ - /* clean up */ - - last_name_entry_key_press_event = 0; - name_entry_key_timeout.disconnect (); - name_entry.set_name ("EditorTrackNameDisplay"); - name_entry.select_region (0,0); - - /* do the real stuff */ - - name_entry_changed (); - - return false; -} - -bool -TimeAxisView::name_entry_key_timed_out () -{ - name_entry_activated(); - return false; -} - -void -TimeAxisView::name_entry_activated () -{ - controls_ebox.grab_focus(); -} - -void -TimeAxisView::name_entry_changed () -{ -} - -bool -TimeAxisView::name_entry_button_press (GdkEventButton *ev) -{ - if (ev->button == 3) { - return true; - } - return false; -} - -bool -TimeAxisView::name_entry_button_release (GdkEventButton *ev) -{ - if (ev->button == 3) { - popup_display_menu (ev->time); - return true; - } - return false; -} - -void -TimeAxisView::conditionally_add_to_selection () -{ - Selection& s (editor.get_selection()); - - if (!s.selected (this)) { - editor.set_selected_track (*this, Selection::Set); - } -} - -void -TimeAxisView::popup_display_menu (guint32 when) -{ - if (display_menu == 0) { - build_display_menu (); - } - - conditionally_add_to_selection (); - display_menu->popup (1, when); -} - -gint -TimeAxisView::size_click (GdkEventButton *ev) -{ - conditionally_add_to_selection (); - popup_size_menu (ev->time); - return TRUE; -} - -void -TimeAxisView::popup_size_menu (guint32 when) -{ - if (size_menu == 0) { - build_size_menu (); - } - size_menu->popup (1, when); -} - -void -TimeAxisView::set_selected (bool yn) -{ - if (yn == _selected) { - return; - } - - Selectable::set_selected (yn); - - if (_selected) { - controls_ebox.set_name (controls_base_selected_name); - controls_hbox.set_name (controls_base_selected_name); - controls_vbox.set_name (controls_base_selected_name); - /* propagate any existing selection, if the mode is right */ - - if (editor.current_mouse_mode() == Editing::MouseRange && !editor.get_selection().time.empty()) { - show_selection (editor.get_selection().time); - } - - } else { - controls_ebox.set_name (controls_base_unselected_name); - controls_hbox.set_name (controls_base_unselected_name); - controls_vbox.set_name (controls_base_unselected_name); - hide_selection (); - - /* children will be set for the yn=true case. but when deselecting - the editor only has a list of top-level trackviews, so we - have to do this here. - */ - - for (Children::iterator i = children.begin(); i != children.end(); ++i) { - (*i)->set_selected (false); - } - } - - resizer.queue_draw (); -} - -void -TimeAxisView::build_size_menu () -{ - using namespace Menu_Helpers; - - size_menu = new Menu; - size_menu->set_name ("ArdourContextMenu"); - MenuList& items = size_menu->items(); - - items.push_back (MenuElem (_("Largest"), bind (mem_fun (*this, &TimeAxisView::set_heights), hLargest))); - items.push_back (MenuElem (_("Large"), bind (mem_fun (*this, &TimeAxisView::set_heights), hLarge))); - items.push_back (MenuElem (_("Larger"), bind (mem_fun (*this, &TimeAxisView::set_heights), hLarger))); - items.push_back (MenuElem (_("Normal"), bind (mem_fun (*this, &TimeAxisView::set_heights), hNormal))); - items.push_back (MenuElem (_("Smaller"), bind (mem_fun (*this, &TimeAxisView::set_heights),hSmaller))); - items.push_back (MenuElem (_("Small"), bind (mem_fun (*this, &TimeAxisView::set_heights), hSmall))); -} - -void -TimeAxisView::build_display_menu () -{ - using namespace Menu_Helpers; - - display_menu = new Menu; - display_menu->set_name ("ArdourContextMenu"); - - // Just let implementing classes define what goes into the manu -} - -void -TimeAxisView::set_samples_per_unit (double spu) -{ - for (Children::iterator i = children.begin(); i != children.end(); ++i) { - (*i)->set_samples_per_unit (spu); - } - - AnalysisFeatureList::const_iterator i; - list<ArdourCanvas::SimpleLine*>::iterator l; - - for (i = analysis_features.begin(), l = feature_lines.begin(); i != analysis_features.end() && l != feature_lines.end(); ++i, ++l) { - (*l)->property_x1() = editor.frame_to_pixel (*i); - (*l)->property_x2() = editor.frame_to_pixel (*i); - } -} - -void -TimeAxisView::show_timestretch (nframes_t start, nframes_t end) -{ - for (Children::iterator i = children.begin(); i != children.end(); ++i) { - (*i)->show_timestretch (start, end); - } -} - -void -TimeAxisView::hide_timestretch () -{ - for (Children::iterator i = children.begin(); i != children.end(); ++i) { - (*i)->hide_timestretch (); - } -} - -void -TimeAxisView::show_selection (TimeSelection& ts) -{ - double x1; - double x2; - double y2; - SelectionRect *rect; - - for (Children::iterator i = children.begin(); i != children.end(); ++i) { - (*i)->show_selection (ts); - } - - if (canvas_item_visible (selection_group)) { - while (!used_selection_rects.empty()) { - free_selection_rects.push_front (used_selection_rects.front()); - used_selection_rects.pop_front(); - free_selection_rects.front()->rect->hide(); - free_selection_rects.front()->start_trim->hide(); - free_selection_rects.front()->end_trim->hide(); - } - selection_group->hide(); - } - - selection_group->show(); - selection_group->raise_to_top(); - - for (list<AudioRange>::iterator i = ts.begin(); i != ts.end(); ++i) { - nframes_t start, end, cnt; - - start = (*i).start; - end = (*i).end; - cnt = end - start + 1; - - rect = get_selection_rect ((*i).id); - - x1 = editor.frame_to_unit (start); - x2 = editor.frame_to_unit (start + cnt - 1); - y2 = current_height(); - - rect->rect->property_x1() = x1; - rect->rect->property_y1() = 1.0; - rect->rect->property_x2() = x2; - rect->rect->property_y2() = y2; - - // trim boxes are at the top for selections - - if (x2 > x1) { - rect->start_trim->property_x1() = x1; - rect->start_trim->property_y1() = 1.0; - rect->start_trim->property_x2() = x1 + trim_handle_size; - rect->start_trim->property_y2() = 1.0 + trim_handle_size; - - rect->end_trim->property_x1() = x2 - trim_handle_size; - rect->end_trim->property_y1() = 1.0; - rect->end_trim->property_x2() = x2; - rect->end_trim->property_y2() = 1.0 + trim_handle_size; - - rect->start_trim->show(); - rect->end_trim->show(); - } else { - rect->start_trim->hide(); - rect->end_trim->hide(); - } - - rect->rect->show (); - used_selection_rects.push_back (rect); - } -} - -void -TimeAxisView::reshow_selection (TimeSelection& ts) -{ - show_selection (ts); - - for (Children::iterator i = children.begin(); i != children.end(); ++i) { - (*i)->show_selection (ts); - } -} - -void -TimeAxisView::hide_selection () -{ - if (canvas_item_visible (selection_group)) { - while (!used_selection_rects.empty()) { - free_selection_rects.push_front (used_selection_rects.front()); - used_selection_rects.pop_front(); - free_selection_rects.front()->rect->hide(); - free_selection_rects.front()->start_trim->hide(); - free_selection_rects.front()->end_trim->hide(); - } - selection_group->hide(); - } - - for (Children::iterator i = children.begin(); i != children.end(); ++i) { - (*i)->hide_selection (); - } -} - -void -TimeAxisView::order_selection_trims (ArdourCanvas::Item *item, bool put_start_on_top) -{ - /* find the selection rect this is for. we have the item corresponding to one - of the trim handles. + name_entry.set_name ("EditorTrackNameDisplay"); + name_entry.signal_button_release_event().connect (mem_fun (*this, &TimeAxisView::name_entry_button_release)); + name_entry.signal_button_press_event().connect (mem_fun (*this, &TimeAxisView::name_entry_button_press)); + name_entry.signal_key_release_event().connect (mem_fun (*this, &TimeAxisView::name_entry_key_release)); + name_entry.signal_activate().connect (mem_fun(*this, &TimeAxisView::name_entry_activated)); + name_entry.signal_focus_in_event().connect (mem_fun (*this, &TimeAxisView::name_entry_focus_in)); + name_entry.signal_focus_out_event().connect (mem_fun (*this, &TimeAxisView::name_entry_focus_out)); + Gtkmm2ext::set_size_request_to_display_given_text (name_entry, N_("gTortnam"), 10, 10); // just represents a short name + + name_label.set_name ("TrackLabel"); + name_label.set_alignment (0.0, 0.5); + + /* typically, either name_label OR name_entry are visible, + but not both. its up to derived classes to show/hide them as they + wish. */ - for (list<SelectionRect*>::iterator i = used_selection_rects.begin(); i != used_selection_rects.end(); ++i) { - if ((*i)->start_trim == item || (*i)->end_trim == item) { - - /* make one trim handle be "above" the other so that if they overlap, - the top one is the one last used. - */ - - (*i)->rect->raise_to_top (); - (put_start_on_top ? (*i)->start_trim : (*i)->end_trim)->raise_to_top (); - (put_start_on_top ? (*i)->end_trim : (*i)->start_trim)->raise_to_top (); - - break; - } - } -} - -SelectionRect * -TimeAxisView::get_selection_rect (uint32_t id) -{ - SelectionRect *rect; - - /* check to see if we already have a visible rect for this particular selection ID */ - - for (list<SelectionRect*>::iterator i = used_selection_rects.begin(); i != used_selection_rects.end(); ++i) { - if ((*i)->id == id) { - return (*i); - } - } - - /* ditto for the free rect list */ - - for (list<SelectionRect*>::iterator i = free_selection_rects.begin(); i != free_selection_rects.end(); ++i) { - if ((*i)->id == id) { - SelectionRect* ret = (*i); - free_selection_rects.erase (i); - return ret; - } - } - - /* no existing matching rect, so go get a new one from the free list, or create one if there are none */ - - if (free_selection_rects.empty()) { - - rect = new SelectionRect; - - rect->rect = new SimpleRect (*selection_group); - rect->rect->property_x1() = 0.0; - rect->rect->property_y1() = 0.0; - rect->rect->property_x2() = 0.0; - rect->rect->property_y2() = 0.0; - rect->rect->property_fill_color_rgba() = ARDOUR_UI::config()->canvasvar_SelectionRect.get(); - rect->rect->property_outline_color_rgba() = ARDOUR_UI::config()->canvasvar_Selection.get(); - - rect->start_trim = new SimpleRect (*selection_group); - rect->start_trim->property_x1() = 0.0; - rect->start_trim->property_x2() = 0.0; - rect->start_trim->property_fill_color_rgba() = ARDOUR_UI::config()->canvasvar_Selection.get(); - rect->start_trim->property_outline_color_rgba() = ARDOUR_UI::config()->canvasvar_Selection.get(); - - rect->end_trim = new SimpleRect (*selection_group); - rect->end_trim->property_x1() = 0.0; - rect->end_trim->property_x2() = 0.0; - rect->end_trim->property_fill_color_rgba() = ARDOUR_UI::config()->canvasvar_Selection.get(); - rect->end_trim->property_outline_color_rgba() = ARDOUR_UI::config()->canvasvar_Selection.get(); - - free_selection_rects.push_front (rect); - - rect->rect->signal_event().connect (bind (mem_fun (editor, &PublicEditor::canvas_selection_rect_event), rect->rect, rect)); - rect->start_trim->signal_event().connect (bind (mem_fun (editor, &PublicEditor::canvas_selection_start_trim_event), rect->rect, rect)); - rect->end_trim->signal_event().connect (bind (mem_fun (editor, &PublicEditor::canvas_selection_end_trim_event), rect->rect, rect)); - } - - rect = free_selection_rects.front(); - rect->id = id; - free_selection_rects.pop_front(); - return rect; -} - -struct null_deleter { void operator()(void const *) const {} }; - -bool -TimeAxisView::is_child (TimeAxisView* tav) -{ - return find (children.begin(), children.end(), boost::shared_ptr<TimeAxisView>(tav, null_deleter())) != children.end(); -} - -void -TimeAxisView::add_child (boost::shared_ptr<TimeAxisView> child) -{ - children.push_back (child); -} - -void -TimeAxisView::remove_child (boost::shared_ptr<TimeAxisView> child) -{ - Children::iterator i; - - if ((i = find (children.begin(), children.end(), child)) != children.end()) { - children.erase (i); - } -} - -void -TimeAxisView::get_selectables (nframes_t start, nframes_t end, double top, double bot, list<Selectable*>& result) -{ - return; -} - -void -TimeAxisView::get_inverted_selectables (Selection& sel, list<Selectable*>& result) -{ - return; -} - -void -TimeAxisView::add_ghost (RegionView* rv) { - GhostRegion* gr = rv->add_ghost (*this); - - if(gr) { - ghosts.push_back(gr); - gr->GoingAway.connect (mem_fun(*this, &TimeAxisView::erase_ghost)); - } -} - -void -TimeAxisView::remove_ghost (RegionView* rv) { + name_hbox.show (); + + controls_table.set_border_width (2); + controls_table.set_row_spacings (0); + controls_table.set_col_spacings (0); + controls_table.set_homogeneous (true); + + controls_table.attach (name_hbox, 0, 5, 0, 1, Gtk::FILL|Gtk::EXPAND, Gtk::FILL|Gtk::EXPAND, 3, 0); + controls_table.show_all (); + controls_table.set_no_show_all (); + + resizer.set_size_request (10, 10); + resizer.set_name ("ResizeHandle"); + resizer.signal_expose_event().connect (mem_fun (*this, &TimeAxisView::resizer_expose)); + resizer.signal_button_press_event().connect (mem_fun (*this, &TimeAxisView::resizer_button_press)); + resizer.signal_button_release_event().connect (mem_fun (*this, &TimeAxisView::resizer_button_release)); + resizer.signal_motion_notify_event().connect (mem_fun (*this, &TimeAxisView::resizer_motion)); + resizer.set_events (Gdk::BUTTON_PRESS_MASK| + Gdk::BUTTON_RELEASE_MASK| + Gdk::POINTER_MOTION_MASK| + Gdk::SCROLL_MASK); + + resizer_box.pack_start (resizer, false, false); + resizer.show (); + resizer_box.show(); + + HSeparator* separator = manage (new HSeparator()); + + controls_vbox.pack_start (controls_table, false, false); + controls_vbox.pack_end (*separator, false, false); + controls_vbox.pack_end (resizer_box, false, true); + controls_vbox.show (); + + //controls_ebox.set_name ("TimeAxisViewControlsBaseUnselected"); + controls_ebox.add (controls_vbox); + controls_ebox.add_events (BUTTON_PRESS_MASK|BUTTON_RELEASE_MASK|SCROLL_MASK); + controls_ebox.set_flags (CAN_FOCUS); + + controls_ebox.signal_button_release_event().connect (mem_fun (*this, &TimeAxisView::controls_ebox_button_release)); + controls_ebox.signal_scroll_event().connect (mem_fun (*this, &TimeAxisView::controls_ebox_scroll), true); + + controls_hbox.pack_start (controls_ebox,true,true); + controls_hbox.show (); + + // controls_frame.add (controls_hbox); + // controls_frame.set_name ("TimeAxisViewControlsBaseUnselected"); + // controls_vbox.set_name ("TimeAxisViewControlsBaseUnselected"); + // controls_frame.set_shadow_type (Gtk::SHADOW_ETCHED_OUT); + + ColorsChanged.connect (mem_fun (*this, &TimeAxisView::color_handler)); + } + + TimeAxisView::~TimeAxisView() + { + in_destructor = true; + + for (list<GhostRegion*>::iterator i = ghosts.begin(); i != ghosts.end(); ++i) { + delete *i; + } + + for (list<SelectionRect*>::iterator i = free_selection_rects.begin(); i != free_selection_rects.end(); ++i) { + delete (*i)->rect; + delete (*i)->start_trim; + delete (*i)->end_trim; + + } + + for (list<SelectionRect*>::iterator i = used_selection_rects.begin(); i != used_selection_rects.end(); ++i) { + delete (*i)->rect; + delete (*i)->start_trim; + delete (*i)->end_trim; + } + + for (list<SimpleLine*>::iterator i = feature_lines.begin(); i != feature_lines.end(); ++i) { + delete (*i); + } + + if (selection_group) { + delete selection_group; + selection_group = 0; + } + + if (canvas_background) { + delete canvas_background; + canvas_background = 0; + } + + if (canvas_display) { + delete canvas_display; + canvas_display = 0; + } + + if (display_menu) { + delete display_menu; + display_menu = 0; + } + } + + guint32 + TimeAxisView::show_at (double y, int& nth, VBox *parent) + { + if (control_parent) { + control_parent->reorder_child (controls_hbox, nth); + } else { + control_parent = parent; + parent->pack_start (controls_hbox, false, false); + parent->reorder_child (controls_hbox, nth); + } + + order = nth; + + if (y_position != y) { + canvas_display->property_y () = y; + canvas_background->property_y () = y; + /* silly canvas */ + canvas_display->move (0.0, 0.0); + canvas_background->move (0.0, 0.0); + y_position = y; + + } + + canvas_background->raise_to_top (); + canvas_display->raise_to_top (); + + if (_marked_for_display) { + controls_hbox.show (); + controls_ebox.show (); + canvas_background->show (); + } + + _hidden = false; + + effective_height = current_height(); + + /* now show children */ + + for (Children::iterator i = children.begin(); i != children.end(); ++i) { + if (canvas_item_visible ((*i)->canvas_display)) { + ++nth; + effective_height += (*i)->show_at (y + effective_height, nth, parent); + } + } + + return effective_height; + } + + void + TimeAxisView::clip_to_viewport () + { + if (_marked_for_display) { + if (y_position + effective_height < editor.get_trackview_group_vertical_offset () || y_position > editor.get_trackview_group_vertical_offset () + canvas_display->get_canvas()->get_height()) { + canvas_background->hide (); + canvas_display->hide (); + return; + } + canvas_background->show(); + canvas_display->show (); + } + return; + } + + bool + TimeAxisView::controls_ebox_scroll (GdkEventScroll* ev) + { + switch (ev->direction) { + case GDK_SCROLL_UP: + if (Keyboard::modifier_state_equals (ev->state, Keyboard::TertiaryModifier)) { + step_height (true); + return true; + } else if (Keyboard::no_modifiers_active (ev->state)) { + editor.scroll_tracks_up_line(); + return true; + } + break; + + case GDK_SCROLL_DOWN: + if (Keyboard::modifier_state_equals (ev->state, Keyboard::TertiaryModifier)) { + step_height (false); + return true; + } else if (Keyboard::no_modifiers_active (ev->state)) { + editor.scroll_tracks_down_line(); + return true; + } + break; + + default: + /* no handling for left/right, yet */ + break; + } + + return false; + } + + bool + TimeAxisView::controls_ebox_button_release (GdkEventButton* ev) + { + switch (ev->button) { + case 1: + selection_click (ev); + break; + + case 3: + popup_display_menu (ev->time); + break; + } + + return true; + } + + void + TimeAxisView::selection_click (GdkEventButton* ev) + { + Selection::Operation op = Keyboard::selection_type (ev->state); + editor.set_selected_track (*this, op, false); + } + + void + TimeAxisView::hide () + { + if (_hidden) { + return; + } + + canvas_display->hide(); + canvas_background->hide(); + controls_frame.hide (); + + if (control_parent) { + control_parent->remove (controls_hbox); + control_parent = 0; + } + + y_position = -1; + _hidden = true; + + /* now hide children */ + + for (Children::iterator i = children.begin(); i != children.end(); ++i) { + (*i)->hide (); + } + + /* if its hidden, it cannot be selected */ + + editor.get_selection().remove (this); + + Hiding (); + } + + void + TimeAxisView::step_height (bool bigger) + { + static const uint32_t step = 20; + + if (bigger) { + set_height (height + step); + } else { + if (height > step) { + set_height (std::max (height - step, hSmall)); + } else if (height != hSmall) { + set_height (hSmall); + } + } + } + + void + TimeAxisView::set_heights (uint32_t h) + { + TrackSelection& ts (editor.get_selection().tracks); + + for (TrackSelection::iterator i = ts.begin(); i != ts.end(); ++i) { + (*i)->set_height (h); + } + } + + void + TimeAxisView::set_height(uint32_t h) + { + controls_ebox.property_height_request () = h; + height = h; + + for (list<GhostRegion*>::iterator i = ghosts.begin(); i != ghosts.end(); ++i) { + (*i)->set_height (); + } + + if (canvas_item_visible (selection_group)) { + /* resize the selection rect */ + show_selection (editor.get_selection().time); + } + + reshow_feature_lines (); + } + + bool + TimeAxisView::name_entry_key_release (GdkEventKey* ev) + { + PublicEditor::TrackViewList *allviews = 0; + PublicEditor::TrackViewList::iterator i; + + switch (ev->keyval) { + case GDK_Escape: + name_entry.select_region (0,0); + controls_ebox.grab_focus (); + name_entry_changed (); + return true; + + /* Shift+Tab Keys Pressed. Note that for Shift+Tab, GDK actually + * generates a different ev->keyval, rather than setting + * ev->state. + */ + case GDK_ISO_Left_Tab: + case GDK_Tab: + name_entry_changed (); + allviews = editor.get_valid_views (0); + if (allviews != 0) { + i = find (allviews->begin(), allviews->end(), this); + if (ev->keyval == GDK_Tab) { + if (i != allviews->end()) { + do { + if (++i == allviews->end()) { return true; } + } while((*i)->hidden()); + } + } else { + if (i != allviews->begin()) { + do { + if (--i == allviews->begin()) { return true; } + } while ((*i)->hidden()); + } + } + + + /* resize to show editable name display */ + + if ((*i)->current_height() >= hSmall && (*i)->current_height() < hNormal) { + (*i)->set_height (hSmaller); + } + + (*i)->name_entry.grab_focus(); + } + return true; + + case GDK_Up: + case GDK_Down: + name_entry_changed (); + return true; + + default: + break; + } + + #ifdef TIMEOUT_NAME_EDIT + /* adapt the timeout to reflect the user's typing speed */ + + guint32 name_entry_timeout; + + if (last_name_entry_key_press_event) { + /* timeout is 1/2 second or 5 times their current inter-char typing speed */ + name_entry_timeout = std::max (500U, (5 * (ev->time - last_name_entry_key_press_event))); + } else { + /* start with a 1 second timeout */ + name_entry_timeout = 1000; + } + + last_name_entry_key_press_event = ev->time; + + /* wait 1 seconds and if no more keys are pressed, act as if they pressed enter */ + + name_entry_key_timeout.disconnect(); + name_entry_key_timeout = Glib::signal_timeout().connect (mem_fun (*this, &TimeAxisView::name_entry_key_timed_out), name_entry_timeout); + #endif + + return false; + } + + bool + TimeAxisView::name_entry_focus_in (GdkEventFocus* ev) + { + name_entry.select_region (0, -1); + name_entry.set_name ("EditorActiveTrackNameDisplay"); + return false; + } + + bool + TimeAxisView::name_entry_focus_out (GdkEventFocus* ev) + { + /* clean up */ + + last_name_entry_key_press_event = 0; + name_entry_key_timeout.disconnect (); + name_entry.set_name ("EditorTrackNameDisplay"); + name_entry.select_region (0,0); + + /* do the real stuff */ + + name_entry_changed (); + + return false; + } + + bool + TimeAxisView::name_entry_key_timed_out () + { + name_entry_activated(); + return false; + } + + void + TimeAxisView::name_entry_activated () + { + controls_ebox.grab_focus(); + } + + void + TimeAxisView::name_entry_changed () + { + } + + bool + TimeAxisView::name_entry_button_press (GdkEventButton *ev) + { + if (ev->button == 3) { + return true; + } + return false; + } + + bool + TimeAxisView::name_entry_button_release (GdkEventButton *ev) + { + if (ev->button == 3) { + popup_display_menu (ev->time); + return true; + } + return false; + } + + void + TimeAxisView::conditionally_add_to_selection () + { + Selection& s (editor.get_selection()); + + if (!s.selected (this)) { + editor.set_selected_track (*this, Selection::Set); + } + } + + void + TimeAxisView::popup_display_menu (guint32 when) + { + if (display_menu == 0) { + build_display_menu (); + } + + conditionally_add_to_selection (); + display_menu->popup (1, when); + } + + gint + TimeAxisView::size_click (GdkEventButton *ev) + { + conditionally_add_to_selection (); + popup_size_menu (ev->time); + return TRUE; + } + + void + TimeAxisView::popup_size_menu (guint32 when) + { + if (size_menu == 0) { + build_size_menu (); + } + size_menu->popup (1, when); + } + + void + TimeAxisView::set_selected (bool yn) + { + if (yn == _selected) { + return; + } + + Selectable::set_selected (yn); + + if (_selected) { + controls_ebox.set_name (controls_base_selected_name); + controls_hbox.set_name (controls_base_selected_name); + controls_vbox.set_name (controls_base_selected_name); + /* propagate any existing selection, if the mode is right */ + + if (editor.current_mouse_mode() == Editing::MouseRange && !editor.get_selection().time.empty()) { + show_selection (editor.get_selection().time); + } + + } else { + controls_ebox.set_name (controls_base_unselected_name); + controls_hbox.set_name (controls_base_unselected_name); + controls_vbox.set_name (controls_base_unselected_name); + hide_selection (); + + /* children will be set for the yn=true case. but when deselecting + the editor only has a list of top-level trackviews, so we + have to do this here. + */ + + for (Children::iterator i = children.begin(); i != children.end(); ++i) { + (*i)->set_selected (false); + } + } + + resizer.queue_draw (); + } + + void + TimeAxisView::build_size_menu () + { + using namespace Menu_Helpers; + + size_menu = new Menu; + size_menu->set_name ("ArdourContextMenu"); + MenuList& items = size_menu->items(); + + items.push_back (MenuElem (_("Largest"), bind (mem_fun (*this, &TimeAxisView::set_heights), hLargest))); + items.push_back (MenuElem (_("Large"), bind (mem_fun (*this, &TimeAxisView::set_heights), hLarge))); + items.push_back (MenuElem (_("Larger"), bind (mem_fun (*this, &TimeAxisView::set_heights), hLarger))); + items.push_back (MenuElem (_("Normal"), bind (mem_fun (*this, &TimeAxisView::set_heights), hNormal))); + items.push_back (MenuElem (_("Smaller"), bind (mem_fun (*this, &TimeAxisView::set_heights),hSmaller))); + items.push_back (MenuElem (_("Small"), bind (mem_fun (*this, &TimeAxisView::set_heights), hSmall))); + } + + void + TimeAxisView::build_display_menu () + { + using namespace Menu_Helpers; + + display_menu = new Menu; + display_menu->set_name ("ArdourContextMenu"); + + // Just let implementing classes define what goes into the manu + } + + void + TimeAxisView::set_samples_per_unit (double spu) + { + for (Children::iterator i = children.begin(); i != children.end(); ++i) { + (*i)->set_samples_per_unit (spu); + } + + AnalysisFeatureList::const_iterator i; + list<ArdourCanvas::SimpleLine*>::iterator l; + + for (i = analysis_features.begin(), l = feature_lines.begin(); i != analysis_features.end() && l != feature_lines.end(); ++i, ++l) { + (*l)->property_x1() = editor.frame_to_pixel (*i); + (*l)->property_x2() = editor.frame_to_pixel (*i); + } + } + + void + TimeAxisView::show_timestretch (nframes_t start, nframes_t end) + { + for (Children::iterator i = children.begin(); i != children.end(); ++i) { + (*i)->show_timestretch (start, end); + } + } + + void + TimeAxisView::hide_timestretch () + { + for (Children::iterator i = children.begin(); i != children.end(); ++i) { + (*i)->hide_timestretch (); + } + } + + void + TimeAxisView::show_selection (TimeSelection& ts) + { + double x1; + double x2; + double y2; + SelectionRect *rect; + + for (Children::iterator i = children.begin(); i != children.end(); ++i) { + (*i)->show_selection (ts); + } + + if (canvas_item_visible (selection_group)) { + while (!used_selection_rects.empty()) { + free_selection_rects.push_front (used_selection_rects.front()); + used_selection_rects.pop_front(); + free_selection_rects.front()->rect->hide(); + free_selection_rects.front()->start_trim->hide(); + free_selection_rects.front()->end_trim->hide(); + } + selection_group->hide(); + } + + selection_group->show(); + selection_group->raise_to_top(); + + for (list<AudioRange>::iterator i = ts.begin(); i != ts.end(); ++i) { + nframes_t start, end, cnt; + + start = (*i).start; + end = (*i).end; + cnt = end - start + 1; + + rect = get_selection_rect ((*i).id); + + x1 = editor.frame_to_unit (start); + x2 = editor.frame_to_unit (start + cnt - 1); + y2 = current_height(); + + rect->rect->property_x1() = x1; + rect->rect->property_y1() = 1.0; + rect->rect->property_x2() = x2; + rect->rect->property_y2() = y2; + + // trim boxes are at the top for selections + + if (x2 > x1) { + rect->start_trim->property_x1() = x1; + rect->start_trim->property_y1() = 1.0; + rect->start_trim->property_x2() = x1 + trim_handle_size; + rect->start_trim->property_y2() = 1.0 + trim_handle_size; + + rect->end_trim->property_x1() = x2 - trim_handle_size; + rect->end_trim->property_y1() = 1.0; + rect->end_trim->property_x2() = x2; + rect->end_trim->property_y2() = 1.0 + trim_handle_size; + + rect->start_trim->show(); + rect->end_trim->show(); + } else { + rect->start_trim->hide(); + rect->end_trim->hide(); + } + + rect->rect->show (); + used_selection_rects.push_back (rect); + } + } + + void + TimeAxisView::reshow_selection (TimeSelection& ts) + { + show_selection (ts); + + for (Children::iterator i = children.begin(); i != children.end(); ++i) { + (*i)->show_selection (ts); + } + } + + void + TimeAxisView::hide_selection () + { + if (canvas_item_visible (selection_group)) { + while (!used_selection_rects.empty()) { + free_selection_rects.push_front (used_selection_rects.front()); + used_selection_rects.pop_front(); + free_selection_rects.front()->rect->hide(); + free_selection_rects.front()->start_trim->hide(); + free_selection_rects.front()->end_trim->hide(); + } + selection_group->hide(); + } + + for (Children::iterator i = children.begin(); i != children.end(); ++i) { + (*i)->hide_selection (); + } + } + + void + TimeAxisView::order_selection_trims (ArdourCanvas::Item *item, bool put_start_on_top) + { + /* find the selection rect this is for. we have the item corresponding to one + of the trim handles. + */ + + for (list<SelectionRect*>::iterator i = used_selection_rects.begin(); i != used_selection_rects.end(); ++i) { + if ((*i)->start_trim == item || (*i)->end_trim == item) { + + /* make one trim handle be "above" the other so that if they overlap, + the top one is the one last used. + */ + + (*i)->rect->raise_to_top (); + (put_start_on_top ? (*i)->start_trim : (*i)->end_trim)->raise_to_top (); + (put_start_on_top ? (*i)->end_trim : (*i)->start_trim)->raise_to_top (); + + break; + } + } + } + + SelectionRect * + TimeAxisView::get_selection_rect (uint32_t id) + { + SelectionRect *rect; + + /* check to see if we already have a visible rect for this particular selection ID */ + + for (list<SelectionRect*>::iterator i = used_selection_rects.begin(); i != used_selection_rects.end(); ++i) { + if ((*i)->id == id) { + return (*i); + } + } + + /* ditto for the free rect list */ + + for (list<SelectionRect*>::iterator i = free_selection_rects.begin(); i != free_selection_rects.end(); ++i) { + if ((*i)->id == id) { + SelectionRect* ret = (*i); + free_selection_rects.erase (i); + return ret; + } + } + + /* no existing matching rect, so go get a new one from the free list, or create one if there are none */ + + if (free_selection_rects.empty()) { + + rect = new SelectionRect; + + rect->rect = new SimpleRect (*selection_group); + rect->rect->property_x1() = 0.0; + rect->rect->property_y1() = 0.0; + rect->rect->property_x2() = 0.0; + rect->rect->property_y2() = 0.0; + rect->rect->property_fill_color_rgba() = ARDOUR_UI::config()->canvasvar_SelectionRect.get(); + rect->rect->property_outline_color_rgba() = ARDOUR_UI::config()->canvasvar_Selection.get(); + + rect->start_trim = new SimpleRect (*selection_group); + rect->start_trim->property_x1() = 0.0; + rect->start_trim->property_x2() = 0.0; + rect->start_trim->property_fill_color_rgba() = ARDOUR_UI::config()->canvasvar_Selection.get(); + rect->start_trim->property_outline_color_rgba() = ARDOUR_UI::config()->canvasvar_Selection.get(); + + rect->end_trim = new SimpleRect (*selection_group); + rect->end_trim->property_x1() = 0.0; + rect->end_trim->property_x2() = 0.0; + rect->end_trim->property_fill_color_rgba() = ARDOUR_UI::config()->canvasvar_Selection.get(); + rect->end_trim->property_outline_color_rgba() = ARDOUR_UI::config()->canvasvar_Selection.get(); + + free_selection_rects.push_front (rect); + + rect->rect->signal_event().connect (bind (mem_fun (editor, &PublicEditor::canvas_selection_rect_event), rect->rect, rect)); + rect->start_trim->signal_event().connect (bind (mem_fun (editor, &PublicEditor::canvas_selection_start_trim_event), rect->rect, rect)); + rect->end_trim->signal_event().connect (bind (mem_fun (editor, &PublicEditor::canvas_selection_end_trim_event), rect->rect, rect)); + } + + rect = free_selection_rects.front(); + rect->id = id; + free_selection_rects.pop_front(); + return rect; + } + + struct null_deleter { void operator()(void const *) const {} }; + + bool + TimeAxisView::is_child (TimeAxisView* tav) + { + return find (children.begin(), children.end(), boost::shared_ptr<TimeAxisView>(tav, null_deleter())) != children.end(); + } + + void + TimeAxisView::add_child (boost::shared_ptr<TimeAxisView> child) + { + children.push_back (child); + } + + void + TimeAxisView::remove_child (boost::shared_ptr<TimeAxisView> child) + { + Children::iterator i; + + if ((i = find (children.begin(), children.end(), child)) != children.end()) { + children.erase (i); + } + } + + void + TimeAxisView::get_selectables (nframes_t start, nframes_t end, double top, double bot, list<Selectable*>& result) + { + return; + } + + void + TimeAxisView::get_inverted_selectables (Selection& sel, list<Selectable*>& result) + { + return; + } + + void + TimeAxisView::add_ghost (RegionView* rv) { + GhostRegion* gr = rv->add_ghost (*this); + + if(gr) { + ghosts.push_back(gr); + gr->GoingAway.connect (mem_fun(*this, &TimeAxisView::erase_ghost)); + } + } + + void + TimeAxisView::remove_ghost (RegionView* rv) { rv->remove_ghost_in (*this); } diff --git a/gtk2_ardour/time_axis_view.h b/gtk2_ardour/time_axis_view.h index 277e4dba44..8c9576f951 100644 --- a/gtk2_ardour/time_axis_view.h +++ b/gtk2_ardour/time_axis_view.h @@ -104,6 +104,7 @@ class TimeAxisView : public virtual AxisView, public PBD::Stateful uint32_t current_height() const { return height; } + ArdourCanvas::Group *canvas_background; ArdourCanvas::Group *canvas_display; Gtk::VBox *control_parent; diff --git a/gtk2_ardour/time_axis_view_item.cc b/gtk2_ardour/time_axis_view_item.cc index e02117385a..6469017469 100644 --- a/gtk2_ardour/time_axis_view_item.cc +++ b/gtk2_ardour/time_axis_view_item.cc @@ -165,6 +165,7 @@ TimeAxisViewItem::init (const string& it_name, double spu, Gdk::Color& base_colo frame->property_y2() = (double) trackview.current_height(); frame->property_outline_pixels() = 1; frame->property_outline_what() = 0xF; + frame->property_outline_color_rgba() = ARDOUR_UI::config()->canvasvar_TimeAxisFrame.get(); /* by default draw all 4 edges */ @@ -230,12 +231,14 @@ TimeAxisViewItem::init (const string& it_name, double spu, Gdk::Color& base_colo frame_handle_start->property_x2() = (double) TimeAxisViewItem::GRAB_HANDLE_LENGTH; frame_handle_start->property_y1() = (double) 1.0; frame_handle_start->property_y2() = (double) TimeAxisViewItem::GRAB_HANDLE_LENGTH+1; + frame_handle_start->property_outline_color_rgba() = ARDOUR_UI::config()->canvasvar_FrameHandle.get(); frame_handle_end = new ArdourCanvas::SimpleRect (*group); frame_handle_end->property_x1() = (double) (trackview.editor.frame_to_pixel(get_duration())) - (TimeAxisViewItem::GRAB_HANDLE_LENGTH); frame_handle_end->property_x2() = (double) trackview.editor.frame_to_pixel(get_duration()); frame_handle_end->property_y1() = (double) 1; frame_handle_end->property_y2() = (double) TimeAxisViewItem::GRAB_HANDLE_LENGTH + 1; + frame_handle_end->property_outline_color_rgba() = ARDOUR_UI::config()->canvasvar_FrameHandle.get(); } else { frame_handle_start = 0; diff --git a/gtk2_ardour/ui_config.cc b/gtk2_ardour/ui_config.cc index 37a0ade3fe..d7cf0974ab 100644 --- a/gtk2_ardour/ui_config.cc +++ b/gtk2_ardour/ui_config.cc @@ -62,10 +62,17 @@ int UIConfiguration::load_defaults () { int found = 0; + sys::path default_ui_rc_file; - - if ( find_file_in_search_path (ardour_search_path() + system_config_search_path(), - "ardour3_ui_default.conf", default_ui_rc_file) ) + std::string rcfile; + + if (getenv ("ARDOUR_SAE")) { + rcfile = "ardour3_ui_sae.conf"; + } else { + rcfile = "ardour3_ui_default.conf"; + } + if ( !find_file_in_search_path (ardour_search_path() + system_config_search_path(), + rcfile, default_ui_rc_file) ) { XMLTree tree; found = 1; diff --git a/gtk2_ardour/utils.cc b/gtk2_ardour/utils.cc index d083b17a1e..f625ae958e 100644 --- a/gtk2_ardour/utils.cc +++ b/gtk2_ardour/utils.cc @@ -396,7 +396,7 @@ set_color (Gdk::Color& c, int rgb) c.set_rgb((rgb >> 16)*256, ((rgb & 0xff00) >> 8)*256, (rgb & 0xff)*256); } -#ifdef GTKOSX_ARDOUR_EVENTS_PATCH +#ifdef GTKOSX extern "C" { gboolean gdk_quartz_possibly_forward (GdkEvent*); } @@ -408,10 +408,12 @@ key_press_focus_accelerator_handler (Gtk::Window& window, GdkEventKey* ev) GtkWindow* win = window.gobj(); GtkWidget* focus = gtk_window_get_focus (win); bool special_handling_of_unmodified_accelerators = false; + bool allow_activating = true; #undef DEBUG_ACCELERATOR_HANDLING #ifdef DEBUG_ACCELERATOR_HANDLING - bool debug = (getenv ("ARDOUR_DEBUG_ACCELERATOR_HANDLING") != 0); + //bool debug = (getenv ("ARDOUR_DEBUG_ACCELERATOR_HANDLING") != 0); + bool debug=true; #endif if (focus) { if (GTK_IS_ENTRY(focus) || Keyboard::some_magic_widget_has_focus()) { @@ -419,10 +421,21 @@ key_press_focus_accelerator_handler (Gtk::Window& window, GdkEventKey* ev) } } +#ifdef GTKOSX + /* should this be universally true? */ + if (Keyboard::some_magic_widget_has_focus ()) { + allow_activating = false; + } +#endif + #ifdef DEBUG_ACCELERATOR_HANDLING if (debug) { cerr << "Win = " << win << " Key event: code = " << ev->keyval << " state = " << hex << ev->state << dec << " special handling ? " << special_handling_of_unmodified_accelerators + << " magic widget focus ? " + << Keyboard::some_magic_widget_has_focus() + << " allow_activation ? " + << allow_activating << endl; } #endif @@ -469,17 +482,19 @@ key_press_focus_accelerator_handler (Gtk::Window& window, GdkEventKey* ev) uint32_t fakekey = ev->keyval; if (possibly_translate_keyval_to_make_legal_accelerator (fakekey)) { - if (gtk_accel_groups_activate(G_OBJECT(win), fakekey, GdkModifierType(ev->state))) { + if (allow_activating && gtk_accel_groups_activate(G_OBJECT(win), fakekey, GdkModifierType(ev->state))) { return true; } -#ifdef GTKOSX_ARDOUR_EVENTS_PATCH - int oldval = ev->keyval; - ev->keyval = fakekey; - if (gdk_quartz_possibly_forward ((GdkEvent*) ev)) { - return true; +#ifdef GTKOSX + if (allow_activating) { + int oldval = ev->keyval; + ev->keyval = fakekey; + if (gdk_quartz_possibly_forward ((GdkEvent*) ev)) { + return true; + } + ev->keyval = oldval; } - ev->keyval = oldval; #endif } } @@ -497,26 +512,24 @@ key_press_focus_accelerator_handler (Gtk::Window& window, GdkEventKey* ev) cerr << "\tactivate, then propagate\n"; } #endif -#ifdef GTKOSX_ARDOUR_EVENTS_PATCH - if (gdk_quartz_possibly_forward ((GdkEvent*) ev)) { - return true; - } -#endif - if (!gtk_window_activate_key (win, ev)) { -#ifdef DEBUG_ACCELERATOR_HANDLING - if (debug) { - cerr << "\tnot accelerated, now propagate\n"; + + if (allow_activating) { +#ifdef GTKOSX + if (gdk_quartz_possibly_forward ((GdkEvent*) ev)) { + return true; } #endif - return gtk_window_propagate_key_event (win, ev); - } else { -#ifdef DEBUG_ACCELERATOR_HANDLING - if (debug) { - cerr << "\taccelerated - done.\n"; + if (gtk_window_activate_key (win, ev)) { + return true; } + } + +#ifdef DEBUG_ACCELERATOR_HANDLING + if (debug) { + cerr << "\tnot accelerated, now propagate\n"; + } #endif - return true; - } + return gtk_window_propagate_key_event (win, ev); } /* no modifiers, propagate first */ @@ -532,12 +545,17 @@ key_press_focus_accelerator_handler (Gtk::Window& window, GdkEventKey* ev) cerr << "\tpropagation didn't handle, so activate\n"; } #endif -#ifdef GTKOSX_ARDOUR_EVENTS_PATCH - if (gdk_quartz_possibly_forward ((GdkEvent*) ev)) { - return true; - } + + if (allow_activating) { + +#ifdef GTKOSX + if (gdk_quartz_possibly_forward ((GdkEvent*) ev)) { + return true; + } #endif - return gtk_window_activate_key (win, ev); + return gtk_window_activate_key (win, ev); + } + } else { #ifdef DEBUG_ACCELERATOR_HANDLING if (debug) { |