(57)【特許請求の範囲】
【請求項１】
外部ＭＩＤＩ機器を接続することが可能な複数種類のインタフェースのうちのいずれかからなる１つのＭＩＤＩ接続手段と、
前記複数種類のインタフェースそれぞれを制御するための橋渡し的なソフトウエアプログラムであるドライバであって、前記ＭＩＤＩ接続手段に接続される外部ＭＩＤＩ機器との間でデータの伝送を制御するものを前記複数種類のインタフェースに対応して複数記憶する記憶手段と、
前記複数のドライバのうちの任意のドライバによる制御に従って、前記ＭＩＤＩ接続手段から応答要求データを送信する送信手段と、
前記応答要求データが前記外部ＭＩＤＩ機器で受理された場合に、前記外部ＭＩＤＩ機器から返される応答を前記ドライバによる制御に従って受信する受信手段と、
前記受信手段が応答を受信した際に用いたドライバを、前記ＭＩＤＩ接続手段を制御するためのドライバとして決定する決定手段と
を具え、前記決定手段にて決定したドライバを、前記ＭＩＤＩ接続手段に物理的に接続されている外部ＭＩＤＩ機器との間でのデータ伝送を制御するためのドライバとして利用することを特徴とする通信設定装置。
【請求項２】
前記送信手段は、複数あるドライバの中から順次に選択したドライバによる制御に従って応答要求データを送信することを特徴とする請求項１に記載の通信設定装置。
【請求項３】
前記送信手段は、ドライバごとの識別子を付加した応答要求データを、複数のドライバによる制御に従って同時に送信することを特徴とする請求項１に記載の通信設定装置。
【請求項４】
前記受信手段が複数の応答を受信した際に、該応答を受信した複数のドライバの中から、いずれのドライバを前記ＭＩＤＩ接続手段を制御するためのドライバとして利用するかを選択する選択手段を具えたことを特徴とする請求項１に記載の通信設定装置。
【請求項５】
前記応答は前記外部ＭＩＤＩ機器の機種情報を含み、
前記決定手段は、前記受信手段が複数の応答を受信した際に、該応答を受信した複数のドライバの中から、外部ＭＩＤＩ機器の機種情報に対応するドライバを前記ＭＩＤＩ接続手段を制御するためのドライバとして決定することを特徴とする請求項１に記載の通信設定装置。
【請求項６】
コンピュータに、
外部ＭＩＤＩ機器を接続することが可能な複数種類のインタフェースそれぞれを制御するための橋渡し的なソフトウエアプログラムであるドライバであって、各インタフェースに接続された外部ＭＩＤＩ機器との間でデータの伝送を制御するものを前記複数種類のインタフェースに対応して所定の記憶手段に複数記憶する手順と、
前記複数のドライバのうちの任意のドライバによる制御に従って、前記複数種類のインタフェースのうちのいずれかからなる１つのＭＩＤＩ接続手段から応答要求データを送信する手順と、
前記応答要求データが前記外部ＭＩＤＩ機器で受理された場合に、前記外部ＭＩＤＩ機器から返される応答を前記ドライバによる制御に従って受信する手順と、
前記応答を受信した際に用いたドライバを、前記ＭＩＤＩ接続手段を制御するためのドライバとして決定する手順と
を実行させるためのプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、コンピュータに接続されたコンピュータ周辺機器を制御するために必要なソフトウエアプログラムである各種ドライバの設定を行う通信設定装置及び通信設定プログラムに関する。特に、MIDIインタフェースを介して接続されたコンピュータと外部MIDI機器との間でMIDIデータを送受信できるように制御するために必要なMIDI通信ドライバを、接続された外部MIDI機器にあわせて簡単に設定することができるようにした通信設定装置及び通信設定プログラムに関する。
【０００２】
【従来の技術】
最近ではパーソナルコンピュータ（以下、パソコン端末と呼ぶ）の普及に伴い、パソコン端末を用いて楽器を演奏したり、楽曲を作成・編曲したり、あるいは音色を合成したりするコンピュータミュージックにより、誰でもが音楽を自由に楽しめるようになってきた。こうしたコンピュータミュージックを行う場合には、パソコン端末に対して外部音源モジュールや電子楽器あるいはシーケンサなどの外部のMIDI機器を接続し、これらの外部MIDI機器をパソコン端末から制御している。すなわち、パソコン端末では接続された外部MIDI機器をコントロールして互いの間で適宜にMIDIデータを送受信することにより、楽曲の作成・編集や楽音の発生あるいは楽音の合成などを行うことができるようになっている。
【０００３】
【発明が解決しようとする課題】
ところで、パソコン端末に接続した外部MIDI機器をコントロールして互いの間で適宜にMIDIデータを送受信するためには、パソコン端末側において外部MIDI機器を制御するための橋渡し的なソフトウエアプログラムであるMIDI通信ドライバを、予め接続する外部MIDI機器に適したものに設定しておく必要がある。従来では、ユーザ自身が予め用意された複数のMIDI通信ドライバの中から接続する外部MIDI機器に適したMIDI通信ドライバを手動で選択し設定しなければならなかった。しかし、コンピュータミュージック初心者などにとって、複数あるMIDI通信ドライバの中から接続する外部MIDI機器に適した正しいMIDI通信ドライバを手動で選択し設定することは非常に難しい、という問題点があった。
【０００４】
本発明は上述の点に鑑みてなされたもので、パソコン端末に対して外部MIDI機器を接続した場合に必要とされるMIDI通信ドライバをパソコン端末が自動的に選択して設定することにより、初心者であっても正しいMIDI通信ドライバを簡単に設定できるようにした通信設定装置及び通信設定プログラムを提供しようとするものである。
【０００５】
【課題を解決するための手段】
本発明に係る通信設定装置は、外部ＭＩＤＩ機器を接続することが可能な複数種類のインタフェースのうちのいずれかからなる１つのＭＩＤＩ接続手段と、前記複数種類のインタフェースそれぞれを制御するための橋渡し的なソフトウエアプログラムであるドライバであって、前記ＭＩＤＩ接続手段に接続される外部ＭＩＤＩ機器との間でデータの伝送を制御するものを前記複数種類のインタフェースに対応して複数記憶する記憶手段と、前記複数のドライバのうちの任意のドライバによる制御に従って、前記ＭＩＤＩ接続手段から応答要求データを送信する送信手段と、前記応答要求データが前記外部ＭＩＤＩ機器で受理された場合に、前記外部ＭＩＤＩ機器から返される応答を前記ドライバによる制御に従って受信する受信手段と、前記受信手段が応答を受信した際に用いたドライバを、前記ＭＩＤＩ接続手段を制御するためのドライバとして決定する決定手段とを具え、前記決定手段にて決定したドライバを、前記ＭＩＤＩ接続手段に物理的に接続されている外部ＭＩＤＩ機器との間でのデータ伝送を制御するためのドライバとして利用することを特徴とする
【０００６】
この発明によると、受信手段が応答を受信した際に用いたドライバを、ＭＩＤＩ接続手段を制御するためのドライバとして自動的に決定することから、ユーザは難しい設定を行わなくても簡単にドライバを設定することができるようになる。すなわち、送信手段は、記憶手段に記憶された複数のドライバのうちの任意のドライバによる制御に従って、外部ＭＩＤＩ機器を接続することが可能な複数種類のインタフェースのうちのいずれかからなる１つのＭＩＤＩ接続手段から応答要求データを送信する。ドライバは外部ＭＩＤＩ機器を接続することが可能な複数種類のインタフェースそれぞれを制御するための橋渡し的なソフトウエアプログラムであって、記憶手段に前記複数種類のインタフェースに対応して複数記憶されている。受信手段は、応答要求データが外部ＭＩＤＩ機器で受理された場合に、前記外部ＭＩＤＩ機器から返される応答を前記ドライバによる制御に従って受信する。受信手段が外部ＭＩＤＩ機器からの応答を受信するということは、該応答受信時に用いたドライバはＭＩＤＩ接続手段に物理的に接続されている外部ＭＩＤＩ機器との間でのデータ伝送を制御するためのドライバとして利用できるものであることから、決定手段はこのドライバを当該ＭＩＤＩ接続手段を制御するためのドライバとして決定する。このように、複数あるドライバを介して応答要求データの送信及び外部ＭＩＤＩ機器からの応答の受信を正常に行うことができたドライバを外部ＭＩＤＩ機器との間でのデータ伝送を制御するためのドライバとして自動的に決定し利用できるようにした。これにより、ユーザは難しいドライバの設定作業を行わなくても簡単にドライバの設定を行うことができるようになる。
【０００７】
本発明は、装置の発明として構成し、実施することができるのみならず、方法の発明として構成し実施することができる。また、本発明は、コンピュータまたはＤＳＰ等のプロセッサのプログラムの形態で実施することができるし、そのようなプログラムを記憶した記憶媒体の形態で実施することもできる。
【０００８】
【発明の実施の形態】
以下、添付図面を参照してこの発明の実施の形態を詳細に説明する。
【０００９】
図１は、この発明に係る通信設定装置を内蔵したパソコン端末の実施の形態を示すハード構成ブロック図である。ここに示されたパソコン端末のハードウエア構成例はコンピュータを用いて構成されており、そこにおいて、MIDIインタフェース４を介して接続されているパソコン端末と外部のMIDI機器４Ａとの間でMIDIデータを送受信できるように制御するために必要なMIDI通信ドライバの自動設定は、コンピュータがこの発明に係るMIDI通信ドライバの自動設定処理を実現する所定の制御プログラムを含むソフトウエアを実行することにより実施される。勿論、このMIDI通信ドライバの自動設定処理（後述する「メイン処理」参照）はコンピュータソフトウエアの形態に限らず、ＤＳＰによって処理されるマイクロプログラムの形態でも実施可能であり、また、この種のプログラムの形態に限らず、ディスクリート回路又は集積回路若しくは大規模集積回路等を含んで構成された専用ハードウエア装置の形態で実施してもよい。
なお、本発明に係るパソコン端末はパーソナルコンピュータに限らず、電子楽器やカラオケ装置又は電子ゲーム装置、あるいは携帯通信端末などのマルチメディア機器等、任意の製品応用形態をとっているものであってもよい。
【００１０】
本実施例に示すパソコン端末は、マイクロプロセッサユニット（ＣＰＵ）１、リードオンリメモリ（ＲＯＭ）２、ランダムアクセスメモリ（ＲＡＭ）３からなるマイクロコンピュータによって制御されるようになっている。ＣＰＵ１は、このパソコン端末全体の動作を制御するものである。このＣＰＵ１に対して、データ及びアドレスバス１Ｄを介してＲＯＭ２、ＲＡＭ３、MIDIインタフェース（I/F）４、操作子検出回路５、表示制御回路６、楽音合成回路７、外部記憶装置８、通信インタフェース（I/F）９がそれぞれ接続されている。更に、ＣＰＵ１には、タイマ割込み処理（インタラプト処理）における割込み時間や各種時間を計時するタイマ１Ａが接続されている。例えば、タイマ１Ａはクロックパルスを発生し、発生したクロックパルスをＣＰＵ１に対して処理タイミング命令として与えたり、あるいはＣＰＵ１に対してインタラプト命令として与える。ＣＰＵ１は、これらの命令に従って各種処理を実行する。ＲＯＭ２は、ＣＰＵ１により実行あるいは参照される各種制御プログラム（例えば、後述する「メイン処理」など）、MIDIインタフェース４を介して接続されたコンピュータと外部MIDI機器４Ａとの間でMIDIデータを送受信できるように制御するために必要な各種のMIDI通信ドライバ等を格納するものである。ＲＡＭ３は、ＣＰＵ１が所定のプログラムを実行する際に発生する各種データなどを一時的に記憶するワーキングメモリとして、あるいは現在実行中の制御プログラムやそれに関連するデータを記憶するメモリ等として使用される。ＲＡＭ３の所定のアドレス領域がそれぞれの機能に割り当てられ、レジスタやフラグ、テーブル、メモリなどとして利用される。
【００１１】
MIDIインタフェース（I/F）４は、当該パソコン端末に接続された外部のMIDI機器４ＡからMIDI規格の楽音データ（つまり、MIDIデータ）を当該パソコン端末へ入力したり、あるいは当該パソコン端末からMIDI規格の楽音データ（MIDIデータ）を外部のMIDI機器４Ａへ出力するためのインタフェースであって、例えばMIDI-IN端子やMIDI‐OUT端子あるいはMIDI‐THRU端子などを含む。外部のMIDI機器４Ａはユーザによる操作に応じてMIDIデータを発生するシーケンサ、あるいはMIDIデータに基づいて楽音を発生する外部音源モジュールや電子楽器などの各種MIDI機器であればどのようなものであってもよい。こうしたMIDIインタフェース４は専用のMIDIインタフェースを用いるものに限らず、RS-232C、USB（ユニバーサル・シリアル・バス）、IEEE1394（アイトリプルイー1394）等の汎用のインタフェースを用いてMIDIインタフェース４を構成するようにしてよい。そうした場合、MIDIデータ以外のデータをも同時に送受信するようにしてもよい。MIDIインタフェース４として上記したような汎用のインタフェースを用いる場合には、外部のMIDI機器４ＡはMIDIデータ以外のデータも送受信できるようにしてよい。勿論、パソコン端末と外部のMIDI機器４Ａとの間で送受信するデータに関するデータフォーマットはMIDI形式のデータに限らず、他の形式であってもよく、その場合はMIDIインタフェース４と外部のMIDI機器４Ａはそれにあった構成とする。
【００１２】
操作子検出回路５は、操作子の操作状態を検出し、その操作状態に応じたスイッチ情報をデータ及びアドレスバス１Ｄを介してＣＰＵ１に出力する。操作状態を検出する対象の操作子としては、例えば音高、音色、効果等を選択・設定・制御するために用いる数値データ入力用のテンキーや文字データ入力用のキーボード、あるいはディスプレイ（図示せず）に表示される所定のポインティングデバイスを操作するために用いるマウスなどの各種操作子がある。表示制御回路６は現在設定されているMIDI通信ドライバやＲＯＭ２に記憶されている複数のMIDI通信ドライバなどの各種情報を、例えば液晶表示パネル（ＬＣＤ）やＣＲＴ等から構成されるディスプレイに表示するのは勿論のこと、これ以外にもＣＰＵ１の制御状態などをディスプレイに表示するよう制御する。楽音合成回路７は複数のチャンネルで楽音信号の同時発生が可能であり、データ及びアドレスバス１Ｄを経由して与えられた楽音データを入力し、この楽音データに基づいて生成した楽音信号をアンプやスピーカなどを含むサウンドシステムから発音する。楽音データの形式はMIDI形式のようなディジタル符号化されたものであってもよいし、ＰＣＭ、ＤＰＣＭ、ＡＤＰＣＭのような波形サンプルデータ方式からなるものであってもよい。こうした楽音合成回路７の構成には、従来のいかなる構成を用いてもよい。
【００１３】
外部記憶装置８は、各種のMIDI通信ドライバやＣＰＵ１が実行する各種制御プログラムなどを記憶するものである。前記ＲＯＭ２にMIDI通信ドライバや制御プログラムが記憶されていない場合に、この外部記憶装置８（例えばハードディスク）にMIDI通信ドライバや制御プログラムを記憶させておき、それをＲＡＭ３に読み込むことにより、ＲＯＭ２にMIDI通信ドライバや制御プログラムを記憶している場合と同様の動作をＣＰＵ１にさせることができる。このようにすると、MIDI通信ドライバや制御プログラムの追加やバージョンアップ等が容易に行える。なお、外部記憶装置８はハードディスク（HD）に限られず、フレキシブルディスク（FD）、コンパクトディスク（CD‐ROM・CD‐RW）、光磁気ディスク（MO）、あるいはDVD（Digital Versatile Disk）等の着脱自在な様々な形態の外部記憶媒体を利用する記憶装置であればどのようなものであってもよい。半導体メモリなどであってもよい。
【００１４】
通信インタフェース（I/F）９は、例えばＬＡＮやインターネット、電話回線等の有線あるいは無線の通信ネットワークＸに接続されており、該通信ネットワークＸを介して図示しないサーバコンピュータなどと接続され、当該サーバコンピュータなどからMIDI通信ドライバや制御プログラムなどをパソコン端末側に取り込むためのインタフェースである。すなわち、ＲＯＭ２や外部記憶装置８（例えば、ハードディスク）等にMIDI通信ドライバや制御プログラムが記憶されていない場合に、サーバコンピュータなどからMIDI通信ドライバや制御プログラムをダウンロードするために用いられる。クライアントとなるパソコン端末は、通信インターフェース９及び通信ネットワークＸを介してサーバコンピュータへとMIDI通信ドライバや制御プログラムのダウンロードを要求するコマンドを送信する。サーバコンピュータは、このコマンドを受け、要求されたMIDI通信ドライバや制御プログラムを通信ネットワークＸを介して本パソコン端末へと配信し、本パソコン端末が通信インタフェース９を介して、これらMIDI通信ドライバや制御プログラムを受信して外部記憶装置８（例えば、ハードディスク）等に蓄積することにより、ダウンロードが完了する。なお、通信インタフェース９及び通信ネットワークＸは、有線のものに限らず無線のものであってもよい。また、双方を具えていてもよい。
【００１５】
なお、上述したようなパソコン端末は操作子検出回路５や表示制御回路６あるいは楽音合成回路７などを１つの装置本体に内蔵したものに限らず、それぞれが別々に構成され、MIDIインタフェースや各種ネットワーク等の通信手段を用いて各装置を接続するように構成されたものであってもよいことはいうまでもない。
【００１６】
上述したように、パソコン端末とMIDIインタフェース４を介して接続された外部のMIDI機器４Ａとの間でMIDIデータを送受信するためには、接続された外部のMIDI機器４Ａに対応するMIDI通信ドライバを予め設定しておく必要がある。そこで、図１に示したパソコン端末では、接続された外部のMIDI機器４Ａ（以下、接続デバイスと呼ぶ）を制御するのに適するMIDI通信ドライバをＲＯＭ２や外部記憶装置８等から自動的に読み出して設定することができるようにした。こうしたMIDI通信ドライバの自動設定の概要について、図２を用いて説明する。図２は、パソコン端末によるMIDI通信ドライバの自動設定の概要を説明するための機能ブロック図である。ただし、この実施例ではパソコン端末と接続デバイスとを接続するMIDIインタフェースとしてシリアルケーブルを用いた例について説明することとし、また説明の便宜上、メーカＡ社のＵＳＢ接続用ドライバを「ドライバＡ」、メーカＢ社のＵＳＢ接続用ドライバを「ドライバＢ」、メーカＡ社のシリアル接続用ドライバを「ドライバＣ」と呼ぶ。この場合においてパソコン端末と接続デバイスとの間でMIDIデータを送受信するためには、パソコン端末側で予め「ドライバＣ」を用いるように設定済みである必要がある。なお、図中の矢印はデータの流れを表すものである。
【００１７】
この図２に示す実施例において、まずパソコン端末はＲＯＭ２などに記憶されている各種ドライバの中からインドライバとアウトドライバとを対で含むMIDI通信ドライバであるドライバＡ〜Ｃを選択して、これらのドライバのインドライバＡ〜Ｃを全て起動する。インドライバはMIDI通信ドライバの有する機能の１つであり、インドライバを起動することによってパソコン端末は接続デバイスから受信したMIDIデータをパソコン端末で処理できる形式のデータに変換することができる。全てのインドライバＡ〜Ｃを起動すると、パソコン端末は最初の検査としてドライバＡを選択してドライバＡのアウトドライバＡのみを起動する。そして、起動したアウトドライバＡに対してリクエストを送信する。アウトドライバはMIDI通信ドライバの有する機能の１つであり、アウトドライバを起動することによってパソコン端末はパソコン端末で発生したMIDIデータを、パソコン端末と接続デバイスとを接続するインタフェースケーブルで（つまりMIDIインタフェースを介して）送信できる形式のデータに変換することができる。こうしたアウトドライバに対して送信するリクエストは、例えば接続デバイスに対して該接続デバイスの機種ＩＤを送れといったような命令を含むリクエストである。勿論、これに限らず何らかの送信データを含むものであって、接続デバイスに対して送信した送信データをそのまま送り返せといったような命令（つまりエコーバックの実行命令）であってもよい。こうしたリクエストの場合には、送信データの内容を確認することによって正常なデータの送受信が行われているか否かを含めて確認することができる。
【００１８】
アウトドライバＡに対してリクエストが送信された場合、該アウトドライバＡはＵＳＢ接続用ドライバであることから、パソコン端末はシリアルケーブルで接続された接続デバイスに対してリクエストを送信することができない。リクエストを受信しないと、接続デバイスでは検査中のドライバＡのインドライバＡに対して何らの応答（リプライ）を送信することもできないことから、パソコン端末ではインドライバＡからの応答をいつまでたっても受信しない。インドライバＡからの応答を所定時間待っても受信しない場合には、パソコン端末はインドライバＡによる接続デバイスからの応答の受信をタイムアウトとし、次に第２の検査としてドライバＢを選択してアウトドライバＢのみを起動する。そして、上述したアウトドライバＡに対して実行した処理をアウトドライバＢに対しても繰り返し実行する。アウトドライバＡと同様、該アウトドライバＢもＵＳＢ接続用ドライバであることから、パソコン端末はインドライバＢによる接続デバイスからの応答の受信をタイムアウトとし、さらに第３の検査としてドライバＣを選択してアウトドライバＣのみを起動する。
【００１９】
アウトドライバＣに対してリクエストが送信された場合、該アウトドライバＣはシリアル接続用ドライバであることから、パソコン端末はシリアルケーブルで接続された接続デバイスに対してリクエストを送信することができる。接続デバイスは、アウトドライバＣからのリクエストの受信に応じてアウトドライバＣに対応するインドライバＣに対して何らの応答を送信する。応答としてパソコン端末から受信したリクエストの内容に対応した、機種ＩＤや受信したデータそのものを送信する。インドライバＣでは接続デバイスからの応答を受信すると、パソコン端末に対して該応答を送信する。パソコン端末ではインドライバＣから応答を受信すると、アウトドライバＣ及びインドライバＣを含むドライバＣを利用することのできるMIDI通信ドライバとして検出する。このようにして、パソコン端末は複数あるMIDI通信ドライバに対して順番にリクエストを送信し、応答を受信することのできた最初のMIDI通信ドライバを利用するMIDI通信ドライバとして自動的に設定する。
【００２０】
上述したように、図１に示したパソコン端末では、接続デバイスを制御するのに適するMIDI通信ドライバをＲＯＭ２や外部記憶装置４等から自動的に読み出して設定する。そこで、こうしたMIDI通信ドライバの自動設定処理を行うための「メイン処理」について説明する。図３は、図１に示したパソコン端末におけるＣＰＵ１で実行する「メイン処理」の一実施例を示すフローチャートである。以下、図３に示したフローチャートに従って、当該処理の動作を説明する。
【００２１】
ステップＳ１では、接続デバイスに関連するドライバを検出する。すなわち、一般的にパソコン端末にはMIDIデータの送受信に関連するMIDI通信ドライバ以外にも数多くの他のドライバを記憶している。そこで、こうした複数種類のドライバのうち、MIDIデータの送受信に関連するMIDI通信ドライバだけを検出する。この際に、MIDI通信ドライバが検出されなかった場合には、MIDI通信ドライバをインストールするようユーザに対して促す。ステップＳ２では、検出された全てのMIDI通信ドライバのインドライバを起動する。起動されたインドライバは、接続デバイスからのデータを受信できる状態になっている。ステップＳ３では、検出したMIDI通信ドライバのうちのいずれか１つのMIDI通信ドライバを選択し、該MIDI通信ドライバのアウトドライバを起動する。ステップＳ４ではアウトドライバから接続デバイスへパソコン端末から受信したリクエストを、そのドライバの通信規格にあったデータ形式に変換して送る。ステップＳ５では、リクエストの送信開始時間から所定時間が経過したか否かを判定する。リクエストの送信開始時間から所定時間が経過した場合には（ステップＳ５のＹＥＳ）、ステップＳ３の処理へ戻る。すなわち、「タイムアウト」として、上記ステップＳ３で選択した該アウトドライバとインドライブとを含むMIDI通信ドライバを設定対象外のドライバとし、次のドライバの検査を行う。他方、リクエストの送信開始時間から所定時間が経過していない場合には（ステップＳ５のＮＯ）、上記ステップＳ３において選択されたMIDI通信ドライバのインドライバの受信データを確認する（ステップＳ６）。ステップＳ７では、接続デバイスからの応答データを受信したか否かを判定する。接続デバイスからの応答データを受信したと判定しなかった場合には（ステップＳ７のＮＯ）、ステップＳ５へ戻る。接続デバイスからの応答データを受信したと判定した場合には（ステップＳ７のＹＥＳ）、上記ステップＳ３において選択されたMIDI通信ドライバを利用するドライバに決定する（ステップＳ８）。
【００２２】
以上のようにすることで、上述の図２に示したMIDI通信ドライバの自動設定を実現することができる。すなわち、パソコン端末は複数あるドライバに対して順番にリクエストを送信し、応答を受信することのできた最初のMIDI通信ドライバを利用するMIDI通信ドライバとして自動的に設定する。
なお、上述したメイン処理において、全てのMIDI通信ドライバについての検査が終了したにも関わらず、利用すべきMIDI通信ドライバが決定されなかったような場合には、その旨を表示することでユーザに対してMIDI通信ドライバのインストールを行うように促してから該「メイン処理」を終了するように構成するとよい。
【００２３】
上述した実施例においては、複数あるMIDI通信ドライバに対して順番にリクエストを送信し、応答を受信することのできた最初のMIDI通信ドライバを利用するMIDI通信ドライバとして自動的に設定しているが、応答を受信することのできたMIDI通信ドライバが複数ある場合にはその中からいずれかをユーザが手動で選択することができるようにするとよい。そこで、こうした「メイン処理」の実施例について、図４を用いて説明する。図４は、「メイン処理」の別の実施例を示すフローチャートである。
【００２４】
図４に示すステップＳ１１〜ステップＳ１７までの各処理は、上述の図３に示した「メイン処理」におけるステップＳ１〜ステップＳ７までの各処理にそれぞれ対応する処理であることから、ここでの説明を省略する。ステップＳ１８では、MIDI通信ドライバに付与されているドライバ名をＲＡＭ３などのメモリに記憶する。ステップＳ１９では、選択されていない（つまり通信の確認を行っていない）MIDI通信ドライバがあるか否かを判定する。選択されていないMIDI通信ドライバがあると判定した場合には（ステップＳ１９のＹＥＳ）、ステップＳ１３の処理へ戻る。選択されていないMIDI通信ドライバがないと判定した場合には（ステップＳ１９のＮＯ）、メモリに記憶されている応答のあった全てのMIDI通信ドライバのドライバ名をディスプレイなどに表示してユーザに対してMIDI通信ドライバの選択を促す（ステップＳ２０）。ステップＳ２１では、ユーザ選択に伴いユーザが選んだMIDI通信ドライバを利用するMIDI通信ドライバに決定する。このように、この図４の処理では最初に応答データを受信したものを利用するMIDI通信ドライバとせずに、検出された全てのMIDI通信ドライバについて通信の確認を行い、レスポンスを受信したMIDI通信ドライバが複数あった場合にはその中からいずれかのMIDI通信ドライバをユーザが選択することができるようになる。こうすると、ユーザは所望のMIDI通信ドライバを設定できるので便利である。
【００２５】
また、応答を受信することのできたMIDI通信ドライバが複数ある場合にはその中からいずれかを自動的に選択するようにしてよい。そこで、こうした「メイン処理」の実施例について、図５を用いて説明する。図５は、「メイン処理」のさらに別の実施例を示すフローチャートである。
【００２６】
図５に示すステップＳ３１〜ステップＳ３９までの各処理は、上述の図４に示した「メイン処理」におけるステップＳ１１〜ステップＳ１９までの各処理にそれぞれ対応する処理であることから、ここでの説明を省略する。ステップＳ４０では、応答のあった全てのMIDI通信ドライバの中から、機種情報にあったMIDI通信ドライバを選択し、それを利用するドライバに決定する。例えば、接続デバイスから応答として受信する機種ＩＤを参照することで、機種情報としてのメーカー名を取得するようにして、その取得したメーカーが供給しているMIDI通信ドライバを選択する。応答として機種ＩＤを受信していない場合には、この自動選択の処理よりも前に機種ＩＤを取得しておく。このように、この図５の処理では最初に応答データを受信したものを利用するMIDI通信ドライバとせずに、検出された全てのMIDI通信ドライバについて通信の確認を行い、レスポンスを受信したMIDI通信ドライバが複数あった場合にはその中からいずれかのMIDI通信ドライバを自動的に選択する。このMIDI通信ドライバの自動選択の際には機種情報を参照してMIDI通信ドライバを選択することから、接続デバイスに最も適したMIDI通信ドライバが設定されることになり便利である。
【００２７】
上述の図２に示した実施例においては、パソコン端末は複数あるドライバに対して順番にリクエストを送信し、応答を受信することのできた最初のMIDI通信ドライバを利用するMIDI通信ドライバとして自動的に設定する。しかし、こうした複数あるドライバに対し順番にリクエストを送信して応答の受信を待つといった方法では、数多くのMIDI通信ドライバが記憶されている場合において処理に多大な時間が係り効率が非常に悪くなる。そこで、数多くのMIDI通信ドライバが記憶されている場合には、複数のMIDI通信ドライバに対して同時にリクエストを送信するとよい。こうした方法によるMIDI通信ドライバの自動設定の概要について、図６を用いて説明する。図６は、パソコン端末によるMIDI通信ドライバの自動設定の他の方法による概要を説明するための機能ブロック図である。図２に示した実施例と同様に、この実施例においてもパソコン端末と接続デバイスとを接続するMIDIインタフェースとしてシリアルケーブルを用いた例について説明を行う。ただし、ここではメーカＡ社のＵＳＢ接続用ドライバを「ドライバＡ」、メーカＡ社のシリアル接続用ドライバを「ドライバＢ」、メーカＢ社のＵＳＢ接続用ドライバを「ドライバＣ」と便宜上呼ぶ。こうした場合にパソコン端末と接続デバイスとの間でMIDIデータを送受信するためには、パソコン端末側で予め「ドライバＢ」を用いるように設定済みである必要がある。
【００２８】
この図５に示す実施例において、パソコン端末はＲＯＭ２などに記憶されている各種ドライバのうちMIDI通信ドライバであるドライバＡ〜Ｃを選択して、これらのドライバのアウトドライバＡ〜Ｃ及びインドライバＡ〜Ｃを全て起動しておく。パソコン端末は全てのアウトドライバＡ〜Ｃ及びインドライバＡ〜Ｃを起動すると、起動した全てのアウトドライバＡ〜Ｃに対してリクエストを送信する。アウトドライバＡ〜Ｃに対して送信する各リクエストに対しては、送信する先のドライバ毎に異なる識別子（例えばドライバの種類を表わす識別子）が付加される。各アウトドライバＡ〜Ｃに対してリクエストが送信されると、シリアル接続用ドライバであるアウトドライバＢのみがシリアルケーブルで接続された接続デバイスに対してリクエストを送信することができる。接続デバイスは、アウトドライバＢからのリクエストの受信に応じてそれに対応するインドライバＢに対して何らの応答（リプライ）を送信する。接続デバイスでは応答を送信する際に、該応答に対して受信したリクエストに付加されていた識別子を付加して送信する。インドライバＢでは接続デバイスからの応答を受信すると、パソコン端末に対して識別子の付加された応答を送信する。パソコン端末ではインドライバＢから応答を受信すると、応答に付加された識別子を参照して、該識別子で特定されるドライバＢを利用できるドライバとして検出する。このようにして、パソコン端末は複数あるドライバに対して同時にリクエストを送信し、受信することのできた応答の識別子に対応するMIDI通信ドライバを利用するMIDI通信ドライバとして自動的に設定する。
なお、パソコン端末が複数の応答を受信した場合には、受信することのできた複数の応答に各々付加されている識別子に対応するMIDI通信ドライバを表示してユーザに選択させるようにしてもよいし、あるいは接続デバイスの機種情報に従って自動的に選択するようにしてもよい。また、この実施例では１回の確認において複数のドライバに同時にリクエストを送ることができればよく、同時に全てのドライバにリクエストを送ることに限らず、複数回にわけて一部の複数ドライバずつに、同時にリクエストを送るようにすることもできる。
【００２９】
なお、上述した各実施例において全てのインドライバあるいはアウトドライバを同時に起動させる必要はなく、１つずつ順番に起動して検査するようにしてもよい。こうする場合には、選択されたドライバのインドライバとアウトドライバとをセットで起動して検査を行うようにするとよい。
【００３０】
【発明の効果】
この発明によれば、パソコン端末が通信MIDIインタフェースを介して接続された外部MIDI機器との間でMIDIデータを送受信できるように制御するために必要なMIDI通信ドライバを自動的に設定することから、初心者であっても正しいMIDI通信ドライバを簡単に設定することができる、という効果を得る。
【図面の簡単な説明】
【図１】  この発明に係る通信設定装置を内蔵したパソコン端末の実施の形態を示すハード構成ブロック図である。
【図２】  パソコン端末によるMIDI通信ドライバの自動設定の概要を説明するための機能ブロック図である。
【図３】  メイン処理の一実施例を示すフローチャートである。
【図４】  メイン処理の別の実施例を示すフローチャートである。
【図５】  メイン処理のさらに別の実施例を示すフローチャートである。
【図６】  パソコン端末によるMIDI通信ドライバの自動設定の他の方法による概要を説明するための機能ブロック図である。
【符号の説明】
１…ＣＰＵ、１Ａ…タイマ、２…ＲＯＭ、３…ＲＡＭ、４…MIDIインタフェース、４Ａ…外部のMIDI機器、５…操作子検出回路、６…表示制御回路、７…楽音合成回路、８…外部記憶装置、９…通信インタフェース、Ｘ…通信ネットワーク、１Ｄ…データ及びアドレスバス
【図１】
0004211266.tif 000002
【図２】
0004211266.tif 000003
【図３】
0004211266.tif 000004
【図４】
0004211266.tif 000005
【図５】
0004211266.tif 000006
【図６】
0004211266.tif 000007