aboutsummaryrefslogtreecommitdiff
path: root/utils/xmi2mid/xmi2mid.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'utils/xmi2mid/xmi2mid.cpp')
-rw-r--r--utils/xmi2mid/xmi2mid.cpp14
1 files changed, 11 insertions, 3 deletions
diff --git a/utils/xmi2mid/xmi2mid.cpp b/utils/xmi2mid/xmi2mid.cpp
index 65d5858..9442a5e 100644
--- a/utils/xmi2mid/xmi2mid.cpp
+++ b/utils/xmi2mid/xmi2mid.cpp
@@ -12,14 +12,21 @@
int main(int argc, char *argv[])
{
- if(argc != 2)
+ int songNumber = 0;
+
+ (void)Convert_xmi2midi_multi; /* Shut up the warning */
+
+ if(argc != 2 && argc != 3)
{
- fprintf(stderr, "Usage: xmi2mid <midi-file>\n");
+ fprintf(stderr, "Usage: xmi2mid <midi-file> [song-number 0...N-1]\n");
return 1;
}
const char *filename = argv[1];
+ if(argc > 2)
+ songNumber = atoi(argv[2]);
+
FILE *fh = fopen(filename, "rb");
if(!fh)
{
@@ -50,7 +57,8 @@ int main(int argc, char *argv[])
uint8_t *xmidata = NULL;
uint32_t xmisize = 0;
- if(Convert_xmi2midi(filedata, insize, &xmidata, &xmisize, XMIDI_CONVERT_NOCONVERSION) < 0)
+
+ if(Convert_xmi2midi(filedata, insize, &xmidata, &xmisize, XMIDI_CONVERT_NOCONVERSION, songNumber) < 0)
{
fprintf(stderr, "Error converting XMI to SMF.\n");
return 1;