「VexFlow test content」の版間の差分
(→概要) |
編集の要約なし |
||
13行目: | 13行目: | ||
(function(){ | (function(){ | ||
var UniqueIds; | var UniqueIds; | ||
var SteveNoteUniqueIds; | |||
let nscale = 0.68 | let nscale = 0.68 | ||
let nwidth = 1040; | let nwidth = 1040; | ||
84行目: | 85行目: | ||
new VF.StaveNote({ keys: ["g/5"], duration: "8" }), | new VF.StaveNote({ keys: ["g/5"], duration: "8" }), | ||
]; | ]; | ||
function getUniqueStaveNotesIds(notes, arr = []) { | |||
//すべてのidを格納するためのセットを作成 | |||
let tempnote; | |||
uniqueIds = new Set(); | |||
for(let i = 0; i < arr.length || i == 0; i++){ | |||
//notesのchildrenの各要素について処理 | |||
if(arr.length === 0){ | |||
tempnote = notes; | |||
} | |||
else{ | |||
tempnote = notes[arr[i]]; | |||
} | |||
tempnote.attrs.forEach(attrs => { | |||
//typeが"notehead"であるかチェックし、idを取得 | |||
if (attrs){ | |||
if(attrs.type === "SteaveNote") { | |||
uniqueIds.add(attrs.id); | |||
} | |||
} | |||
}); | |||
} | |||
// セットを配列に変換して戻り値として返す | |||
return Array.from(uniqueIds); | |||
} | |||
function getUniqueNoteheadIds(notes) { | function getUniqueNoteheadIds(notes) { | ||
118行目: | 144行目: | ||
return allUniqueIds; | return allUniqueIds; | ||
} | } | ||
SteveNoteUniqueIds = getUniqueStaveNotesIds(notes1, [0, 1, 2, 3, 4, 5, 6, 7]); | |||
UniqueIds = getUniqueNoteheadIds(notes1[0]); | UniqueIds = getUniqueNoteheadIds(notes1[0]); | ||
allUniqueIds = updateAllUniqueIds(UniqueIds); | allUniqueIds = updateAllUniqueIds(UniqueIds); |
2024年4月5日 (金) 00:16時点における版
概要