Skip to content
This repository has been archived by the owner on Mar 5, 2021. It is now read-only.

Add Conductor and MultiSoundPlayer classes to Sound plugin #73

Open
wants to merge 30 commits into
base: master
Choose a base branch
from

Conversation

usdivad
Copy link

@usdivad usdivad commented Feb 16, 2016

I added Conductor and MultiSoundPlayer classes to the Sound plugin, usable via Sup.Audio.Conductor and Sup.Audio.MultiSoundPlayer respectively.

The Conductor schedules audio based on beats using the Web Audio API's clock, allowing for transitions and events to occur in alignment with the musical rhythm of a phrase or section.

The MultiSoundPlayer wraps around multiple SoundPlayers to allow for an "init-loop-tail" scheme for audio playback.

An example game using the classes (updated 2/2017): http://usdivad.com/runaway-reverie || https://usdivad.itch.io/runaway-reverie

Source code: https://github.com/usdivad/runaway-reverie

^ There are a few glitches here and there, but it gives a good idea of the features and musical possibilities available.

I am definitely open to suggestions regarding functionality as well as how to best integrate this into the Superpowers Game engine. Any feedback would be most welcome!

…tialize params and choose diff transition modes ('toNext' still not working 100%), auto-fill transitionBeats
@usdivad usdivad changed the title Sound additions sound: add Conductor and MultiSoundPlayer classes Feb 16, 2016
@usdivad usdivad changed the title sound: add Conductor and MultiSoundPlayer classes Add Conductor and MultiSoundPlayer classes to Sound plugin Feb 16, 2016
@elisee
Copy link
Contributor

elisee commented Feb 21, 2016

Hi and thanks for the PR! Will try to review it as soon as possible. We're currently focused on getting the redesigned app ready so it might take a little while longer...

@usdivad
Copy link
Author

usdivad commented Feb 25, 2016

Sounds good and no worries! Looking forward to the new app 😄

@usdivad
Copy link
Author

usdivad commented Feb 12, 2017

Just updated and tested this branch so that it's compatible with the current master branch! Also, I've created a gist with example usage of the two classes in case that's helpful: https://gist.github.com/usdivad/e2872c702a7a31e3562c15f3e047bb0e

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants