Comments (3)
Hey, thanks for thinking along, it's much appreciated. I think you have summarized the three cases very well.
I fully agree with 1) The alloc/AudioBuffer
should be named better to avoid confusion with the user facing AudioBuffer
s. alloc
is a really bad mod name too. There should probably be a render
mod containing the Graph
, AudioProcessor
and the new AudioRenderQuantum
I'm interested to hear your proposal for a distinction of 2 and 3.
In my eyes, a memory resident buffer is the buffer::AudioBuffer
and anything that acts as a continuous source of audio is an Iterator<Item=AudioBuffer>
.
For example, if you decode an Ogg Vorbis file, you receive chunks of audio, fitting this iterator style. Decoding a wav (currently) works sample-for-sample so we just take BUFFER_SIZE
d chunks.
In any case, please let me know what you intend to refactor. We can surely work out something that is better than the current state
from web-audio-api-rs.
Ok cool, thanks for your answer. What I can imagine to advance on that is:
- First, make a PR with the renaming stuff and file reorganisation, which is only refactoring and should not impact any behaviour.
- For the rest, I really think it's feasible to work on something focusing on 2. alongside the existing code and without interfering with the other modules and tests. Then, if I manage to make something work at some point, we can just discuss / amend the result, and eventually see how to integrate it properly.
Sounds like a plan?
from web-audio-api-rs.
Sounds good to me!
from web-audio-api-rs.
Related Issues (20)
- cargo-doc precommit fails if the lib has not been build with cubeb previously
- PannerNode behaves differently on the web HOT 9
- Panic when shutting down windowing by close button HOT 2
- Bug: `thread '<unnamed>' panicked at 'Index 0 for dropped Node in NodeCollection'` HOT 6
- Improvements for AudioWorkletNode / AudioWorkletProcessor traits HOT 1
- Audio starts jittering the more sounds are played HOT 14
- Free audio processor resources when the node has stopped/ended and cannot be started again HOT 5
- `AudioContext::print_diagnostics` for debugging purposes HOT 1
- `MediaStream` linked to a `MediaRecorder` without an AudioContext in between results in a runaway recording HOT 3
- Implement `AudioContext::onstatechange` HOT 4
- Improve BaseAudioContext onChangeState to signal device readiness HOT 2
- Emit oncomplete event for OfflineAudioContext
- AudioWorkletRenderer output channel count iterator is flawed HOT 3
- `OfflineAudioContext::state` is not updated when calling `supend` and `resume` HOT 1
- Many public facing types do not implement Debug HOT 5
- Unify README.md and crate level doc
- EventLoop never terminates
- Add async method for `BaseAudioContext::decodeAudioData`
- AudioParam automationRate does not instantly update on the control thread HOT 1
- Unstable tests in tests/online.rs
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from web-audio-api-rs.