This readme refers to current the state of the master branch, which is a WIP. Please see the Interactive Demo/Documentation and npmjs to see the readme and documentation as of the current release.
ember install ember-audio
Ember Audio provides an audio
service and various classes/mixins that make
working with the Web Audio API super EZ.
Ember Audio aims to simplify sampling, triggering, routing, scheduling, synthesizing, soundfonts, and working with audio in general.
Please give me feedback/suggestions if you have any. Pull requests and issues
are welcome. You can also contact me on the Ember community discord: @sethbrasile
.
Please let me know if you're building something with Ember Audio! It's a fairly
large project, and I would love to know if it's working out for people! You can
contact me via @sethbrasile
on the ember community discord, or via email.
- Ember optional feature
default-async-observers
creates a race condition which will interfere withconnections
being available when you need them. We need to remove the observer that triggers the_wireConnections
method in order to resolve this. I tried a computed property in the past, but I didn't have enough control over when the computed property recalculated, so I stayed with an observer. I have some ideas on how to resolve, but this will probably not happen until I move this library to JS classes and remove the "classic classes."
- Ember.js v3.28 or above
- Ember CLI v3.8 or above
ember serve
- Visit http://localhost:4200/ember-audio/.
Get up to date so it doesn't create issues with new ember apps. The current goal is keeping compatibility all the way back to Ember 3.28 but no issues or deprecations in Ember 4+- Done- Do some cleanup and testing and ensure compatibility, assess for breaking changes, then cut a new release.
- Switch to 100% JS classes, no ember "classic classes" - but I haven't decided on a strategy for the mixins yet. I like the composability of combining mixins to create new playable/connectable types. Take a look at how most of the classes are built, and take a look at MusicallyAwareOscillator to see what I mean. I am open to suggestions if you have an idea on how to maintain this composability without mixins. I have a feeling decorators could do something similar, but I've not authored one of those yet and I see similar warnings about them compared to mixins so I'm uncertain.
- Cut a 2.0 release (
.get
api will be broken for instance) - Move Ember Audio to Typescript - This might interfere with the mixin concept also. IIRC Typescript doesn't like mixins.. At least provide TS definitions.
- Extract most of the important code into a non-ember project and reference that as a dependency here.
ember ember-cli-yuidoc
For more information on using ember-cli, visit http://ember-cli.com/. [Longer description of how to use the addon in apps.]
See the Contributing guide for details.
This project is licensed under the MIT License.