// // Programmer: Craig Stuart Sapp <craig@ccrma.stanford.edu> // Creation Date: Mon Feb 25 18:06:08 PST 2002 // Last Modified: Mon Feb 25 18:06:11 PST 2002 // Filename: ...sig/examples/all/pmx2mus2.cpp // Web Address: http://sig.sapp.org/examples/museinfo/score/pmx2mus2.cpp // Syntax: C++; museinfo // // Description: Convert SCORE PMX file into binary format. // #include "ScorePage.h" #include "Options.h" #include <string.h> #include <stdlib.h> // interface variables: Options options; int verboseQ = 0; // used with the -v option const char* outputfilename = ""; // used with the -o option ////////////////////////////////////////////////////////////////////////// int main(int argc, char** argv) { options.define("verbose=b", "display debugging information in output"); options.define("v|version|ver=d:3.0", "for 2 or 4 byte counter"); options.define("o|output=s:", "output filename if specified"); options.process(argc, argv); verboseQ = options.getBoolean("verbose"); outputfilename = options.getString("output"); char namebuffer[1024] = {0}; if (options.getArgCount() == 0) { cout << "Usage: " << argv[0] << " input.mus " << endl; exit(1); } ScorePage scorepage; for (int i=1; i<=options.getArgCount(); i++) { scorepage.readAscii(options.getArg(i)); scorepage.setVersion(options.getDouble("version")); if (strcmp(outputfilename, "") != 0) { strcpy(namebuffer, outputfilename); } else { strcpy(namebuffer, options.getArg(i)); char* ptr = strrchr(namebuffer, '.'); if (ptr != NULL) { ptr[0] = '\0'; strcat(namebuffer, ".mus"); } else { strcat(namebuffer, ".mus"); } } scorepage.writeBinary(namebuffer); } return 0; } // md5sum: 1e3829ca309118291de36706b4400e82 pmx2mus2.cpp [20090406]