Closed rualark closed 5 years ago
Currently in GetMinimumMsh sus is always marked non-chord tone if it has space for resolution:
if (sus[v][ls]) {
// Mark sus start
msh[v][s] = pSusStart;
// If sus has space for resolution, mark it non-chord
if (fli2[v][ls] < mea_end) {
msh[v][sus[v][ls]] = pAux;
}
// If sus does not have space for resolution, mark it as chord tone
else {
msh[v][sus[v][ls]] = pSusHarm;
}
}
This means that a leap from sus will not make it harmonic if it has space for resolution.
Actually, all that is needed to enable leaps is just to increase allowed leaps before and after ornament:
From:
1;296;;;50;Harmony;Suspension;Suspension resolution ornament;leap to resolution;0;;Leap from resolution ornament to resolution is longer than M3;12;;1;;;Sus.;0;0;1;;;;;; 1;295;;;50;Harmony;Suspension;Suspension resolution ornament;leap from sus;0;;Leap from suspension to resolution ornament is longer than M3;12;;1;;;Sus.;0;0;1;;;;;;
To:
1;296;;;50;Harmony;Suspension;Suspension resolution ornament;leap to resolution;0;;Leap from resolution ornament to resolution is longer than 8ve;12;;1;;;Sus.;0;0;1;;;;;; 1;295;;;50;Harmony;Suspension;Suspension resolution ornament;leap from sus;0;;Leap from suspension to resolution ornament is longer than 8ve;12;;1;;;Sus.;0;0;1;;;;;;
У Галлона также есть правило, разрешающее аккордовый тон со скачком между задержанием и задерживаемой нотой. Я пока его удалил, т.к. мы это запрещаем. Если можно, нужно разрешить скачок на аккордовую ноту. Длина скачка больше октавы уже запрещена.