「VexFlow タブ譜 ミュート」の版間の差分
(同じ利用者による、間の11版が非表示) | |||
515行目: | 515行目: | ||
Guitar1_St1.addKeySignature('D').setContext(ctx); | Guitar1_St1.addKeySignature('D').setContext(ctx); | ||
Guitar1_St1.draw(); | Guitar1_St1.draw(); | ||
const Guitar1_St1_notes_1 = [ | |||
new VF.StaveNote({ keys: ["b/4"], duration: "2r" }), | |||
new VF.StaveNote({ keys: ["b/4"], duration: "4r" }), | |||
new VF.StaveNote({ keys: ["b/4"], duration: "8r" }), | |||
new VF.StaveNote({ keys: ["c/5"], duration: "16", stem_direction: -1 }), | |||
new VF.StaveNote({ keys: ["c/5"], duration: "16", stem_direction: -1 }), | |||
]; | |||
const Guitar1_St1_notes_2 = [ | |||
new VF.GhostNote({ keys: ["f/4"], duration: "16"}), | |||
new VF.GhostNote({ keys: ["f/4"], duration: "16"}), | |||
new VF.GhostNote({ keys: ["f/4"], duration: "16"}), | |||
new VF.GhostNote({ keys: ["f/4"], duration: "16"}), | |||
new VF.GhostNote({ keys: ["f/4"], duration: "16"}), | |||
new VF.GhostNote({ keys: ["f/4"], duration: "16"}), | |||
new VF.GhostNote({ keys: ["f/4"], duration: "16"}), | |||
new VF.GhostNote({ keys: ["f/4"], duration: "16"}), | |||
new VF.GhostNote({ keys: ["f/4"], duration: "16"}), | |||
new VF.GhostNote({ keys: ["f/4"], duration: "16"}), | |||
new VF.GhostNote({ keys: ["f/4"], duration: "16"}), | |||
new VF.GhostNote({ keys: ["f/4"], duration: "16"}), | |||
new VF.GhostNote({ keys: ["f/4"], duration: "16"}), | |||
new VF.GhostNote({ keys: ["f/4"], duration: "16"}), | |||
new VF.GhostNote({ keys: ["f/4"], duration: "16"}), | |||
new VF.GhostNote({ keys: ["f/4"], duration: "16"}), | |||
]; | |||
UniqueIds = getUniqueNoteheadIds(Guitar1_St1_notes_1, [3, 4]); | |||
allUniqueIds = updateAllUniqueIds(UniqueIds); | |||
const Guitar1_St1_beam_1 = new VF.Beam([Guitar1_St1_notes_1[3], Guitar1_St1_notes_1[4]]); | |||
var Guitar1_St1_Voice_1 = new VF.Voice({ num_beats: 4, beat_value: 4 }); | |||
Guitar1_St1_Voice_1.setStrict(true); | |||
Guitar1_St1_Voice_1.addTickables(Guitar1_St1_notes_1); | |||
var Guitar1_St1_Voice_2 = new VF.Voice({ num_beats: 4, beat_value: 4 }); | |||
Guitar1_St1_Voice_2.setStrict(true); | |||
Guitar1_St1_Voice_2.addTickables(Guitar1_St1_notes_2); | |||
var formatterGuitar1_St1 = new VF.Formatter().joinVoices([Guitar1_St1_Voice_1, Guitar1_St1_Voice_2]); | |||
formatterGuitar1_St1.format([Guitar1_St1_Voice_1, Guitar1_St1_Voice_2], nStaveWidth - 40 - 10); | |||
Guitar1_St1_Voice_1.draw(ctx, Guitar1_St1); | |||
Guitar1_St1_Voice_2.draw(ctx, Guitar1_St1); | |||
Guitar1_St1_beam_1.setContext(ctx).draw(); | |||
shiftGuitar1_1st= addShift( | |||
Guitar1_St1_notes_1, | |||
[ 3, 4, 3], | |||
[1.8, 1.8, -1] | |||
); | |||
const Guitar1_St2 = new VF.Stave(Guitar1_St1.width + Guitar1_St1.x, Guitar1_St1.y, nStaveWidth).setContext(ctx); | const Guitar1_St2 = new VF.Stave(Guitar1_St1.width + Guitar1_St1.x, Guitar1_St1.y, nStaveWidth).setContext(ctx); | ||
548行目: | 607行目: | ||
Guitar1tab_1st.x = Guitar1_Tab_St1_1.x | Guitar1tab_1st.x = Guitar1_Tab_St1_1.x | ||
Guitar1tab_1st.y = Guitar1_Tab_St1_1.y | Guitar1tab_1st.y = Guitar1_Tab_St1_1.y | ||
const Guitar1_Tab_St1_notes_1 = [ | |||
new VF.StaveNote({ keys: ["f/5"], duration: "2r" }), | |||
new VF.StaveNote({ keys: ["c/5"], duration: "4r" }), | |||
new VF.StaveNote({ keys: ["c/5"], duration: "8r" }), | |||
new VF.StaveNote({ keys: ["e/5"], duration: "16", stem_direction: -1 }), | |||
new VF.StaveNote({ keys: ["e/5"], duration: "16", stem_direction: -1 }), | |||
]; | |||
const Guitar1_Tab_St1_notes_2 = [ | |||
new VF.GhostNote({ keys: ["f/4"], duration: "16"}), | |||
new VF.GhostNote({ keys: ["f/4"], duration: "16"}), | |||
new VF.GhostNote({ keys: ["f/4"], duration: "16"}), | |||
new VF.GhostNote({ keys: ["f/4"], duration: "16"}), | |||
new VF.GhostNote({ keys: ["f/4"], duration: "16"}), | |||
new VF.GhostNote({ keys: ["f/4"], duration: "16"}), | |||
new VF.GhostNote({ keys: ["f/4"], duration: "16"}), | |||
new VF.GhostNote({ keys: ["f/4"], duration: "16"}), | |||
new VF.GhostNote({ keys: ["f/4"], duration: "16"}), | |||
new VF.GhostNote({ keys: ["f/4"], duration: "16"}), | |||
new VF.GhostNote({ keys: ["f/4"], duration: "16"}), | |||
new VF.GhostNote({ keys: ["f/4"], duration: "16"}), | |||
new VF.GhostNote({ keys: ["f/4"], duration: "16"}), | |||
new VF.GhostNote({ keys: ["f/4"], duration: "16"}), | |||
new VF.GhostNote({ keys: ["f/4"], duration: "16"}), | |||
new VF.GhostNote({ keys: ["f/4"], duration: "16"}), | |||
]; | |||
UniqueIds = getUniqueNoteheadIds(Guitar1_Tab_St1_notes_1, [3, 4]); | |||
allUniqueIds = updateAllUniqueIds(UniqueIds); | |||
const Guitar1_Tab_St1_beam_1 = new VF.Beam([Guitar1_Tab_St1_notes_1[3], Guitar1_Tab_St1_notes_1[4]]); | |||
var Guitar1_Tab_St1_Voice_1 = new VF.Voice({ num_beats: 4, beat_value: 4 }); | |||
Guitar1_Tab_St1_Voice_1.setStrict(true); | |||
Guitar1_Tab_St1_Voice_1.addTickables(Guitar1_Tab_St1_notes_1); | |||
var Guitar1_Tab_St1_Voice_2 = new VF.Voice({ num_beats: 4, beat_value: 4 }); | |||
Guitar1_Tab_St1_Voice_2.setStrict(true); | |||
Guitar1_Tab_St1_Voice_2.addTickables(Guitar1_Tab_St1_notes_2); | |||
var formatterGuitar1_Tab_St1 = new VF.Formatter().joinVoices([Guitar1_Tab_St1_Voice_1, Guitar1_Tab_St1_Voice_2]); | |||
formatterGuitar1_Tab_St1.format([Guitar1_Tab_St1_Voice_1, Guitar1_Tab_St1_Voice_2], nStaveWidth - 40 - 10); | |||
Guitar1_Tab_St1_Voice_1.draw(ctx, Guitar1_Tab_St1_1); | |||
Guitar1_Tab_St1_Voice_2.draw(ctx, Guitar1_Tab_St1_1); | |||
Guitar1_Tab_St1_beam_1.setContext(ctx).draw(); | |||
shiftGuitar1tab_1st= addShift( | |||
Guitar1_Tab_St1_notes_1, | |||
[ 3, 4, 3], | |||
[0.8, 0.8, -2] | |||
); | |||
const Guitar1_Tab_St2 = new VF.Stave(Guitar1_Tab_St1.width + Guitar1_Tab_St1.x, Guitar1_Tab_St1.y, nStaveWidth).setContext(ctx); | const Guitar1_Tab_St2 = new VF.Stave(Guitar1_Tab_St1.width + Guitar1_Tab_St1.x, Guitar1_Tab_St1.y, nStaveWidth).setContext(ctx); | ||
932行目: | 1,048行目: | ||
}; | }; | ||
insertTextToSVG(EGuitarTab_options); | insertTextToSVG(EGuitarTab_options); | ||
var Guitar1_st1_option = { | |||
textContent: ["\uFF86", "\uFF86", "┌── M ──┐"], // 必須文字列 | |||
strID: "Guitar1_st1", // 必須 | |||
Stave_x_Offset: 0, | |||
Stave_y_Offset: 0, | |||
fontSize: 40, | |||
fontFamily: "YonetMuFL, Arial", // オプション、デフォルトは"Bravura, Arial" | |||
shift_x: [ | |||
{x:shiftGuitar1_1st[0].x, y:shiftGuitar1_1st[0].y}, | |||
{x:shiftGuitar1_1st[1].x, y:shiftGuitar1_1st[1].y}, | |||
{x:shiftGuitar1_1st[2].x - 12, y:shiftGuitar1_1st[2].y}, | |||
], | |||
IsOffset_x_Abs: true | |||
}; | |||
insertTextToSVG(Guitar1_st1_option); | |||
var EGuitar2Text_options = { | var EGuitar2Text_options = { | ||
954行目: | 1,086行目: | ||
}; | }; | ||
insertTextToSVG(EGuitar2Tab_options); | insertTextToSVG(EGuitar2Tab_options); | ||
var Guitar1tab_st1_option = { | |||
textContent: ["\uFF86", "\uFF86", "┌── M ──┐"], // 必須文字列 | |||
strID: "Guitar1tab_st1", // 必須 | |||
Stave_x_Offset: 0, | |||
Stave_y_Offset: 0, | |||
fontSize: 40, | |||
fontFamily: "YonetMuFL, Arial", // オプション、デフォルトは"Bravura, Arial" | |||
shift_x: [ | |||
{x:shiftGuitar1tab_1st[0].x, y:shiftGuitar1tab_1st[0].y}, | |||
{x:shiftGuitar1tab_1st[1].x, y:shiftGuitar1tab_1st[1].y}, | |||
{x:shiftGuitar1tab_1st[2].x - 12, y:shiftGuitar1tab_1st[2].y}, | |||
], | |||
IsOffset_x_Abs: true | |||
}; | |||
insertTextToSVG(Guitar1tab_st1_option); | |||
var BaseText_options = { | var BaseText_options = { |
2024年4月19日 (金) 18:54時点における最新版
VexFlow 使い方に戻る。
概要
タブ譜 ミュート
コードは以下のとおりです。
<div id="yonet202404Mid_Output01"></div>
<script>
VexFlow 使い方に戻る。