wajuce 0.1.3
wajuce: ^0.1.3 copied to clipboard
A JUCE-powered Web Audio API 1.1 implementation for Flutter. Provides high-performance, low-latency audio processing for iOS, Android, macOS, Windows, and Web.
0.1.3 #
- Maintenance: Improved pub.dev score by resolving all library and example analysis issues.
- Package Hygiene: Optimized package size and scoring by excluding unnecessary JUCE vendor assets via
.pubignore. - Consistency: Standardized backend interfaces and naming conventions (renamed
URLtourlin JS interop). - Web Sequencer Fix: Resolved critical issue where Sequencer would not advance on Web by implementing a custom
AudioWorkletProcessorbridge for accurate timing. - Web I/O Fix: Added full support for
MediaStreamSourceNode(Microphone input) vianavigator.mediaDevices.getUserMedia. - Cross-Platform Bug Fixes: Corrected iOS compilation errors and fixed a critical bug where unconnected nodes (like the Clock) were suspended by the browser/OS, halting logic.
- Architecture: Refactored
AudioWorkletsystem andRingBufferlogic to use conditional imports, ensuring a clean compilation path for Web platforms.
0.1.1 #
- Performance Optimization: Implemented native batch node creation (
createMachineVoice) to reduce FFI overhead and thread contention. - Lazy Connection: Voices in the pool now remain disconnected from the master output until actively claimed, reducing background CPU usage.
- Stability Fixes: Corrected illegal feedback cycles in JUCE's
AudioProcessorGraphthat caused exponential slowdowns. - UI Responsiveness: Refined voice pool replenishment to yield during creation, preventing UI freezes in the Sequencer.
- Bug Fixes: Corrected native processor initialization and oscillator startup logic.
0.1.0 #
- Initial release of
wajuce. - Web Audio API 1.1 compatible interfaces.
- Native backend using JUCE 8 (FFI).
- Web backend using
dart:js_interop. - Support for 12 AudioParam automation methods.
- AudioWorklet emulation via High-Priority Dart Isolates.
- Feedback loop support via automatic FeedbackBridge.