13
0
Commit Graph

29637 Commits

Author SHA1 Message Date
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
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
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
c5332ddd00
Another attempt at fixing multi-range export
See also
  * 4f3a95a1da
  * cfd95340b1
  * 61e7f3176b
2020-04-09 20:25:25 +02:00
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
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
70f13a3ff3 use RCU to manage JACK backend's container of ports 2020-04-08 19:56:33 -06:00
feff57d29a prefer initialization to assignment 2020-04-08 19:56:08 -06:00
20b4b4ea90 remove debug output 2020-04-08 18:43:20 -06:00
dd94d43c46 when renaming a port, remove the backend's port map entry based on the *old* name (not the new one) 2020-04-08 18:41:37 -06:00
3188fe00aa fix return value 2020-04-08 18:13:13 -06:00
57118c2370
Prevent FX from producing sound after export
This cuts reverb tails and synth sounds after export.
Disabling freewheeling, continues normal processing where
export left off. This previously kept notes ringing, or reverbs
audible.
2020-04-09 01:28:04 +02:00
a6afb31245
Safeguard against libaudiographer exceptions 2020-04-09 00:01:44 +02:00
b8ce25fdab
Fix export-alignment with JACK -- #7916 2020-04-09 00:01:44 +02:00
f32245c156 add required ::clear_ports() call to Dummy backend destructor 2020-04-08 14:55:31 -06:00
7434478a35
Update Waveform display when channel-count changes 2020-04-08 17:40:32 +02:00
cfd95340b1
Fix exporting multiple range (MacOS)
The actual issue was introduced in 61e7f3176bfd8e:
Session::non_realtime_stop() no longer unsets PostTransportStop
(other changes from that commit are not relevant).

The real issue however is a race-condition.
So far this only seems to happen on MacOS, Coreaudio.

It seems that non_realtime_stop() is called in the butler-thread
after exporting has started, even though the butler has been
paused in wait_until_finished().

Perhaps Coreaudio thread switches causes TransportFSM to
reinitialize and scheduling the butler?

The use of `usleep()` makes this rather a workaround.
However it's sufficient for the coreaudio rt thread to run
at least once.
2020-04-08 15:59:30 +02:00
John Emmas
911c82ff09 Add/remove source(s) in our MSVC project (gtk2_ardour) 2020-04-08 11:35:43 +01:00
John Emmas
02473f058c Add/remove source(s) in our MSVC project (ardour_mackie) 2020-04-08 11:34:54 +01:00
6a8863386a use an Unwinder to provde exception-safety 2020-04-08 00:28:30 -06:00
78a66b7180 improved port cleanup as backend is destroyed 2020-04-07 23:26:51 -06:00
ec9784764c better fix for port destruction 2020-04-07 23:21:48 -06:00
09b51f3901 Revert "PortEngineSharedImpl callbacks should not be pure virtual"
This reverts commit a13ef36b3b.

A better fix is coming.
2020-04-07 23:21:06 -06:00
5b6e2b088e show ARDOUR::Port destructor with either DEBUG::Ports or DEBUG::Destruction 2020-04-07 23:20:15 -06:00
a13ef36b3b PortEngineSharedImpl callbacks should not be pure virtual
A port can callback from its destructor, which if occuring inside the backend destructor
would reach an already partially destructed backend.
2020-04-07 20:36:20 -06:00
ede8b9995a fix another explicit return val for ::get_port_by_name() if JACK has died 2020-04-07 18:57:24 -06:00
2591c81c1a fix explicit return val for ::get_port_by_name() if JACK has died 2020-04-07 18:54:57 -06:00
0a8b670bd0 yet another attempted fix for older gcc/mingw 2020-04-07 18:47:51 -06:00
0c859316a3 another attempted fix for older gcc/mingw 2020-04-07 18:44:40 -06:00
5d2bacd238 do not initialize shared_ptr<Subview> with 0 2020-04-07 18:37:18 -06:00
3f30a0ad39 more code rearrangement ... old gcc/mingw does not allow Enum::Value 2020-04-07 18:32:45 -06:00
595be0e5e9 try some rearrangement to fix old mingw builds 2020-04-07 18:15:51 -06:00
893e835dca NOOP: whitespace 2020-04-07 18:15:51 -06:00
8562582da2
Cont'd work on disk reader channel initialization
Amend 648beb94. If initial re-fill happens via override buffers,
the buffer may still be effectively empty.
2020-04-08 02:12:58 +02:00
d045dae5ff fix missing #include 2020-04-07 17:33:14 -06:00
33ae34124a fix missing #include 2020-04-07 17:27:31 -06:00
e345f38c7b fix missing #include 2020-04-07 17:22:55 -06:00
71e04c945f fix return value to be a legal null shared_ptr<PortPtr> 2020-04-07 17:18:10 -06:00
92005cd992 fix 2 additional "resets" of shared_ptr<PortPtr> 2020-04-07 17:11:50 -06:00
648beb94a0
Fix false-positive under-run messages
Port (or Tracks) can be safely added during playback, however
the disk-reader's playback buffer is initially empty. This lead to
false-positive Underrun() signals when processing takes place
before or concurrently with re-filling the disk-buffer for the new
channels.

Now new empty buffers are ignored, and produce silence until the
initial refill is complete. There is however no per-channel
de-click in, yet.

This fixes: play some audio track, ctrl+drag a region to the
drop-zone, creating a new track while playing.
2020-04-08 01:09:40 +02:00
e893c31701 "fix" some uses of foo<bar<>> by change the closing chars to "> >" (windows 2020-04-07 17:08:17 -06:00
76245107c7 fix 2 additional "resets" of shared_ptr<PortPtr> 2020-04-07 17:02:08 -06:00
260afe85ca fix "reset" of shared_ptr<PortPtr> 2020-04-07 16:57:49 -06:00
32734ce53c fix portaudio backend to use shared_ptr 2020-04-07 16:00:22 -06:00
f7abab11a3
Add preference to reset x-run counter on rec-start #6706 2020-04-07 23:52:16 +02:00