Commit graph

7959 commits

Author SHA1 Message Date
nick_m
fb8bc4e8c9 Manual merge of the backend (peakfile reading) part of waveview branch.
Summary:
    * use mmap() for the whole peakfile instead of lots of small seek/reads
    * cache the computed peaks
    * where possible, open files with O_NOATIME.
2015-03-11 00:40:02 +11:00
nick_m
e7b0e67bc8 Manual merge of the drawing component of waveview branch.
In summary:

    * no antialiasing of waveviews
    * no diagonal lines
    * simplify clip detection
    * don't use LINE_CAP_ROUND for outline
    * use the wave colour when drawing outline only
2015-03-10 23:35:53 +11:00
Robin Gareus
3547540f98 throttle TransportStateChange signal emissions 2015-03-10 10:49:52 +01:00
Robin Gareus
db8406dc4a disk-space calc is windows (not MSVC) specific. 2015-03-10 00:21:37 +01:00
Robin Gareus
a6b9e81ed1 10ms = 1e7 nsec 2015-03-10 00:09:01 +01:00
Robin Gareus
22a91f47bb rework/optimize CoreMidi 2015-03-09 23:28:57 +01:00
Robin Gareus
efbc00651f NOOP, add header-guards and namespace to CA backend 2015-03-09 23:28:57 +01:00
John Emmas
523f703b3b Move 'poor_mans_glob()' into libpbd 2015-03-09 18:32:55 +00:00
nick_m
03160ee182 Tearoff windows are utility windows rather than toolbars. 2015-03-10 03:58:00 +11:00
Robin Gareus
52e99750a0 ALSA: fix thinko in sample time calc. 2015-03-09 17:17:50 +01:00
Robin Gareus
0446ff64f4 implement samples_since cycle start. 2015-03-09 17:17:50 +01:00
John Emmas
2d6e48fb0b Define NO_JACK_METADATA when building the jack backend with MSVC
Jack (on Windows) doesn't seem to have a header file called 'metadata.h' - so hopefully, this'll be correct?
2015-03-09 11:43:05 +00:00
Robin Gareus
f2592df842 fix typo in 72ed785 2015-03-09 05:59:46 +01:00
Robin Gareus
09dd3fc369 some backends can handle incorrectly ordered midi events.
(that can happen if multiple sources send to the same
ouput port, in particular async midi events)
2015-03-09 05:41:36 +01:00
Robin Gareus
72ed785940 allow hotplugging CoreMidi devices. 2015-03-09 00:26:01 +01:00
Robin Gareus
bc7be6fd3e there’s no jack_creator_thread on windows 2015-03-09 00:09:42 +01:00
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