add common chord symbol aliases

This commit is contained in:
Felix Roos 2023-07-23 22:05:42 +02:00
parent 52b8d9d361
commit 9b3fa83516

View File

@ -208,7 +208,28 @@ export const voicing = register('voicing', function (pat) {
.outerJoin();
});
const withEmptyAsMajor = (set) => ({ ...set, '': set['^'] });
export function voicingAlias(symbol, alias, setOrSets) {
setOrSets = !Array.isArray(setOrSets) ? [setOrSets] : setOrSets;
setOrSets.forEach((set) => {
set[alias] = set[symbol];
});
}
registerVoicings('ireal', withEmptyAsMajor(simple));
registerVoicings('ireal-ext', withEmptyAsMajor(complex));
// no symbol = major chord
voicingAlias('^', '', [simple, complex]);
Object.keys(simple).forEach((symbol) => {
// add aliases for "-" === "m"
if (symbol.includes('-')) {
let alias = symbol.replace('-', 'm');
voicingAlias(symbol, alias, [complex, simple]);
}
// add aliases for "^" === "M"
if (symbol.includes('^')) {
let alias = symbol.replace('^', 'M');
voicingAlias(symbol, alias, [complex, simple]);
}
});
registerVoicings('ireal', simple);
registerVoicings('ireal-ext', complex);