ely-uf
8403b719d4
Make SkipDuration aware of potential change in audio parameters.
...
The `rodio` documentation states:
> The samples rate and number of channels of some sound sources can change
> by itself from time to time.
This commit introduces awareness of such change to the SkipDuration
source.
Now SkipDuration keeps track of `Source::current_frame_len` in order to
timely adjust both the sample rate and number of channels it uses to calculate
the amount of samples to skip.
2020-08-09 00:28:04 +03:00
ely-uf
15d4b54e2e
Add inner, inner_mut and into_inner to SkipDuration.
2020-08-08 20:24:45 +03:00
ely-uf
7aaa9c3974
Add documentation comments to SkipDuration source.
2020-08-08 20:19:51 +03:00
ely-uf
f2e6795180
Add SkipDuration.
...
SkipDuration is a source that skips specified duration of the given
source from it's current position.
The already existing TakeDuration source allows to truncate the given source
from the end. SkipDuration complements it, introducing the option of
truncating the given source from it's current position.
2020-08-08 20:16:53 +03:00
Mac O'Brien
fb176a6883
Document PlayError and expose in public API
2020-08-04 14:15:04 -05:00
Mac O'Brien
8bd421afaf
Enable 8-bit WAV decoding
2020-07-12 20:50:34 -05:00
est31
ad61c54485
Merge pull request #247 from alexheretic/engineless
...
Rework to use cpal-next
2020-07-11 04:41:15 +02:00
Karl Skomski
ce00eb0de6
Fix mp3 decoder bug: only reset offset after new frame
2020-07-07 14:11:29 +02:00
Alex Butler
81f5c9b6fd
Update to latest cpal
2020-05-02 13:34:14 +01:00
Alex Butler
4c96d3bd55
Improve stream docs
2020-05-02 13:34:14 +01:00
Alex Butler
e8a6502e45
Export OutputStreamHandle top level
2020-05-02 13:34:14 +01:00
Alex Butler
7ca3b1d635
fix crossfade 2018 & cargo fmt
2020-05-02 13:34:11 +01:00
Alex Butler
d7c77aa52e
Add OutputStreamHandle
2020-05-02 13:33:57 +01:00
Alex Butler
7ad840793c
Remove deadcode + rustfmt
2020-05-02 13:33:57 +01:00
Alex Butler
3a29a5390e
Update cpal to 946d646
2020-05-02 13:33:57 +01:00
Alex Butler
b5071c947d
Remove device mixer map, rename stream wrapper to OutputStream
2020-05-02 13:33:57 +01:00
Alex Butler
c93adb2582
Migrate to edition 2018
...
* Remove unstable/legacy rustfmt config
* Run rustfmt
2020-05-02 13:33:57 +01:00
Alex Butler
0517ee7216
Add RodioDevice wrapper for cpal::Device
...
* Remove static/global facilities.
2020-05-02 13:33:56 +01:00
Alex Butler
00c627241c
Rework to use no-event-loop cpal
2020-05-02 13:33:52 +01:00
Bernhard Fritz
6e2c022b5d
add workaround for devices without a name
2020-03-27 09:30:51 +01:00
Jacob Greenfield
5c7c5c5596
Update TakeDuration
documentation
2020-03-14 20:12:12 +01:00
Imbris
9c874b7690
Make silence more efficient
2020-02-24 08:53:38 +01:00
Daniel Lambert
2c7d171670
add Crossfade
2020-02-15 13:22:15 +01:00
Daniel Lambert
e2f79f4a8b
add FadeOut effect to TakeDuration
2020-02-15 13:22:15 +01:00
Cocalus
d8723a5136
Generate samples at a multiple of channels ( #249 )
...
* Generate samples at a multiple of channels
* Fix nits
2019-11-16 22:11:20 +01:00
Théo Gaillard
2f04646ea5
feat: add cpal::Format to rodio::
2019-11-12 15:46:22 +08:00
Brian Lewis
33788059e7
Fix output_devices
return type to be OutputDevices
instead of
...
`InputDevices`
2019-10-05 23:35:50 +02:00
est31
70c2985b7c
Add dyn to the traits
...
This fixes a few warnings on nightly
2019-08-10 23:03:19 +02:00
Alex Butler
28fde9808b
Fix min_rate mistype
2019-08-10 09:54:47 +01:00
Alex Butler
b74581632d
Try all supported output formats when the default fails
2019-08-10 09:53:02 +01:00
est31
80948cf5c4
Merge pull request #243 from est31/remove_nalgebra
...
Remove nalgebra in favour of a handmade function
2019-08-09 22:06:57 +02:00
est31
fb5d8eb9d8
Save two multiplications
2019-08-09 21:10:09 +02:00
est31
a15ca2b43e
Remove nalgebra in favour of a handmade function
2019-08-09 20:46:41 +02:00
Alex Butler
0151398043
Update cpal -> 0.10
...
* Provide device prevous method using `cpal::default_host()`
* Naively handle new cpal errors
2019-07-18 13:06:14 +01:00
Pierre Krieger
f5c08de1c0
Merge pull request #224 from azriel91/use-nalgebra-for-spatial-source
...
Use nalgebra for Spatial source
2019-06-08 15:01:12 +02:00
Azriel Hoh
3ee73c5ad6
Swap cgmath
to nalgebra
crate.
...
This helps converge the rust ecosystem onto `nalgebra`.
2019-05-21 14:22:43 +12:00
whentze
26c2ba50ac
Add a correct implementation of total_duration
to FlacDecoder
.
2019-05-15 03:12:47 +02:00
Will Stott
941fec3fe5
Add some tests to Sink
2019-04-02 20:42:09 +00:00
Will Stott
074368480e
Fix potential overflow for every-sample periodic_access.
2019-04-02 20:31:37 +00:00
Will Stott
14be3f46c8
Add to Source.periodic_access docs.
2019-04-02 19:26:42 +00:00
Will Stott
011090034f
Fix periodic test module
...
Add a simple test of periodic_access.
2019-04-02 18:58:45 +00:00
Will Stott
dba627a1b4
Periodic access on the first sample & accurate for multi-channel sources
2019-03-29 14:13:09 +00:00
Will Stott
f36411f6f5
Add a len() method to Sink for some insight into the queue state.
2019-03-01 12:14:30 +00:00
Pierre Krieger
25d3151917
Merge pull request #218 from mathstuf/cleanups
...
Cleanups
2019-01-28 20:19:06 +01:00
Pierre Krieger
a86dbc5852
Add inner
accessors for more sources ( #216 )
2019-01-28 20:17:00 +01:00
Joe Clay
b02529712d
Fix doc comment in Sink ( #215 )
2019-01-28 20:16:02 +01:00
Ben Boeckel
e61d14ba38
sources: remove excess constraints on structures
2019-01-28 08:49:32 -05:00
Ben Boeckel
b5d678a44b
done: fix markup on doc comment
2019-01-28 08:49:32 -05:00
Ben Boeckel
404e77351b
fadein: fix documentation
2019-01-28 08:49:32 -05:00
Ben Boeckel
e8ce0659a7
take: fix doc comment
2019-01-28 08:49:32 -05:00
Joe Clay
53a7d78cd8
Add inner
accessors for more sources
2019-01-17 01:10:12 +00:00
Alex Butler
4bb832ba30
Remove exclusive borrow requirement in Sink, SpatialSink ( #203 )
...
The inner Mutex does not require this.
2018-11-16 11:18:07 +01:00
Nicola Larosa
6fd5288cc7
Fix ChannelVolume dropping input samples ( #198 )
2018-11-10 14:44:49 +01:00
Aaron Kofsky
d20a3c661e
Fix reading WAV of different encodings. ( #199 )
...
* Read 32 bit float and 24 bit int encoded files correctly.
Before, we were assuming that all WAV files are encoded as 16 bit integers.
This is not true, WAVs can actually also be encoded as 32 bit floats and
24 bit integers. Hound returns `Err` when we attempt to read files as the
wrong encoding, which was getting `unwrap_or`'d to just zero. This explains
why the file would load but not play any sound. We fix this by first
checking for the appropriate encoding, and then converting to an i16. This
might cause some slight dither issues but hopefully it is quiet enough that
it doesn't matter.
Fixes #195 .
* Add tests of reading wav files different encodings
* Use `.map()` instead of control flow & unwrapping.
This makes things slightly cleaner to read.
Also remove extraneous print statement.
2018-11-09 21:58:43 +01:00
thiolliere
a55cac78ae
Fix channel volume None sample ( #191 )
2018-10-11 15:36:03 +01:00
Anton
4168dbc161
added .stop()
to SpacialSink ( #188 )
2018-09-23 05:10:35 +02:00
Ben Boeckel
8bf1bf5851
typos: fix in buffer and source documentation ( #180 )
...
* typos: fix in buffer and source documentation
* sink: fix some formatting
* sink: refer to the sink in the pause API docs
2018-09-15 11:07:33 +02:00
Ben Boeckel
f0fc5124db
static_buffer: add a source backed by static data ( #183 )
...
If samples are available as static data, this avoids having to
reallocate the data.
2018-09-15 11:07:12 +02:00
Ben Boeckel
2e005c8218
repeat: implement Clone ( #182 )
...
It seems the compiler is not deriving `Clone` automatically even though
it is just `Buffered` wrappers around the original data.
2018-09-15 11:06:42 +02:00
Jacob Kiesel
d839e53078
Prepare 0.8 release
2018-06-22 08:50:19 -06:00
thiolliere
2933c3c0b2
fix dynamic mixer doc
2018-06-20 19:32:57 +02:00
Pierre Krieger
8d51880638
Merge pull request #167 from barzamin/minimp3
...
Implement MP3 support via Minimp3
2018-06-16 20:01:20 +02:00
Lennart Sauerbeck
43e161899d
Fix typo in rustdoc
2018-06-09 20:57:02 +02:00
Erin Moon
5c54078126
decoders: implement minimp3-based MP3 decoder
...
Closes #36 .
2018-05-26 18:42:22 -05:00
Erin Moon
c5725b8a37
vorbis decoder: implement filetype check and fallthrough
2018-05-26 18:42:22 -05:00
Erin Moon
73e19bad29
cargo: add feature dependency on minimp3
2018-05-26 18:42:22 -05:00
Francesco Zardi
6a8c71bdb2
Run cargo fmt
2018-04-19 10:03:48 +02:00
Francesco Zardi
255db6aa71
Use the default_output_format()
from cpal
to choose the best output format
2018-04-19 08:59:27 +02:00
Francesco Zardi
b85626b3fb
Fix the value of the silenced output for the u16 case (i.e. half of the maximum allowed value)
2018-04-19 08:59:27 +02:00
Francesco Zardi
30d601c3cd
Rename 'new_stream()' to 'new_output_stream()'
2018-04-19 08:59:27 +02:00
Francesco Zardi
5641ab56fa
Remove 'mut' keyboard from the buffer
argument of audio_callback()
2018-04-19 08:59:27 +02:00
Francesco Zardi
c554c8e1f8
Handle the case in which an StreamData::Input is passed as a buffer to audio_callback()
2018-04-19 08:59:27 +02:00
Francesco Zardi
457c8a5011
Fix typo
2018-04-19 08:59:27 +02:00
Francesco Zardi
95703113ba
Rename 'endpoint' to 'device'
2018-04-19 08:59:27 +02:00
Francesco Zardi
5f42197c77
Fix typo
2018-04-19 08:59:27 +02:00
Francesco Zardi
0a90b31380
Rename the play()
method of EventLoop
to play_stream()
2018-04-19 08:59:27 +02:00
Francesco Zardi
96d4d539b3
Rename 'voice' to 'stream'
2018-04-19 08:59:27 +02:00
Francesco Zardi
f3b1fc915e
Change the signature of audio_callback()
to accept a StreamData
enum instead of a UnknownTypeOutputBuffer
2018-04-19 08:59:27 +02:00
Francesco Zardi
9d4d9fdcac
Rename voice_id
to stream_id
2018-04-19 08:59:27 +02:00
Francesco Zardi
5d62f69223
Rename VoiceId
to StreamId
2018-04-19 08:59:27 +02:00
Francesco Zardi
ebceebb760
Rename 'endpoints' to devices'
2018-04-19 08:59:27 +02:00
Francesco Zardi
cde47ab970
Rename default_endpoint()
to, default_output_device()
, reexport default_input_device()
2018-04-19 08:59:27 +02:00
Francesco Zardi
b912730313
Rename 'Endpoint' to 'Device'
2018-04-18 20:26:54 +02:00
Francesco Zardi
ac8541ddfc
Rename UnknownTypeBuffer
to UnknownTypeOutputBuffer
2018-04-18 18:03:22 +02:00
Francesco Zardi
a959cd618b
Update comments to follow cpal` 0.7 convention
2018-04-18 14:53:04 +02:00
Francesco Zardi
95917f2e0f
Rename samples_rate.rs
to sample_rate.rs
to follow cpal
0.7 convention
2018-04-18 14:46:29 +02:00
Francesco Zardi
74ceb63c3c
Update cpal
dependency to 0.7
...
The update required adapting to the breaking changes introduced by the new version, as reported in the `cpal`'s
[changelog](a2fe9386af/CHANGELOG.md
), namely:
- Rename `ChannelsCount` to `ChannelCount`.
- Rename `SamplesRate` to `SampleRate`.
- Rename the `min_samples_rate` field of `SupportedFormat` to `min_sample_rate`
- Rename the `with_max_samples_rate()` method of`SupportedFormat` to `with_max_sample_rate()`
- Rename the `samples_rate` field of `Format` to `sample_rate`
- Changed the type of the `channels` field of the `SupportedFormat` struct from `Vec<ChannelPosition>` to `ChannelCount` (an alias to `u16`)
2018-04-18 14:24:33 +02:00
Andriy S. from cobalt
b14006ec99
have play_once fn and Decoder trait even if decoders are turned off
2017-10-29 21:18:01 +02:00
Andriy S. from cobalt
bfad440f6a
use allow attr instead of _ vars
2017-10-29 20:39:02 +02:00
Andriy S. from cobalt
2f1b3f5309
merge upstream/master
2017-10-29 18:06:20 +02:00
Andriy S. from cobalt
3ef6b0564f
make wav/flac/vorbis decoding features optional
2017-10-29 17:57:21 +02:00
tomaka
0e1ade3431
Merge pull request #142 from tomaka/cpal-rework
...
Update for cpal's rework
2017-10-21 10:04:27 +02:00
Pierre Krieger
f7473cc9fe
Fix tests
2017-10-21 09:52:59 +02:00
Pierre Krieger
8b2fab2673
Finish rework
2017-10-21 09:30:38 +02:00
Pierre Krieger
8b0a20f42e
Group the sink controls into one struct
2017-10-14 14:28:10 +02:00
Pierre Krieger
da515c65ec
[WIP] Update for cpal's rework
2017-10-14 14:22:45 +02:00
Cam Jackson
8eaba65b5d
Replace usages of deprecated functions in cpal
2017-10-11 21:31:15 +08:00
Andriy S. from cobalt
dfed9be5ce
make sure buffer doesn't contain garbage
2017-10-08 00:54:33 +03:00
Jacob Kiesel
7c8a84a867
Add empty() function to Sink
2017-08-20 09:19:13 -06:00
Pierre Krieger
45c60ca155
Add a small basic test to dynamic_mixer
2017-07-30 18:56:24 +02:00
Andriy Symonovych on lilac
f05b352600
fix 'index out of bounds'
2017-07-22 02:21:09 +03:00
Pierre Krieger
578e27409c
Add Sink::stop()
2017-07-11 16:53:02 +02:00
Pierre Krieger
88b0d40e4b
Run rustfmt on the code
2017-07-03 10:10:00 +02:00
Jacob Kiesel
b4ecdfd075
Add spatial audio
2017-07-02 10:48:32 -06:00
Andriy Symonovych on lilac
0fb22acf63
fix taking duration from infinite sources
2017-06-18 03:59:19 +03:00
Pierre Krieger
e545472a5d
Add draft for blt filters
2017-06-13 21:59:32 +02:00
SiIky
5abf517170
Fix typo
2017-06-05 22:52:52 +01:00
Pierre Krieger
0d26e0d9b3
Reduce threshold in SourcesQueueOutput
2017-05-27 18:16:56 +02:00
Pierre Krieger
44a8a2b923
Rustfmt
2017-05-04 13:51:33 +02:00
Pierre Krieger
a0ea1ce433
Add Source::from_iter
2017-05-01 21:18:00 +02:00
tomaka
138b746d12
Merge pull request #113 from tomaka/periodic
...
Periodic access
2017-05-01 14:51:59 +02:00
Pierre Krieger
00a2387182
Rework the Sink to use the new periodic update system
2017-05-01 13:54:45 +02:00
Pierre Krieger
83bcd1c175
Add Source::periodic_access
2017-05-01 13:39:08 +02:00
Pierre Krieger
bb9e2fb9ed
Add source::from_factory
2017-05-01 13:28:50 +02:00
Pierre Krieger
4e58aeb5c7
Implement Source on Box<Source>
2017-05-01 13:16:06 +02:00
Pierre Krieger
7df741665d
Rename methods of the Source trait
2017-05-01 11:11:33 +02:00
Pierre Krieger
634d6bafaa
Add Samples::convert_samples()
2017-05-01 11:05:00 +02:00
Pierre Krieger
cbecbc8093
Decoder now produces i16s
2017-05-01 10:46:20 +02:00
tomaka
e365488e06
Merge pull request #98 from tomaka/saturating-add
...
Use saturating_add for the samples, and fix the mixer
2017-05-01 10:45:51 +02:00
est31
89635a3f71
Update to lewton 0.5
2017-02-27 19:26:16 +01:00
Pierre Krieger
e06f1f84e7
Use saturating_add for the samples, and fix the mixer
2017-02-10 09:50:12 +01:00
tomaka
b1a560eb41
Merge pull request #100 from tomaka/flac
...
Implement decoding Flac
2017-02-10 09:49:23 +01:00
tomaka
4ac235a2ac
Merge pull request #101 from tomaka/tests
...
Add some tests
2017-02-09 20:30:18 +01:00
Pierre Krieger
c9338891d5
More documentation rework
2017-02-09 14:02:38 +01:00
Pierre Krieger
70eddf8e77
Better documentation for buffer
2017-02-09 13:24:15 +01:00
Pierre Krieger
002879471c
Add tests for the queue
2017-02-09 13:18:47 +01:00
Pierre Krieger
c7bd21b75a
Add tests for dynamic_mixer
2017-02-09 13:10:51 +01:00
Pierre Krieger
c3d573db9f
Add a SamplesBuffer struct
2017-02-09 13:04:04 +01:00
Pierre Krieger
90c6339376
Fix channels not interleaved
2017-02-09 12:37:32 +01:00
Pierre Krieger
99419b64ec
Implement decoding Flac
2017-02-09 11:54:25 +01:00
tomaka
953681a14d
Merge pull request #99 from tomaka/source-doc
...
Add better documentation for the Source trait
2017-02-09 10:47:26 +01:00
Pierre Krieger
522ad12a2d
Add better documentation for the Source trait
2017-02-08 18:10:41 +01:00
Pierre Krieger
2fbd21a41d
Rename Pauseable to Pausable
2017-02-08 16:41:52 +01:00
Pierre Krieger
b1cbe3d69f
Extract Sink to its own module
2017-02-07 13:39:25 +01:00
Pierre Krieger
11f4465600
Isolate engine to own module
2017-02-07 13:37:09 +01:00
Pierre Krieger
350fae9dab
Remove debugging println
2017-02-07 12:33:12 +01:00
Pierre Krieger
84f6992667
Fix behavior of Stoppable
2017-02-07 12:32:31 +01:00
Pierre Krieger
137a871640
Fix bug with the frame length of the queue
2017-02-07 12:12:07 +01:00
Pierre Krieger
885caa6e74
Make the dynamic mixer drop finished sources
2017-02-07 11:11:14 +01:00
Pierre Krieger
cd193a541b
Restore .detach() and the Sink destructor
2017-02-07 10:59:48 +01:00
Pierre Krieger
7dc391e0a7
Allow setting keep_alive_if_empty in the queue
2017-02-07 10:47:34 +01:00
Pierre Krieger
8aca2cb6eb
Rework the engine
2017-02-07 10:27:07 +01:00
Pierre Krieger
78281513a1
Add dynamic_mixer
2017-02-07 08:51:11 +01:00
Pierre Krieger
382ea32b8a
Add a queue module
2017-02-06 16:05:21 +01:00
Pierre Krieger
668a215d8b
Add source::Empty and source::Zero
2017-02-06 15:53:09 +01:00
Pierre Krieger
9397cf136e
Make the engine filters public
2017-02-06 15:04:51 +01:00
Pierre Krieger
642f11c824
Run rustfmt on the code
2017-02-01 10:14:50 +01:00
tomaka
32c75caed1
Merge pull request #89 from Xaeroxe23/master
...
Fix QueueIterator leak
2017-02-01 10:12:21 +01:00
Simon Heath
f564978fc7
Implemented std::error::Error on DecoderError
...
Resolves issue #86
2017-01-31 09:59:36 -05:00
Jake Kiesel
bf40003319
Fix QueueIterator leak
2017-01-28 22:57:39 -07:00
Jacob Kiesel
e552b90963
Add comment requested
2017-01-24 13:55:59 -07:00
Jacob Kiesel
cea59b97f6
Add comment requested
2017-01-24 13:55:41 -07:00
Jacob Kiesel
fb98ab7019
Added implementation as source filters
2017-01-24 13:37:23 -07:00
Pierre Krieger
1eae866da4
Fix most warnings
2016-10-04 16:36:11 +02:00
tomaka
7f8d237a80
Merge pull request #77 from est31/master
...
Use lewton
2016-10-04 16:16:51 +02:00
est31
043b2074b8
Use lewton
...
Fixes #74 .
2016-10-04 16:10:02 +02:00
tomaka
669f5ca75c
Fix typo in Source's doc
2016-10-04 08:45:20 +02:00
Pierre Krieger
498241237c
Update to cpal 0.4
2016-10-01 10:44:00 +02:00
Pierre Krieger
591d3ddf46
Remove dependency on time
2016-09-06 09:32:17 +02:00
Pierre Krieger
2d2b5b54a2
Minor changes to the engine
2016-09-06 09:32:17 +02:00
Pierre Krieger
7347f18289
Switch to futures
2016-09-06 09:32:17 +02:00
Vadim Petrochenkov
29ab9a158c
Fix a private-in-public error
...
Fix deprecation warning for `thread::park_timeout_ms`
2016-09-04 16:39:19 +03:00
tomaka
9c029bf3c3
Fix travis build
2016-05-19 18:28:36 +02:00
Pierre Krieger
a4a8497707
Fix mixing taking the average of the sounds
2015-10-23 17:20:41 +02:00
Pierre Krieger
b27f0a87cc
Rewrite Repeat to use Buffered
2015-10-23 16:29:14 +02:00
Pierre Krieger
5d58d9188f
Add some docs at various places
2015-10-22 20:30:07 +02:00
Pierre Krieger
069faf762d
Add a DecoderError and publish 0.3
2015-10-22 16:45:33 +02:00
Pierre Krieger
aa531d8e8d
Add Source::reverb
2015-10-22 16:37:01 +02:00
Pierre Krieger
8912ff3b57
Add Source::mix()
2015-10-22 16:22:14 +02:00
tomaka
01d9e582f2
Merge pull request #54 from tomaka/clone-debug
...
Derive Clone and Debug on most iterators
2015-10-22 15:46:49 +02:00
Pierre Krieger
0603bad9a4
Derive Clone and Debug on most iterators
2015-10-22 15:43:40 +02:00
Pierre Krieger
af89f60998
Add Source::buffered()
2015-10-22 15:39:40 +02:00
Pierre Krieger
73e1c56746
Add .speed() to Source
2015-10-17 13:46:54 +02:00
Pierre Krieger
e5f14bed1a
Add face_in() to Source
2015-10-17 09:58:36 +02:00
Pierre Krieger
d26d413cb8
Add amplify() to Source
2015-10-17 08:42:04 +02:00
tomaka
e778c8b6b4
Fix norun -> no_run
2015-10-16 19:38:52 +02:00
Pierre Krieger
2a8a57b25a
Add Source::delay
2015-10-16 19:10:11 +02:00
Pierre Krieger
4b4f900ba9
Fix the warnings in nightly
2015-10-16 17:33:58 +02:00
Pierre Krieger
e2f834da9b
Add source::SineWave
2015-10-16 17:09:04 +02:00
Pierre Krieger
10a8c62169
Add documentation
2015-10-16 16:48:40 +02:00
Pierre Krieger
d589b82215
Add take_duration() to Source
2015-10-16 16:40:08 +02:00
Pierre Krieger
c67362a999
Dispatch source.rs between various submodules
2015-10-16 16:13:24 +02:00
Pierre Krieger
1f3eefd863
Add repeat_infinite to Source
2015-10-16 16:08:52 +02:00
Pierre Krieger
188032f843
Remove the play function
2015-10-16 15:39:00 +02:00
Pierre Krieger
a23aeaa4ff
Dropping the Sink now stops all sounds
2015-10-16 15:38:10 +02:00
Pierre Krieger
d786f79e02
Change get_remaining_duration_ms to get_min_remaining_duration
2015-10-16 15:30:04 +02:00
Pierre Krieger
e2fc982652
Duration more or less works again
2015-10-16 15:28:13 +02:00
Pierre Krieger
efc00ff834
Rename Handle
to Sink
and add methods
2015-10-16 15:14:56 +02:00
Pierre Krieger
dad2088c39
Allow adding other sounds behind existing sounds
2015-10-16 15:11:54 +02:00
Pierre Krieger
0d96bd3883
Remove mentions of ExactSizeIterator
2015-10-16 14:25:03 +02:00
Pierre Krieger
9ff58ca760
Revert previous commit
2015-10-16 14:23:34 +02:00
Pierre Krieger
85ee95d269
Ensure that get_current_frame_len never returns 0
2015-10-16 14:22:53 +02:00
Pierre Krieger
ce0165a0de
Restore the vorbis decoder
2015-10-16 14:21:37 +02:00
Pierre Krieger
9d80295d5d
Better duration handling
2015-10-16 14:02:44 +02:00
Pierre Krieger
d3052bc986
Add play() and make the decoder public
2015-10-16 13:43:23 +02:00
Pierre Krieger
5ab65b7a31
Hide the implementation of the decoder
2015-10-16 13:42:57 +02:00
Pierre Krieger
2e09c3494d
Remove the Decoder trait and switch to the Source trait
2015-10-16 13:35:30 +02:00
Pierre Krieger
102ec8fd2c
Add the Source trait and UniformSourceIterator
2015-10-16 13:11:37 +02:00
Pierre Krieger
4173ba5a08
Use at least a quality of 44100
2015-09-27 19:21:10 +02:00
Pierre Krieger
c20ff8aa99
Improve timing system again
2015-09-27 14:49:53 +02:00