foobar2000 Display Script 세트
18976 단어 foobar2000tech
INITIL KEY를 Beatport로 정규화
Eb 같은 것을 5d로 정규화하다.
$replace($replace($replace($replace($if(%INITIAL KEY%,%INITIAL KEY%,%INITIALKEY%),maj,M,min,m),1A,1d,1B,1m,2A,2d,2B,2m,3A,3d,3B,3m,4A,4d,4B,4m,5A,5d,5B,5m,6A,6d,6B,6m,7A,7d,7B,7m,8A,8d,8B,8m,9A,9d,9B,9m,10A,10d,10B,10m,11A,11d,11B,11m,12A,12d,12B,12m),BM,1d,Abm,1m,G#m,1m,F#M,2d,GbM,2d,Ebm,2m,D#m,2m,DbM,3d,C#M,3d,Bbm,3m,A#m,3m,AbM,4d,G#M,4d,Fm,4m,EbM,5d,D#M,5d,Cm,5m,BbM,6d,A#M,6d,Gm,6m,FM,7d,Dm,7m,CM,8d,Am,8m,GM,9d,Em,9m,DM,10d,Bm,10m,AM,11d,F#m,11m,Gbm,11m,EM,12d,Dbm,12m,C#m,12m),F#,2d,Gb,2d,Db,3d,C#,3d,Ab,4d,G#,4d,Eb,5d,D#,5d,Bb,6d,A#,6d,D,10d,A,11d,E,12d,B,1d,F,7d,C,8d,G,9d)
스크립트 생성 여기 있습니다.const keymap = [
'B',
'F#',
'Db',
'Ab',
'Eb',
'Bb',
'F',
'C',
'G',
'D',
'A',
'E',
];
const getNextChar = (character, index = 1) => {
if (character === 'A' && index === -1) {
return 'G';
}
if (character === 'G' && index === 1) {
return 'A';
}
return String.fromCharCode(character.charCodeAt(0) + index);
};
const keys = keymap.map((v) => {
const keylist = [v];
if (v.length !== 1) {
if (v[1] === '#') {
keylist.push(`${getNextChar(v[0])}b`);
} else {
keylist.push(`${getNextChar(v[0], -1)}#`);
}
}
return keylist;
});
const majminKeys = keys.map((v, i, l) => [v, l[(i + 3) % l.length]]);
const replacelist = majminKeys
.map((v, i) => {
const [key, minor] = v;
const a = [
...key.map((v) => {
return `${v}M,${i + 1}d`;
}),
...minor.map((v) => {
return `${v}m,${i + 1}m`;
}),
];
return a.join(',');
})
.join(',');
const replacelist2 = majminKeys
.flatMap((v, i) => {
const [key] = v;
return key.map((v) => {
return `${v},${i + 1}d`;
});
})
.sort((a, b) => b.length - a.length)
.join(',');
const numtodm = majminKeys
.map((_, i) => {
return `${i + 1}A,${i + 1}d,${i + 1}B,${i + 1}m`;
})
.join(',');
console.log(
`$replace($replace($replace($replace($if(%INITIAL KEY%,%INITIAL KEY%,%INITIALKEY%),maj,M,min,m),${numtodm}),${replacelist}),${replacelist2})`
);
별에 Rating 표시
$repeat(★,$meta(rating))$repeat(☆,$sub(5,$meta(rating)))
Reference
이 문제에 관하여(foobar2000 Display Script 세트), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://zenn.dev/hibikine/articles/187ccdb4fb7808텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)