Location: PHPKode > scripts > MIDI Class > convert.php
<?php
if (isset($_GET['download'])){
	$file = $_GET['download'];
	$filename  = 'output.mid';
	require('midi.class.php');
	$midi = new Midi();
	$midi->downloadMidFile($file,$filename);
}
$file=(isset($_FILES['mid_upload'])&&$_FILES['mid_upload']['tmp_name']!='')?$_FILES['mid_upload']['tmp_name']:'';//(isset($p['file'])?$p['file']:'');
?>
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
<title>CONVERSION</title>
<style>
body {font-family:arial;font-size:11px;margin:5px;}
input {font-family:arial;font-size:11px}
td {font-family:arial;font-size:11px}
</style>
</head>
<body>

<form enctype="multipart/form-data" action="convert.php" method="POST" onsubmit="if (this.mid_upload.value==''){alert('Please choose a mid-file to upload!');return false}">
<input type="hidden" name="MAX_FILE_SIZE" value="1048576"><!-- 1 MB -->
MIDI file (*.mid) to upload: <input type="file" name="mid_upload">
<br>
<input type="submit" value=" send ">
</form>
<?php


if ($file!=''){
	require('midi.class.php');
	$midi = new Midi();
	$midi->importMid($file);
	
	// SHOW OLD TYPE
	echo 'Old Midi-Type: '.$midi->type."<br>\n";	
	
	//CONVERT TO TYPE 0
	function cmp ($a, $b) {
		$ta = (int) strtok($a,' ');
		$tb = (int) strtok($b,' ');
    if ($ta == $tb) return 0;
    return ($ta < $tb) ? -1 : 1;
	}

	$newTrack=array();
	foreach ($midi->tracks as $track) {
		array_pop ($track);
		$newTrack=array_merge($newTrack,$track);
	}
	
	usort ($newTrack, "cmp");
	
	$endTime = strtok($newTrack[count($newTrack)-1], " ");
	$newTrack[]="$endTime Meta TrkEnd";
	
	$tb = $midi->getTimebase();

	$midi_new = new Midi();
	$txt = "MFile 0 1 $tb\nMTrk\n".implode("\n",$newTrack)."\nTrkEnd";
	$midi_new->importTxt($txt);

	// SHOW NEW TYPE
	echo 'New Midi-Type: '.$midi_new->type."<br>\n";	
	
	$save_dir = 'tmp/';
	srand((double)microtime()*1000000);
	$file = $save_dir.rand().'.mid';
	$midi_new->saveMidFile($file);
	$midi_new->playMidFile($file,1,1,0); //optional: 'wm','qt','bk'
	
?>
	<br><br><input type="button" name="download" value="Save converted SMF (*.mid)" onClick="self.location.href='convert.php?download=<?php echo urlencode($file)?>'">
<?php
}
?>
</body>
</html>
Return current item: MIDI Class