diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2009-04-16 16:02:25 +0000 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2009-04-16 16:02:25 +0000 |
commit | a4b8955f3eb87405ceafe5c8680d9439f441458e (patch) | |
tree | cad2bf815f268ec1fdad34c1cc09089289ee3736 /gtk2_ardour | |
parent | 60eef7dd3e0240367550a274a91ddb498dedcbc2 (diff) |
part 2 of 3 of the 2.8 -> 3.0 merge
git-svn-id: svn://localhost/ardour2/branches/3.0@4987 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'gtk2_ardour')
-rw-r--r-- | gtk2_ardour/SAE-de-keypad.bindings.in | 7 | ||||
-rw-r--r-- | gtk2_ardour/SAE-de-nokeypad.bindings.in | 7 | ||||
-rw-r--r-- | gtk2_ardour/SAE-us-keypad.bindings.in | 8 | ||||
-rw-r--r-- | gtk2_ardour/SAE-us-nokeypad.bindings.in | 8 | ||||
-rw-r--r-- | gtk2_ardour/SConscript | 2 | ||||
-rw-r--r-- | gtk2_ardour/ardour.menus.in | 2 | ||||
-rw-r--r-- | gtk2_ardour/editor_ops.cc | 2 | ||||
-rw-r--r-- | gtk2_ardour/ergonomic-us.bindings.in | 30 | ||||
-rw-r--r-- | gtk2_ardour/mnemonic-us.bindings.in | 37 | ||||
-rw-r--r-- | gtk2_ardour/plugin_ui.cc | 12 | ||||
-rw-r--r-- | gtk2_ardour/plugin_ui.h | 3 | ||||
-rw-r--r-- | gtk2_ardour/vst_pluginui.cc | 86 |
12 files changed, 139 insertions, 65 deletions
diff --git a/gtk2_ardour/SAE-de-keypad.bindings.in b/gtk2_ardour/SAE-de-keypad.bindings.in index e8e3e1b338..dad2ead224 100644 --- a/gtk2_ardour/SAE-de-keypad.bindings.in +++ b/gtk2_ardour/SAE-de-keypad.bindings.in @@ -8,8 +8,9 @@ (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/play-from-edit-point-and-return" "<%LEVEL4%>space") -(gtk_accel_path "<Actions>/Common/ToggleOptionsEditor" "<%PRIMARY%>,") +(gtk_accel_path "<Actions>/Common/ToggleOptionsEditor" "<%PRIMARY%>comma") (gtk_accel_path "<Actions>/Editor/align-regions-end" "<%PRIMARY%><%SECONDARY%>less") (gtk_accel_path "<Actions>/Editor/align-regions-end-relative" "<%PRIMARY%>less") @@ -82,7 +83,7 @@ (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/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") @@ -121,6 +122,7 @@ (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-noselection" "<%LEVEL4%>leftarrow") (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") @@ -131,6 +133,7 @@ (gtk_accel_path "<Actions>/Editor/selected-marker-to-previous-region-boundary" "<%PRIMARY%><%TERTIARY%>leftarrow") +(gtk_accel_path "<Actions>/Editor/playhead-to-next-region-boundary-noselection" "<%LEVEL4%>rightarrow") (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") diff --git a/gtk2_ardour/SAE-de-nokeypad.bindings.in b/gtk2_ardour/SAE-de-nokeypad.bindings.in index 27c824e5dd..bcd7f6d3de 100644 --- a/gtk2_ardour/SAE-de-nokeypad.bindings.in +++ b/gtk2_ardour/SAE-de-nokeypad.bindings.in @@ -8,8 +8,9 @@ (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/play-from-edit-point-and-return" "<%LEVEL4%>space") -(gtk_accel_path "<Actions>/Common/ToggleOptionsEditor" "<%PRIMARY%>,") +(gtk_accel_path "<Actions>/Common/ToggleOptionsEditor" "<%PRIMARY%>comma") (gtk_accel_path "<Actions>/Editor/align-regions-end" "<%PRIMARY%><%SECONDARY%>less") (gtk_accel_path "<Actions>/Editor/align-regions-end-relative" "<%PRIMARY%>less") @@ -82,7 +83,7 @@ (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/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") @@ -120,6 +121,7 @@ (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-noselection" "<%LEVEL4%>leftarrow") (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") @@ -130,6 +132,7 @@ (gtk_accel_path "<Actions>/Editor/selected-marker-to-previous-region-boundary" "<%PRIMARY%><%TERTIARY%>leftarrow") +(gtk_accel_path "<Actions>/Editor/playhead-to-next-region-boundary-noselection" "<%LEVEL4%>rightarrow") (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") diff --git a/gtk2_ardour/SAE-us-keypad.bindings.in b/gtk2_ardour/SAE-us-keypad.bindings.in index e4d98140fd..88085b0968 100644 --- a/gtk2_ardour/SAE-us-keypad.bindings.in +++ b/gtk2_ardour/SAE-us-keypad.bindings.in @@ -8,7 +8,8 @@ (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/play-from-edit-point-and-return" "<%LEVEL4%>space") +(gtk_accel_path "<Actions>/Common/ToggleOptionsEditor" "<%PRIMARY%>comma") (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") @@ -61,7 +62,6 @@ (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") @@ -81,7 +81,7 @@ (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/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") @@ -120,6 +120,7 @@ (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-noselection" "<%LEVEL4%>leftarrow") (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") @@ -130,6 +131,7 @@ (gtk_accel_path "<Actions>/Editor/selected-marker-to-previous-region-boundary" "<%PRIMARY%><%TERTIARY%>leftarrow") +(gtk_accel_path "<Actions>/Editor/playhead-to-next-region-boundary-noselection" "<%LEVEL4%>rightarrow") (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") diff --git a/gtk2_ardour/SAE-us-nokeypad.bindings.in b/gtk2_ardour/SAE-us-nokeypad.bindings.in index a84ee2bf20..33fe2f0e76 100644 --- a/gtk2_ardour/SAE-us-nokeypad.bindings.in +++ b/gtk2_ardour/SAE-us-nokeypad.bindings.in @@ -8,7 +8,8 @@ (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/play-from-edit-point-and-return" "<%LEVEL4%>space") +(gtk_accel_path "<Actions>/Common/ToggleOptionsEditor" "<%PRIMARY%>comma") (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") @@ -61,7 +62,6 @@ (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") @@ -81,7 +81,7 @@ (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/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") @@ -119,6 +119,7 @@ (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-noselection" "<%LEVEL4%>leftarrow") (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") @@ -129,6 +130,7 @@ (gtk_accel_path "<Actions>/Editor/selected-marker-to-previous-region-boundary" "<%PRIMARY%><%TERTIARY%>leftarrow") +(gtk_accel_path "<Actions>/Editor/playhead-to-next-region-boundary-noselection" "<%LEVEL4%>rightarrow") (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") diff --git a/gtk2_ardour/SConscript b/gtk2_ardour/SConscript index b625d5863e..e413be6eed 100644 --- a/gtk2_ardour/SConscript +++ b/gtk2_ardour/SConscript @@ -56,8 +56,8 @@ gtkardour.Merge ([ libraries['sndfile'], libraries['taglib'], libraries['sysmidi'], - libraries['vamp'], libraries['vamphost'], + libraries['vamp'], libraries['xml'], libraries['xslt'] ]) diff --git a/gtk2_ardour/ardour.menus.in b/gtk2_ardour/ardour.menus.in index 7b260138dd..eb0968da4a 100644 --- a/gtk2_ardour/ardour.menus.in +++ b/gtk2_ardour/ardour.menus.in @@ -80,6 +80,8 @@ <separator/> <menuitem action='playhead-to-next-region-boundary'/> <menuitem action='playhead-to-previous-region-boundary'/> + <menuitem action='playhead-to-next-region-boundary-noselection'/> + <menuitem action='playhead-to-previous-region-boundary-noselection'/> <menuitem action='playhead-to-next-region-sync'/> <menuitem action='playhead-to-previous-region-sync'/> <separator/> diff --git a/gtk2_ardour/editor_ops.cc b/gtk2_ardour/editor_ops.cc index 2706a44669..1b5067e2ac 100644 --- a/gtk2_ardour/editor_ops.cc +++ b/gtk2_ardour/editor_ops.cc @@ -3688,7 +3688,7 @@ Editor::freeze_route () pthread_attr_init(&attr); pthread_attr_setstacksize(&attr, 500000); - pthread_create (&itt.thread, &attr, _freeze_thread, this); + pthread_create_and_store (X_("freezer"), &itt.thread, &attr, _freeze_thread, this); pthread_attr_destroy(&attr); diff --git a/gtk2_ardour/ergonomic-us.bindings.in b/gtk2_ardour/ergonomic-us.bindings.in index a8c3f1fe0e..523878bd3f 100644 --- a/gtk2_ardour/ergonomic-us.bindings.in +++ b/gtk2_ardour/ergonomic-us.bindings.in @@ -14,7 +14,7 @@ (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>/redirectmenu/copy" "") ; (gtk_accel_path "<Actions>/options/MeterFalloffFaster" "") (gtk_accel_path "<Actions>/Transport/ToggleRollForgetCapture" "<%PRIMARY%>space") (gtk_accel_path "<Actions>/Transport/record-roll" "<%TERTIARY%>space") @@ -22,7 +22,7 @@ ; (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>/redirectmenu/deactivate_all" "") ; (gtk_accel_path "<Actions>/RegionList/SortByRegionPosition" "") ; (gtk_accel_path "<Actions>/Editor/ZoomFocus" "") (gtk_accel_path "<Actions>/Editor/addExistingAudioFiles" "<%SECONDARY%>i") @@ -34,7 +34,7 @@ ; (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>/redirectmenu/deactivate" "") ; (gtk_accel_path "<Actions>/options/LatchedRecordEnable" "") ; (gtk_accel_path "<Actions>/Transport/TogglePunchIn" "") ; (gtk_accel_path "<Actions>/ShuttleActions/SetShuttleUnitsPercentage" "") @@ -103,8 +103,8 @@ (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>/redirectmenu/activate_all" "") +; (gtk_accel_path "<Actions>/redirectmenu/paste" "") ; (gtk_accel_path "<Actions>/Editor/Smpte25" "") ; (gtk_accel_path "<Actions>/options/RegionEquivalentsOverlap" "") ; (gtk_accel_path "<Actions>/Main/MeteringFallOffRate" "") @@ -128,7 +128,7 @@ (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>/redirectmenu/newsend" "") ; (gtk_accel_path "<Actions>/Editor/ToggleGeneric MIDISurfaceSubMenu" "") ; (gtk_accel_path "<Actions>/Editor/MeterFalloff" "") ; (gtk_accel_path "<Actions>/RegionList/rlRemove" "") @@ -141,7 +141,7 @@ ; (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>/redirectmenu/deselectall" "") ; (gtk_accel_path "<Actions>/options/SoloViaBus" "") ; (gtk_accel_path "<Actions>/RegionList/rlAudition" "") (gtk_accel_path "<Actions>/Editor/set-region-sync-position" "u") @@ -206,7 +206,7 @@ (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>/redirectmenu/rename" "") ; (gtk_accel_path "<Actions>/RegionList/rlShowAuto" "") (gtk_accel_path "<Actions>/Editor/select-all-before-playhead" "<%PRIMARY%>p") ; (gtk_accel_path "<Actions>/Main/Session" "") @@ -231,7 +231,7 @@ ; (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>/redirectmenu/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" "") @@ -239,7 +239,7 @@ (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>/redirectmenu/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" "") @@ -249,8 +249,8 @@ ; (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>/redirectmenu/cut" "") +; (gtk_accel_path "<Actions>/redirectmenu/newinsert" "") ; (gtk_accel_path "<Actions>/options/UseMMC" "") ; (gtk_accel_path "<Actions>/options/MeterFalloffOff" "") ;(gtk_accel_path "<Actions>/MouseMode/set-mouse-mode-object" "o") @@ -295,7 +295,7 @@ ; (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>/redirectmenu/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") @@ -306,12 +306,12 @@ ; (gtk_accel_path "<Actions>/options/OutputAutoConnectManual" "") ; (gtk_accel_path "<Actions>/Snap/snap-to-region-sync" "") (gtk_accel_path "<Actions>/Editor/edit-cursor-to-previous-region-sync" "apostrophe") -; (gtk_accel_path "<Actions>/processormenu/clear" "") +; (gtk_accel_path "<Actions>/redirectmenu/clear" "") ; (gtk_accel_path "<Actions>/Editor/ToggleGeneric MIDISurfaceFeedback" "") ; (gtk_accel_path "<Actions>/Editor/PullupPlus4Minus1" "") ; (gtk_accel_path "<Actions>/JACK/JACKLatency512" "") ; (gtk_accel_path "<Actions>/Main/Recent" "") -; (gtk_accel_path "<Actions>/processormenu/newplugin" "") +; (gtk_accel_path "<Actions>/redirectmenu/newplugin" "") ; (gtk_accel_path "<Actions>/options/InputAutoConnectManual" "") ; (gtk_accel_path "<Actions>/options/MeterHoldLong" "") ; (gtk_accel_path "<Actions>/Snap/snap-to-seconds" "") diff --git a/gtk2_ardour/mnemonic-us.bindings.in b/gtk2_ardour/mnemonic-us.bindings.in index 27e6e9f259..d6df9078cc 100644 --- a/gtk2_ardour/mnemonic-us.bindings.in +++ b/gtk2_ardour/mnemonic-us.bindings.in @@ -98,7 +98,6 @@ (gtk_accel_path "<Actions>/Editor/undo" "<%PRIMARY%>z") (gtk_accel_path "<Actions>/Editor/toggle-zoom" "<%TERTIARY%>z") (gtk_accel_path "<Actions>/MouseMode/set-mouse-mode-zoom" "z") -(gtk_accel_path "<Actions>/MouseMode/set-mouse-mode-note" "n") (gtk_accel_path "<Actions>/Editor/editor-cut" "<%PRIMARY%>x") (gtk_accel_path "<Actions>/Editor/editor-copy" "<%PRIMARY%>c") (gtk_accel_path "<Actions>/Common/ToggleColorManager" "<%WINDOW%>c") @@ -106,8 +105,8 @@ (gtk_accel_path "<Actions>/Editor/editor-paste" "<%PRIMARY%>v") (gtk_accel_path "<Actions>/Editor/brush-at-mouse" "<%PRIMARY%>b") (gtk_accel_path "<Actions>/Common/ToggleBigClock" "<%WINDOW%>b") -(gtk_accel_path "<Actions>/Editor/normalize-region" "<%SECONDARY%>n") -(gtk_accel_path "<Actions>/Editor/mute-unmute-region" "<%SECONDARY%>m") +(gtk_accel_path "<Actions>/Editor/normalize-region" "n") +(gtk_accel_path "<Actions>/Editor/mute-unmute-region" "m") (gtk_accel_path "<Actions>/Common/toggle-editor-mixer-on-top" "<%WINDOW%>m") ;; arrow keys, navigation etc. @@ -123,12 +122,14 @@ (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/playhead-to-previous-region-boundary-noselection" "<%LEVEL4%>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/playhead-to-next-region-boundary-noselection" "<%LEVEL4%>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") @@ -229,7 +230,7 @@ ; (gtk_accel_path "<Actions>/RegionList/RegionListSort" "") ; (gtk_accel_path "<Actions>/Main/Windows" "") ; (gtk_accel_path "<Actions>/Main/CleanupUnused" "") -; (gtk_accel_path "<Actions>/processormenu/deselectall" "") +; (gtk_accel_path "<Actions>/redirectmenu/deselectall" "") ; (gtk_accel_path "<Actions>/options/SoloViaBus" "") ; (gtk_accel_path "<Actions>/RegionList/rlAudition" "") ; (gtk_accel_path "<Actions>/Editor/PullupPlus4Plus1" "") @@ -273,7 +274,7 @@ ; (gtk_accel_path "<Actions>/options/InputAutoConnectPhysical" "") ; (gtk_accel_path "<Actions>/Snap/snap-to-edit-cursor" "") ; (gtk_accel_path "<Actions>/JACK/Latency" "") -; (gtk_accel_path "<Actions>/processormenu/rename" "") +; (gtk_accel_path "<Actions>/redirectmenu/rename" "") ; (gtk_accel_path "<Actions>/RegionList/rlShowAuto" "") ; (gtk_accel_path "<Actions>/Main/Session" "") ; (gtk_accel_path "<Actions>/Main/AudioFileFormat" "") @@ -291,17 +292,17 @@ ; (gtk_accel_path "<Actions>/Editor/SnapMode" "") ; (gtk_accel_path "<Actions>/Editor/PullupMinus4" "") ; (gtk_accel_path "<Actions>/RegionList/SortBySourceFileCreationDate" "") -; (gtk_accel_path "<Actions>/processormenu/activate" "") +; (gtk_accel_path "<Actions>/redirectmenu/activate" "") ; (gtk_accel_path "<Actions>/Editor/PullupMinus1" "") ; (gtk_accel_path "<Actions>/Editor/snap-normal" "") ; (gtk_accel_path "<Actions>/Snap/snap-to-asixteenthbeat" "") -; (gtk_accel_path "<Actions>/processormenu/edit" "") +; (gtk_accel_path "<Actions>/redirectmenu/edit" "") ; (gtk_accel_path "<Actions>/JACK/JACKLatency2048" "") ; (gtk_accel_path "<Actions>/Editor/ToggleWaveformsWhileRecording" "") ; (gtk_accel_path "<Actions>/Zoom/zoom-focus-right" "") ; (gtk_accel_path "<Actions>/options/FileHeaderFormatWAVE" "") -; (gtk_accel_path "<Actions>/processormenu/cut" "") -; (gtk_accel_path "<Actions>/processormenu/newinsert" "") +; (gtk_accel_path "<Actions>/redirectmenu/cut" "") +; (gtk_accel_path "<Actions>/redirectmenu/newinsert" "") ; (gtk_accel_path "<Actions>/options/UseMMC" "") ; (gtk_accel_path "<Actions>/options/MeterFalloffOff" "") ; (gtk_accel_path "<Actions>/Editor/PullupMinus4Plus1" "") @@ -335,18 +336,18 @@ ; (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>/redirectmenu/selectall" "") ; (gtk_accel_path "<Actions>/Snap/snap-to-quarters" "") ; (gtk_accel_path "<Actions>/options/UseSoftwareMonitoring" "") ; (gtk_accel_path "<Actions>/Editor/Subframes100" "") -; (gtk_accel_path "<Actions>/processormenu/clear" "") +; (gtk_accel_path "<Actions>/redirectmenu/clear" "") ; (gtk_accel_path "<Actions>/Editor/ToggleGeneric MIDISurfaceFeedback" "") ; (gtk_accel_path "<Actions>/Editor/PullupPlus4Minus1" "") ; (gtk_accel_path "<Actions>/JACK/JACKLatency512" "") ; (gtk_accel_path "<Actions>/Main/Recent" "") -; (gtk_accel_path "<Actions>/processormenu/newplugin" "") +; (gtk_accel_path "<Actions>/redirectmenu/newplugin" "") ; (gtk_accel_path "<Actions>/options/InputAutoConnectManual" "") ; (gtk_accel_path "<Actions>/options/MeterHoldLong" "") ; (gtk_accel_path "<Actions>/Snap/snap-to-seconds" "") @@ -357,12 +358,12 @@ ; (gtk_accel_path "<Actions>/JACK/JACKReconnect" "") ; (gtk_accel_path "<Actions>/Editor/Autoconnect" "") ; (gtk_accel_path "<Actions>/Editor/Edit" "") -; (gtk_accel_path "<Actions>/processormenu/copy" "") +; (gtk_accel_path "<Actions>/redirectmenu/copy" "") ; (gtk_accel_path "<Actions>/options/MeterFalloffFaster" "") ; (gtk_accel_path "<Actions>/RegionList/SortByRegionLength" "") ; (gtk_accel_path "<Actions>/options/MeterFalloffSlowest" "") ; (gtk_accel_path "<Actions>/Editor/playhead-to-previous-region-sync" "") -; (gtk_accel_path "<Actions>/processormenu/deactivate_all" "") +; (gtk_accel_path "<Actions>/redirectmenu/deactivate_all" "") ; (gtk_accel_path "<Actions>/RegionList/SortByRegionPosition" "") ; (gtk_accel_path "<Actions>/Editor/ZoomFocus" "") ; (gtk_accel_path "<Actions>/options/MeterFalloffSlow" "") @@ -371,7 +372,7 @@ ; (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>/redirectmenu/deactivate" "") ; (gtk_accel_path "<Actions>/options/LatchedRecordEnable" "") ; (gtk_accel_path "<Actions>/Transport/TogglePunchIn" "") ; (gtk_accel_path "<Actions>/ShuttleActions/SetShuttleUnitsPercentage" "") @@ -418,8 +419,8 @@ ; (gtk_accel_path "<Actions>/Editor/Smpte30drop" "") ; (gtk_accel_path "<Actions>/Zoom/zoom-focus-edit" "") ; (gtk_accel_path "<Actions>/Editor/EditCursorMovementOptions" "") -; (gtk_accel_path "<Actions>/processormenu/activate_all" "") -; (gtk_accel_path "<Actions>/processormenu/paste" "") +; (gtk_accel_path "<Actions>/redirectmenu/activate_all" "") +; (gtk_accel_path "<Actions>/redirectmenu/paste" "") ; (gtk_accel_path "<Actions>/Editor/Smpte25" "") ; (gtk_accel_path "<Actions>/options/RegionEquivalentsOverlap" "") ; (gtk_accel_path "<Actions>/Main/MeteringFallOffRate" "") @@ -437,7 +438,7 @@ ; (gtk_accel_path "<Actions>/Editor/snap-magnetic" "") ; (gtk_accel_path "<Actions>/Editor/playhead-to-range-end" "") ; (gtk_accel_path "<Actions>/Editor/EditSelectRegionOptions" "") -; (gtk_accel_path "<Actions>/processormenu/newsend" "") +; (gtk_accel_path "<Actions>/redirectmenu/newsend" "") ; (gtk_accel_path "<Actions>/Editor/ToggleGeneric MIDISurfaceSubMenu" "") ; (gtk_accel_path "<Actions>/Editor/MeterFalloff" "") ; (gtk_accel_path "<Actions>/RegionList/rlRemove" "") diff --git a/gtk2_ardour/plugin_ui.cc b/gtk2_ardour/plugin_ui.cc index 36c5001816..e92da7f49a 100644 --- a/gtk2_ardour/plugin_ui.cc +++ b/gtk2_ardour/plugin_ui.cc @@ -136,8 +136,8 @@ PluginUIWindow::PluginUIWindow (Gtk::Window* win, boost::shared_ptr<PluginInsert add_events (Gdk::KEY_PRESS_MASK|Gdk::KEY_RELEASE_MASK|Gdk::BUTTON_PRESS_MASK|Gdk::BUTTON_RELEASE_MASK); signal_delete_event().connect (bind (sigc::ptr_fun (just_hide_it), reinterpret_cast<Window*> (this)), false); - insert->GoingAway.connect (mem_fun(*this, &PluginUIWindow::plugin_going_away)); - + death_connection = insert->GoingAway.connect (mem_fun(*this, &PluginUIWindow::plugin_going_away)); + gint h = _pluginui->get_preferred_height (); gint w = _pluginui->get_preferred_width (); @@ -155,6 +155,7 @@ PluginUIWindow::PluginUIWindow (Gtk::Window* win, boost::shared_ptr<PluginInsert PluginUIWindow::~PluginUIWindow () { + delete _pluginui; } void @@ -333,6 +334,9 @@ PluginUIWindow::plugin_going_away () if (_pluginui) { _pluginui->stop_updating(0); } + + death_connection.disconnect (); + delete_when_idle (this); } @@ -383,6 +387,10 @@ PlugUIBase::PlugUIBase (boost::shared_ptr<PluginInsert> pi) plugin_eq_bin.set_expanded(true); } +PlugUIBase::~PlugUIBase() +{ +} + void PlugUIBase::processor_active_changed (boost::weak_ptr<Processor> weak_p) { diff --git a/gtk2_ardour/plugin_ui.h b/gtk2_ardour/plugin_ui.h index a920bfb07e..e074a9f7b0 100644 --- a/gtk2_ardour/plugin_ui.h +++ b/gtk2_ardour/plugin_ui.h @@ -71,7 +71,7 @@ class PlugUIBase : public virtual sigc::trackable { public: PlugUIBase (boost::shared_ptr<ARDOUR::PluginInsert>); - virtual ~PlugUIBase() {} + virtual ~PlugUIBase(); virtual gint get_preferred_height () = 0; virtual gint get_preferred_width () = 0; @@ -241,6 +241,7 @@ class PluginUIWindow : public Gtk::Window private: PlugUIBase* _pluginui; + sigc::connection death_connection; Gtk::Window* parent; Gtk::VBox vbox; bool non_gtk_gui; diff --git a/gtk2_ardour/vst_pluginui.cc b/gtk2_ardour/vst_pluginui.cc index 99c7a1b82b..a31187264e 100644 --- a/gtk2_ardour/vst_pluginui.cc +++ b/gtk2_ardour/vst_pluginui.cc @@ -20,7 +20,7 @@ #include <fst.h> #include <gtk/gtk.h> #include <gtk/gtksocket.h> -#include "ardour/processor.h" +#include "ardour/insert.h" #include "ardour/vst_plugin.h" #include "plugin_ui.h" @@ -35,24 +35,36 @@ VSTPluginUI::VSTPluginUI (boost::shared_ptr<PluginInsert> pi, boost::shared_ptr< : PlugUIBase (pi), vst (vp) { + create_preset_store (); + fst_run_editor (vst->fst()); + preset_box.set_spacing (6); + preset_box.set_border_width (6); preset_box.pack_end (bypass_button, false, false, 10); preset_box.pack_end (save_button, false, false); - preset_box.pack_end (preset_combo, false, false); - preset_box.pack_end (eqgui_toggle, false, false); + preset_box.pack_end (vst_preset_combo, false, false); + vst_preset_combo.signal_changed().connect (mem_fun (*this, &VSTPluginUI::preset_chosen)); bypass_button.set_active (!insert->active()); pack_start (preset_box, false, false); pack_start (socket, true, true); - pack_start (plugin_eq_bin, true, true); } VSTPluginUI::~VSTPluginUI () { - // nothing to do here - plugin destructor destroys the GUI + // plugin destructor destroys the custom GUI, via Windows fun-and-games, + // and then our PluginUIWindow does the rest +} + +void +VSTPluginUI::preset_chosen () +{ + // we can't dispatch directly here, too many plugins only expects one GUI thread. + vst->fst()->want_program = vst_preset_combo.get_active_row_number (); + socket.grab_focus (); } int @@ -124,28 +136,68 @@ VSTPluginUI::configure_handler (GdkEventConfigure* ev, Gtk::Socket *socket) return false; } +void +VSTPluginUI::create_preset_store () +{ + FST *fst = vst->fst(); + int vst_version = fst->plugin->dispatcher (fst->plugin, effGetVstVersion, 0, 0, NULL, 0.0f); + + preset_model = ListStore::create (preset_columns); + + for (int i = 0; i < fst->plugin->numPrograms; ++i) { + char buf[100]; + TreeModel::Row row = *(preset_model->append()); + + snprintf (buf, 90, "preset %d", i); + + if (vst_version >= 2) { + fst->plugin->dispatcher (fst->plugin, 29, i, 0, buf, 0.0); + } + + row[preset_columns.name] = buf; + row[preset_columns.number] = i; + } + + if (fst->plugin->numPrograms > 0) { + fst->plugin->dispatcher( fst->plugin, effSetProgram, 0, 0, NULL, 0.0 ); + } + + vst_preset_combo.set_model (preset_model); + + CellRenderer* renderer = manage (new CellRendererText()); + vst_preset_combo.pack_start (*renderer, true); + vst_preset_combo.add_attribute (*renderer, "text", 0); + + if (vst->fst()->current_program != -1) { + vst_preset_combo.set_active (vst->fst()->current_program); + } else { + vst_preset_combo.set_active (0); + } +} + typedef int (*error_handler_t)( Display *, XErrorEvent *); static Display *the_gtk_display; static error_handler_t wine_error_handler; static error_handler_t gtk_error_handler; -static int +static int fst_xerror_handler( Display *disp, XErrorEvent *ev ) { - if (disp == the_gtk_display) { - printf ("relaying error to gtk\n"); - return gtk_error_handler (disp, ev); - } else { - printf( "relaying error to wine\n" ); - return wine_error_handler (disp, ev); - } + if (disp == the_gtk_display) { + printf ("relaying error to gtk\n"); + return gtk_error_handler (disp, ev); + } else { + printf( "relaying error to wine\n" ); + return wine_error_handler (disp, ev); + } } void gui_init (int *argc, char **argv[]) { - wine_error_handler = XSetErrorHandler (NULL); - gtk_init (argc, argv); - the_gtk_display = gdk_x11_display_get_xdisplay (gdk_display_get_default()); - gtk_error_handler = XSetErrorHandler( fst_xerror_handler ); + wine_error_handler = XSetErrorHandler (NULL); + gtk_init (argc, argv); + the_gtk_display = gdk_x11_display_get_xdisplay (gdk_display_get_default()); + gtk_error_handler = XSetErrorHandler( fst_xerror_handler ); } + |