User:Zzmonty/import2

From Wikipedia, the free encyclopedia
{{Extension|templatemode =
|name        = Import2
|status      = experimental
|type1       = api
|type2       = Modify include file
|hook1       =
|hook2       =
|username    = Zzmonty
|author      = Melissa Newman
|description = Replacement for "import.php" include file.
|image       =
|imagesize   =
|version     = 0.1
|update      = 2009-12-08
|mediawiki   = 1.15.1
|license     = CreateCommons Share Alike
|download    = {{WikimediaDownload}}
|readme      = [[User:zzmonty/import2/readme.txt]]
|changelog   = [[User:zzmonty/import2/changelog.txt]]
|parameters  =
|rights      =
|example     = [[User:zzmonty/import2/example]]
}}

Formats ABC [1] 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:

<abc float="right">
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||
</abc>

would produce:

File:ABCExtension.png

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

Installation[edit]

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[edit]

Set these after the require_once.

$abcm2ps = "/usr/bin/abcm2ps";
Set the path to abcm2ps, if it's not in /usr/bin. abcm2ps is required.
$abcps2pdf = "/usr/bin/ps2pdf14";
Set the path to ps2pdf, if it's not in /usr/bin. ps2pdf is required.
$abc2midi = "/usr/bin/abc2midi";
Set the path to abc2midi, if it's not in /usr/bin. abc2midi is optional; if enabled, MIDI renderings of the music will be produced.
$abctimidity = "/usr/bin/timidity";
Set the path to timidity, if it's not in /usr/bin. TiMidity++ is optional; if enabled, Ogg Vorbis renderings of the music will be produced. If you set this, you must also set $abc2midi.
$abcMIDIvoice = 0;
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.
$abcOggHandler = false;
Change this to true to enable the embedded media player. This requires Extension:OggHandler also be installed.