Skip to content

feross/bitmidi.com

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

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

About

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

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Sponsor this project

 

Packages

No packages published