Commit Graph

460 Commits

Author SHA1 Message Date
Robin Gareus d4212da693
AU: standalone scanner tool 2021-07-03 19:07:26 +02:00
Robin Gareus 39fd3ff62a
VST2: use new scanner 2021-07-03 19:07:26 +02:00
Robin Gareus a74b4e8ef0
No more wine 2021-07-03 19:07:25 +02:00
Robin Gareus fce374fd41
Foundation for plugin-manager, persistent logs 2021-07-03 19:07:24 +02:00
Marijn Kruisselbrink 0a54f96a44
Add M4A support to the audio import dialog using FFMPEG.
This uses the existing optional runtime ffmpeg dependency to add support
for m4a files (and in theory whatever other file formats ffmpeg
supports) to the import audio dialog.

The same functionality is mostly already available via Session -> Open
Video, with the "import audio only" selection (even though m4a isn't
currently included as one of the video formats, it still works). Having
this in the import audio dialog however seems much more user friendly.
2021-06-21 02:30:36 +02:00
Robin Gareus 65cc9264c8
Create regions with property changes suspended
This fixes various issues with signal emission(s) when creating
regions from withing playlist operations.

eg. Playlist::duplicate() takes RegionWriteLock() and then calls
RegionFactory::create().

see also 6a82aa392c
2021-04-30 18:43:36 +02:00
Robin Gareus 114d5f20e6
Add Monitor Return
This is a special case of an Internal Return processor
dedicated to the monitor-section. The main use-case will
be to collect signals from physical ports in a realtime-safe
manner (no connections or Port creation)
2021-02-22 00:59:59 +01:00
Robin Gareus f2d2ea4baa
Refactor Solo/Mute release
This is in preparation to move RoueUI::SoloMuteRelease
to libardour to reuse the implementation in various places.
This also prepares the solo logic for exclusive port-monitoring.
2021-02-22 00:59:58 +01:00
Robin Gareus ecdaf7136d
Add dedicated Monitor Port
This allows for rt-safe monitoring, collecting data
directly from input-ports without requiring a dedicated connection
or dynamic ARDOUR::AudioPort creation.
2021-02-22 00:59:57 +01:00
Robin Gareus 24f69d5174
Fix linking with gcc-10.2
Explicit libardour/fftw3f is needed for thread-safe-planner
2021-01-22 18:36:59 +01:00
Robin Gareus 9a7379dfff
Add a CircularSampleBuffer for input port scopes 2021-01-08 18:39:56 +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 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 e6fe0e8cca
Prepare for static CP API removal 2/2
This partially reverts bc78629788
2020-10-18 14:28:45 +02:00
Robin Gareus 01c278a00c
Fix unit-test builds
For the time being (since bc78629788) vst3 plugin uses
the Control Protocol API for track selection and focus, and
hence users of libardour also need to use libardour_cp
2020-10-17 18:18:05 +02:00
Robin Gareus e391352b6d
Use predefined "testcommon" target for unit-tests 2020-10-16 02:32:30 +02:00
Robin Gareus 516a1b0d2e
Use unique target names for unit-test build rules 2020-10-16 02:31:39 +02:00
Robin Gareus 16d9e72c31
Fix OSX unit-test compile 2020-10-15 06:00:17 +02:00
Robin Gareus 8ff7e18d78
Fix native builds on RPi with --dist-target=armhf 2020-10-15 03:07:34 +02:00
Robin Gareus cc935ab34e
Add basic FPU unit test 2020-10-14 22:52:43 +02:00
Robin Gareus 2a9795113b
VST3: Plugin discovery 2020-09-16 22:49:20 +02:00
Robin Gareus 84a86fa21a
VST3: Implement host classes 2020-09-16 22:49:20 +02:00
Robin Gareus 9bd8c43693
VST3: Load and instantiate 2020-09-16 22:49:20 +02:00
Robin Gareus 0ca0b4f335
VST3 skeleton 2020-09-16 22:49:19 +02:00
mx 262281bc1f
Use soundtouch for vocal audio time stretching (1/2) 2020-08-26 19:04:58 +02:00
Robin Gareus 773a1a0725
Fix optimized armhf builds
Apparently gcc-6.2 with -O3 and -mfpu=neon can use ARM instructions
that requires 64bit alignment (here vst1.64) with data that
is not 64bit aligned (g->strcache) https://i.imgur.com/vYktsUn.png

So we need to be able to build "arm_neon_functions.cc" with
-mfpu=neon, while not automatically using NEON for the rest
of the codebase, unless explicitly asked for.
2020-08-22 02:35:19 +02:00
Robin Gareus fb5abde677
Use specific build-target for ARM/NEON routines 2020-08-21 03:39:56 +02:00
Ayan Shafqat c8c57f14bf
Adding ARM NEON optimized routines
This commit adds ARM NEON optimized routines for the following procedures
below:

*_compute_peak
*_find_peaks
*_apply_gain_to_buffer
*_mix_buffers_with_gain
*_mix_buffers_no_gain
*_copy_vector

NEON optimized routines have a prefix of: arm_neon_
2020-08-21 03:29:39 +02:00
Paul Davis 9ea6f598bd add new file to wscript 2020-04-02 19:45:31 -06:00
Paul Davis e89b0cfd27 remove tape_file_matcher source 2020-03-17 16:31:49 -06:00
David Robillard 45026100aa LV2: Implement ui:requestValue feature 2020-03-17 16:55:35 +01:00
Robin Gareus 3483c3589a
Add a Read Only Memory Audio Source
This will come in handy for FIR, or short samples in combination
with a Lua convolution processor.
2020-02-06 17:30:21 +01:00
Robin Gareus 56c1fa0c90
Break out API to create readables from files 2020-02-06 17:30:21 +01:00
Nikolaus Gullotta 39dac5b20f Fix tests failing to build by adding LIB_FFTW3F 2020-01-29 10:12:04 -06:00
Robin Gareus 5c789547cb
Fix building unit-tests 2020-01-27 17:43:37 +01:00
Robin Gareus 5a841ef462
Tweaks to build/package scripts for new waf
* Windows: delete waf installed .dll.a files
* Windows: override waf's conf.env.LIBDIR = conf.env.BINDIR
  with explicit --libdir
* Windows: fix asm (`x86_64-w64-mingw32-as` -D flag is for
  debug messages, -D defines are not available)
* Mac: override waf adding -install_name (and
  -Wl,-compatibility_version -Wl,-current_version)
  by moving -dynamiclib from linkflags to ldflags
* Mac: Allow libs with compat version number suffix
  (not needed anymore, but may help in the future)
2020-01-25 04:07:42 +01:00
David Runge 2e9ac80e99
Towards waf python 2+3 support 2020-01-25 04:07:37 +01:00
Robin Gareus bca825e515
NO-OP: whitespace 2020-01-14 00:52:24 +01:00
Robin Gareus d0b6c437ce
Implement mp3 import, using minimp3 2019-12-06 18:18:54 +01:00
Robin Gareus fa6a21f94e
Ardour 6.0 Alpha - Enterprise Edition
Its 5 year mission
To explore strange new sounds
To seek out new bugs and new users
To boldly go where no Ardour session has gone before
2019-12-04 23:07:42 +01:00
Paul Davis c0a1aec516 start removal of NoteFixer code
Plan is to always read MIDI directly from rendered version. MidiPlaylistSource needs
attention before MidiPlaylist::read() can be removed
2019-11-02 16:32:18 -06:00
Paul Davis 22da779322 introduce new all-in-RAM MIDI datastructure and use it for MIDI playback 2019-11-02 16:32:18 -06:00
Paul Davis 5ec5bc4523 goodbye USE_TRACKS_CODE_FEATURES and is_tracks_build 2019-09-25 12:16:13 -06:00
Paul Davis d7c91b5322 split session-bundled-related methods to their own file 2019-09-22 12:23:54 -06:00
Paul Davis bd229936ec add finite state machine to control/manage transport state 2019-09-17 18:26:03 -06:00
Robin Gareus 38b36d2ea5
Engage thread-safe fftw planner in libardour
This way initialization happens constently, and independent from the GUI,
for session-utils, lua, headless..
2019-09-10 03:06:21 +02:00
Robin Gareus 01c5aa34c6
Update MClk unit-test - new transportmaster API 2019-09-05 14:52:08 +02:00
Robin Gareus 3630113414
LV2 support is not optional since 04ccd328dc 2019-06-24 21:52:27 +02:00
David Robillard 30d59c8f6e Remove support for building against LV2 older than 1.2.0
LV2 1.2.0 was released in 2012, over 6 years ago now.
2019-04-10 10:24:33 +02:00
Robin Gareus 2a8d3ff4f0
Amazing PCM byte/array convert functions, unused. 2019-02-28 18:52:10 +01:00