Commit Graph

30225 Commits

Author SHA1 Message Date
John Emmas
1d23e18efe Initial vcproj changes for building Ardour6 / Mixbus6 with MSVC 2020-05-29 08:33:33 +01:00
Luciano Iam
0a19e87646 WebSockets: match message.js constants to C++ code 2020-05-28 18:56:21 +02:00
Luciano Iam
e253302c62 WebSockets: allow compilation with lws < 2.1.0
Old libwebsockets does not define lws_callback_http_dummy()
Conditionally use custom code instead
2020-05-28 18:56:21 +02:00
Luciano Iam
3840264edd WebSockets: remove usage of lws constant LLL_USER
It is not available on lws 2 and really not needed
2020-05-28 18:56:21 +02:00
Luciano Iam
c3d72625cd WebSockets: leverage LWS_WITH_GLIB 2020-05-28 18:56:21 +02:00
Luciano Iam
85d1aa30d5 WebSockets: comment out a lws_callback case that made clients hang 2020-05-28 18:56:21 +02:00
Luciano Iam
7554655616 WebSockets: improve libwebsockets 4 compatibility
After upgrading from lws 3 to 4 clients could still connect to the surface but no data was sent from the server.
2020-05-28 18:56:21 +02:00
Luciano Iam
6e5aeb57b3 WebSockets: fix LWS_WITH_EXTERNAL_POLL check 2020-05-28 18:56:20 +02:00
Daniel Appelt
522d6d769c Add ControlList docs that are relevant for Lua 2020-05-28 18:52:02 +02:00
Len Ovens
b8202431ef Add foldback bus dulication option
Duplicates the bus and its sends and levels
2020-05-28 07:05:59 -07:00
Len Ovens
4bfb2ee6cd Allow foldback sends to be pre or post fader 2020-05-28 07:05:59 -07:00
Robin Gareus
3e6295f538 Fix MIDI Clock slave
* take port latency into account
* fix DLL initialization, and initial speed calculation
* igonre out of bounds BPM

the DLL bandwidth still needs to be tweaked, likewise the
hardcoded 1st order LPF to track BPM (vs speed).
2020-05-27 23:59:27 +02:00
Robin Gareus
16f6e62249 Consolidate TansportMaster implementation
* share port_latency latency query for MTC and MIDIClock slaves
* propagate set_session()
* share session_connections for MasterViaMIDI

This is in preparation to allow MClk slave to access midi-port-latency
2020-05-27 23:40:09 +02:00
Robin Gareus
b46a7d43c2 Dummy Backend: add a MIDI Clock generator 2020-05-27 23:40:06 +02:00
Mister Benjamin
974ae5100f Allow CD marker at session start #8029
Remove restriction in GUI, keep CD-marker button sensitive.
2020-05-27 21:06:29 +02:00
Mister Benjamin
4c8b9daa0f Allow CD marker at session start #8029
This removes the restriction to not place a CD marker at
session start.

This helps in getting rid of some inconsistencies. Also,
the previous policy didn't help in enforcing the Red Book standard.

Two seconds of pregap are implicitly created by DDP mastering tools
and CD burning software.
2020-05-27 21:05:17 +02:00
Guido Aulisi
a5ec4fa3ac Do not install wscript 2020-05-27 17:23:04 +02:00
Robin Gareus
0d4ea1e61f Fix reverse MIDI playback
upper_bound() returns the first element that is **greater** than
the given value. So during reverse playback we need the value
before that.

Likewise for forward playback, lower_bound() returns an iterator
pointing to the element before the one that need to be played.
2020-05-25 17:19:44 +02:00
Robin Gareus
59c914e2db Amend previous commit (no default namespace std) 2020-05-24 23:22:20 +02:00
Robin Gareus
d7ca8c350a Fix a missing std when using modern VAMP-SDK 2020-05-24 23:21:16 +02:00
Robin Gareus
d3ffc4d90a Update more messages to prefer "Track/Bus" instead of "Route" 2020-05-24 19:38:04 +02:00
Robin Gareus
94085b0162 Avoid "Route" in user visible messages
Prefer "Track", "Bus" and/or "Strip" where applicable, or simply
avoid it.
2020-05-24 19:20:45 +02:00
Robin Gareus
2eb9cda9ae Update link-panner text 2020-05-24 16:36:33 +02:00
Robin Gareus
1a43512399 Another missing Lua constant (used with preferences) 2020-05-24 16:36:29 +02:00
Paul Davis
7769804cf0 update german gtk2_ardour translation 2020-05-24 00:06:46 -06:00
Paul Davis
6244cc4972 update german libardour translation 2020-05-24 00:06:25 -06:00
Robin Gareus
360c81b815 Define Lua constants (used with preferences) 2020-05-23 00:58:28 +02:00
Robin Gareus
534838995d Allow MIDI learn on inline toggle buttons 2020-05-22 17:35:55 +02:00
Robin Gareus
a4a96f7556 Prevent rare crash at exit in optimized builds
update_video_timeline() is called after destroying the
video_timeline instance at exit.

#0  __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
#1  __GI_abort () at abort.c:79
#2  __assert_fail_base at assert.c:92
#3  __GI___assert_fail at assert.c:101
#4  Editor::update_video_timeline(bool) (this=0x55a10a25a060, flush=false) at ../gtk2_ardour/editor_videotimeline.cc:57
#5  Editor::visual_changer(Editor::VisualChange const&) (this=0x55a10a25a060, vc=...) at ../gtk2_ardour/editor.cc:4746
#6  Editor::idle_visual_changer() (this=0x55a10a25a060) at ../gtk2_ardour/editor.cc:4687
#7  Editor::_idle_visual_changer(void*) (arg=0x55a10a25a060) at ../gtk2_ardour/editor.cc:4645
#8  g_main_context_dispatch () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#9   () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#10 g_main_loop_run () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#11 gtk_main () at /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
#12 Gtkmm2ext::UI::run(Receiver&) (this=0x55a105ababe0, old_receiver=...) at ../libs/gtkmm2ext/gtk_ui.cc:293
#13 main(int, char**) (argc=1, argv=0x7fffcd806dc8) at ../gtk2_ardour/main.cc:437
2020-05-22 01:39:43 +02:00
Robin Gareus
44bca6cc8f Fix memory leak when reading MIDI files 2020-05-22 01:29:25 +02:00
Robin Gareus
ab4b268e5f Display engine setup error #8134
get_last_backend_error() is only set if AudioEngine::start() fails.
When an error occurs earlier in the setup process it not updated.
2020-05-22 00:17:23 +02:00
Robin Gareus
08da389acc Remove unused condition (MIDI calibration starts engine)
MIDI latency calibration is now only possible when the engine
is running (since 4c8f562053).

This reverts part of e6febe040a
and a2f7abc70b
2020-05-21 22:06:43 +02:00
Robin Gareus
08d4350ddf NSM: Use session's rate when starting JACK
Also log if jackd cannot be started or reached instead of
silently terminating.
2020-05-21 16:11:39 +02:00
Robin Gareus
5d0867ec10 NSM special-cases
Special cases to load-or-create session via NSM_Client::command_open
This bypasses most of the startup-FSM for NSM. Either a session
is loaded or created. JACK is mandatory.
2020-05-21 02:04:49 +02:00
Paul Davis
61ce687017 add text to TRANSLATORS file explaining how contextual translation msgids work and should be translated 2020-05-20 14:40:10 -06:00
Paul Davis
7dedf5955f additional fix ups context-providing translations for gtk2_ardour 2020-05-20 14:36:00 -06:00
Paul Davis
160251f962 fix up context-providing translations for libs/gtkmm2ext
Translators: if the msgid looks like foo|bar then in general the foo is just
there to provide context to clarify the potentially ambiguous nature of bar.
The translated form should not contain the foo or the |
2020-05-20 14:35:33 -06:00
Paul Davis
24ec6a6b49 fix up context-providing translations for libs/ardour
Translators: if the msgid looks like foo|bar then in general the foo is just
there to provide context to clarify the potentially ambiguous nature of bar.
The translated form should not contain the foo or the |
2020-05-20 14:32:33 -06:00
Paul Davis
f8860cde75 fix up context-providing translations for gkt2_ardour
Translators: if the msgid looks like foo|bar then in general the foo is just
there to provide context to clarify the potentially ambiguous nature of bar.
The translated form should not contain the foo or the |
2020-05-20 14:30:54 -06:00
Robin Gareus
6ada6c553b Speed up automation lane removal with many ctrl points
Deleting the group first, directly removes child items
without triggering Canvas::item_changed() for every item.

This significantly speeds up closing sessions (or deleting tracks)
with lots of automation events.
2020-05-20 01:02:36 +02:00
Fred Rech
6c72862801 Revise French translation -- #8035 2020-05-19 21:42:39 +02:00
Robin Gareus
97afc4dfd6 Safe config save
This prevents corrupt rc-config files in case the disk is full.
This is a safeguard, since Ardour does not start if the main
config file is corrupt.
2020-05-19 19:47:34 +02:00
Robin Gareus
5b1a8f79bc Block periodic saves while importing
Resampling or copying files during import can take a long time.
If a save, or pending save is called while importing,
it is postponed until after import has completed.
2020-05-19 18:31:55 +02:00
Robin Gareus
272d095af6 Don't save when renaming a track
Filenames used by the disk-reader only change when recording
which creates a pending save. There's generally no reason
to force save the session due to renaming a track.
2020-05-19 18:31:52 +02:00
Robin Gareus
7476e92403 Remove explicit save for every imported file 2020-05-19 18:10:05 +02:00
Robin Gareus
8592e96d5c There is no need to save after region cleanup 2020-05-19 18:09:09 +02:00
Robin Gareus
61d11347b6 Remove implicit saves when removing empty sources
This fixes an implicit save when importing files.
The Track's disk-reader is initially created with an empty
source which is later replaced and dropped:

  ARDOUR::Session::save_state
  ARDOUR::Session::remove_source
  PBD::Destructible::drop_references
  ARDOUR::DiskWriter::reset_write_sources
  ARDOUR::DiskWriter::set_write_source_name
  ARDOUR::Track::set_name
  Editor::finish_bringing_in_material
2020-05-19 18:08:28 +02:00
Robin Gareus
3a9bf57af9 Don't save the session when creating busses
Most calls to new_audio_route() used save = false, only directly
creating busses saved the session. Probably for historical reasons.
2020-05-19 18:02:23 +02:00
Robin Gareus
8564e6f760 No implicit session save when importing files (backend) 2020-05-19 17:59:52 +02:00
Robin Gareus
749291245c NO-OP: replace save_state("") with save_state() 2020-05-19 17:14:47 +02:00