13
0
Commit Graph

12460 Commits

Author SHA1 Message Date
7b96fa1c5e
Fix some Gtk::Menu memory leaks
A Gtk::manage()d widget will be deleted when its parent container
is destroyed. Top-level context menus are not inside a container and
hence need to be manually deallocated.

The solution here is to use a shared Gtk::Menu pointer that is
centrally de/re-allocated.

This works because the GUI is single-threaded and at most one
context menu is visible at a time.
2019-03-07 23:50:50 +01:00
12a415f077
Cleanup Editor/Marker context-menu
This could have caused crashes previously:
::build_range_marker_menu() may have created range_marker_menu
while the GUI wanted transport_marker_menu.
2019-03-07 23:50:46 +01:00
64e1d691ec
Prefer using RAII to suspend signals 2019-03-07 23:50:43 +01:00
3bc9281c31
Fix some Gtk::Menu related memory leaks
A Gtk::manage()d widget will be deleted when its parent container
is destroyed. Top-level context menus are not inside a container and
hence need to be manually deallocated.

This adds explicit delete calls for menus where there is a
member variable reference to the Menu.
2019-03-07 23:50:32 +01:00
204d7bf76c
Remove cruft: unused members 2019-03-07 22:25:19 +01:00
b410cd07ab
Remove unused region_edit_menu & edit-point action 2019-03-07 22:25:19 +01:00
10bc824032 selection must be enabled to allow editable columns :(( 2019-03-07 13:30:24 -07:00
d301bef742 redesign naming and reload of MIDI port information (GUI edition) 2019-03-07 12:01:27 -07:00
66f73f40db Fix thinko: if the entered_regionview is already part of the selection, do not treat it as a special case when splitting. 2019-03-07 09:50:00 -06:00
210d03a477
Retain generated plugin menu
Fixes occasional crash when Menu is re-used.
PluginSelector::plugin_menu() is called every time the processor box
shows the context-menu. The provided menu needs to remain valid
regardless of usage.
2019-03-06 21:21:29 +01:00
2bfe0c6ff7
Properly map MonitorSection state on session load 2019-03-06 00:47:59 +01:00
a390d8d3ca
Use enum for exec stderr parameter (2/2) 2019-03-05 22:49:18 +01:00
84aedbb532 remove ill-conceived use-session-timecode-format option 2019-03-03 09:59:05 -07:00
e791966f75
Add GUI option to include session-meta-data when exporting mp3 2019-03-02 14:39:10 +01:00
9c1801fedb
Show VCA pane when a new VCA is created. 2019-03-01 19:02:38 +01:00
f098a6fb06
Revert "Show VCA pane whan adding a VCA"
This reverts commit 9a0260148d.
2019-03-01 18:44:52 +01:00
9a0260148d
Show VCA pane whan adding a VCA 2019-03-01 18:00:11 +01:00
6be7fa2d45
Prefix an asterisk to indicate plugin replication
This saves space compared to "(NxN) ", especially with narrow
mixer-strips
2019-03-01 17:48:46 +01:00
6daba61ab2
Replicated plugin instances may or may not be mono 2019-03-01 17:43:44 +01:00
94d3da7e09
GUI updates to handle monitor-section changes
This fixes various MS related action sensitivity issues, as well
as action-states.

Also manually adding a monitor-section to a session now always
immediately shows it, regardless of prior ToggleMonitorSection
visibility.
2019-03-01 16:51:08 +01:00
0df8552627 auto-return is still available if using JACK transport 2019-02-28 17:18:28 -07:00
47d143a45d
Remove unused RulerType 2019-03-01 00:52:36 +01:00
8244026533
Consolidate ToggleAction cast, use new API
Furthermore we can assume that all Actions are registered and
Unregistered actions will ::abort() execution.
2019-02-28 23:54:42 +01:00
00934aec0d
Initialize per session instant state
Per session (instant.xml) GUI options do not have a sigc::slot<> backed
configuration interface to initialize the Actions.

This fixes a first-time start issue (no instant.xml) where GUI panes
may be visible (default) while the actions are "off" (default).

This is a tentative solution, instant.xml backed ToggleAction
initialization needs to be consolidated somehow.
2019-02-28 23:54:13 +01:00
9f571b91d3
x-fade uses cairo-generated icons, remove XPM 2019-02-28 21:30:45 +01:00
65d147fcc9
The end of long and winding "road to compiling" cdc2d055f 2019-02-28 18:42:27 +01:00
c83ba53399
Remove ancient, unmaintained xcode project files 2019-02-28 18:12:44 +01:00
8c68d35819
Add phase labels -180..180 deg for analysis display 2019-02-28 04:49:37 +01:00
f14c6ea734
NO-OP: whitespace 2019-02-28 04:49:34 +01:00
92a16d0e76
NO-OP: whitespace 2019-02-28 04:49:32 +01:00
62470f3cb4
NO-OP: whitespace 2019-02-28 03:08:21 +01:00
06854e1315
Re-work plugin-analysis (fix crashes)
Plugin-analysis uses a fixed number of samples, which may be larger
than the session's block-size. This caused problems for some VST
plugins that use audioMasterCallback to query the session's block-size.

Plugin FFT analysis now processes in chunks of the session's block-size
to avoid this issue. This also allows to increase accuracy for
all plugin standards (FFT size was increased to 8192).
2019-02-28 01:26:30 +01:00
61623f730c
More slaved_to() replacements, fix typo 2019-02-27 16:49:29 +01:00
593fa3c0c4
Consolidate code, use dedicated API 2019-02-27 16:46:16 +01:00
29db406512
Fix crash when pressing "Esc" without a session
Ardour's UI can process a key-binding or emit the Escape() signal
without a loaded session or when unloading a session.
2019-02-26 20:08:56 +01:00
85877adf56
Do not save export format for indirect changes
Previously selecting a different export format that changed global
settings (eg. toggle analysis) triggered an indirect save of the format.
2019-02-26 19:57:27 +01:00
c36dfbedb7
Re-work TimeFX cancel/abort
When processing multiple regions, apply results at the end, so that
when the action is canceled, no changes are applied.
Furthermore, do not commit an undo-command if time-stretch is a no-op.
2019-02-26 03:01:53 +01:00
1776939dd3
Fix TimeFX threading (detached thread must not be joined) 2019-02-26 02:16:59 +01:00
157d923cdd
ALlow Markup for LuaDialog.Message 2019-02-20 17:22:36 +01:00
feab950ea0
Update Latency UI, subscribe to changes 2019-02-17 03:15:18 +01:00
4ee15fa7b3
Tweak meterbridge track reordering -- amend d03574987 2019-02-16 23:37:21 +01:00
23a98e5f4d remove references to "Editor_menus" which is an action that no longer exists 2019-02-16 13:12:45 -07:00
3df88accc6 additional logic to avoid showing top-level menu actions in the key shortcut editor 2019-02-16 13:06:08 -07:00
56e950b189 rename Main_menu action to Main menu
So that if it ever does show up in a list, it looks nice
2019-02-16 13:05:41 -07:00
f4c1f237c9 fix mistaken action paths used in MonitorSection
(after recent changes to make some actions "global")
2019-02-16 13:04:16 -07:00
655e53fcc4 monitor section "global actions" are only global, no MS-specific versions 2019-02-16 01:15:12 -07:00
e746ca3645 get ordering correct of global binding set creation and action registration (part2) 2019-02-16 01:15:12 -07:00
308036b195 MonitorSection should only define global actions for mono/dim/cut (all channels)
If it defines local versions, we can end up with two (different) bindings for the same action, one
in global scope, one when MonitorSection has key focus. Bad.
2019-02-16 01:15:12 -07:00
b0f99312d8 get ordering correct of global binding set creation and action registration 2019-02-16 01:15:12 -07:00
8b64f556d7
Tentative Latency GUI update 2019-02-16 01:10:50 +01:00