Giter Club home page Giter Club logo

bemuse's Issues

io.js

Wow! io.js comes with many ES6 features by default. When it's released let's try switching to io.js!

Ditch Jasmine and use Mocha

Jasmine's asynchonous tests support, even though it is improved in 2.0 (I'm very excited about that: no more runs and waitFor mess), but compared to Mocha, is still horrible.

We generally have two ways of signifying asynchronous operation state (successful or failure)…

The first is Node-style callback — callback(err) with null err to signify successful state. The second is to return a Promise.

Well, Jasmine uses neither! It expects you to call Jasmine's expect() function, and then call a callback. This is just unintuitive.

Therefore, it will be replaced with Mocha. Since Mocha is also more friendly towards Node.js.

Publish to GitHub pages!

Make the default route "coming-soon" and display coming soon message. And publish it to GitHub pages.

Logo

Need some logo for the game…

Fix bug with Travis

Currently travis doesn't build bemuse because of some problem with Esprima parser.

Have to update deps and try building locally.

Add CLAHub

To prevent legal issues in contributed code.

prfun

prfun add bunches of useful methods to promises, so I can be less verbose.

The sampling master

Existing Web Audio API abstractions I found (SoundJS used in the prototype version, and blip) are not fit for the use case of BEMUSE. Therefore, a custom sampler is needed.

Ideas:

Unloading Sounds

In the prototype version, the game is a separate page, therefore there is no problem when about unloading sound.

However, in this version, it will be a single-page application. Samples from BMS files should be unloaded in order to save memory.

Playing Blobs

Existing solutions mainly plays sounds from URLs. Since we will be loading samples from .bemuse files, they are embedded in blobs.

Contexts

To easily load and garbage collect sounds, a notion of contexts is introduced. A context can hold samples, and all audio nodes associated with it. When it is destroyed, all samples loaded inside that context are released. All audio nodes are disconnected.

The sampling master

Eventually, this Web Audio abstraction shall be extracted into its own project, maybe call it "sampling-master".

Versioning

Let's start with v0.0.0 and follow semantic versioning!

Production build testing

Since we have different environment for unit tests (NODE_ENV=test) and building for production (NODE_ENV=production), we should also test if the production build works.

CONTRIBUTING.md

With commit message format. For good example, see Angular's CONTRIBUTING.md.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.