Commit graph

29676 commits

Author SHA1 Message Date
Luciano Iam
c96e392f0f
WebSockets: prepare for developing a shared JS API client 2020-04-11 22:30:40 +02:00
Luciano Iam
e82171ea19
WebSockets: improve surface manifest format and loader 2020-04-11 22:30:40 +02:00
Luciano Iam
420137ea9d
WebSockets: always return -1 from send_index_body() unless there is a write error 2020-04-11 22:30:40 +02:00
Luciano Iam
d219cde926
WebSockets: better handle errors in web-based surfaces index 2020-04-11 22:30:40 +02:00
Luciano Iam
ed427e5704
WebSockets: add useful comment on lws_write() 2020-04-11 22:30:40 +02:00
Luciano Iam
c477a81a7c
WebSockets: use lws_strncpy() when available 2020-04-11 22:30:40 +02:00
Luciano Iam
731ea79028
WebSockets: fix timeout when sending HTTP body 2020-04-11 22:30:33 +02:00
Robin Gareus
f18a7e3fc3
Prefer using C++ DSP for noise generation in scripts
This significantly reduces the DSP load of the noise
generator (avg. process time is reduced by a factor of 8 or more).
2020-04-11 11:41:22 +02:00
Paul Davis
9e3efced72 remove debug output 2020-04-10 16:39:29 -06:00
Paul Davis
a2737feae6 fix mistaken geometrical-math for xfaded loops 2020-04-10 16:07:42 -06:00
Robin Gareus
e1a9034a0e
Synchronize meter-reset #7465
Queue reset to be handled when the meter is updated.
Also only call set_name(), set_active_state() when the
state changes.
2020-04-10 23:50:10 +02:00
Robin Gareus
58672bcaa2
Sync reset meter, report zero until the meter is actually reset 2020-04-10 23:50:06 +02:00
Paul Davis
24cce2e43d use cout not cerr for some temporary debugging messages 2020-04-10 15:30:26 -06:00
Paul Davis
92b59c1df9 more debug info for DiskReader::maybe_xfade_loop() 2020-04-10 14:18:24 -06:00
Paul Davis
8aae77b0eb somewhat change the condition used to identify when butler transport is done pre-export 2020-04-10 13:25:24 -06:00
Paul Davis
b953490bac fix typo/thinko in code that checks for result of waiting for butler transport work 2020-04-10 13:24:55 -06:00
Robin Gareus
247bd4d3d9
NO-OP: whitespace 2020-04-10 18:32:18 +02:00
Robin Gareus
ede0fd3ddf
Remove hardcoded 2^15 cairo-boundary, prefer window-area 2020-04-10 18:28:26 +02:00
Robin Gareus
2177462b73
NO-OP: consistent function and variable naming 2020-04-10 18:06:42 +02:00
Robin Gareus
bc4de874dc
NO-OP: whitespace 2020-04-10 18:06:42 +02:00
Robin Gareus
9bbedcb781
Remove unused function
Cairo::curve_to renders cubic Bézier splines, those are not
generally useful in a DAW context.

Canvas::Curve implements centripetal catmull-rom spline drawing
which can be used for fades and automation interpolation.
2020-04-10 18:06:42 +02:00
Robin Gareus
7bb8ca1e76
Interpolate poly-line with view-point #6481 2020-04-10 18:06:41 +02:00
Robin Gareus
6cc1e5e75d
NO-OP: whitespace 2020-04-10 18:06:39 +02:00
Paul Davis
1e996ca45f add port connect/add/remove callbacks to CoreAudio backend 2020-04-10 10:01:04 -06:00
Paul Davis
2a80832243 add port connect/add/remove callbacks to the ALSA backend
This fixes issues with new ports not (always) appearing in port matrices (and presumably
elsewhere too)
2020-04-10 09:53:44 -06:00
Robin Gareus
b943cec756
ALSA: allow to select different I/O devices
This adds a basic support to use multiple sound-cards, currently
limited to two devices: In/Out with shared settings.

Advanced setups still have to resort to using the ARDOUR_ALSA_EXT
environment variable
2020-04-10 05:01:33 +02:00
Robin Gareus
e8efd45c05
Fix ALSA slave-device half-duplex mode 2020-04-10 05:01:30 +02:00
Robin Gareus
78b29c55d3
Hotfix more export woes, prevent possible endless loop
This apparently happens on some Windows systems when exporting
a range starting at 00:00:00:00

I'm still hoping there's a better fix for these race-condition
issues, perhaps by kicking the TFSM...
2020-04-10 03:29:16 +02:00
Robin Gareus
c33c988adc
Revert "Another attempt at fixing multi-range export"
This reverts commit c5332ddd00.
Apparently this is not needed 4f3a95a1da is sufficient.
2020-04-10 02:24:08 +02:00
Robin Gareus
62e2ec49ce
ALSA: ignore systemic MIDI latencies during measurement 2020-04-10 01:43:11 +02:00
Robin Gareus
a2f7abc70b
Continue to load session after MIDI latency calibration
This amends e6febe040a
2020-04-10 01:43:11 +02:00
Paul Davis
5f1431aeda fix ArdourFader to use contrasting_text_color() for text, based on relevant bg color 2020-04-09 17:12:40 -06:00
Paul Davis
69b4c5108b ALSA backend: fix incorrect pointer cast (fixes #7998) 2020-04-09 15:40:23 -06:00
Paul Davis
230ef7596f websockets: shutdown UI event loop is server cannot start 2020-04-09 15:36:02 -06:00
Robin Gareus
e6febe040a
Continue to load session after latency calibration #7998 2020-04-09 23:31:45 +02:00
Paul Davis
661609f2c0 change default port for websockets surface 2020-04-09 15:26:13 -06:00
Robin Gareus
18daf2c9b2
C++98 compatibility 2020-04-09 22:43:24 +02:00
Paul Davis
ca022f6bb7 show transport master ports in their own "Sync" bundle in the global port matrices 2020-04-09 14:01:47 -06:00
Paul Davis
cd5eae3556 some potentially helpful but trivial comments 2020-04-09 14:01:47 -06:00
Paul Davis
980a38a988 still show port names in bundles with only a single port a given type
The bundle name is typically insufficient to identify the port
2020-04-09 14:01:47 -06:00
Robin Gareus
be023ef32d
Tweak websocket surface for use src-tree shared dir
When running from the src-tree, ardev_common.sh sets multiple
data-paths, to allow running ./ardev ./gtk2_ardour/ardev.
Pick the first one that contains a "web_surfaces" subfolder as
docroot.
2020-04-09 21:50:01 +02:00
Robin Gareus
61692ae1f8
Fix some Wunused-result 2020-04-09 21:26:12 +02:00
Luciano Iam
891c63fe89
Update HTML/CSS/JS frontend 2020-04-09 20:56:46 +02:00
Luciano Iam
d694ee97c7
Update waf scripts 2020-04-09 20:56:46 +02:00
Luciano Iam
c946eb3132
Add classes for serving content over HTTP 2020-04-09 20:56:46 +02:00
Luciano Iam
40520a6dc6
Clean up and prepare for HTTP 2020-04-09 20:56:46 +02:00
Luciano Iam
3da0cf2a31
NO-OP update comments for header guard #endifs 2020-04-09 20:56:46 +02:00
Robin Gareus
c5332ddd00
Another attempt at fixing multi-range export
See also
  * 4f3a95a1da
  * cfd95340b1
  * 61e7f3176b
2020-04-09 20:25:25 +02:00
Robin Gareus
4f3a95a1da
Cont'd work on fixing export ranges
This picks up where cfd95340b1 left off.

The goal is to ensure that the butler has completed all
PostTransportStop related tasks and won't meddle with transport
after exporting has started.

Previously this could happen, because realtime_stop() queues
PostTransportStop and the butler is sommoned after every
export process cycle.

Since  61e7f3176b the butler keeps calling non_realtime_stop()
every time it is woken up, until TFSM comes around and unsets the
flag in the process callback.
2020-04-09 19:07:33 +02:00
Robin Gareus
0f1b98c155
Linux installer: exclude backends from library compatibility test
Engine backends are loaded dynamically, and Ardour can start without
them. This is manly to relax the requirement of having libpulse.so.

libardour itself depends on libasound, so the ALSA backend is always
present, and the jack-backend dynamically dlopen()s libjack.
2020-04-09 15:47:11 +02:00