// // Programmer: Craig Stuart Sapp // Creation Date: Tue Sep 2 00:01:11 PDT 2014 // Last Modified: Tue Sep 2 00:01:14 PDT 2014 // Filename: ...sig/examples/all/partinfo.cpp // Web Address: http://sig.sapp.org/examples/museinfo/humdrum/partinfo.cpp // Syntax: C++; museinfo // // Description: List part names and abbreviations. // #include "humdrum.h" // function declarations void checkOptions (Options& opts, int argc, char* argv[]); void example (void); void usage (const char* command); void processFile (HumdrumFile& infile); // global variables Options options; // database for command-line arguments /////////////////////////////////////////////////////////////////////////// int main(int argc, char* argv[]) { HumdrumFileSet infiles; checkOptions(options, argc, argv); infiles.read(options); string filename; // for now only deal with a single segment: processFile(infiles[0]); return 0; } /////////////////////////////////////////////////////////////////////////// ////////////////////////////// // // processFile -- // void processFile(HumdrumFile& infile) { int i, j; int pindex; int hastext = 0; vector ktracks; infile.getTracksByExInterp(ktracks, "**kern"); int partcount = ktracks.size(); vector rktracks; rktracks.resize(infile.getMaxTracks() + 1); fill(rktracks.begin(), rktracks.end(), -1); for (i=0; i<(int)ktracks.size(); i++) { rktracks[ktracks[i]] = i; } char buffer[1024] = {0}; vector partname(partcount); vector partabbr(partcount); for (i=0; i