Commit graph

626 commits

Author SHA1 Message Date
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
Robin Gareus
10140a8e68 implement pretty-name set-property for ALSA and Dummy 2016-04-17 18:22:21 +02:00
John Emmas
40aa4cfe06 Modify our MSVC projects to build liblua as a DLL rather than a static lib 2016-04-04 16:40:20 +01:00
Paul Davis
5dbfca9953 Fix build on El Capitan
In which Apple once again changed the name of the MIDI kit from CoreMidi to CoreMIDI, something
they did for the Lion release of OS X
2016-03-01 12:20:59 -05:00
Robin Gareus
ba78359129 prepare for update to waf 1.8
uselib is no longer implicit (inherited by .use). This is still incomplete,
some uselibs for non-linux variants may be missing.

bld.is_defined("HAVE_XXX") also no longer works and will have to be
changed (I think to bld.env["HAVE_XXX"]) in countless places.
2016-02-28 21:16:44 +01:00
John Emmas
d3634c5779 Accommodate 'lua' search paths in various projects where they're needed
(i.e. so that MSVC can find header files from lua).
2016-02-27 16:29:55 +00:00
Robin Gareus
9472200727 fix hang at exit (after freewheeling) with PA-nonblocking backend 2016-02-27 00:50:02 +01:00
John Emmas
fcf757139f Accommodate newly introduced source(s) in our MSVC project (portaudio_backend) 2016-02-12 12:31:23 +00:00
Tim Mayberry
148f2ab8e5 Add debugging output for WinMME midi device names 2016-02-11 12:15:07 +10:00
Tim Mayberry
1499cd8670 Only build one version of the Portaudio backend that supports both blocking and callback API 2016-02-11 12:15:07 +10:00
Tim Mayberry
830db39585 Implement new AudioBackend API in PA backend to choose between callback and blocking API 2016-02-11 12:15:07 +10:00
Tim Mayberry
d50a821374 Add a missing include from portaudio WINMME source file
Apparently this is now required by my version of gcc/mingw
2016-02-11 12:15:07 +10:00
Tim Mayberry
b2cf028fcb Implement MIDI device enumeration and latency offset/calibration in portaudio backend 2016-02-11 12:15:07 +10:00
Paul Davis
90c4985604 remove wavesaudio backend 2016-01-12 08:06:47 -05:00
Robin Gareus
cf6a3afcaa name ALSA midi ports after device 2016-01-11 11:46:10 +01:00
Robin Gareus
0fc06b4a1b fix warning message typo 2016-01-11 11:45:44 +01:00
Paul Davis
a9995c59cc coremidi: do not clear port buffer for every call to parse_events()
This was limiting the data flow to 1 MIDI event per process cycle.
2016-01-10 17:46:36 -05:00
Paul Davis
36fb8c44c1 add explanatory comment regarding coremidi data flow 2016-01-09 14:45:38 -05:00
Paul Davis
4a99727dea coremidi: be sure to mark _event._pending false after queueing, so that it doesn't get queued up again later 2016-01-09 13:53:17 -05:00
Paul Davis
ef45a6c84b coreaudio: remove debug output 2016-01-08 09:43:33 -05:00
Paul Davis
63cbe11c67 coreaudio: remove debug output 2016-01-08 09:39:55 -05:00
Paul Davis
cae2f82278 NOOP: fix whitespace/indendentation in coreaudio backend code 2016-01-08 09:39:00 -05:00
Paul Davis
3d5e345800 coreaudio: reset MIDI parsers when entering and leaving freewheeling 2016-01-08 09:23:05 -05:00
Paul Davis
9d3cbe44a3 coreaudio: correctly clear MIDI port buffers 2016-01-07 18:11:45 -05:00
Paul Davis
c615e26f3c coreaudio: factor out common code for stuffing MIDI data into a CoreMidiPort buffer 2016-01-07 18:11:45 -05:00
Paul Davis
6e71d3b445 coreaudio: per-port parser for incoming MIDI, copied from ALSA Raw MIDI support 2016-01-07 16:42:34 -05:00
Robin Gareus
b7e06693be nitpick 2016-01-07 20:44:59 +01:00
Paul Davis
d735145969 fix missing symbol on OS X 2016-01-07 10:40:08 -05:00
John Emmas
8649c1759e #define BACKEND_NAME when building with MSVC (portaudio_backend)
N.B. We aren't yet building the blocking PortAudio backend but that can be added quite easily, if needed.
2015-12-23 15:09:18 +00:00