Commit Graph

31223 Commits

Author SHA1 Message Date
Paul Davis
b59e687f83 prevent addition mouse button press/release events while an existing drag is still underway from interfering (fixes #8529) 2021-01-07 22:55:44 -07:00
John Emmas
ef7a5e1b00 For 64-bit compilation, MSVC no longer supports inline assembly 2021-01-07 09:22:43 +00:00
Clara Hobbs
381ebeab13 Add Moog Grandmother midnam
Contains all the CCs from the documentation for firmware version 1.1.3.
2021-01-06 18:44:41 +01:00
Martin Vlk
e84cec0842 Fix "R/L". 2021-01-06 18:40:45 +01:00
Martin Vlk
1f96f95e65 Fix "Manual". 2021-01-06 18:40:45 +01:00
Damien Zammit
cbd0ba90c6 pt import: Fix two warnings from valgrind
- Remove uninitialised unused variable
- Remove jump condition on uninitialised variable
2021-01-06 11:30:12 +11:00
Robin Gareus
a3df0523b5 Fix crash when requesting disk/in monitoring of busses
e.g. select the master-bus, use  "D" or "I" keyboard shortcuts
in the mixer window.
2021-01-05 23:35:55 +01:00
Robin Gareus
026069047d Really don't strip NSS libs for OSX bundles 2021-01-04 06:11:10 +01:00
Robin Gareus
e255202c84 Fix shell syntax in previous commit 2021-01-04 05:44:52 +01:00
Robin Gareus
b934663c26 Tweak OSX packaging, don't strip NSS libs
This fixes i386 optimized builds:

```
dyld: Symbol not found: _PL_CompareValues
  Referenced from: /Volumes/Ardour-6.5.86/Ardour6.app/Contents/MacOS/../lib/libnssutil3.dylib
  Expected in: /Volumes/Ardour-6.5.86/Ardour6.app/Contents/MacOS/../lib/libplds4.dylib
 in /Volumes/Ardour-6.5.86/Ardour6.app/Contents/MacOS/../lib/libnssutil3.dylib
```
2021-01-04 05:16:45 +01:00
Paul Davis
20bdc394f4 remove debug output unintentionally committed in 14318dd34 2021-01-03 18:17:14 -07:00
Paul Davis
7c27f617dc use bold font for major (bar) marks in BBT ruler to heighten contrast 2021-01-03 17:14:35 -07:00
Paul Davis
14318dd342 use larger font for bars on BBT ruler 2021-01-03 16:50:18 -07:00
Paul Davis
20029ec7e6 canvas/ruler: provide option for a second font to be used for "major" marks 2021-01-03 16:50:18 -07:00
Robin Gareus
d92d707180 Extend plugin parameter Lua bindings 2021-01-03 17:24:21 +01:00
Robin Gareus
caf55e105e Dynamically load Dr.Mingw
This improves compatibility with older systems, notably 32bit WinXP.
2021-01-02 23:19:40 +01:00
Robin Gareus
9ff3dc8251 NO-OP: cleanup API, reorder and re-indent code 2021-01-02 16:48:59 +01:00
Robin Gareus
cd72bbb2d4 Make AVX/FMA support optional
Older compilers do not yet have fmaintrin.h. This fixes compile errors:
```
x86_functions_fma.cc:51:39: error: '_mm_fmadd_ss' was not declared in this scope
x86_functions_fma.cc:85:35: error: '_mm256_fmadd_ps' was not declared in this scope
x86_functions_fma.cc:106:35: error: '_mm256_fmadd_ps' was not declared in this scope
x86_functions_fma.cc:129:39: error: '_mm_fmadd_ss' was not declared in this scope
```
2021-01-02 16:41:43 +01:00
Ayan Shafqat
c856a862af Add unit test for FMA extension routine 2021-01-01 21:08:06 +01:00
Ayan Shafqat
407882d23d Add support for Intel/AMD's FMA extension
By supporting FMA extension, the number of instruction needed
for multiply accumulate to mix channels are reduced. Since,
this extension has been around since middle of 2012, more
computers have this instruction set available.
2021-01-01 21:05:16 +01:00
Robin Gareus
f188a1ad10 Bump (C) for a hopefully happier new year 2021-01-01 13:18:43 +01:00
John Emmas
bf50535d69 To keep MSVC happy, clarify which overloaded version of 'floor()' to call 2020-12-31 16:13:51 +00:00
John Emmas
631b39e803 Add/remove source(s) in our MSVC project (gtk2_ardour) 2020-12-31 16:11:47 +00:00
Robin Gareus
4a9a4bf3de VST3: pre-allocate AudioBusBuffers
This also reverts 768d8362cd since it causes crashes
with various plugins (eg. surge.vst3).

Ardour now provides AudioBusBuffers for all audio I/O busses,
regardless of Ardour using those busses.

This fixes crashes of plugins that ignore ProcessData::numInputs
or ProcessData::numOutputs. Those plugins are expected to check
numChannels and channelBuffers for those excess channels, which are
0, NULL for unused busses.

ProcessData numInputs, numOutputs does correctly reflect actual
busses that are in-use (at most one main and one aux for each direction).
2020-12-30 21:25:03 +01:00
Robin Gareus
7f9d5be11c ACE Fluidsynth: consistent port-names 2020-12-30 19:01:58 +01:00
Robin Gareus
768d8362cd VST3: Amend 15864be609 set numI/O correctly 2020-12-30 18:52:16 +01:00
Robin Gareus
f3e6ca7c1a Ignore inline-display unless plugin-meta data explicitly mentions it 2020-12-30 18:50:02 +01:00
Robin Gareus
1ade88edef Fix ACE.lv2 inline-display meta-data 2020-12-30 18:48:47 +01:00
Robin Gareus
15864be609 VST3: always pass buffers for all audio busses
This should fix an issue with yabridge and MCompressor.
The plugin has two kMain inputs and expects ProcessData:inputs
to always have two entries, even if the second bus is explicitly
disabled.

see https://hastebin.com/ekewojiqep.txt
```
IComponent::activateBus(type = 0, dir = 0, index = 1, state = false)
data.numInputs = 1;
```

TODO: optimize (pre-allocate) if it works as expected
2020-12-30 18:10:17 +01:00
Robin Gareus
62ac7c6a80 VST3: Announce IPlugFrame interface support 2020-12-30 14:36:26 +01:00
Robin Gareus
e85ae7f9a6 Verbose cursor audio region peak display
https://discourse.ardour.org/t/is-it-possible-to-view-audio-levels-in-db-by-moving-cursor-over-a-waveform/105199
2020-12-30 13:42:42 +01:00
Robin Gareus
8a14a7a00b Fix tracking-text offset
If position along a given axis is not tracked, then the
offset was applied repeatedly to the current position.
This caused the coordinate to run away.
2020-12-30 03:26:00 +01:00
Robin Gareus
d741f01ad0 NO-OP: whitespace 2020-12-30 03:25:57 +01:00
Robin Gareus
3f60d12308 Handle async removal of sidechain input
Apparently a user managed to remove a SC input and then
use the input's context-menu before the UI had caught up.
(PluginPinWidget::plugin_reconfigured happens during idle)

---
Exception Type:        EXC_BAD_ACCESS (SIGSEGV)
Exception Codes:       KERN_INVALID_ADDRESS at 0x0000000000000000

Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
0  [..] PluginPinWidget::sc_input_press(_GdkEventButton*, boost::weak_ptr<ARDOUR::Port>) + 1140
2020-12-29 16:08:46 +01:00
Robin Gareus
9ba8166ae8 Cache ffmpeg/transcoder paths
This significantly speeds up loading export formats that use ffmpeg.

A single call to ::transcoder_exe() took 300-400ms on Windows.
With multiple formats using an external transcoder, showing the
export dialog could take to 2-3 sec.
2020-12-22 22:23:43 +01:00
Robin Gareus
ce07765347 video-export dialog, only show abort/progress when exporting 2020-12-22 19:35:12 +01:00
Robin Gareus
239c340527 Do not show blank waveforms in case height is < 1px
Instead draw some lines to indicate that "something" is there.
2020-12-22 13:27:46 +01:00
Robin Gareus
4b0f72e205 Do not bother to render waveforms < 2px high
Those are blank to begin with, nothing is drawn, yet they'd still be
cached.

This may happen during an initial exposure (see 1a49d7d42b),
or when deleting regions.
2020-12-22 05:54:55 +01:00
Robin Gareus
1a49d7d42b Fix invisible multicahannel waveform at rec-stop
AudioRegionView() c'tor calls create_waves() early on
before the _height is set [1].

Now one following can happen:
 1. All peak-files are present. create_waves() directly calls
    create_one_wave() for each channel. They are initialized
    with zero height.
    But all channels are present so waves[] is populated and
    a later call to set_height() corrects this
 2. All peak-files are still missing. create_waves() schedules
    callbacks via PeaksReady -> peaks_ready_handler()
    Those callbacks arrive after set_height() was called and
    the waveforms are displayed correctly.

 3. Only some peak-files are present. This can happen at
    rec-stop when the region is created.
    create_waves() directly calls create_one_wave() for available
    peaks, and schedules peaks_ready_handler() for the remainder.
    The directly created waves have zero-height.
    Since not all waves are ready, they are stored in tmp_waves.
    waves[] remains unpopulated.

The set_height() call only ever changed the height of wave[], which
resulted in hidden waveforms, until a user manually changed the
height of the track.


[1] the height is set from
```
#1 AudioStreamView::create_region_view(boost::shared_ptr<ARDOUR::Region>, bool, bool)
#2 AudioStreamView::add_region_view_internal(boost::shared_ptr<ARDOUR::Region>, bool, bool)
#3 StreamView::add_region_view(boost::weak_ptr<ARDOUR::Region>)
 ...
## PBD::Signal1 Playlist::RegionAdded()
```
2020-12-22 03:37:17 +01:00
Robin Gareus
e5e8b7a965 Close peakfile before emitting PeaksReady signal
The file has to be flushed to disk before it can be used.
This fixes an edge case only.

Since PeaksReady() is a cross-thread signal that calls
AudioRegionView::peaks_ready_handler in the GUI thread, the
function [almost] always completed, before the GUI was woken up
to schedule a WaveView render request (which uses the peak-file).
2020-12-22 03:02:54 +01:00
Robin Gareus
b7f367ae26 Allow multi-threaded AudioSource reading
This is needed for threaded peak-file creation. The same
nested source may be accessed multiple times concurrently
(in addition to the butler thread reading it).

This fixes Bitrunner's "filum2020" session randomly showing garbage
waveforms.
2020-12-21 21:55:55 +01:00
Robin Gareus
e4249b97ff Add code to debug waveform peak-data 2020-12-21 21:37:45 +01:00
Robin Gareus
ee1e7ad00e Clear waveform cache when rebuilding peak-files 2020-12-21 21:13:13 +01:00
Robin Gareus
b8e336b973 Add API to clear waveform cache 2020-12-21 21:12:53 +01:00
Robin Gareus
acbccc1feb macOS: explicitly ask for mic/input permissions 2020-12-20 23:49:05 +01:00
Robin Gareus
38c31998c5 Fix macOS Lua wrapper script env 2020-12-19 23:34:07 +01:00
Robin Gareus
4f62726193 Set BigSur version compatibility 2020-12-18 14:51:07 +01:00
Robin Gareus
1737dc1869 Revert "Fix typo in OSC gain feedback message"
This was not a typo after all, but a way to show the gain in the
name-display, as per manual:
> In the case where Gainmode is set to position, the track name
> will show the dB value while values are changing.

This reverts commit 3290d66a43.
2020-12-17 17:30:24 +01:00
Robin Gareus
241105b477 Revert "Add debug output for NSM"
This reverts commit ba9e310d4d.
2020-12-17 16:15:33 +01:00
Robin Gareus
3290d66a43 Fix typo in OSC gain feedback message 2020-12-17 00:58:28 +01:00