Commit Graph

29878 Commits

Author SHA1 Message Date
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
Luciano Iam
744762f343 WebSockets: reduce transport surface buttons size 2020-04-20 22:59:17 +02:00
Luciano Iam
4579f5b4cd WebSockets: transport surface minor optimizations
Layout tweaks on small screens (ie, phones)
Custom font for transport time
Fix ArdourClient constructor parameters
2020-04-20 22:59:17 +02:00
Luciano Iam
d5c2af1cfb WebSockets: NOOP fix comment in manifest.cc 2020-04-20 22:59:17 +02:00
Luciano Iam
3c423d9265 WebSockets: json-escape user strings loaded from manifest.xml 2020-04-20 22:59:17 +02:00
Luciano Iam
b7cdb63a95 WebSockets: optimize transport surf. layout 2020-04-20 22:59:16 +02:00
Luciano Iam
66b8a741ae WebSockets: remove Firefox button focus border in transport surface 2020-04-20 22:59:16 +02:00
Luciano Iam
4f2fdb10a3 WebSockets: send caching headers for static resources 2020-04-20 22:59:16 +02:00
Luciano Iam
7118eff7eb WebSockets: transport surface implementation 2020-04-20 22:59:16 +02:00
Luciano Iam
33fdd023ab WebSockets: improve plugin params layout in mixer-demo 2020-04-20 22:59:16 +02:00
Luciano Iam
1d84cc0046 WebSockets: add transport methods to client JS 2020-04-20 22:59:16 +02:00
Luciano Iam
dc97bf3ff0 WebSockets: output position time in seconds 2020-04-20 22:59:16 +02:00
Luciano Iam
bfbb15011c WebSockets: add record state support to surface 2020-04-20 22:59:15 +02:00
Luciano Iam
5105219076 WebSockets: rename *_desc nodes to *_description 2020-04-20 22:59:15 +02:00
Luciano Iam
0e664b1556 WebSockets: add transport roll support to surface 2020-04-20 22:59:15 +02:00
Robin Gareus
656cd9c8a7 Fix Lua script auto-connect new tracks
Since c16ab3a248 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.
2020-04-20 22:24:08 +02:00
Nils Philippsen
696096fcbd Revise German translation
- 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-20 19:14:37 +02:00
Robin Gareus
9a073c1fae Fix MIDI meter reset 2020-04-20 18:38:13 +02:00