本文整理汇总了C++中NoteData::clear方法的典型用法代码示例。如果您正苦于以下问题:C++ NoteData::clear方法的具体用法?C++ NoteData::clear怎么用?C++ NoteData::clear使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类NoteData
的用法示例。
在下文中一共展示了NoteData::clear方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: getNoteList
//.........这里部分代码省略.........
degree = major[song[i].c[j] - '0'];
state = STATE_NOTE;
break;
case 'O':
degree = major[0];
state = STATE_NOTE;
break;
// Barline information:
case ' ':
state = STATE_BAR;
if (song[i].c[j+1] == ' ') {
bar = 1;
}
break;
// Other information:
case '{': slstart = 1; state = STATE_SLSTART; break;
case '}': slend = 1; state = STATE_SLEND; break;
// case '(': tuplet = 1; break;
// case ')': tuplet = 0; break;
case '/': break;
case ']': break;
// case '>': break; // unknown marker
// case '<': break; //
case '^': tie = 1; state = STATE_NOTE; break;
default : cout << "Error: unknown character " << song[i].c[j]
<< " on the line: " << song[i].c << endl;
exit(1);
}
j++;
switch (song[i].c[j]) {
case '-': case '+': nextstate = STATE_OCTAVE; break;
case 'O':
case '0': case '1': case '2': case '3': case '4':
case '5': case '6': case '7': nextstate = STATE_NOTE; break;
case 'b': case '#': nextstate = STATE_ACC; break;
case '_': case '.': nextstate = STATE_DUR; break;
case '{': nextstate = STATE_SLSTART; break;
case '}': nextstate = STATE_SLEND; break;
case '^': nextstate = STATE_NOTE; break;
case ' ':
if (song[i].c[j+1] == ' ') nextstate = STATE_BAR;
else if (song[i].c[j+1] == '/') nextstate = -2;
break;
case '\0':
phend = 1;
default: nextstate = -1;
}
if (nextstate < state ||
((nextstate == STATE_NOTE) && (state == nextstate))) {
tempnote.clear();
if (degree < 0) { // rest
tempnote.pitch = -999;
} else {
tempnote.pitch = degree + 40*(octave + 4) + accidental + tonic;
}
if (tie) {
tempnote.pitch = songdata[(int)songdata.size()-1].pitch;
if (songdata[(int)songdata.size()-1].tieend) {
songdata[(int)songdata.size()-1].tiecont = 1;
songdata[(int)songdata.size()-1].tieend = 0;
} else {
songdata[(int)songdata.size()-1].tiestart = 1;
}
tempnote.tieend = 1;
}
tempnote.duration = duration;
tempnote.phend = phend;
tempnote.bar = bar;
tempnote.phstart = phstart;
tempnote.slstart = slstart;
tempnote.slend = slend;
if (nextstate == -2) {
tempnote.bar = 2;
tempnote.phend = 1;
}
tempnote.phnum = phnum;
songdata.push_back(tempnote);
duration = mindur;
degree = 0;
bar = 0;
tie = 0;
phend = 0;
phstart = 0;
slend = 0;
slstart = 0;
octave = 0;
accidental = 0;
if (nextstate == -2) {
return;
}
}
}
phnum++;
}
}