13
0
Commit Graph

30355 Commits

Author SHA1 Message Date
87bb0953d5
Use first char of bound script action in button
In case an action-script does not have a custom icon, use the first
character of the script's name.

see also https://discourse.ardour.org/t/new-ideas-for-2020/104235
2020-06-13 00:12:26 +02:00
cda2e004a8 Fix opening sessions using the Finder (OSX)
The ShouldLoad() signal is handled by flush_pending(). This is the first
time that normal application flow can be interrupted in ::starting()
after app->ready().

This calls ::load_from_application_api(), which in turn calls
startup_fsm->handle_path(). This sets off the complete initalization
process, loading the session, and concludes with ::sfsm_response(),
where there is a call to `delete startup_fsm;`

Previously execution continued in StartupFSM::start() which caused a
crash.
2020-06-12 22:13:58 +02:00
650fd31332
Improve debug message 2020-06-12 05:08:40 +02:00
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
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
e4ccf772f5
Fix MIDI-tracer formatting of samplecnt_t and size_t 2020-06-12 03:41:43 +02:00
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
6677e9787e
Reserve generic MIDI control surface port-name 2020-06-11 23:19:05 +02:00
b0867b97ad
Don't bundle x42-plugins with Ardour windows binaries
This also allows to selectively include gratis plugins
2020-06-11 22:25:52 +02:00
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
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
176d803a55
WebSockets: move autoReconnect option in JS client to client ctor 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
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
f0d5d1323a
Fix MIDI tracer time display for async and transport-master ports 2020-06-10 00:16:54 +02:00
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
00346353a3
Prevent entering an illegal session name via copy/paste or otherwise 2020-06-09 20:30:57 +02:00
50e96a2135
Do not allow ctrl chars in session names (2/2)
The GUI applies this to new sessions only, old sessions that
may now have illegal names can still be loaded.
2020-06-09 20:30:55 +02:00
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
c822f0b370
Re-order windows installer options (non-optional first) 2020-06-09 17:27:32 +02:00
Nikolaus Gullotta
e6bbbe18c6
Skip recent sessions with empty strings for names
This can happen if the recent sessions file has new lines with no
characters on it which can be the direct loading sessions with wacky
names. For example, one that has a carriage return or newline in it.
2020-06-08 09:38:29 -05:00
c7edc28383
Keep aux-send names when duplicating tracks 2020-06-07 21:39:50 +02:00
c7bce4b685
NO-OP: whitespace 2020-06-07 18:25:18 +02:00
21b8885fe9
Remove debug output (also fix some builds, missing stdio.h) 2020-06-07 18:18:58 +02:00
b2c62db450
Fix initial action-button tooltip
The same string is used in ARDOUR_UI::action_script_changed()
when an action is un-assigned.
2020-06-07 18:13:23 +02:00
27e45c585f
Fix another stupid typo 2020-06-06 23:03:21 +02:00
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
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
515ffbdfe2
Add API to create threads with given stacksize 2020-06-06 18:32:09 +02:00
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
d366b49447
Automation Line may not exist after session re-load #8207 2020-06-06 01:05:41 +02:00
dccb2b650e
Mark Prefs Tab action name un-translatable
This is used with  string_compose ("detach-%1") etc,
and "preferences" may be translated by gtk or 3rd party translations
(Ardour itself only has upper-case "Preferences" as translatable
string)
2020-06-05 22:52:36 +02:00
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
8f82ccd3aa
Add LatencyRange comparator, and explicit assignment operator 2020-06-05 20:44:57 +02:00
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
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
25169d239d
Relax initial export-noise to 1/3 of interval 2020-06-05 03:19:47 +02:00
f8162339cf
GUI option to configure export noise watermark
This was inspired by Andy76 (item 24) at
http://mixbus.harrisonconsoles.com/forum/thread-8935-post-49751.html
2020-06-05 03:10:20 +02:00