User:Zzmonty/import2

Formats ABC music notation in a wiki page. A low-resolution PNG rendering of the music is displayed inline, with links to download other formats (PDF, PS, MIDI, Ogg Vorbis, and the original ABC), and an embedded media player. Similar to Extension:AbcMusic except it doesn't use Lilypond, and has more features.

Example:

X: 1 T: Tommy Peoples' M: 4/4 L: 1/8 R: reel K: Bmin
 * B3 c dBAF|~B3 c dfed|~B3 c dcdB|1 ABde fded:|2 ABde fdec||
 * dfaf bfaf|dfaf (3ggg fg|afge ~d3 B|1 ABde fdec:|2 ABde fded||

would produce:



float can be either left or right, or unspecified, in which case it defaults to left.

Installation
For basic use, just add this to your LocalSettings.php:

require_once("/export/home/river/www/extensions/ABC/ABC.php"); $abcPath = "/export/home/river/www/phase3/abc"; $abcURL = "/~river/phase3/abc";

(You will need to change the paths to fit your system.)

The extension requires abcm2ps, GhostScript (for ps2pdf), and ImageMagick. It can optionally use abc2midi to produce MIDI renderings of the music, and TiMidity++ to produce Ogg Vorbis renderings.

Configuration options
Set these after the require_once.


 * : Set the path to abcm2ps, if it's not in /usr/bin. abcm2ps is required.
 * : Set the path to <tt>ps2pdf</tt>, if it's not in <tt>/usr/bin</tt>. <tt>ps2pdf</tt> is required.
 * : Set the path to <tt>abc2midi</tt>, if it's not in <tt>/usr/bin</tt>. <tt>abc2midi</tt> is optional; if enabled, MIDI renderings of the music will be produced.
 * : Set the path to <tt>timidity</tt>, if it's not in <tt>/usr/bin</tt>. TiMidity++ is optional; if enabled, Ogg Vorbis renderings of the music will be produced.  If you set this, you must also set <tt>$abc2midi</tt>.
 * : Change the MIDI voice that will be used for the Ogg Vorbis recording. (This does not change the voice used in the MIDI rendering).  0 = Piano; 40 = Violin; 73 = Flute.  See the General MIDI specification for other voices (unless your TiMidity++ patches aren't General MIDI, in which case you're on your own).  If the ABC input specifies a particular voice itself, this will be ignored.
 * : Change this to <tt>true</tt> to enable the embedded media player. This requires Extension:OggHandler also be installed.