FieldMidity

Categories

Component ID

2779871

Component name

FieldMidity

Component type

module

Maintenance status

Development status

Component security advisory coverage

not-covered

Component created

Component changed

Component body

FieldMidity implements Midi.js and LibTiMidityJS libraries in a file field display formatter for Drupal. It plays midi files in your browser, using a sound bank, where each voice is downloaded as they are called by the channel data in the midi file. It's very similar to the old midi browser plugins, except that the controller is javascript and the samples are hosted remotely.

git clone --branch 7.x-1.x https://git.drupal.org/sandbox/vincer/2779871.git fieldmidity

Currently does:
Provides a Midi display formatter for core file fields in the back end.
Formats the uploaded files as URIs on the front end.
Loads Midi.js from the libraries folder.
URIs converted to links.
Output conformed to MIDI.js.
Initializing script injected.

/sites/all/libraries/libtimidity/midi.js
/sites/all/libraries/libtimidity/libtimidity.js
/sites/all/libraries/libtimidity/pat/*arachno-pat-files
/sites/all/libraries/libtimidity/pat/MT32Drums/*mt32drum-pat-files

Currently doesn't:
The module is doing everything it was initially intended to do.
From this point, perhaps we'll see what else we can get it to do.

Sure, but how well does it actually work?

Click the Home Page link, under Resources in the sidebar.

Where do I get LibTiMidity.js?

https://github.com/fourkitchens/poolparty.fourkitchens.com
Download the project and rename the folder to libtimidity, as indicated above.

git clone git://github.com/fourkitchens/poolparty.fourkitchens.com.git

Where do I get GUS PAT files?

https://github.com/babelsberg/babelsberg-js
https://github.com/babelsberg/babelsberg-js/tree/master/midijs/pat
Download the full project and pull out the PAT folder, as indicated above.

git clone git://github.com/babelsberg/babelsberg-js.git

Issues

Primarily, I'm not sure how viable this module would be, given the unknown copyright status of the required third-party GUS PAT files (not bundled, but are required).
https://en.wikipedia.org/wiki/Roland_MT-32#Emulation

It was subsequently proven that Roland Corporation had failed to properly register the MT-32's original ROM code in accordance with the Berne Convention Implementation Act, which came into force on March 1989. As such, the original ROM code of the MT-32 is in the public domain and can be freely used...

Should I create a GitHub project that only contains PAT files?