Commit Graph

373 Commits

Author SHA1 Message Date
Robin Gareus
681b65aa0b Add a fixed (not de-clicked) multi-buffer audio/midi delayline.
A ringbuffer intended to be used for plugin-thru/bypass
latency compensation.
2016-04-08 18:16:37 +02:00
Robin Gareus
3164c9a07b prepare sidechain i/o processor 2016-04-02 23:34:05 +02:00
Robin Gareus
5b347e9258 add OSC Lua bindings 2016-03-19 12:47:37 +01:00
Robin Gareus
79ea6c8248 start a dedicated ARDOUR lua function collection 2016-03-18 22:52:19 +01:00
Robin Gareus
5fa4cf996b prepare custom LV2 extensions 2016-03-14 00:17:08 +01:00
Robin Gareus
43603a9893 prepare region/range loudness analysis 2016-03-11 17:26:42 +01:00
Robin Gareus
ba78359129 prepare for update to waf 1.8
uselib is no longer implicit (inherited by .use). This is still incomplete,
some uselibs for non-linux variants may be missing.

bld.is_defined("HAVE_XXX") also no longer works and will have to be
changed (I think to bld.env["HAVE_XXX"]) in countless places.
2016-02-28 21:16:44 +01:00
Robin Gareus
51385ced3c Implement Lua DSP processor/plugin 2016-02-23 15:41:08 +01:00
Robin Gareus
d8008b2db1 libardour lua-script-manager 2016-02-23 15:41:06 +01:00
Robin Gareus
f0b6c8e111 include static liblua with libardour & prepare bindings 2016-02-23 15:41:02 +01:00
Robin Gareus
7d7f63363b basic DSP lib (for lua bindings) 2016-02-22 22:06:47 +01:00
Paul Davis
e2a085190f break out Route controllables code into its own source module 2016-01-31 13:20:18 -05:00
Paul Davis
55094b7237 move Amp::GainControl out into its own source module and out of Amp 2016-01-18 12:11:08 -05:00
Tim Mayberry
44f46d2b0d Fix broken load-session utility and change it to load and save a session
Rename run-session-tests.sh script to load-save-session.sh and make it operate on
only a single session and add a separate load-save-session-collection.sh script

Add --massif option to load-save-session.sh script

Rename some poorly named variables and add some documentation to the
load-save-session.sh script
2015-12-01 15:44:10 +10:00
Robin Gareus
73d1de3b75 NOOP, remove trailing whitespace, replace tabs in python scripts 2015-11-29 17:54:31 +01:00
Nils Philippsen
e25ddc39f8 make copies of global lists before extending
Not doing so can make source or object files appear multiple times in
the list of files to be compiled or linked, e.g. when doing './waf build
install', subsequently leading to linker errors.
2015-11-23 08:43:19 -05:00
Robin Gareus
5eaaa5fcae libardour wrapper for EBUr128 VAMP plugin 2015-11-03 19:21:32 +01:00
André Nusser
bd02a7f817 Add Transpose class that can be used by apply_midi_note_edit_op. 2015-10-17 22:12:55 -04:00
Robin Gareus
8bee256e4f prepare LTC File Reader 2015-09-20 18:35:29 +02:00
Tim Mayberry
449b57d583 Add test for DSPLoadCalculator to libardour tests 2015-09-16 11:22:17 +10:00
Tim Mayberry
08e18a0cb4 Move implementation for DSPLoadCalculator back into header
It can be inline now that it is much simpler
2015-09-16 11:22:16 +10:00
Tim Mayberry
8625362cac Add DSPLoadCalculator class to libardour
This is similar to the class in the PortaudioBackend but uses an average of the
values if raw load is under 80%
2015-09-10 12:12:56 +10:00
Tim Mayberry
94f3e3029a Add enums to AudioBackend class for getting standard error and device name strings
These could also be used for return values but are initially intended for
shared translations of error messages between backends. Ideally IMO translation
should occur in the GUI(as there may be more than one) in response to these(or
similar) error codes but that would take agreement and a fair bit of
refactoring. As it is there are errors that occur in the backends that users
will want to know about this at least allows consistent translations to be
shared between backends.
2015-09-02 12:07:14 +10:00
Robin Gareus
864b557a3d another waf/regexp issue (amend 4666711) 2015-08-12 07:39:12 +02:00
Robin Gareus
f6fa4581b0 sha1: cleanup & separate unit test 2015-08-03 02:13:44 +02:00
Tim Mayberry
545fd78a14 Remove sse optimization sources from test applications
These are already built and included in libardour
2015-07-25 17:19:17 +10:00
Robin Gareus
7a7c87d5f4 remove tabs from python code 2015-07-05 14:50:13 +02:00
Paul Davis
6878742d9f try to correctly set up build of AVX code for windows and linux, using compiler flags dictionary.
Adds use of 'pic' compiler flags dictionary item
2015-06-29 14:18:13 -04:00
Paul Davis
6410aa896f Added optimized AVX function for sample processing
Added AVX versions of existing 5 SSE functions. Added 6th AVX function to copy vectors which is 1.5 times faster then memcpy.
Data consistency and validness  is fully tested after processing with new AVX functions on aligned and non aligned buffers.
2015-06-29 14:18:13 -04:00
Paul Davis
c57aecafb1 add engine_state_controller.cc to libardour sources when building tracks 2015-06-29 14:18:11 -04:00
Paul Davis
187ddb3bad more windows related SSE build fixes 2015-04-21 13:28:17 -04:00
Paul Davis
140e437313 typo 2015-04-21 13:04:22 -04:00
Paul Davis
8c52662ac0 use compiler target to determine whether to use 64 bit windows assembler, not the build host CPU type 2015-04-21 13:01:54 -04:00
Paul Davis
126b3c2417 Revert "as an experiment, try original asm on windows."
This reverts commit c37dc461b3.
2015-04-21 12:34:14 -04:00
Paul Davis
c37dc461b3 as an experiment, try original asm on windows.
Grygorii's new intel-syntax code didn't work on first try
2015-04-21 12:32:59 -04:00
Paul Davis
63b3967724 improve logic flow 2015-04-21 11:39:31 -04:00
Greg Zharun
8af992c449 [Summary] Added SSE sound processing functions support for Windows. Version 1.
Conflicts:
	wscript
2015-04-21 10:49:00 -04:00
David Robillard
c9023ae73d Fix mute of MIDI tracks with channel forcing.
This moves MIDI channel filtering into a reusable class and moves filtering to
the source, rather than modifying the buffer afterwards.  This is necessary so
that the playlist trackers reflect the emitted notes (and thus are able to stop
them in situations like mute).

As a perk, this is also faster because events are just dropped on read, rather
than pushed into a buffer then later removed (which is very slow).

Really hammering on mute or solo still seems to produce stuck notes
occasionally (perhaps related to multiple-on warnings).  I am not yet sure why,
but occasional beats always.
2015-03-29 00:51:56 -04:00
David Robillard
de078a04e2 Fix LV2 preset deletion and clash between plugins.
Before this, LV2 preset deletion in Ardour was doubly broken: the wrong file
was being removed, and removing the correct file would only result in a broken
preset.  This change uses a new version of Lilv which has a more sophisticated
mechanism for preset deletion.

Also, fix "clashing" presets saved with the same name for different plugins, by
prefixing the plugin name to the bundle (this is now a recommendation in the
LV2 preset specification).
2015-03-07 14:54:03 -05:00
David Robillard
a8aae56d92 Handle edits while playing precisely.
This avoids stuck notes if active notes are edited, but without stopping all
active notes in the region on any edit as before.

This implementation injects note ons in places that aren't actually note
starts.  Depending on how percussive the instrument is, this may not be
desired.  In the future, an option for this would be an improvement, but there
are other places where "start notes in the middle" is a reasonable option.  I
think that should be handled universally if we're to do it at all, so not
considering it a part of this fix for now.
2015-03-05 17:30:31 -05:00
Tim Mayberry
2a04ff8641 Add TestUI class to properly handle EventLoop invalidation
This fixes the programming error: Session RT event... warnings
while running ardour tests
2015-02-15 15:05:22 +10:00
David Robillard
5b3ff655f1 Fix LV2 UIs with spacey paths (e.g. Pianoteq). 2015-02-13 22:00:38 -05:00
Robin Gareus
20ea90a186 waf: fix concurrency issue with duplicate targets
The same source file cannot safely be used in different wscripts
with concurrency (if they were in the same wscript it works
.c.1.o .c.2.o, etc).


[387/764] c: libs/fst/vstwin.c -> build/libs/fst/vstwin.c.1.o
[731/764] c: libs/fst/vstwin.c -> build/libs/fst/vstwin.c.1.o
[746/764] cxxprogram: build/libs/fst/scanner.cc.1.o build/libs/fst/vstwin.c.1.o -> build/libs/fst/ardour-vst-scanner.exe
[750/764] cxxshlib: [...]  build/libs/fst/vstwin.c.1.o [...] -> build/libs/ardour/ardour-3.dll

and about one every full moon (depending on concurrency) it failed:
missing file: 'build/libs/fst/vstwin.c.1.o'
2015-01-17 18:19:25 +01:00
Robin Gareus
0367aa5825 remove cruft (old unused pre-git version files) 2015-01-09 06:11:57 +01:00
Robin Gareus
659c0d093d remove hardcoded major version in build scripts 2015-01-08 17:59:41 +01:00
Robin Gareus
c16d520338 prepare for 'ardour4' 2015-01-05 19:07:24 +01:00
David Robillard
4c0cebf7f9 MIDI transform dialog. 2014-12-28 16:06:44 -05:00
David Robillard
2e7cfe081f Add --no-lrdf configure option. 2014-12-24 13:00:32 -05:00
Paul Davis
d854c5d93c move ARDOUR::Configuration and ARDOUR::ConfigVariable into libpbd 2014-12-22 19:48:30 -05:00
Paul Davis
246a4f3018 correct install location for .mo files (i18n) and cleanup LOCALEDIR use a bit 2014-12-09 08:19:11 -05:00