summaryrefslogtreecommitdiff
path: root/src/mus2mid.c
diff options
context:
space:
mode:
authorSimon Howard2012-12-23 18:25:29 +0000
committerSimon Howard2012-12-23 18:25:29 +0000
commitea5b5f171623740a74f1b2bef80527c044373502 (patch)
tree93c3a1638aed54c39f9494a88c0138ce77116e3b /src/mus2mid.c
parent9a8cf12227923e3b2b83625d5b91af2f58cd856b (diff)
downloadchocolate-doom-ea5b5f171623740a74f1b2bef80527c044373502.tar.gz
chocolate-doom-ea5b5f171623740a74f1b2bef80527c044373502.tar.bz2
chocolate-doom-ea5b5f171623740a74f1b2bef80527c044373502.zip
Add standalone build target for mus2mid binary.
Subversion-branch: /branches/v2-branch Subversion-revision: 2551
Diffstat (limited to 'src/mus2mid.c')
-rw-r--r--src/mus2mid.c43
1 files changed, 43 insertions, 0 deletions
diff --git a/src/mus2mid.c b/src/mus2mid.c
index 88d24c97..739037e1 100644
--- a/src/mus2mid.c
+++ b/src/mus2mid.c
@@ -691,3 +691,46 @@ boolean mus2mid(MEMFILE *musinput, MEMFILE *midioutput)
return false;
}
+#ifdef STANDALONE
+
+#include "m_misc.h"
+#include "z_zone.h"
+
+int main(int argc, char *argv[])
+{
+ MEMFILE *src, *dst;
+ byte *infile;
+ long infile_len;
+ void *outfile;
+ size_t outfile_len;
+
+ if (argc != 3)
+ {
+ printf("Usage: %s <musfile> <midfile>\n", argv[0]);
+ exit(-1);
+ }
+
+ Z_Init();
+
+ infile_len = M_ReadFile(argv[1], &infile);
+
+ src = mem_fopen_read(infile, infile_len);
+ dst = mem_fopen_write();
+
+ if (mus2mid(src, dst))
+ {
+ fprintf(stderr, "mus2mid() failed\n");
+ exit(-1);
+ }
+
+ // Write result to output file:
+
+ mem_get_buf(dst, &outfile, &outfile_len);
+
+ M_WriteFile(argv[2], outfile, outfile_len);
+
+ return 0;
+}
+
+#endif
+