基礎講座T

はじめに
表示系は、SMAFファイルを再生した時に画像を表示させたり文字を流したりということができる技術なのですが、現存する表示系ソフト(YAMAHA製のSMAF Maker)では機能が限定されているためあまり使われていないのが現状です。しかし、SMMLではより柔軟に表示系に対応できるように設計しました。応用すればカラオケコンテンツ作成や、面白いメッセージメールを送ったりするのにも利用できますよ♪

基本用語
表示する対象となるもの(文字や絵)をオブジェクトといいます。そしてそれを表示しているのが液晶ディスプレイ(LCD)です。さてここで、液晶ディスプレイを良く観察してみてください。小さな四角い点の構成で文字や画像が表示されていると思います。この小さな点のことをドットといいます。よくLCDサイズが120×160とか言われますが、これは横が120ドット、縦が160ドットで構成される画面、という意味です。オブジェクトを画面上のどこに配置するのか、を決める時にこの点の集合を座標として扱います。横幅や縦幅といったサイズ指定の際もこのドットを1単位として扱います。

座標系
座標系には3つの種類があります。数学でやった座標系とはちょびっと違います。

標準座標指定
座標原点はディスプレイ左上。X軸は右が正方向。Y軸は下が正方向です。表示オブジェクトの左上の座標を指定します。

対称座標指定
座標原点はディスプレイ右下。X軸は左が正方向。Y軸は上が正方向。表示オブジェクトの右下の座標を指定します。

レイアウト情報指定
画面上のどこに配置するかの100分率を0〜128で指定。
X軸: 0=左詰、64=センタリング、128=右詰
Y軸: 0=上詰、64=センタリング、128=下詰

機種によりLCD画面サイズが異なるので、見栄えがかわらないように通常はを用いますが、場合に応じて使い分けましょう。

色指定
背景色や文字色の指定には、Red、Green、Blue、つまり光の3原色(以下RGBと略す)で表現します。

R,G,B各色の光の強さは0〜7の8段階で、色番号N=[RGB]を実際に引数に指定します。指定のコツは、R,G,Bの光をどのくらい強く出して混ぜるか、ということを考えればいいです。例えば黒は光が全くない状態なので、R=G=B=0 つまり N=000 となります。

【例】色見本

赤  700
緑  070
青  007
■黒  000
□白  777
灰  333
紫  505
黄  770
橙  760
水色 067

時間系
SMAF演奏系では音長を表現するのに音長式というものを用いましたが、SMAF表示系ではオブジェクトをどれだけの期間表示するか、を指定する際、拡張音長式というものを使用します。例えば、通常の音長式では

R4

は4分休符分の時間を表しますが、拡張版では0の後に続く数字を0.1倍して絶対時間をとることができます。

R02  = 0.2秒
R010 = 1.0秒
R0553 = 55.3秒

という感じです。絶対時間表現を使う際に注意すべき点は、+, /, *演算子を使えないこと、T(テンポ変更)コマンドが影響しない、等があります。表示系はまだ開発段階なので、現時点ではこれまでの通常の音長式表現を使うことをお奨めします。