Robin Gareus
650fd31332
Improve debug message
2020-06-12 05:08:40 +02:00
Robin Gareus
9708987003
Fix automation write-mode (overwrite existing automation)
...
AutomationWatch::transport_state_change() is called at a time
when transport has just started to roll, but may not yet be rolling
(count-in, latency-preroll).
Later, after pre-roll is complete and transport starts moving,
AutomationWatch::transport_state_change() is not called again.
Thus set_in_write_pass(true); is never called, and writing
automation assumes that all changes happen while stopped.
In 'write" mode, guard points are added for each change, when
the transport is stopped.
Before this change, this happened at periodic intervals even
when rolling.
2020-06-12 05:08:29 +02:00
Robin Gareus
d33cc4a3dd
Document transport state semantics
...
This also adds transport_state_rolling() which can be used
from a TransportStateChanged callback.
2020-06-12 05:02:06 +02:00
Robin Gareus
5ce12a38e6
Retain connections of ctrl-data ports
...
Previously "Follow selection" disconnected a MIDI port from
control surfaces, even when it was marked as "MidiPortControl".
2020-06-11 23:24:55 +02:00
Robin Gareus
6677e9787e
Reserve generic MIDI control surface port-name
2020-06-11 23:19:05 +02:00
Robin Gareus
0e37759495
Synchronize preset changes of plugin-instances
...
When adding or removing a plugin preset, all instances
of the same plugin need to be notified to update their
preset list.
2020-06-11 19:42:37 +02:00
Robin Gareus
1c24e9abef
Bump LV2 plugin version (and mark them stable)
...
> An odd minor or micro version, or minor version zero,
> indicates that the resource is a development version.
from http://lv2plug.in/ns/lv2core#minorVersion
2020-06-10 21:33:53 +02:00
Luciano Iam
8ff4bcfd68
WebSockets: improve JS client message handling code
2020-06-10 19:47:37 +02:00
Luciano Iam
a26a9018fd
WebSockets: code refactor
...
Terminology used by server and client was starting to diverge.
C++ classes ArdourStrips and ArdourGlobals classes have been
renamed to ArdourMixer and ArdourTransport respectively.
State node values for transport functionality have been simplified
and prefixed with 'transport_' to match what was done for strips.
2020-06-10 19:47:37 +02:00
Luciano Iam
ae4df127ad
WebSockets: implement a JavaScript object-oriented client API
...
Replace previous callback based basic client with an easier
to use object-oriented API that further abstracts the low level
details of the WebSockets Server surface messaging protocol.
All built-in web surface demos were updated to use the new API.
2020-06-10 19:47:37 +02:00
Robin Gareus
5296ed141f
Fix support for older libwebsocket versions
...
LWS_WITH_EXTERNAL_POLL a new optional define for libwebsocket 4.x.
Earlier versions always supported it, without the compile-time define.
This fixes support for libwesocket 2.x (Debian, Ubuntu), and 3.x.
Also for Windows, LWS_WITH_GLIB is not available.
2020-06-10 15:58:47 +02:00
Robin Gareus
f0d5d1323a
Fix MIDI tracer time display for async and transport-master ports
2020-06-10 00:16:54 +02:00
Robin Gareus
4c5ad08e81
Add mono separate regions to source-list
...
The "whole-file" property is now mainly used as indicator whether
a region should be in the source list.
2020-06-09 22:49:12 +02:00
Nils Philippsen
f6e38219bc
Don't refer to never used external variable
...
Signed-off-by: Nils Philippsen <nils@tiptoe.de>
2020-06-09 21:11:21 +02:00
Nils Philippsen
2a456c1921
Add cycles_t type definition on ppc64
...
Signed-off-by: Nils Philippsen <nils@tiptoe.de>
2020-06-09 21:11:21 +02:00
Robin Gareus
72d45c154a
Do not allow ctrl chars in file (or session) names (1/2)
2020-06-09 20:30:51 +02:00
Hiroki Inagaki
e848afe2ec
Update Japanese translation
2020-06-09 17:48:09 +02:00
Vincenzo Reale
c87edcbf04
Adding appdata and gtkmm2ext Italian translations
2020-06-09 17:44:15 +02:00
Vincenzo Reale
f27e7dadf5
Italian translation update
2020-06-09 17:43:28 +02:00
Matthias von Faber
e3dcd1f5d7
Only try using __pthread_get_minstack on glibc
...
This is a glibc-only extension, so don't bother on other platforms.
Also, according to POSIX, PTHREAD_STACK_MIN is defined in limits.h, so
include climits just to be safe.
2020-06-09 17:39:24 +02:00
Matthias von Faber
662ff1bd39
Fall back to non-realtime threads again
...
Makes Ardour start into sessions again when realtime scheduling is
unavailable.
2020-06-09 17:39:24 +02:00
Matthias von Faber
4b7efac3dc
Report true error when tasklist threads cannot be created
...
pthreads doesn't use errno, so the error message was misleading.
2020-06-09 17:39:24 +02:00
Peter Kovář
630a3d07d2
Added support for the original Contour Design ShuttlePRO
2020-06-09 17:29:01 +02:00
Robin Gareus
c7edc28383
Keep aux-send names when duplicating tracks
2020-06-07 21:39:50 +02:00
Robin Gareus
c7bce4b685
NO-OP: whitespace
2020-06-07 18:25:18 +02:00
Robin Gareus
21b8885fe9
Remove debug output (also fix some builds, missing stdio.h)
2020-06-07 18:18:58 +02:00
Robin Gareus
27e45c585f
Fix another stupid typo
2020-06-06 23:03:21 +02:00
Robin Gareus
e0548fa798
Offset stack-size by current TLS #8200
...
Some libraries use thread locals and hence increase the min
requirement.
This is seen on void-linux for example:
> linking a minimal program against cairo gives a
> __static_tls_size of 43008 bytes.
> Doing the same on Ubuntu focal and Debian bullseye,
> __static_tls_size is only 4608.
2020-06-06 19:04:26 +02:00
Robin Gareus
09aa0a3d1a
Consolidate code using pthread_attr_setstacksize
...
This also adds some stack constraint to rt and fallback threads
that didn't have those before (ALSA MIDI for example)
2020-06-06 18:35:44 +02:00
Robin Gareus
515ffbdfe2
Add API to create threads with given stacksize
2020-06-06 18:32:09 +02:00
Robin Gareus
9398a6f60a
Fix generic MIDI encoder off by one
...
Increment for CC values > 0x40, decrement control for values <= 40.
- 0x41 increment by one
- 0x40 decrement by one
previously: 0x3f decremented by one, 0x3e by two, .. 0x00 by 64,
but 0x40 also by 64.
2020-06-06 17:10:31 +02:00
Robin Gareus
75404eaa64
Ignore NO-OP Latency changes
...
This also fixes an endless recursion when directly connecting
is_physical() ports to each other.
2020-06-05 20:44:57 +02:00
Robin Gareus
8f82ccd3aa
Add LatencyRange comparator, and explicit assignment operator
2020-06-05 20:44:57 +02:00
Robin Gareus
ab9f51d2d8
Downgrade LV1 error to warning
...
Failing to discover a plugin is not critical. If the plugin is
used by the session, an error message is displayed later.
2020-06-05 20:44:57 +02:00
John Emmas
743a3b1842
Add/remove source(s) in our MSVC project (audiographer)
2020-06-05 12:41:55 +01:00
Robin Gareus
ae3c8b19c6
Tweak PulseAudio re-initialization
...
This fixes an issue with pulse disconnecting after freewheeling,
and possibly also address #8193
2020-06-05 04:24:09 +02:00
Robin Gareus
25169d239d
Relax initial export-noise to 1/3 of interval
2020-06-05 03:19:47 +02:00
Robin Gareus
f89e72d86d
Cont'd backend support for demo-noise 1e7207f9ec
2020-06-05 02:29:20 +02:00
Paul Davis
a98094fcff
remove accidentally added colon in euskara (basque) translation
2020-06-04 13:23:36 -06:00
Robin Gareus
1e7207f9ec
Add export spec support for watermark/demo-noise
2020-06-04 21:20:32 +02:00
Robin Gareus
820165d238
Add export demo noise watermarking
2020-06-04 21:20:32 +02:00
Paul Davis
d95d10eb55
sort control protocols in name order after discovery
2020-06-01 13:06:23 -06:00
Robin Gareus
ef94663d1c
Overhaul MIDI Clock generator
...
* Fix absolute time alignment, sync clock ticks on exact beats
* Fix start/cont sync to MIDI Clock **Beats** (MIDI Clock / 6)
* Send timecode from engine (not session) - vari-speed independent
* Special case MClk port, don't /resample/
* Support pre-roll, sync start.
2020-05-31 23:46:28 +02:00
Robin Gareus
29a6bfd3e7
Add support for fixed speed MIDI output ports
...
This is the output port equivalent for
::read_and_parse_entire_midi_buffer_with_no_speed_adjustment()
2020-05-31 23:45:18 +02:00
Robin Gareus
677f4b4e53
NO-OP: whitespace
2020-05-31 23:45:15 +02:00
Robin Gareus
8e52ea74da
Add API to lookup MIDI Clock Beat position
2020-05-31 23:45:09 +02:00
Paul Davis
54c1c0cc2c
%s is printf, this is ostream!
2020-05-30 11:35:40 -06:00
Paul Davis
9e054aff58
provide more info if tasklist threads cannot be created
2020-05-30 11:10:30 -06:00
Robin Gareus
fe1f8effb9
Don't crash if ardour vamp plugins are n/a #8161
...
This still assert()s in debug builds. Since those plugins
should always be available.
2020-05-30 05:20:50 +02:00
Robin Gareus
2beae94a5d
Remove non rt-safe debug output
2020-05-29 17:29:52 +02:00