13
0
Commit Graph

20067 Commits

Author SHA1 Message Date
cda5b48b96 initialize output data ports for cases where the plugin is not run
(e.g. load session with inactive track, or instantiate an audio plugin
on a midi track before the synth)
2016-04-26 22:21:00 +02:00
4b8bc84e4a let GMainContext clean up after us.
this fixes a potential crash in
AsyncMIDIPort::~AsyncMIDIPort() -> CrossThreadChannel::~CrossThreadChannel()
2016-04-26 19:45:06 +02:00
43e620504a port 93eac8b0 to ALSA and CoreAudio 2016-04-26 18:19:48 +02:00
59f7df38a2 allow to duplicate tracks with sends or load templates with sends/inserts 2016-04-26 18:16:14 +02:00
09e5730ffd lua snippet to interact with portengine 2016-04-26 18:16:14 +02:00
5227f57f2e implement missing PortManager methods and lua-bind them 2016-04-26 18:16:14 +02:00
7f8c7d8647 #define HAVE_JACK_PORT_RENAME when building with MSVC
This means needing to build against libjack v1.9.11 (or later) although that's probably not a bad thing.
2016-04-26 15:02:20 +01:00
93eac8b068 Use 'const_iterator' to prevent MSVC from complaining 2016-04-26 14:58:16 +01:00
f8e05b6be3 remove the splash-screen when changing sessions
ARDOUR_UI::load_session()'s loading_message() shows the splash in
all cases. But only the initial ARDOUR_UI::starting() does destroy it.

In some cases we got away because the Engine Dialog pops back the
splash and the dialog is never destroyed (only hidden).
It's not until ~Dialog that the splash is displayed again (if it exists).
2016-04-26 13:03:47 +02:00
01286b442e don't show engine dialog when loading a session..
..and the engine is running at the desired samplerate
2016-04-26 12:56:52 +02:00
7cbc6cf8a2 styleguide #10
sigc keeps a reference to the shared_ptr, AsyncMidiPorts were never
unregistered, causing issues when loading a new session w/o Engine
restart.
2016-04-26 04:02:58 +02:00
2169de3975 keep portmap & portindex in sync when renaming ports
Fixes crash on session re-load (introduced in 800c8182 and fde99e68)
2016-04-26 02:26:20 +02:00
11a69068af PortManager lua bindings (to debug lingering ports) 2016-04-26 02:21:09 +02:00
d27f223cd6 tweak location-UI layout (right-align checkboxes & buttons) 2016-04-25 19:55:00 +02:00
e4890b1a85 slightly improved location-UI layout 2016-04-25 19:39:59 +02:00
d1ea5ea22a NO-OP whitespace 2016-04-25 18:49:42 +02:00
674fa50fb8 return of the location GoTo Button
Despite the tooltip, middle-click to locate is not very discoverable,
and tricky to not-available on MacBooks.
2016-04-25 18:17:35 +02:00
77a36d6392 compile-time test for useful ASL API 2016-04-25 09:37:27 -04:00
0e1642f0b4 remove unused code 2016-04-25 09:37:27 -04:00
e984dcec74 fix copy/paste typo in in 5e0f0fc 2016-04-25 14:29:12 +02:00
0e4b3735a5 update luadoc tools 2016-04-25 13:49:43 +02:00
4f3f966276 update [lua bindings] documentation 2016-04-25 13:06:40 +02:00
5e0f0fc9f2 lua action details (button sensitivity, text ellipsis) 2016-04-25 12:56:21 +02:00
f4f9963cdd add missing header for luadoc 2016-04-25 02:35:45 +02:00
9c622e3c99 add optional buttons to trigger lua scripted actions. 2016-04-25 00:16:08 +02:00
55fb20f491 update keyeditor when action label changes 2016-04-24 22:20:44 +02:00
fde99e68f7 ..and CoreAudio. 2016-04-24 20:45:50 +02:00
800c8182c6 O(log(n)) port and connection lookup for ALSA 2016-04-24 20:45:37 +02:00
ce052ba20a now with C++98 compat 2016-04-24 18:34:31 +02:00
a3856d44b2 delayline: use boost::shared_array 2016-04-24 18:26:39 +02:00
d1874d4685 optimize port lookup, adding/removing/reconnecting routes
xxxAudioBackend::connected_to() is called O(N^2) when building the graph.
Mitigate this by using an O(log(N)) lookup.

This duplicates the storage (both set and map and both are kept in sync.
Changing this to a boost:bidirectional might be nice, before updating
other backends.
2016-04-24 18:26:39 +02:00
1321701189 reduce debug-build overhead. 2016-04-24 18:26:39 +02:00
36a928f0ae we need the process lock after all.. 2016-04-24 18:26:39 +02:00
2fabe64bbb restore sending stderr/stdout to the console
This is done unconditionally right now for any ARDOUR_BUNDLED case. Need to
find a conditional, so that we can run from the command line/inside a debugger.
The -psn_XXXX argument will likely work
2016-04-24 11:25:03 -04:00
d2b892a9ae add debug facilities to arlua (valgrind, callgrind) to test libardour 2016-04-24 14:43:18 +02:00
f80c0faa24 some new lua-bindings and session-lua (creating sessions) 2016-04-24 14:43:18 +02:00
f02db9b04e NO-OP whitespace 2016-04-24 14:43:18 +02:00
e025c45cda fix crash when loading a session with non-default clock modes.
set_mode() emits ModeChanged which results in save_extra_xml().
If this happens during session-load, the XML iterator is invalidated.
2016-04-24 14:43:18 +02:00
667a4aafb5 fix mismatched delete/delete[] 2016-04-24 14:43:18 +02:00
f6a621346c some notes on mem-leaks... 2016-04-24 14:43:18 +02:00
e3536fbefe hand over automationlist undo state ownership (mem-leak) 2016-04-24 14:43:18 +02:00
e3607a4c8b plug some memory leaks in libardour 2016-04-24 14:43:18 +02:00
c4c6c38dbd do NOT use Glib::ustring unless you know that the contents are UTF-8 AND that you need to iterate glyph by glyph
This fixes a Glib::ConvertError that occured when using Glib::ustring::operator<<
inside a compose operation. This implicitly uses Glib::locale_from_utf8(), and if the string
is not legal UTF-8, an exception will be thrown.

std::string should be used EVERYWHERE unless glyph-by-glyph iteration is required. This is
very rare in the Ardour codebase, so you really shouldn't see Glib::ustring anywhere. The
main exception is handling user-input for a few specific cases.
2016-04-24 00:38:05 -04:00
4fe7d1ea08 further tweaks to session close 2016-04-24 02:53:01 +02:00
f317451609 lua bindings for track/bus and session creation 2016-04-24 00:25:34 +02:00
f8936ebcb1 Disconnect Signals before dropping ports
significantly speeds up session close
2016-04-24 00:24:43 +02:00
2a7a64a873 delegate port-connections to low priority thread.
This prevents a deadlock with (some versions) jack:
 * add new instrument track with instrument
 * configure processors (takes processor lock)
 * add I/Os (delivery) -> create ports
 * auto-connect ports
 * jack port-connect -> jack graph re-order
 * Ardour graph-re-order
 * needs processor lock (to check sends)
2016-04-23 22:11:48 +02:00
d30b901d8c save-as/snapshot tweaks:
* allow to take snapshots and save-as read-only session.
* change ambiguous "Save as" window title for "Snapshot & Switch"
* start save-as in configured session-dir
2016-04-23 14:45:19 +02:00
e4b2b6477f fix typo in config variable 2016-04-23 00:01:28 +02:00
f719dcbd43 fix send-id "0" when loading session
Send::set_state() unsets the current send-id before setting
the new one, but by default _bitset defaults to zero.
This may lead to unset an existing send "0"
2016-04-22 23:36:41 +02:00