Code Monkey home page Code Monkey logo

loops's Introduction

L∞ps

by Liam Osler and Matt Gleeson

Using React, Node, and Web Audio API, we created a desktop site that allows you to customize a musical loop over eight beats.

Some notable features are the volume control, the ability to transpose between the major, natural minor, harmonic minor, and melodic minor modes, a clear grid function, and the delta timing backend to ensure that the application wouldn’t skip beats/play them out of time. Users can also use the spacebar to play/pause the loop instead of clicking on the play/pause button. We also added a volume slider for more control of the volume. Integrating React and designing the UI took a lot longer than we expected, and ended up consisting of about half of the project time. We also set up our server to be constantly hosted on our AWS instance without the need for repeatedly calling the node function.

How to Test:

The site is continuously hosted here. Note the website is currenly only working on Google Chrome.

Guide of our files:

index.html is a boilerplate generated by the 'create-react-app' function that is the base to which all of our html gets added. We modified it slightly to support a custom tab icon and title.

index.js houses most of the interesting code. The first section is the react code that specifies what our site looks like. The second section describes the musical functionality of the site.

index.css is the css that we developed extensively.

loop-server.js is a small node/express server that we cooked up to handle serving our packaged code and allow users to save their loops.

loops's People

Contributors

liamazing avatar matthewgleeson avatar

Forkers

matthewgleeson

loops's Issues

Spacebar Sometimes triggers multiple things

We would like to reserve the spacebar for global play/pause; however, when the spacebar is pressed immediately after a note is toggled, spacebar will toggle that note in addition to playing/pausing.

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.