Commit graph

8335 commits

Author SHA1 Message Date
Ben Loftis
24efaa2992 likely fix for broken fades (imported from v2 sessions) 2015-02-27 11:31:56 -06:00
Ben Loftis
763a7c8161 potential fix for the_CLA reported problem: v2 fader values are lost if you are using a non-US locale 2015-02-27 11:31:55 -06:00
Robin Gareus
b11a18d226 fix generic GUI for AU.
Ardour only queries AU writable (or read+writable)
parameters, hence announce them as such.
2015-02-26 23:57:09 +01:00
Robin Gareus
7f27d658e1 annotate prev commit. 2015-02-25 00:43:58 +01:00
Robin Gareus
e38eb0613e no more AU warnings…
Ardour calls input_streams(), output_streams() to determine
if the plugin is about to be re-configured (old stream I/O count
!= new I/O count) and emit PluginIoReConfigure() if that’s true.

If the plugin has not been initialized (no format set), we can
safely assume that it will need to be reconfigured.

Forcing Audio=Midi=0 will do so.

The only time where the format is not yet set and hence the actual
channel count is still unknown) is during the first call to 
PluginInsert::configure_io().

At the time of writing, this all is a NOOP anyway! The only user
of the PluginIoReConfigure() signal is the GUI to update connection
lines…  and since the first PluginInsert::configure_io() happens 
during insertion before the plugin is painted and subscribed to 
PluginIoReConfigure(), this function could return any value.

Still 0,0 is just more appropriate than assuming mono audio in/out
and no midi.
2015-02-25 00:42:54 +01:00
Robin Gareus
6774aef412 AU synth. prefer stereo variant if available. 2015-02-24 18:31:35 +01:00
Robin Gareus
acd6810860 AU: fix return value reference 2015-02-23 02:49:37 +01:00
Robin Gareus
b75a826b9a fix return value on AU error in e070701 2015-02-22 23:44:23 +01:00
Robin Gareus
9359a157fa fix logical-op-parentheses 2015-02-22 23:38:42 +01:00
Robin Gareus
e070701f14 support AudioUnit Generators without global Channel Info 2015-02-22 23:37:18 +01:00
Paul Davis
10e183f518 fix two other potential issues with leftover 32 bit integers when reading from sndfilesource.
It is less likely that these would cause issues because the
variables involved define the size of the data read, which
is almost certainly less than the 32 bit limit (i.e. they are
not positional). But to keep things clean and to keep questions
at bay, make them 64 bit values.
2015-02-22 11:12:11 -05:00
Paul Davis
b40a305b5a fix incorrect use of int32_t for current position in file while writing to non-destructive sndfilesources 2015-02-22 11:12:11 -05:00
Robin Gareus
bf1d12708d dummy: add square wave frequency sweep generators 2015-02-21 05:05:48 +01:00
Paul Davis
a2e4d6260c fix logic of Session::audio_source_name_is_unique() 2015-02-20 14:12:40 -05:00
Paul Davis
7024232855 ensure that stub audio file sources are removed when we destroy a track 2015-02-20 14:12:40 -05:00
Paul Davis
dcf69ab3e6 fix erroneous merge for wavesaudio backend 2015-02-20 13:21:44 -05:00
Valeriy Kamyshniy
d5e375f784 [Summary] In internal Waves backend API, switching sample time from 32 bits to 64 bits.
Conflicts:
	libs/backends/wavesaudio/wavesapi/devicemanager/WCMRCoreAudioDeviceManager.cpp
2015-02-20 13:05:43 -05:00
VKamyshniy
3b5da657af [Summary] In internal Waves backend API, switching sample time from 32 bits to 64 bits. Fixing logical inconsistency: None device always brought sample time=0 to the audio engine callback. 2015-02-20 13:03:09 -05:00
nick_m
5d5f83c56b The commit 3da9c3b740
wasn't the no-op it claimed to be.
2015-02-20 23:30:48 +11:00
David Robillard
b68a4e5cdc Normalize notes on all channels.
Probably.
2015-02-19 20:23:11 -05:00
David Robillard
450291adfc Fix record/import of note ons with velocity 0.
Best to just do this as early as possible to avoid having to deal with this
situation all over the code.

Also fixes violation of LV2 MIDI specification, which requires no such events
are delivered to plugins.
2015-02-19 18:38:30 -05:00
David Robillard
6fb4bd578e Don't allocate then discard notes on note off.
Silly to make a junk Note just to pass to append_note_off_unlocked, which just
uses the fields that are on the MIDIEvent anyway then throws it away.

Also explicitly dispatch to append_note_off_unlocked in the caller for note ons
with velocity 0 rather than make append_note_on_unlocked deal with it.
2015-02-19 18:38:30 -05:00
David Robillard
6a033a093b Remove unused ifdef gunk. 2015-02-19 18:38:30 -05:00
Paul Davis
76f6ff178e fix incorrect type for Waves' backend's _sample_time_at_cycle_start 2015-02-19 18:23:17 -05:00
Paul Davis
582138f280 change Audio backend sample time methods to use a 64 bit timeline 2015-02-19 17:44:01 -05:00
Robin Gareus
e148ee52ab add a nonsense-midi test sequence:
system:midi_capture_6 
duplicate on/off, zero-velocity note-on
2015-02-19 21:58:30 +01:00
Robin Gareus
b489385bf1 fix some static-analysis warnings 2015-02-19 20:37:58 +01:00
Paul Davis
aea700fbc4 fix transport issues when loop-is-mode is off.
Session::unset_play_loop() needed to be a no-op if play loop was
already false, and this was exacerbated now that it potentially
schedules butler transport work.
2015-02-19 10:33:33 -05:00
Robin Gareus
3a63b785a9 rsynth: map note-on with zero velocity to note-off 2015-02-19 00:54:30 +01:00
Paul Davis
c24bb4a8ee fix initialization order (sigh) 2015-02-18 12:00:36 -05:00
Paul Davis
8c812a6df4 Revert "[Summary] Eliminated redundant marker update notification which lead to creation of huge amount of redundant session events"
This reverts commit 3dde9e969c.
2015-02-18 12:00:36 -05:00
Paul Davis
2067163f7a Revert "fix indentation from previous commit and previous edits"
This reverts commit 449c9b675d.
2015-02-18 12:00:36 -05:00
Paul Davis
58137b8326 try to restore original semantics for scheduling butler transport work in Session::locate() 2015-02-17 11:21:41 -05:00
Paul Davis
b72d37a45f another required fix following recent cherry-picks from waves 2015-02-17 11:10:29 -05:00
GZharun
297ebd33bb [Summary] Blocked redundant skip marker (during skip ranges consolidation) updates which used to lead to unnecessary overhead and redundant session events
Conflicts:
	libs/ardour/ardour/session.h
	libs/ardour/session.cc
2015-02-17 10:57:56 -05:00
Paul Davis
48fdb28153 mark session dirty when loop location is changed 2015-02-17 10:50:54 -05:00
Paul Davis
449c9b675d fix indentation from previous commit and previous edits 2015-02-17 10:47:22 -05:00
GZharun
3dde9e969c [Summary] Eliminated redundant marker update notification which lead to creation of huge amount of redundant session events 2015-02-17 10:43:05 -05:00
GZharun
5a8270373a [Summary] Fixed loop processing in cases when loop is moved/resized
[Reviewed by] REQUIRED REVIEW FROM PAUL DAVIS
2015-02-17 10:37:35 -05:00
Paul Davis
b3e7c88988 fixes for desirable playback when using seamless looping.
Try to make sure that we appropriately reset and refill track
buffers whenever we enter/leave loop playback,and whenever
we locate. In addition, if we start playing somewhere other
than the loop range while loop is enabled, then the first
time we hit the loop end, set up the track buffers.

Conflicts:
	libs/ardour/session_transport.cc
2015-02-16 19:35:37 -05:00
Robin Gareus
8a93a87db0 remove lib versioning for internal plugins
Those objects do not have a versioned API by themselves.
This fixes issues with duplicate deployment (OSX, Linux bundles: cp) and
ardour listing control-surfaces multiple times (file index plugin dir).
2015-02-16 17:32:56 +01: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
Tim Mayberry
964c04eec5 Move TestReceiver class in libardour tests into own header file 2015-02-15 13:48:53 +10:00
Tim Mayberry
d9b4c6be6a Add a few test util functions and refactor existing test code 2015-02-15 12:53:41 +10:00
Robin Gareus
deb4687d5d fix testPathIsWithin unit-test:
* use absolute path
* fix copy/paste typo: bar->jim for symlink test
2015-02-14 05:50:40 +01:00
Robin Gareus
7f0cdc3967 hide terminal window for windows vst scanner 2015-02-14 05:50:40 +01:00
David Robillard
5b3ff655f1 Fix LV2 UIs with spacey paths (e.g. Pianoteq). 2015-02-13 22:00:38 -05:00
Paul Davis
7a99bc5373 fix seamless looping after a locate out of the loop.
Something, somewhere has to tell tracks to refill their buffers with
the special loop-data-only magic
2015-02-13 18:42:41 -05:00
Paul Davis
aa5cf04ca6 correctly set track loop status when locating away from loop range (and later, when coming back to the loop)
Conflicts:
	libs/ardour/ardour/session.h
	libs/ardour/session.cc
	libs/ardour/session_transport.cc
2015-02-13 17:23:50 -05:00
Colin Fletcher
cb3961d953 Add a test for the constrained cubic interpolation of Evoral::Curve
Add a test, based on the worked example in www.korf.co.uk/spline.pdf, for
the constrained cubic spline interpolation.

The delta values for the float comparisons are rather arbitrary, I'm sorry
to say: they're basically chosen so that everything passes.
2015-02-13 12:25:51 +00:00