aboutsummaryrefslogtreecommitdiff
path: root/src/desktop/audio.rs
diff options
context:
space:
mode:
authorAstatin <[email protected]>2025-05-22 00:07:30 +0200
committerAstatin <[email protected]>2025-05-22 00:07:30 +0200
commit4fce95c86e12f91e127605d440118e1b6a64208b (patch)
tree729ff48e04be1c6fef42a45afb17c0d0a2259ec1 /src/desktop/audio.rs
parent9a8e4117be8d30109229600346e7d9561c52a3e3 (diff)
Save wram,vram,io,hram with X button + move big arrays to Heap
Diffstat (limited to 'src/desktop/audio.rs')
-rw-r--r--src/desktop/audio.rs16
1 files changed, 10 insertions, 6 deletions
diff --git a/src/desktop/audio.rs b/src/desktop/audio.rs
index 60d32df..c32433b 100644
--- a/src/desktop/audio.rs
+++ b/src/desktop/audio.rs
@@ -1,7 +1,7 @@
use rodio::{OutputStream, Sink, Source};
-use crate::io::Audio;
use crate::audio::SAMPLE_RATE;
+use crate::io::Audio;
use std::time::Duration;
pub struct RodioAudio {
@@ -11,7 +11,10 @@ pub struct RodioAudio {
struct RodioWave<W: Iterator + Send + 'static>(W);
-impl<W: Iterator + Send + 'static> Iterator for RodioWave<W> where <W as Iterator>::Item: rodio::Sample {
+impl<W: Iterator + Send + 'static> Iterator for RodioWave<W>
+where
+ <W as Iterator>::Item: rodio::Sample,
+{
type Item = W::Item;
fn next(&mut self) -> Option<Self::Item> {
@@ -19,7 +22,10 @@ impl<W: Iterator + Send + 'static> Iterator for RodioWave<W> where <W as Iterato
}
}
-impl<W: Iterator + Send + 'static> Source for RodioWave<W> where <W as Iterator>::Item: rodio::Sample {
+impl<W: Iterator + Send + 'static> Source for RodioWave<W>
+where
+ <W as Iterator>::Item: rodio::Sample,
+{
fn current_frame_len(&self) -> Option<usize> {
None
}
@@ -37,15 +43,13 @@ impl<W: Iterator + Send + 'static> Source for RodioWave<W> where <W as Iterator>
}
}
-
impl Audio for RodioAudio {
- fn new<S: Iterator<Item = f32> + Send + 'static>(wave: S) -> Self {
+ fn new<S: Iterator<Item = f32> + Send + 'static>(wave: S) -> Self {
let (stream, stream_handle) = OutputStream::try_default().unwrap();
let sink = Sink::try_new(&stream_handle).unwrap();
sink.append(RodioWave(wave));
-
RodioAudio {
_stream: stream,
_sink: sink,