jamesseanwright / Wax

An experimental, JSX-compatible renderer for the Web Audio API

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to Wax

X0
Document & develop React components without breaking a sweat
Stars: ✭ 1,706 (+897.66%)
Mutual labels:  jsx
Fetch Stream Audio
Low Latency web audio playback examples for decoding audio streams in chunks with Fetch & Streams APIs
Stars: ✭ 153 (-10.53%)
Mutual labels:  web-audio
Html To React Components
Converts HTML pages into React components
Stars: ✭ 2,031 (+1087.72%)
Mutual labels:  jsx
Weapp Native
weapp-native (wn) 像React组件开发一样来开发微信小程序,开发微信小程序框架 [此项目短时间内已不再维护,有兴趣继续的可以加群联系我]
Stars: ✭ 144 (-15.79%)
Mutual labels:  jsx
Gantt
Gantt chart library using jsx support SVG, Canvas and SSR
Stars: ✭ 148 (-13.45%)
Mutual labels:  jsx
15 Puzzle
The 15-puzzle is a sliding puzzle that consists of a frame of numbered square tiles in random order with one tile missing, built in react
Stars: ✭ 161 (-5.85%)
Mutual labels:  jsx
React Code Blocks
React code blocks and code snippet components
Stars: ✭ 135 (-21.05%)
Mutual labels:  jsx
Snap Shot
Jest-like snapshot feature for the rest of us, works magically by finding the right caller function
Stars: ✭ 170 (-0.58%)
Mutual labels:  jsx
Vue Ts Admin
一个使用ant-design-vue + vue + typescript + jsx的中后台脚手架
Stars: ✭ 149 (-12.87%)
Mutual labels:  jsx
Preact Markup
⚡️ Render HTML5 as VDOM, with Components as Custom Elements!
Stars: ✭ 167 (-2.34%)
Mutual labels:  jsx
Nativejsx
JSX to native DOM API transpilation. 💛 <div> ⟹ document.createElement('div')!
Stars: ✭ 145 (-15.2%)
Mutual labels:  jsx
React Border Wrapper
A wrapper for placing elements along div borders.
Stars: ✭ 147 (-14.04%)
Mutual labels:  jsx
Guitarstack
Digital guitar effects right in your browser!
Stars: ✭ 164 (-4.09%)
Mutual labels:  web-audio
Omil
📝Webpack loader for Omi.js React.js and Rax.js components 基于 Omi.js,React.js 和 Rax.js 单文件组件的webpack模块加载器
Stars: ✭ 140 (-18.13%)
Mutual labels:  jsx
Pug As Jsx Loader
Stars: ✭ 168 (-1.75%)
Mutual labels:  jsx
Virtual Dom
关于Vue,React,Preact和Omi等框架源码的解读
Stars: ✭ 139 (-18.71%)
Mutual labels:  jsx
Omi
Front End Cross-Frameworks Framework - 前端跨框架跨平台框架
Stars: ✭ 12,153 (+7007.02%)
Mutual labels:  jsx
Babel Plugin React Html Attrs
Babel plugin which transforms HTML and SVG attributes on JSX host elements into React-compatible attributes
Stars: ✭ 170 (-0.58%)
Mutual labels:  jsx
Compile Hero
🔰Visual Studio Code Extension For Compiling Language
Stars: ✭ 169 (-1.17%)
Mutual labels:  jsx
Sono
A simple yet powerful JavaScript library for working with Web Audio
Stars: ✭ 164 (-4.09%)
Mutual labels:  web-audio

Wax

Travis CI status Code coverage status npm version

An experimental, JSX-compatible renderer for the Web Audio API. I wrote Wax for my Manchester Web Meetup talk, Manipulating the Web Audio API with JSX and Custom Renderers.

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 createAudioElement */

import {
    createAudioElement,
    renderAudioGraph,
    AudioGraph,
    Oscillator,
    Gain,
    StereoPanner,
    Destination,
    setValueAtTime,
    exponentialRampToValueAtTime,
} from 'wax-core';

renderAudioGraph(
    <AudioGraph>
        <Oscillator
            frequency={[
                setValueAtTime(200, 0),
                exponentialRampToValueAtTime(800, 3),
            ]}
            type="square"
            endTime={3}
        />
        <Gain gain={0.2} />
        <StereoPanner pan={-1} />
        <Destination />
    </AudioGraph>
);

Example Apps

Consult the example directory for a few small example apps that use Wax. The included README summarises them and details how they can be built and ran.

Documentation

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].