// // Programmer: Craig Stuart Sapp // Creation Date: Fri Dec 8 00:10:56 PST 2006 // Last Modified: Fri Dec 8 00:10:59 PST 2006 // Filename: ...sig/examples/all/mazurkascript.cpp // Web Address: http://sig.sapp.org/examples/museinfo/humdrum/mazurkascript.cpp // Syntax: C++; museinfo // // Description: For displaying regions of mazurka script in a performance. // #include "humdrum.h" #include "PixelColor.h" #include #include // function declarations: void checkOptions (Options& opts, int argc, char** argv); void example (void); void usage (const char* command); void getData (HumdrumFile& infile, Array >& data); void printData (Array >& data); void doAnalysis (Array& analysis, Array >& data, int k); void makePixel (PixelColor& pixel, double value); void printImage (Array >& data); // User interface variables: Options options; int pickup = 0; int spacer = 3; int blocksize = 5; double width = 5.0; int bwq = 0; int threeq = 0; int moreq = 0; int fastq = 0; int slowq = 0; int startmeasure = 1; ////////////////////////////////////////////////////////////////////////// int main(int argc, char** argv) { HumdrumFile hfile; checkOptions(options, argc, argv); // process the command-line options // figure out the number of input files to process int numinputs = options.getArgCount(); Array > data; Array > analysis; data.setSize(1000); data.setSize(0); int k; for (int i=0; i >& data) { Array > image; int performances = data.getSize(); int measures = data[0].getSize(); int rows = performances * blocksize + (performances - 1) * spacer; int columns = measures * blocksize; int i; int j; int k = 0; int m; int base; int startk; int startm; //cout<<"THERE ARE "<< performances <<" PERFORMANCES TO COMAPRE" <& analysis, Array >& data, int k) { int i; double value; double value3; analysis.setSize(0); for (i=pickup; i fabs(value)) { value = value3; } } else if (threeq) { value = value3; } else if (fastq) { if (data[i+2][k] > data[i+1][k]) { value = value3; } } else if (slowq) { if (data[i+2][k] < data[i+1][k]) { value = value3; } } analysis.append(value); } } ////////////////////////////// // // printData -- // void printData(Array >& data) { int i; int j; for (i=0; i >& data) { int i; int j; int p; double value; data.setSize(0); for (i=0; i width/100) { pixel.setRed(180); pixel.setGreen(180); pixel.setBlue(180); } else { pixel.setRed(255); pixel.setGreen(255); pixel.setBlue(255); } return; } value = (MZSIG(value, width) - 0.5) * 2.0; if (value < 0.0) { value = -value; } int pval = (int)(value * 256 + 0.5); if (pval > 255) { pval = 255; } if (pval < 0) { pval = 0; } if (typeer == 0) { pixel.setRed(255); pixel.setGreen(255 - pval); pixel.setBlue(255 - pval); } else if (typeer == 1) { pixel.setRed(255 - pval); pixel.setGreen(255 - pval); pixel.setBlue(255); } else { pixel.setRed(0); pixel.setGreen(0); pixel.setBlue(0); } } ////////////////////////////// // // example -- // void example(void) { } ////////////////////////////// // // usage -- // void usage(const char* command) { } // md5sum: 6116ed0bbc7d6418faf59ce8199d8bd5 mazurkascript.cpp [20160320]