Robin Gareus
0d668b9beb
ALSA backend: always register ports with systemic latency
...
and allow re-start to un/set reporting latency.
2017-04-27 20:59:15 +02:00
Robin Gareus
d7d86a99d2
Re-nice ALSA MIDI port names
2017-04-21 10:43:22 +02:00
Tim Mayberry
bf5864aaca
Use PBD::to_string() from pbd/string_convert.h in JACK utils
...
Use pbd/string_convert.h API instead of std::ostream for numeric formatting to
remain locale independent and not have to use a LocaleGuard.
2017-04-19 09:37:00 +10:00
Robin Gareus
6968c9f909
Drain ALSA raw-midi buffers after 64 bytes
...
Very long sequence of *concurrent* events may otherwise be truncated
because the backend requests a buffer-size of 64 bytes via
snd_rawmidi_params_set_buffer_size().
2017-04-09 05:03:19 +02:00
Robin Gareus
f9db9bf5fd
Retain order of concurrent MIDI events
...
This fixes an issue with FaderPort8 (and maybe other surfaces or synths).
2017-04-08 23:43:50 +02:00
John Emmas
9a45e0fde9
Add a missing #define to our MSVC project (portaudio_backend)
2017-02-20 09:16:51 +00:00
Robin Gareus
9bf4f339b9
revert 335debfa for the PA backend
...
The same device may have different names for input + output
2016-11-27 00:42:08 +01:00
Robin Gareus
335debfa2f
Add API to enforce valid device selection.
2016-11-26 15:31:21 +01:00
Tim Mayberry
d10913e2de
Fix intermittent hang when stopping PortaudioBackend
...
This issue is not always reproducible but when it does occur it happens
somewhat consistently on both 32bit and 64bit builds(Tested on Windows 7).
The midiOutReset call does not return (or it takes so long that it might as
well be indefinite) and as it is not strictly necessary just remove it.
Resolves: http://tracker.ardour.org/view.php?id=7095
2016-11-15 09:36:52 +10:00
Robin Gareus
43bd7f5db1
fix const-cast
2016-11-12 16:20:43 +01:00
nick_m
33e95a1577
rename Tempo _beats_per_minute to _note_types_per_minute, provide pulse helpers.
...
- adds quarter_notes_per_minute(), note_divisions_per_minute (double)
pulses_per_minute() and frames_per_quarter_note()
- this should be a no-op except for the use of tempo by
the vst callback which definitely uses quarter notes per minute.
- the XML node for TempoSection named 'beats-per-minute'
has been renamed.
2016-11-11 03:37:08 +11:00
Tim Mayberry
8b5fad0cf9
Use better debug output in PortaudioBackend
...
When failing to open audio stream in callback mode
2016-11-10 15:23:43 +10:00
Robin Gareus
56711b99c9
Work around OSX MIDI devices that send no timestamps
2016-10-19 19:45:53 +02:00
Paul Davis
d29d93f4cd
fix retrieval of port properties (metadata) when the value has no type
2016-10-18 16:46:33 -04:00
Paul Davis
69cbcb84a6
spelling corrections from Jaromír Mikeš <mira.mikes@seznam.cz>
...
Corresponds to https://anonscm.debian.org/cgit/pkg-multimedia/ardour.git/tree/debian/patches/0070-spelling.patch
2016-10-17 17:57:39 -04:00
Kamil Rytarowski
1ac7dad84e
NetBSD ships with pollts(2) similar to Linux specific ppoll()
2016-10-04 22:17:49 +02:00
Kamil Rytarowski
f69776e5b7
NetBSD ships with <sys/endian.h> not <endian.h>
2016-10-04 22:17:12 +02:00
John Emmas
0ff233d234
Update our MSVC project files to generate the most recent Ardour session file format (ver 5) rather than the older v3 format
2016-08-30 07:15:00 +01:00
Robin Gareus
355fa64c79
fix Coreaudio Aggregate for separate devices with identical names
2016-08-28 13:44:30 +02:00
Robin Gareus
957f59f351
print a warning if CoreAudio falls back to non realtime priority
2016-08-22 17:38:45 +02:00
Robin Gareus
cdcccd8101
handle edge-case where jack-meta-data may be NULL, but the call succeeds
...
this fixes #6968
2016-08-19 14:38:37 +02:00
Robin Gareus
a76607486c
kilo is a lower-case 'k'
2016-07-24 16:54:08 +02:00
Paul Davis
cf52d6e4b4
enough with umpteen "i18n.h" files. Consolidate on pbd/i18n.h
2016-07-14 14:45:23 -04:00
Robin Gareus
8444837b71
properly sort port-names
2016-07-14 16:52:43 +02:00
Robin Gareus
b65cb37d24
add a MTC/sysex test sequence
2016-07-11 16:58:53 +02:00
Robin Gareus
ac923be7af
fix port-sort order for good.
...
TODO find out how to make std::set::find() work with custom sort order,
as std::find may only be O(N) and not O(log (N)).
2016-07-08 21:37:42 +02:00
Robin Gareus
f84a7605d8
pre-sort port-names
2016-07-08 20:44:21 +02:00
Robin Gareus
0ae634cb1e
fix jack_port_rename() detection
2016-07-01 19:08:52 +02:00
Robin Gareus
60200bf923
bump max number of possible ALSA backend channels
2016-05-29 20:36:32 +02:00
nick_m
34c9ac9dd7
Tempo ramps - rename bbt_time() -> bbt_at_frame(), frame_time() -> frame_at_bbt()
2016-05-27 23:38:17 +10:00
nick_m
7fc3b0c34c
Initial stab at tempo ramps.
...
Replaces the list of points in TempoMap with TempoSection functions, which
compute tempo-at or tick-at time relative to tempo section start.
TempoMap consults them additively to determine things like bbt_time(),
frame_time() get_grid() etc.
This has a marked effect on scrolling speed along with the code simplification
in the places it has been attempted.
Several things are broken here.
Currently every ramp except the last one is an exponential ramp. this may
be simple to fix :).
Mouse-over midi grid doesn't match mouse click grid. should also be simple.
Many things seem to work, but their accuracy should be in question until
each area has been addressed.
2016-05-27 23:38:09 +10:00
Robin Gareus
94187e66a2
add a test-sequence for polyphonic pressure
2016-05-27 12:12:00 +02:00
Robin Gareus
afc1186759
NO-OP indent
2016-05-22 19:36:54 +02:00
John Emmas
39ba60aaef
Make sure MSVC knows which version of 'floor()' we want
2016-05-22 15:53:16 +01:00
Robin Gareus
9ad096b611
Dummy Backend evolution
...
- pretty port-names for Dummy generators: show frequency
- add 1/3 Octave spaced sine-wave generator
2016-05-21 22:38:39 +02:00
John Emmas
b0200b23f2
Accommodate the fact that 'msvc_resources.rc.in' got moved to a new path
2016-05-21 10:33:18 +01:00
Robin Gareus
d8ac5eddf7
add missing include
2016-05-06 21:25:21 +02:00
Robin Gareus
514da9881d
convert WinMME Device names to UTF-8
2016-05-06 20:59:24 +02:00
John Emmas
dc1a2fbca7
MSVC won't compile 'const float _demolition[]' because it uses 'divide by zero' while initializing
...
Hopefully we can use INFINITY and NAN for the relevant initializers ?
2016-05-03 17:30:58 +01:00
Robin Gareus
69bd02bd25
remove skeleton backend (superseded by portaudio)
2016-04-29 16:43:09 +02:00
Robin Gareus
69f99ee184
I wanna be nasty, I wanna be cruel,..
...
Somme disastrous signal generators for QA.
2016-04-29 16:10:09 +02:00
Robin Gareus
43e620504a
port 93eac8b0 to ALSA and CoreAudio
2016-04-26 18:19:48 +02:00
John Emmas
7f8c7d8647
#define HAVE_JACK_PORT_RENAME when building with MSVC
...
This means needing to build against libjack v1.9.11 (or later) although that's probably not a bad thing.
2016-04-26 15:02:20 +01:00
John Emmas
93eac8b068
Use 'const_iterator' to prevent MSVC from complaining
2016-04-26 14:58:16 +01:00
Robin Gareus
2169de3975
keep portmap & portindex in sync when renaming ports
...
Fixes crash on session re-load (introduced in 800c8182 and fde99e68 )
2016-04-26 02:26:20 +02:00
Robin Gareus
fde99e68f7
..and CoreAudio.
2016-04-24 20:45:50 +02:00
Robin Gareus
800c8182c6
O(log(n)) port and connection lookup for ALSA
2016-04-24 20:45:37 +02:00
Robin Gareus
ce052ba20a
now with C++98 compat
2016-04-24 18:34:31 +02:00
Robin Gareus
d1874d4685
optimize port lookup, adding/removing/reconnecting routes
...
xxxAudioBackend::connected_to() is called O(N^2) when building the graph.
Mitigate this by using an O(log(N)) lookup.
This duplicates the storage (both set and map and both are kept in sync.
Changing this to a boost:bidirectional might be nice, before updating
other backends.
2016-04-24 18:26:39 +02:00
Robin Gareus
9840a11537
implement metadata-set for remaining backends
2016-04-18 00:35:51 +02:00