Commit Graph

31223 Commits

Author SHA1 Message Date
Robin Gareus
ad234b1853 US2400: fix pan_azimuth direction by setting rotary flag 2020-06-18 00:19:29 +02:00
Robin Gareus
aa4d357201 CC121: fix pan_azimuth direction by setting rotary flag 2020-06-18 00:10:08 +02:00
Robin Gareus
592d73dcb4 Update Monitoring display when prefs/settings changes 2020-06-17 23:51:48 +02:00
Robin Gareus
fbe8075117 Update monitoring
This partially reverts 208c781248
in order to fix monitoring when using punch-in/out.

This also allows to revert to Ardour 5 style MIDI exclusive
Input or Disk monitoring when not using layered-recording.
2020-06-17 23:51:13 +02:00
Olivier Humbert
e34d940ab3 Update French translation for libardour 2020-06-17 19:35:22 +02:00
Olivier Humbert
1c77c55f85 Minor French translation update 2020-06-17 19:34:15 +02:00
Olivier Humbert
2aae22cf51 Update French translation: min/MAJ fix 2020-06-17 19:33:39 +02:00
Robin Gareus
53b84c0d1c Make "Replace" action translatable 2020-06-17 19:04:40 +02:00
Robin Gareus
0d5e01eda6 Update Scala to MTS script:
* relax octave requirement, allow the scale
  to repeat at intervals other than 1200 cents
* fix frequency alignment of root note
  to use the given scale (not equal temperament)
2020-06-17 16:18:07 +02:00
Robin Gareus
0f95bf001d Remove unused API (Input Metering)
Input metering is now handled by Track::prep_record_enabled()
explicitly setting meter positions.
2020-06-16 22:42:16 +02:00
Robin Gareus
d557fa5e33 Automatically meter MIDI track inputs on rec-arm 2020-06-16 22:28:19 +02:00
Robin Gareus
f70b53803d Include SCL to MTS script with releases 2020-06-16 16:41:39 +02:00
Robin Gareus
c93ce8d6a4 Refine scala -> MTS script
* clean up, add comments
* skip out-of-bounds notes
* replace assert() with dialogs
* add simple icon
2020-06-16 16:41:07 +02:00
Robin Gareus
dc23b9e118 Update SCL -> MTS script to send events to tracks or plugins 2020-06-16 04:22:57 +02:00
Robin Gareus
175b665c97 Add Lua bindings to write immediate MIDI events 2020-06-16 04:22:23 +02:00
Robin Gareus
59fb0aed36 Add script to read scala files and generate MTS sysex
So far this script can only send MTS to async MIDI output ports
(from the GUI thread).
2020-06-16 03:32:46 +02:00
Robin Gareus
3294b1ce08 Allow to select pan-automation lanes - #8234
The GUI uses ::axis_view_by_control() if a controllable when
the CoreSelection contains a controllable.

CoreSelection::get_stripables() saves and looks up controllable
by PBD::ID. Panorama automation controls were previously
not found, since they are not directly owned by the route.
2020-06-14 20:31:50 +02:00
Robin Gareus
b6b95a1761 Amend 87bb0953d5 (Action script button text) 2020-06-13 00:58:32 +02:00
Robin Gareus
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
Robin Gareus
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
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
e4ccf772f5 Fix MIDI-tracer formatting of samplecnt_t and size_t 2020-06-12 03:41:43 +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
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
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
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
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
00346353a3 Prevent entering an illegal session name via copy/paste or otherwise 2020-06-09 20:30:57 +02:00
Robin Gareus
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
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
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