Andrew Kelley
ce42b89da3
no longer ship config.h header
...
Instead provide these functions:
* soundio_version_string
* soundio_version_major
* soundio_version_minor
* soundio_version_patch
2015-11-23 13:51:25 -07:00
Andrew Kelley
ad6ba6bf34
CoreAudio: drop support for MacOS 10.9
...
closes #19
2015-11-14 22:25:14 -07:00
Andrew Kelley
ee7c0d3e11
convert source code to pure C
...
List<T> is now a really ugly macro.
Added a workaround for jack.h not putting `void` in function
prototypes for functions that take no arguments. I made upstream
pull requests to jack1 and jack2 but I don't have high hopes
about them getting merged.
I removed the lock-free atomic asserts. clang reports
non-lock-free atomics when in fact it does have lock-free
atomics. I inspected the generated code for gcc and clang
for fetch_add, load, and store, on x86_64 and armhf, and
it's all lock free.
Closes #45 .
2015-11-10 02:24:18 -07:00
Andrew Kelley
a37b8cf847
update tests to catch pausing during write_callback
2015-10-28 15:42:52 -07:00
Andrew Kelley
c09a64c64f
README: re-order feature list
2015-10-27 15:39:01 -07:00
Andrew Kelley
9c1a6d4930
README: put earliest linux version instead of alsa version
2015-10-06 14:01:07 -07:00
Andrew Kelley
75f454a607
README: add supported operating systems and versions
2015-10-06 13:39:57 -07:00
Andrew Kelley
4ce3429bdd
remove projects using libsoundio
...
the website has this information
2015-09-13 21:48:50 -07:00
Andrew Kelley
066553b07e
README touchup
2015-09-03 10:54:50 -07:00
Andrew Kelley
cd72f45f06
ALSA: fix clear buffer behavior
2015-09-01 15:06:33 -07:00
Andrew Kelley
afdb8b7feb
README: Convert Roadmap to GitHub issues
2015-08-31 15:57:40 -07:00
Andrew Kelley
dd6b7003d9
ALSA: better handling of raw devices
...
* Recover from xruns
* Better period size choice
2015-08-27 22:58:17 -07:00
Andrew Kelley
16437bd357
various code adjustments
...
* doc clarifications
* examples compile with c99 not c11
* fix pulseaudio on_backend_disconnected not firing only during
flush events
* make wait events more efficient
* fix alsa devices race condition
* fix backend disconnected code handling
* add overflow test
* fix on_events_signal not called at correct times
* refactor pulseaudio device scanning
* fix SoundIoErrorNoSuchDevice string value
2015-08-27 20:57:53 -07:00
Andrew Kelley
d6e41672f7
add test for recovering from backend disconnecting
2015-08-26 17:45:59 -07:00
Andrew Kelley
b8a2adb4ec
PulseAudio: detect server going offline
2015-08-26 17:10:52 -07:00
Andrew Kelley
8d3a32e668
PulseAudio: fix scan devices out of memory race condition
2015-08-26 15:54:03 -07:00
Andrew Kelley
a0562af122
document possible errors
2015-08-26 15:17:51 -07:00
Andrew Kelley
c96405a091
rt prio warning behavior is overridable
2015-08-26 12:54:13 -07:00
Andrew Kelley
195ea59209
ALSA: fix playback on raw device
2015-08-26 12:31:09 -07:00
Andrew Kelley
f92ae9f5df
README: fix typo
2015-08-26 02:48:46 -07:00
Andrew Kelley
64b5564ae1
use doxygen to generate documentation
2015-08-26 02:40:04 -07:00
Andrew Kelley
8c9c4f85c2
sine example: remove panics
2015-08-25 00:08:20 -07:00
Andrew Kelley
d1f27fad83
WASAPI: use stream name for session display name
2015-08-24 19:52:43 -07:00
Andrew Kelley
b3dfcb4526
WASAPI: microphone example works
2015-08-24 17:42:57 -07:00
Andrew Kelley
90fa377c99
WASAPI: sine wave example works with raw device
2015-08-21 17:11:46 -07:00
Andrew Kelley
2eb8ce24cf
sine example: add parameter to specify device
2015-08-20 17:38:01 -07:00
Andrew Kelley
3b49292897
use hidden visibility by default and explicitly export
...
Also don't expose os functions.
And do the dllexport/dllimport thing.
2015-08-20 14:48:19 -07:00
Andrew Kelley
fbc7318268
remove the concept of period duration from the API
...
also more progress on WASAPI
2015-08-13 22:54:15 -07:00
Andrew Kelley
61b95a458c
WASAPI: detecting device changes
2015-08-13 12:23:22 -07:00
Andrew Kelley
e82c3e89da
WASAPI: get period duration for raw devices
2015-08-13 10:18:46 -07:00
Andrew Kelley
9a06d22608
WASAPI: detect channel layout of exclusive device
2015-08-13 00:58:05 -07:00
Andrew Kelley
1f58cdc0bd
WASAPI: get formats for shared and exclusive devices
2015-08-13 00:11:54 -07:00
Andrew Kelley
709fc5fa19
WASAPI: detect raw devices
2015-08-12 19:29:01 -07:00
Andrew Kelley
ba65bdb131
WASAPI: shared mode devices support any sample rate
2015-08-12 18:57:34 -07:00
Andrew Kelley
c420bf9e71
WASAPI: get channel layout from devices
2015-08-12 17:50:36 -07:00
Andrew Kelley
75185d17d7
WASAPI: get the list of supported formats from devices
2015-08-12 17:11:03 -07:00
Andrew Kelley
f4ad630769
WASAPI: get the period duration of devices
2015-08-12 15:32:44 -07:00
Andrew Kelley
20b0515582
WASAPI: default device detection
2015-08-12 11:01:06 -07:00
Andrew Kelley
97abe08f0e
WASAPI: get the number of available audio devices
2015-08-10 15:22:08 -07:00
Andrew Kelley
7238d29666
sample rate is exposed as a list of min/max pairs
2015-08-08 14:44:31 -07:00
Andrew Kelley
eb7308d992
CoreAudio: microphone example works
2015-08-08 11:45:21 -07:00
Andrew Kelley
cdb02e2b46
CoreAudio: underflow test passes
2015-08-07 13:13:10 -07:00
Andrew Kelley
a6c5f99b27
README: fix synopsis example
2015-08-04 22:04:40 -07:00
Andrew Kelley
c381526205
callbacks supply min and max frame count parameters
...
This changes the semantics of the callbacks so that instead of
a single `requested_frame_count` or `available_frame_count`,
the callbacks get a minimum frame count and maximum frame count.
The callback must write at least the minimum or get an underflow.
The minimum will be 0 on ALSA, PulseAudio, and Dummy, and will
equal the maximum on CoreAudio and JACK.
This ensures optimal behavior regardless of buffer size.
2015-08-04 21:57:46 -07:00
Andrew Kelley
8da5ae0798
PulseAudio: opening out stream populates buffer_duration
2015-08-04 13:09:45 -07:00
Andrew Kelley
29a914ceba
no constructors or destructors
2015-08-04 11:03:19 -07:00
Andrew Kelley
f87961275d
write and read functions no longer allow setting frame count
...
CoreAudio and JACK both have this limitation
2015-08-04 00:56:03 -07:00
Andrew Kelley
a774a72958
CoreAudio: get the full list of available sample rates
2015-08-03 17:06:38 -07:00
Andrew Kelley
c52e76928f
fix build on linux
2015-08-01 22:40:55 -07:00
Andrew Kelley
f77663399f
CoreAudio: obtain most device information
2015-08-01 22:10:43 -07:00