Nikolaus Gullotta
0ae8268bf0
lib_ardour part: add mixer_snapshot class
2020-03-23 13:49:13 -05: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
Robin Gareus
3cffaeac74
Prepare to allow to disable latency-compensation
...
Previously "zero custom/user latency" meant "default plugin latency".
This is now saved in a separate boolean allowing a user to reduce a
processor's latency to zero.
This also prepares for a global switch to use zero latency throughout
the whole session.
2019-02-16 01:10:50 +01:00
Paul Davis
04ccd328dc
remove configure-time --no-lv2 option. LV2 is integral to what we do
2018-12-28 09:47:55 -05:00
David Robillard
79c9c62154
Remove conditional support for ancient versions of Lilv
...
This updates the dependency to 0.24.2, which was released in January 2017 and
is the most recent version in Debian 9 (stretch).
2018-12-19 20:08:47 -05:00
Robin Gareus
4c6ff5f7e7
Move video-tool paths to libardour (1/2)
...
This is in preparation to allow calling ffmpeg, or similar (sox, lame,..)
directly from libardour.
2018-11-19 03:18:48 +01:00
Robin Gareus
087b8d7f33
Implement basic libardour convolution DSP
2018-10-20 00:24:38 +02:00
Paul Davis
0cf27fd2cd
fix several inter-related problems with libptformat
2018-10-14 20:35:29 -04:00
Damien Zammit
3fd7f9478f
PT import: Minor changes to session
2018-10-12 19:09:40 +11:00
Paul Davis
e6915e01de
new transport slave/master implementation, libs/ edition
2018-09-18 19:06:04 -04:00
Paul Davis
8a18929d57
remove Session::controllable_by_descriptor() and move code into GenericMIDI code (the only user).
...
This also removes enums introduced to describe well-known parameters for Mixbus. Lookup now involves string
parsing every time, but this is not likely to be a notable cost.
2018-06-21 13:05:58 -04:00
Robin Gareus
0f9ca82684
Remove interpolation unit-test (fails to compile)
...
Ardour vari-speed does no longer use ARDOUR::CubicInterpolation
and LinearInterpolation was removed.
vari-speed is now using zita-resampler.
2018-03-02 16:13:37 +01:00
Robin Gareus
4cab03887c
Add a Raw MIDI parser (based on ALSA raw MIDI)
2017-12-05 16:09:42 +01:00
Robin Gareus
539560bcac
Add polarity-invert processor
2017-10-31 03:15:43 +01:00
Robin Gareus
fba0fce441
Add a RT-Tasklist
2017-10-30 16:31:38 +01:00
Robin Gareus
927788a0b0
Move vari-speed into backend (resample ports)
...
Previously Ardour used a /local/ per track vari-speed mechanism.
Now that the disk-reader is a latency-compensated processor, the speed
of each disk-reader would need to be maintained locally, offset by each
disk-reader's output latency. Furthermore each disk-reader may
produce a different number of samples, depending on its global alignment.
This commit introduces port-data resampling directly at the engine-level:
Up/down-sample all input ports at the beginning, and down/up-sample output
port-data using the inverse ratio at the end of the session's process
cycle.
The session itself is unaware of the speed-change, and only needs to
handle transport speeds {-1, 0, +1}.
This also allows for aligned cue-monitoring and vari-speed recording,
and also pitch-shifts synthesized MIDI along.
2017-10-29 20:04:00 +01:00
Paul Davis
7db12f6b12
convert codebase to use Temporal for various time types
2017-09-24 12:03:54 -04:00
Robin Gareus
16f9f58057
More s/frame/sample/ - fixes unit-test compilation
...
"frame" in #include file-names was replaced, this actually renames
the files to follow suit.
2017-09-19 05:37:58 +02:00
Paul Davis
30b087ab3d
globally change all use of "frame" to refer to audio into "sample".
...
Generated by tools/f2s. Some hand-editing will be required in a few places to fix up comments related to timecode
and video in order to keep the legible
2017-09-18 12:39:17 -04:00
Paul Davis
68e57101ad
fully remove diskstream code
2017-09-18 11:40:53 -04:00
Paul Davis
c05cfe3328
merge AudioDiskstream playback code into DiskReader
2017-09-18 11:40:52 -04:00
Robin Gareus
5cfb5dbd4c
Bump session file format (pre 6.0)
...
* latch automation
* logarithmic interpolation option
2017-09-18 11:40:52 -04:00
Paul Davis
0c035778e1
libardour now has CoreSelection object to manage selection status of Stripables and AutomationControls
2017-05-05 18:56:25 +01:00
Robin Gareus
7a489dd553
Add a ReadOnlyControl parameter abstraction
...
This allows to pass a sperici Controllable alike instance around without
relying on directly exposing the Plugin instance and parameter-id.
2017-04-12 21:14:46 +02:00
David Robillard
875b1367b2
Factor out and extend MIDIXML implementation
2016-12-03 15:18:20 -05:00
Robin Gareus
cf1651e6d7
consolidate VSTState functions
2016-11-15 17:10:13 +01:00
Robin Gareus
5dc2497100
rework 8e3b6c9ac (fstwin is C code, not C++)
2016-11-15 02:49:41 +01:00
Robin Gareus
8b93fb02f3
Mac VST-2.x support
2016-11-13 16:35:06 +01:00
Robin Gareus
99e9382cdb
Unit-tests to check Lua session+DSP scripts
2016-10-11 00:00:52 +02:00
nick_m
af289cab62
Remove unused methods, add tests to ensure meter divisors don't mess with Beats.
...
- TempoMap::framepos_minus_beats() was only used by its test,
so don't build the test.
2016-10-02 03:55:18 +11:00