save keybindings to file used at startup; allow keybindings file to be cmdline-specified; remove some GTK2FIX comments; fix feedback based on john anderson's patch; apply scons patches; fix crash when taking MIDI ports online+offline; try to prevent aborts when shutting down due to metering thread; start work on reconstructing GlobalFOOCommand commands; use ftruncate to hint at peakfile preallocation to reduce fragmentation
git-svn-id: svn://localhost/ardour2/trunk@1223 d708f5d6-7413-0410-9779-e7cbd77b26cf
This commit is contained in:
parent
575c7974eb
commit
486020b403
|
@ -1,116 +1,312 @@
|
|||
; this file is NOT an automated accelerator map dump
|
||||
|
||||
(gtk_accel_path "<Actions>/Transport/ToggleRoll" "space")
|
||||
(gtk_accel_path "<Actions>/Transport/ToggleRollForgetCapture" "<control>space")
|
||||
(gtk_accel_path "<Actions>/Transport/Forward" "<control>Right")
|
||||
(gtk_accel_path "<Actions>/Transport/Rewind" "<control>Left")
|
||||
(gtk_accel_path "<Actions>/Transport/GotoZero" "KP_Insert")
|
||||
(gtk_accel_path "<Actions>/Transport/GotoStart" "Home")
|
||||
(gtk_accel_path "<Actions>/Transport/GotoEnd" "End")
|
||||
|
||||
(gtk_accel_path "<Actions>/Editor/align-regions-sync-relative" "a")
|
||||
(gtk_accel_path "<Actions>/Editor/crop" "c")
|
||||
(gtk_accel_path "<Actions>/Editor/duplicate-region" "d")
|
||||
(gtk_accel_path "<Actions>/Editor/set-edit-cursor" "e")
|
||||
(gtk_accel_path "<Actions>/Editor/toggle-follow-playhead" "f")
|
||||
(gtk_accel_path "<Actions>/MouseMode/set-mouse-mode-gain" "g")
|
||||
(gtk_accel_path "<Actions>/Editor/split-region" "s")
|
||||
(gtk_accel_path "<Actions>/Editor/set-region-sync-position" "v")
|
||||
(gtk_accel_path "<Actions>/Editor/mute-unmute-region" "m")
|
||||
(gtk_accel_path "<Actions>/Editor/insert-region" "i")
|
||||
(gtk_accel_path "<Actions>/Editor/normalize-region" "n")
|
||||
(gtk_accel_path "<Actions>/MouseMode/set-mouse-mode-object" "o")
|
||||
(gtk_accel_path "<Actions>/Transport/Loop" "l")
|
||||
(gtk_accel_path "<Actions>/Editor/set-playhead" "p")
|
||||
(gtk_accel_path "<Actions>/MouseMode/set-mouse-mode-range" "r")
|
||||
(gtk_accel_path "<Actions>/MouseMode/set-mouse-mode-timefx" "t")
|
||||
(gtk_accel_path "<Actions>/MouseMode/set-mouse-mode-zoom" "z")
|
||||
|
||||
(gtk_accel_path "<Actions>/Transport/Record" "<shift>r")
|
||||
|
||||
|
||||
(gtk_accel_path "<Actions>/Editor/nudge-forward" "KP_Add")
|
||||
(gtk_accel_path "<Actions>/Editor/nudge-next-forward" "<control>KP_Add")
|
||||
(gtk_accel_path "<Actions>/Editor/nudge-backward" "KP_Subtract")
|
||||
(gtk_accel_path "<Actions>/Editor/nudge-next-backward" "<control>KP_Subtract")
|
||||
|
||||
(gtk_accel_path "<Actions>/Editor/show-editor-mixer" "<shift>e")
|
||||
|
||||
(gtk_accel_path "<Actions>/Common/goto-editor" "<alt>e")
|
||||
(gtk_accel_path "<Actions>/Common/goto-mixer" "<alt>m")
|
||||
(gtk_accel_path "<Actions>/Common/ToggleSoundFileBrowser" "<alt>f")
|
||||
(gtk_accel_path "<Actions>/Common/ToggleLocations" "<alt>l")
|
||||
(gtk_accel_path "<Actions>/Common/ToggleBigClock" "<alt>b")
|
||||
(gtk_accel_path "<Actions>/Common/ToggleColorManager" "<alt>c")
|
||||
|
||||
(gtk_accel_path "<Actions>/Editor/editor-copy" "<control>c")
|
||||
(gtk_accel_path "<Actions>/Common/Quit" "<control>q")
|
||||
(gtk_accel_path "<Actions>/Editor/redo" "<control>r")
|
||||
(gtk_accel_path "<Actions>/Common/Save" "<control>s")
|
||||
(gtk_accel_path "<Actions>/Editor/editor-paste" "<control>v")
|
||||
(gtk_accel_path "<Actions>/Editor/remove-last-capture" "<control>Delete")
|
||||
(gtk_accel_path "<Actions>/Editor/editor-cut" "<control>x")
|
||||
(gtk_accel_path "<Actions>/Editor/editor-delete" "Delete")
|
||||
(gtk_accel_path "<Actions>/Editor/undo" "<control>z")
|
||||
|
||||
(gtk_accel_path "<Actions>/Editor/scroll-tracks-down" "Page_Down")
|
||||
(gtk_accel_path "<Actions>/Editor/scroll-tracks-up" "Page_Up")
|
||||
(gtk_accel_path "<Actions>/Editor/scroll-backward" "leftarrow")
|
||||
(gtk_accel_path "<Actions>/Editor/scroll-forward" "rightarrow")
|
||||
(gtk_accel_path "<Actions>/Editor/step-tracks-down" "downarrow")
|
||||
(gtk_accel_path "<Actions>/Editor/step-tracks-up" "uparrow")
|
||||
(gtk_accel_path "<Actions>/Editor/playhead-to-edit" "Return")
|
||||
(gtk_accel_path "<Actions>/Editor/edit-to-playhead" "<Alt>Return")
|
||||
|
||||
(gtk_accel_path "<Actions>/Editor/temporal-zoom-in" "minus")
|
||||
(gtk_accel_path "<Actions>/Editor/temporal-zoom-out" "equal")
|
||||
|
||||
(gtk_accel_path "<Actions>/Editor/select-all" "<control>a")
|
||||
(gtk_accel_path "<Actions>/Editor/select-all-after-edit-cursor" "<shift><Control>e")
|
||||
(gtk_accel_path "<Actions>/Editor/select-all-before-edit-cursor" "<control>e")
|
||||
(gtk_accel_path "<Actions>/Editor/select-all-after-playhead" "<shift><Control>p")
|
||||
(gtk_accel_path "<Actions>/Editor/select-all-before-playhead" "<control>p")
|
||||
(gtk_accel_path "<Actions>/Editor/select-all-between-cursors" "u")
|
||||
(gtk_accel_path "<Actions>/Editor/select-all-in-punch-range" "<Control>d")
|
||||
(gtk_accel_path "<Actions>/Editor/select-all-in-loop-range" "<Control>l")
|
||||
|
||||
(gtk_accel_path "<Actions>/Editor/extend-range-to-start-of-region" "leftanglebracket")
|
||||
(gtk_accel_path "<Actions>/Editor/extend-range-to-end-of-region" "rightanglebracket")
|
||||
|
||||
(gtk_accel_path "<Actions>/Editor/align-regions-sync" "<mod2>a")
|
||||
(gtk_accel_path "<Actions>/Editor/align-regions-end" "<mod2><control>a")
|
||||
(gtk_accel_path "<Actions>/Editor/align-regions-start-relative" "<shift>a")
|
||||
|
||||
(gtk_accel_path "<Actions>/Editor/brush-at-mouse" "<control>b")
|
||||
(gtk_accel_path "<Actions>/Editor/audition-at-mouse" "period")
|
||||
|
||||
(gtk_accel_path "<Actions>/Editor/playhead-to-next-region-start" "Tab")
|
||||
; ardour.bin GtkAccelMap rc-file -*- scheme -*-
|
||||
; this file is an automated accelerator map dump
|
||||
;
|
||||
; (gtk_accel_path "<Actions>/RegionList/RegionListSort" "")
|
||||
(gtk_accel_path "<Actions>/Common/Quit" "<Control>q")
|
||||
(gtk_accel_path "<Actions>/Common/Save" "<Control>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/playhead-to-previous-region-end" "<Control>grave")
|
||||
; (gtk_accel_path "<Actions>/redirectmenu/copy" "")
|
||||
; (gtk_accel_path "<Actions>/options/MeterFalloffFaster" "")
|
||||
(gtk_accel_path "<Actions>/Transport/ToggleRollForgetCapture" "<Control>space")
|
||||
(gtk_accel_path "<Actions>/Transport/Record" "<Shift>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>/redirectmenu/deactivate_all" "")
|
||||
; (gtk_accel_path "<Actions>/RegionList/SortByRegionPosition" "")
|
||||
; (gtk_accel_path "<Actions>/Editor/ZoomFocus" "")
|
||||
; (gtk_accel_path "<Actions>/options/MeterFalloffSlow" "")
|
||||
; (gtk_accel_path "<Actions>/RegionList/rlHide" "")
|
||||
; (gtk_accel_path "<Actions>/Main/Metering" "")
|
||||
(gtk_accel_path "<Actions>/Editor/playhead-to-next-region-end" "<Control>Tab")
|
||||
|
||||
(gtk_accel_path "<Actions>/Editor/playhead-to-previous-region-start" "grave")
|
||||
(gtk_accel_path "<Actions>/Editor/playhead-to-previous-region-end" "<control>grave")
|
||||
|
||||
; (gtk_accel_path "<Actions>/Zoom/zoom-focus-playhead" "")
|
||||
; (gtk_accel_path "<Actions>/Editor/center-edit-cursor" "")
|
||||
; (gtk_accel_path "<Actions>/Editor/Monitoring" "")
|
||||
; (gtk_accel_path "<Actions>/redirectmenu/deactivate" "")
|
||||
; (gtk_accel_path "<Actions>/options/LatchedRecordEnable" "")
|
||||
; (gtk_accel_path "<Actions>/Transport/TogglePunchIn" "")
|
||||
; (gtk_accel_path "<Actions>/ShuttleActions/SetShuttleUnitsPercentage" "")
|
||||
(gtk_accel_path "<Actions>/Editor/edit-cursor-to-previous-region-start" "bracketleft")
|
||||
(gtk_accel_path "<Actions>/Editor/edit-cursor-to-previous-region-end" "<Control>bracketleft")
|
||||
|
||||
(gtk_accel_path "<Actions>/Editor/edit-cursor-to-next-region-start" "bracketright")
|
||||
(gtk_accel_path "<Actions>/Editor/edit-cursor-to-next-region-end" "<Control>bracketright")
|
||||
|
||||
(gtk_accel_path "<Actions>/Editor/edit-cursor-to-previous-region-sync" "apostrophe")
|
||||
; (gtk_accel_path "<Actions>/Main/Close" "")
|
||||
; (gtk_accel_path "<Actions>/Main/New" "")
|
||||
(gtk_accel_path "<Actions>/Editor/nudge-next-backward" "<Control>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" "<Shift>a")
|
||||
; (gtk_accel_path "<Actions>/Main/Export" "")
|
||||
(gtk_accel_path "<Actions>/Editor/jump-forward-to-mark" "<Control>KP_Right")
|
||||
; (gtk_accel_path "<Actions>/Editor/Smpte30" "")
|
||||
; (gtk_accel_path "<Actions>/Editor/playhead-to-range-start" "")
|
||||
; (gtk_accel_path "<Actions>/Editor/Subframes" "")
|
||||
; (gtk_accel_path "<Actions>/Editor/Smpte2997drop" "")
|
||||
; (gtk_accel_path "<Actions>/Main/AddTrackBus" "")
|
||||
(gtk_accel_path "<Actions>/Editor/align-regions-end" "<Control><Mod2>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>/Editor/edit-cursor-to-range-start" "F1")
|
||||
(gtk_accel_path "<Actions>/Editor/edit-cursor-to-range-end" "F2")
|
||||
; (gtk_accel_path "<Actions>/options/StopRecordingOnXrun" "")
|
||||
; (gtk_accel_path "<Actions>/Editor/addExternalAudioToRegionList" "")
|
||||
; (gtk_accel_path "<Actions>/RegionList/SortDescending" "")
|
||||
; (gtk_accel_path "<Actions>/options/DoNotRunPluginsWhileRecording" "")
|
||||
; (gtk_accel_path "<Actions>/Editor/PullupNone" "")
|
||||
(gtk_accel_path "<Actions>/MouseMode/set-mouse-mode-range" "r")
|
||||
(gtk_accel_path "<Actions>/Editor/jump-backward-to-mark" "<Control>KP_Left")
|
||||
; (gtk_accel_path "<Actions>/Main/AudioFileFormatData" "")
|
||||
; (gtk_accel_path "<Actions>/options/MeterFalloffFastest" "")
|
||||
(gtk_accel_path "<Actions>/Editor/audition-at-mouse" "period")
|
||||
(gtk_accel_path "<Actions>/Transport/Forward" "<Control>Right")
|
||||
; (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" "<Control>v")
|
||||
(gtk_accel_path "<Actions>/Editor/scroll-tracks-down" "Page_Down")
|
||||
; (gtk_accel_path "<Actions>/Snap/snap-to-smpte-minutes" "")
|
||||
(gtk_accel_path "<Actions>/Editor/normalize-region" "n")
|
||||
(gtk_accel_path "<Actions>/Editor/nudge-forward" "KP_Add")
|
||||
; (gtk_accel_path "<Actions>/Main/FlushWastebasket" "")
|
||||
; (gtk_accel_path "<Actions>/RegionList/SortByRegionEndinFile" "")
|
||||
; (gtk_accel_path "<Actions>/Editor/ToggleMeasureVisibility" "")
|
||||
; (gtk_accel_path "<Actions>/Zoom/zoom-focus-center" "")
|
||||
(gtk_accel_path "<Actions>/Editor/nudge-backward" "KP_Subtract")
|
||||
; (gtk_accel_path "<Actions>/options/LatchedSolo" "")
|
||||
; (gtk_accel_path "<Actions>/options/MeterHoldOff" "")
|
||||
; (gtk_accel_path "<Actions>/options/OutputAutoConnectMaster" "")
|
||||
; (gtk_accel_path "<Actions>/JACK/JACKLatency64" "")
|
||||
(gtk_accel_path "<Actions>/Editor/undo" "<Control>z")
|
||||
(gtk_accel_path "<Actions>/Editor/insert-region" "i")
|
||||
; (gtk_accel_path "<Actions>/Editor/center-playhead" "")
|
||||
(gtk_accel_path "<Actions>/Editor/edit-cursor-to-next-region-start" "bracketright")
|
||||
; (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-cursor" "e")
|
||||
; (gtk_accel_path "<Actions>/Editor/Smpte30drop" "")
|
||||
; (gtk_accel_path "<Actions>/Zoom/zoom-focus-edit" "")
|
||||
(gtk_accel_path "<Actions>/Editor/playhead-to-previous-region-start" "grave")
|
||||
; (gtk_accel_path "<Actions>/Editor/EditCursorMovementOptions" "")
|
||||
; (gtk_accel_path "<Actions>/redirectmenu/activate_all" "")
|
||||
; (gtk_accel_path "<Actions>/Editor/addExternalAudioAsTapeTrack" "")
|
||||
; (gtk_accel_path "<Actions>/redirectmenu/paste" "")
|
||||
; (gtk_accel_path "<Actions>/Editor/Smpte25" "")
|
||||
; (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/step-tracks-down" "downarrow")
|
||||
; (gtk_accel_path "<Actions>/Editor/toggle-xfades-visible" "")
|
||||
(gtk_accel_path "<Actions>/Editor/extend-range-to-end-of-region" "rightanglebracket")
|
||||
(gtk_accel_path "<Actions>/Editor/scroll-backward" "leftarrow")
|
||||
(gtk_accel_path "<Actions>/Editor/start-range" "<Control>KP_Down")
|
||||
; (gtk_accel_path "<Actions>/ShuttleActions/SetShuttleUnitsSemitones" "")
|
||||
; (gtk_accel_path "<Actions>/JACK/JACKLatency128" "")
|
||||
; (gtk_accel_path "<Actions>/Snap/snap-to-beat" "")
|
||||
; (gtk_accel_path "<Actions>/Editor/RegionEditOps" "")
|
||||
; (gtk_accel_path "<Actions>/Editor/snap-magnetic" "")
|
||||
; (gtk_accel_path "<Actions>/Editor/playhead-to-range-end" "")
|
||||
(gtk_accel_path "<Actions>/Editor/align-regions-sync-relative" "a")
|
||||
; (gtk_accel_path "<Actions>/Editor/EditSelectRegionOptions" "")
|
||||
(gtk_accel_path "<Actions>/Editor/crop" "c")
|
||||
; (gtk_accel_path "<Actions>/redirectmenu/newsend" "")
|
||||
; (gtk_accel_path "<Actions>/Editor/ToggleGeneric MIDISurfaceSubMenu" "")
|
||||
; (gtk_accel_path "<Actions>/Editor/MeterFalloff" "")
|
||||
; (gtk_accel_path "<Actions>/RegionList/rlRemove" "")
|
||||
(gtk_accel_path "<Actions>/Transport/GotoStart" "Home")
|
||||
(gtk_accel_path "<Actions>/Editor/split-region" "s")
|
||||
; (gtk_accel_path "<Actions>/Transport/ToggleAutoInput" "")
|
||||
; (gtk_accel_path "<Actions>/Snap/snap-to-thirtyseconds" "")
|
||||
; (gtk_accel_path "<Actions>/Snap/snap-to-minutes" "")
|
||||
(gtk_accel_path "<Actions>/Editor/align-regions-sync" "<Mod2>a")
|
||||
; (gtk_accel_path "<Actions>/Main/Windows" "")
|
||||
; (gtk_accel_path "<Actions>/Main/CleanupUnused" "")
|
||||
; (gtk_accel_path "<Actions>/redirectmenu/deselectall" "")
|
||||
; (gtk_accel_path "<Actions>/options/SoloViaBus" "")
|
||||
(gtk_accel_path "<Actions>/MouseMode/set-mouse-mode-zoom" "z")
|
||||
; (gtk_accel_path "<Actions>/RegionList/rlAudition" "")
|
||||
(gtk_accel_path "<Actions>/Editor/set-region-sync-position" "v")
|
||||
; (gtk_accel_path "<Actions>/Editor/PullupPlus4Plus1" "")
|
||||
; (gtk_accel_path "<Actions>/Snap/snap-to-region-boundary" "")
|
||||
; (gtk_accel_path "<Actions>/JACK/JACK" "")
|
||||
(gtk_accel_path "<Actions>/Editor/editor-cut" "<Control>x")
|
||||
; (gtk_accel_path "<Actions>/RegionList/SortAscending" "")
|
||||
; (gtk_accel_path "<Actions>/Main/Help" "")
|
||||
; (gtk_accel_path "<Actions>/options/UseExternalMonitoring" "")
|
||||
; (gtk_accel_path "<Actions>/Editor/Smpte23976" "")
|
||||
(gtk_accel_path "<Actions>/Common/goto-editor" "<Alt>e")
|
||||
(gtk_accel_path "<Actions>/Editor/select-all" "<Control>a")
|
||||
(gtk_accel_path "<Actions>/Editor/nudge-next-forward" "<Control>KP_Add")
|
||||
; (gtk_accel_path "<Actions>/Snap/snap-to-eighths" "")
|
||||
(gtk_accel_path "<Actions>/Editor/select-all-after-playhead" "<Shift><Control>p")
|
||||
(gtk_accel_path "<Actions>/Common/ToggleMaximalEditor" "F11")
|
||||
|
||||
(gtk_accel_path "<Actions>/Editor/jump-forward-to-mark" "<control>KP_Right")
|
||||
(gtk_accel_path "<Actions>/Editor/jump-backward-to-mark" "<control>KP_Left")
|
||||
|
||||
(gtk_accel_path "<Actions>/Editor/start-range" "<control>KP_Down")
|
||||
(gtk_accel_path "<Actions>/Editor/finish-range" "<control>KP_Up")
|
||||
(gtk_accel_path "<Actions>/Editor/finish-add-range" "<shift><control>KP_Up")
|
||||
|
||||
|
||||
; (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" "<Shift><Control>e")
|
||||
; (gtk_accel_path "<Actions>/RegionList/SortBySourceFileName" "")
|
||||
(gtk_accel_path "<Actions>/Editor/finish-range" "<Control>KP_Up")
|
||||
(gtk_accel_path "<Actions>/Transport/Loop" "l")
|
||||
; (gtk_accel_path "<Actions>/Editor/CrossfadesFull" "")
|
||||
(gtk_accel_path "<Actions>/Editor/finish-add-range" "<Shift><Control>KP_Up")
|
||||
; (gtk_accel_path "<Actions>/Transport/ToggleClick" "")
|
||||
; (gtk_accel_path "<Actions>/options/SendMTC" "")
|
||||
; (gtk_accel_path "<Actions>/Transport/TogglePunchOut" "")
|
||||
(gtk_accel_path "<Actions>/Editor/select-all-in-loop-range" "<Control>l")
|
||||
(gtk_accel_path "<Actions>/Editor/show-editor-mixer" "<Shift>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>/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" "<Alt>Return")
|
||||
; (gtk_accel_path "<Actions>/Editor/LayerMoveAddHigher" "")
|
||||
; (gtk_accel_path "<Actions>/Editor/Smpte60" "")
|
||||
; (gtk_accel_path "<Actions>/Main/Open" "")
|
||||
(gtk_accel_path "<Actions>/Editor/scroll-forward" "rightarrow")
|
||||
; (gtk_accel_path "<Actions>/Zoom/zoom-focus-left" "")
|
||||
; (gtk_accel_path "<Actions>/Main/TransportOptions" "")
|
||||
; (gtk_accel_path "<Actions>/Main/ControlSurfaces" "")
|
||||
; (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" "<Control>r")
|
||||
; (gtk_accel_path "<Actions>/Editor/addExternalAudioAsRegion" "")
|
||||
; (gtk_accel_path "<Actions>/Main/ExportSession" "")
|
||||
; (gtk_accel_path "<Actions>/options/InputAutoConnectPhysical" "")
|
||||
; (gtk_accel_path "<Actions>/Snap/snap-to-edit-cursor" "")
|
||||
(gtk_accel_path "<Actions>/Editor/temporal-zoom-in" "minus")
|
||||
; (gtk_accel_path "<Actions>/JACK/Latency" "")
|
||||
(gtk_accel_path "<Actions>/Editor/edit-cursor-to-range-end" "F2")
|
||||
; (gtk_accel_path "<Actions>/redirectmenu/rename" "")
|
||||
; (gtk_accel_path "<Actions>/RegionList/rlShowAuto" "")
|
||||
(gtk_accel_path "<Actions>/Editor/select-all-before-playhead" "<Control>p")
|
||||
; (gtk_accel_path "<Actions>/Editor/addExistingAudioFiles" "")
|
||||
; (gtk_accel_path "<Actions>/Main/Session" "")
|
||||
(gtk_accel_path "<Actions>/Editor/edit-cursor-to-range-start" "F1")
|
||||
; (gtk_accel_path "<Actions>/Main/AudioFileFormat" "")
|
||||
(gtk_accel_path "<Actions>/MouseMode/set-mouse-mode-timefx" "t")
|
||||
; (gtk_accel_path "<Actions>/Transport/Transport" "")
|
||||
; (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>/Editor/Crossfades" "")
|
||||
; (gtk_accel_path "<Actions>/Editor/PullupPlus4" "")
|
||||
(gtk_accel_path "<Actions>/Editor/add-location-from-playhead" "KP_Enter")
|
||||
|
||||
|
||||
(gtk_accel_path "<Actions>/Common/ToggleSoundFileBrowser" "<Alt>f")
|
||||
(gtk_accel_path "<Actions>/Editor/edit-cursor-to-previous-region-end" "<Control>bracketleft")
|
||||
; (gtk_accel_path "<Actions>/Main/MeteringHoldTime" "")
|
||||
; (gtk_accel_path "<Actions>/Editor/PullupPlus1" "")
|
||||
; (gtk_accel_path "<Actions>/Editor/Smpte24976" "")
|
||||
; (gtk_accel_path "<Actions>/options/FileDataFormat24bit" "")
|
||||
; (gtk_accel_path "<Actions>/Common/ToggleOptionsEditor" "")
|
||||
; (gtk_accel_path "<Actions>/Editor/SnapMode" "")
|
||||
; (gtk_accel_path "<Actions>/Editor/PullupMinus4" "")
|
||||
(gtk_accel_path "<Actions>/Common/goto-mixer" "<Alt>m")
|
||||
; (gtk_accel_path "<Actions>/Editor/addExternalAudioToTrack" "")
|
||||
; (gtk_accel_path "<Actions>/RegionList/SortBySourceFileCreationDate" "")
|
||||
; (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" "")
|
||||
; (gtk_accel_path "<Actions>/Editor/addExternalAudioAsTrack" "")
|
||||
(gtk_accel_path "<Actions>/Common/ToggleBigClock" "<Alt>b")
|
||||
; (gtk_accel_path "<Actions>/Snap/snap-to-asixteenthbeat" "")
|
||||
(gtk_accel_path "<Actions>/Editor/select-all-in-punch-range" "<Control>d")
|
||||
; (gtk_accel_path "<Actions>/redirectmenu/edit" "")
|
||||
(gtk_accel_path "<Actions>/Editor/duplicate-region" "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" "<Control>Delete")
|
||||
; (gtk_accel_path "<Actions>/options/FileHeaderFormatWAVE" "")
|
||||
(gtk_accel_path "<Actions>/Transport/GotoZero" "KP_Insert")
|
||||
(gtk_accel_path "<Actions>/Transport/GotoEnd" "End")
|
||||
; (gtk_accel_path "<Actions>/redirectmenu/cut" "")
|
||||
; (gtk_accel_path "<Actions>/redirectmenu/newinsert" "")
|
||||
; (gtk_accel_path "<Actions>/options/UseMMC" "")
|
||||
; (gtk_accel_path "<Actions>/options/MeterFalloffOff" "")
|
||||
(gtk_accel_path "<Actions>/MouseMode/set-mouse-mode-object" "o")
|
||||
; (gtk_accel_path "<Actions>/Editor/PullupMinus4Plus1" "")
|
||||
; (gtk_accel_path "<Actions>/Editor/MeterHold" "")
|
||||
; (gtk_accel_path "<Actions>/Snap/snap-to-cd-frame" "")
|
||||
; (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" "<Alt>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" "<Control>b")
|
||||
; (gtk_accel_path "<Actions>/RegionList/rlShowAll" "")
|
||||
(gtk_accel_path "<Actions>/Transport/Rewind" "<Control>Left")
|
||||
; (gtk_accel_path "<Actions>/RegionList/SortByRegionTimestamp" "")
|
||||
; (gtk_accel_path "<Actions>/options/VerifyRemoveLastCapture" "")
|
||||
; (gtk_accel_path "<Actions>/options/OutputAutoConnectPhysical" "")
|
||||
(gtk_accel_path "<Actions>/Editor/step-tracks-up" "uparrow")
|
||||
(gtk_accel_path "<Actions>/Editor/playhead-to-next-region-start" "Tab")
|
||||
; (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" "<Control>e")
|
||||
; (gtk_accel_path "<Actions>/Editor/Subframes80" "")
|
||||
; (gtk_accel_path "<Actions>/options/FileHeaderFormatCAF" "")
|
||||
(gtk_accel_path "<Actions>/Common/ToggleLocations" "<Alt>l")
|
||||
; (gtk_accel_path "<Actions>/Editor/ToggleGeneric MIDISurface" "")
|
||||
(gtk_accel_path "<Actions>/Editor/editor-delete" "Delete")
|
||||
; (gtk_accel_path "<Actions>/JACK/JACKLatency256" "")
|
||||
(gtk_accel_path "<Actions>/Editor/select-all-between-cursors" "u")
|
||||
; (gtk_accel_path "<Actions>/Editor/LayerAddHigher" "")
|
||||
; (gtk_accel_path "<Actions>/Editor/Solo" "")
|
||||
; (gtk_accel_path "<Actions>/JACK/JACKLatency1024" "")
|
||||
; (gtk_accel_path "<Actions>/Main/ExportRangeMarkers" "")
|
||||
(gtk_accel_path "<Actions>/Editor/set-playhead" "p")
|
||||
; (gtk_accel_path "<Actions>/Editor/toggle-xfades-active" "")
|
||||
; (gtk_accel_path "<Actions>/Snap/snap-to-bar" "")
|
||||
; (gtk_accel_path "<Actions>/Editor/LayerLaterHigher" "")
|
||||
; (gtk_accel_path "<Actions>/redirectmenu/selectall" "")
|
||||
(gtk_accel_path "<Actions>/Editor/editor-copy" "<Control>c")
|
||||
; (gtk_accel_path "<Actions>/Snap/snap-to-quarters" "")
|
||||
(gtk_accel_path "<Actions>/Editor/temporal-zoom-out" "equal")
|
||||
; (gtk_accel_path "<Actions>/options/UseSoftwareMonitoring" "")
|
||||
; (gtk_accel_path "<Actions>/Editor/Subframes100" "")
|
||||
(gtk_accel_path "<Actions>/Editor/mute-unmute-region" "m")
|
||||
; (gtk_accel_path "<Actions>/options/OutputAutoConnectManual" "")
|
||||
; (gtk_accel_path "<Actions>/Snap/snap-to-region-sync" "")
|
||||
(gtk_accel_path "<Actions>/Editor/edit-cursor-to-previous-region-sync" "apostrophe")
|
||||
; (gtk_accel_path "<Actions>/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>/Editor/edit-cursor-to-next-region-end" "<Control>bracketright")
|
||||
; (gtk_accel_path "<Actions>/Main/Recent" "")
|
||||
; (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" "")
|
||||
|
|
|
@ -164,6 +164,7 @@ ARDOUR_UI::ARDOUR_UI (int *argcp, char **argvp[], string rcfile)
|
|||
_will_create_new_session_automatically = false;
|
||||
session_loaded = false;
|
||||
last_speed_displayed = -1.0f;
|
||||
keybindings_path = ARDOUR::find_config_file ("ardour.bindings");
|
||||
|
||||
last_configure_time.tv_sec = 0;
|
||||
last_configure_time.tv_usec = 0;
|
||||
|
@ -345,9 +346,7 @@ ARDOUR_UI::save_ardour_state ()
|
|||
Config->add_instant_xml (mnode, get_user_ardour_path());
|
||||
}
|
||||
|
||||
/* keybindings */
|
||||
|
||||
AccelMap::save ("ardour.saved_bindings");
|
||||
save_keybindings ();
|
||||
}
|
||||
|
||||
void
|
||||
|
@ -382,6 +381,9 @@ If you still wish to quit, please use the\n\n\
|
|||
}
|
||||
}
|
||||
|
||||
if (session) {
|
||||
session->set_deletion_in_progress ();
|
||||
}
|
||||
engine->stop (true);
|
||||
Config->save_state();
|
||||
quit ();
|
||||
|
@ -2412,3 +2414,15 @@ ARDOUR_UI::record_state_changed ()
|
|||
break;
|
||||
}
|
||||
}
|
||||
|
||||
void
|
||||
ARDOUR_UI::set_keybindings_path (string path)
|
||||
{
|
||||
keybindings_path = path;
|
||||
}
|
||||
|
||||
void
|
||||
ARDOUR_UI::save_keybindings ()
|
||||
{
|
||||
AccelMap::save (keybindings_path);
|
||||
}
|
||||
|
|
|
@ -208,6 +208,9 @@ class ARDOUR_UI : public Gtkmm2ext::UI
|
|||
void set_native_file_header_format (ARDOUR::HeaderFormat sf);
|
||||
void set_native_file_data_format (ARDOUR::SampleFormat sf);
|
||||
|
||||
void set_keybindings_path (std::string path);
|
||||
void save_keybindings ();
|
||||
|
||||
protected:
|
||||
friend class PublicEditor;
|
||||
|
||||
|
@ -534,6 +537,9 @@ class ARDOUR_UI : public Gtkmm2ext::UI
|
|||
void connect_to_session (ARDOUR::Session *);
|
||||
void connect_dependents_to_session (ARDOUR::Session *);
|
||||
void we_have_dependents ();
|
||||
|
||||
std::string keybindings_path;
|
||||
|
||||
void setup_keybindings ();
|
||||
void setup_session_options ();
|
||||
|
||||
|
@ -665,7 +671,7 @@ class ARDOUR_UI : public Gtkmm2ext::UI
|
|||
void map_meter_falloff ();
|
||||
|
||||
void toggle_control_protocol (ARDOUR::ControlProtocolInfo*);
|
||||
void toggle_control_protocol_feedback (ARDOUR::ControlProtocolInfo*, const char* group_name, const char* action_name);
|
||||
void toggle_control_protocol_feedback (ARDOUR::ControlProtocolInfo*, const char* group_name, std::string action_name);
|
||||
};
|
||||
|
||||
#endif /* __ardour_gui_h__ */
|
||||
|
|
|
@ -60,19 +60,36 @@ ARDOUR_UI::we_have_dependents ()
|
|||
editor->UpdateAllTransportClocks.connect (mem_fun (*this, &ARDOUR_UI::update_transport_clocks));
|
||||
}
|
||||
|
||||
static void
|
||||
accel_map_changed (GtkAccelMap* map,
|
||||
gchar* path,
|
||||
guint key,
|
||||
GdkModifierType mod,
|
||||
gpointer arg)
|
||||
{
|
||||
static_cast<ARDOUR_UI*>(arg)->save_keybindings ();
|
||||
}
|
||||
|
||||
void
|
||||
ARDOUR_UI::setup_keybindings ()
|
||||
{
|
||||
install_actions ();
|
||||
RedirectBox::register_actions ();
|
||||
|
||||
std::string key_binding_file = ARDOUR::find_config_file("ardour.bindings");
|
||||
cerr << "loading bindings from " << keybindings_path << endl;
|
||||
|
||||
try {
|
||||
AccelMap::load (key_binding_file);
|
||||
AccelMap::load (keybindings_path);
|
||||
} catch (...) {
|
||||
error << "ardour key bindings file not found" << endmsg;
|
||||
error << string_compose (_("Ardour key bindings file not found at \"%1\" or contains errors."), keybindings_path)
|
||||
<< endmsg;
|
||||
}
|
||||
|
||||
/* catch changes */
|
||||
|
||||
GtkAccelMap* accelmap = gtk_accel_map_get();
|
||||
g_signal_connect (accelmap, "changed", (GCallback) accel_map_changed, this);
|
||||
|
||||
}
|
||||
|
||||
void
|
||||
|
@ -80,6 +97,10 @@ ARDOUR_UI::connect_dependents_to_session (ARDOUR::Session *s)
|
|||
{
|
||||
editor->connect_to_session (s);
|
||||
mixer->connect_to_session (s);
|
||||
|
||||
/* its safe to do this now */
|
||||
|
||||
s->restore_history ("");
|
||||
}
|
||||
|
||||
void
|
||||
|
|
|
@ -479,7 +479,7 @@ ARDOUR_UI::toggle_control_protocol (ControlProtocolInfo* cpi)
|
|||
}
|
||||
|
||||
void
|
||||
ARDOUR_UI::toggle_control_protocol_feedback (ControlProtocolInfo* cpi, const char* group, const char* action)
|
||||
ARDOUR_UI::toggle_control_protocol_feedback (ControlProtocolInfo* cpi, const char* group, string action)
|
||||
{
|
||||
if (!session) {
|
||||
/* this happens when we build the menu bar when control protocol support
|
||||
|
@ -490,14 +490,17 @@ ARDOUR_UI::toggle_control_protocol_feedback (ControlProtocolInfo* cpi, const cha
|
|||
}
|
||||
|
||||
if (cpi->protocol) {
|
||||
Glib::RefPtr<Gtk::Action> act = ActionManager::get_action (group, action);
|
||||
Glib::RefPtr<Gtk::Action> act = ActionManager::get_action (group, action.c_str());
|
||||
|
||||
if (act) {
|
||||
Glib::RefPtr<ToggleAction> tact = Glib::RefPtr<ToggleAction>::cast_dynamic (act);
|
||||
bool x = tact->get_active();
|
||||
|
||||
if (tact && x != cpi->protocol->get_feedback()) {
|
||||
cpi->protocol->set_feedback (!x);
|
||||
if (tact) {
|
||||
bool x = tact->get_active();
|
||||
|
||||
if (x != cpi->protocol->get_feedback()) {
|
||||
cpi->protocol->set_feedback (x);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -552,7 +555,7 @@ ARDOUR_UI::build_control_surface_menu ()
|
|||
(bind (mem_fun (*this, &ARDOUR_UI::toggle_control_protocol_feedback),
|
||||
*i,
|
||||
"Editor",
|
||||
action_name.c_str())));
|
||||
action_name)));
|
||||
|
||||
ui += "<menu action='";
|
||||
ui += submenu_name;
|
||||
|
|
|
@ -715,8 +715,7 @@ AudioRegionView::show_region_editor ()
|
|||
// trackview.editor.ensure_float (*editor);
|
||||
}
|
||||
|
||||
editor->show_all ();
|
||||
editor->get_window()->raise();
|
||||
editor->present ();
|
||||
}
|
||||
|
||||
void
|
||||
|
|
|
@ -698,8 +698,6 @@ CrossfadeEditor::redraw ()
|
|||
|
||||
}
|
||||
|
||||
// GTK2FIX some odd math to fix up here
|
||||
|
||||
size_t last_spt = (npoints + 3) - 1;
|
||||
|
||||
for (size_t i = 0; i < npoints; ++i) {
|
||||
|
|
|
@ -2639,13 +2639,10 @@ Editor::setup_toolbar ()
|
|||
zoom_focus_selector.signal_changed().connect (mem_fun(*this, &Editor::zoom_focus_selection_done));
|
||||
ARDOUR_UI::instance()->tooltips().set_tip (zoom_focus_selector, _("Zoom focus"));
|
||||
|
||||
zoom_box.pack_start (zoom_focus_selector, false, false);
|
||||
zoom_box.pack_start (zoom_focus_selector, true, true);
|
||||
zoom_box.pack_start (zoom_out_button, false, false);
|
||||
zoom_box.pack_start (zoom_in_button, false, false);
|
||||
//zoom_box.pack_start (zoom_range_clock, false, false);
|
||||
zoom_box.pack_start (zoom_out_full_button, false, false);
|
||||
|
||||
ARDOUR_UI::instance()->tooltips().set_tip (zoom_range_clock, _("Current Zoom Range\n(Width of visible area)"));
|
||||
|
||||
/* Edit Cursor / Snap */
|
||||
|
||||
|
|
|
@ -100,16 +100,14 @@ Editor::scroll_timeaxis_to_imageframe_item(const TimeAxisViewItem* item)
|
|||
nframes_t offset = 0;
|
||||
|
||||
nframes_t x_pos = 0 ;
|
||||
if(item->get_position() < offset)
|
||||
{
|
||||
|
||||
if (item->get_position() < offset) {
|
||||
x_pos = 0 ;
|
||||
}
|
||||
else
|
||||
{
|
||||
x_pos = item->get_position() - offset + (item->get_duration() / 2) ;
|
||||
} else {
|
||||
x_pos = item->get_position() - offset + (item->get_duration() / 2);
|
||||
}
|
||||
|
||||
reposition_x_origin(x_pos) ;
|
||||
reposition_x_origin (x_pos);
|
||||
}
|
||||
|
||||
void
|
||||
|
|
|
@ -417,6 +417,9 @@ int main (int argc, char *argv[])
|
|||
exit (1);
|
||||
}
|
||||
|
||||
if (!keybindings_path.empty()) {
|
||||
ui->set_keybindings_path (keybindings_path);
|
||||
}
|
||||
|
||||
if (!no_splash) {
|
||||
ui->show_splash ();
|
||||
|
@ -445,7 +448,7 @@ int main (int argc, char *argv[])
|
|||
}
|
||||
|
||||
ui->start_engine ();
|
||||
|
||||
|
||||
if (maybe_load_session ()) {
|
||||
ui->run (text_receiver);
|
||||
ui = 0;
|
||||
|
|
|
@ -533,7 +533,7 @@ void
|
|||
OptionEditor::port_online_toggled (MIDI::Port* port, ToggleButton* tb)
|
||||
{
|
||||
bool wanted = tb->get_active();
|
||||
|
||||
|
||||
if (wanted != port->input()->offline()) {
|
||||
port->input()->set_offline (wanted);
|
||||
}
|
||||
|
@ -542,12 +542,16 @@ OptionEditor::port_online_toggled (MIDI::Port* port, ToggleButton* tb)
|
|||
void
|
||||
OptionEditor::map_port_online (MIDI::Port* port, ToggleButton* tb)
|
||||
{
|
||||
if (port->input()->offline()) {
|
||||
tb->set_label (_("offline"));
|
||||
tb->set_active (false);
|
||||
} else {
|
||||
tb->set_label (_("online"));
|
||||
tb->set_active (true);
|
||||
bool bstate = tb->get_active ();
|
||||
|
||||
if (bstate != port->input()->offline()) {
|
||||
if (port->input()->offline()) {
|
||||
tb->set_label (_("offline"));
|
||||
tb->set_active (false);
|
||||
} else {
|
||||
tb->set_label (_("online"));
|
||||
tb->set_active (true);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -37,6 +37,7 @@ bool GTK_ARDOUR::use_vst = true;
|
|||
bool GTK_ARDOUR::new_session = false;
|
||||
char* GTK_ARDOUR::curvetest_file = 0;
|
||||
bool GTK_ARDOUR::try_hw_optimization = true;
|
||||
string GTK_ARDOUR::keybindings_path = ""; /* empty means use builtin default */
|
||||
|
||||
using namespace GTK_ARDOUR;
|
||||
|
||||
|
@ -56,7 +57,7 @@ print_help (const char *execname)
|
|||
#endif
|
||||
<< _(" [session-name] Name of session to load\n")
|
||||
<< _(" -C, --curvetest filename Curve algorithm debugger\n")
|
||||
<< _(" -g, --gtktheme Allow GTK to load a theme\n")
|
||||
<< _(" -k, --keybindings filename Name of key bindings to load (default is ~/.ardour2/ardour.bindings)")
|
||||
;
|
||||
return 1;
|
||||
|
||||
|
@ -66,7 +67,7 @@ int
|
|||
GTK_ARDOUR::parse_opts (int argc, char *argv[])
|
||||
|
||||
{
|
||||
const char *optstring = "U:hbvVnoc:C:N:g";
|
||||
const char *optstring = "U:hbvVnoc:C:N:k:";
|
||||
const char *execname = strrchr (argv[0], '/');
|
||||
|
||||
if (execname == 0) {
|
||||
|
@ -85,7 +86,6 @@ GTK_ARDOUR::parse_opts (int argc, char *argv[])
|
|||
{ "new", 1, 0, 'N' },
|
||||
{ "no-hw-optimizations", 0, 0, 'O' },
|
||||
{ "curvetest", 1, 0, 'C' },
|
||||
{ "gtktheme", 0, 0, 'g' },
|
||||
{ 0, 0, 0, 0 }
|
||||
};
|
||||
|
||||
|
@ -142,6 +142,10 @@ GTK_ARDOUR::parse_opts (int argc, char *argv[])
|
|||
curvetest_file = optarg;
|
||||
break;
|
||||
|
||||
case 'k':
|
||||
keybindings_path = optarg;
|
||||
break;
|
||||
|
||||
default:
|
||||
return print_help(execname);
|
||||
}
|
||||
|
|
|
@ -37,6 +37,7 @@ extern bool new_session;
|
|||
extern char* curvetest_file;
|
||||
extern bool try_hw_optimization;
|
||||
extern bool use_gtk_theme;
|
||||
extern string keybindings_path;
|
||||
|
||||
extern int32_t parse_opts (int argc, char *argv[]);
|
||||
|
||||
|
|
|
@ -61,9 +61,8 @@ PlaylistSelector::PlaylistSelector ()
|
|||
scroller.add (tree);
|
||||
scroller.set_policy (POLICY_AUTOMATIC, POLICY_AUTOMATIC);
|
||||
|
||||
// GTK2FIX do we need this stuff or is GTK applying some policy now?
|
||||
//set_border_width (6);
|
||||
// set_spacing (12);
|
||||
get_vbox()->set_border_width (6);
|
||||
get_vbox()->set_spacing (12);
|
||||
|
||||
get_vbox()->pack_start (scroller);
|
||||
|
||||
|
|
|
@ -242,6 +242,7 @@ class Session : public PBD::StatefulDestructible
|
|||
void set_dirty ();
|
||||
void set_clean ();
|
||||
bool dirty() const { return _state_of_the_state & Dirty; }
|
||||
void set_deletion_in_progress ();
|
||||
bool deletion_in_progress() const { return _state_of_the_state & Deletion; }
|
||||
sigc::signal<void> DirtyChanged;
|
||||
|
||||
|
@ -762,8 +763,10 @@ class Session : public PBD::StatefulDestructible
|
|||
std::map<PBD::ID, PBD::StatefulThingWithGoingAway*> registry;
|
||||
|
||||
// these commands are implemented in libs/ardour/session_command.cc
|
||||
Command *memento_command_factory(XMLNode *n);
|
||||
void register_with_memento_command_factory(PBD::ID, PBD::StatefulThingWithGoingAway *);
|
||||
Command* memento_command_factory(XMLNode* n);
|
||||
void register_with_memento_command_factory(PBD::ID, PBD::StatefulThingWithGoingAway*);
|
||||
|
||||
Command* global_state_command_factory (XMLNode* n);
|
||||
|
||||
class GlobalSoloStateCommand : public Command
|
||||
{
|
||||
|
|
|
@ -156,6 +156,7 @@ AudioEngine::stop (bool forever)
|
|||
jack_client_t* foo = _jack;
|
||||
_jack = 0;
|
||||
jack_client_close (foo);
|
||||
stop_metering_thread ();
|
||||
} else {
|
||||
jack_deactivate (_jack);
|
||||
}
|
||||
|
@ -379,9 +380,9 @@ AudioEngine::stop_metering_thread ()
|
|||
{
|
||||
if (m_meter_thread) {
|
||||
g_atomic_int_set (&m_meter_exit, 1);
|
||||
m_meter_thread->join ();
|
||||
m_meter_thread = 0;
|
||||
}
|
||||
m_meter_thread->join ();
|
||||
m_meter_thread = 0;
|
||||
}
|
||||
|
||||
void
|
||||
|
@ -395,8 +396,11 @@ AudioEngine::start_metering_thread ()
|
|||
void
|
||||
AudioEngine::meter_thread ()
|
||||
{
|
||||
while (g_atomic_int_get(&m_meter_exit) != true) {
|
||||
while (true) {
|
||||
Glib::usleep (10000); /* 1/100th sec interval */
|
||||
if (g_atomic_int_get(&m_meter_exit)) {
|
||||
break;
|
||||
}
|
||||
IO::update_meters ();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -35,6 +35,7 @@
|
|||
#include <pbd/pthread_utils.h>
|
||||
|
||||
#include <ardour/audiosource.h>
|
||||
#include <ardour/cycle_timer.h>
|
||||
|
||||
#include "i18n.h"
|
||||
|
||||
|
@ -431,7 +432,8 @@ AudioSource::read_peaks (PeakData *peaks, nframes_t npeaks, nframes_t start, nfr
|
|||
expected_peaks = (cnt / (double) frames_per_peak);
|
||||
scale = npeaks/expected_peaks;
|
||||
|
||||
#if 0
|
||||
#undef DEBUG_READ_PEAKS
|
||||
#ifdef DEBUG_READ_PEAKS
|
||||
cerr << "======>RP: npeaks = " << npeaks
|
||||
<< " start = " << start
|
||||
<< " cnt = " << cnt
|
||||
|
@ -457,8 +459,9 @@ AudioSource::read_peaks (PeakData *peaks, nframes_t npeaks, nframes_t start, nfr
|
|||
|
||||
if (npeaks == cnt) {
|
||||
|
||||
#ifdef DEBUG_READ_PEAKS
|
||||
cerr << "RAW DATA\n";
|
||||
|
||||
#endif
|
||||
/* no scaling at all, just get the sample data and duplicate it for
|
||||
both max and min peak values.
|
||||
*/
|
||||
|
@ -490,7 +493,9 @@ AudioSource::read_peaks (PeakData *peaks, nframes_t npeaks, nframes_t start, nfr
|
|||
return -1;
|
||||
}
|
||||
|
||||
// cerr << "DIRECT PEAKS\n";
|
||||
#ifdef DEBUG_READ_PEAKS
|
||||
cerr << "DIRECT PEAKS\n";
|
||||
#endif
|
||||
|
||||
nread = ::pread (peakfile, peaks, sizeof (PeakData)* npeaks, first_peak_byte);
|
||||
close (peakfile);
|
||||
|
@ -523,8 +528,9 @@ AudioSource::read_peaks (PeakData *peaks, nframes_t npeaks, nframes_t start, nfr
|
|||
|
||||
if (scale < 1.0) {
|
||||
|
||||
// cerr << "DOWNSAMPLE\n";
|
||||
|
||||
#ifdef DEBUG_READ_PEAKS
|
||||
cerr << "DOWNSAMPLE\n";
|
||||
#endif
|
||||
/* the caller wants:
|
||||
|
||||
- more frames-per-peak (lower resolution) than the peakfile, or to put it another way,
|
||||
|
@ -535,7 +541,7 @@ AudioSource::read_peaks (PeakData *peaks, nframes_t npeaks, nframes_t start, nfr
|
|||
to avoid confusion, I'll refer to the requested peaks as visual_peaks and the peakfile peaks as stored_peaks
|
||||
*/
|
||||
|
||||
const uint32_t chunksize = (uint32_t) min (expected_peaks, 4096.0);
|
||||
const uint32_t chunksize = (uint32_t) min (expected_peaks, 65536.0);
|
||||
|
||||
staging = new PeakData[chunksize];
|
||||
|
||||
|
@ -569,10 +575,15 @@ AudioSource::read_peaks (PeakData *peaks, nframes_t npeaks, nframes_t start, nfr
|
|||
tnp = min ((_length/frames_per_peak - current_stored_peak), (nframes_t) expected_peaks);
|
||||
to_read = min (chunksize, tnp);
|
||||
|
||||
off_t fend = lseek (peakfile, 0, SEEK_END);
|
||||
#ifdef DEBUG_READ_PEAKS
|
||||
cerr << "read " << sizeof (PeakData) * to_read << " from peakfile @ " << start_byte << endl;
|
||||
#endif
|
||||
|
||||
if ((nread = ::pread (peakfile, staging, sizeof (PeakData) * to_read, start_byte))
|
||||
!= sizeof (PeakData) * to_read) {
|
||||
|
||||
off_t fend = lseek (peakfile, 0, SEEK_END);
|
||||
|
||||
cerr << "AudioSource["
|
||||
<< _name
|
||||
<< "]: cannot read peak data from peakfile ("
|
||||
|
@ -589,11 +600,11 @@ AudioSource::read_peaks (PeakData *peaks, nframes_t npeaks, nframes_t start, nfr
|
|||
<< endl;
|
||||
goto out;
|
||||
}
|
||||
|
||||
|
||||
i = 0;
|
||||
stored_peaks_read = nread / sizeof(PeakData);
|
||||
}
|
||||
|
||||
|
||||
xmax = -1.0;
|
||||
xmin = 1.0;
|
||||
|
||||
|
@ -624,8 +635,9 @@ AudioSource::read_peaks (PeakData *peaks, nframes_t npeaks, nframes_t start, nfr
|
|||
|
||||
} else {
|
||||
|
||||
// cerr << "UPSAMPLE\n";
|
||||
|
||||
#ifdef DEBUG_READ_PEAKS
|
||||
cerr << "UPSAMPLE\n";
|
||||
#endif
|
||||
/* the caller wants
|
||||
|
||||
- less frames-per-peak (more resolution)
|
||||
|
@ -704,6 +716,10 @@ AudioSource::read_peaks (PeakData *peaks, nframes_t npeaks, nframes_t start, nfr
|
|||
delete [] raw_staging;
|
||||
}
|
||||
|
||||
#ifdef DEBUG_READ_PEAKS
|
||||
cerr << "RP DONE\n";
|
||||
#endif
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
@ -777,6 +793,7 @@ AudioSource::do_build_peak (nframes_t first_frame, nframes_t cnt)
|
|||
off_t first_peak_byte;
|
||||
int peakfile = -1;
|
||||
int ret = -1;
|
||||
off_t target_length;
|
||||
|
||||
#ifdef DEBUG_PEAK_BUILD
|
||||
cerr << pthread_self() << ": " << _name << ": building peaks for " << first_frame << " to " << first_frame + cnt - 1 << endl;
|
||||
|
@ -828,6 +845,20 @@ AudioSource::do_build_peak (nframes_t first_frame, nframes_t cnt)
|
|||
cnt -= frames_read;
|
||||
}
|
||||
|
||||
#define BLOCKSIZE (256 * 1024)
|
||||
|
||||
target_length = BLOCKSIZE * ((first_peak_byte + BLOCKSIZE + 1) / BLOCKSIZE);
|
||||
|
||||
/* on some filesystems (ext3, at least) this helps to reduce fragmentation of
|
||||
the peakfiles. its not guaranteed to do so, and even on ext3 (as of december 2006)
|
||||
it does not cause single-extent allocation even for peakfiles of
|
||||
less than BLOCKSIZE bytes.
|
||||
*/
|
||||
|
||||
ftruncate (peakfile, target_length);
|
||||
|
||||
/* error doesn't actually matter though, so continue on without testing */
|
||||
|
||||
if (::pwrite (peakfile, peakbuf, sizeof (PeakData) * peaki, first_peak_byte) != (ssize_t) (sizeof (PeakData) * peaki)) {
|
||||
error << string_compose(_("%1: could not write peak file data (%2)"), _name, strerror (errno)) << endmsg;
|
||||
goto out;
|
||||
|
|
|
@ -180,7 +180,7 @@ ControlProtocolManager::discover_control_protocols (string path)
|
|||
vector<string *> *found;
|
||||
PathScanner scanner;
|
||||
|
||||
info << string_compose (_("looking for control protocols in %1"), path) << endmsg;
|
||||
// info << string_compose (_("looking for control protocols in %1"), path) << endmsg;
|
||||
|
||||
found = scanner (path, protocol_filter, 0, false, true);
|
||||
|
||||
|
|
|
@ -831,10 +831,6 @@ Session::when_engine_running ()
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
/* its safe to do this now */
|
||||
|
||||
restore_history (snap_name());
|
||||
|
||||
_state_of_the_state = StateOfTheState (_state_of_the_state & ~(CannotSave|Dirty));
|
||||
|
||||
|
@ -861,7 +857,6 @@ Session::hookup_io ()
|
|||
*/
|
||||
|
||||
_state_of_the_state = StateOfTheState (_state_of_the_state | InitialConnecting);
|
||||
cerr << "InitialConnecting set\n";
|
||||
|
||||
if (auditioner == 0) {
|
||||
|
||||
|
@ -917,7 +912,6 @@ Session::hookup_io ()
|
|||
IOConnectionsComplete (); /* EMIT SIGNAL */
|
||||
|
||||
_state_of_the_state = StateOfTheState (_state_of_the_state & ~InitialConnecting);
|
||||
cerr << "InitialConnectingUN set\n";
|
||||
|
||||
/* now handle the whole enchilada as if it was one
|
||||
graph reorder event.
|
||||
|
|
|
@ -22,7 +22,8 @@ void Session::register_with_memento_command_factory(PBD::ID id, PBD::StatefulThi
|
|||
registry[id] = ptr;
|
||||
}
|
||||
|
||||
Command *Session::memento_command_factory(XMLNode *n)
|
||||
Command *
|
||||
Session::memento_command_factory(XMLNode *n)
|
||||
{
|
||||
PBD::ID id;
|
||||
XMLNode *before = 0, *after = 0;
|
||||
|
@ -87,6 +88,13 @@ Command *Session::memento_command_factory(XMLNode *n)
|
|||
return 0 ;
|
||||
}
|
||||
|
||||
Command *
|
||||
Session::global_state_command_factory(XMLNode *n)
|
||||
{
|
||||
error << string_compose (_("cannot reconstitute %1 from XML yet, ignored"), n->name()) << endmsg;
|
||||
return 0 ;
|
||||
}
|
||||
|
||||
// solo
|
||||
Session::GlobalSoloStateCommand::GlobalSoloStateCommand(Session &sess, void *src)
|
||||
: sess(sess), src(src)
|
||||
|
|
|
@ -1218,7 +1218,6 @@ Session::set_state (const XMLNode& node)
|
|||
StateReady (); /* EMIT SIGNAL */
|
||||
|
||||
_state_of_the_state = Clean;
|
||||
cerr << "session marked clean\n";
|
||||
|
||||
if (state_was_pending) {
|
||||
save_state (_current_snapshot_name);
|
||||
|
@ -2817,6 +2816,12 @@ Session::set_clean ()
|
|||
}
|
||||
}
|
||||
|
||||
void
|
||||
Session::set_deletion_in_progress ()
|
||||
{
|
||||
_state_of_the_state = StateOfTheState (_state_of_the_state | Deletion);
|
||||
}
|
||||
|
||||
void
|
||||
Session::add_controllable (Controllable* c)
|
||||
{
|
||||
|
@ -2917,6 +2922,10 @@ Session::restore_history (string snapshot_name)
|
|||
XMLTree tree;
|
||||
string xmlpath;
|
||||
|
||||
if (snapshot_name.empty()) {
|
||||
snapshot_name = _current_snapshot_name;
|
||||
}
|
||||
|
||||
/* read xml */
|
||||
xmlpath = _path + snapshot_name + ".history";
|
||||
cerr << string_compose(_("Loading history from '%1'."), xmlpath) << endmsg;
|
||||
|
@ -2957,10 +2966,21 @@ Session::restore_history (string snapshot_name)
|
|||
if (n->name() == "MementoCommand" ||
|
||||
n->name() == "MementoUndoCommand" ||
|
||||
n->name() == "MementoRedoCommand") {
|
||||
|
||||
if ((c = memento_command_factory(n))) {
|
||||
ut->add_command(c);
|
||||
}
|
||||
|
||||
} else if (n->name() == "GlobalRecordEnableStateCommand" ||
|
||||
n->name() == "GlobalSoloStateCommand" ||
|
||||
n->name() == "GlobalMuteStateCommand") {
|
||||
|
||||
if ((c = global_state_command_factory (n))) {
|
||||
ut->add_command (c);
|
||||
}
|
||||
|
||||
} else {
|
||||
|
||||
error << string_compose(_("Couldn't figure out how to make a Command out of a %1 XMLNode."), n->name()) << endmsg;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,4 +1,14 @@
|
|||
# -*- python -*-
|
||||
|
||||
import os.path
|
||||
import glob
|
||||
|
||||
libclearlooks_files = [
|
||||
'clearlooks_draw.c',
|
||||
'clearlooks_rc_style.c',
|
||||
'clearlooks_style.c',
|
||||
'clearlooks_theme_main.c',
|
||||
'support.c' ]
|
||||
|
||||
Import ('env install_prefix')
|
||||
|
||||
|
@ -7,13 +17,7 @@ clearlooks = env.Copy()
|
|||
clearlooks.Replace(CCFLAGS = ' `pkg-config --cflags gtk+-2.0` ',
|
||||
LINKFLAGS = ' `pkg-config --libs gtk+-2.0` ')
|
||||
|
||||
libclearlooks = clearlooks.SharedLibrary('clearlooks', [
|
||||
'clearlooks_draw.c',
|
||||
'clearlooks_rc_style.c',
|
||||
'clearlooks_style.c',
|
||||
'clearlooks_theme_main.c',
|
||||
'support.c'
|
||||
])
|
||||
libclearlooks = clearlooks.SharedLibrary('clearlooks', libclearlooks_files)
|
||||
|
||||
usable_libclearlooks = clearlooks.Install ('engines', libclearlooks)
|
||||
Default (usable_libclearlooks)
|
||||
|
@ -21,3 +25,9 @@ Default (usable_libclearlooks)
|
|||
env.Alias('install',
|
||||
env.Install(os.path.join(install_prefix,'lib/ardour2/engines'),
|
||||
libclearlooks))
|
||||
|
||||
env.Alias('tarball', env.Distribute (env['DISTTREE'],
|
||||
[ 'SConscript', 'bits.c'] +
|
||||
libclearlooks_files +
|
||||
glob.glob('*.h')
|
||||
))
|
||||
|
|
|
@ -3,6 +3,7 @@
|
|||
import os
|
||||
import glob
|
||||
template_files = glob.glob('*.template.in')
|
||||
files = glob.glob('*.template')
|
||||
|
||||
Import('env install_prefix subst_dict')
|
||||
|
||||
|
@ -13,5 +14,5 @@ for template in template_files:
|
|||
|
||||
Default(template_build)
|
||||
|
||||
env.Alias('install', env.Install(os.path.join(install_prefix, 'share/ardour2/templates'), template_build))
|
||||
env.Alias('install', env.Install(os.path.join(install_prefix, 'share/ardour2/templates'), files))
|
||||
env.Alias('tarball', env.Distribute (env['DISTTREE'], [ 'SConscript' ] + template_build))
|
||||
|
|
Loading…
Reference in New Issue