summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2016-04-29don't special case lua processors, use plugin-managerRobin Gareus
2016-04-28clever tricks with code swizzling to slow down errant plugin GUIs for AUPaul Davis
This commit swizzles (replaces) NSView::displayIfNeeded to allow us to stop redraws of plugin windows if the Glib idle timer fires less often then every 40msec. The next 10 plugin redraws (for all plugin windows combined) will be skipped. Heuristics will likely need some adjustments
2016-04-28consolidate and re-order luasession codeRobin Gareus
2016-04-28flush pending Session Events at session closeRobin Gareus
This prevents a memory leak: The session is closed. The session-butler drops memory pool trash. The Engine keeps running. Once the AudioEngine is taken down (sample-rate switch, or at exit), the backend process-thread is terminated but there is no trash-can anymore. If there are unprocessed SessionEvents, this calls free_per_thread_pool() -> cp->parent()->add_to_trash (cp). "parent()" in this case the trash-can the butler emptied.
2016-04-28fix a deadlock with jack2 when inserting a plugin adds ports.Robin Gareus
When adding a processor, the processor may add ports leading to a call to jack_port_register(). while Ardour holds a WritertLock on the processor-list (this commit removes this WriterLock). with jack2 that results in a graph-reorder callback (WHY?) jack2 issues that graph-reorder in a separate thread BUT port-registration does not return until the graph-reorder is complete. On Ardour's side, graph_reordered() calls Session::resort_routes () which eventually checks Route::direct_feeds_according_to_reality() which needs a ReadLock on the processor-list to check I/O. Since jack_port_register() does not return, this constitutes a deadlock. THE ACTUAL PROBLEM IS JACK2's THREAD DESIGN! Why does jack_port_register() trigger a graph-order in jack2? No connections are made. ..and why does it block jack_port_register() from returning if that graph-order callback is in a different thread? http://pastebin.com/DZANXJLz
2016-04-28add a debug message for LV2 per port buffer allocationRobin Gareus
2016-04-28for mixed-i/o show HW ports of both types in the matrixRobin Gareus
e.g. sidechain inputs with audio and midi.
2016-04-27remove unnecessary lines+changesPaul Davis
2016-04-27fix logic bombPaul Davis
2016-04-27if built on OS X without live resizing features, make AU plugin windows ↵Paul Davis
non-user-resiable
2016-04-27add a new configure-time for Cocoa live resizing macrosPaul Davis
These were added in 10.6 but we're trying to be nice and look for the feature, not some version
2016-04-27another attempt to use platform-specific path for the default VST pathBen Loftis
2016-04-27amend c1c81a239c after testingRobin Gareus
2016-04-27some linuxVST GUI details: initialize lock, add a note.Robin Gareus
2016-04-27pin connection GUI for variable I/O pluginsRobin Gareus
2016-04-27allow to customize variable i/o plugin inputsRobin Gareus
2016-04-27fix default 64bit Windows VST path ( untested )Ben Loftis
2016-04-27change ordering of origin-move and window-resize for AU pluginsPaul Davis
2016-04-27probable fix for 64bit VST signal latencyRobin Gareus
2016-04-27show debug out when AU NSView doesnt get movedPaul Davis
2016-04-27OSC: Fix Solo to work with both SIP and Listen.Len Ovens
2016-04-27tweak LV2 atom buffer allocation strategyRobin Gareus
Allow to re-use Midi buffers for GUI communication. Honor resize-port extension for all Atom Sequence buffers. (following example of http://lv2plug.in/book/#_sampler)
2016-04-27significant reworking of AudioUnit window resizing.Paul Davis
Tested on Apple Multiban Comp, Apple Dynamics Proc, AU Sampler, Zebra2 and Zebralette. Still have a 1-2 pixel white border at lower and right edge after window is dragged larger. Also, debug output.
2016-04-27add the concept of a "state mask" that determines what info a WindowProxy ↵Paul Davis
will save
2016-04-27make -D VSTCallbacks readableRobin Gareus
2016-04-27canvas tooltips, tooRobin Gareus
2016-04-27re-enable "Show Tooltip" preference (needs testing on all platforms)Robin Gareus
2016-04-27also hide persistent tooltipsRobin Gareus
debatable, since most of them are not "help/tool info" but rather "current value display". Then again tooltip is tooltip and can be annoying or not wanted.
2016-04-27towards fixing optional tooltipsRobin Gareus
Editor::parameter_changed() is not called for UIConfig changes. "use-tooltips" was never triggered.
2016-04-26remove duplicate "bld.install_files" callRobin Gareus
2016-04-26deploy all *.colors files in binary bundlesRobin Gareus
2016-04-26initialize output data ports for cases where the plugin is not runRobin Gareus
(e.g. load session with inactive track, or instantiate an audio plugin on a midi track before the synth)
2016-04-26let GMainContext clean up after us.Robin Gareus
this fixes a potential crash in AsyncMIDIPort::~AsyncMIDIPort() -> CrossThreadChannel::~CrossThreadChannel()
2016-04-26port 93eac8b0 to ALSA and CoreAudioRobin Gareus
2016-04-26allow to duplicate tracks with sends or load templates with sends/insertsRobin Gareus
2016-04-26lua snippet to interact with portengineRobin Gareus
2016-04-26implement missing PortManager methods and lua-bind themRobin Gareus
2016-04-26#define HAVE_JACK_PORT_RENAME when building with MSVCJohn Emmas
This means needing to build against libjack v1.9.11 (or later) although that's probably not a bad thing.
2016-04-26Use 'const_iterator' to prevent MSVC from complainingJohn Emmas
2016-04-26remove the splash-screen when changing sessionsRobin Gareus
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-26don't show engine dialog when loading a session..Robin Gareus
..and the engine is running at the desired samplerate
2016-04-26styleguide #10Robin Gareus
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-26keep portmap & portindex in sync when renaming portsRobin Gareus
Fixes crash on session re-load (introduced in 800c8182 and fde99e68)
2016-04-26PortManager lua bindings (to debug lingering ports)Robin Gareus
2016-04-25tweak location-UI layout (right-align checkboxes & buttons)Robin Gareus
2016-04-25slightly improved location-UI layoutRobin Gareus
2016-04-25NO-OP whitespaceRobin Gareus
2016-04-25return of the location GoTo ButtonRobin Gareus
Despite the tooltip, middle-click to locate is not very discoverable, and tricky to not-available on MacBooks.
2016-04-25compile-time test for useful ASL APIPaul Davis
2016-04-25remove unused codePaul Davis