JPH0981100A - データ表示方法、及びその装置 - Google Patents

データ表示方法、及びその装置

Info

Publication number
JPH0981100A
JPH0981100A JP7233693A JP23369395A JPH0981100A JP H0981100 A JPH0981100 A JP H0981100A JP 7233693 A JP7233693 A JP 7233693A JP 23369395 A JP23369395 A JP 23369395A JP H0981100 A JPH0981100 A JP H0981100A
Authority
JP
Japan
Prior art keywords
display
data
bar
displayed
pattern
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP7233693A
Other languages
English (en)
Inventor
Teruo Jinbo
輝雄 神保
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Casio Computer Co Ltd
Original Assignee
Casio Computer Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Casio Computer Co Ltd filed Critical Casio Computer Co Ltd
Priority to JP7233693A priority Critical patent/JPH0981100A/ja
Publication of JPH0981100A publication Critical patent/JPH0981100A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Controls And Circuits For Display Device (AREA)

Abstract

(57)【要約】 【課題】オブジェクト全体のデータ量を抑えつつ、表示
できるデータ数の低下を回避し、また、スクロールさせ
ることで全てのデータを表示させる場合において、その
スクロールに関わる全体的な処理の負荷を軽減する。 【解決手段】 CPU102は、ROM105の画像セ
ルの画像データ、楽曲RAM107の楽曲データを表示
させる表示コマンドをVDP113に送る。VDP11
3は、CPU102から送られた画像データでロールバ
ー平面の画像データを作成し、これをVRAM112に
格納する。また、送られた表示コマンドに従い、VRA
M112のロールバー平面の1部分の画像データを読み
出し、それの画像信号を生成してRGBエンコーダ11
4に送ることで、テレビ101に楽曲データを表示させ
る。また、CPU102は、カーソルを最終小節に移動
させた場合、小節単位でスクロールさせるように表示制
御を行う。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、予め設定された表
示形式に従い、データを図形表現して表示するための技
術に関する。
【0002】
【従来の技術】例えば、月単位、或いは一日単位で予定
を表示するスケジュール表のように、予め設定されてい
る表示形式でデータを図形表現する手法は広く用いられ
ている。一般にスケジュール表では、時間を横軸にと
り、それを開始する日時、継続する時間等で入力された
予定を、表上の該当する位置に横線(バー)で表現す
る。このスケジュール表の他にデータを図形表現するも
のとしては、通常、音高を縦軸に、時間を横軸にとり、
発音イベントのデータを横線(バー)の表示位置、及び
その長さで表現するピアノロール表示がある。
【0003】ピアノロール表示等においては、普通、予
め登録しておいた横棒(バー)といった形状のパターン
(オブジェクト)を、表示形式、データの値に応じて画
面上に配置していくことで、その表示が行われる。画面
表示を行う表示方式としては、グラフィック方式、及び
スプライト方式が知られている。
【0004】グラフィック方式は、1画面(フレーム)
で表示すべき移動漂体(いわゆるオブジェクト)やその
他各種キャラクタといったビットマップの画像データを
直接RAMに格納し、このRAMの記憶内容を読み出し
て画面表示を行う方式である。このグラフィック方式
は、直接RAM方式とも称される。
【0005】他方のスプライト方式は、画面上の座標値
を格納するテーブルを用意し、表示すべきオブジェクト
(スプライト)の座標値をこのテーブルに書き込むこと
で画面表示を行う方式である。普通、このスプライト方
式では、座標値のテーブルへの格納をCPUに行わせ、
VDPに、このテーブルに格納された座標値でパターン
を画面表示させる形態がとられる。スプライト方式を採
用しているものとしては、例えば家庭用ゲーム機があ
る。
【0006】上記2つの表示方式を対比すると、グラフ
ィック方式はRAMに対するデータの書き込み処理の付
加が重く、それに対する書き込み処理を行うCPU等に
高速な処理速度が求められることから、システムが高価
になるという欠点がある。CPU等が、上記書き込み処
理以外の処理も行わなければならない場合、その欠点は
より大きくなる。
【0007】また、スプライト方式では、画面表示用に
専用のVDPを割り当てることから、グラフィック方式
に比べて、表示可能な移動漂体(オブジェクト)等の個
数を多少多くすることができるという利点がある。更に
は、座標値を書き換えるだけでオブジェクトの表示位置
を変更できることから、オブジェクトを高速に移動でき
るという利点もある。このような利点を有するスプライ
ト方式は、動画等の表示に有利な方式である。
【0008】電気機器は、多機能化する傾向にある。こ
のため、処理の付加を軽減するために、スプライト方式
を採用する機器が増えている。例えば、電子楽器におい
ては、鍵盤等の演奏操作子に対する操作に応じて楽音を
発音させる本来の機能の他に、映像の出力機能を備えて
いるものがある。このような電子楽器では、通常、映像
の出力に関わるCPU側の処理を軽減させるために、ス
プライト方式が採用されている。
【0009】
【発明が解決しようとする課題】スプライト方式を用い
てデータの表示を行う場合、様々なデータの値に対応し
てそれを表示できるようにする必要がある。様々な値の
データを表示するための最も簡便な方法は、データとし
てとりうる値の全てにそれぞれ対応させてオブジェクト
を用意することであるが、この方法ではオブジェクト全
体でのデータ量が膨大となるため、現実的でない。
【0010】このため、オブジェクトのデータ量が膨大
となるのを回避するために、様々な形状のオブジェクト
を用意し、これら用意したオブジェクトを組み合わせる
ことで様々なデータを表現する方法が一般的に用いられ
ている。この方法では、比較的に小さい幾つかのオブジ
ェクトを用意すればよいので、オブジェクト全体でのデ
ータ量は上記の方法と比較して激減する。しかし、その
一方では、1つのデータを表現するために複数のオブジ
ェクトを使用することが殆どとなり、オブジェクトの座
標値を書き込むテーブルに対して、1つのデータを表示
するために書き込む座標値数が多くなることから、一度
(1画面)に表示できるデータ数が減少するという問題
が発生する。表示するデータの組み合わせによっては、
表示できるデータ数が激減することもある。
【0011】ところで、上記ピアノロール表示は、楽曲
における個々の楽音の発音イベント(データ)を図形表
現するものであるが、通常、表示画面には楽曲全体のデ
ータを表示せず、数小節分のデータだけを表示させてい
る。これは、その大きさに制限がある表示画面上に、デ
ータを見やすい状態で表示させるためである。
【0012】上記のようにデータが表示されるピアノロ
ール表示では、全てのデータを表示させるために、画面
をスクロールさせる。従来のスクロール方法では、例え
ばユーザがカーソルキー等の操作により、それの操作に
応じて表示画面上を移動するカーソルや範囲指定アイコ
ンといった図形シンボルを、表示画面よりも外に移動さ
せるようにしたときに行っていた。カーソルキー等に対
する操作に応じてスクロールを行うことから、普通、1
度のスクロールでオブジェクトが移動する量は、カーソ
ルキー等に対する1回の操作で図形シンボルが移動する
量に合わせて設定されている。
【0013】例えば各小節のデータを確認するときのよ
うに、全部で複数小節分となるスクロールを連続して行
うことは多く行われる。スクロールのように、表示画面
上のオブジェクトの表示位置が全体的に移動する場合、
スプライト方式では、各移動するオブジェクト毎に新た
にその表示位置を決定しなければならず、普通、その決
定を行う処理の負荷は重いものとなる。グラフィック方
式においても、スクロールの度にRAM内の画像データ
の全て、或いは殆どを書き換えなければならないので、
この書き込み処理の負荷は重いものとなる。従って、上
記のようにスクロールを連続して行う場合、その間は負
荷が重い処理を繰り返すことになるため、その間の全体
的な処理の負荷は非常に重いものとなる。
【0014】近年、ピアノロール表示を行う表示機能を
備えた電子楽器等が開発されている。このような電子楽
器では、ピアノロール表示を行うための処理の他に、楽
音を発音させるための処理等も行わなければならない。
ある処理の負荷が非常に大きくなった場合、別の処理の
実行にその影響が発生しやすくなる。例えば、上記電子
楽器では、指定された楽音を発音させるタイミングが遅
れたりする。これは1例であるが、このような不具合を
発生させないために、処理の負荷の軽減は常に望まれて
いる。
【0015】本発明の課題は、オブジェクト全体のデー
タ量を抑えつつ、表示できるデータ数の低下を回避する
ことにある。また、スクロールさせることで全てのデー
タを表示させる場合において、そのスクロールに関わる
全体的な処理の負荷を軽減することにある。
【0016】
【課題を解決するための手段】本発明の第1の態様のデ
ータ表示方法は、予め設定された表示形式に従い、デー
タを図形表現して表示することを前提とし、以下のよう
にしてデータの表示を行う。
【0017】先ず、予め定めた形状の登録パターンを用
意し、登録パターンを組み合わせて、表示形式に対応さ
せた形状の表示パターンを予め作成し、データを、この
作成した表示パターンを用いて図形表現する。
【0018】なお、表示パターンを用いたデータの図形
表現は、データの値に基づき、表示パターンから、登録
パターンを単位として切り出してそれを表示することで
行う、ことが望ましい。
【0019】本発明の第1の態様のデータ表示装置は、
予め設定された表示形式に従ってデータを図形表現し、
該図形表現したデータを表示手段に表示させることを前
提とし、予め定めた形状の登録パターンを記憶した登録
パターン記憶手段と、表示形式に対応させて、登録パタ
ーン記憶手段に記憶されている登録パターンを組み合わ
せて表示パターンを作成する表示パターン作成手段と、
表示パターン作成手段が作成した表示パターンを記憶す
る表示パターン記憶手段と、表示パターン記憶手段に記
憶された表示パターンを用いてデータを図形表現し、該
図形表現したデータを表示手段に表示させる表示制御手
段と、を具備する。
【0020】なお、上記の構成において、表示制御手段
は、データの値に基づき、該データを図形表現するパタ
ーン形状を決定する形状決定手段と、形状決定手段が決
定したパターン形状に従って、表示パターン記憶手段か
ら、それに記憶されている表示パターンの全部、或いは
その1部分を取り出し、該取り出した表示パターンを表
示手段に表示させるパターン取出手段と、からなること
が望ましい。
【0021】上記本発明の第1の態様のデータ表示方
法、及びデータ表示装置のように、表示パターンから切
り出したパターンでデータを表現すると、その表示パタ
ーンは、それ一つで複数のデータを表現することが可能
となる。これにより、様々なデータにそれぞれ対応させ
てパターンを用意する必要がなくなるとともに、1つの
データを1つのパターンで常に表現させることも可能と
なる。
【0022】本発明の第2の態様のデータ表示方法は、
表示画面上に予め定めた表示単位に区切ってデータを表
示し、該表示画面上に表示したデータを、表示画面上の
表示単位の並び方向に、ユーザの指定に従って並びの方
向に移動させる図形シンボルの移動に伴ってスクロール
させることを前提とし、以下のようにしてデータの表示
を行う。
【0023】先ず、図形シンボルをユーザの指定に従っ
て並び方向に移動させた後の新たな表示位置を求め、該
求めた図形シンボルの新たな表示位置が、それが移動前
に表示されていた表示単位とは異なる表示単位内に移動
したか否か判定し、図形シンボルが異なる表示単位内に
移動したと判定したとき、図形シンボルの移動方向に、
表示画面上のデータを表示単位でスクロールさせる。
【0024】なお、データのスクロールは、図形シンボ
ルの新たな表示位置が、該図形シンボルの移動方向にお
ける表示画面上の端の表示単位内に移動した場合に行
う、ことが望ましい。
【0025】本発明の第2の態様のデータ表示装置は、
予め定めた表示単位に区切ってデータを表示画面上に表
示し、該表示画面上に表示したデータを、表示画面上の
表示単位の並び方向に、指定手段に対するユーザの操作
に従って並びの方向に移動させる図形シンボルの移動に
伴ってスクロールさせて表示することを前提とし、指定
手段に対するユーザの操作を検出し、図形シンボルを移
動させた後の新たな表示位置を算出する表示位置算出手
段と、表示位置算出手段が算出した図形シンボルの新た
な表示位置が、それが移動前に表示されていた表示単位
とは異なる表示単位内に移動したか否か判定する表示位
置判定手段と、図形シンボルが異なる表示単位内に移動
したと表示位置判定手段が判定したとき、図形シンボル
の移動方向に、表示画面上のデータを表示単位でスクロ
ールさせる表示制御手段と、を具備する。
【0026】なお、上記の構成において、表示位置判定
手段は、図形シンボルが、それが移動前に表示されてい
た表示単位とは異なる表示単位内に移動したと判定した
場合、該移動後の表示単位が、図形シンボルの移動方向
における表示画面上の端の表示単位であるか否かさらに
判定し、表示制御手段は、図形シンボルの移動後の表示
単位が、該図形シンボルの移動方向における表示画面上
の端の表示単位であると表示位置判定手段が判定したと
き、図形シンボルの移動方向に、表示画面上のデータを
表示単位でスクロールさせる、ことが望ましい。
【0027】上記本発明の第2の態様のデータ表示方
法、及びデータ表示装置のように、図形シンボルが元の
表示単位内から他の表示単位内に移動したときにスクロ
ールを行う場合、図形シンボルの移動に伴って随時スク
ロールを行う場合よりもスクロールを行う頻度が低減さ
れる。スクロールを行う頻度を低減させたことで、表示
に関わる処理の全体的な負荷が軽減される。
【0028】また、スクロールを表示単位で行うこと
で、スクロール時における図形シンボルと表示単位(デ
ータ)の位置関係の混乱が生じにくくなり、データの視
認性が向上する。
【0029】
【発明の実施の形態】以下、本発明の実施の形態につい
て、図面を参照しながら詳細に説明する。図1は、本実
施の形態のシステム構成のブロック図である。
【0030】このシステムは、電子楽器にテレビ101
を接続して構成される。電子楽器は、装置全体を制御す
るCPU(Central Processing Unit )102と、特に
は図示しない各種スイッチからなるスイッチ群103
と、演奏に用いられる鍵盤104と、プログラムや各種
画像データを格納したROM105と、ワーク領域とし
て用いられるワークRAM106と、楽曲データの格納
に用いられる楽曲RAM107と、楽音波形データを記
憶した楽音波形ROM108と、この楽音波形ROM1
08から波形データを読み出して、エンベロープ、音響
効果の付加といった処理を施す音源部109と、この音
源部109から送られた波形データをD/A変換し、ア
ナログの波形信号に変換するD/Aコンバータ110
と、このD/Aコンバータ110から送られた波形信号
を入力して楽音を放音するスピーカ111と、ROM1
05に格納されている画像データを格納するVRAM1
12と、このVRAM112に格納されている画像デー
タを読み出し、1走査線(ライン)毎の表示用の画像信
号(RGBデータ)を生成するVDP113と、このV
DP113から送られた1走査線の画像信号(RGBデ
ータ)を、例えばNTSC方式のコンポジットビデオ信
号に変換するRGBエンコーダ114と、を備えて構成
される。
【0031】以上の構成において、その概略動作を説明
する。CPU102は、ROM105に格納されたプロ
グラムを読み出してそれを実行することで、システム全
体を制御する。ユーザがスイッチ群103の各スイッチ
に対して操作を行うと、その操作を検出し、その検出結
果に応じた処理を行う。各種モード、音色といった各種
の設定、楽曲データの入力は、スイッチ群103に対す
る操作を介して行われる。CPU102は、スイッチ群
103に対する操作が各種の設定であった場合、その設
定を示す情報をワークRAM106に書き込むことで、
ユーザが指定した設定を行う。その操作が楽曲データの
入力であった場合、楽曲データに定められている形式に
従い、ユーザが入力した楽曲データの楽曲RAM107
への書き込みを行う。また、その一方では、この楽曲R
AM107に格納されている楽曲データを読み出し、或
いは/及び、鍵盤104に対するユーザの操作を検出し
て発音コマンドを生成し、この生成した発音コマンドを
音源部109に出力することで、楽音を発音させる。
【0032】音源部109は、CPU102から入力し
た発音コマンドに従い、それが指示する速さで楽音波形
ROM108から楽音波形データを読み出し、この読み
出した波形データに対してエンベロープ、設定されてい
る音響効果等を付加する処理を施した後、D/Aコンバ
ータ110に出力する。
【0033】D/Aコンバータ110は、デジタルの楽
音波形データをアナログの楽音波形信号に変換し、スピ
ーカ110にその波形信号を出力する。これにより、ス
ピーカ111からユーザが所望する楽音が放音される。
【0034】また、CPU102は、VDP113に表
示コマンドを出力することで、スイッチ群103に対す
るユーザの操作に対応させてテレビ101の表示画面の
制御を行う。本実施の形態では、表示画面としてテレビ
101にピアノロール表示を表示させている。図2は、
テレビ101に表示される、ピアノロール表示例を示す
図である。
【0035】VDP113は、CPU102から送られ
た表示コマンドに従い、テレビ101に画面を表示す
る。CPU102からは、表示コマンドの他に、テレビ
101に画面表示させるための画像データが送られる。
【0036】図3は、テレビ101に表示される表示画
面の階層構造の説明図である。図2に示すピアノロール
表示は、図3に示すように、バックグランド(BG)面
上にオブジェクト(OBJ)面を重ね合わせることで形
成される。
【0037】バックグランド(BG)面には、バックグ
ランド(背景)がアサインされ、他方のオブジェクト
(OBJ)面には、ユーザの指定やデータ入力等に応じ
て配置させるオブジェクトがアサインされる。具体的に
は、音高を表現するために、鍵盤の絵柄を左側に配置し
たバックグランド(BG)がバックグランド(BG)面
にアサインされ、他方のオブジェクト(OBJ)面に
は、発音イベント(音符データ)を表現するロールバー
オブジェクトOB1、小節線を表現する小節線オブジェ
クトOB2、カーソルオブジェクトOB3、及びロール
バーオブジェクトOB1が配置される領域(ロールバー
表示部)以外のバックグランド(BG)面を隠すととも
に、その他の画面情報の表示用である目隠しオブジェク
トOB4がアサインされている。
【0038】なお、これらのオブジェクトについては、
それがテレビ101の画面上に表示されている状態を指
すような場合、オブジェクトを省いて記載することにす
る。例えば、画面に表示されているカーソルオブジェク
トOB3を指す場合、カーソルOB3と記載する。
【0039】上記表示画面を構成する各表示面に配置さ
れるバックグランド、オブジェクトの画像データは、図
4に示す形式で、ROM105に格納されている。CP
U102は、画面表示に必要となる画像データをROM
105から読み出し、VDP113に出力する。
【0040】楽曲RAM107には、図5に示す形式で
楽曲(演奏)データが格納されている。CPU102
は、楽曲RAM107に格納されている楽曲データを読
み出し、楽曲データを構成している音符データ毎に、そ
の音符データを表現するロールバーオブジェクトOB1
を表示させるための表示コマンドを生成して、この生成
した表示コマンドをVDP113に出力する。音符デー
タの表現は、発音される楽音の音高、その音高で楽音が
発音されている期間を表示画面上に示すことで行われ
る。なお、この楽曲RAM107は、ユーザが以前に入
力した楽曲データを保持しておくことができるように、
特には図示しない電源により不揮発性化されている。
【0041】CPU102がワーク領域として使用する
ワークRAM106には、図6に示す形式で様々なデー
タが格納される。このワークRAM106には、表示可
能なオブジェクトの数に応じた大きさの領域が割り当て
られている。CPU102は、音符データからそれを表
現するためのオブジェクトの形状、及びそれを表示する
座標位置を決定し、これらの決定結果を表す情報をオブ
ジェクト単位でワークRAM106のその領域に格納す
る。ワークRAM106に格納されたオブジェクト単位
の情報が、表示コマンドとしてVDP113に送出され
る。
【0042】他方のVDP113は、CPU102から
表示コマンドを受け取ると、それを内部の記憶領域に格
納する。画像データを受け取ると、図7に示す形式で、
VRAM112に格納する。VDP113は、内部の記
憶領域に格納した表示コマンドに従い、VRAM112
に格納された画像データを用いてRGBデータをテレビ
101の1走査ライン毎に生成し、生成したRGBデー
タをRGBエンコーダ114に出力する。
【0043】RGBエンコーダ114は、VDP113
から入力したRGBデータを、例えばNTSC方式のコ
ンポジットビデオ信号に変換する。テレビ101は、R
GBエンコーダ114から入力したコンポジットビデオ
信号で画面表示を行う。これにより、テレビ101の画
面上に、図2のピアノロール表示等が表示されることに
なる。
【0044】以上がシステム全体の概略動作である。次
に、図8に示す上記VDP113の回路構成のブロック
図を参照して、その構成、及び動作について詳細に説明
する。
【0045】CPUインターフェイス回路801は、特
には図示しないCPU102のバスを介して、CPU1
02と制御信号SCの授受を行う。制御信号SCは、バ
ックグランド画像、及びオブジェクト画像を表示制御す
るための各種コマンドや、ROM105に格納されてい
るバックグランド面、或いはオブジェクト面にアサイン
されているオブジェクトの画像データ等である。
【0046】VRAMコントロール回路802は、上記
CPUインターフェイス回路801、後述するバックグ
ランドコントロール回路804、及びオブジェクトコン
トロール回路807から送られた制御コマンドに応じ
て、VRAM112とのデータの授受を行う。
【0047】バックグランドコントロール回路804
は、バックグランドの表示位置を格納するBG表示位置
レジスタ802を有し、CPUインターフェイス回路8
01を介してCPU102から送られた表示座標データ
を、BG表示位置レジスタ802に格納する。BG表示
位置レジスタ802に格納された表示座標データは、バ
ックグランドのなかで表示させる部分、例えば画面に表
示させる音高領域(縦軸の領域)を指定する。バックグ
ランドコントロール回路804は、BG表示位置レジス
タ802に格納された表示座標データに応じて生成した
制御コマンドをVRAMコントロール回路802に送出
する。これにより、VRAMコントロール回路802か
ら必要なバックグランドの画像データを受け取ると、こ
の画像データを1走査ライン分毎に分割し、これら分割
した1走査ライン毎の画像データを予め定められたタイ
ミングで表示優先決定回路809に出力する。
【0048】オブジェクトコントロール回路807は、
CPUインターフェイス回路801を介してCPU10
2から送られた、表示コマンドに相当するオブジェクト
テーブルデータを、オブジェクトテーブルRAM805
に格納する。オブジェクトテーブルRAM805は、表
示可能なオブジェクト数分のオブジェクトテーブルデー
タを格納する領域を有する。
【0049】ここで、上記オブジェクトテーブルデー
タ、及びその作成方法について、図9を参照して説明す
る。図9は、ロールバーオブジェクトのパターン形状、
及びオブジェクトテーブルデータの作成方法の説明図で
ある。
【0050】図9において、各枠は画面表示における最
小の表示単位(セル)を表している。本実施の形態で
は、画像セルの大きさは8×8ドット(画素)である。
音符データを表現するのは、図中、斜線で領域を示す棒
状の部分である。
【0051】本実施の形態では、様々な発音持続時間
(ゲートタイム)に対応できるように、ロールバーオブ
ジェクトOB1を複数用意している。これらのロールバ
ーオブジェクトOB1は、図9に示すように、その長さ
が階段状に異ならせて、計9個用意している。各ロール
バーオブジェクトOB1の長さは、上段から、120ド
ット、121ドット、122ドット、123ドット、1
24ドット、125ドット、126ドット、127ドッ
ト、128ドットである。このようなパターン形状とし
たロールバーオブジェクトOB1の画像データは、図9
に示すその集合体の状態で、VRAM112のロールバ
ー画像データの格納領域(図7参照)に格納される。
【0052】図9に示す各ロールバーオブジェクトOB
1の全体の形状は、その右端の画像セルのパターン形状
だけが異なり、それよりも左側の15の画像セル内のロ
ールバーオブジェクトOB1は全て同じ形状、即ち塗り
つぶされた状態である。このため、図10(a)〜
(i)に示すように、ロールバーオブジェクトOB1の
長さが0〜8ドットの、パターン形状が異なる9種類の
画像セルにより、図9の各ロールバーオブジェクトOB
1を表現することができる。このことから、本実施の形
態では、これらの画像セルの画像データだけをROM1
05に格納させている(図4参照)。具体的には、図1
0(a)〜(i)の各画像セルは、図4のROM105
において、ロールバー画像セル(1)〜(8)としてそ
れぞれ格納されている。
【0053】CPU102がROM105から読み出し
てVDP113に送った画像セルの画像データは、CP
Uインターフェイス回路801を介してVRAMコント
ロール回路802がこれを受け取り、VRAM112の
割り当てられた格納領域に、図9に示すように画像セル
の画像データを格納する。
【0054】楽曲(演奏)データの時間管理を行うため
の目盛りとなるのがクロックである。演奏上の分解能
は、4分音符あたりのクロック数で表現される。上述し
たように、ロールバーオブジェクトOB1は、ピアノロ
ール表示上において、音符データの発音タイミングを表
現するために使用される。CPU102は、ゲートタイ
ムのクロックに応じてロールバーオブジェクトOB1を
選択し、音符データが属している小節、その小節先頭か
らのクロックに応じてロールバーオブジェクトOB1の
表示座標を決定する。これらの情報がオブジェクトテー
ブルデータとして,VDP113に送られる。
【0055】ロールバーオブジェクトOB3の選択は、
以下のようにして行われる。音符データのゲートタイム
(図5参照)には、16ビットを割り当てている。ピア
ノロール表示は、スイッチ群103に対して所定のスイ
ッチ操作を行うことで、表示倍率を設定することができ
るようになっている。設定された表示倍率により、ゲー
トタイムのクロックで表示されるロールバーオブジェク
トOB3の長さは変化する。換言すれば、表示画面上の
1ドットに対応するクロックは表示倍率によって変化す
る。図9は、1ドットあたり16クロックの表示倍率が
設定された際に、ゲートタイムのクロックからロールバ
ーオブジェクトOB3を選択する様子を示している。
【0056】ロールバーオブジェクトOB1の選択は、
図9に示すロールバーオブジェクトOB1の集合体(縦
(Y軸)が9セル、横(X軸)が16セルである)をX
Y平面と見なし(以降、この平面をロールバー平面と呼
ぶ)、この平面の左上端に基点となる座標を設定し、こ
の基点からセルを単位としてロールバーオブジェクトO
B1を指定することで行われる。具体的には、以下のよ
うにして行われる。図9における基点の座標は(Xo
f,Yof)である。
【0057】1ドットあたり16クロックの表示倍率が
設定されると、ゲートタイムを表現する全16ビットの
うち、下位4ビット(24 =16)を切り捨てる。これ
は、下位4ビットで表される値に応じてそれを画面上に
表現できないためである。このようにして表現できない
ビットを切り捨てた後、下位のほうから、3ビット、4
ビット、残りの上位のビットに区切る。これら3つの部
分に区切ったビットを、下位のほうから、下位3ビッ
ト、中位4ビット、上位ビットと呼ぶことにする。
【0058】本実施の形態では、図9に示すように、1
ロールバーオブジェクトOB1で表現できるX軸方向の
最大の長さは16画像セル、即ち128(=16×8)
ドットである。上位ビットの下位は7ビットである。こ
のため、上位ビットは、表示分解能の制限で下位のビッ
トを切り捨てた後のゲートタイムの値を128(=
7 )で割った際の商にあたる。これは、この上位ビッ
トの値が0の場合、1つのロールバーオブジェクトOB
1でゲートタイムの長さを表現できることを意味する。
その値が0でない場合、1ロールバーオブジェクトOB
3でゲートタイムの長さを表現できないことから、最大
フォントのロールバーオブジェクト(最下段)OB1を
選択する。
【0059】中位4ビットは、それよりも下位に3ビッ
トあることから、1ピアノロール表示内で表現されるゲ
ートタイムの長さを8(=23 )で割った商にあたる。
上位ビットは、ゲートタイムが、ロールバーオブジェク
ト単位で幾つの長さであるかを表している。このため、
中位ビットは、ロールバーオブジェクト単位で端数とな
ったゲートタイムの長さが、X軸方向幾つの画像セルで
表現できるかを表している。この中位ビットの値がXサ
イズである。このXサイズを示すロールバー平面上のX
座標がキャラクターネームXである。具体的には、基点
であるXofにF(16進数)を加算した値からXサイ
ズを引いた値がキャラクターネームXとなる。図9の例
では、Xサイズは3である。
【0060】下位3ビットは、1画像セル内でのロール
バーオブジェクトOB1の長さを表している。図10を
参照してこのことを具体的に言えば、その3ビットの値
が0であれば同図(a)の画像セル、その値が1であれ
ば同図(b)の画像セル、その値が2であれば同図
(c)の画像セルであり、以下同様に、その値が大きく
なるに従い、画像セル内でのロールバーオブジェクトO
B1の長さは長くなる。ロールバー平面上の各ロールバ
ーオブジェクトOB1は、その長さが1ドット単位の階
段上に異なっている。このことから判るように、この下
位3ビットが、ロールバー平面において、ロールバーオ
ブジェクトOB1を指定するY軸上(縦方向上)の座標
位置となる。図9の例では、Y軸上の座標位置はYof
+5となる。以降、このY軸上の座標位置をキャラクタ
ーネームYと呼ぶことにする。
【0061】ゲートタイムの値から、このようにしてロ
ールバーオブジェクトOB1が選択される。図9の例で
は、座標(Xof+F−3,Yof+5)の画像セル、
及びこの画像セルにX軸方向に連なる、それを含めてX
サイズ(=3である)の画像セルが、ゲートタイムから
選択される。この選択された画像セルは、ロールバー平
面から切り出され、ピアノロール表示上に表示されるこ
とになる。
【0062】なお、現時点で表示させているピアノロー
ル表示上のロールバーオブジェクトOB1の表示位置
は、音符データが属している小節、発音を開始するその
小節の先頭からのクロックから、それのX座標を求める
ことができる。他方のY座標は、音符データの音高から
求めることができる。
【0063】CPU102は、このようにして音符デー
タ毎に表示させるロールバーオブジェクトOB1を選択
するとともに、選択したロールバーオブジェクトOB1
の表示画面上の座標値を決定し、選択したロールバーオ
ブジェクトOB1を指定するデータ、その表示位置等の
データを、図6に示すように、オブジェクト単位でワー
クRAM106に格納する。その後、ワークRAM10
6に格納した上記オブジェクト単位の表示用データを読
み出し、予め定められた項目を有するオブジェクトテー
ブルデータを作成して、VDP113にそれを送出す
る。
【0064】オブジェクトテーブルデータは、表示させ
るオブジェクトの画像データを指定する認識IDと、こ
の認識IDで指定される画像データから切り出す(取り
出す)部分を指定する切出データと、ロールバーオブジ
ェクトOB1を表示させる座標位置を指定する表示座標
データとからなる。
【0065】図9において、上記認識IDは基点とした
座標(Xof,Yof)に対応し、切出データは、キャ
ラクターネームX(F−3)、Y(5)に対応する。図
9では、オブジェクトの画像データで表現されるパター
ン形状を、X軸方向、Y軸方向を有する平面で示してい
るが、これは理解し易くするためである。上記座標(X
of,Yof)の各値は、実際にはそれぞれその画像デ
ータの下位側、上位側のアドレスに相当する。従って、
切出データであるキャラクターネームX、及びYは、座
標(Xof,Yof)で示される基点となるアドレスか
らの相対アドレスに相当する。
【0066】このように、本実施の形態では、ロールバ
ーオブジェクトOB1のパターン形状が異なる画像セル
を複数用意し(図10参照)、これらの画像セルを用い
て、長さが異なる複数のロールバーオブジェクトOB1
からなるロールバー平面を作成し(図9参照)、作成し
たロールバー平面からゲートタイムに応じた必要な部分
を切り出してそれを表示している。
【0067】音符データで設定されるゲートタイムは、
普通、様々な値を設置できるようになっている。このた
め、ゲートタイムに設定される様々な値にそれぞれ対応
させたオブジェクトを用意し、ゲートタイムの値に応じ
て、それらのオブジェクトのなかから選択してそれを表
示させる方法では、オブジェクト全体のデータ量が膨大
になるという問題がある。これにより、図1に示すシス
テムを例にとれば、VRAM112に全オブジェクトの
画像データを格納できない、或いは他の必要なバックグ
ランド等の画像データを格納できないといったことが発
生する。
【0068】これに対し、本実施の形態では、上述した
ように、既に作成したロールバー平面から切り出したロ
ールバーオブジェクトOB1を表示するようにしてい
る。表示するロールバーオブジェクトOB1をロールバ
ー平面から切り出すようにしたことで、上記の方法では
複数用意する必要があったオブジェクトを一つのオブジ
ェクトに置き換えることができる。図9の最下段のロー
ルバーオブジェクトOB1を例にとって具体的に説明す
れば、このオブジェクトOB1のXサイズを変更するだ
けで、Xサイズが1〜16の16種類のゲートタイムを
表現することができる。このため、上記の方法が有する
問題を回避し、オブジェクト全体のデータ量を抑えるこ
とができる。また、これにより、記憶容量が小さいVR
AM112を使用することができるので、システムのコ
ストを抑える効果もある。
【0069】本実施の形態では、予めROM105に格
納されている画像セル(登録パターン)を用いて上記ロ
ールバー平面を作成させている。登録パターンは、表示
するオブジェクトの形状に応じて幾つか用意する必要が
あるが、1登録パターンの大きさは小さいことから、登
録パターンを幾つか用意してもそのデータ量はわずかで
ある。このため、形状の違いに応じてそれぞれオブジェ
クトを予め用意する上記の方法と比較すると、画像デー
タを予め記憶しておくメモリ(ROM105)の記憶要
領を小さくできるので、システムのコストを更に抑えら
れるという効果もある。
【0070】登録パターンで表示用のオブジェクトを作
成せず、登録パターンをオブジェクトとして用いて、登
録パターンの表示位置をそれぞれ設定していくことによ
り、表示画面上に所望の形状を表示することも可能であ
る。この方法では、音符といったデータを1つ表示させ
るために複数の登録パターン(画像セル)の表示位置を
設定する場合が殆どである。しかし、スプライト方式で
は、表示可能なオブジェクト数に制限がある。このた
め、その方法では、実際上表示できるデータ数を多くで
きないという不具合がある。本実施の形態では、画像セ
ルを組み合わせて作成(用意)したオブジェクトの形状
にもよるが、常に1データを1オブジェクトで表現させ
ることも可能である。従って、上記した不具合は確実に
回避することができ、オブジェクトテーブルRAM80
5に格納できるオブジェクトテーブルデータ数の音符デ
ータを表現することが可能である。即ち、オブジェクト
全体のデータ量を抑えつつ、多数のデータを表示するこ
とができる。
【0071】図8の説明に戻る。VDP113は、上述
したように、テレビ101の画面に対する走査に同期さ
せて、1走査ライン毎にそのRGBデータを生成し、R
GBエンコーダ114にそれを出力する。VDP113
のオブジェクトコントロール回路807は、CPUイン
ターフェイス回路801を介し、CPU102から送ら
れたオブジェクトテーブルデータを受け取り、それをオ
ブジェクトテーブルRAM805に格納する一方、この
RAM804に格納したオブジェクトテーブルデータを
参照し、表示座標データから現時点のタイミングで表示
すべきロールバーオブジェクトOB1を特定して、VR
AM112からその画像データを読み出すように、VR
AMコントロール回路802に制御コマンドを出力す
る。制御コマンドとして、例えばオブジェクトテーブル
データの識別ID、切出データがVRAMコントロール
回路802に出力される。
【0072】オブジェクトコントロール回路807は、
この制御コマンドを出力した後、VDPコントロール回
路802から送られてきた画像データを、ラインバッフ
ァRAM806に一時記憶する。このラインバッファR
AM806に記憶させた画像データを読み出し、表示優
先回路809に出力する。ラインバッファRAM806
に記憶される画像データは、オブジェクトが表示座標デ
ータで指定された表示位置に表示されるように、テレビ
101の画面に対する走査に同期したタイミングで更新
される。
【0073】表示優先回路809は、バックグランドコ
ントロール回路804からバックグランド画像データ、
オブジェクトコントロール回路807からオブジェクト
画像データを受け取り、予め定められている表示面の優
先度に従い、これらの画像データを合成する。図3に示
すように、オブジェクト(OBJ)面はバックグランド
(BG)面よりも優先される。このときの画像データの
合成は、オブジェクト(OBJ)面の透明部分に、バッ
クグランド(BG)面の対応する部分を当てはめていく
ことで行われる。
【0074】表示優先回路809は、このようにして画
像データを合成した後、カラールックアップテーブルR
AM808を参照し、1ドットデータ毎に、R信号デー
タ、G信号データ、及びB信号データからなるRGBデ
ータにそれを変換する。この表示優先回路809が出力
したRGBデータは、RGBエンコーダ114に送られ
る。
【0075】以上が、VDP113の回路構成、及びそ
の各部の動作である。次に、CPU102が実行する各
種処理について、図11〜図18に示す動作フローチャ
ートを参照して詳細に説明する。これら各動作フローチ
ャートは、CPU102が、ROM105に格納されて
いるプログラムを読み出し、それを実行することで実現
される。
【0076】図11は、全体処理の動作フローチャート
である。この図11の全体処理では、本発明が理解し易
いように、本発明に特に関連する処理だけを抜粋して示
している。以降においても同様に、本発明に特に関連し
ている部分に着目して説明することにする。
【0077】先ず、ステップ1101では、ワークRA
M106に記憶されている内容(図6参照)を消去し、
ROM105に記憶されている初期座標データ(図4参
照)を読み出して、ワークRAM106の所定の記憶領
域に格納するとともに、音源部109等を予め定められ
た初期状態に設定するといったイニシャライズを行う。
このイニシャライズが終了した後、ステップ1102の
処理に移行する。
【0078】ステップ1102では、スイッチ群103
の特には図示しない再生スイッチがONされたか否か判
定する。再生スイッチは、ユーザが、楽曲RAM107
に格納されている楽曲データを再生させるか否かを指定
するためのスイッチである。ユーザが再生スイッチを操
作した場合、その判定はYESとなってステップ110
3の処理に移行する。そうでない場合、その判定はNO
となってステップ1104の処理に移行する。
【0079】楽曲データを再生中か否かは、再生中フラ
グの値が1か否かにより判定する。再生中フラグには、
再生を行っているときは1、再生を行っていないときは
0が代入される。この再生中フラグは、図6に示すよう
に、ワークRAM106に格納されている変数である。
ステップ1103では、ワークRAM106に格納され
ている再生中フラグの値を反転、即ちその値が1のとき
には0に、その値が0のときには1に書き換える処理を
行う。この書き換えが終了すると、ステップ1104の
処理に移行する。
【0080】ステップ1104では、表示倍率が入力さ
れたか否か判定する。ユーザが表示倍率を指定した場
合、その判定はYESとなってステップ1105の処理
に移行する。そうでない場合、その判定はNOとなって
ステップ1106の処理に移行する。
【0081】表示倍率は、ユーザが、スイッチ群103
の特には図示しない設定スイッチを操作することで指定
される。図6に示すように、現在設定されている表示倍
率はワークRAM106に格納されている。ステップ1
105では、新たに入力(指定)された表示倍率をワー
クRAM106に書き込む処理を行う。この書き込みが
終了すると、ステップ1106の処理に移行する。
【0082】ステップ1106では、スイッチ群103
の特には図示しない表示スイッチがONされたか否か判
定する。ユーザが表示スイッチを操作した場合、その判
定はYESとなってステップ1107の処理に移行す
る。そうでない場合、その判定はNOとなってステップ
1108の処理に移行する。
【0083】ステップ1107では、表示フラグの反転
を行う。表示フラグは、図6に示すように、ワークRA
M106に格納されている変数であり、その値には、表
示(ピアノロール表示)を行うときは1、表示を行わな
いときは0が代入される。このステップ1107の処理
を実行することで、表示フラグの値は0から1、或いは
1から0に反転する。この表示フラグの反転が終了する
と、ステップ1108の処理に移行する。
【0084】ステップ1108では、表示フラグの値が
1か否か判定する。ワークRAM106に格納されてい
る表示フラグの値が1であった場合、その判定はYES
となってステップ1109の処理に移行する。そうでな
い場合、その判定はNOとなってステップ1112の処
理に移行する。
【0085】ステップ1109では、ユーザがスイッチ
群103の各スイッチに対して行った操作に応じた表示
処理を行う。この表示処理が終了すると、ステップ11
10の処理に移行する。表示処理については後述する。
【0086】ステップ1110では、ピアノロール表示
で表示させる音高の表示位置が変更されたか否か判定す
る。表示位置が変更された場合、その判定はYESとな
ってステップ1111の処理に移行する。そうでない場
合、その判定はNOとなってステップ1112の処理に
移行する。
【0087】ピアノロール表示は、音高別に、それが発
音されるタイミングを表示する。図2のピアノロール表
示では、どの小節の音符データを表示させるといった時
間的な表示位置の変更を行っても、バックグランドを変
化させなくとも良いが、表示させる音高領域が変更され
ると、その変更に伴ってバックグランドを変化させなく
てはならない。上記ステップ1110は、バックグラン
ドの表示座標を書き換える必要が生じたか否かを判定す
る処理である。表示座標を書き換える必要があると判定
されると、続くステップ1111において、バックグラ
ンドの表示座標を書き換える処理を行い、その後、ステ
ップ1112の処理に移行する。
【0088】上記表示座標を書き換える処理は、図6の
ワークRAM106に割り当てられた領域であるバック
グランドの表示座標(図6参照)の表示座標データに対
して行うとともに、図8のVDP113のBG表示位置
レジスタ803の表示座標データに対して行う。BG表
示位置レジスタ803の表示座標データの書き換えは、
CPU102が制御信号SCとしてVDP113に表示
座標データを送出し、VDP113のバックグランドコ
ントロール回路804がCPUインターフェイス回路8
01を介してこれを受け取り、この受け取った表示座標
データをBG表示位置レジスタ803に書き込むことで
実現される。
【0089】なお、詳細な説明は省略するが、バックグ
ランドの音高領域は、例えば、スイッチ群103として
備えた、左右上下キーからなるカーソルキー群の、上キ
ー、或いは下キーに対する操作をユーザが行った場合に
変更される。
【0090】ステップ1112では、再生中フラグの値
が1か否か、即ち現在楽曲データの再生を行っているか
否か判定する。再生中フラグの値が1であった場合、そ
の判定はYESとなってステップ1113の処理に移行
する。そうでない場合、その判定はN0となり、ステッ
プ1102の処理に戻る。
【0091】ステップ1113では、楽曲RAM107
に格納されている楽曲データを音符データ毎に順次読み
出して、その音符データで楽音を発音させるための発音
コマンドを生成し、この生成した発音コマンドを音源部
108に送出することで楽曲データの再生を行う再生処
理を行う。
【0092】この再生処理では、その音符データの時間
データ(小節先頭からのクロック(発音開始タイミン
グ))から、生成した発音コマンドは現時点のタイミン
グで音源部108に送出すべきか否か判断し、送出すべ
きタイミングであると判断した場合にのみ、生成した発
音コマンドを音源部109に送出する。再生処理は、現
時点のタイミングで送出すべき発音コマンドを全て音源
部109に送出することでその処理を終了し、ステップ
1102の処理に戻る。
【0093】このように、ステップ1102〜1113
の処理を繰り返し行うことで、ユーザが所望する楽音が
スピーカ111から放音され、また、所望するピアノロ
ール表示がテレビ101の画面に表示される。
【0094】次に、上記ステップ1109の表示処理に
ついて、詳細に説明する。図12〜図18は、このステ
ップ1109の表示処理内で実行される各種サブルーチ
ン処理の動作フローチャートをそれぞれ示している。最
初に、右カーソル表示位置算出処理について、図12に
示すその動作フローチャートを参照して説明する。
【0095】図3に示すように、オブジェクト(OB
J)面にアサインされているカーソルOB3は、楽曲デ
ータの入力において、楽音として発音させる音高、及び
その発音タイミングを指定するために用いられる。この
カーソルOB3は、スイッチ群103のスイッチとして
備えた、上下左右キーからなるカーソルキー群に対する
操作に応じて、その表示位置が画面上を移動する。カー
ソルOB3の表示位置は、楽曲データ(音符データ)の
表示やそれの入力に合わせてカーソルOB3を移動させ
るために、クロックで管理される。図12に示す右カー
ソル表示位置算出処理は、カーソルキー群の右キーに対
する操作に応じて、カーソルOB3を表示する小節、及
びその小節内での位置を算出する処理である。
【0096】先ず、ステップ1201では、ワークRA
M106に格納される変数であるカーソル小節クロック
に、現在カーソルOB3が表示されている小節のクロッ
ク(図5参照)値を代入する。ワークRAM106に格
納されている変数の1つに、現在カーソルOB3が表示
されている小節を示す値が代入されるカーソル表示小節
があり、このカーソル表示小節の値によりその小節は特
定される。続くステップ1202では、ロケーションク
ロックに、現在カーソル0B3が表示されている位置を
示すカーソルロケーションクロックの値に単位音符クロ
ックの値を加算した値を代入する。
【0097】上記ロケーションクロック、カーソルロケ
ーションクロックは、ともにワークRAM106に格納
される変数である。本実施の形態では、右キーに関わら
ず、カーソルキー群に対する1度の操作でカーソルOB
3を移動させる量を定めている。単位音符クロックは、
左右キーに対する1度の操作でカーソルOB3を移動さ
せる量である。この単位音符クロックは、デフォルトと
して、例えば4分音符長に相当するクロックが予め設定
されている。特に詳細な説明は省略するが、ユーザはゲ
ートタイムを入力する要領で、この設定を変更すること
ができるようになっている。
【0098】ステップ1202に続けて実行するステッ
プ1203では、カーソル小節クロックの値はロケーシ
ョンクロックの値よりも大きいか否か、即ち、右キーが
操作されることでカーソルOB3を移動させても、その
新たな表示位置は現在表示されている小節内であるか否
か判定する。右キーに対する1回の操作でカーソルOB
3が元の小節内に収まらなくなる場合、その判定はNO
となってステップ1205の処理に移行する。そうでな
く、元の小節内にカーソルOB3が収まる場合には、そ
の判定はYESとなってステップ1204の処理に移行
する。
【0099】ステップ1204では、右キーに対して行
われた1回の操作により、カーソルOB3は元の小節の
外にその表示位置が移動しないことから、カーソルロケ
ーションクロックにロケーションクロックの値を代入す
る。これにより、カーソルロケーションクロックには、
その元の値に単位音符クロックの値を加算した値が代入
される。ステップ1204の処理が終了した後、一連の
処理も終了する。
【0100】他方のステップ1205では、ワークRA
M106、或いはCPU102内のレジスタ(図示せ
ず)に格納される変数である累算クロックにカーソル小
節クロックの値を代入する。その後、ステップ1206
の処理に移行する。
【0101】ステップ1206では、累算クロックの値
はロケーションクロックの値以下か否か判定する。累算
クロックの値はロケーションクロックの値以下と判定す
ると、次に、ステップ1207でカーソル表示小節のイ
ンクリメントを行う。カーソル表示小節をインクリメン
トすると、ステップ1208において、累算クロック
に、カーソル表示小節が示す小節のクロックを加算し、
その後、ステップ1206の処理に戻る。
【0102】各小節のクロックは、ユーザが任意の値を
入力できるデータであることから、右キー(左キー)が
操作されたとき、その操作に伴って移動させるカーソル
OB3をどの小節内に表示させるべきかを直ちに知るこ
とができない。上記ステップ1206〜1208の処理
の繰り返しは、単位音符クロック分だけ移動させたカー
ソルOB3がどの小節内に表示されるのかを特定するた
めに行うものである。ステップ1206において、累算
クロックの値がロケーションクロックの値より大きい
(NO)と判定した場合、そのときのカーソル表示小節
が示す小節の1つ前が、カーソルOB3を表示すべき小
節となる。
【0103】ステップ1206でNOと判定した場合、
続いて実行されるステップ1209では、カーソルロケ
ーションクロックに、ロケーションクロックの値から、
累算クロックの値にカーソル表示小節のクロックの値を
減算した値を代入する。言い換えれば、ロケーションク
ロックの値から、カーソルOB3を表示すべき小節の1
つ前までのクロックの累算値を減算した値を、カーソル
ロケーションクロックに代入する。これにより、カーソ
ルOB3の表示位置を示すカーソルロケーションクロッ
クには、カーソルOB3が表示される小節の先頭からの
クロックの値が代入されることになる。また、ステップ
1209では、カーソルロケーションクロックへの値の
代入が終了した後、カーソル表示小節の値を正確な値と
するために、カーソル表示小節のデクリメントが行われ
る。このカーソル表示小節のデクリメントが終了した
後、一連の処理が終了する。
【0104】このように、カーソルOB3の表示位置
は、カーソルOB3がそのなかに表示される小節を示す
カーソル表示小節、及びそれが表示されるその小節の先
頭からの相対的位置を示すカーソルロケーションクロッ
クで管理される。
【0105】なお、左キーの操作により、カーソルOB
3は右キーの操作時と同様に移動する。カーソルOB3
の移動は、右キーと左キーとではその向きが異なるだけ
であることから、左キーの操作に応じてカーソルOB3
を新たに表示させる位置を算出する処理の流れは、上述
した右カーソル表示位置算出処理と基本的に同じであ
る。このため、左キーの操作に応じてカーソルOB3の
表示位置を算出する処理については説明を省略すること
にする。
【0106】ピアノロール表示は、カーソルOB3の移
動に応じて、表示する小節、及びその配置を変更、即ち
スクロールさせる。カーソルOB3の表示位置、即ちそ
れが表示される小節、及びその小節内での位置が決定し
た後、カーソルOB3の移動に応じて画面上に表示させ
る小節、及びその配置を決定し、表示をスクロールさせ
るスクロール表示処理が行われる。このスクロール表示
処理は、右キー、左キーの各キーに対する操作に応じて
それぞれ用意されているが、その基本的な処理の流れは
同じである。このため、右キーの操作に対応した右スク
ロール表示処理だけを説明する。図13は、上記右スク
ロール表示処理の動作フローチャートである。
【0107】上記右スクロール表示処理の詳細を説明す
る前に、CPU102がこの処理を実行することで実現
される表示画面の右スクロールについて、図19〜図2
2を参照して具体的に説明する。この説明は、右スクロ
ール表示処理の内容の理解を容易にするために行うもの
である。
【0108】図19〜図22は、カーソルOB3の右移
動に伴う表示画面変化を示す図である。図19から図2
2にかけて、ユーザが右キーを操作する度に移動するカ
ーソルOB3のピアノロール表示上の表示位置の変化、
及びピアノロール表示自体の変化の様子を示している。
即ち、図19に示す表示状態を初期状態としたとき、右
キーに対する操作を行う度に、図19→図20→図21
→図22の順序で表示画面が変化していく様子を示して
いる。
【0109】図20は、図19に示す状態で右キーを1
回操作した後の状態を示している。これら2つの表示画
面において、表示画面上での表示位置が変わったオブジ
ェクトはカーソルOB3だけである。従って、図19と
図20でのカーソルOB3の表示位置の違いが、このと
きに設定されている単位音符(クロック)の音符長であ
る。具体的には、このときに設定されている単位音符長
は付点2分音符長である。
【0110】図20に示す状態で右キーを更に1回操作
すると、その表示画面上において、右端の小節内がカー
ソルOB3の表示位置となる(小節線OB2上のカーソ
ルOB3の表示小節は、その小節線OB2を先頭とする
小節である)。このように、右端の小節がカーソルOB
3の表示小節となった場合、換言すれば、カーソルOB
の表示位置が右端の小節線OB2の右側に越えた場合、
その表示小節を全て表示するように、左端側の小節を消
去し、その消去した分の小節を右端に表示する小節単位
の右スクロールが行われる。
【0111】図21がその右スクロールが行われた後の
状態である。この右スクロールで左端の小節を消去した
ことで、表示小節の右側に2つの小節が新たに表示され
ている。この状態でさらに右キーを操作すると、図22
に示す状態となる。このときには、カーソルOB3は右
端の小節に移動しないことから、右スクロールは行われ
ず、カーソルOB3の表示位置のみが変更されている。
【0112】上述したような表示画面の表示、右スクロ
ールを実現するための処理が右スクロール表示処理であ
る。次に、図13に示す動作フローチャートを参照し
て、右スクロール表示処理の一連の処理動作を詳細に説
明する。
【0113】先ず、ステップ1301では、画面上に表
示できる小節数を算出する表示可能小節数算出処理を実
行する。この処理は、表示開始小節を引数として渡した
後、表示可能小節数を受け取ることで終了する。
【0114】上述したように、小節のクロックはユーザ
が任意に設定できるデータであることから、カーソルO
B3を表示させていた位置、及びそれの移動量から画面
上に表示できる小節数を直ちに知ることはできない。画
面に表示させる小節は、例えば図19〜図22の各表示
画面に示すように、画面の左端から順次配置していく形
で表示される。上記表示開始小節は、画面の左端に表示
されている小節を示す値が代入される、ワークRAM1
06に格納される変数である。表示可能小節数算出処理
は、右スクロール表示処理から引数として受け取った表
示開始小節の値が示す小節をその先頭から、その小節に
連なる小節を幾つ完全に表示できるのかを求めて、その
数を引数である表示可能小節数として渡す処理である。
その詳細については後述する。
【0115】ステップ1301に続くステップ1302
では、前述したカーソル表示小節の値から表示開始小節
の値を減算した値が、表示可能小節数算出処理から受け
取った表示可能小節数以上か否か判定する。カーソル表
示小節の値から表示開始小節の値を減算した値が表示可
能小節数以上であった場合、その判定はYESとなって
ステップ1303の処理に移行する。そうでない場合、
ステップ1305の処理に移行する。
【0116】ステップ1303では、表示開始小節をイ
ンクリメントする。この表示開始小節のインクリメント
は、画面上において、左端の1小節を画面から消す右ス
クロールを行ったことに相当する。その後、ステップ1
304において、インクリメント後の表示開始小節を引
数として表示可能小節数算出処理を実行する。この処理
が終了した後、ステップ1302の処理に戻る。このと
き、ステップ1302では、ステップ1304の処理を
実行することで得た表示可能小節数を用いた判定処理を
行う。
【0117】カーソルOB3をその全てが表示されてい
ない小節に移動させた場合、カーソル表示小節の値から
表示開始小節の値を減算した値(減算値)は、完全に表
示されている小節の総数である表示可能小節数(図19
ではその値は3である)以上となり、ステップ1302
でYESと判定される。この場合、ステップ1302〜
1304の処理が行われ、それらの処理を繰り返す度
に、小節単位でスクロールが行われる。ステップ130
2でNOと判定される迄、このステップ1302〜13
04の処理を繰り返すことで、カーソルOB3が表示さ
れる小節が全て画面内に収まるようにスクロールされ
る。これにより、例えば図20に示すピアノロール表示
は、図21に示す状態に変化(スクロール)する。
【0118】一方、カーソルOB3をその全てが表示さ
れている小節に移動させた場合、カーソル表示小節の値
から表示開始小節の値を減算した値(減算値)は、表示
可能小節数より小さくなり、ステップ1302でNOと
判定される。従って、この場合は、カーソルOB3を右
移動させたにも関わらず、画面はスクロールされないこ
とになる。
【0119】スプライト方式では、例えば画面に表示さ
せているオブジェクトを全体的に移動させるような場
合、即ちピアノロール表示をスクロールさせる場合、そ
の移動によって新たに画面に表示させるオブジェクトを
含む、画面上に表示させる全てのオブジェクトの表示位
置を新たに設定しなければならない。表示させるオブジ
ェクトの数が少なく、また、予め設定された移動量だけ
移動させるといったように、それらの新たな表示位置の
算出も容易であれば別であるが、通常、画面上のオブジ
ェクトを全体的に移動させるために行う処理の負荷は非
常に重いものである。これは、表示方式が異なるグラフ
ィック方式においても同様である。
【0120】本実施の形態では、画面のスクロールを行
うか否かを判定するための条件を設け、その条件が満た
された場合にスクロールを行うようにしている。その判
定を行うのがステップ1302の処理であり、カーソル
OB3を右方向に移動させた場合、カーソルOB3が右
端の小節(最終小節)内に移動したときだけ、右スクロ
ールを行う。これにより、スクロールを行う頻度を低く
することができるので、表示方式に関わらず、画面表示
に関わるCPU102の処理の負荷を全体的に軽減させ
ることができる。このため、ピアノロール表示とともに
楽曲データの再生を行うときであっても、個々の楽音の
発音タイミングのズレ等を発生させることなく、これら
を行うための処理を実行することが可能となる。
【0121】スクロールを行う頻度を低くさせたこと
で、1度のスクロールで画面を動かす移動量を、その頻
度の低下に応じて大きくする必要が生じる。本実施の形
態では、その移動を小節単位で行っている。人は、楽曲
においては小節といったように、ある基準に基づいた単
位に区切られた情報を、その単位でそれの内容を把握し
ていく傾向がある。このため、上記した条件を設定し、
小節単位でスクロールさせても、ユーザのデータに対す
る視認性の低下を回避することができる。また、楽曲デ
ータにおいて、音符データで楽音の発音を開始するタイ
ミングは、上述したように、それが属している小節の先
頭からのクロックで管理していることから、小節単位で
スクロールさせることにより、各音符データの表示位置
の算出に関わる処理が簡易化するという利点もある。
【0122】各音符データは、それが属する小節の先頭
からのクロックでその発音開始タイミングが管理されて
いる。本実施の形態では、図20と図21からも判るよ
うに、開始小節をその先頭から表示させている。このよ
うに、開始小節をその先頭から表示させるようにスクロ
ールさせたことで、表示させるオブジェクト(ロールバ
ーOB1)の表示位置を容易に求めることができ、その
表示位置を求めるための処理の負荷を軽減できるという
効果もある。
【0123】なお、本実施の形態では、楽曲データをピ
アノロール表示の形式で表示させることから、データの
表示単位を小節としている。このように、データ自体が
ある単位(小節)毎にまとまっている場合、その単位を
表示単位とすれば良いが、必ずしもデータは単位でまと
まっているとは限らない。しかし、データが単位でまと
まっていない場合であっても、例えば表示画面を幾つか
の大きさの領域に分け、その領域を表示単位とすること
で、そのようなデータにも対応させることができる。
【0124】上記ステップ1302でNOと判定する
と、ピアノロール表示で表示する小節が確定したとし
て、ステップ1305の処理に移行する。このステップ
1305では、確定した小節の音符データを表現するた
めに、画面上にロールバーオブジェクトOB1を配置し
て表示させるピアノロールバー表示処理を実行する。こ
のピアノロールバー表示処理の実行が終了した後、一連
の処理を終了する。ピアノロールバー表示処理について
の詳細は後述する。
【0125】右キーの操作時は、この右スクロール表示
処理を実行することで、ピアノロール表示として表示す
る小節、及びその配置が確定する。これにより、CPU
102は、表示開始小節が示す小節、及びそれに続く小
節(その総計が表示可能小節数の値である)を表示させ
るために、小節線オブジェクトOB2のオブジェクトテ
ーブルデータを作成し、VDP113にこれを送出す
る。また、表示する小節、及びその配置の確定に伴い、
カーソルOB3を表示させる座標位置も確定することか
ら、カーソルオブジェクトOB3を表示させるためのオ
ブジェクトテーブルデータを作成し、VDP113にこ
れを送出する。これら作成したオブジェクトテーブルデ
ータをVDP113へ送出する処理は、特には図示しな
いが、ステップ1305のピアノロールバー表示処理に
先だって行われる。
【0126】次に、上記ステップ1301、及び130
4で実行される表示可能小節数算出処理を、図14に示
すその動作フローチャートを参照して詳細に説明する。
先ず、ステップ1401では、一連の処理で用いる変数
に対する初期設定を行う。具体的には、累算クロック
数、引数でもある表示可能小節数、及び変数iにそれぞ
れ0を代入する。これらの変数は、ワークRAM10
6、或いはCPU102内のレジスタに格納される。
【0127】ステップ1401に続くステップ1402
〜1406の処理の繰り返しでは、引数として受け取っ
た表示開始小節が示す小節から、それに連なる小節のク
ロックを順次累算クロック数に累算していき、累算クロ
ック数に代入されているクロックの累算値に対応する画
面上のX座標位置が、予め設定されている表示可能最大
X座標位置よりも大きくなった小節の位置を特定するこ
とが行われる。上記処理を繰り返した回数を0からカウ
ントしていくことにより、表示開始小節が示す小節を左
端として、それに連なって全て表示される小節の数が得
られる。
【0128】先ず、ステップ1402では、変数iの値
が予め定めた最大表示小節数αよりも小さいか否か判定
する。変数iの値が最大表示小節数αより小さい場合、
その判定はYESとなってステップ1403の処理に移
行する。そうでない場合、その判定はNOとなり、表示
可能小節数は上限であるとして、ここで一連の処理を終
了する。
【0129】ステップ1403では、累算クロック数
に、表示開始小節の値に変数iの値を加算した値が示す
小節のクロックを累算する。続くステップ1404で
は、この累算クロック数に代入されているクロックの累
算値に対応する表示画面上のX座標位置を求める処理を
行い、その後、ステップ1405の処理に移行する。
【0130】ステップ1405では、上記ステップ14
05で求めたX座標位置が、表示可能最大X座標位置よ
りも大きいか否か判定する。表示画面上の座標位置は、
その画面の左上端を基点として表現される。ステップ1
405で求めたX座標位置が、表示可能最大X座標位置
よりも右側であった場合、その判定はYESとなり、こ
こで一連の処理を終了する。そうでない場合、その判定
はNOとなってステップ1406の処理に移行する。
【0131】ステップ1406では、表示可能小節数、
及び変数iをインクリメントする。その後、ステップ1
402の処理に戻る。ステップ1402以降の処理で
は、対象をそれまでの小節の隣に移して、同様の処理が
行われる。このようにステップ1402〜1406の処
理を繰り返すことで、ステップ1405でYESと判定
されたとき、表示可能小節数には、表示開始小節が示す
小節を先頭として、それを除いた表示できる小節の数が
代入されていることになる。この小節の数は、全てが完
全に表示される小節の数と同じ値である。
【0132】図23は、表示倍率最小時のピアノロール
表示例を示す図である。このピアノロール表示は、小節
を最高で20まで表示できるように設定したときのもの
である(従って、このとき最大表示小節数αに設定され
ている値は21である)。図23に示すように、右側に
は音符データ(小節)を表示できる余白部はまだあるに
も関わらず、20小節だけが表示されている。
【0133】この状態で、カーソルOB3を右方向に動
かしていくと、21小節目にカーソルOB3が移動する
ときに、画面の右スクロールが行われる。これにより、
例えば音符データの入力といったエディットを行おうと
する小節に関しては、その境界を示す小節線を含め、上
述したスクロール方法に対応した小節の表示が行われ
る。なお、図23に示すピアノロール表示は、1小節目
に2/16拍子に相当するクロックを入力した際のもの
である。
【0134】次に、図13のステップ1305のピアノ
ロールバー表示処理について、図15に示すその動作フ
ローチャートを参照して説明する。なお、このピアノロ
ールバー表示処理は、上述したように、ピアノロール表
示に表示させる小節が確定した後に行われる処理であ
る。
【0135】図15に示すように、このピアノロールバ
ー表示処理は、ステップ1501の先小節表示処理と、
ステップ1502のタイ音スキャン表示処理とからな
る。以降、これら各サブルーチン処理について、図16
〜図18を参照して詳細に説明する。
【0136】図16は、上記ステップ1501の先小節
表示処理の動作フローチャートである。先ず、この図1
6を参照して、先小節表示処理について説明する。本実
施の形態では、ピアノロール表示に表示させる小節に対
し、時間軸正方向でそれに属している音符データを表現
するロールバーオブジェクトOB1を配置していくよう
にしている。具体的には、表示開始小節が示す画面左端
の小節、その次の小節、更にそれの次の小節という具合
に、表示開始小節が示す画面左端の小節から表示される
最後の小節まで、順次小節単位で音符データを表現する
ための処理を行う。先小節表示処理は、この表示されて
いる小節の音符データを画面上に表現するために行われ
る処理である。
【0137】先ず、ステップ1601では、画面上に表
示可能な最終小節を求める処理を行う。上記したよう
に、表示される先頭の小節(以降、開始小節と記す)
は、変数である表示開始小節で示され、完全な形で表示
される小節の総数は、変数である表示可能小節数で示さ
れる(図14参照)。従って、表示開始小節の値に表示
可能小節数の値を加算することで、上記最終小節は求め
られる。
【0138】ステップ1601に続くステップ1602
では、開始小節の1つ前の小節から最終小節までの各小
節のクロックを楽曲RAM107から読み出し、これら
読み出した各小節のクロックを、図6のワークRAM1
06に割り当てたバッファ領域に格納する処理を行う。
このワークRAM106へのデータの格納が終了した
後、ステップ1603において、ワークRAM106、
或いはCPU102内のレジスタに格納される変数であ
る現在スキャン小節、及び累算クロックにそれぞれ0を
代入する初期設定を行う。
【0139】上記現在スキャン小節は、現在音符データ
を表現させるための処理を行っている小節を把握するた
めの変数である。現在スキャン小節の値が0のときの処
理対象は開始小節である。他方の累算クロックは、音符
データを表現するために配置するロールバーオブジェク
トOB1の座標位置を求めるために使用されるローカル
変数である。これら各変数に対する初期設定が終了する
と、ステップ1604の処理に移行する。
【0140】ステップ1604〜1610では、小節毎
に、その小節内の音符データを順次処理しながら、音符
データを表現するロールバーオブジェクトOB1を画面
上に配置していく処理が行われる。
【0141】先ず、ステップ1604では、現在スキャ
ン小節が示す小節内に音符データが有るか否か判定す
る。その小節内に音符データが元々無いか、或いはその
小節内の全ての音符データに対する処理が終了した場
合、その判定はNOとなってステップ1609の処理に
移行する。そうでない場合、その判定はYESとなって
ステップ1605の処理に移行する。
【0142】ステップ1605では、その小節内で次に
処理すべき音符データを楽曲RAM107から読み出す
ことで取得する。その後、ステップ1606において、
ステップ1605で取得した音符データの小節先頭から
のクロックの値を累算クロックの値に加算する。
【0143】累算クロックには、開始小節から処理対象
である小節の先頭までのクロックの累算値が代入され
る。従って、この累算クロックの値に小節先頭からのク
ロックの値を加算した値は、その音符データが表示され
る画面上の座標位置をクロックの値で表したものとな
る。
【0144】ステップ1606に続くステップ1607
では、ステップ1605で取得した音符データに応じた
ロールバーオブジェクトOB1の形状を決定し、この形
状を決定したロールバーオブジェクトOB1を画面上に
配置させるロールバーオブジェクト配置処理を実行す
る。このロールバーオブジェクト配置処理では、VDP
113のオブジェクトテーブルRAM805へのオブジ
ェクトテーブルデータの転送が行われる。このとき、V
DP113のオブジェクトテーブルRAM805へ転送
したオブジェクトテーブルデータに対応するデータは、
図6に示す形式で、ワークRAM106に格納される。
【0145】ステップ1607に続くステップ1608
では、オブジェクトテーブルRAM805の現在の使用
状況から、表示できるオブジェクト数に残りが有るか否
か判定する。オブジェクトテーブルRAM805に格納
できるオブジェクトテーブルデータには上限がある。オ
ブジェクトテーブルデータがその上限に達していない場
合、その判定はYESとなってステップ1604の処理
に戻る。そうでない場合、その判定はNOとなり、ここ
で一連の処理を終了する。
【0146】スプライト方式を採用した場合、表示でき
るオブジェクト数の上限が発生する。本実施の形態で
は、上述したように、開始小節から最終小節に、処理対
象の小節を順次変更する。小節に対するこの処理順序で
音符データにロールバーオブジェクトOB1が割り当て
られていくことから、その処理順序が音符データの表示
における優先順位となる。本実施の形態では、音符デー
タを表示させる小節の優先順位を考慮し、最も重要と考
えられる小節から処理を行うように、処理順序を決定し
ている。このため、最も重要な音符データを確実に表示
させることができるようになっている。
【0147】なお、当然のことながら、この先小節表示
処理に続けて実行されるタイ音スキャン表示処理でロー
ルバーオブジェクトOB1が割り当てられる音符データ
は、先小節表示処理でロールバーオブジェクトOB1が
割り当てられる音符データよりも優先順位は低くなる。
【0148】処理対象の小節内の音符データを全て処理
すると、ステップ1604ではNOと判定され、次にス
テップ1609の処理が行われる。このステップ160
9では、処理対象の小節の更新を行う。具体的には、累
算クロックに、その現在の値に現在スキャン小節が示す
小節のクロックの値を加算した値を代入した後、現在ス
キャン小節をインクリメントする。
【0149】例えば、開始小節の処理が終了し、その次
の小節に処理対象を変更するとき、このステップ160
9で、累算クロックに開始小節のクロックの値が代入さ
れる。このことから判るように、処理対象としている小
節のその先頭までのクロックの累算値が累算クロックに
代入される。
【0150】ステップ1609に続くステップ1610
では、現在スキャン小節が示す小節が、表示可能な最終
小節以降の小節であるか否か判定する。開始小節から最
終小節までの各小節の処理が終了した場合、その判定は
YESとなり、ここで一連の処理を終了する。そうでな
い場合、その判定はNOとなってステップ1604の処
理に戻る。
【0151】このようにして、画面に表示される開始小
節から最終小節までの各小節の音符データは、予め定め
た優先順位(処理順序)に従って処理され、画面にロー
ルバーオブジェクトOB1として表示される。
【0152】次に、上記ステップ1607のロールバー
オブジェクト配置処理について、図17に示すその動作
フローチャートを参照して説明する。このロールバーオ
ブジェクト配置処理は、ステップ1605で取得した音
符データを表現するロールバーオブジェクトOB1の形
状、及びそれの表示位置を決定し、これらの決定に従っ
て作成したオブジェクトテーブルデータを、VDP11
3のオブジェクトテーブルRAM805に転送する処理
である。先小節表示処理からロールバーオブジェクト配
置処理へは、音符データの音高、ステップ1606で算
出した加算値、ゲートタイム等が引数として渡される。
【0153】先ず、ステップ1701では、引数として
渡された音高により、ロールバーオブジェクトOB1を
表示させるY座標上の表示位置を決定する。続くステッ
プ1702では、引数として渡されたステップ1606
で算出した加算値、即ち開始小節の先頭からのクロック
の値により、ロールバーオブジェクトOB1を表示させ
るX座標上の表示位置を決定する。
【0154】X座標上の表示位置を決定すると、次に、
ステップ1703において、設定されている表示倍率に
合わせたゲートタイムの右シフトを行う。この右シフト
は、図9を参照して説明したように、設定されている表
示倍率から1ドットに対応するクロック数を求め、その
クロック数に応じて行われる。例えば、1ドットが16
クロックに対応していた場合、図9に示すように、16
ビットのゲートタイムに対して4ビットの右シフトが行
われる。この右シフトが終了すると、ステップ1704
の処理に移行する。
【0155】ステップ1704では、上記右シフトを行
った結果、ゲートタイムの値が0になったか否か判定す
る。その値が0であった場合、その判定はYESとなっ
てステップ1705の処理に移行する。そうでない場
合、その判定はNOとなってステップ1706の処理に
移行する。
【0156】ステップ1705の処理に移行するのは、
ゲートタイムとして何らかの値が設定されていたが、ス
テップ1703の右シフトを行ったことで、その値を表
現している部分が切り捨てられた場合である。このた
め、ステップ1705では、表示させるロールバーオブ
ジェクトOB1の形状を指定するキャラクターネーム
に、(Xof+F,Yof+1)を設定する。このと
き、画像セル数で表すロールバーオブジェクトOB1の
長さであるXサイズは1である。本実施の形態では、こ
のように、表示倍率によってその長さが表示分解能の限
界(1ドット)以下となったゲートタイムを、最小フォ
ントのロールバーオブジェクトOB1の画像セル(図1
0(b)参照)で表現している。ステップ1705の処
理が終了すると、ステップ1715の処理に移行する。
【0157】他方のステップ1706の処理に移行する
のは、右シフトを行ってもゲートタイムを表現している
部分が残っている場合である。このステップ1706で
は、その残っている部分で表現される値が80H(Hは
16進数表現を表す)を越えているか否か判定する。例
えば図9において、有効としているビットの上位ビット
(この例では5ビットである)が何らかの値を表してい
る場合、そのゲートタイムの値は80H以上である。上
位ビットが何らかの値を表している場合、その判定はY
ESとなってステップ1707の処理に移行する。そう
でない場合、その判定はNOとなってステップ1713
の処理に移行する。
【0158】ステップ1707の処理への移行は、右端
の画像セルが最大フォントであり、最もその長さが長い
キャラクターネーム(Xof,Yof+8)のロールバ
ーオブジェクトOB1を用いても、そのゲートタイムを
表現できない場合に行われる。このため、ステップ17
07〜1712の処理の繰り返しでは、このようなゲー
トタイムを表現するために必要な分のキャラクターネー
ム(Xof,Yof+8)のロールバーオブジェクトO
B1を画面上に配置していく処理を行う。
【0159】先ず、ステップ1707では、表示(配
置)させるロールバーオブジェクトOB1を指定するキ
ャラクターネームとして、キャラクターネーム(Xo
f,Yof+8)を設定する。続くステップ1708で
は、表示できるオブジェクト数はオーバーしていないか
否か判定する。VDP113のオブジェクトテーブルR
AM805にオブジェクトテーブルデータを格納する領
域がまだ残っている場合、その判定はNOとなってステ
ップ1709の処理に移行する。そうでない場合、その
判定はYESとなり、ここで一連の処理が終了する。
【0160】後者の場合、オブジェクトテーブルRAM
805にはオブジェクトテーブルデータを格納する領域
が残っていないことから、このロールバーオブジェクト
配置処理を呼び出した処理が先小節表示処理、或いはタ
イ音スキャン表示処理であるかに関わらず、ピアノロー
ルバー表示処理自体の一連の処理をここで終了する(図
15参照)。
【0161】ステップ1709では、ステップ1707
で設定したキャラクターネーム(Xof,Yof+8)
のロールバーオブジェクトOB1を表示させるオブジェ
クトテーブルデータを作成し、これをオブジェクトテー
ブルRAM805へ転送する処理を行う。
【0162】CPU102が作成したオブジェクトテー
ブルデータのオブジェクトテーブルRAM805への転
送は、CPU102が制御信号SCとしてこれをVDP
113のCPUインターフェイス回路801に送り、そ
の後、オブジェクトコントロール回路807が、CPU
インターフェイス回路801から送られたオブジェクト
テーブルデータをオブジェクトテーブルRAM805に
格納することで実現される。
【0163】上記オブジェクトテーブルデータの転送が
終了すると、次に、ステップ1710において、キャラ
クターネーム(Xof,Yof+8)のロールバーオブ
ジェクトOB1で表示されるX座標上の長さに応じた表
示X座標位置の更新を行う。これにより、次にロールバ
ーオブジェクトOB1を表示するX座標上の位置が確定
する。なお、処理対象の音符データ自体は変わらないの
で、Y座標上の表示位置はステップ1701で決定され
た位置である。
【0164】ステップ1710に続くステップ1711
では、キャラクターネーム(Xof,Yof+8)のロ
ールバーオブジェクトOB1で表現されるクロック数に
合わせて、ゲートタイムの減算を行う。これにより、残
りの表現すべきゲートタイムのクロック数が確定する。
【0165】ステップ1711に続くステップ1712
では、上記減算を行った後のゲートタイムの値が80H
を越えているか否か判定する。減算を行った後のゲート
タイムが最大ドット数であるキャラクターネーム(Xo
f,Yof+8)のロールバーオブジェクトOB1で表
現できない場合、その判定はYESとなってステップ1
707の処理に戻る。そうでない場合、その判定はNO
となってステップ1713の処理に移行する。
【0166】ステップ1707〜1712の処理を繰り
返す度に、キャラクターネーム(Xof,Yof+8)
のロールバーオブジェクトOB1が画面上に配置され、
それを繰り返すことで、ゲートタイムを表現するために
必要な分のキャラクターネーム(Xof,Yof+8)
のロールバーオブジェクトOB1が画面上に配置される
ことになる。
【0167】ステップ1713の処理への移行は、キャ
ラクターネーム(Xof,Yof+8)のロールバーオ
ブジェクトOB1を用いることなく、即ち図9に示すロ
ールバーオブジェクトOB1の何れかを用いてゲートタ
イムを表現できる場合に行われる。ステップ1713〜
1716は、図9を参照して説明したように、有効した
ゲートタイムの下位3ビット、及び中位4ビットの値に
応じて行われる。
【0168】先ず、ステップ1713では、中位4ビッ
ト、即ち画像セルを単位としたゲートタイムの長さから
Xサイズ、及びキャラクターネームXを決定する。この
とき、例えば中位4ビットの値が3D(Dは10進数表
現を表す)であった場合、図9に示すように、Xサイズ
は3、他方のキャラクターネームXはXof+F−3と
なる。
【0169】ステップ1713に続くステップ1714
では、下位3ビット、即ち画像セル内におけるロールバ
ーオブジェクトOB1の長さ(ドット数)から、キャラ
クターネームYを決定する。このとき、例えば下位3ビ
ットの値が5Dであった場合、図9に示すように、キャ
ラクターネームYとしてYof+5が決定される。
【0170】上記ステップ1713、及び1714の処
理を実行することで、図9に示すロールバー平面から切
り出すロールバーオブジェクトOB1が確定する。ステ
ップ1714に続くステップ1715では、表示できる
オブジェクト数はオーバーしていないか否か判定する。
VDP113のオブジェクトテーブルRAM805にオ
ブジェクトテーブルデータを格納する領域がまだ残って
いる場合、その判定はNOとなってステップ1716の
処理に移行する。そうでない場合、その判定はYESと
なり、ここで一連の処理が終了する。後者の場合、オブ
ジェクトテーブルRAM805にはオブジェクトテーブ
ルデータを格納する領域が残っていないことから、ピア
ノロールバー表示処理自体もここで終了する(図15参
照)。
【0171】このように、呼び出した処理から引数とし
て受け取った音符データの音高、ゲートタイム、及びそ
のゲートタイムのX座標上の表示位置から、そのゲート
タイムを表現するロールバーオブジェクトOB1の形
状、及びそれを画面上に配置させる座標位置を決定し、
この決定からオブジェクトテーブルデータを作成し、こ
のオブジェクトテーブルデータのオブジェクトテーブル
RAM805への転送が行われる。これにより、音符デ
ータを表現するロールバーOB1がテレビ101の画面
上に表示されることになる。
【0172】次に、図15のステップ1502のタイ音
スキャン表示処理について、図18に示すその動作フロ
ーチャートを参照して説明する。楽譜上で用いられるタ
イは、切れ目なく連続したひとつの音として演奏され
る、2つの同じ高さの音(音符)の上か下に付けられる
弧線である。このタイで演奏期間が示される音がタイ音
である。タイは、同じ小節のなかで使われるほか、縦線
(小節線)をまたいで異なる小節の音に及ぶこともあ
る。
【0173】音が発音される期間はゲートタイムで設定
することから、複数の小節にまたがって演奏されるタイ
音の音符データは、それが発音を開始する小節のデータ
となる。上述した先小節表示処理は、表示される小節を
対象にして、各小節の音符データを表示させる。このた
め、先小節表示処理では、開始小節よりも前の小節か
ら、その開始小節の先頭より後まで発音が継続するタイ
音は表示できない。タイ音スキャン表示処理は、本来表
示すべきところを表示されていないタイ音を表示画面上
に表示させるための処理である。
【0174】ピアノロールバー表示処理は、上述した先
小節表示処理とこのタイ音スキャン表示処理とからな
る。このようにサブルーチン化し、その記載順序でそれ
らを実行するのは、表示すべき音符データの重要度を考
慮して、優先順位が高いほうを優先させて表示させるた
めである。
【0175】本実施の形態のタイ音スキャン表示処理で
は、タイ音をスキャンする範囲を、開始小節の1小節前
から32小節前までとし、1小節前からそれよりも前の
小節に順次遡りながら小節内の音符データのゲートタイ
ムを見ていき、そのゲートタイムによる発音の終わりが
開始小節の先頭以降であった場合に、そのゲートタイム
を有する音符データを画面上に表現する。
【0176】先ず、ステップ1801では、図5に示す
楽曲RAM107から、開始小節の1小節前から32小
節前までの各小節のクロックを読み出し、これら読み出
した各小節のクロックを、図6に示すワークRAM10
6のバッファ領域に格納する処理を行う。続くステップ
1802では、ワークRAM106、或いはCPU10
2内のレジスタに格納される変数である現在スキャン前
小節、及び累算クロックにそれぞれ初期値を代入し、こ
れら変数に対する初期設定を行う。このとき、現在スキ
ャン前小節には1、累算クロックには、開始小節の1小
節前のクロックの値がそれぞれ代入される。
【0177】上記現在スキャン前小節は、現在タイ音と
して表示すべき音符データを探している(スキャンして
いる)小節を把握するための変数である。初期値として
代入した1は、スキャンする小節が開始小節の1小節前
であることを示している。スキャンする小節が開始小節
の2小節前であれば、現在スキャン前小節には2が代入
され、スキャンする小節を遡る毎にその値はインクリメ
ントされる。他方の累算クロックは、この処理内だけで
用いられるローカル変数であり、開始小節の先頭以降ま
で発音が継続するタイ音を検出するために、現在スキャ
ン対象としている小節の先頭から開始小節の先頭までの
クロックの累算値が代入される。初期値として開始小節
の1小節前のクロックの値を代入するのはこのためであ
る。
【0178】上記ステップ1802に続くステップ18
03〜1810の処理では、スキャン対象の小節を順次
前に遡らせながら、その小節内で開始小節の先頭よりも
後まで発音が継続する音符データ(タイ音)を検出し、
この検出したタイ音を画面に表現させるための処理が行
われる。
【0179】先ず、ステップ1803では、現在スキャ
ン前小節が示すスキャン対象の小節内に音符データが有
るか否か判定する。その小節内に音符データが元々無い
か、或いはその小節内の全ての音符データに対する処理
が終了した場合、その判定はNOとなってステップ18
09の処理に移行する。そうでない場合、その判定はY
ESとなってステップ1804の処理に移行する。
【0180】ステップ1804では、その小節内で次に
処理すべき音符データを楽曲RAM107から読み出す
ことで取得する。その後、ステップ1805において、
ステップ1804で取得した音符データの発音終了は開
始小節の先頭よりも後であるか否か判定する。
【0181】この判定は、その音符データの、小節先頭
からのクロックの値にゲートタイムの値を加算し、これ
らを加算した値と累算クロックの値を対比することで行
われる。上記加算値が累算クロックの値よりも大きい場
合、即ち音符データの発音終了は開始小節の先頭よりも
後であった場合、その判定はYESとなってステップ1
806の処理に移行する。そうでない場合、その判定は
N0となってステップ1803の処理に戻る。
【0182】ステップ1806では、その音符データを
表現するロールバーオブジェクトOB1を画面に配置さ
せるためのデータ(ロールバーオブジェクト配置処理に
渡す引数である)の作成を行い、続くステップ1807
では、ステップ1806で作成されたデータを引数とし
てロールバーオブジェクト配置処理を行う。
【0183】上述したように、ロールバーオブジェクト
配置処理は、引数として渡された音高、発音を開始する
開始小節先頭からのクロック、及び発音期間であるゲー
トタイムを基に、画面上に配置するロールバーオブジェ
クトOB1の形状、及びその座標位置を決定する。
【0184】画面に表示されない小節から開始小節の先
頭よりも後まで発音が継続するタイ音は、画面上では開
始小節の先頭から表示させる必要がある。そのタイ音の
画面上の発音期間(ゲートタイム)は、開始小節の先頭
から発音が終了するまでとなる。これらのことから、ス
テップ1806では、開始小節先頭からのクロックの値
を0としている。また、画面上のゲートタイムの値は、
音符データとして設定されている小節先頭からのクロッ
クの値とゲートタイムの値の加算値から、累算クロック
の値を減算した値としている。これにより、画面上に表
示されていない小節のタイ音は、画面上に適正に表現さ
れることになる。
【0185】ステップ1807のロールバーオブジェク
ト配置処理が終了すると、次にステップ1808におい
て、オブジェクトテーブルRAM805の現在の使用状
況から、表示できるオブジェクト数に残りが有るか否か
判定する。オブジェクトテーブルRAM805に格納で
きるオブジェクトテーブルデータには上限がある。オブ
ジェクトテーブルデータがその上限に達していない場
合、その判定はYESとなってステップ1803の処理
に戻る。そうでない場合、その判定はNOとなり、ここ
で一連の処理を終了する。
【0186】このように、上記ステップ1803〜18
08の処理を繰り返しにより、スキャン対象の小節内か
ら、タイ音として表示すべき音符データが探し出され、
探し出されたタイ音が適正な状態で画面上に表示され
る。
【0187】上記ステップ1803でNOと判定、即ち
現在スキャン前小節が示すスキャン対象の小節内に音符
データが無いと判定すると、次にステップ1809の処
理に移行する。
【0188】このステップ1809では、スキャン対象
の小節の更新を行う。具体的には、現在スキャン前小節
をインクリメントし、累算クロックに、その現在の値に
インクリメントを行った後の現在スキャン前小節が示す
小節のクロックの値を加算した値を代入する。このよう
なスキャン対象の小節の更新が終了すると、ステップ1
810の処理に移行する。
【0189】ステップ1810では、現在スキャン前小
節の値が32よりも大きいか否か判定する。上述したよ
うに、本実施の形態ではスキャン範囲は開始小節の1小
節前から32小節前までとしている。現在スキャン前小
節には、開始小節の1小節前からそれよりも前に向かっ
てスキャン(処理)した小節の数が代入されている。従
って、スキャン範囲の全小節に対するスキャンが終了し
た場合、その判定はYESとなり、ここで一連の処理を
終了する。そうでない場合、その判定はNOとなってス
テップ1803の処理に戻り、現在スキャン前小節が示
す小節内の表示すべきタイ音の検出、及びその表示が行
われる。
【0190】なお、本実施の形態は、音符データを図形
表現で表すピアノロール表示を行う機能を備えた電子楽
器に本発明を適用したものであるが、本発明の適用はこ
れに限定されるものではない。その他に、例えば、スケ
ジュール表を表示する機能や、グラフといったような表
を表示する機能を備えた表示装置に対しても本発明は適
用することができ、本発明は様々な表示装置に対して広
く適用させることができるものである。
【0191】また、右スクロールは、カーソルOB3を
その全てが表示されていない最終小節(画面の右端の小
節)内に移動させた場合に、その小節が全て表示される
まで小節単位で行っているが、スクロール方法はこれに
限定するものではない。例えば、右スクロールは、カー
ソルOB3が最終小節の1小節前に移動させたときに行
っても良い。これは、小節単位でスクロールさせること
により、スクロールを行う頻度を低くできることから、
どのようにスクロールする条件を設定しても、画面表示
に関わる処理の全体的な負荷を低減することができるた
めである。
【0192】本実施の形態では、1度にスクロールする
移動量を、最終小節を全て表示できる小節数としている
が、例えば最終小節を開始小節にするようにスクロール
させても良い。また、移動量を幾つか用意し、例えば右
キーを間欠的に操作した場合には本実施の形態のように
スクロールさせるが、右キーを継続して操作した場合に
は、最終小節を開始小節にさせるまでスクロールさせて
も良い。このように、本発明は、様々な形で用いること
ができるものである。
【0193】次に、その他の実施の形態について説明す
る。ピアノロール表示は、楽曲データ(音符データ)の
エディットや、再生中の楽曲データの表示等に用いられ
る。楽曲データのエディットの場合はさておき、楽曲デ
ータの再生の場合には、CPU102は楽曲データに従
った発音コマンドの生成、及び楽曲データの再生中部分
を画面に表示させる表示コマンドの生成を平行して行わ
なければならない。CPU102が実行する処理が重い
ことに起因して発生する、楽曲データを再生するリズム
の崩れや個々の楽音を発音させるタイミングのズレとい
ったものを回避するためには、画面表示に関わる処理の
負荷は軽いことが望ましい。その他の実施の形態は、上
記実施の形態よりも画面表示に関わる処理の負荷を軽減
させたものである。
【0194】その他の実施の形態におけるシステム構成
は、上記実施の形態のものと同じである。このため、上
記実施の形態で付与した符号を用いて、内容が異なる処
理についてのみ説明することにする。
【0195】上記実施の形態による図18のタイ音スキ
ャン表示処理では、楽曲データの再生を行っているか否
かに関わらず、表示すべきタイ音を見つけるためのスキ
ャン範囲を、開始小節の1小節前から32小節前までと
している。楽曲データの再生を行っている場合、上記実
施の形態のスキャン範囲は大きく、その処理の負荷は重
くなっている。当然のことながら、小節内の音符データ
の数が大きい程、その処理の負荷は重くなる。このこと
から、その他の実施の形態では、楽曲データの再生を行
っている場合のスキャン範囲を、それを行っていない場
合のものよりもせばめることで、楽曲データの再生中に
おける表示処理の負荷を軽減させたものである。言い換
えれば、楽曲データの再生を行っている場合には、その
場合にスキャンを中止する部分のタイ音の表示よりも、
楽曲データの再生を優先させるようにしたものである。
【0196】図24は、その他の実施の形態によるタイ
音スキャン表示処理の動作フローチャートである。この
図24を参照して、そのタイ音スキャン表示処理につい
て詳細に説明する。
【0197】その他の実施の形態では、楽曲データの再
生を行っていない場合のスキャン範囲を、開始小節の1
小節前から32小節前までとし、そうでない場合、即ち
楽曲データの再生を行っている場合のスキャン範囲を、
開始小節の1小節前から8小節前までとしている。再生
中フラグの値から楽曲データを再生中か否か判定し、こ
の判定結果から、それぞれの場合毎に定めたスキャン範
囲の各小節をスキャンしてタイ音の表示を行う。
【0198】先ず、ステップ2401では、図5に示す
楽曲RAM107の楽曲データを再生中か否かを示す再
生中フラグがオン、即ちその値が1か否か判定する。楽
曲データが再生中であった場合、その判定はYESとな
ってステップ2402の処理に移行する。そうでない場
合、その判定はNOとなってステップ2403の処理に
移行する。
【0199】ステップ2402では、図5に示す楽曲R
AM107から、開始小節の1小節前から8小節前まで
の各小節のクロックを読み出し、これら読み出した各小
節のクロックを、図6に示すワークRAM106のバッ
ファ領域に格納する処理を行う。他方のステップ240
3では、図5に示す楽曲RAM107から、開始小節の
1小節前から32小節前までの各小節のクロックを読み
出し、これら読み出した各小節のクロックを、図6に示
すワークRAM106のバッファ領域に格納する処理を
行う。これらステップ2402、或いは2403の処理
が終了すると、次にステップ2404の処理を実行す
る。
【0200】ステップ2404では、ワークRAM10
6、或いはCPU102内のレジスタに格納される変数
である現在スキャン前小節、及び累算クロックにそれぞ
れ初期値を代入し、これら変数に対する初期設定を行
う。このとき、現在スキャン前小節には1、累算クロッ
クには、開始小節の1小節前のクロックの値がそれぞれ
代入される。
【0201】上記ステップ2404に続くステップ24
05〜2414の処理では、楽曲データの再生中か否か
によって決まるスキャン範囲内において、スキャン対象
の小節を順次前に遡らせながら、その小節内で開始小節
の先頭よりも後まで発音が継続する音符データ(タイ
音)を検出し、この検出したタイ音を画面に表現させる
ための処理が行われる。
【0202】先ず、ステップ2405では、現在スキャ
ン前小節が示すスキャン対象の小節内に音符データが有
るか否か判定する。その小節内に音符データが元々無い
か、或いはその小節内の全ての音符データに対する処理
が終了した場合、その判定はNOとなってステップ24
11の処理に移行する。そうでない場合、その判定はY
ESとなってステップ2406の処理に移行する。
【0203】ステップ2406では、その小節内で次に
処理すべき音符データを楽曲RAM107から読み出す
ことで取得する。その後、ステップ2407において、
ステップ2406で取得した音符データの発音終了は開
始小節の先頭よりも後であるか否か判定する。
【0204】この判定は、その音符データの、小節先頭
からのクロックの値にゲートタイムの値を加算し、これ
らを加算した値と累算クロックの値を対比することで行
われる。上記加算値が累算クロックの値よりも大きい場
合、即ち音符データの発音終了は開始小節の先頭よりも
後であった場合、その判定はYESとなってステップ2
408の処理に移行する。そうでない場合、その判定は
N0となってステップ2405の処理に戻る。
【0205】ステップ2408では、その音符データを
表現するロールバーオブジェクトOB1を画面に配置さ
せるためのデータ(ロールバーオブジェクト配置処理に
渡す引数である)の値の設定を行い、続くステップ24
09では、ステップ2408で作成されたデータを引数
としてロールバーオブジェクト配置処理を行う。
【0206】上述したように、ロールバーオブジェクト
配置処理へは、引数として、音高、発音を開始する開始
小節先頭からのクロック、及び発音期間であるゲートタ
イムが渡される。ステップ2408では、ロールバーオ
ブジェクト配置処理に渡す引数として、開始小節先頭か
らのクロック、及びゲートタイムの値をそれぞれ設定す
る。具体的には、開始小節先頭からのクロックには0、
他方のゲートタイムには、音符データとして設定されて
いる小節先頭からのクロックの値とゲートタイムの値の
加算値から、累算クロックの値を減算した値をそれぞれ
設定する。ロールバーオブジェクト配置処理は、これら
ステップ2408で設定された各引数の値を基に、ロー
ルバーオブジェクトOB1を画面上に配置する処理を行
う。
【0207】ステップ2409のロールバーオブジェク
ト配置処理が終了すると、次にステップ2410におい
て、オブジェクトテーブルRAM805の現在の使用状
況から、表示できるオブジェクト数に残りが有るか否か
判定する。オブジェクトテーブルRAM805に格納で
きるオブジェクトテーブルデータには上限がある。オブ
ジェクトテーブルデータがその上限に達していない場
合、その判定はYESとなってステップ2405の処理
に戻る。そうでない場合、その判定はNOとなり、ここ
で一連の処理を終了する。
【0208】このように、上記ステップ2405〜24
10の処理の繰り返しにより、スキャン対象の小節内か
ら、タイ音として表示すべき音符データが探し出され、
探し出されたタイ音が適正な状態で画面上に表示され
る。
【0209】上記ステップ2405でNOと判定、即ち
現在スキャン前小節が示すスキャン対象の小節内に音符
データが無いと判定すると、次にステップ2411の処
理に移行する。
【0210】このステップ2411では、スキャン対象
の小節の更新を行う。具体的には、現在スキャン前小節
をインクリメントし、累算クロックに、その現在の値に
インクリメントを行った後の現在スキャン前小節が示す
小節のクロックの値を加算した値を代入する。このよう
なスキャン対象の小節の更新が終了すると、ステップ2
412の処理に移行する。
【0211】ステップ2412では、再び再生中フラグ
がオンか否か判定する。楽曲データが再生中であった場
合、その判定はYESとなってステップ2413の処理
に移行する。そうでない場合、その判定はNOとなって
ステップ2414の処理に移行する。
【0212】楽曲データを再生しているときに実行され
るステップ2413では、現在スキャン前小節の値が8
より大きいか否か判定する。楽曲データ再生中のスキャ
ン範囲の全小節に対するスキャンが終了した場合、その
判定はYESとなり、ここで一連の処理を終了する。そ
うでない場合、その判定はNOとなってステップ240
5の処理に戻り、現在スキャン前小節が示す小節内の表
示すべきタイ音の検出、及びその表示が行われる。
【0213】楽曲データを再生していないときに実行さ
れるステップ2414では、現在スキャン前小節の値が
32より大きいか否か判定する。楽曲データが再生中で
ないときのスキャン範囲の全小節に対するスキャンが終
了した場合、その判定はYESとなり、ここで一連の処
理を終了する。そうでない場合、その判定はNOとなっ
てステップ2405の処理に戻り、現在スキャン前小節
が示す小節内の表示すべきタイ音の検出、及びその表示
が行われる。
【0214】
【発明の効果】以上、説明したように本発明は、予め用
意した登録パターンを用いて表示パターンを予め作成し
ておき、データの値に応じて、その表示パターンの全
部、或いは1部を切り出し、この切り出したパターンに
よりデータを図形表現するため、様々なデータを図形表
現することができるとともに、1つのデータを少ないパ
ターンで図形表現することができる。
【0215】これにより、表示方式にスプライト方式を
用いた場合には、表示パターンの全体のデータ量を抑え
ることができるとともに、表示可能なデータ数の低下を
回避することができ、数多くのデータを常に表示するこ
とができる。
【0216】また、本発明は、表示単位に区切って表示
しているデータのスクロールを、図形シンボルが元の表
示単位内から他の表示単位内に移動したときに行うた
め、スクロールを行う頻度を全体として小さくすること
ができる。
【0217】これにより、スクロールのために行う負荷
が重い処理の実行回数が全体として低減することから、
システム(CPU等)の負荷を全体として軽減させるこ
とができる。
【図面の簡単な説明】
【図1】本実施の形態のシステム構成のブロック図であ
る。
【図2】ピアノロール表示例を示す図である。
【図3】表示画面の階層構造の説明図である。
【図4】ROMのデータ構成図である。
【図5】楽曲RAMのデータ構成図である。
【図6】ワークRAMのデータ構成図である。
【図7】VRAMのデータ構成図である。
【図8】VDPの回路構成のブロック図である。
【図9】ロールバーオブジェクトのパターン形状、及び
オブジェクトテーブルデータの作成方法の説明図であ
る。
【図10】ロールバーオブジェクトの画像セルのパター
ン形状を示す図である。
【図11】全体処理の動作フローチャートである。
【図12】右カーソル表示位置算出処理の動作フローチ
ャートである。
【図13】右スクロール表示処理の動作フローチャート
である。
【図14】表示可能小節数算出処理の動作フローチャー
トである。
【図15】ピアノロールバー表示処理の動作フローチャ
ートである。
【図16】先小節表示処理の動作フローチャートであ
る。
【図17】ロールバーオブジェクト配置処理の動作フロ
ーチャートである。
【図18】タイ音スキャン表示処理の動作フローチャー
トである。
【図19】カーソルの右移動に伴う表示画面変化を示す
図である(その1)。
【図20】カーソルの右移動に伴う表示画面変化を示す
図である(その2)。
【図21】カーソルの右移動に伴う表示画面変化を示す
図である(その3)。
【図22】カーソルの右移動に伴う表示画面変化を示す
図である(その4)。
【図23】表示倍率最小時のピアノロール表示例を示す
図である。
【図24】その他の実施の形態によるタイ音スキャン表
示処理の動作フローチャートである。
【符号の説明】
101 テレビ 102 CPU 103 スイッチ群 105 ROM 106 ワークRAM 107 楽曲RAM 109 音源部 112 VRAM 113 VDP 114 RGBエンコーダ 801 CPUインターフェイス回路 802 VRAMコントロール回路 803 BG表示位置レジスタ 804 バックグランドコントロール回路 805 オブジェクトテーブルRAM 806 ラインバッファRAM 807 オブジェクトコントロール回路 809 表示優先回路

Claims (8)

    【特許請求の範囲】
  1. 【請求項1】 予め設定された表示形式に従い、データ
    を図形表現して表示するための方法であって、 予め定めた形状の登録パターンを用意し、 前記登録パターンを組み合わせて、前記表示形式に対応
    させた形状の表示パターンを予め作成し、 前記データを、前記表示パターンを用いて図形表現す
    る、 ことを特徴とするデータ表示方法。
  2. 【請求項2】 前記表示パターンを用いたデータの図形
    表現は、前記データの値に基づき、前記表示パターンか
    ら、前記登録パターンを単位として切り出してそれを表
    示することで行う、 ことを特徴とする請求項1記載のデータ表示方法。
  3. 【請求項3】 予め設定された表示形式に従ってデータ
    を図形表現し、該図形表現したデータを表示手段に表示
    させるデータ表示装置であって、 予め定めた形状の登録パターンを記憶した登録パターン
    記憶手段と、 前記表示形式に対応させて、前記登録パターン記憶手段
    に記憶されている登録パターンを組み合わせて表示パタ
    ーンを作成する表示パターン作成手段と、 前記表示パターン作成手段が作成した表示パターンを記
    憶する表示パターン記憶手段と、 前記表示パターン記憶手段に記憶された表示パターンを
    用いてデータを図形表現し、該図形表現したデータを前
    記表示手段に表示させる表示制御手段と、 を具備したことを特徴とするデータ表示装置。
  4. 【請求項4】 前記表示制御手段は、前記データの値に
    基づき、該データを図形表現するパターン形状を決定す
    る形状決定手段と、 前記形状決定手段が決定したパターン形状に従って、前
    記表示パターン記憶手段から、それに記憶されている表
    示パターンの全部、或いはその1部分を取り出し、該取
    り出した表示パターンを前記表示手段に表示させるパタ
    ーン取出手段と、 からなることを特徴とする請求項3記載のデータ表示装
    置。
  5. 【請求項5】 表示画面上に予め定めた表示単位に区切
    ってデータを表示し、該表示画面上に表示したデータ
    を、前記表示画面上の表示単位の並び方向に、ユーザの
    指定に従って前記並びの方向に移動させる図形シンボル
    の移動に伴ってスクロールさせる方法であって、 前記図形シンボルをユーザの指定に従って前記並び方向
    に移動させた後の新たな表示位置を求め、 該求めた図形シンボルの新たな表示位置が、それが移動
    前に表示されていた表示単位とは異なる表示単位内に移
    動したか否か判定し、 前記図形シンボルが異なる表示単位内に移動したと判定
    したとき、前記図形シンボルの移動方向に、前記表示画
    面上のデータを前記表示単位でスクロールさせる、 ことを特徴とするデータ表示方法。
  6. 【請求項6】 前記データのスクロールは、前記図形シ
    ンボルの新たな表示位置が、該図形シンボルの移動方向
    における表示画面上の端の表示単位内に移動した場合に
    行う、 ことを特徴とする請求項5記載のデータ表示方法。
  7. 【請求項7】 予め定めた表示単位に区切ってデータを
    表示画面上に表示し、該表示画面上に表示したデータ
    を、前記表示画面上の表示単位の並び方向に、指定手段
    に対するユーザの操作に従って前記並びの方向に移動さ
    せる図形シンボルの移動に伴ってスクロールさせて表示
    する装置であって、 前記指定手段に対するユーザの操作を検出し、前記図形
    シンボルを移動させた後の新たな表示位置を算出する表
    示位置算出手段と、 前記表示位置算出手段が算出した図形シンボルの新たな
    表示位置が、それが移動前に表示されていた表示単位と
    は異なる表示単位内に移動したか否か判定する表示位置
    判定手段と、 前記図形シンボルが異なる表示単位内に移動したと前記
    表示位置判定手段が判定したとき、前記図形シンボルの
    移動方向に、前記表示画面上のデータを前記表示単位で
    スクロールさせる表示制御手段と、 を具備したことを特徴とするデータ表示装置。
  8. 【請求項8】 前記表示位置判定手段は、前記図形シン
    ボルが、それが移動前に表示されていた表示単位とは異
    なる表示単位内に移動したと判定した場合、該移動後の
    表示単位が、前記図形シンボルの移動方向における表示
    画面上の端の表示単位であるか否かさらに判定し、 前記表示制御手段は、前記図形シンボルの移動後の表示
    単位が、該図形シンボルの移動方向における表示画面上
    の端の表示単位であると前記表示位置判定手段が判定し
    たとき、前記図形シンボルの移動方向に、前記表示画面
    上のデータを前記表示単位でスクロールさせる、 ことを特徴とする請求項7記載のデータ表示装置。
JP7233693A 1995-09-12 1995-09-12 データ表示方法、及びその装置 Pending JPH0981100A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP7233693A JPH0981100A (ja) 1995-09-12 1995-09-12 データ表示方法、及びその装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP7233693A JPH0981100A (ja) 1995-09-12 1995-09-12 データ表示方法、及びその装置

Publications (1)

Publication Number Publication Date
JPH0981100A true JPH0981100A (ja) 1997-03-28

Family

ID=16959073

Family Applications (1)

Application Number Title Priority Date Filing Date
JP7233693A Pending JPH0981100A (ja) 1995-09-12 1995-09-12 データ表示方法、及びその装置

Country Status (1)

Country Link
JP (1) JPH0981100A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008228969A (ja) * 2007-03-20 2008-10-02 Seiko Epson Corp 画像表示装置及び遊技機

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008228969A (ja) * 2007-03-20 2008-10-02 Seiko Epson Corp 画像表示装置及び遊技機

Similar Documents

Publication Publication Date Title
JP2580720B2 (ja) 自動演奏装置
JP3632258B2 (ja) 譜面編集装置
JP3538242B2 (ja) 楽譜表示装置
US5894100A (en) Electronic musical instrument
JPH09114453A (ja) 音楽情報の表示編集装置及び同表示編集演奏装置
JP3448928B2 (ja) 楽譜認識装置
JPH0981100A (ja) データ表示方法、及びその装置
JPH0981118A (ja) 画像制御装置
JP2000338965A (ja) Midiデータの表示方法および表示装置ならびにmidiデータを表示した楽譜
JP3552571B2 (ja) カラオケ装置
JP3972899B2 (ja) 楽譜表示装置
JPH09319383A (ja) カラオケ装置
JP2003114674A (ja) 演奏情報表示装置、及びプログラム
JP2859756B2 (ja) 音楽情報処理装置及び音楽情報処理方法
JP3899778B2 (ja) 楽譜表示装置、及び記録媒体
JPH08272368A (ja) パラメータ設定装置
JP2805434B2 (ja) 楽譜作成装置
JPH06175661A (ja) 電子楽器
JP3721822B2 (ja) 奏法対応入力システム
JP2720960B2 (ja) 波形修正方法
JP2002169540A (ja) 楽譜表示装置、及び記録媒体
JP2880605B2 (ja) 図形表示装置
JP3197133B2 (ja) カラオケ装置
JP3465585B2 (ja) カラオケの歌詞表示装置およびカラオケの歌詞表示方法
JP3299304B2 (ja) 作曲装置