Skip to content

Latest commit

 

History

History
110 lines (80 loc) · 3.71 KB

README.md

File metadata and controls

110 lines (80 loc) · 3.71 KB

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 [email protected]:feross/bitmidi.com.git
cd bitmidi.com
npm install

System Dependencies

  • GraphicsMagick
    • Ubuntu: sudo apt install graphicsmagick
    • MacOS: brew install graphicsmagick
  • imagemin-webp > cwebp-bin
    • Ubuntu: sudo apt install libxi6 libglu1
    • MacOS: n/a

Setup Database

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

cp secret/index-sample.js secret/index.js

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.js 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.js <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