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
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
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
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
ff7b7fe6a7
WebSockets: fix a comment in server.cc
2020-04-22 21:59:34 +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
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
Robin Gareus
05650a0156
Add Lua Bindings for Internal Sends
2020-04-21 15:34:20 +02:00
Fred Rech
1c7c0533c2
Revise French translation -- #8035
2020-04-20 23:55:39 +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
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
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
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
Robin Gareus
c2b25b453e
Emit signal when dropdown changes via scroll-wheel
...
This fixes Virtual-keyboard velocity selection when scrolling
to numbers that are not explicitly in the menu-list.
(hopefully this does not introduce some recursive signals
for other ArdourDropdowns, fingers crossed).
2020-04-20 00:36:37 +02:00
Robin Gareus
3f7de5ec8e
Do not add monitor-sends to foldback busses
2020-04-20 00:34:36 +02:00
Robin Gareus
498a58bd25
Fix restoring window visibility (Windows/Mac) #7976
2020-04-19 19:01:19 +02:00
Paul Davis
93e98be6ab
do not add unnamed sessions to the recent session list
2020-04-19 10:20:35 -06:00
Robin Gareus
e163e38c13
Shorten default export-preroll
...
Since 57118c2370 , 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-19 18:02:25 +02:00
Robin Gareus
c32fef2660
WebSockets: hotfix crash when a session has VCAs
...
This eventually needs a better solution, special casing VCAs
on the top-level.
2020-04-19 15:44:39 +02:00
Robin Gareus
674554d978
Solo isolate foldback busses - #8020
2020-04-19 03:40:35 +02:00
Robin Gareus
9875a95829
RAII collect processor-change signals
2020-04-18 23:54:24 +02:00
Robin Gareus
b7c7c02680
Optimize realtime listen-position change
2020-04-18 23:19:58 +02:00
Robin Gareus
a90b0daadd
Support for lock-free AFL/PFL changes
...
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-18 22:11:49 +02:00
Robin Gareus
a2f07f66a5
Consistent Lua script error and print() output 1/2
2020-04-18 18:16:12 +02:00
Julien '_FrnchFrgg_' RIVAUD
5766cf24aa
Update French po files from code
2020-04-18 11:22:07 +02:00
Paul Davis
fa8858b3e8
NOOP: newline removal
2020-04-17 12:40:28 -06:00
Luciano Iam
137042f80c
WebSockets: rename _lws_mnt_index to _lws_mnt_root
...
This mount point not only serves the index but everything that is under
/ , including the built-in surfaces directory
2020-04-17 20:15:10 +02:00
Luciano Iam
36a27b8a90
WebSockets: prevent crashes by validating inbound message addr and val sizes
2020-04-17 20:15:10 +02:00
Luciano Iam
50ba8dea96
WebSockets: improve JS client and demo
...
add methods to callback.js
automatically reconnect js client on disconnection
mixer-demo do not recreate UI on reconnection
NO-OP: indentation in message.js
make client JS reconnection optional
fix mixer-demo scrolling
minor JS client refactor
improve mixer-demo readability
2020-04-17 20:15:10 +02:00
Luciano Iam
612c71aa25
WebSockets: allow serving SVG files using libwebsockets < 3
2020-04-17 20:15:10 +02:00
Paul Davis
70e27e0bf2
fix Beats::operator-()
2020-04-16 21:38:33 -06:00
Paul Davis
ffd9aa2fc9
if the action associated with a binding is insensitive, do not activate it, and return false from Bindings::activate()
...
This allows "stacking" of bindings by desensitizing the actions associated with a "lower" level
of bindings at certain times (e.g. MIDI editing bindings thare are sensitized in the appropriate
editing modes
2020-04-16 17:48:12 -06:00
Robin Gareus
cc74c7b7ad
Fix two more typos
2020-04-17 00:02:38 +02:00