13
0
Commit Graph

31053 Commits

Author SHA1 Message Date
Hector Martin
4b9e46f11d Fix normalization in Temporal::Beats for times between -1 and 0 beats
Also fix normalization of times with negative beats and positive ticks
2020-11-18 13:40:31 -07:00
a7a389407b
NO-OP: whitespace 2020-11-18 19:33:27 +01:00
44a6d9d164
Update Export Format dialog layout
* reduce height requirement
  https://tracker.ardour.org/view.php?id=8313#c25191
* group settings sensibly
2020-11-18 19:26:32 +01:00
94af225eaf
Fix window parent when using different workspaces
This affects only windows opened from the mixer window,
in case the mixer is detached and on a different workspace (desktop).

Window::init (and Dialog::init) set transient parent early on,
and it defaults to the main window (with toolbar). It needs to be
unset before presenting the window, in order to show the window
on the same workspace as the eventual transient parent.

This follows 6dc9134 and f3fbf58.
2020-11-18 16:26:36 +01:00
ff51e315e3
VST3: fix kMaxSendLevel, on Mixbus 15dB gain can be added 2020-11-17 14:54:31 +01:00
5a27cb9780
Fix copy/edit in 0d8f4eb95a 2020-11-17 03:16:30 +01:00
5fd2d6cc81
VST3: add debug message for preset/state restore 2020-11-17 02:44:11 +01:00
0d8f4eb95a
VST3: Fix uninitialized variable, likely fixes #8460 2020-11-17 02:43:55 +01:00
4a8e9f28f3
VST3: unconditionally set controller's component state
This synchronizes component and controller when loading presets
like the VST3 SDK does.
2020-11-17 00:56:54 +01:00
de76d583b4
Remove unused variable 2020-11-17 00:16:36 +01:00
f9e9c6248d
Initialize inline_ctrl variable, fix erratic inline ctrls 2020-11-16 18:27:09 +01:00
5950df2b74
VST3: fix duplicate plugin list (windows bundle vs dll) 2020-11-16 18:26:29 +01:00
6dc91348d7
Fix transient parent for plugin windows w/detached mixer
This follows f3fbf58185 which unconditionally set the main window
as transient parent. However when detaching the mixer, plugins should
be transient for the detached parent window.
2020-11-16 15:47:05 +01:00
3c25281203
Increase taglib version requirement
taglib-1.9 (Oct 2013) added support for INFO tags in WAV files.
2020-11-15 15:04:44 +01:00
962d8922ab
Enforce session-util app name
This fixes an issue with some macOS that create index oe
meta-data files e.g. `session_utils/._export.cc`.
Besides that it increases consistency.
2020-11-15 01:21:40 +01:00
b6ae22cfed
Fix script name of pre-seeded scripts (amend c2ffa07e28) 2020-11-15 00:41:24 +01:00
cbe4de0f5a
Add tagged wav export-format 2020-11-14 19:38:00 +01:00
29b0775508
GUI: allow to enable wav/aiff tagging 2020-11-14 19:31:01 +01:00
f149a82688
Add support for RIFF and ID3v2 tags (wav, aiff) 2020-11-14 19:30:54 +01:00
a95d87ef6e
NO-OP: whitespace and private variable-name
This pipes export source-code though clang-format, and some
manual cleanup step.
2020-11-14 17:44:48 +01:00
f7cb1b0b48
LXVST2: only call effEditIdle after realizing the GUI
This fixes an issue with some plugin-wrappers, notably
ff021d0581
2020-11-14 02:49:50 +01:00
fec37c58bd
Flush plugins from rt-thread, prevent concurrent processing
Route::realtime_handle_transport_stopped() does have insufficient
information (PostTransportLocate), so "flush" is called from
Route::non_realtime_transport_stop in the butler thread.

However plugin de/activate() must not be called concurrently with
processing. e.g. https://lv2plug.in/ns/lv2core explicitly states:

"Hosts MUST guarantee that: An Instantiation function for an instance
is never called concurrently with any other function for that instance."
2020-11-14 02:49:50 +01:00
f41d752cb3 additional update GUI RU translation (Alexandre Prokoudine) 2020-11-13 15:51:29 -07:00
40edc10f4b update libs RU translation (Alexandre Prokoudine) 2020-11-13 13:17:30 -07:00
6326ba7be3 update GUI RU translation (Alexandre Prokoudine) 2020-11-13 13:17:16 -07:00
5b182f65be transport: remove apparently unnecessary code related to locates with auto-play turned off 2020-11-12 18:54:44 -07:00
8b048bb351 transport: use butler seek count, not PostTransportLocate to decide whether to call non_realtime_locate(), and update butler seek count at end 2020-11-12 18:54:44 -07:00
ef4d825232 TransportFSM: set _last_locate when doing an interrupted locate 2020-11-12 18:54:44 -07:00
ab6a1d062d add new butler seek counter 2020-11-12 18:54:44 -07:00
ee74a932c6
Zero length Events are illegal
This would later trigger an assert() in MidiRingBuffer<T>::read
when reading the status-byte, and cause undefined behavior down
in optimized builds.

It is unsure if this can happen, but it may explain
https://marcan.st/paste/LHDXNQ9x.txt
2020-11-12 16:51:48 +01:00
d3eab4e309
Prevent duplicate meters when importing tempo-map #8449
The file linked from the bug report has a meter-change
in the middle of a bar. Ardour maps this back to the previous
bar, which already has a meter-change. Session load fails with
  "Multiple meter definitions found at 473"

The tempo-map of the file ends like this:
```
  Meter 11/32 @227040 (beat 473)
  Meter 4 / 4 @227680 (beat 483.666667)
```
2020-11-11 18:48:51 +01:00
54baa620c4
Open session folder when clicking on status-bar snapshot name 2020-11-11 16:29:29 +01:00
81862f8c30
Allow to move pulse stream #8467
This potentially breaks various assumptions (e.g. no resampling,
fixed buffersize) when the stream is moved to a different device.
Then again it's pulseaudio, which is unsuitable for pro-audio to
begin with.
2020-11-11 15:59:26 +01:00
921caac00f
Apple Big Sur build support 2020-11-10 23:28:54 +01:00
ff7bd23661
NO-OP: comments 2020-11-10 19:31:25 +01:00
512b47c878
micro-optimization (skip atomic test) 2020-11-10 19:31:09 +01:00
01cdaa49b4
Fix gcc-4.x/C++98 builds (amend f87de76b9f)
This resolves error: invalid use of 'unary *' on pointer to member
error: 'volatile gint RCUManager<std::map<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::shared_ptr<ARDOUR::Port>, std::less<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<const std::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::shared_ptr<ARDOUR::Port> > > > >::active_reads' is protected
2020-11-10 18:41:27 +01:00
b1846a578d
NO-OP: whitespace, doxygen formatting and naming 2020-11-10 17:05:22 +01:00
Hector Martin
f87de76b9f
RCU: Fix race condition between writer/reader
This uses an atomic counter and spins only on the writer side, which
preserves realtime behavior on the reader side. The spinning yields (by
using the same Boost function from Boost spinlocks) to be
scheduler-friendly.

Fixing this bug also lets us be able to confidently drop garbage early
in the writer if appropriate, so do that and avoid keeping dead wood if
possible.

This reverts commit f95439a502:
"add spinlock to RCU manager to protect concurrent reader() and update() calls"
2020-11-10 17:05:16 +01:00
Hector Martin
55c2c9db7e Add sanity assert in MidiBuffer::insert_event to check for overflow 2020-11-10 21:03:42 +09:00
Hector Martin
a568b3c7c2 Complain when MidiBuffer::merge_from fails due to buffer full
We were previously dropping MIDI data silently
2020-11-10 21:03:42 +09:00
Hector Martin
0979097cae Check for MIDI buffer overflow when merging into an empty buffer
This can happen if the buffers have different sizes.
This fixes crashes that bisected to 7c37a18b7, but it is not the root
cause; it just happened to make things worse.
2020-11-10 21:03:42 +09:00
f2d04dfb1f
Fix VST2 default and initial control parameter values 2020-11-10 00:08:03 +01:00
Thomas Brand
275a37ff39
Fix Tom's Loop
-There's no 'printf' (!)
-New: Use LuaDialog to tell error cases instead of printing help to the log window.
2020-11-09 20:54:51 +01:00
Hector Martin
0e509fa09f
Correctly sort concurrent MIDI events
This fixes an bug introduced in 7c37a18b7
2020-11-09 20:40:59 +01:00
bb468ee4de
Update jackd.exe registry key
This ensures compatibility with upcoming jack > 1.9.16,
current jack 1.9.16, as well as older versions.
2020-11-09 20:06:49 +01:00
Olivier Humbert
1d14b1cfba
French translation update 2020-11-09 19:44:52 +01:00
Edgar Aichinger
3d1fe88506
update german translation 2020-11-09 19:08:40 +01:00
Edgar Aichinger
1fed2285ca
updated german translation 2020-11-09 19:08:40 +01:00
John Emmas
5f082e2c9d Add an extra option when querying Windows registry keys
(this option will be needed when 32-bit Ardour is running in 64-bit Windows)
2020-11-09 11:35:35 +00:00