A live Demo is running on our heroku server. It is best viewed in a modern browser such as Chrome on PC, Mac, or Linux. Though screen size scalable to offer a usable viewport to mobile devices, the Web Audio API is not fully compatible with them.
Live Demo: https://trackstudio.herokuapp.com/
trackstudio is A University of Massachusetts: Lowell class capstone project for Graphical User Interfaces II under professor Jesse Heines during the Spring 2015 semester.
- Glen Anderson
- Dominic Cabral
- Jose Flores
- Ramon Meza
Our goal is to create a simplified sound recording application that works in modern web browsers through the Web Audio API. We will differentiate our application by presenting the user with "creative constraints". This will help them focus on their music ans not the technicalities associated with other sound recording applications. We will achieve this by not including visual waveforms and limiting the amount of recordable tracks to four, reducing the interface and indirectly setting a goal for the artist.
Our target audience consists of musicians and songwriters, of both genders ages 13 and older, who like to record demos or music without having to download software. The user must have access to a modern web browser and a microphone. Our target audience is able to navigate a website and is familiar with how knobs, buttons, and sliders function. Users do not necessarily have prior sound recording experience, as a tutorial is provided.
trackstudio
├───bin/ Executable files.
├───doc/ Documents.
├───ini/ Configurations.
│ ├───common/ Common configurations to all application modes.
│ ├───development.js Default application configuration for development.
│ ├───mongodb.cfg MongoDB service configuration.
│ └───production.js Default application configuration for production.
│
├───node_modules/ NPM dependencies.
├───server/ Private server.
│ ├───lib/ Application library.
│ ├───mvc/ Model View Controller directory.
│ │ ├───controllers/ Output controllers.
│ │ ├───models/ Data files
│ │ └───views/ Jade layouts.
│ │ ├───mixin/ Jade mixins.
│ │ └───content/ page content.
│ │
│ └───routes/ URL routing.
│
├───www/ Public static content.
│ ├───api/ API directory.
│ ├───app/ Application files.
│ │ ├───css/ Cascading style sheets.
│ │ ├───img/ Image files.
│ │ └───js/ JavaScript files.
│ └───dep/ Dependency files.
│ ├───css/ Cascading style sheets.
│ ├───img/ Image files.
│ └───js/ JavaScript files.
│
├───app.js Application controller.
├───gulpfile.js Gulp scripts.
├───package.json npm package file.
├───Procfile Heroku instructions for deployment.
└───README.md Installation instructions.
- bootstrap
- bootstrap-slider
- jQuery
- jQuery-color
- jQuery-knob
- jQuery-pulse
- jQuery-qtip
- jQuery-validation
- js-cookie
- Recorder.js
- Trip.js
- Tuna.js
- volume-meter
GitNode.jsnpmMongoDB
MONGO_DB_USER- Holds an administrator username to theMongoDBMONGO_DB_PASS- Holds the password to theMongoDBfor the administratorMONGO_DB_USERTS_RUN_MODE- development | productionNODE_ENV- development | production
Web Audio APIcompatible browser, for a full list see https://developer.mozilla.org/en-US/docs/Web/API/Web_Audio_API
-
Install
Gitfor your system. https://git-scm.com/downloads -
Install
Node.jsfor your system. This installsnpmas well. https://nodejs.org/en/download/ -
Install
MongoDBon your database server. https://www.mongodb.org/downloads#production -
Clone the repository.
git clone https://github.com/gui2project/5trackportastudio.git -
Run the install script.
cd 5trackportastudio && npm install
-
Verify the contents of
ini\mongodb.cfgmatch your installation by runninggulp mongodb.config -
To create and start a windows service with the configuration run:
gulp mongodb.create -
You will then need to manually add a user that matches
MONGO_DB_USER:MONGO_DB_PASS, with administrative read write to a collectiontrackstudio.
Deployments through Gulp will format, check syntax and extract documentation.
-
For a full list of commands available run:
gulp help
trackstudio by default uses Nodemon to run our application on port 3000.
We also use the master branch as a development branch, and to quickly save changes to the master branch we recommend to ...
-
run (Only the first time):
gulp git.cred.storegulp git.master --m="commit message" -
run (Everytime):
gulp git.master --m="commit message"
We have integrated Github with Heroku and to deploy directly to the production server at https://trackstudio.heroku.com through Gulp.
-
run:
gulp git.heroku