summaryrefslogtreecommitdiff
path: root/libs/ardour
AgeCommit message (Collapse)Author
2020-04-25NO-OP: reduce scope, return earlyRobin Gareus
2020-04-25Remove unused signalRobin Gareus
2020-04-25Prevent delay-line reconfiguration while processingRobin Gareus
Various backends have different strategies for updating latencies, and different thread semantics for latency update callbacks. With jack2 it is possible that processing happens concurrently while port latencies are being changed. Ardour internal backends emit the latency callback from the main process thread, serializing latency changes with processing. Various user actions can also trigger latency changes. e.g. with a stopped engine it is possible to re-order plugins.
2020-04-25Clean up 135814cf0, prefer PannableChanged signalRobin Gareus
This allows to also catch cases when a panner-ui directly changes set_linked_to_route() of the panner shell.
2020-04-24fix thinko in Session::should_ignore_transport_request() and drop out of ↵Paul Davis
external sync if command is allowed The semantics are that if the user configures things to allow transport commands while using a transport master, issuing such commands first stops using the master
2020-04-24make Session::should_ignore_transport_request() non-constPaul Davis
2020-04-24fix parentheses around expression that prevented port flags from being set ↵Paul Davis
for ltc slave
2020-04-24ensure that when a Session emits Port::PortDrop, transport master ports are ↵Paul Davis
left in place
2020-04-24Fix MacOS builds (API change in 705ac7bfc5cc3)Robin Gareus
2020-04-24Update Russian translationAlexandre Prokoudine
2020-04-24Expose pan-link via Send API, emit signal on changeRobin Gareus
2020-04-23Clean up Audition realtime_overwriteRobin Gareus
Auditioner seek calls are explicitly handled by the butler, and DR:overwrite_existing_buffers() is called explicitly to read MIDI data for audition. Session::non_realtime_overwrite is no longer required. This reverts commit 6fbcf837793ec9a8347fd2d12823b9e56587ffc0 and parts of 2d11667ce3d2ada93c0fb90978bdcc054413c2bb.
2020-04-23Fix MIDI auditioningRobin Gareus
The Auditioner is not part of the session route-list and the auditioner route's I/O latency is never updated. Session::process_audition() does not handle pre-roll either, so it need to be zeroed, otherwise Route::roll skips samples. This has lead to initial samples being skipped, IFF the auditioner's output-port had non-zero latency. Since private port-latencies are usually only set for routes in the route-list, and _remaining_latency_preroll is reset at transport-stop, this *usually* worked... Last but not least, MIDI notes need to be resolved when seeking.
2020-04-23Don't add the Auditioner to the route-listRobin Gareus
This fixes a bug introduce in 2d11667ce3. The Auditoner was accidentally added to the shared_ptr<> referenced RouteList.
2020-04-23Micro optimization: cache output IO latencyRobin Gareus
IO::latency iterates over the port-set retrieving the private_latency_range of each port. Since it can only change when connections and latency changes, we can instead cache the value. This is also in preparation to allow the auditioner to override it.
2020-04-23Fix Auditioner edge-case when synth cannot be loadedRobin Gareus
2020-04-23Prevent huge stack allocations for MIDNAM filesRobin Gareus
xmlParseMemory() uses a c-pointer char*. Previously MIDNAM data on the heap were wrapped inside a std::string only to be later accessed via c_str().
2020-04-23Consolidate stack-size and priority of rt-threadsRobin Gareus
2020-04-22Fix MIDI audition and audition seekingRobin Gareus
DiskReader::seek() no longer fills MIDI buffers. MIDI is now read into memory via DR:overwrite_existing_buffers() There is still some edge-case remaining to be fixed. For some reasons the synth does not receive initial patch/program changes when starting auditioning.
2020-04-22Take lock to add/remove custom MIDNAMsRobin Gareus
update_custom_midnam() is usually called from the GUI or butler thread when a LV2 plugin is instantiated, or the plugin changes its MIDNAM. It must be exclusive with load_midnams_in_thread() and calls from MTAV to ::maybe_use().
2020-04-21Add Lua Bindings for Internal SendsRobin Gareus
2020-04-20Revise French translation -- #8035Fred Rech
2020-04-20Revise German translationNils Philippsen
- add missing translations - largely follow original message regarding punctuation, capitalization at the beginning of sentences, trailing white space - fix typos and other obvious mistakes Signed-off-by: Nils Philippsen <nils@tiptoe.de>
2020-04-20Fix MIDI meter resetRobin Gareus
2020-04-20Do not add monitor-sends to foldback bussesRobin Gareus
2020-04-19do not add unnamed sessions to the recent session listPaul Davis
2020-04-19Shorten default export-prerollRobin Gareus
Since 57118c2370fa, plugins are re-activated after every export. So a silent pre no-roll is mainly useful for with realtime export, and for some cases where a plugin does not correctly reset. Note that for the first export, plugins are not currently flushed.
2020-04-19Solo isolate foldback busses - #8020Robin Gareus
2020-04-18RAII collect processor-change signals6.0-rc1Robin Gareus
2020-04-18Optimize realtime listen-position changeRobin Gareus
2020-04-18Support for lock-free AFL/PFL changesRobin Gareus
Session::listen_position_changed() calls Route::listen_position_changed() for every route in the session. Each call tool the process-lock in turn.
2020-04-18Consistent Lua script error and print() output 1/2Robin Gareus
2020-04-18Update French po files from codeJulien '_FrnchFrgg_' RIVAUD
2020-04-17NOOP: newline removalPaul Davis
2020-04-17Fix two more typosRobin Gareus
2020-04-16Update German translationEdgar Aichinger
2020-04-16Update french translation #8016Robin Gareus
2020-04-16Plugin: bypass <> enabled mappingRobin Gareus
LV2 uses "enabled": -1: inactive, 0: bypassed, 1:enabled VST3 has "bypass: 0:active, 1: bypassed
2020-04-16Prefer std::string for `print_parameter` APIRobin Gareus
2020-04-16Tweak engine startup, shorten initial silence timeoutRobin Gareus
see also 23baeee8293
2020-04-15fix plurals and other mistakes in error strings; switch to PBD::warning ↵Paul Davis
since these are not user errors nor fixable
2020-04-15Fix PolyKeyPressure, consolidate AutomationType checksRobin Gareus
2020-04-15Allow MIDNAM lookup of valid channels for controllersRobin Gareus
2020-04-14Fix disk-reader alignment when creating tracks while playingRobin Gareus
2020-04-14NO-OP: whitespaceRobin Gareus
2020-04-14Fix playback alignment when adding/removing channelsRobin Gareus
The disk-reader assumes that all playback ringbuffers are in sync and have the same fill_level.
2020-04-13Fix typos in preparation for translationsEdgar Aichinger
2020-04-12update all *.po filesPaul Davis
2020-04-12Forward disk-reader ConfigurationChanged signalRobin Gareus
2020-04-12Reduce redundant signal emissionRobin Gareus