summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
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-23Remove debug outputRobin Gareus
2020-04-23Fix parsing XML with blanks from memoryRobin Gareus
This is needed when the butler thread loads a plugin with MIDNAM. xmlKeepBlanksDefault() setting is per thread. see also df3a4ed9c61d
2020-04-23GUI use updated XML::read_buffer APIRobin 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 region boundary cache lookup segfaultRobin Gareus
When the cursor position is after the last item in the vector, upper_bound returns the last given iterator, here: `region_boundary_cache.end()`, which is invalid to dereference. Furthermore prevent possible duplicate prev/next pair at zero, when using the video-timelime.
2020-04-22WebSockets: fix guard header in json.hLuciano Iam
2020-04-22WebSockets: also json-escape strings in state messagesLuciano Iam
2020-04-22WebSockets: also json-escape paths in manifestsLuciano Iam
Extends 3c423d9
2020-04-22WebSockets: extend 57fdce8Luciano Iam
2020-04-22WebSockets: add some TO DO commentsLuciano Iam
2020-04-22WebSockets: disable http caching if NDEBUG is setLuciano Iam
This is useful while developing web surface javascript code
2020-04-22WebSockets: fix JS client get* methodsLuciano Iam
2020-04-22WebSockets: remove unnecessary import from mixer-demo/widget.jsLuciano Iam
2020-04-22WebSockets: fix a comment in server.ccLuciano Iam
2020-04-22Example Lua script to add plugins and sendsRobin Gareus
2020-04-22Fix a potential endless recursion from c2b25b453eaRobin Gareus
ArdourDropdown::set_active() -> StateChanged -> .. -> set_active()
2020-04-21fully initialize SMF tempo information to default (4/4, 120bpm)Paul Davis
Leaving CPC and 32nd-per-quarter at -1 causes arithmetic errors later if the SMF file doesn't contain an explicit time signature meta-event
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-21Really bundle web-surface data with Linux and Mac buildsRobin Gareus
This fix copy/paste/edit bug in 5d3554408
2020-04-21Fix translation context (amend 47e4216012)Robin Gareus
2020-04-21WebSockets: let clients know if a strip is a VCALuciano Iam
This allows to hide the panner for example
2020-04-21WebSockets: add checks for VCA stripablesLuciano Iam
Also include VCAs when sending strip descriptions
2020-04-21WebSockets: compatibility fixes for WindowsLuciano Iam
Escape path strings in surfaces.json Default to index.html in mount points
2020-04-21Mark user-visible messages for translationAlexandre Prokoudine
2020-04-21Add Lua Bindings for Internal SendsRobin Gareus
2020-04-21Fix typo and update affected translationsRobin Gareus
2020-04-20fix behavior of ARDOUR_UI::transport_rewind/forward actionsPaul Davis
2020-04-21Include web-surface data in linux and mac bundlesRobin Gareus
2020-04-20Revise French translation -- #8035Fred Rech
2020-04-20WebSockets: reduce transport surface buttons sizeLuciano Iam
2020-04-20WebSockets: transport surface minor optimizationsLuciano Iam
Layout tweaks on small screens (ie, phones) Custom font for transport time Fix ArdourClient constructor parameters
2020-04-20WebSockets: NOOP fix comment in manifest.ccLuciano Iam
2020-04-20WebSockets: json-escape user strings loaded from manifest.xmlLuciano Iam
2020-04-20WebSockets: optimize transport surf. layoutLuciano Iam
2020-04-20WebSockets: remove Firefox button focus border in transport surfaceLuciano Iam
2020-04-20WebSockets: send caching headers for static resourcesLuciano Iam
2020-04-20WebSockets: transport surface implementationLuciano Iam
2020-04-20WebSockets: improve plugin params layout in mixer-demoLuciano Iam
2020-04-20WebSockets: add transport methods to client JSLuciano Iam
2020-04-20WebSockets: output position time in secondsLuciano Iam
2020-04-20WebSockets: add record state support to surfaceLuciano Iam
2020-04-20WebSockets: rename *_desc nodes to *_descriptionLuciano Iam
2020-04-20WebSockets: add transport roll support to surfaceLuciano Iam
2020-04-20Fix Lua script auto-connect new tracksRobin Gareus
Since c16ab3a24824 Session::new_audio_track has an optional parameter to auto-connect inputs. Lua scripts don't have a default parameter, so bool input_auto_connect was assumed false and inputs left unconnected.