void printLocation(HumdrumFile& infile, int line, int measure) { RationalNumber rat; int startQ = 0; if (fileQ) { if (startQ && spaceQ) { cout << ' '; } startQ++; if (quotesQ) { if (labelQ) { cout << '"'; } } cout << infile.getFilename(); if (quotesQ) { if (labelQ) { cout << '"'; } } } if (lineQ) { if (startQ && spaceQ) { cout << ' '; } startQ++; if (labelQ) { cout << 'L'; } cout << line + 1; if (labelQ && doubleQ) { cout << 'L'; } } if (measureQ) { if (startQ && spaceQ) { cout << ' '; } startQ++; if (labelQ) { cout << 'M'; } cout << measure; if (labelQ && doubleQ) { cout << 'M'; } } if (beatQ) { if (startQ && spaceQ) { cout << ' '; } startQ++; if (labelQ) { cout << 'B'; } if (rationalQ) { rat = infile[line].getBeatR(); rat *= absFactor; rat.printTwoPart(cout); } else { cout << infile[line].getBeat(); } if (labelQ && doubleQ) { cout << 'B'; } } if (absQ) { if (startQ && spaceQ) { cout << ' '; } startQ++; if (labelQ) { cout << absChar; } if (rationalQ) { rat = infile[line].getAbsBeatR(); rat *= absFactor; rat.printTwoPart(cout); } else { cout << infile[line].getAbsBeat() * absFactor.getFloat(); } if (labelQ && doubleQ) { cout << absChar; } } }
void printMeasureData(Array<int>& analysis, HumdrumFile& infile, int line) { int i; PerlRegularExpression pre; RationalNumber startdur; RationalNumber enddur; if (mdurQ) { startdur = infile[line].getAbsBeatR(); enddur = infile[infile.getNumLines()-1].getAbsBeatR(); } int sum = 0; for (i=line; i<infile.getNumLines(); i++) { if (infile[i].isMeasure()) { if (pre.search(infile[i][0], "\\d")) { if (mdurQ) { enddur = infile[i].getAbsBeatR(); } break; } } if (!infile[i].isData()) { continue; } if (nograceQ && (infile[i].getDuration() == 0)) { continue; } sum += analysis[i]; } if (mdurQ) { RationalNumber duration; duration = enddur - startdur; duration.printTwoPart(cout); cout << ":"; } cout << sum; }
void MuseRecordBasic::appendRational(RationalNumber& value) { SSTREAM tout; value.printTwoPart(tout); tout << ends; insertString(getLength()+1, tout.CSTRING); }