XM File --> String Concerter
-
Hallo zusammen,
ich haben hier ein XM File (Sounddatei).
Diese möchte ich direkt in mein Programm mit eincompilieren als String bzw. eindimensionales Array.Dazu suche ich einen passenden Converter. Gibt es sowas fertig oder muss ich mir sowas selber was basteln? die Datei ist 52kB.
-
-
Hi,
habe ich schon probiert, allerdings habe ich Probleme damit und wollte deswegen mal ein Stringarray testen.
-
TeddyT schrieb:
allerdings habe ich Probleme damit
Dann versuche doch, deine Probleme zu lösen, anstatt einen völlig inadäquaten Workaround anzustreben.
-
hab es leider nicht hinbekommen und habe mir selber ein Script in PHP geschrieben. Funktioniert jetzt wunderbar.
$FileRawData = "Input.xm"; $ConverterFileName = "Output.h"; // Open and read raw data file $fHandleRaw = fopen ($FileRawData, "r"); $RawData = fread ($fHandleRaw, filesize($FileRawData)); fclose( $fHandleRaw ); // Create output file $fHandleConverter = fopen ($ConverterFileName, "w++"); $strWrite = "unsigned char ucSongData[] = {\r\n"; fwrite( $fHandleConverter, $strWrite, strlen($strWrite) ); $LineCounter = 0; for( $Loop=0; $Loop<strlen($RawData); $Loop++ ) { if($LineCounter == 16 ) { $LineFeed = "\r\n"; fwrite( $fHandleConverter, $LineFeed, strlen($LineFeed) ); $LineCounter = 0; } if( $Loop == strlen($RawData)-1 ) $strWrite = "0x".ascii2hex($RawData[$Loop]); else $strWrite = "0x".ascii2hex($RawData[$Loop]).","; fwrite( $fHandleConverter, $strWrite, strlen($strWrite) ); $LineCounter++; } $strWrite = "\r\n}"; fwrite( $fHandleConverter, $strWrite, strlen($strWrite) ); fclose( $fHandleConverter ); function ascii2hex( $ascii ) { $hex = ''; for ( $i = 0; $i < strlen($ascii); $i++ ) { $byte = strtoupper( dechex(ord($ascii{$i})) ); $byte = str_repeat( '0', 2 - strlen($byte) ).$byte; $hex .= $byte; } return $hex; }
-
TeddyT schrieb:
hab es leider nicht hinbekommen
Herzlichen Glückwunsch.