Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/jamesseanwright/wax
An experimental, JSX-compatible renderer for the Web Audio API
https://github.com/jamesseanwright/wax
audionode audioparam jsx jsx-elements jsx-renderer jsx-syntax pragma react transform-react-jsx web-audio web-audio-api
Last synced: 16 days ago
JSON representation
An experimental, JSX-compatible renderer for the Web Audio API
- Host: GitHub
- URL: https://github.com/jamesseanwright/wax
- Owner: jamesseanwright
- Created: 2018-09-01T19:03:55.000Z (about 6 years ago)
- Default Branch: master
- Last Pushed: 2023-01-04T11:39:54.000Z (almost 2 years ago)
- Last Synced: 2024-10-19T06:17:11.293Z (28 days ago)
- Topics: audionode, audioparam, jsx, jsx-elements, jsx-renderer, jsx-syntax, pragma, react, transform-react-jsx, web-audio, web-audio-api
- Language: JavaScript
- Homepage:
- Size: 569 KB
- Stars: 181
- Watchers: 10
- Forks: 4
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
- awesome-list - wax - compatible renderer for the Web Audio API | jamesseanwright | 172 | (JavaScript)
- awesome-react-renderer - wax - An experimental, JSX-compatible renderer for the Web Audio API. (Music)
README
# Wax
[![Travis CI status](https://api.travis-ci.org/jamesseanwright/wax.svg?branch=master)](https://travis-ci.org/jamesseanwright/wax) [![Code coverage status](https://coveralls.io/repos/github/jamesseanwright/wax/badge.svg?branch=master)](https://coveralls.io/github/jamesseanwright/wax?branch=master) [![npm version](https://badge.fury.io/js/wax-core.svg)](https://www.npmjs.com/package/wax-core)
An experimental, JSX-compatible renderer for the Web Audio API. I wrote Wax for my [Manchester Web Meetup](https://www.meetup.com/Manchester-Web-Meetup) talk, [_Manipulating the Web Audio API with JSX and Custom Renderers_](https://www.youtube.com/watch?v=IeuuBKBb4Wg).
While it has decent test coverage and is stable, I still deem this to be a work-in-progress. **Use in production at your own risk!**
```jsx
/** @jsx createAudioElement */import {
createAudioElement,
renderAudioGraph,
AudioGraph,
Oscillator,
Gain,
StereoPanner,
Destination,
setValueAtTime,
exponentialRampToValueAtTime,
} from 'wax-core';renderAudioGraph(
);
```## Example Apps
Consult the [example](https://github.com/jamesseanwright/wax/tree/master/example) directory for a few small example apps that use Wax. The included [`README`](https://github.com/jamesseanwright/wax/blob/master/example/README.md) summarises them and details how they can be built and ran.
## Documentation
* [Introduction](https://github.com/jamesseanwright/wax/blob/master/docs/000-introduction.md)
* [Getting Started](https://github.com/jamesseanwright/wax/blob/master/docs/001-getting-started.md)
* [Manipulating Audio Parameters](https://github.com/jamesseanwright/wax/blob/master/docs/002-audio-parameters.md)
* [Building Complex Graphs with ``s](https://github.com/jamesseanwright/wax/blob/master/docs/003-aggregations.md)
* [Updating Rendered ``s](https://github.com/jamesseanwright/wax/blob/master/docs/004-updating-audio-graphs.md)
* [Interop with React](https://github.com/jamesseanwright/wax/blob/master/docs/005-interop-with-react.md)
* [API Reference](https://github.com/jamesseanwright/wax/blob/master/docs/006-api-reference.md)
* [Local Development](https://github.com/jamesseanwright/wax/blob/master/docs/007-local-development.md)