Commit graph

8093 commits

Author SHA1 Message Date
Robin Gareus
a64a311a41 keep port bundles in sync with engine 2015-03-08 22:40:27 +01:00
Robin Gareus
40c04867ef Bundle API user update
cherry-pickable follow up to 0582221
2015-03-08 22:39:34 +01:00
Robin Gareus
0582221353 consolidate BundleAdded/Remove signal
The only user (matrix) does not care which bundles are added/removed.
This simplification will make it a lot easier to keep bundles
in sync with actual hardware ports.
2015-03-08 22:38:55 +01:00
Robin Gareus
9107a4b7fe add a no-jack-metadata option for poor 12.04 souls
(jack does have metadata support but ubuntu packaged
a version with a wrong header)
2015-03-08 21:31:08 +01:00
Robin Gareus
8008d4262f nicely named session bundles 2015-03-08 19:02:31 +01:00
Robin Gareus
8fd67c5a88 coremidi separate ID and Name, use fixed IDs. 2015-03-08 19:02:31 +01:00
Robin Gareus
0cf11acc27 add backend support for port properties (CoreAudio) 2015-03-08 19:02:31 +01:00
Robin Gareus
20cd14cf36 add backend support for port properties (jack) 2015-03-08 19:02:31 +01:00
Robin Gareus
f89123b28b libardour API to exercise get_port_property 2015-03-08 19:02:31 +01:00
Robin Gareus
0f736feee0 add port-engine API to query port-properties 2015-03-08 19:02:30 +01:00
Robin Gareus
2657992ebb CoreAudio fwheelin’ state-machine cleanup etc. 2015-03-08 19:02:30 +01:00
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