Commit Graph

29895 Commits

Author SHA1 Message Date
Robin Gareus 7d33c1688b
Lua script-list: consolidate whitespace in description 2020-04-24 06:05:22 +02:00
Robin Gareus f72b05d3a5
Update Lua script descriptions, rename some scripts 2020-04-24 05:47:02 +02:00
Robin Gareus fcf4e3e9eb
Add script to list Lua scripts for a html news page. 2020-04-24 05:16:44 +02:00
Fred Rech f1ec998653
Revise French translation, part 5 -- #8035 2020-04-24 03:52:26 +02:00
Robin Gareus 2d50c3f907
Update key-bindings for all Lua action scripts #8034 2020-04-24 02:31:30 +02:00
Robin Gareus dbcbfd7b5b
Fix builds, missing include 2020-04-24 01:53:59 +02:00
Alexandre Prokoudine 2aa5e90290
Update Russian translation 2020-04-24 01:06:16 +02:00
Robin Gareus 777f1ea3be
Indicate unlinked send-panners in pan-widget #8024 2020-04-24 00:57:15 +02:00
Robin Gareus 37e6a701bd
Define color for send panner 2020-04-24 00:57:15 +02:00
Robin Gareus 42b4ea89f4
Use send-API for pan-link, indicate status in tooltip and name 2020-04-24 00:57:15 +02:00
Robin Gareus 135814cf0d
Expose pan-link via Send API, emit signal on change 2020-04-24 00:57:15 +02:00
Paul Davis 0719df9d21 two small scripts to facilitate generating an annotated list of Lua scripts 2020-04-23 16:55:23 -06:00
Robin Gareus e15b5c6e6b
Clean up Audition realtime_overwrite
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 6fbcf83779
and parts of 2d11667ce3.
2020-04-23 17:08:09 +02:00
Paul Davis 24ed3c5a9e minor code reworking for 46fca9062d (no semantic changes) 2020-04-23 09:05:18 -06:00
Mister Benjamin 46fca9062d Honour forward/rewind option when already rolling #8031
The options ForwardSlow, Forward and ForwardFast and their
respective Rewind options were not honoured in the execution
of forward/rewind operations when the transport was already
rolling at a slower speed than the forward or rewind option's
speed with same direction as the requested direction.
2020-04-23 08:19:20 -06:00
Robin Gareus 54bc1018d5
Fix MIDI auditioning
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-23 05:23:31 +02:00
Robin Gareus 6fbcf83779
Don't add the Auditioner to the route-list
This fixes a bug introduce in 2d11667ce3. The Auditoner
was accidentally added to the shared_ptr<> referenced RouteList.
2020-04-23 04:58:51 +02:00
Robin Gareus 40eefeddd6
Micro optimization: cache output IO latency
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-23 04:56:45 +02:00
Robin Gareus 6b10987e4b
Fix Auditioner edge-case when synth cannot be loaded 2020-04-23 02:30:16 +02:00
Robin Gareus c264ab6c95
Remove debug output 2020-04-23 02:29:45 +02:00
Robin Gareus afad873a22
Fix parsing XML with blanks from memory
This is needed when the butler thread loads a plugin with
MIDNAM. xmlKeepBlanksDefault() setting is per thread.

see also df3a4ed9c6
2020-04-23 02:28:48 +02:00
Robin Gareus 1e380b1e2e
GUI use updated XML::read_buffer API 2020-04-23 02:26:27 +02:00
Robin Gareus 705ac7bfc5
Prevent huge stack allocations for MIDNAM files
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-23 02:25:38 +02:00
Robin Gareus 3d166c7789
Consolidate stack-size and priority of rt-threads 2020-04-23 01:28:58 +02:00
Robin Gareus 485ac45477
Fix region boundary cache lookup segfault
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-22 22:37:43 +02:00
Luciano Iam ea16fc51d3
WebSockets: fix guard header in json.h 2020-04-22 21:59:35 +02:00
Luciano Iam dbb26daafa
WebSockets: also json-escape strings in state messages 2020-04-22 21:59:35 +02:00
Luciano Iam 946094b25c
WebSockets: also json-escape paths in manifests
Extends 3c423d9
2020-04-22 21:59:35 +02:00
Luciano Iam 742adad310
WebSockets: extend 57fdce8 2020-04-22 21:59:35 +02:00
Luciano Iam c362605b49
WebSockets: add some TO DO comments 2020-04-22 21:59:35 +02:00
Luciano Iam 8b65b0a961
WebSockets: disable http caching if NDEBUG is set
This is useful while developing web surface javascript code
2020-04-22 21:59:35 +02:00
Luciano Iam b0733a0d20
WebSockets: fix JS client get* methods 2020-04-22 21:59:35 +02:00
Luciano Iam 32f0e4e8be
WebSockets: remove unnecessary import from mixer-demo/widget.js 2020-04-22 21:59:34 +02:00
Luciano Iam ff7b7fe6a7
WebSockets: fix a comment in server.cc 2020-04-22 21:59:34 +02:00
Robin Gareus 1e57175471
Example Lua script to add plugins and sends 2020-04-22 21:40:46 +02:00
Robin Gareus fcfaa0ac49
Fix a potential endless recursion from c2b25b453e
ArdourDropdown::set_active() -> StateChanged -> .. -> set_active()
2020-04-22 16:20:54 +02:00
Paul Davis 9a93583ef7 fully initialize SMF tempo information to default (4/4, 120bpm)
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-21 21:17:14 -06:00
Robin Gareus 2d11667ce3
Fix MIDI audition and audition seeking
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-22 05:09:30 +02:00
Robin Gareus d03a3903a0
Take lock to add/remove custom MIDNAMs
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-22 05:02:58 +02:00
Robin Gareus 69f6c9771e
Really bundle web-surface data with Linux and Mac builds
This fix copy/paste/edit bug in 5d3554408
2020-04-21 22:43:46 +02:00
Robin Gareus 35fe4f79f5
Fix translation context (amend 47e4216012) 2020-04-21 20:50:45 +02:00
Luciano Iam 80dc3a38e0 WebSockets: let clients know if a strip is a VCA
This allows to hide the panner for example
2020-04-21 16:20:24 +02:00
Luciano Iam 68463cb591 WebSockets: add checks for VCA stripables
Also include VCAs when sending strip descriptions
2020-04-21 15:53:27 +02:00
Luciano Iam cc08a2d945 WebSockets: compatibility fixes for Windows
Escape path strings in surfaces.json
Default to index.html in mount points
2020-04-21 15:53:27 +02:00
Alexandre Prokoudine 47e4216012
Mark user-visible messages for translation 2020-04-21 15:35:52 +02:00
Robin Gareus 05650a0156
Add Lua Bindings for Internal Sends 2020-04-21 15:34:20 +02:00
Robin Gareus 2f96d44967
Fix typo and update affected translations 2020-04-21 02:51:02 +02:00
Paul Davis 826bdc413c fix behavior of ARDOUR_UI::transport_rewind/forward actions 2020-04-20 17:18:37 -06:00
Robin Gareus 5d3554408d
Include web-surface data in linux and mac bundles 2020-04-21 00:29:21 +02:00
Fred Rech 1c7c0533c2
Revise French translation -- #8035 2020-04-20 23:55:39 +02:00