「VexFlow」の版間の差分
(→簡単な使い方) |
(→簡単な使い方) |
||
6行目: | 6行目: | ||
== '''簡単な使い方''' == | == '''簡単な使い方''' == | ||
<syntaxhighlight lang="javascript"> | <syntaxhighlight lang="javascript"> | ||
<div id="output"></div> | |||
<script src="https://cdn.jsdelivr.net/npm/vexflow@3.0.9/build/cjs/vexflow.js"></script> | <script src="https://cdn.jsdelivr.net/npm/vexflow@3.0.9/build/cjs/vexflow.js"></script> | ||
<script> | <script> | ||
// ここにあなたのコードを書く。 | // ここにあなたのコードを書く。 | ||
… | |||
const vf = new Factory({ | |||
renderer: { elementId: 'output', width: 500, height: 200 }, | |||
}); | |||
… | |||
</script> | </script> | ||
</syntaxhighlight> | </syntaxhighlight> | ||
例えば | |||
<syntaxhighlight lang="javascript"> | |||
<div id="output"></div> | |||
<script id ="vexflow" src="https://cdn.jsdelivr.net/npm/vexflow/build/cjs/vexflow-debug.js"></script> | |||
<script> | |||
const { Factory, EasyScore, System } = Vex.Flow; | |||
const vf = new Factory({ | |||
renderer: { elementId: 'output', width: 500, height: 200 }, | |||
}); | |||
const score = vf.EasyScore(); | |||
const system = vf.System(); | |||
system | |||
.addStave({ | |||
voices: [ | |||
score.voice(score.notes('C#5/q, B4, A4, G#4', { stem: 'up' })), | |||
score.voice(score.notes('C#4/h, C#4', { stem: 'down' })), | |||
], | |||
}) | |||
.addClef('treble') | |||
.addTimeSignature('4/4'); | |||
vf.draw(); | |||
</syntaxhighlight> | |||
とすると結果として以下のように | |||
<div id="output"></div> | <div id="output"></div> | ||
40行目: | 78行目: | ||
vf.draw(); | vf.draw(); | ||
</yjavascript> | </yjavascript> | ||
が得られます。 | |||
2022年12月11日 (日) 17:50時点における版
概要
MathJaxの楽譜版みたいな。MathJax?な人もいますから説明しますと、Webサイトにおいてネットワーク越しに準備されているJavaScriptライブラリを使って、自分のWebサイトで楽譜を描画する仕組みです。楽しい。
簡単な使い方
<div id="output"></div>
<script src="https://cdn.jsdelivr.net/npm/vexflow@3.0.9/build/cjs/vexflow.js"></script>
<script>
// ここにあなたのコードを書く。
…
const vf = new Factory({
renderer: { elementId: 'output', width: 500, height: 200 },
});
…
</script>
例えば
<div id="output"></div>
<script id ="vexflow" src="https://cdn.jsdelivr.net/npm/vexflow/build/cjs/vexflow-debug.js"></script>
<script>
const { Factory, EasyScore, System } = Vex.Flow;
const vf = new Factory({
renderer: { elementId: 'output', width: 500, height: 200 },
});
const score = vf.EasyScore();
const system = vf.System();
system
.addStave({
voices: [
score.voice(score.notes('C#5/q, B4, A4, G#4', { stem: 'up' })),
score.voice(score.notes('C#4/h, C#4', { stem: 'down' })),
],
})
.addClef('treble')
.addTimeSignature('4/4');
vf.draw();
とすると結果として以下のように
が得られます。