/bitmidi.com

🎹 Listen to free MIDI songs, download the best MIDI files, and share the best MIDIs on the web

Primary LanguageJavaScript

BitMidi

🎹 Listen to free MIDI songs, download the best MIDI files, and share the best MIDIs on the web.

travis Standard - JavaScript Style Guide

Usage

Visit the live site at bitmidi.com, the wayback machine for old-school MIDI files! Check out some examples here:

Contributing

It's easy to run the code!

Clone the project and install the dependencies

git clone git@github.com:feross/bitmidi.com.git
cd bitmidi.com
npm install

Setup Database

First, copy the sample secret file to a new file:

cp secret/index-sample.mjs secret/index.mjs

Second, run a local MySQL Server on port 3306 and create a database called bitmidi.com.

Don't forget to change the credentials in secret/index.mjs to match what you configured! If you use a different MySQL version than what is specified, then remember to change that, too. If you're running an older version of MySQL, you may need to add a insecureAuth: true option under db.connection.

Run Database Migrations

Once you complete the database setup, run the migrations:

npm run knex -- migrate:latest

Mock local MIDI files

To load the site with MIDI files, you need to have a folder with MIDI files in it. You can get a large collection here or some smaller ones here.

Then, in the project root, run this:

node -r @babel/register tools/import.mjs <path-to-folder-with-midis>

Run the server

npm run build
npm start

Watch and restart automatically:

npm run watch

License

Copyright (c) Feross Aboukhadijeh