以下、この発明の実施の形態を添付図面に従って詳細に説明する。
図1は、この発明に係るデータ選択装置を適用した電子楽器の全体構成を示したハード構成ブロック図である。本実施例に示す電子楽器は、マイクロプロセッサユニット(CPU)1、リードオンリメモリ(ROM)2、ランダムアクセスメモリ(RAM)3からなるマイクロコンピュータによって制御される。CPU1は、この電子楽器全体の動作を制御するものである。このCPU1に対して、データ及びアドレスバス1Dを介してROM2、RAM3、検出回路4,5,6、表示回路7、音源回路8、効果回路9、不揮発メモリ11、外部記憶装置12、MIDIインタフェース(I/F)13および通信インタフェース(I/F)14がそれぞれ接続されている。更に、CPU1には、タイマ割込み処理(インタラプト処理)における割込み時間や各種時間を計時するタイマ1Aが接続されている。例えば、タイマ1Aはクロックパルスを発生し、発生したクロックパルスをCPU1に対して処理タイミング命令として与えたり、あるいはCPU1に対してインタラプト命令として与える。CPU1は、これらの命令に従って各種処理を実行する。
ROM2は、CPU1により実行される各種プログラムや各種データを格納するものである。RAM3は、CPU1が所定のプログラムを実行する際に発生する各種データを一時的に記憶するワーキングメモリとして、あるいは現在実行中のプログラムやそれに関連するデータを記憶するメモリ等として使用される。RAM3の所定のアドレス領域がそれぞれの機能に割り当てられ、レジスタやフラグ、テーブル、メモリなどとして利用される。演奏操作子4Aは楽音の音高を選択するための複数の鍵を備えた例えば鍵盤等のようなものであって、各鍵に対応してキースイッチを有しており、この演奏操作子4A(鍵盤等)はユーザによるマニュアル(手弾き)演奏のために使用できるのは勿論のこと、当該電子楽器における各種設定を行う入力手段などとして使用することもできる。検出回路4は、演奏操作子4Aの各鍵の押圧及び離鍵を検出することによって検出出力を生じる。
ロータリーエンコーダ5Aは左右両方向に回転操作可能な回転制御型の操作子であって、各種設定パラメータを設定するために使用できるのは勿論のこと、ディレクトリ階層の移動などファイル操作のために使用することもできる。検出回路5は、ロータリーエンコーダ5Aに対する左右への回転操作を検出することによってその回転量に応じた検出出力を生じる。設定操作子(スイッチ等)6Aは、例えば後述する図2に示すような表示器7Aの左右に設置され、前記表示器7Aの対応する表示領域の表示内容に応じてその機能が適宜に変更される汎用の操作子であって、例えばファイル操作やパラメータ設定などに使用できる。勿論、これら以外にも、ページ単位に表示器7A上に表示させる表示内容の切り替えを行うよう指示するスイッチ、さらには音高、音色、効果等を選択・設定・制御するために用いる数値データ入力用のテンキーや文字データ入力用のキーボードなどの各種操作子を含んでいてよい。検出回路6は、上記設定操作子6Aの操作状態を検出し、その操作状態に応じたスイッチ情報をデータ及びアドレスバス1Dを介してCPU1に出力する。表示回路7は例えば液晶表示パネル(LCD)等から構成される、表示範囲が狭く単純な表示しかすることのできない簡易な表示器7Aに、操作対象とされるデータファイルや、該操作対象とされたデータファイルが属しているディレクトリ階層の深さなど、ファイル操作に関する各種情報を少なくとも表示する(後述する図3参照)。ユーザは該表示器7Aに表示されるこれらの各種情報を参照しながら、記憶済みのデータファイルを各ディレクトリ階層毎に確認する、目的とするソングファイルを探し出すなどのファイル操作を容易に行うことができる。
ここで、上記したロータリーエンコーダ5A、設定操作子6A、表示器7Aにより構成される、当該電子楽器におけるユーザインタフェースの一実施例を図2に示す。図2は、当該電子楽器におけるユーザインタフェースの一実施例を示す概念図である。表示器7Aは、例えば予め記憶済みの各種フォント(文字、数字、記号、アイコンを含む)を固定ピッチで1行につき10〜20文字程度、2行分表示することのできる、表示範囲が非常に狭く、かつキャラクタベースの単純な表示しかできない簡易な液晶表示器(LCD)であって、任意のグラフィックス表示可能な表示器に比べると、任意のグラフィックスを表示することの全くできない表示機能に制限のある(表示機能の劣る)表示器である。「PageL」6Al及び「PageR」6Arの各スイッチは表示器7A上に表示する画面(表示内容)全体を切り替えるためのスイッチであり、これらの各スイッチ操作に応じて所定のページ単位に画面表示は切り替えられる。表示器7Aの左右近傍に配置されている4つのスイッチ(6Aa〜6Ad)は、前記表示器7Aの対応する表示領域の表示内容に応じてその機能が適宜に変更される汎用の操作子であって、例えばディレクトリ階層の移動や操作対象とされるデータファイルの切り替えなどのファイル操作に使用することができる(後述する図3参照)。
図1の説明に戻って、音源回路8は複数のチャンネルで楽音信号の同時発生が可能であり、データ及びアドレスバス1Dを経由して与えられた、ユーザによる演奏操作子4Aの操作に応じて発生される、あるいはソングファイル(自動演奏データ)の再生に基づき発生される各種演奏情報を入力し、これらの演奏情報に基づいて楽音信号を発生する。音源回路8から発生された楽音信号は、効果回路9を介して効果付与されてアンプやスピーカなどを含むサウンドシステム10から発音される。この音源回路8と効果回路9とサウンドシステム10の構成には、従来のいかなる構成を用いてもよい。例えば、音源回路9はFM、PCM、物理モデル、フォルマント合成等の各種楽音合成方式のいずれを採用してもよく、また専用のハードウェアで構成してもよいし、CPU1によるソフトウェア処理で構成してもよい。
不揮発メモリ11は、各種情報を一時的に記憶する。外部記憶装置12は、多数のソングファイルやその他のファイルなどの各種データをディレクトリ階層毎に分類管理して記憶する、あるいはCPU1が実行する各種制御プログラム等の制御に関するデータなどを記憶する。なお、上述したROM2に制御プログラムが記憶されていない場合、この外部記憶装置12(例えばハードディスク)に制御プログラムを記憶させておき、それをRAM3に読み込むことにより、ROM2に制御プログラムを記憶している場合と同様の動作をCPU1にさせることができる。このようにすると、制御プログラムの追加やバージョンアップ等が容易に行える。なお、外部記憶装置12はハードディスク(HD)に限られず、フレキシブルディスク(FD)、コンパクトディスク(CD‐ROM・CD‐RAM)、光磁気ディスク(MO)、あるいはDVD(Digital Versatile Disk)等の着脱自在な様々な形態の外部記憶媒体を利用する記憶装置であればどのようなものであってもよい。あるいは、フラッシュメモリなどの半導体メモリであってもよい。
MIDIインタフェース(I/F)13は、外部接続された他のMIDI機器13A等からMIDI形式の自動演奏データ(MIDIデータ)を当該電子楽器へ入力したり、あるいは当該電子楽器からMIDI形式の自動演奏データ(MIDIデータ)を他のMIDI機器13A等へ出力するためのインタフェースである。他のMIDI機器13Aはユーザによる操作に応じてMIDIデータを発生する機器であればよく、鍵盤型、弦楽器型、管楽器型、打楽器型、身体装着型等どのようなタイプの操作子を具えた(若しくは、操作形態からなる)機器であってもよい。なお、MIDIインタフェース13は専用のMIDIインタフェースを用いるものに限らず、RS-232C、USB(ユニバーサル・シリアル・バス)、IEEE1394(アイトリプルイー1394)等の汎用のインタフェースを用いてMIDIインタフェース13を構成するようにしてもよい。この場合、MIDIイベントデータ以外のデータをも同時に送受信するようにしてもよい。MIDIインタフェース13として上記したような汎用のインタフェースを用いる場合には、他のMIDI機器13AはMIDIイベントデータ以外のデータも送受信できるようにしてよい。勿論、演奏データのデータフォーマットはMIDI形式のデータに限らず他の形式であってもよく、その場合はMIDIインタフェース13と他のMIDI機器13Aはそれにあった構成とする。通信インタフェース(I/F)14は、例えばLANやインターネット、電話回線等の有線あるいは無線の通信ネットワークXに接続されており、該通信ネットワークXを介してサーバコンピュータ14Aと接続され、当該サーバコンピュータ14Aから制御プログラムあるいは各種データなどを電子楽器側に取り込むためのインタフェースである。すなわち、ROM2や外部記憶装置12(例えば、ハードディスク)等に制御プログラムや各種データが記憶されていない場合には、サーバコンピュータ14Aから制御プログラムや各種データをダウンロードするために用いられる。こうした通信インタフェース14は、有線あるいは無線のものいずれかでなく双方を具えていてよい。
なお、上述した電子楽器において、演奏操作子4Aは鍵盤楽器の形態に限らず、弦楽器や管楽器、あるいは打楽器等どのようなタイプの形態でもよい。また、電子楽器は演奏操作子4Aや音源回路8などを1つの装置本体に内蔵したものに限らず、それぞれが別々に構成され、MIDIインタフェースや各種ネットワーク等の通信手段を用いて各装置を接続するように構成されたものであってもよい。
なお、本発明に係るデータ選択装置を適用する機器は上記したような電子楽器の形態に限らず、カラオケ装置やゲーム装置、携帯電話やPDA等の携帯型通信端末など、表示範囲が狭く単純な表示しかできない簡易な表示器を具えた機器であればどのような形態の装置・機器に適用してもよい。また、パーソナルコンピュータなどの表示範囲が大きく高精細な表示が可能な表示器を具えたものであっても、ディレクトリ階層を表示するために前記表示器上に開かれたウィンドウのサイズが小さいような場合に適用するようにしてもよい。
図1に示した電子楽器においては、ユーザが表示器7A上に表示されている画面(表示内容)を参照しながら所定の各スイッチを適宜に操作することで、ディレクトリにより分類管理されている多数のデータファイルの中から所望のデータファイルを指定するなどのファイル操作を行うことのできるようになっている。そこで、ユーザによるスイッチ操作に応じて表示器7A上に表示する各画面(表示内容)について、図3を用いて説明する。図3は、ユーザによるスイッチ操作に応じて表示器7A上に表示する各画面の一実施例を示す概略図である。なお、ここでは図8に示すようなディレクトリ階層で分類管理されている多数のデータファイルの中から、最終的に操作対象としたい目的のソングファイルを1つ選択する「ソングセレクト」動作を行う場合を例にして説明する。この場合、ユーザによる各スイッチの操作に応じて表示される各画面の左上、つまり表示器7Aの上段表示領域には、作業中の動作である「<ソングファイル>」HDが常時表示されている。
図3(a)は、前記「ソングセレクト」動作を行う対象のデバイスに外部記憶装置の1つであるドライブAを指定した場合の、表示器7A上に表示する表示内容を示すものである。この場合にはドライブAが操作対象とされて、表示器7Aの下段表示領域に該ドライブAの最上位階層(第1階層)であるルートディレクトリ名「ドライブA」HCを表示すると共に、そのデータファイルの属性を予め表示態様が決められているキャラクタベースの所定のアイコン(表示体に相当する)HZで表示する。例えばルートディレクトリ「ドライブA」の属性は、図示のようにファイルフォルダを表す所定形状をしたアイコン(所謂フォルダアイコン)を黒く塗りつぶしたアイコンで表示する。また、左右に配置された各スイッチ(6Ab〜6Ad)を有効として、その旨を表す所定のアイコンを各スイッチに対応する表示器7Aの上下段の所定の表示領域に表示する。この各スイッチを有効とした旨を表すアイコンの表示は、有効とした各スイッチの機能毎に各々異なるように表示する。この図3(a)に示す実施例では、スイッチ6Ab及びスイッチ6Adがそれぞれ有効に設定され、スイッチ6Abに対応付けられた上下の三角形を組み合わせたアイコンHSは同階層にあるデータファイルを選択する機能を表すものであり、スイッチ6Adに対応付けられた下向き矢印のアイコンHYは下位の階層に移動する機能を表すものである。すなわち、この場合にスイッチ6Abを操作すると、ドライブAのルートディレクトリと同階層である他のデバイス「ドライブB」や「ドライブC」いずれかのルートディレクトリに移動して、移動先を操作対象とする。一方、スイッチ6Adを操作すると、操作対象とされたドライブAのルートディレクトリの下位層である第2階層のディレクトリ1又はディレクトリ2のいずれかに移動して、移動先を操作対象とする。
図3(b)は図3(a)に示した画面におけるスイッチ6Adを操作した場合、つまりドライブAの第2階層にディレクトリを移動するよう指示された場合の、表示器7A上に表示する表示内容を示すものである。ただし、ここでは第2階層のデータファイルのうちディレクトリ1に移動した場合を示す。この場合にはディレクトリ1が操作対象とされるので、表示器7Aの下段表示領域にディレクトリ名「ディレクトリ1」HCを表示すると共に、そのデータファイルの属性を予め表示態様が決められている所定のアイコンHZで表示する。この「ディレクトリ1」はルートディレクトリでないサブディレクトリであることから、例えばフォルダアイコンを表示する。また、この場合には、操作対象として表示されているデータファイル(ここではディレクトリ1)が属する上位階層の数、つまり親ディレクトリの数を所定の表示態様で上段の表示領域に表示することで、前記データファイルが属するディレクトリ階層の深さを表すようにしている。例えば図3(b)に示すように、ディレクトリ1の上位に存在する階層はルートディレクトリ1つのみであることから、前記ディレクトリ階層の深さを表す表示としてフォルダアイコン(表示体)HKを1つだけ表示する。なお、ここに表示されるディレクトリ階層のうち最下位のディレクトリがカレントディレクトリに相当する。さらに、この場合においても左右に配置された各スイッチ(6Ab〜6Ad)を有効にすると共に、その旨を表す所定のアイコンを各スイッチに対応する上下段の各表示領域に表示する。ここで、スイッチ6Acを有効とした旨を表す上向きの矢印のアイコンHYは、上位の階層に移動する機能を表すものである。すなわち、この場合にスイッチ6Acを操作すると、ディレクトリ1の上位階層であるドライブAのルートディレクトリに移動して、移動先を操作対象とする。したがって、ここでは図3(a)に示した表示内容に戻る。
図3(c)は、ドライブAの第4階層にディレクトリを移動するよう指示された場合の、表示器7A上に表示する表示内容を示すものである。図8に示すように第4階層のデータファイルはディレクトリ111のみであることから、ここではディレクトリ111に移動した場合を示している。この場合にはディレクトリ111が操作対象とされるので、表示器7Aの下段表示領域にディレクトリ名「ディレクトリ111」HCを表示すると共に、そのデータファイルの属性をフォルダアイコンHZで表示する。また、この場合には、操作対象として表示されているディレクトリ111が属する上位階層の数が、ルートディレクトリ、ディレクトリ1、ディレクトリ11の3つであることから、図示のようにディレクトリ111が属するディレクトリ階層の深さを表す表示として同一形状のフォルダアイコン(表示体)HKを3つ表示している。ディレクトリ11がカレントディレクトリに相当する。さらに、この場合においても左右に配置された各スイッチ(6Ab〜6Ad)を有効にすると共に、その旨を表す所定のアイコンを各スイッチに対応する上下段の各表示領域に表示する。ただし、この場合には、ディレクトリ111と同階層に他のデータファイルが存在せずにスイッチ6Abを有効としなくてよいことから、スイッチ6Abを有効とした旨を表すアイコンHSを表示しない。
図3(d)はドライブAの第5階層のディレクトリ1111に移動するよう指示された場合の、図3(e)は同階層のソングファイルaに移動するよう指示された場合の、図3(e)は同階層のその他のファイルに移動するよう指示された場合の、表示器7A上に表示する表示内容をそれぞれ示すものである。この場合には表示器7Aの下段表示領域に操作対象とされた各データファイル名、すなわち「ディレクトリ1111」HC、「ソングファイル」HC、「その他のファイル」HCをそれぞれ表示すると共に、各データファイルの属性にあわせてフォルダアイコンHZ、音楽記号アイコンHZ(ここでは8分音符)、アイコン表示なし、でそれぞれ表示する。また、この場合には、操作対象として表示されているディレクトリ1111が属する上位階層の数が、ルートディレクトリ、ディレクトリ1、ディレクトリ11、ディレクトリ111の4つである。ところが、ディレクトリ階層の深さを表すアイコンを表示する表示器7A上の上段の表示領域に表示可能なフォルダアイコンが並列的に3つまで表示しかできないとすると、そのままではディレクトリ階層の深さを表すアイコンを表示することができない。そこで、こうした場合には、図示のようにして2つの同一形状のフォルダアイコン(表示体)間を前記フォルダアイコンとは異なる形状の「・・・」アイコン(表示体)で結ぶようにして、ディレクトリ1111が属するディレクトリ階層の深さが所定の階層(ここでは第4階層)以下であることを表すようにしている。さらに、この場合においても左右に配置された各スイッチ(6Ab〜6Ad)を有効にすると共に、その旨を表す所定のアイコンを各スイッチに対応する上下段の各表示領域に表示する。ただし、この場合には、ディレクトリ1111よりさらに下位の階層に他のデータファイルが存在しないこと、ソングファイル、その他のファイルは末端データであってそれより下位の階層を持たないことから、下位の階層に他のデータファイルが存在せずにスイッチ6Adを有効としなくてよいことから、スイッチ6Adを有効とした旨を表すアイコンHSを表示しない。
上述したように、この実施例に示す電子楽器においては、表示器7Aの左右に設置されている各スイッチ(6Ab〜6Ad)又はロータリーエンコーダ5Aの操作に応じて、ディレクトリ階層を適宜に移動しながら操作対象とするデータファイルを特定するファイル操作を行うことができる。スイッチ操作が行われた場合には上記図3に示した各図のように、表示器7A上に表示する表示内容が適宜に更新される。このようなスイッチ操作に伴うディレクトリ階層の移動に伴って表示器7Aに表示する表示内容を更新する「表示制御処理」は、CPU1が所定のプログラム(ソフトウエア)を所定の時間間隔(例えば5ms)の周期で割り込み起動することにより実施される。勿論、「表示制御処理」はコンピュータソフトウエアの形態に限らず、DSP(ディジタル・シグナル・プロセッサ)によって処理されるマイクロプログラムの形態でも実施可能であり、また、この種のプログラムの形態に限らず、ディスクリート回路又は集積回路若しくは大規模集積回路あるいはゲートアレイ等を含んで構成された専用ハードウエア装置の形態で実施してもよい。
上記「表示制御処理」について、操作されたスイッチの種類毎に処理を分けて説明する。まず、上位のディレクトリ階層(上位層と呼ぶ)に移動するスイッチ6Acが操作された場合の表示制御処理について、図4を用いて説明する。図4は、上位層に移動するスイッチ6Acが操作された場合の表示制御処理の一実施例を示したフローチャートである。以下、図4に示したフローチャートに従って、当該処理の動作を説明する。
ステップS1は、上位層に移動するスイッチ6Acが有効でありかつ押下操作されたか否かを判定する。すなわち、表示器7A上にスイッチ6Acが有効である旨のアイコンHYが表示されており(図3(b)〜(f)参照)、かつスイッチ6Acが実際に押下操作されたか否かを判定する。スイッチ6Acが有効でない、つまり表示器7A上にスイッチ6Acが有効である旨のアイコンHYが表示されていない(図3(a)参照)にも関わらずスイッチ6Acが実際に押下操作された場合、又はスイッチ6Acが実際に押下操作されていないと判定した場合には(ステップS1のNO)、ディレクトリ階層の移動が行われずに表示器7A上の表示内容を更新しなくてよいことから、当該処理を終了する。他方、スイッチ6Acが有効であり、かつスイッチ6Acが実際に押下操作されていると判定した場合には(ステップS1のYES)、表示器7Aに表示中のカレントディレクトリを操作対象に設定し(ステップS2)、該設定した操作対象の1つ上位の親ディレクトリを新たにカレントディレクトリとして更新する(ステップS3)。例えば、図3(d)に示すような例においてスイッチ6Acを操作した場合には、表示中のカレントディレクトリであるディレクトリ111が操作対象に設定されて、該ディレクトリ111の親ディレクトリであるディレクトリ11が新たにカレントディレクトリとして更新される。
ステップS4は、属性をあらわすアイコンとともに操作対象を表示する。上記の場合には、「ディレクトリ111」HCがフォルダアイコンHZと共に表示される(図3(c)参照)。ステップS5は、ディレクトリ階層表示を更新する「ディレクトリ階層表示更新処理」を実行する。当該処理については後述する(後述する図7参照)。ステップS6は、上位層に移動するスイッチ6Ac又は下位層に移動するスイッチ6Adの有効性を更新し、有効である旨を表すアイコンを表示する。このスイッチの有効性の更新は、カレントディレクトリの階層の深さに応じてスイッチ6Ac又は6Adを有効・無効に設定する。例えば、下位層が存在しない場合にはスイッチ6Adを無効、スイッチ6Acを有効に設定するし、上位層が存在しない場合にはスイッチ6Acを無効、スイッチ6Adを有効に設定する。上記の場合には、ディレクトリ111の上位層及び下位層が共に存在することから、スイッチ6Ad及びスイッチ6Acを両方とも有効にし、その旨を表すアイコンHYを表示する(図3(c)参照)。
次に、下位のディレクトリ階層(下位層と呼ぶ)に移動するスイッチ6Adが操作された場合の表示制御処理について、図5を用いて説明する。図5は、下位層に移動するスイッチ6Adが操作された場合の表示制御処理の一実施例を示したフローチャートである。
ステップS11は、下位層に移動するスイッチ6Adが有効でありかつ押下操作されたか否かを判定する。すなわち、表示器7A上にスイッチ6Adが有効である旨のアイコンHYが表示されており(図3(a)〜(c)参照)、かつスイッチ6Adが実際に押下操作されたか否かを判定する。スイッチ6Adが有効でない、つまり表示器7A上にスイッチ6Adが有効である旨のアイコンHYが表示されていない(図3(d)〜(f)参照)にも関わらずスイッチ6Adが実際に押下操作された場合、又はスイッチ6Adが実際に押下操作されていないと判定した場合には(ステップS11のNO)、ディレクトリ階層の移動が行われずに表示器7A上の表示内容を更新しなくてよいことから、当該処理を終了する。他方、スイッチ6Adが有効であり、かつスイッチ6Adが実際に押下操作されていると判定した場合には(ステップS11のYES)、表示器7Aに表示中の操作対象を新たにカレントディレクトリとして更新し(ステップS12)、該更新した新たなカレントディレクトリ内の所定のデータファイルを操作対象に設定する(ステップS13)。例えば、図3(c)に示すような例においてスイッチ6Adを操作した場合には、表示中の操作対象であるディレクトリ111が新たにカレントディレクトリとして更新されて、該ディレクトリ111に属するディレクトリ1111、ソングファイル、その他のファイルのいずれかが操作対象に設定される。
ステップS14は、属性をあらわすアイコンとともに操作対象を表示する。上記の場合には、ディレクトリ1111、ソングファイル、その他のファイルのいずれかがアイコンHZと共に表示される(図3(d)〜(f)参照)。ステップS15は、ディレクトリ階層表示を更新する「ディレクトリ階層表示更新処理」を実行する。当該処理については後述する(後述する図7参照)。ステップS16は、上位層に移動するスイッチ6Ac又は下位層に移動するスイッチ6Adの有効性を更新し、有効である旨を表すアイコンを表示する。上記の場合には、ディレクトリ1111、ソングファイル、その他のファイルのいずれにおいても下位層は存在せずに上位層のみが存在することから、スイッチ6Adを無効にスイッチ6Acを有効にし、有効である旨を表すアイコンHYを表示する(図3(d)〜(f)参照)。
上記したようなスイッチ6Acによる上位層への移動又はスイッチ6Adによる下位層への移動は、ロータリーエンコーダ5Aを左右に回転操作することによっても実現される。そこで、ロータリーエンコーダ5Aが操作された場合の表示制御処理について、図6を用いて説明する。図6は、ロータリーエンコーダ5Aが操作された場合の表示制御処理の一実施例を示したフローチャートである。
ステップS21は、ロータリーエンコーダ5Aが有効であるか否かを判定する。このロータリーエンコーダ5Aの有効性の判定は、表示器7A上にスイッチ6Ac又はスイッチ6Adが有効である旨のアイコンHYが表示されていることによる(図3(a)〜(f)参照)。すなわち、上位層又は下位層のデータファイルが存在するか否かによる。ロータリーエンコーダ5Aが有効であると判定した場合には(ステップS21のYES)、当該ロータリーエンコーダ5Aが右(あるいは左)に回転操作されたか否かを判定する(ステップS22)。右(あるいは左)に回転操作されたと判定した場合には(ステップS22のYES)、表示器7Aに表示中の操作対象はルートディレクトリであるか否かを判定する(ステップS23)。ルートディレクトリであると判定した場合には(ステップS23のYES)、他のドライブ(ルートディレクトリ)があるか否かを判定する(ステップS24)。他のドライブがあると判定した場合には(ステップS24のYES)、他のドライブ(ルートディレクトリ)を操作対象に更新する(ステップS25)。すなわち、この場合にはロータリーエンコーダ5Aは、その回転操作に応じて同階層に属するルートディレクトリ(例えばドライブA、ドライブB、ドライブC)のいずれかを操作対象として選択的に更新することができる。
他方、ルートディレクトリでないと判定した場合には(ステップS23のNO)、上位層(又は下位層)のディレクトリがあるか否かを判定する(ステップS26)。すなわち、ここではロータリーエンコーダ5Aを右に回転操作した場合を上位層のディレクトリに移動する操作として、左に回転操作した場合を下位層のディレクトリに移動する操作としている。上位層(又は下位層)のディレクトリがあると判定した場合には(ステップS26のYES)、表示器7Aに表示中の親ディレクトリ(上位層に移動する場合)、又は表示器7Aに表示中の操作対象のディレクトリ(下位層に移動する場合)を新たにカレントディレクトリとして更新し(ステップS27)、該更新したカレントディレクトリに属する所定のデータファイルを操作対象に設定する(ステップS28)。ステップS29は、属性をあらわすアイコンとともに操作対象を表示する。ステップS30は、ディレクトリ階層表示を更新する「ディレクトリ階層表示更新処理」を実行する(後述する図7参照)。ステップS31は、上位層に移動するスイッチ6Ac又は下位層に移動するスイッチ6Adの有効性を更新し、有効である旨を表すアイコンを表示する。なお、ここに示す実施例において、上位層(又は下位層)のディレクトリがないと判定した場合には(ステップS26のNO)当該処理を終了するようにしたがこれに限らず、こうした場合にロータリーエンコーダ5Aの回転操作に応じて同階層に属するデータファイルのいずれかを操作対象として選択的に更新することができるようにしてあってもよい。
次に、上記した各「表示制御処理」で実行される「ディレクトリ階層表示更新処理」(図4のステップS5、図5のステップS15、図6のステップS30参照)について、図7を用いて説明する。図7は、「ディレクトリ階層表示更新処理」の一実施例を示したフローチャートである。
ステップS41は、新たにカレントディレクトリとして更新されたディレクトリを基準に、該ディレクトリが属するルートディレクトリまでに各階層の親ディレクトリがいくつあるかを検索し、その数をカウントする。ステップS42は、前記カウントした親ディレクトリの数が所定数以上であるか否かを判定する。この所定数は、表示器7Aの有する表示機能にあわせて予め決められている値である。例えば、上記した図3に示すような表示機能の表示器7Aを用いている場合、ディレクトリ階層の深さに応じただけのフォルダアイコンHKを表示する表示領域には、最高で3つのフォルダアイコンHKしか並列的に表示することができないので、そうした場合の前記所定数は「4」に予め決められる。親ディレクトリの数が所定数以上でない場合には(ステップS42のNO)、親ディレクトリの数だけ、フォルダアイコンを並べて表示器7Aに表示する(ステップS43)。例えば、1つである場合には図3(b)に示すように、3つである場合には図3(c)に示すようにして、親ディレクトリの数(ディレクトリ階層の深さ)に応じただけのフォルダアイコンHKを表示する。他方、親ディレクトリの数が所定数以上である場合には(ステップS42のYES)、ディレクトリ階層が所定数以上の深さがあることをあらわす所定の表示態様を表示器7Aに表示する(ステップS44)。例えば、4つ以上である場合には図3(d)に示すようにして2つのフォルダアイコン間を「・・・」アイコンで接続するようにして表示する。
以上のようにして、カレントディレクトリがあるディレクトリ階層の深さの数だけ、表示器7A上の所定の表示領域にフォルダアイコンを並べて表示する際に、フォルダアイコンを並べて表示することが可能な数以上にディレクトリ階層が深い場合には、フォルダアイコンを並べて表示するのではなく、2つのフォルダアイコン間を「・・・」で接続するようにして表示するようにした。このように、表示器7Aの表示範囲を超えるような場合であっても、カレントディレクトリ、つまり操作対象のデータファイルが属するディレクトリが存在するディレクトリ階層の深さをわかりやすく表示するようにしたので、従来に比べてより表示範囲が狭く単純な表示しかできないなどの、表示機能に制限のある簡易な表示器が用いられた場合であっても、ユーザは操作対象とされるデータファイルが属しているディレクトリ階層の深さを容易に把握することができるようになる。また、ディレクトリ階層の深さにあわせてフォルダアイコンを用いて表示するので、ユーザが直感的にその深さを把握することができるし、さらに文字列からなるファイルパスによる表示に比べて少ない表示範囲で表示することができるので、表示機能に制限のある簡易な表示器に向いている。
1…CPU、2…ROM、3…RAM、4,5,6…検出回路、4A…演奏操作子、5A…ロータリーエンコーダ、6A…設定操作子、7…表示回路、7A…表示器、8…音源回路、9…効果回路、10…サウンドシステム、11…不揮発メモリ、12…外部記憶装置、13…MIDIインタフェース、13A…MIDI機器、14…通信インタフェース、14A…サーバコンピュータ、X…通信ネットワーク、1D…通信バス(データ及びアドレスバス)