13
0
Commit Graph

26965 Commits

Author SHA1 Message Date
d53af10c92
AU: mark preset dirty when parameter changes 2018-12-01 05:36:33 +01:00
b66726fdc1
Fix AU preset handling
load_property_list() takes a file-path (not URI). Actually it's not
clear why we've ever used a `file:///` URI internally.
2018-12-01 05:33:26 +01:00
0ce0c47697
Night of the typos III (amend prev 2 commits) 2018-12-01 03:22:04 +01:00
c921a67123
Also use xjadeo 64bit windows version 2018-12-01 03:13:59 +01:00
6e0487fc1f
Harvid and xjadeo now feature 32/64bit window version(s) 2018-12-01 00:56:20 +01:00
3a0a2902b5
Freeze harvid/xjadeo PPC version 2018-11-30 18:10:35 +01:00
7801888810 fix incorrect accumulation of export video options each time the dialog is used 2018-11-29 17:43:17 -05:00
f443626daa
Fix a tiny memory leak, add_instant_xml() copies the node 2018-11-29 14:25:52 +01:00
e42699600b
Delete temporary Window Proxy for dialogs
There are two cases:
 (A) Proxy is created first, dialog is created later on demand
 (B) Dialog is created and directly registers its window as proxy

In (B) the dialog is usually on the stack and destroyed when the
ArdourDialog instances leaves scope. In that case ~ArdourDialog()
is called and the proxy remained.

Destroying the proxy does destroy the registered window in ~WindowProxy()
If ArdourDialog's d'tor itself deletes the proxy it would recurse into
itself. Existing APIs e.g. drop_window() likewise delete the window and
cannot be safely called from ~ArdourDialog.
2018-11-29 14:25:22 +01:00
fc24b9f0b7
Fix uninitialized variable 2018-11-29 02:10:08 +01:00
a22a501537
NO-OP: whitespace 2018-11-29 02:07:29 +01:00
1759d1c9c9
Fix a tiny memory-leak when calling vfork 2018-11-29 02:06:42 +01:00
6fc2804414
Disk I/O: only allocate midi-buffer if needed
This fixes a memory-leak (_midi_buf was allocated in DiskIOProc
but only delete in DiskReader). Also skip midi-refill early on
2018-11-29 02:05:26 +01:00
dfbda9e0f6
Fix a potential memory-corruption
Disk-writer run() can concurrently use the ringbuffer after it was
free()ed by the butler thread.
2018-11-28 21:41:30 +01:00
076e9fddd4
Remove ambiguous API implementation
* PortEngine::available() implementation
* AudioEngine::connected() wrapper

Eventually we may re-introduce PortEngine::available along
with a libardour internal port-engine.
2018-11-28 15:32:40 +01:00
81857a947c
Consolidate ambiguous engine API calls
available(), connected(), running() were ill-defined and
used interchangeably.
2018-11-28 15:24:47 +01:00
df28a71252
Consolidate API, prefer ->running() 2018-11-28 15:19:39 +01:00
0805b6b925
Consolidate two more engine-checks 2018-11-28 15:17:57 +01:00
245d48dbd0
NO-OP: Clarify function name 2018-11-28 15:16:25 +01:00
76f9764a44
Use central method to check for engine for processor operations 2018-11-28 00:02:57 +01:00
f150f6c074
Use central method to check for engine where required
These are generally places where tracks/busses are created or port
connections change.
2018-11-28 00:01:50 +01:00
415721fa5b
Prepare central engine check and user notification 2018-11-27 23:57:53 +01:00
1d8dc009f7
Catch potential exceptions when adding tracks/busses 2018-11-27 13:19:34 +01:00
57d7b5de65
GUI limitation: Require engine to add/remove tracks/busses 2018-11-27 13:18:39 +01:00
5531a440c9
Fix stuck connection block when template load fails.
Session::new_route_from_template() unconditionally calls
IO::disable_connecting(), and needs to be reverted likewise
(no RAII here).
2018-11-26 21:45:06 +01:00
dce81aecc5
Prevent deadlock when removing routes w/o engine 2018-11-26 03:31:02 +01:00
ae2a6175cc
Don't allow to add/remove monitor-section w/o engine
Adding/removing the Monitor section changes port-connections,
a port-engine is needed to establish connections.

Ideally we'd allow this and queue for connection changes. This
will however require deep changes.

Also toggling the monitor-section on/off/on w/o engine can later
result in failure to register ports. Due to lack of engine-signals
not all shared_ptr<> port references are dropped.
2018-11-26 03:15:14 +01:00
13c984c216
Fix various issues when the engine disconnects:
Previously Port::PortDrop was never handled.
The signal was disconnected directly when the connection
is re-used by Port::PortSignalDrop.

Ports::drop() was not called when the engine was stopped
or disconnected, and port-handles were not invalidated.

This lead to crashes whenever a port-related operation was performed
while the engine was stopped. e.g. adding/removing tracks or plugins
(latency recompute, notify port-engine) and various other operations.
2018-11-26 02:39:55 +01:00
4bbfb6ce50
Fix a double-free, introduced in b06713bd8e
~OptionEditor() already frees all components on every page.
2018-11-26 00:32:29 +01:00
cf98a75558
Do not allocate MIDI buffers for signal analysis
At this point in time MIDI buffers are vastly over-sized.
They include VST and LV2 event structure. This added about a MB per
plugin for no benefit.
2018-11-25 17:43:15 +01:00
5273c636ab
Fix Linux/PPC64 runtime
This fixes an error while loading shared libraries: libardour.so

  R_PPC64_ADDR32 reloc at 0x... for symbol `' out of range

Treating a local as an immediate value in asm code makes the library
non-relocatable.
2018-11-25 16:57:51 +01:00
3fd8dad9d6
Allow compilation with winpthreads -- closes #7691 2018-11-25 16:51:24 +01:00
bdc82f68e6
Bundle x42-limiter with binaries 2018-11-25 16:40:28 +01:00
01e0472481 Auditioner: check if removing synth succeeds
remove_processor() also calls drop_references, when successful.
2018-11-24 02:01:16 +01:00
948c5d0706 Handle some midnam edge-cases
Whitespace between XML nodes can result in "text" children.
Those need to be skipped in the patch-name list.
2018-11-23 22:43:26 +01:00
771ddcc86f NO-OP: whitespace and re-organization 2018-11-23 22:09:13 +01:00
2e3e183204 Load audition synth on demand
This saves some memory (gmsynth loads a 30MB soundfont), and also
re-initializes the synth every time to gm defaults in case some
.mid changes patches or parameters.
2018-11-23 22:00:04 +01:00
8c4c97d1e2 Update Fluidsynth to v2.0.2 2018-11-23 16:05:19 +01:00
f28b03c305 Add/remove source(s) in our MSVC project (gtk2_ardour) 2018-11-23 07:28:17 +00:00
afee22d5fa Add/remove source(s) in our MSVC project (audiographer) 2018-11-23 07:27:32 +00:00
b7317eb1b3 Add/remove source(s) in our MSVC project (libardour) 2018-11-23 07:25:54 +00:00
04fe6d6fb4 Amend prev. commit, actually remove (1.0 - x) as was documented 2018-11-22 21:05:03 +01:00
7ed37d67ff Backwards compatible sndfile support
SFC_SET_COMPRESSION_LEVEL was only added in 2012 and only available in
libsndfile 1.0.26 or later.
2018-11-22 20:36:41 +01:00
e297951b30 Extend LV2UI-Request-Parameter File/Path GUI
This is a bit of a playground implementation, the various `#if 0`
code-blocks should be removed.
2018-11-22 15:02:35 +01:00
f795462100 Save LV2 Port Property values locally
This keeps track of lv2:Parameter properties modified with Port:Set,
currently file-paths.
2018-11-22 14:58:44 +01:00
abf1f286d4 Fix LV2UI_Request_Parameter Feature URI 2018-11-22 06:12:54 +01:00
14c390ed02 Update codec-quality display when ExportFormat changes 2018-11-21 23:21:52 +01:00
555dcd11fd Properly revert FormatSpec changes on "cancel"
Previously the ExportFormatDialog saved changes to disk on "save" but
did nothing on "cancel". The format changed *remained* modified in
memory, just not saved (until the ExportProfileManager is re-instantiated)
2018-11-21 23:21:13 +01:00
9326ced760 Allow to revert export-format from disk
This allows to restore ProfileManager's ExportFormatSpec without
re-instantiating the ProfileManager.
2018-11-21 23:14:52 +01:00
3d366053e2 Set encoder quality for existing ExportFormatSpecs 2018-11-21 21:19:01 +01:00