Skip to content

Commit

Permalink
some docs updating
Browse files Browse the repository at this point in the history
  • Loading branch information
colinsullivan committed Nov 14, 2019
1 parent 20ee1a3 commit 40b5842
Showing 1 changed file with 16 additions and 5 deletions.
21 changes: 16 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ A library for state synchronization between SuperCollider and Node.js using the
![Basic state flow](docs/flow.png "Basic state flow")

## How it works
Intended for use with a primary state store in Node.js implemented with [Redux](http://redux.js.org/). Provides `StateStore`, a replica state store in [SuperCollider](http://supercollider.github.io/) which leverages the [API quark](https://github.com/supercollider-quarks/API) to receive state changes and the JSON converter in [supercolliderjs](https://github.com/crucialfelix/supercolliderjs) to dispatch actions back to Node.js.
Intended for use with a primary state store in Node.js implemented with [Redux](http://redux.js.org/). Provides `StateStore`, a replica state store in [SuperCollider](http://supercollider.github.io/) which leverages [supercolliderjs](https://github.com/crucialfelix/supercolliderjs) and the [API quark](https://github.com/supercollider-quarks/API) to receive state changes.

The Node.js class `SCStoreController` forwards state updates to a replica running in sclang and receives actions dispatched from it using a separate OSC channel.

Expand All @@ -16,11 +16,22 @@ When actions are dispatched from sclang to the replica `StateStore` instance, th
## SuperCollider Classes
All SuperCollider code is included in a [quark](http://doc.sccode.org/Guides/UsingQuarks.html) inside the `quarks/supercollider-redux` directory.

* `ReduxEventStreamPlayer`: This is a subclass of `EventStreamPlayer` which will dispatch actions each time an event from the stream is played. Very useful for modifying other state based on the playback of a Pattern, for example.
* `SCReduxTempoClockController`
* A wrapper for TempoClock which will take a tempo from the Redux store.
* `SCRedux`: Used as a namespace for storing constants like actionTypes.
* `SCReduxStore`: Class that implements the state store replica in SuperCollider.
* `SCReduxTempoClockController`: A wrapper for TempoClock which will take a tempo from the Redux store.

## JavaScript Classes
## JavaScript Module
### Actions

### Reducer

### Constants

### Classes
* `SCLangController`
* Starts sclang
* Dispatches actions to store sclang and scsynth boot state
* Optionally takes a string for sclang to interpret when it is booted, helpful for initial setup or configuring audio devices before the server starts.
* `SCStoreController`
* Sends initial state to SuperCollider StateStore
* Forwards subsequent state changes to it
Expand Down

0 comments on commit 40b5842

Please sign in to comment.