bool canHammerOnOrPullOff(const Voice &voice, int position, const Note ¬e) { const Note *nextNote = getNextNote(voice, position, note.getString()); return nextNote && nextNote->getFretNumber() != note.getFretNumber(); }
bool canTieNote(const Voice &voice, int position, const Note ¬e) { const Note *prevNote = getPreviousNote(voice, position, note.getString()); return prevNote && prevNote->getFretNumber() == note.getFretNumber(); }