

MIDI = function MIDI(file, origin, composers, title, score, desc) {
	this.file = "midi/" + file;
	this.origin = origin || NO_NAME;
	this.composers = composers || [];
	this.title = title || new Name(file);
	this.score = score || 1;
	this.desc = desc;
	this.length = fileLength(this.file) || 0;
	this.modified = fileLastModified(this.file) || 0;
};

function midicmpOrigin(a, b) { return namecmp(a.origin, b.origin); }

function midicmpComposer(a, b) {
	var ac, bc, length, index, diff;
	ac = a.composers;
	bc = b.composers;
	length = (ac.length < bc.length) ? ac.length : bc.length;
	for (index = 0; index < length; index++) {
		diff = namecmp(ac[index], bc[index]);
		if (diff)
			return diff;
	}
	return ac.length - bc.length;
}

function midicmpTitle(a, b) { return namecmp(a.title, b.title); }

function midicmpScore(a, b) { return -(a.score - b.score); }

function midicmpLength(a, b) { return -(numcmp(a.length, b.length)); }

function midicmpModified(a, b) { return -(numcmp(a.modified, b.modified)); }

MIDIS = [

(midiWA1AdlehydeCastle =
	new MIDI("WILD_ARMS_-_Adlehyde_Castle.mid", WA, [MICHIKO_NARUKE], new Name("Adlehyde Castle"), 4)
), (midiFF5Ahead =
	new MIDI("Final_Fantasy_V_-_Ahead_On_Our_Way.mid", FF5, [NOBUO_UEMATSU], new Name("Ahead on Our Way"), 4,
		TR(chat_dermot_left(QL + 'Maybe a bit unbalanced...' + QR, 4))
	)
), (midiFF5Ahead =
	new MIDI("Final_Fantasy_V_-_To_My_Dear_Friends.mid", FF5, [NOBUO_UEMATSU], new Name("To My Dear Friends"), 5)
), (midiCCMarbuleAnother =
	new MIDI("Chrono_Cross_-_Marbule,_Another.mid", CCROSS, [YASUNORI_MITSUDA], new Name("Marbule, Another"), 4)
), (midiSD2AridSands =
	new MIDI("Seiken_Densetsu_2_-_Secret_of_the_Arid_Sands.mid", SD2, [HIROKI_KIKUTA], new Name("Secret of the Arid Sands"), 3)
), (midiSFXSpaceArmada =
	new MIDI("Star_Fox_-_Space_Armada.mid", STARFOX, [HAJIME_HIRASAWA], new Name("Space Armada"), 4)
), (midiCCVoyageAnother =
	new MIDI("Chrono_Cross_-_Voyage,_Another.mid", CCROSS, [YASUNORI_MITSUDA], new Name("Voyage, Another"), 4)
), (midiFF6Awakening =
	new MIDI("Final_Fantasy_VI_-_Awakening.mid", FF6, [NOBUO_UEMATSU], new Name("Awakening"), 3,
		TR(chat_dermot_left(QL + 'My first MIDI ever, from 1996.\u00A0 Revised a couple of times since then.' + QR, 4))
	)
), (midiXGFangs =
	new MIDI("Xenogears_-_The_One_Who_Bears_Fangs_at_God.mid", XENOG, [YASUNORI_MITSUDA], new Name("One Who Bears Fangs at God", "The One Who Bears Fangs at God"), 3,
		TR(chat_dermot_left(QL + 'Generally good, but the sliding pitch of the melody feels botched.' + QR, 4))
	)
), (midiSGF2Besessenheit =
	new MIDI("SaGa_Frontier_II_-_Besessenheit.mid", SAGAF2, [MASASHI_HAMAUZU], new Name("Beſeſſenheit"), 3,
		TR(chat_dermot_left(QL + 'Good, very good, for certain.  But it doesn'+APOS+'t have quite the loud percussion or the complete high-pitched piano of the original.' + QR, 4))
	)
), (midiXGBonds =
	new MIDI("Xenogears_-_Bonds_of_Sea_and_Flame.mid", XENOG, [YASUNORI_MITSUDA], new Name("Bonds of Sea and Flame"), 3)
), (midiXGRemnants =
	new MIDI("Xenogears_-_Remnants_of_the_Dreams_of_the_Brave.mid", XENOG, [YASUNORI_MITSUDA], new Name("Remnants of the Dreams of the Brave"), 3,
		TR(chat_dermot_left(QL + 'Melodically very good, but I still feel that the instrument volumes are unbalanced, and that some instruments are wrong.\u00A0 But fixing it would probably involve a complete resequencing, and this was originally a very demanding MIDI to sequence.' + QR, 4))
	)
), (midiFF10Calm =
	new MIDI("Final_Fantasy_X_-_Calm_Before_the_Storm.mid", FF10, [NOBUO_UEMATSU], new Name("Calm Before the Storm"), 4,
		TR(chat_dermot_left(QL + 'Great diligence was taken in the sequencing of this MIDI.\u00A0 I actually sequenced it all in a hotel room in Price, Utah.' + QR, 4))
	)
), (midiBoF3Casually =
	new MIDI("Breath_of_Fire_III_-_Casually.mid", BOF3, [AKARI_KAIDA], new Name("Casually"), 3,
		TR(chat_dermot_left(QL + 'Very catchy, no doubt about that.\u00A0 But I don'+APOS+'t think it will ever fully measure up to the original, no matter how many times I revise it.' + QR, 4))
	)
), (midiCCForest =
	new MIDI("Chrono_Cross_-_Forest_of_Cutting_Shadows.mid", CCROSS, [YASUNORI_MITSUDA], new Name("Forest of Cutting Shadows"), 3,
		TR(chat_dermot_left(QL + 'A bit of a disappointment.\u00A0 The instrument volumes feel unbalanced, and I generally feel that I bit off more than I could chew with this one.\u00A0 I made too many naïve assumptions, and I think the MIDI has suffered because of them.' + QR, 4))
	)
), (midiRM5ChargeMan =
	new MIDI("Rockman_5_-_Charge_Man's_Theme.mid", RM5, [MARI], new Name("ChargeMan'sTheme", "ChargeMan"+APOS+"s Theme"), 4,
		TR(chat_dermot_left(QL + 'Funny story, really.\u00A0 I'+APOS+'ve always liked the upbeat nature of this tune, and I sequenced this MIDI at a time when I was incredibly depressed, and I thought it might help cheer me up.\u00A0 It didn'+APOS+'t cheer me up, but I still like this MIDI.' + QR, 4))
	)
), (midiSD3DancingBeasts =
	new MIDI("Seiken_Densetsu_2_-_Dancing_Beasts.mid", SD2, [HIROKI_KIKUTA], new Name("Dancing Beasts"), 4,
		TR(chat_dermot_left(QL + 'I'+APOS+'m still not entirely sure why I chose to sequence this MIDI, but I think I did a good job on it.\u00A0 If anything, the act of sequencing this tune made it even catchier than before.\u00A0 Gotta love well-arranged distortion guitars.' + QR, 4))
	)
), (midiFF6DayAfter =
	new MIDI("Final_Fantasy_VI_-_The_Day_After.mid", FF6, [NOBUO_UEMATSU], new Name("Day After", "The Day After"), 3,
		TR(chat_dermot_left(QL + 'Sequenced many years ago, like most of my FF6 MIDIs.\u00A0 I must confess that this sounded a lot better on FM synthesis than it does on wavetable.\u00A0 The instrument volumes are badly unbalanced.' + QR, 4))
	)
), (midiFF5DearFriends =
	new MIDI("Final_Fantasy_V_-_To_My_Dear_Friends.mid", FF5, [NOBUO_UEMATSU], new Name("To My Dear Friends"), 5),
	new MIDI("Chrono_Cross_-_Fort_Dragonia.mid", CCROSS, [YASUNORI_MITSUDA], new Name("Fort Dragonia"), 3,
		TR(chat_dermot_left(QL + 'One of my first Chrono Cross MIDIs.\u00A0 I'+APOS+'m not really fully satisfied with it; it feels like something is missing.' + QR, 4))
	)
), (midiXGDreamEgg =
	new MIDI("Xenogears_-_The_Dream_Egg_Hatches.mid", XENOG, [YASUNORI_MITSUDA], new Name("Dream Egg Hatches", "The Dream Egg Hatches"), 2,
		TR(chat_dermot_left(QL + 'This is probably my single most revised MIDI ever.\u00A0 Even so, I still think it’s fatally flawed.\u00A0 It would need a fresh resequencing, probably with the help of a PSF (which I didn'+APOS+'t have before!).' + QR, 4))
	)
), (midiDrowningValley =
	new MIDI("Chrono_Cross_-_Drowning_Valley.mid", CCROSS, [YASUNORI_MITSUDA], new Name("Drowning Valley"), 4)
), (midiFF6Empire =
	new MIDI("Final_Fantasy_VI_-_The_Empire_(Gastra's_Theme).mid", FF6, [NOBUO_UEMATSU], new Name("Empire (Gastra's Theme)", "The Empire (Gastra"+APOS+"s Theme)"), 3,
		TR(chat_dermot_left(QL + 'One of my earliest MIDIs, and yet still surprisingly good after all these years.\u00A0 I wouldn'+APOS+'t say it'+APOS+'s a perfect MIDI, and I would undoubtedly sequence it differently today if I could sequence it again.\u00A0 But this MIDI suits the basic goal for which it was originally sequenced.' + QR, 4))
	)
), (midiFF10Abyss =
	new MIDI("Final_Fantasy_X_-_To_the_Ends_of_the_Abyss.mid", FF10, [MASASHI_HAMAUZU], new Name("To the Ends of the Abyss"), 4 /* ,
		TR(chat_dermot_left(QL + 'I'+APOS+'m satisfied with most aspects of this MIDI, but I think the piano is too loud.\u00A0 I can'+APOS+'t remember quite why I chose not to make the piano quieter.' + QR, 4)) */
	)
), (midiFF6Epitaph =
	new MIDI("Final_Fantasy_VI_-_Epitaph.mid", FF6, [NOBUO_UEMATSU], new Name("Epitaph"), 4)
), (midiFF9EstoGaza =
	new MIDI("Final_Fantasy_IX_-_Esto_Gaza.mid", FF9, [NOBUO_UEMATSU], new Name("Esto Gaza"), 4,
		TR(chat_dermot_left(QL + 'Great diligence went into this MIDI.' + QR, 4))
	)
), (midiFF10FarNorth =
	new MIDI("Final_Fantasy_X_-_People_of_the_Far_North.mid", FF10, [MASASHI_HAMAUZU], new Name("People of the Far North"), 4,
		TR(chat_dermot_left(QL + 'I definately bit off more than I could chew with this one.\u00A0 Masashi Hamauzu composes some of the most complicated game music I have ever heard anywhere.\u00A0 Revised with the help of the PSF.' + QR, 4))
	)
), (midiFF2Theme =
	new MIDI("Main_Theme_of_Final_Fantasy_II.mid", FF2, [NOBUO_UEMATSU], new Name("Main Theme of Final Fantasy II"), 4,
		TR(chat_dermot_left(QL + 'Based on the PlayStation version.' + QR, 4))
	)
), (midiFF5What =
	new MIDI("Final_Fantasy_V_-_What.mid", FF5, [NOBUO_UEMATSU], new Name("?!"), 4,
		TR(chat_dermot_left(QL + 'The first time I successfully simulated the moaning effect in a MIDI.\u00A0 Everyone got a good laugh from it.' + QR, 4))
	)
), (midiFF8Ami =
	new MIDI("Final_Fantasy_VIII_-_Ami.mid", FF8, [NOBUO_UEMATSU], new Name("Ami"), 4,
		TR(chat_dermot_left(QL + 'Good opportunity to practice simulating pedal in piano music.' + QR, 4))
	)
), (midiFF9Cid =
	new MIDI("Final_Fantasy_IX_-_Cid's_Theme.mid", FF9, [NOBUO_UEMATSU], new Name("Cid's Theme", "Cid"+APOS+"s Theme"), 4)
), (midiFF9Pandemonium =
	new MIDI("Final_Fantasy_IX_-_Pandemonium,_the_Castle_Frozen_in_Time.mid", FF9, [NOBUO_UEMATSU], new Name("Pandemonium, the Castle Frozen in Time"), 4,
		TR(chat_dermot_left(QL + 'Fairly simple, and yet powerfully moody.' + QR, 4))
	)
), (midiFF10Dream =
	new MIDI("Final_Fantasy_X_-_Someday_the_Dream_Will_End.mid", FF10, [NOBUO_UEMATSU, MASASHI_HAMAUZU], new Name("Someday the Dream Will End"), 4,
		TR(chat_dermot_left(QL + 'A very ambitious project that fell far closer to its hopes than the previous attempt.\u00A0 But I still can'+APOS+'t properly simulate that wind noise...' + QR, 4))
	)
), (midiSFXFortuna =
	new MIDI("Star_Fox_-_Fortuna.mid", STARFOX, [HAJIME_HIRASAWA], new Name("Fortuna"), 4)
), (midiSD3Frenzy =
	new MIDI("Seiken_Densetsu_3_-_Frenzy.mid", SD3, [HIROKI_KIKUTA], new Name("Frenzy"), 3)
), (midiFF9GarganRoo =
	new MIDI("Final_Fantasy_IX_-_Gargan_Roo.mid", FF9, [NOBUO_UEMATSU], new Name("Gargan Roo"), 3,
		TR(chat_dermot_left(QL + 'I'+APOS+'m rather disappointed with the low-pitched grunting effect.\u00A0 Granted, it was very difficult to simulate, but the tune just doesn'+APOS+'t sound complete without the proper-sounding low-pitched grunt of the original.' + QR, 4))
	)
), (midiCCGirl =
	new MIDI("Chrono_Cross_-_The_Girl_Who_Stole_the_Star.mid", CCROSS, [YASUNORI_MITSUDA], new Name("Girl Who Stole the Star", "The Girl Who Stole the Star"), 4,
		TR(chat_dermot_left(QL + 'The natural-sounding vibrato in Yasunori Mitsuda'+APOS+'s compositions is very difficult to simulate.\u00A0 It always comes out sounding painfully artificial, especially when the MIDI is played back with a soundfont that already vibrates the instrument sample.' + QR, 4))
	)
), (midiFF5Harvest =
	new MIDI("Final_Fantasy_V_-_Harvest.mid", FF5, [NOBUO_UEMATSU], new Name("Harvest"), 3,
		TR(chat_dermot_left(QL + 'This fell short of full expectations simply because I haven'+APOS+'t yet learned of a way to handle panning of percussion.\u00A0 As a natural result, the mono hand-clapping in the background is a pale comparison to the rich stereo clapping of the original.' + QR, 4))
	)
), (midiCCGuldoveHome =
	new MIDI("Chrono_Cross_-_Guldove,_Home.mid", CCROSS, [YASUNORI_MITSUDA], new Name("Guldove, Home"), 4,
		TR(chat_dermot_left(QL + 'One of the MIDIs I'+APOS+'m more pleased with.\u00A0 The percussion sounds relatively simple, but it is incredibly demanding.' + QR, 4))
	)
), (midiSKUHikarisasuNiwa =
	new MIDI("Shoujo_Kakumei_Utena_-_Hikarisasu_Niwa.mid", SKU, [], new Name("Hikarisasu Niwa"), 3,
		TR(chat_dermot_left(QL + 'One of my first sequencings from an animë soundtrack.\u00A0 Perhaps the pedal effect is a bit too heavy, I'+APOS+'m not really sure.\u00A0 As an interesting point of trivia, it should be known that as a piano piece, this is impossible to play without at least three hands, so it must be played as a duet.' + QR, 4))
	)
), (midiCCVoyageHome =
	new MIDI("Chrono_Cross_-_Voyage,_Home.mid", CCROSS, [YASUNORI_MITSUDA], new Name("Voyage, Home"), 3)
), (midiFF5LandUnknown =
	new MIDI("Final_Fantasy_V_-_The_Land_Unknown.mid", FF5, [NOBUO_UEMATSU], new Name("Land Unknown", "The Land Unknown"), 4)
), (midiFF6Locke =
	new MIDI("Final_Fantasy_VI_-_Locke's_Theme.mid", FF6, [NOBUO_UEMATSU], new Name("Locke's Theme", "Locke"+APOS+"s Theme"), 2,
		TR(chat_dermot_left(QL + 'I make no pretenses as to the completeness of this MIDI.\u00A0 It was originally sequenced many years ago anyway.' + QR, 4))
	)
), (midiLoMWind =
	new MIDI("Legend_of_Mana_-_The_Wind_Sings_of_a_Journey.mid", LOM, [YOKO_SHIMOMURA], new Name("Wind Sings of a Journey", "The Wind Sings of a Journey"), 4,
		TR(chat_dermot_left(QL + 'Did I do a good job on the melody?' + QR, 4))
	)
), (midiLoMSea =
	new MIDI("Legend_of_Mana_-_To_the_Sea.mid", LOM, [YOKO_SHIMOMURA], new Name("To the Sea"), 4,
		TR(chat_dermot_left(QL + 'Surprisingly simple to sequence, since there was a deceptively large amount of repetition.' + QR, 4))
	)
), (midiCCMagicalDreamers =
	new MIDI("Chrono_Cross_-_Magical_Dreamers_-_The_Wind,_Stars_and_Waves.mid", CCROSS, [YASUNORI_MITSUDA], new Name("Magical Dreamers ~The Wind, the Stars, and the Waves~"), 4,
		TR(chat_dermot_left(QL + 'I sequenced this in a hotel room in Idaho.\u00A0 Perhaps some instruments need better balance, but Irish instruments are difficult to recreate in General MIDI anyway.' + QR, 4))
	)
), (midiFF2MagiciansTower =
	new MIDI("Final_Fantasy_II_-_Magician's_Tower.mid", FF2, [NOBUO_UEMATSU], new Name("Magician's Tower", "Magician"+APOS+"s Tower"), 4,
		TR(chat_dermot_left(QL + 'Based on the PlayStation version.\u00A0 But I think the PlayStation version lacks a certain charm that the 8-bit version had.' + QR, 4))
	)
), (midiMetEquipment =
	new MIDI("Metroid_-_Equipment.mid", METROID, [HIROKAZU_TANAKA], new Name("Equipment"), 4,
		TR(chat_dermot_left(QL + 'Based on the North American version.' + QR, 4))
	)
), (midiSGF2Missgestalt =
	new MIDI("SaGa_Frontier_II_-_Missgestalt.mid", SAGAF2, [MASASHI_HAMAUZU], new Name("Mißgeſtalt"), 3,
		TR(chat_dermot_left(QL + 'I had my doubts, but today I'+APOS+'m very satisifed with this MIDI.\u00A0 And it was equally as demanding as it sounds.' + QR, 4))
	)
), (midiFF6Mog =
	new MIDI("Final_Fantasy_VI_-_Mog's_Theme.mid", FF6, [NOBUO_UEMATSU], new Name("Mog's Theme", "Mog"+APOS+"s Theme"), 3,
		TR(chat_dermot_left(QL + 'An old MIDI, which time has been very generous to.' + QR, 4))
	)
), (midiBM94MoriMori =
	new MIDI("Bomberman_'94_-_Mori_Mori.mid", BMAN94, [], new Name("Mori Mori"), 2,
		TR(chat_dermot_left(QL + 'Based on a wave dump from an old buggy PC Engine emulator.\u00A0 Maybe someday I'+APOS+'ll resequence this with help from a better wave file.' + QR, 4))
	)
), (midiFF6MountKolts =
	new MIDI("Final_Fantasy_VI_-_Mount_Kolts.mid", FF6, [NOBUO_UEMATSU], new Name("Mount Kolts"), 3,
		TR(chat_dermot_left(QL + 'This old MIDI seems to have survived adequately with relatively few revisions over the years.' + QR, 4))
	)
), (midiFF6Narshe =
	new MIDI("Final_Fantasy_VI_-_The_Mines_of_Narshe.mid", FF6, [NOBUO_UEMATSU], new Name("Mines of Narshe", "The Mines of Narshe"), 4,
		TR(chat_dermot_left(QL + 'Resequenced version.' + QR, 4))
	)
), (midiMetNorfair =
	new MIDI("Metroid_-_Norfair.mid", METROID, [HIROKAZU_TANAKA], new Name("Norfair"), 5,
		TR(chat_dermot_left(QL + 'I'+APOS+'ve always imagined this tune as being played by an acoustic guitar.\u00A0 But then I played <i>Metroid: Zero Mission</i> and the piano in its version of this music.\u00A0 Without changing the notes of the original FamiCom version song, I found a way to incorporate piano in a way I think turned out elegant.' + QR, 4))
	)
), (midiSD2Orphan =
	new MIDI("Seiken_Densetsu_2_-_Orphan_of_the_Storm.mid", SD2, [HIROKI_KIKUTA], new Name("Orphan of the Storm"), 3,
		TR(chat_dermot_left(QL + 'My first Seiken Densetsu series MIDI.' + QR, 4))
	)
), (midiFZPortTown =
	new MIDI("F-ZERO_-_Port_Town.mid", FZERO, [YUMIKO_KANKI, NAOTO_ISHIDA], new Name("Port Town"), 5),
	new MIDI("Seiken_Densetsu_3_-_Powell.mid", SD3, [HIROKI_KIKUTA], new Name("Powell"), 4,
		TR(chat_dermot_left(QL + 'S<small>ENO tchii</small> loved this MIDI a great deal.' + QR, 4))
	)
), (midiCCPredicament =
	new MIDI("Chrono_Cross_-_Predicament.mid", CCROSS, [YASUNORI_MITSUDA], new Name("Predicament"), 3,
		TR(chat_dermot_left(QL + 'I tried hard to balance the piano and voices, and to make the percussion as loud as I could make it.\u00A0 But I think the strings could stand to be a little better.' + QR, 4))
	)
), (midiFF9QuMarsh =
	new MIDI("Final_Fantasy_IX_-_Qu_Marsh.mid", FF9, [NOBUO_UEMATSU], new Name("Qu Marsh"), 3,
		TR(chat_dermot_left(QL + 'This MIDI sounds very good or very bad depending on the quality of the timpani in your MIDI device or soundfont.' + QR, 4))
	)
), (midiFF9NotAlone =
	new MIDI("Final_Fantasy_IX_-_You're_Not_Alone!.mid", FF9, [NOBUO_UEMATSU], new Name("You"+APOS+"re Not Alone!"), 3,
		TR(chat_dermot_left(QL + 'One of Uematsu'+APOS+'s few examples of trance music.\u00A0 That'+APOS+'s actually a simultaneous distortion guitar and shakuhachi playing the same note repeatedly in the background.' + QR, 4))
	)
), (midiXGCage =
	new MIDI("Xenogears_-_Cage_of_Peaceful_Penitence.mid", XENOG, [YASUNORI_MITSUDA], new Name("Cage of Peaceful Penitence"), 4,
		TR(chat_dermot_left(QL + 'I think I finally figured out how to do a good harpsichord in MIDI.' + QR, 4))
	)
), (midiCCRadicalDreamers =
	new MIDI("Chrono_Cross_-_Radical_Dreamers_-_Unstolen_Gem.mid", CCROSS, [YASUNORI_MITSUDA], new Name("Radical Dreamers ~Unstolen Jewel~"), 4,
		TR(chat_dermot_left(QL + 'I had heard some good MIDI version of this tune, but I didn'+APOS+'t think the popular use of soprano flute for the melody seemed appropriate.\u00A0 So, I sequenced by own MIDI version of this tune, using more of an alto instrument.\u00A0 However, I think I probably overdid the grace notes.' + QR, 4))
	)
), (midiRCRafflesia =
	new MIDI("Ragna_Centy_-_Rafflesia_Training_Grounds.mid", RCENTY, [], new Name("Rafflesia Training Grounds"), 3)
), (midiRobin =
	new MIDI("Witch_Hunter_Robin_-_Robin.mid", ROBIN, [TAKU_IWASAKI], new Name("Robin"), 3,
		TR(chat_dermot_left(QL + 'In my vanity, I tried to sequence a MIDI from a source song whose complexity was far beyond my means to filter into individual instruments.\u00A0 However, what I finished is still pleasant and listenable, so I decided to release it incomplete.\u00A0 I just hope everyone can forgive my <span class="hbr">חֻצְפָּה</span>.' + QR, 4))
	)
), (midiRME1NetBattle =
	new MIDI("Rockman.EXE_-_Net_Battle.mid", RMEXE, [AKARI_KAIDA], new Name("Net Battle"), 4,
		TR(chat_dermot_left(QL + 'To get the notes perfect, I made a wave recording of the original tune, and actually halved its tempo so that I could hear all the complex nuances in the background notes.' + QR, 4))
	)
), (midiWA1LoneBird =
	new MIDI("WILD_ARMS_-_Lone_Bird_in_the_Shire.mid", WA, [MICHIKO_NARUKE], new Name("Lone Bird in the Shire (Rudy's Theme)", "Lone Bird in the Shire (Rudy"+APOS+"s Theme)"), 2,
		TR(chat_dermot_left(QL + 'I sequenced this years ago based on a bad audio-input recording.' + QR, 4))
	)
), (midiCCFeeling =
	new MIDI("Chrono_Cross_-_He_Sang_of_Feeling.mid", CCROSS, [YASUNORI_MITSUDA], new Name("He Sang of Feeling"), 5,
		TR(chat_dermot_left(QL + 'This MIDI was trivially easy to sequence, but it was worth it.' + QR, 4))
	)
), (midiCTSara =
	new MIDI("Chrono_Trigger_-_Sara's_Theme.mid", CTRIG, [YASUNORI_MITSUDA], new Name("Sara's Theme", 'Sara'+APOS+'s Theme'), 4,
		TR(chat_dermot_left(QL + 'I got fed up with the legions of Sara MIDIs, all of which had glaring flaws that detracted from my listening experience.\u00A0 So, I finally resolved to sequence my own version of this tune, and I spared no expense on the detail.\u00A0 Did I do well?' + QR, 4))
	)
), (midiCCScars =
	new MIDI("Chrono_Cross_-_The_Scars_of_Time.mid", CCROSS, [YASUNORI_MITSUDA], new Name("Scars of Time", "The Scars of Time"), 3,
		TR(chat_dermot_left(QL + 'This was one of my earlier Chrono Cross MIDIs, and I think I did fairly well, but the strings were hell to simulate.' + QR, 4))
	)
), (midiSD3PersonsDie =
	new MIDI("Seiken_Densetsu_3_-_Person's_Die.mid", SD3, [HIROKI_KIKUTA], new Name("Person's Die", "Person"+APOS+"s Die"), 4)
), (midiSD3Witchmakers =
	new MIDI("Seiken_Densetsu_3_-_Witchmakers.mid", SD3, [HIROKI_KIKUTA], new Name("Witchmakers"), 4,
		TR(chat_dermot_left(QL + 'I thought this MIDI would be difficult, and it really wasn'+APOS+'t.' + QR, 4))
	)
), (midiFF6SerpentTrench =
	new MIDI("Final_Fantasy_VI_-_The_Serpent_Trench.mid", FF6, [NOBUO_UEMATSU], new Name("Serpent Trench", "The Serpent Trench"), 3)
), (midiSFXAttackCarrier =
	new MIDI("Star_Fox_-_Attack_Carrier.mid", STARFOX, [HAJIME_HIRASAWA], new Name("Attack Carrier"), 5,
		TR(chat_dermot_left(QL + 'This was incredibly catchy the first time.\u00A0 I was remembering the music itself long after I had forgotten where I had first heard it.' + QR, 4))
	)
), (midiSFXBossRoll =
	new MIDI("Star_Fox_-_Boss_Roll.mid", STARFOX, [HAJIME_HIRASAWA], new Name("Boss Roll"), 4,
		TR(chat_dermot_left(QL + 'This actually took a long time to sequence to my satisfaction.' + QR, 4))
	)
), (midiSFXAsteroidBelt =
	new MIDI("Star_Fox_-_Asteroid_Belt.mid", STARFOX, [HAJIME_HIRASAWA], new Name("Asteroid Belt"), 4,
		TR(chat_dermot_left(QL + 'There was no decent MIDI version of this tune floating around, so I made one.' + QR, 4))
	)
), (midiSFXSlots =
	new MIDI("Star_Fox_-_Slots.mid", STARFOX, [HAJIME_HIRASAWA], new Name("Slots"), 5,
		TR(chat_dermot_left(QL + 'This is an amusing remix of three songs.\u00A0 The first two songs are traditional Christian folk songs.\u00A0 The third song is an obscure practice song used as part of the Suzuki method for learning to play the violin, pioneered by the late Shin'+MDOT+'ichi Suzuki.\u00A0 These remixes result in an absolutely priceless medley.' + QR, 4))
	)
), (midiSFXTrainingMission =
	new MIDI("Star_Fox_-_Training_Mission.mid", STARFOX, [HAJIME_HIRASAWA], new Name("Training Mission"), 4,
		TR(chat_dermot_left(QL + 'Hajime Hirasawa composed very good music.\u00A0 It'+APOS+'s a shame that he never seemed to compose anything else.' + QR, 4))
	)
), (midiRM3ShadowMan =
	new MIDI("Rockman_3_-_Shadow_Man's_Theme.mid", RM3, [BUN_BUN], new Name("ShadowMan's Theme", "ShadowMan"+APOS+"s Theme"), 3,
		TR(chat_dermot_left(QL + 'I was not pleased with the ShadowMan MIDIs I found, so I made this one.\u00A0 Originally based on the FamiCom version, I later revised it to include added percussion from the MegaDrive version.' + QR, 4))
	)
), (midiXGShevat =
	new MIDI("Xenogears_-_The_Wind_Calls_Shevat_of_the_Blue_Skies.mid", XENOG, [YASUNORI_MITSUDA], new Name("Wind Calls Shevat of the Blue Skies", 'The Wind Calls <span class="hbr">שְׁבָט</span> of the Blue Skies'), 4,
		TR(chat_dermot_left(QL + 'Revised a couple of times, especially when I realized I had actually left out some instruments the first time.' + QR, 4))
	)
), (midiCCBrink =
	new MIDI("Chrono_Cross_-_The_Brink_of_Death.mid", CCROSS, [YASUNORI_MITSUDA], new Name("Brink of Death", "The Brink of Death"), 3,
		TR(chat_dermot_left(QL + 'Version 2.0 of this MIDI, completely resequenced from scratch.\u00A0 There are some things about Mitsuda reverb that remain elusive (and perhaps impossible) to translate to General MIDI.\u00A0 Nevertheless, except for the bass accompaniment, I think I'+APOS+'m satisfied with this arrangement.' + QR, 4))
	)
), (midiXGSoftWind =
	new MIDI("Xenogears_-_The_Soft_Wind_Sings.mid", XENOG, [YASUNORI_MITSUDA], new Name("Soft Wind Sings", "The Soft Wind Sings"), 4,
		TR(chat_dermot_left(QL + 'Something is missing from this MIDI, but I can never quite put my finger on it.' + QR, 4))
	)
), (midiFF6Searching =
	new MIDI("Final_Fantasy_VI_-_Searching_for_Friends.mid", FF6, [NOBUO_UEMATSU], new Name("Searching for Friends"), 5,
		TR(chat_dermot_left(QL + 'I'+APOS+'ve wanted to sequence this for the past eight years, but something always derailed the project.\u00A0 Here it is, as finished as I can get it..' + QR, 4))
	)
), (midiFF6Stragos =
	new MIDI("Final_Fantasy_VI_-_Stragos's_Theme.mid", FF6, [NOBUO_UEMATSU], new Name("Stragos's Theme", "Stragos"+APOS+"s Theme"), 3,
		TR(chat_dermot_left(QL + 'Sequenced long ago, and needing little or no revision since then.' + QR, 4))
	)
), (midiFF9Tantalus =
	new MIDI("Final_Fantasy_IX_-_Theme_of_Tantalus.mid", FF9, [NOBUO_UEMATSU], new Name("Theme of Tantalus"), 4,
		TR(chat_dermot_left(QL + 'I think this is one of the catchiest tunes of the game.' + QR, 4))
	)
), (midiSD2Tale =
	new MIDI("Seiken_Densetsu_2_-_Tell_a_Strange_Tale.mid", SD2, [HIROKI_KIKUTA], new Name("Tell a Strange Tale"), 4)
), (midiXGTammuz =
	new MIDI("Xenogears_-_Tammuz_-_Men_of_the_Sea.mid", XENOG, [YASUNORI_MITSUDA], new Name("Tammuz ~Men of the Sea~", '<span class="hbr">תַּמּוּז</span> ~Men of the Sea~'), 3,
		TR(chat_dermot_left(QL + 'I could have handled the pitch wheel on the flute much better, and the shouting is kludgy at best.\u00A0 Otherwise, I'+APOS+'m fairly satisfied with this MIDI.' + QR, 4))
	)
), (midiCTTimeCorridors =
	new MIDI("Chrono_Trigger_-_Time_Corridors.mid", CTRIG, [YASUNORI_MITSUDA], new Name("Time Corridors"), 4)
), (midiWA2BattleTokaGe =
	new MIDI("WILD_ARMS_2ND_IGNITION_-_Battle_vs._Toka_and_Ge.mid", WA2, [MICHIKO_NARUKE], new Name("Battle vs Toka and Ge", "Battle vs. Toka and Ge"), 4)
), (midiXGJewel =
	new MIDI("Xenogears_-_Unstealable_Jewel.mid", XENOG, [YASUNORI_MITSUDA], new Name("Unstealable Jewel"), 4)
), (midiWA2ValeriaChateau =
	new MIDI("WILD_ARMS_2ND_IGNITION_-_Valeria_Chateau.mid", WA2, [MICHIKO_NARUKE], new Name("Valeria Chateau", "Valeria Château"), 4)
), (midiXGValley =
	new MIDI("Xenogears_-_Valley_of_the_Wind.mid", XENOG, [YASUNORI_MITSUDA], new Name("Valley of the Wind"), 4,
		TR(chat_dermot_left(QL + 'This MIDI took quite a few revisions, and it still may not be finished.' + QR, 4))
	)
), (midiWA1Town =
	new MIDI("WILD_ARMS_-_Town.mid", WA, [MICHIKO_NARUKE], new Name("Town"), 4,
		TR(chat_dermot_left(QL + 'Delightful.' + QR, 4))
	)
), (midiWA2Chapel =
	new MIDI("WILD_ARMS_2ND_IGNITION_-_Dungeon_-_Chapel.mid", WA2, [MICHIKO_NARUKE], new Name("Dungeon - Chapel"), 4)
), (midiWA2Calm =
	new MIDI("WILD_ARMS_2ND_IGNITION_-_The_Calm_During_the_Storm.mid", WA2, [MICHIKO_NARUKE], new Name("Calm During the Storm", "The Calm During the Storm"), 5)
), (midiFF10AtZanarkand =
	new MIDI("Final_Fantasy_X_-_At_Zanarkand.mid", FF10, [NOBUO_UEMATSU], new Name("At Zanarkand"), 4)
), (midiCCZelbess =
	new MIDI("Chrono_Cross_-_Zelbess.mid", CCROSS, [YASUNORI_MITSUDA], new Name("Zelbess"), 3,
		TR(chat_dermot_left(QL + 'It'+APOS+'s really hard to do pitch wheel on percussion when all my percussion instruments use channel 10.\u00A0 I think there’s still much about General MIDI that I need to learn.' + QR, 4))
	)
), (midiRMD1KatteloxIsland =
	new MIDI("Rockman_Dash_-_Kattelox_Island.mid", RMDASH, [MAKOTO_TOMOZAWA], new Name("Kattelox Island"), 4)
), (midiWA2Town =
	new MIDI("WILD_ARMS_2ND_IGNITION_-_Town_to_the_Western_Winds.mid", WA2, [MICHIKO_NARUKE], new Name("Town to the Western Winds"), 4)
), (midiSGF2Thema =
	new MIDI("SaGa_Frontier_II_-_Thema.mid", SAGAF2, [MASASHI_HAMAUZU], new Name("Thema"), 4)
), (midiSGF2Festung =
	new MIDI("SaGa_Frontier_II_-_Festung.mid", SAGAF2, [MASASHI_HAMAUZU], new Name("Feſtung"), 2)
), (midiFF4Fight2 =
	new MIDI("Final_Fantasy_IV_-_Fight_2.mid", FF4, [NOBUO_UEMATSU], new Name("Fight 2"), 5)
), (midiFF5FinalBattle =
	new MIDI("Final_Fantasy_IV_-_The_Final_Battle.mid", FF4, [NOBUO_UEMATSU], new Name("Final Battle", "The Final Battle"), 5)
), (midiFF9OneDanger =
	new MIDI("Final_Fantasy_IX_-_One_Danger_Put_Behind_Us.mid", FF9, [NOBUO_UEMATSU], new Name("One Danger Put Behind Us"), 5)
), (midiCTForest =
	new MIDI("Chrono_Trigger_-_Secret_of_the_Forest.mid", CTRIG, [YASUNORI_MITSUDA], new Name("Secret of the Forest"), 5)
), (midiFF5Dawn =
	new MIDI("Final_Fantasy_V_-_Four_Warriors_of_Dawn.mid", FF5, [NOBUO_UEMATSU], new Name("Four Warriors of Dawn"), 5)
), (midiFF6WildWest =
	new MIDI("Final_Fantasy_VI_-_The_Wild_West.mid", FF6, [NOBUO_UEMATSU], new Name("Wild West", "The Wild West"), 5)
), (midiWaldstein =
	new MIDI("Ludwig_van_Beethoven_-_Sonate_Op._53_-_RONDO_-_Allegretto_moderato.mid", null, [BEETHOVEN], new Name("Sonate Op. 53 - RONDO - Allegretto moderato"), 4,
		TR(chat_dermot_left(QL + 'This is the most complex piano piece I'+APOS+'ve ever played on a real piano.' + QR, 4))
	)
), (midiRaindrop =
	new MIDI("Frederic_Chopin_-_Op._28_-_No._15_-_Raindrop_Prelude.mid", null, [CHOPIN], new Name("Op. 28 - No. 15 - Raindrop Prelude"), 4)
), (midiFF4Lute =
	new MIDI("Final_Fantasy_IV_-_Melody_of_the_Lute.mid", FF4, [NOBUO_UEMATSU], new Name("Melody of the Lute"), 4,
		TR(chat_dermot_left(QL + 'I was feeling sad when I sequenced this.' + QR, 4))
	)
), (midiCCAnotherWorld =
	new MIDI("Chrono_Cross_-_Another_World_on_the_Shore_of_Dreams.mid", CCROSS, [YASUNORI_MITSUDA], new Name("Another World on the Shore of Dreams"), 4,
		TR(
			chat_dermot_left(QL + 'This was a gift for <a href="http://kensukethecat.deviantart.com/">Kensuke</a>.' + QR, 2) +
			chat_kensuke_right(QL + 'Thanks, buddeh.' + QR, 2)
		) +
		TR(
			chat_dermot_left(QL + 'You'+APOS+'re welcome, <nobr>-Brak-.</nobr>' + QR, 2) +
			chat_kensuke_right(QL + '...' + QR, 2)
		) +
		TR(
			chat_dermot_left('<i>::chuckles::</i>', 4)
		)
	)
), (midiFlightIntoTheUnknown =
	new MIDI("Seiken_Densetsu_2_-_Flight_into_the_Unknown.mid", SD2, [HIROKI_KIKUTA], new Name("Flight into the Unknown"), 5)
), (midiInTheThickOfIt =
	new MIDI("Seiken_Densetsu_2_-_In_the_Thick_of_It.mid", SD2, [HIROKI_KIKUTA], new Name("In the Thick of It"), 4)
), (midiSD2Prophecy =
	new MIDI("Seiken_Densetsu_2_-_Prophecy.mid", SD2, [HIROKI_KIKUTA], new Name("Prophecy"), 4)
), (midiGrasslandsOfTime =
	new MIDI("Chrono_Cross_-_Grasslands_of_Time_-_Home_World.mid", CCROSS, [YASUNORI_MITSUDA], new Name("Grasslands of Time - Home World"), 4)
), (midiFF10TimeOfJudgment =
	new MIDI("Final_Fantasy_X_-_Time_of_Judgment.mid", FF10, [MASASHI_HAMAUZU], new Name("Time of Judgment"), 4)
), (midiSiberianSkies =
	new MIDI("Rockman_4_-_Siberian_Skies.mid", RM4, [BUN_BUN], new Name("Siberian Skies (Remix)"), 4)
), (midiRMFMuseum =
	new MIDI("Rockman_&_Forte_-_Museum.mid", RMF, [AKARI_KAIDA], new Name("Museum"), 5)
), (midiFF5BattleWithGilgamesh =
	new MIDI("Final_Fantasy_V_-_Battle_With_Gilgamesh.mid", FF5, [NOBUO_UEMATSU], new Name("Battle With Gilgamesh"), 4)
), (midiFF5HurryHurry =
	new MIDI("Final_Fantasy_V_-_Hurry!_Hurry!.mid", FF5, [NOBUO_UEMATSU], new Name("Hurry! Hurry!"), 4,
		TR(chat_dermot_left(QL + 'Even FFV'+APOS+'s crisis music is fluffy.' + QR, 4))
	)
), (midiFF3LegendOfTheEternalWind =
	new MIDI("Final_Fantasy_III_-_Legend_of_the_Eternal_Wind.mid", FF3, [NOBUO_UEMATSU], new Name("Legend of the Eternal Wind"), 5,
		TR(chat_dermot_left(QL + 'A long-time favorite.  Sometimes simple is elegant.' + QR, 4))
	)
), (midiFF3Gysahl =
	new MIDI("Final_Fantasy_III_-_Gysahl.mid", FF3, [NOBUO_UEMATSU], new Name("Gysahl"), 5)
), (midiActRaiserFillmore =
	new MIDI("ActRaiser_-_Fillmore.mid", ACTRAISER, [YUZO_KOSHIRO], new Name("Fillmore"), 5)
), (midiActRaiserBloodpool =
	new MIDI("ActRaiser_-_Bloodpool.mid", ACTRAISER, [YUZO_KOSHIRO], new Name("Bloodpool"), 5)
), (midiChronoTrigger =
	new MIDI("Chrono_Trigger.mid", CTRIG, [YASUNORI_MITSUDA], new Name("Chrono Trigger"), 5)
)

];

MIDI_UPDATED = 0;
var i;
for (i = 0; i < MIDIS.length; i++)
	if (MIDI_UPDATED < MIDIS[i].modified)
		MIDI_UPDATED = MIDIS[i].modified;



