「VexFlow」の版間の差分

提供:yonewiki
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();

 とすると結果として以下のように


 が得られます。