Commit graph

7932 commits

Author SHA1 Message Date
Robin Gareus
95558b5878 update https://github.com/x42/weakjack/ 2015-03-08 16:22:14 +01:00
Tim Mayberry
3b57d246d7 Reduce run time/output of PBD::Timer unit test 2015-03-08 22:46:38 +10:00
Tim Mayberry
f694b867c1 Fix PBD::copy_file on windows to work with non-ascii paths
This breakage was indicated by the filesystem unit tests.
2015-03-08 22:46:26 +10:00
David Robillard
b35504a71e Fix compilation with --no-lv2 (#0006169).
Not that I condone such backwards behaviour.

(Different issue in the ticket, but it was still broken at link time).
2015-03-08 01:36:53 -05:00
Robin Gareus
c3430e5884 Cluster Frak String Reference 2015-03-08 02:51:09 +01:00
Robin Gareus
50041cb450 avoid non-integer loop conditions. 2015-03-08 02:01:48 +01:00
Robin Gareus
95631cdc25 properly handle empty CFStringRefs. 2015-03-08 01:40:39 +01:00
Robin Gareus
7edc7a8d28 CoreAudio: fix allocation alignment 2015-03-07 23:27:33 +01: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
Robin Gareus
d47ad23fe8 no more gcc/ppc complaints 2015-03-07 16:10:45 +01:00
Robin Gareus
7af3fdb99a fix various -Wformat 2015-03-07 15:04:17 +01:00
Robin Gareus
f88e566576 fix copy/edit in 659a8a2 2015-03-07 14:50:02 +01:00
Robin Gareus
659a8a26ae fix latency report, take buffersize changes into account. 2015-03-07 14:35:32 +01:00
Robin Gareus
ce3adfd3d4 Hard Core Audio
* allow to change buffersizes
* subscribe to buffersize & samplerate changes
* add support for half-duplex devices.
* aggregate Devices (not yet used) code from JACK2
* unify deprecated API wrappers
* properly keep track of MIDI ports
* disable MidiI/O during freewheeling
* various small fixes & cleanup
2015-03-07 14:35:32 +01:00
John Emmas
e99599c7db Add some newly introduced sources to our MSVC project (libardour) 2015-03-07 12:30:22 +00:00
John Emmas
4b401d9e34 Add a missing 'typename' specifier to the declaration for 'Evoral::Sequence::set_notes()' 2015-03-07 12:29:15 +00:00
Robin Gareus
13bad670fa more ongoing work on the coreaudio backend
* audio port names
* latency compensation
* xrun reporting
* various fixes and cleanup
2015-03-06 23:26:05 +01:00
Robin Gareus
3b941fc0fa build system tweaks for coreaudio/waves-coreaudio 2015-03-06 23:26:05 +01:00
Robin Gareus
6b87e706eb cont’d work on the coreaudio backend & cleanup 2015-03-06 06:24:56 +01:00
David Robillard
408090adce Add MIDI readahead to options editor. 2015-03-05 18:48:33 -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
David Robillard
09f1571fc0 Clean up MidiPlaylist::read, kill copy-paste code.
Towards putting more advanced logic here, where two copies of everything will
get even more hairy.

The two cases of reading from one or many regions are not very different in the
read phase, the only difference is the target.  So, point a reference to the
appropriate target, use the same read code in either case, then sort/etc
afterwards only if necessary.
2015-03-05 17:11:24 -05:00
Ben Loftis
5bf90524df fix import of v2 session redirects: active or inactive 2015-03-05 12:48:30 -06:00
Robin Gareus
1089f19a4c create engine thread before sending notifications.
Fixes missing thread in Pool in session_process,
when switching backend threads (CoreAudio, Waves)
2015-03-05 16:46:20 +01:00
Robin Gareus
f6f64d3f81 get started on coreaudio/midi backend 2015-03-05 16:46:20 +01:00
Robin Gareus
2ab26bd86d fix another screwup/typo in 782dd70 2015-03-05 02:10:21 +01:00
Robin Gareus
7ef22e5e71 remove unused devel.variable in prev commit 2015-03-05 02:04:14 +01:00
Robin Gareus
782dd70875 alsa: implement timing callback 2015-03-05 01:59:59 +01:00
Ben Loftis
1acbd7c488 fix for previous checkin; should allow waves midi backend to work 2015-03-04 10:23:19 -06:00
Ben Loftis
e3dd226ffa Change order of midi entries so a new backend will default to a working midi system.
Needs testing on all platforms.
2015-03-03 15:57:08 -06:00
Robin Gareus
a2d1f894b0 recursive VST scans 2015-03-03 19:54:28 +01:00
Robin Gareus
cf7d5dbc2d recursive regexp file search. 2015-03-03 19:54:27 +01:00
John Emmas
a173c74f2d Adapt our MSVC projects to use our (newly re-built) libsuil 2015-03-03 14:51:59 +00:00
Robin Gareus
8e3ec4b9ab leave a ToDo note for the butler. 2015-03-02 23:13:19 +01:00
Robin Gareus
5cfa389978 explicitly close tmpfiles before unlink.
fixes issue on export tmpfiles remaining on windows
2015-03-02 23:12:06 +01:00
Robin Gareus
a5eb3bae87 add an explicit close function to sndfile
NB. if someday we want to switch back to upstream
SndfileHandle, we need to subclass wrap it.
(not sure what else is different, anyway)
2015-03-02 23:11:04 +01:00
Robin Gareus
9a30bfd0c6 use Xthreads in session butler.
(hopefully) fixes export randomly stalling on windows: 
dequeue_request() was a single request (no queue) on Windows.

Butler::queue_request() is called 
-> Butler goes to work..
-> while working, another request is queued
-> butler never sees this
-> deadlock
during Freewheeling/Export wait_until_finished()
waits for the 2nd request to be handled, and never returns.
2015-03-01 20:55:39 +01:00
Robin Gareus
d7727a77e0 Xthread: blocking read + non-blocking write mode.
Needed for switching the butler to use Crossthreads.
2015-03-01 20:49:55 +01:00
Robin Gareus
60388f975c tiny cleanup due to long comment in between. 2015-03-01 19:12:10 +01:00
Robin Gareus
0a6df4e521 fix typo in c936c97 2015-03-01 19:11:23 +01:00
Robin Gareus
380215a08c API to delete AU cache & blacklist 2015-02-28 15:52:28 +01:00
Robin Gareus
c936c973b5 AU blacklist 2015-02-28 15:52:28 +01:00
Robin Gareus
ee0826c823 AU fix potential endless loop during discovery 2015-02-28 15:52:28 +01:00
Robin Gareus
7a1baeee79 promote sustain pedal from meh to reasonable. 2015-02-28 15:52:28 +01:00
John Emmas
32e23db665 In libpbd the sources 'localeguard.cc/.h' and 'locale_guard.cc/.h' are essentially identical now - so let's remove the former pair which were only ever needed when building with MSVC
(should hopefully avoid future confusion !!)
2015-02-28 12:59:00 +00:00
Robin Gareus
3c3586a4e1 AU presets: allow to save & directly use. 2015-02-28 08:04:14 +01:00
Robin Gareus
60c39849cf include AU control outputs (as meters on generic UI) 2015-02-28 07:24:33 +01:00
Robin Gareus
1b0574540f automated toggles? yes we can! 2015-02-28 07:24:13 +01:00
Robin Gareus
b362f45738 fix AU generic GUI and automation lanes
Don’t include non-automatable params.
2015-02-28 07:23:45 +01:00
Robin Gareus
105ecfa464 fix routing midi data on export:
MidiPort::cycle_end() was never called, hence after the 
first cycle all midi buffers were assumed to be 
“mixed down” already.

this fixes 
Midi-track 1 -[midi]-> Midi-track2 synth -[audio]-> out
on export.
2015-02-28 05:49:16 +01:00