Commit Graph

353 Commits

Author SHA1 Message Date
Andriy Symonovych 37016e612c Fix macos build (#186)
* fix compile error

* fix missing function error

* fix undefined behavior issue

* require callback to be `Send`
2017-12-06 12:13:36 +01:00
Zachary Hamm 5105427529 Fix coreaudio build (#189)
The last commit to coreaudio/mod.rs added a call to convert_error, but
that function was removed earlier. Remove the call to fix the build.
2017-12-05 08:47:08 +01:00
Eidolon e9856c07ed [coreaudio] Remove intermediate buffer (#182)
* [coreaudio] Remove intermediate buffer

Fixes #181

* [coreaudio] Create voice id after setting format
2017-11-03 10:51:02 +01:00
Eidolon 77cd690b00 [coreaudio] Simplify error conversion (#183) 2017-11-03 10:50:02 +01:00
mitchmindtree 019b27350f Implement `pause` and `play` for ALSA backend (#176)
* Implement `pause` and `play` for ALSA backend

This commit also ensures that the Voice is initially paused when
returned to remain consistent with the rest of the CPAL backends.

Related to #175.

* Remove ineffective pause from end of build_voice method

* ALSA - Change `is_paused` flag from `AtomicBool` to `bool`

* Add pause and play ALSA addition to CHANGELOG
2017-11-02 10:30:15 +01:00
tomaka 743e4e3526
Fix #177 (#179) 2017-11-01 10:15:17 +01:00
tomaka 91adc3e380 Docs and style improvements (#174)
* Improve the crate root documentation

* Add entry in CHANGELOG

* Run rustfmt on the code

* More improvements to documentation
2017-10-23 16:41:38 +02:00
tomaka c524f63000 Improve the emscripten backend (#172)
* Use the js! macro from stdweb

* Rework the Buffer::finish method

* Use references from stdweb

* Fix emscripten warnings

* Rework the run() method to use stdweb

* Adjust timings

* Add entry in CHANGELOG
2017-10-22 14:17:25 +02:00
tomaka f7c503ff05 Add testing on circle-ci (#171)
* Add testing on circle-ci

* Fix example name
2017-10-21 15:08:34 +02:00
tomaka d353c97c30 Add samples conversion functions and publish 0.5.1 (#170) 2017-10-21 09:45:02 +02:00
tomaka 40bd5a9f2c Publish 0.5.0 (#169) 2017-10-21 09:25:24 +02:00
tomaka 87949d859b Add SupportedFormat (#168) 2017-10-20 21:18:40 +02:00
jansol 393206bde9 examples: Avoid f32 precision loss in beep example (#167) 2017-10-20 17:12:01 +02:00
tomaka c28407b26d Fix warnings and reduce scope of libc (#166) 2017-10-19 12:44:14 +02:00
tomaka 6ae01f437c RFC: Rework the API [WIP] (#165)
* Rework the API to not use futures anymore

* Add some comments

* Update the MacOS backend

* Restore the null implementation

* Add an emscripten backend

* Remove erroneously added feature

* Fix to_f32 formula

* [WIP] Alsa backend

* Alsa backend compiling

* Working ALSA backend

* Fix tests

* Move WASAPI endpoint to endpoint module

* Fix WASAPI warnings

* Rework the WASAPI backend

* Check overflows for voice ID

* Add comments and minor fixes to WASAPI backend

* Add a changelog
2017-10-18 20:24:05 +02:00
tomaka 4b019243c2 Rename the methods of the backend as well (#164) 2017-10-12 11:54:09 +02:00
tomaka 84f0acbd65 Publish 0.4.6 (#163) 2017-10-11 14:34:40 +02:00
tomaka 2028d5907f Run rustfmt on the code (#162) 2017-10-11 13:24:49 +02:00
tomaka cdcef96279 Remove the `get_` prefix of methods (#151)
* Remove the `get_` prefix of methods

* Fix overlooks
2017-10-11 10:39:44 +02:00
tomaka 35d9201b85 Merge pull request #161 from matwork/ios
Minimal ios support
2017-10-11 09:31:16 +02:00
egnehots bd88d9d6ff Document RemoteIO as ios unit fallback
iOS provides three I/O (input/output) units. The vast majority of audio-unit applications use the Remote I/O unit, which connects to input and output audio hardware and provides low-latency access to individual incoming and outgoing audio sample values. For VoIP apps, the Voice-Processing I/O unit extends the Remote I/O unit by adding acoustic echo cancelation and other features. To send audio back to your application rather than to output audio hardware, use the Generic Output unit.

See https://developer.apple.com/library/content/documentation/MusicAudio/Conceptual/AudioUnitHostingGuide_iOS/UsingSpecificAudioUnits/UsingSpecificAudioUnits.html
2017-10-10 20:43:37 +02:00
egnehots 33a8cde056 Minimal ios support 2017-10-10 18:24:53 +02:00
tomaka 7a2069f249 Merge pull request #159 from gmorenz/master
Update version number in readme
2017-07-18 20:31:49 +02:00
gmorenz 276722cc7b Update version number in readme 2017-07-18 14:00:21 -04:00
tomaka 0245754cd0 Merge pull request #158 from johalun/alsa-pipe
Fixes for *BSDs
2017-07-13 16:11:24 +02:00
Johannes Lundberg e86ffce712 Fixes for *BSDs
Replace linux-only eventfd() with pipe() to enable use on *BSDs for alsa.
Add FreeBSD to supported OSes.
2017-07-13 15:59:40 +02:00
tomaka e1380e0d57 Merge pull request #155 from mitchmindtree/publish
Publish 0.4.5 with recent macOS fix
2017-04-28 17:25:29 +02:00
mitchmindtree 381d599155 Publish 0.4.5 2017-04-29 01:04:13 +10:00
tomaka 95e3bc41e6 Merge pull request #154 from shockham/master
Fix for loop in EventLoop::run optimised out in a release build on macOS
2017-04-20 13:49:45 +02:00
shockham 97657fae4a SampleStream also holds on to the AudioUnit so it is not dropped 2017-04-19 11:44:42 +01:00
shockham 8cfe176e52 Fix for loop in EventLoop::run being optimised out in a release build on macOS 2017-04-07 11:06:00 +01:00
tomaka 22884f70c3 Merge pull request #153 from plietar/patch-2
Bump alsa-sys version number
2017-03-06 22:33:41 +01:00
Paul Liétar 9c20ab27a7 Bump alsa-sys version number
See #152
2017-03-06 15:57:18 +00:00
tomaka 1e6e027042 Merge pull request #152 from plietar/patch-1
Mark alsa-sys as linking to alsa
2017-02-24 20:33:17 +01:00
Paul Lietar 321673278f Mark alsa-sys as linking to alsa
The build script requires pkg-config, which isn't available when cross compiling.
Mark alsa-sys as linking to alsa allows cargo configuration to bypass the build script.

cf http://doc.crates.io/build-script.html#the-links-manifest-key
2017-02-24 16:57:44 +00:00
tomaka 37cc8f5e64 Merge pull request #149 from tomaka/deps
Simplify the Cargo.toml
2017-02-10 10:06:30 +01:00
Pierre Krieger 263039412e Simplify the Cargo.toml 2017-02-10 09:56:53 +01:00
tomaka 89b55e9eda Merge pull request #150 from tomaka/no-publish
Stop publishing on gh-pages
2017-02-10 09:56:00 +01:00
Pierre Krieger 937f301f3d Stop publishing on gh-pages 2017-02-10 09:45:41 +01:00
tomaka 80c008c0a0 Merge pull request #146 from nchashch/sw_params_set_avail_min-fix
alsa: Pass period instead of buffer to snd_pcm_sw_params_set_avail_min
2017-02-04 08:46:57 +01:00
Nikita Chashchinskii 5c33787f48 Bump crate version to 0.4.4 2017-02-04 08:20:21 +03:00
Nikita Chashchinskii 0f8babe8bd Pass period instead of buffer to snd_pcm_sw_params_set_avail_min
* Also bump version from 0.4.2 to 0.4.3
2017-02-04 08:20:21 +03:00
tomaka 9dca830d35 Merge pull request #147 from jwestfall69/version-bump
bump crate to 0.4.3
2017-02-02 08:56:40 +01:00
jwestfall d167bbc206 bump crate to 0.4.3 2017-02-01 20:51:41 -08:00
tomaka 13cc45234c Merge pull request #145 from jwestfall69/alsa-avail-min-fix
alsa: set sw_params_set_avail_min based on get_params buffer size
2017-01-25 07:11:48 +01:00
jwestfall 7c03219451 alsa: set sw_params_set_avail_min based on get_params buffer size
snd_pcm_sw_params_set_avail_min was being hardcoded to 4096, which
seems to be problematic for lower sample rates.  This update sets
the value to the buffer size as supplied by snd_pcm_get_params(),
which is what alsa own sample code does.

This should fix https://github.com/tomaka/cpal/issues/142
2017-01-23 16:10:44 -08:00
tomaka 76f173217c Merge pull request #143 from yupferris/master
Add coreaudio-rs dependency for i686-apple-darwin
2017-01-19 17:04:06 +01:00
ferris 6e8f51de09 Bump crate version to 0.4.2 2017-01-19 16:06:17 +01:00
ferris 929bc1b8be Add coreaudio-rs dependency for i686-apple-darwin
Fixes build for 32-bit mac
2017-01-19 14:51:50 +01:00
tomaka c422931255 Merge pull request #140 from tomaka/deprecated
Mark deprecated functions as deprecated
2016-11-16 08:38:12 +01:00