JP2005327254A - オーディオ関連システムノードのインスタンス化 - Google Patents
オーディオ関連システムノードのインスタンス化 Download PDFInfo
- Publication number
- JP2005327254A JP2005327254A JP2005093337A JP2005093337A JP2005327254A JP 2005327254 A JP2005327254 A JP 2005327254A JP 2005093337 A JP2005093337 A JP 2005093337A JP 2005093337 A JP2005093337 A JP 2005093337A JP 2005327254 A JP2005327254 A JP 2005327254A
- Authority
- JP
- Japan
- Prior art keywords
- audio
- control panel
- user interface
- graphical user
- panel view
- 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
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04H—BROADCAST COMMUNICATION
- H04H60/00—Arrangements for broadcast applications with a direct linking to broadcast information or broadcast space-time; Broadcast-related systems
- H04H60/02—Arrangements for generating broadcast information; Arrangements for generating broadcast-related information with a direct linking to broadcast information or to broadcast space-time; Arrangements for simultaneous generation of broadcast information and broadcast-related information
- H04H60/04—Studio equipment; Interconnection of studios
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/12—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
- H04L67/125—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks involving control of end-device applications over a network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04R—LOUDSPEAKERS, MICROPHONES, GRAMOPHONE PICK-UPS OR LIKE ACOUSTIC ELECTROMECHANICAL TRANSDUCERS; DEAF-AID SETS; PUBLIC ADDRESS SYSTEMS
- H04R27/00—Public address systems
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/51—Discovery or management thereof, e.g. service location protocol [SLP] or web services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04R—LOUDSPEAKERS, MICROPHONES, GRAMOPHONE PICK-UPS OR LIKE ACOUSTIC ELECTROMECHANICAL TRANSDUCERS; DEAF-AID SETS; PUBLIC ADDRESS SYSTEMS
- H04R2227/00—Details of public address [PA] systems covered by H04R27/00 but not provided for in any of its subgroups
- H04R2227/003—Digital PA systems using, e.g. LAN or internet
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Acoustics & Sound (AREA)
- Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Physics & Mathematics (AREA)
- Circuit For Audible Band Transducer (AREA)
- Small-Scale Networks (AREA)
- Digital Computer Display Output (AREA)
- Computer And Data Communications (AREA)
- Selective Calling Equipment (AREA)
- Stereophonic System (AREA)
- Communication Control (AREA)
- User Interface Of Digital Computer (AREA)
- Stored Programmes (AREA)
- Measurement Of Mechanical Vibrations Or Ultrasonic Waves (AREA)
- Debugging And Monitoring (AREA)
- Reverberation, Karaoke And Other Acoustics (AREA)
Abstract
【課題】 オーディオ関連デバイスをモニタおよび制御するために使用可能なコントロール・パネル・ビューを表示するための方法を提供すること。
【解決手段】 この方法は、コントロール・パネル・ライブラリから格納されるGUIのコントロール・パネル・ビューを取り出すことであって、オーディオ・ノード構造は、オーディオ関連デバイスの機能性を示している、ことと、オーディオ・ノード構造が、コントロール・パネル・ライブラリにおいて格納されるGUIのコントロール・パネル・ビューを用いて表されないとき、オーディオ・ノード構造を表しているGUIのアスペクトを取り出すことと、GUIのアスペクトを格納されているGUIのコントロール・パネル・ビューに統合することと、ディスプレイ上でインスタンス化されるように、統合されたGUIのアスペクトを含むGUIのコントロール・パネル・ビューを格納することとを包含する。
【選択図】 図1
【解決手段】 この方法は、コントロール・パネル・ライブラリから格納されるGUIのコントロール・パネル・ビューを取り出すことであって、オーディオ・ノード構造は、オーディオ関連デバイスの機能性を示している、ことと、オーディオ・ノード構造が、コントロール・パネル・ライブラリにおいて格納されるGUIのコントロール・パネル・ビューを用いて表されないとき、オーディオ・ノード構造を表しているGUIのアスペクトを取り出すことと、GUIのアスペクトを格納されているGUIのコントロール・パネル・ビューに統合することと、ディスプレイ上でインスタンス化されるように、統合されたGUIのアスペクトを含むGUIのコントロール・パネル・ビューを格納することとを包含する。
【選択図】 図1
Description
本発明は、オーディオ・システムに関し、より詳細には、オーディオ関連機器のコントロール・パネル・ビューをインスタンス化するためのシステムに関する。
オーディオ信号を増幅するためにオーディオ・システムを使用することは周知である。一般的に、オーディオ・システムは、増幅器を用いてオーディオ信号を増幅し、1つ以上のスピーカを駆動するために動作する。このようなオーディオ・システムは、小売衣料品店で用いられるといった2つ、3つのコンポーネントを有する比較的シンプルな構成から、コンサートホールに用いられるといった大きく複雑なシステムに及び得る。
オーディオ・システムの構成は通常、オーディオ・システムを作り上げるデバイスの物理的配置および配線を伴う。加えて、デバイスのいくつか(例えば、増幅器およびミキサー)は、一般的に、ユーザによる構成可能な設定を含む。この設定は、所望のオーディオ・システムの性能を実現するためにユーザの好みで構成され得る。オーディオ・システムのサイズおよび複雑さが増すにつれて、配線および設定の数もまた増加する。加えて、オーディオ・システムにおけるデバイスは、地理的に、より分散し得る。従って、システムの操作、メンテナンス、およびトラブルシューティングは、より困難になる。このことは、特に、ツアー中の音楽グループのためのサウンドシステムといった、さまざまな構成で繰り返し分解され、再構築されるオーディオ・システムに当てはまる。
このようなシステムにおける複数のデバイス間での前もって構成された通信が可能である。加えて、前もって構成されたサイト特定のユーザ・インターフェースがある前もって特定されたサイト特定のデバイスと通信するように含まれ得る。前もって構成されたユーザ・インターフェースは、オーディオ・システムにおける1つ以上のデバイスの機能性を表示するカスタマイズされたディスプレイ・スクリーンを含み得る。このカスタマイズされ、前もって構成されたユーザ・インターフェースの性質のために、このシステムにおいて新しいデバイスのために古いデバイスを置換することと、このシステムにおいて新しいデバイスを追加することは、ユーザ・インターフェースの追加的なサイト特定の構成を必要とする。
このようなサイト特定の構成は、追加的なソフトウェア・コードを作るソフトウェア・プログラマを必要とするだけでなく、オーディオ・システムのオーディオ関連デバイスの構成への変更がなされるときはいつでも、調整され、かつ、入念に計画されたシステムの機能の停止、ソフトウェア・アップブレード、スタート時の再確認を必要とする。加えて、オーディオ・システムの構成が変更されるときはいつでも、ソフトウェア・コードを追加および/または修正する必要性がために、ソフトウェアのデバッグおよび所望されないダウン時間の可能性がいままで以上の懸念事項となる。さらに、故障したデバイスとは異なる機能性を含む同様なデバイスと「急いで(on the fly)」置換する招く結果になる予想外のハードウェアの故障は、新しいデバイスを追加するために現場でのソフトウェア・プログラミングが完了し、インプリメントされるまで新しいデバイスをビュー、修正および/または制御する能力に欠ける結果を招き得る。
(要約)
(項目1)
グラフィカル・ユーザ・インターフェースを有するコンピューティングシステムにおいて、オーディオ関連デバイスをモニタおよび制御するために使用可能なコントロール・パネル・ビューを表示するための方法であって、
コンピューティングシステムが、オーディオ・ノード構造における少なくとも1つのコンポーネントに対応するコントロール・パネル・ライブラリから、格納されている所定のグラフィカル・ユーザ・インターフェースのコントロール・パネル・ビューを取り出すことであって、オーディオ・ノード構造は、オーディオ関連デバイスの機能性を示している、ことと、
オーディオ・ノード構造の少なくとも一部が、コントロール・パネル・ライブラリにおいて格納されている所定のグラフィカル・ユーザ・インターフェースのコントロール・パネル・ビューを用いて表されないとき、コンピューティングシステムが、オーディオ・ノード構造の少なくとも一部を表しているグラフィカル・ユーザ・インターフェースのアスペクトを取り出すことと、
コンピューティングシステムが、グラフィカル・ユーザ・インターフェースのアスペクトを格納されている所定のグラフィカル・ユーザ・インターフェースのコントロール・パネル・ビューに統合することと、
コンピューティングシステムが、ディスプレイ上でインスタンス化されるように、統合されたグラフィカル・ユーザ・インターフェースのアスペクトを含むグラフィカル・ユーザ・インターフェースのコントロール・パネル・ビューを格納することと
を包含する、方法。
(項目1)
グラフィカル・ユーザ・インターフェースを有するコンピューティングシステムにおいて、オーディオ関連デバイスをモニタおよび制御するために使用可能なコントロール・パネル・ビューを表示するための方法であって、
コンピューティングシステムが、オーディオ・ノード構造における少なくとも1つのコンポーネントに対応するコントロール・パネル・ライブラリから、格納されている所定のグラフィカル・ユーザ・インターフェースのコントロール・パネル・ビューを取り出すことであって、オーディオ・ノード構造は、オーディオ関連デバイスの機能性を示している、ことと、
オーディオ・ノード構造の少なくとも一部が、コントロール・パネル・ライブラリにおいて格納されている所定のグラフィカル・ユーザ・インターフェースのコントロール・パネル・ビューを用いて表されないとき、コンピューティングシステムが、オーディオ・ノード構造の少なくとも一部を表しているグラフィカル・ユーザ・インターフェースのアスペクトを取り出すことと、
コンピューティングシステムが、グラフィカル・ユーザ・インターフェースのアスペクトを格納されている所定のグラフィカル・ユーザ・インターフェースのコントロール・パネル・ビューに統合することと、
コンピューティングシステムが、ディスプレイ上でインスタンス化されるように、統合されたグラフィカル・ユーザ・インターフェースのアスペクトを含むグラフィカル・ユーザ・インターフェースのコントロール・パネル・ビューを格納することと
を包含する、方法。
(項目2)
格納されている所定のグラフィカル・ユーザ・インターフェースのコントロール・パネル・ビューを取り出すことは、グラフィカル・ユーザ・インターフェースのコントロール・パネル・ビューが表示されるべきデバイスの演算能力および表示能力の少なくとも1つに基づいて、グラフィカル・ユーザ・インターフェースのコントロール・パネル・ビューの複雑さを修正することを包含する、項目1に記載の方法。
格納されている所定のグラフィカル・ユーザ・インターフェースのコントロール・パネル・ビューを取り出すことは、グラフィカル・ユーザ・インターフェースのコントロール・パネル・ビューが表示されるべきデバイスの演算能力および表示能力の少なくとも1つに基づいて、グラフィカル・ユーザ・インターフェースのコントロール・パネル・ビューの複雑さを修正することを包含する、項目1に記載の方法。
(項目3)
グラフィカル・ユーザ・インターフェースのアスペクトを取り出すことは、コンロール・パネル・ライブラリから、格納されている所定のグラフィカル・ユーザ・インターフェースのアスペクトを取り出すことを包含する、項目1に記載の方法。
グラフィカル・ユーザ・インターフェースのアスペクトを取り出すことは、コンロール・パネル・ライブラリから、格納されている所定のグラフィカル・ユーザ・インターフェースのアスペクトを取り出すことを包含する、項目1に記載の方法。
(項目4)
グラフィカル・ユーザ・インターフェースのアスペクトを取り出すことは、別のコンロール・パネル・ライブラリから、格納されている所定のグラフィカル・ユーザ・インターフェースのアスペクトを取り出すことを包含する、項目1に記載の方法。
グラフィカル・ユーザ・インターフェースのアスペクトを取り出すことは、別のコンロール・パネル・ライブラリから、格納されている所定のグラフィカル・ユーザ・インターフェースのアスペクトを取り出すことを包含する、項目1に記載の方法。
(項目5)
グラフィカル・ユーザ・インターフェースのアスペクトを取り出すことは、オーディオ・ノード構造に含まれているコンポーネントに関連したオーディオ・ノード構造の少なくとも1つを表している属性に基づいて、グラフィカル・ユーザ・インターフェースのアスペクトを構築すること包含する、項目1に記載の方法。
グラフィカル・ユーザ・インターフェースのアスペクトを取り出すことは、オーディオ・ノード構造に含まれているコンポーネントに関連したオーディオ・ノード構造の少なくとも1つを表している属性に基づいて、グラフィカル・ユーザ・インターフェースのアスペクトを構築すること包含する、項目1に記載の方法。
(項目6)
グラフィカル・ユーザ・インターフェースのアスペクトを統合することは、グラフィカル・ユーザ・インターフェースのアスペクトと格納されている所定のグラフィカル・ユーザ・インターフェースのコントロール・パネル・ビューに含まれているグラフィカル・ユーザ・インターフェースのコンポーネントとを選択的に相互に関連付けることを包含する、項目1に記載の方法。
グラフィカル・ユーザ・インターフェースのアスペクトを統合することは、グラフィカル・ユーザ・インターフェースのアスペクトと格納されている所定のグラフィカル・ユーザ・インターフェースのコントロール・パネル・ビューに含まれているグラフィカル・ユーザ・インターフェースのコンポーネントとを選択的に相互に関連付けることを包含する、項目1に記載の方法。
(項目7)
グラフィカル・ユーザ・インターフェースのコントロール・パネル・ビューを格納することは、コントロール・データ・ストレージに格納されている新しいコントロール・パネル・ビューの一部として統合されたグラフィカル・ユーザ・インターフェースのアスペクトを含むことを包含し、新しいコントロール・パネル・ビューは、オーディオ関連デバイスのオーディオ・ノード構造に関連する項目1に記載の方法。
グラフィカル・ユーザ・インターフェースのコントロール・パネル・ビューを格納することは、コントロール・データ・ストレージに格納されている新しいコントロール・パネル・ビューの一部として統合されたグラフィカル・ユーザ・インターフェースのアスペクトを含むことを包含し、新しいコントロール・パネル・ビューは、オーディオ関連デバイスのオーディオ・ノード構造に関連する項目1に記載の方法。
(項目8)
グラフィカル・ユーザ・インターフェースを有するコンピューティングシステムにおいて、オーディオ関連デバイスをモニタおよび制御するために使用可能なコントロール・パネル・ビューをディスプレイを用いて表示するための方法であって、
コンピューティングシステムを用いて、オーディオ関連デバイスのオーディオ・ノード構造に関連した複数の格納されている所定のグラフィカル・ユーザ・インターフェースのアスペクトを取り出すことと、
コンピューティングシステムが、オーディオ・ノード構造のコンポーネントを識別することとであって、オーディオ・ノード構造のコンポーネントは、取り出されたグラフィカル・ユーザ・インターフェースのアスペクトと関連していない、ことと、
コンピューティングシステムが、識別されたコンポーネントの属性に対してオーディオ関連デバイスにクエリすることと、
コンピューティングシステムが、属性に基づいて、識別されたコンポーネントに関連したグラフグラフィカル・ユーザインターフェースのアスペクトを形成すること
を包含する、方法。
グラフィカル・ユーザ・インターフェースを有するコンピューティングシステムにおいて、オーディオ関連デバイスをモニタおよび制御するために使用可能なコントロール・パネル・ビューをディスプレイを用いて表示するための方法であって、
コンピューティングシステムを用いて、オーディオ関連デバイスのオーディオ・ノード構造に関連した複数の格納されている所定のグラフィカル・ユーザ・インターフェースのアスペクトを取り出すことと、
コンピューティングシステムが、オーディオ・ノード構造のコンポーネントを識別することとであって、オーディオ・ノード構造のコンポーネントは、取り出されたグラフィカル・ユーザ・インターフェースのアスペクトと関連していない、ことと、
コンピューティングシステムが、識別されたコンポーネントの属性に対してオーディオ関連デバイスにクエリすることと、
コンピューティングシステムが、属性に基づいて、識別されたコンポーネントに関連したグラフグラフィカル・ユーザインターフェースのアスペクトを形成すること
を包含する、方法。
(項目9)
コンピューティングシステムは、格納されている所定のグラフィカル・ユーザ・インターフェースのアスペクトと形成されたグラフィカル・ユーザ・インターフェースのアスペクトとの組み合わせをインスタンス化することをさらに包含する、項目8に記載の方法。
コンピューティングシステムは、格納されている所定のグラフィカル・ユーザ・インターフェースのアスペクトと形成されたグラフィカル・ユーザ・インターフェースのアスペクトとの組み合わせをインスタンス化することをさらに包含する、項目8に記載の方法。
(項目10)
コンピューティングシステムは、格納されている所定のグラフィカル・ユーザ・インターフェースのアスペクトを形成されたグラフィカル・ユーザ・インターフェースのアスペクトと組み合わせることをさらに包含する、項目8に記載の方法。
コンピューティングシステムは、格納されている所定のグラフィカル・ユーザ・インターフェースのアスペクトを形成されたグラフィカル・ユーザ・インターフェースのアスペクトと組み合わせることをさらに包含する、項目8に記載の方法。
(項目11)
取り出すことは、仮想デバイスのリストから仮想デバイスを選択し、仮想デバイスに関連した格納されている所定のグラフィカル・ユーザ・インターフェースのアスペクトを識別することを包含する、項目8に記載の方法。
取り出すことは、仮想デバイスのリストから仮想デバイスを選択し、仮想デバイスに関連した格納されている所定のグラフィカル・ユーザ・インターフェースのアスペクトを識別することを包含する、項目8に記載の方法。
(項目12)
取り出すことは、対応するグラフィカル・ユーザ・インターフェースのアスペクトを識別するためにオーディオ関連デバイスに関連したプロダクト・プラグインのコントロール・パネル・ライブラリを検索すること、プロダクト・プラグインの検索が不成功であったとき、他のプロダクト・プラグインを検索することとを包含する、項目8に記載の方法。
取り出すことは、対応するグラフィカル・ユーザ・インターフェースのアスペクトを識別するためにオーディオ関連デバイスに関連したプロダクト・プラグインのコントロール・パネル・ライブラリを検索すること、プロダクト・プラグインの検索が不成功であったとき、他のプロダクト・プラグインを検索することとを包含する、項目8に記載の方法。
(項目13)
識別することは、格納されている所定のグラフィカル・ユーザ・インターフェースのアスペクトをオーディオ・ノード構造のコンポーネントと比較することを包含する、項目8に記載の方法。
識別することは、格納されている所定のグラフィカル・ユーザ・インターフェースのアスペクトをオーディオ・ノード構造のコンポーネントと比較することを包含する、項目8に記載の方法。
(項目14)
オーディオ関連デバイスをモニタおよび制御するために使用可能なコントロール・パネル・ビューを表示するためのシステムであって、
オーディオ関連デバイスの機能性を表しているオーディオ・ノード構造のコンポーネント格納するように構成されているノード構造ストレージと、
コンポーネントの少なくとも1つに関連した所定のグラフィカル・ユーザ・インターフェースのコントロール・パネル・ビューを格納するように構成されているコントロール・パネル・ビューと
コンポーネントの少なくとも1つの機能性が、格納されている所定のグラフィカル・ユーザ・インターフェースのコントロール・パネル・ビューを用いて十分に表されているかどうかを決定するように構成されているノード・インスタンス化エンジンと
を備え、
ノード・インスタンス化エンジンは、インスタンス化の前に、コンポーネントの少なくとも1つを表されていない機能性をサポートしているグラフィカル・ユーザ・インターフェースのアスペクトを格納されている所定のグラフィカル・ユーザ・インターフェースのコントロール・パネル・ビューに統合するようにさらに構成されている、
システム。
オーディオ関連デバイスをモニタおよび制御するために使用可能なコントロール・パネル・ビューを表示するためのシステムであって、
オーディオ関連デバイスの機能性を表しているオーディオ・ノード構造のコンポーネント格納するように構成されているノード構造ストレージと、
コンポーネントの少なくとも1つに関連した所定のグラフィカル・ユーザ・インターフェースのコントロール・パネル・ビューを格納するように構成されているコントロール・パネル・ビューと
コンポーネントの少なくとも1つの機能性が、格納されている所定のグラフィカル・ユーザ・インターフェースのコントロール・パネル・ビューを用いて十分に表されているかどうかを決定するように構成されているノード・インスタンス化エンジンと
を備え、
ノード・インスタンス化エンジンは、インスタンス化の前に、コンポーネントの少なくとも1つを表されていない機能性をサポートしているグラフィカル・ユーザ・インターフェースのアスペクトを格納されている所定のグラフィカル・ユーザ・インターフェースのコントロール・パネル・ビューに統合するようにさらに構成されている、
システム。
(項目15)
ノード・インスタンス化エンジンは、表されていない機能性をサポートしているグラフィカル・ユーザ・インターフェースのアスペクトに対するコントロール・パネル・ライブラリを検索するようにさらに構成されている、項目14に記載のシステム。
ノード・インスタンス化エンジンは、表されていない機能性をサポートしているグラフィカル・ユーザ・インターフェースのアスペクトに対するコントロール・パネル・ライブラリを検索するようにさらに構成されている、項目14に記載のシステム。
(項目16)
コントロール・パネル・ライブラリは、異なるプロダクト・プラグインに関連した複数のコントロール・パネル・ライブラリのそれぞれを備え、ノード・インスタンス化エンジンは、表されていない機能性をサポートしているグラフィカル・ユーザ・インターフェースのアスペクトに対するコントロール・パネル・ライブラリのそれぞれの検索を有効にするようにさらに構成されている、項目14に記載のシステム。
コントロール・パネル・ライブラリは、異なるプロダクト・プラグインに関連した複数のコントロール・パネル・ライブラリのそれぞれを備え、ノード・インスタンス化エンジンは、表されていない機能性をサポートしているグラフィカル・ユーザ・インターフェースのアスペクトに対するコントロール・パネル・ライブラリのそれぞれの検索を有効にするようにさらに構成されている、項目14に記載のシステム。
(項目17)
ノード・インスタンス化エンジンは、表されていない機能性をサポートしているジェネリック・グラフィカル・ユーザインターフェースのアスペクトを生成することを有効にするようにさらに構成されている、項目14に記載のシステム。
ノード・インスタンス化エンジンは、表されていない機能性をサポートしているジェネリック・グラフィカル・ユーザインターフェースのアスペクトを生成することを有効にするようにさらに構成されている、項目14に記載のシステム。
(項目18)
統合されたグラフィカル・ユーザ・インターフェースのアスペクトを含むインスタンス化された所定のグラフィカル・ユーザ・インターフェースのコントロール・パネル・ビューを一時的に格納するように構成されているコントロール・パネル・ビュー・バッファをさらに備えた、項目14に記載のシステム。
統合されたグラフィカル・ユーザ・インターフェースのアスペクトを含むインスタンス化された所定のグラフィカル・ユーザ・インターフェースのコントロール・パネル・ビューを一時的に格納するように構成されているコントロール・パネル・ビュー・バッファをさらに備えた、項目14に記載のシステム。
(項目19)
オーディオ関連デバイスから表されていない機能性に関連したさらなる情報を取り出すように構成されている発見エンジンをさらに備え、情報は、ジェネリック・グラフィカル・ユーザインターフェースのアスペクトを生成するように使用可能である、項目14に記載のシステム。
オーディオ関連デバイスから表されていない機能性に関連したさらなる情報を取り出すように構成されている発見エンジンをさらに備え、情報は、ジェネリック・グラフィカル・ユーザインターフェースのアスペクトを生成するように使用可能である、項目14に記載のシステム。
(項目20)
ノード・インスタンス化エンジンは、オーディオ関連デバイスから取り出された、表されていない機能性の属性に基づいて、グラフィカル・ユーザ・インターフェースのアスペクトと統合するように構成されている、項目14に記載のシステム。
ノード・インスタンス化エンジンは、オーディオ関連デバイスから取り出された、表されていない機能性の属性に基づいて、グラフィカル・ユーザ・インターフェースのアスペクトと統合するように構成されている、項目14に記載のシステム。
(項目21)
オーディオ・システムにおいて、オーディオ関連デバイスをモニタおよび制御するために使用可能なコントロール・パネル・ビューを表示するために動作するように構成されているパフォーマンス機器マネージャであって、
メモリデバイスと、
オーディオ関連デバイスから受け取られ得るオーディオ・ノード構造を受け取るようにメモリデバイスに格納されている命令であって、オーディオ・ノード構造は、それぞれが、オーディオ関連デバイスの機能性の一部を示している複数のコンポーネントを含む、命令と、
オーディオ・ノード構造の少なくとも一部分を表している格納されている所定のコントロール・パネル・ビュー取り出すようにメモリデバイスに格納されている命令と、
格納されている所定のコントロール・パネル・ビューが表していないとき、オーディオ・ノード構造の少なくとも一部を表しているジェネリック・コントロール・パネル・ビューを生成するようにメモリデバイスに格納されている命令と
を含む、パフォーマンス機器マネージャ。
オーディオ・システムにおいて、オーディオ関連デバイスをモニタおよび制御するために使用可能なコントロール・パネル・ビューを表示するために動作するように構成されているパフォーマンス機器マネージャであって、
メモリデバイスと、
オーディオ関連デバイスから受け取られ得るオーディオ・ノード構造を受け取るようにメモリデバイスに格納されている命令であって、オーディオ・ノード構造は、それぞれが、オーディオ関連デバイスの機能性の一部を示している複数のコンポーネントを含む、命令と、
オーディオ・ノード構造の少なくとも一部分を表している格納されている所定のコントロール・パネル・ビュー取り出すようにメモリデバイスに格納されている命令と、
格納されている所定のコントロール・パネル・ビューが表していないとき、オーディオ・ノード構造の少なくとも一部を表しているジェネリック・コントロール・パネル・ビューを生成するようにメモリデバイスに格納されている命令と
を含む、パフォーマンス機器マネージャ。
(項目22)
格納されている所定のコントロール・パネル・ビューを取り出すように、メモリデバイスに格納されている命令は、
オーディオ・ノード構造を表されていないコンポーネントを識別するように、メモリデバイスに格納されている命令と、
表されていないコンポーネントを表すグラフィカル・ユーザ・インターフェースのアスペクトを取得するように、メモリデバイスに格納されている命令と、
格納されている所定のコントロール・パネル・ビューに、グラフィカル・ユーザ・インターフェースのアスペクトを統合するように、メモリデバイスに格納されている命令とを含む、項目21に記載のパフォーマンス機器マネージャ。
格納されている所定のコントロール・パネル・ビューを取り出すように、メモリデバイスに格納されている命令は、
オーディオ・ノード構造を表されていないコンポーネントを識別するように、メモリデバイスに格納されている命令と、
表されていないコンポーネントを表すグラフィカル・ユーザ・インターフェースのアスペクトを取得するように、メモリデバイスに格納されている命令と、
格納されている所定のコントロール・パネル・ビューに、グラフィカル・ユーザ・インターフェースのアスペクトを統合するように、メモリデバイスに格納されている命令とを含む、項目21に記載のパフォーマンス機器マネージャ。
(項目23)
表されていないコンポートネントを識別するようにメモリデバイスに格納されている命令は、格納されている所定のコントロール・パネル・ビューによってサポートされていない、表されているコンポーネントに関連したさらなるコンポーネントに対して格納されている所定のコントロール・パネル・ビューにおいて表されているコンポーネントをチェックするようにメモリデバイスに格納されている命令を含む、項目22のパフォーマンス機器マネージャ。
表されていないコンポートネントを識別するようにメモリデバイスに格納されている命令は、格納されている所定のコントロール・パネル・ビューによってサポートされていない、表されているコンポーネントに関連したさらなるコンポーネントに対して格納されている所定のコントロール・パネル・ビューにおいて表されているコンポーネントをチェックするようにメモリデバイスに格納されている命令を含む、項目22のパフォーマンス機器マネージャ。
(項目24)
グラフィカル・ユーザ・インターフェースのアスペクトを取得するようにメモリデバイスに格納されている命令は、表されていないコンポーネントに関連した属性であって、オーディオ関連デバイスから属性を取り出すようにメモリデバイスに格納されている命令と、
取り出された属性に基づいて、グラフィカル・ユーザ・インターフェースのアスペクトを形成するように、メモリデバイスに格納されている命令とを含む、項目22に記載のパフォーマンス機器マネージャ。
グラフィカル・ユーザ・インターフェースのアスペクトを取得するようにメモリデバイスに格納されている命令は、表されていないコンポーネントに関連した属性であって、オーディオ関連デバイスから属性を取り出すようにメモリデバイスに格納されている命令と、
取り出された属性に基づいて、グラフィカル・ユーザ・インターフェースのアスペクトを形成するように、メモリデバイスに格納されている命令とを含む、項目22に記載のパフォーマンス機器マネージャ。
(項目25)
格納されている所定のコントロール・パネル・ビューを取り出すようにメモリデバイスに格納されている命令は、オーディオ・ノード構造の少なくとも1つのコンポーネントに関連した格納されている所定のコントロール・パネル・ビューを識別する命令を含む、項目21に記載のパフォーマンス機器マネージャ。
格納されている所定のコントロール・パネル・ビューを取り出すようにメモリデバイスに格納されている命令は、オーディオ・ノード構造の少なくとも1つのコンポーネントに関連した格納されている所定のコントロール・パネル・ビューを識別する命令を含む、項目21に記載のパフォーマンス機器マネージャ。
(項目26)
オーディオ・ノード構造を受け取るようにメモリデバイスに格納されている命令は、オーディオ関連デバイスの機能ユニットを示している仮想デバイスのリストを受け取るようにメモリデバイスに格納されている命令を含む、項目21に記載のパフォーマンス機器マネージャ。
オーディオ・ノード構造を受け取るようにメモリデバイスに格納されている命令は、オーディオ関連デバイスの機能ユニットを示している仮想デバイスのリストを受け取るようにメモリデバイスに格納されている命令を含む、項目21に記載のパフォーマンス機器マネージャ。
(項目27)
ジェネリック・コントロール・パネル・ビューを生成するようにメモリデバイスに格納されている命令は、オーディオ関連デバイスからコンポーネントを示している属性を取り出すようにメモリデバイスに格納されている命令を含む、項目21に記載のパフォーマンス機器マネージャ。
ジェネリック・コントロール・パネル・ビューを生成するようにメモリデバイスに格納されている命令は、オーディオ関連デバイスからコンポーネントを示している属性を取り出すようにメモリデバイスに格納されている命令を含む、項目21に記載のパフォーマンス機器マネージャ。
(項目28)
オーディオ関連デバイスをモニタおよび制御するために使用可能なコントロール・パネル・ビューを表示するためのシステムであって、
オーディオ関連デバイスの機能性に対応する所定のグラフィカル・ユーザ・インターフェースのコントロール・パネル・ビューを格納するように構成されているプロダクト・プラグインと、
オーディオ関連デバイスの機能性が、所定のグラフィカル・ユーザ・インターフェースのコントロール・パネル・ビューに対応していないとき、オーディオ関連デバイスの機能性に基づいて、ジェネリック・グラフィカル・ユーザインターフェースのコントロール・パネル・ビューを形成するように構成されているジェネリック・プラグインと
を備えた、システム。
オーディオ関連デバイスをモニタおよび制御するために使用可能なコントロール・パネル・ビューを表示するためのシステムであって、
オーディオ関連デバイスの機能性に対応する所定のグラフィカル・ユーザ・インターフェースのコントロール・パネル・ビューを格納するように構成されているプロダクト・プラグインと、
オーディオ関連デバイスの機能性が、所定のグラフィカル・ユーザ・インターフェースのコントロール・パネル・ビューに対応していないとき、オーディオ関連デバイスの機能性に基づいて、ジェネリック・グラフィカル・ユーザインターフェースのコントロール・パネル・ビューを形成するように構成されているジェネリック・プラグインと
を備えた、システム。
(項目29)
オーディオ関連デバイスの機能性は、所定のグラフィカル・ユーザ・インターフェースのコントロール・パネル・ビューに対応する複数のコンポーネントを含むプロダクト・プラグインであって、オーディオ・ノード構造を有するプロダクト・プラグインに提供されている、項目28に記載のシステム。
オーディオ関連デバイスの機能性は、所定のグラフィカル・ユーザ・インターフェースのコントロール・パネル・ビューに対応する複数のコンポーネントを含むプロダクト・プラグインであって、オーディオ・ノード構造を有するプロダクト・プラグインに提供されている、項目28に記載のシステム。
(項目30)
プロダクト・プラグインは、表示ディスプレイの処理能力と互換するように格納されている所定のグラフィカル・ユーザ・インターフェースのコントロール・パネル・ビューを修正するように構成されている、項目28に記載のシステム。
プロダクト・プラグインは、表示ディスプレイの処理能力と互換するように格納されている所定のグラフィカル・ユーザ・インターフェースのコントロール・パネル・ビューを修正するように構成されている、項目28に記載のシステム。
(項目31)
ジェネリック・プラグインは、所定のグラフィカル・ユーザ・インターフェースのコントロール・パネル・ビューによってサポートされていないオーディオ関連デバイスの機能性の一部をサポートするグラフィカル・ユーザ・インターフェースのアスペクトを生成するようにさらに構成されている、項目28に記載のシステム。
ジェネリック・プラグインは、所定のグラフィカル・ユーザ・インターフェースのコントロール・パネル・ビューによってサポートされていないオーディオ関連デバイスの機能性の一部をサポートするグラフィカル・ユーザ・インターフェースのアスペクトを生成するようにさらに構成されている、項目28に記載のシステム。
(項目32)
ジェネリック・プラグインのアスペクトは、格納されている所定のグラフィカル・ユーザ・インターフェースのコントロール・パネル・ビューに統合され、かつ、サポートされていない部分に関連している、項目31に記載のシステム。
ジェネリック・プラグインのアスペクトは、格納されている所定のグラフィカル・ユーザ・インターフェースのコントロール・パネル・ビューに統合され、かつ、サポートされていない部分に関連している、項目31に記載のシステム。
(項目33)
所定のグラフィカル・ユーザ・インターフェースのコントロール・パネル・ビューは、複数の異なるオーディオ関連デバイスの機能性に対応する所定の複製のグラフィカル・ユーザ・インターフェースのコントロール・パネル・ビュー備えた、項目28に記載のシステム。
所定のグラフィカル・ユーザ・インターフェースのコントロール・パネル・ビューは、複数の異なるオーディオ関連デバイスの機能性に対応する所定の複製のグラフィカル・ユーザ・インターフェースのコントロール・パネル・ビュー備えた、項目28に記載のシステム。
(項目34)
オーディオ関連デバイスをモニタおよび制御するために使用可能なコントロール・パネル・ビューを表示するための方法であって、
十分な演算能力が表示ディスプレイに存在していないとき、オーディオ関連デバイスのオーディオ・ノード構造全体を表しているグラフィカル・ユーザ・インターフェースのコントロール・パネル・ビューのセットを構築することと、
表示デバイスのディスプレイ・スクリーン上で表示されるために利用可能であるようにグラフィカル・ユーザ・インターフェースのコントロール・パネル・ビューのセット格納することと、
制限された演算能力が存在するとき、グラフィカル・ユーザ・インターフェースのコントロール・パネル・ビューのセットのサブセットを構築すること
を包含し、
演算能力は、表示デバイスの処理能力または表示能力の少なくとも1つを含む方法。
オーディオ関連デバイスをモニタおよび制御するために使用可能なコントロール・パネル・ビューを表示するための方法であって、
十分な演算能力が表示ディスプレイに存在していないとき、オーディオ関連デバイスのオーディオ・ノード構造全体を表しているグラフィカル・ユーザ・インターフェースのコントロール・パネル・ビューのセットを構築することと、
表示デバイスのディスプレイ・スクリーン上で表示されるために利用可能であるようにグラフィカル・ユーザ・インターフェースのコントロール・パネル・ビューのセット格納することと、
制限された演算能力が存在するとき、グラフィカル・ユーザ・インターフェースのコントロール・パネル・ビューのセットのサブセットを構築すること
を包含し、
演算能力は、表示デバイスの処理能力または表示能力の少なくとも1つを含む方法。
(項目35)
現在表示されている単一のグラフィカル・ユーザ・インターフェースのコントロール・パネル・ビューを処分することと、
別の単一のグラフィカル・ユーザ・インターフェースのコントロール・パネル・ビューが要求されたとき、別の単一のグラフィカル・ユーザ・インターフェースの単一のコントロール・パネル・ビュー構築することとをさらに包含する、項目34に記載の方法。
現在表示されている単一のグラフィカル・ユーザ・インターフェースのコントロール・パネル・ビューを処分することと、
別の単一のグラフィカル・ユーザ・インターフェースのコントロール・パネル・ビューが要求されたとき、別の単一のグラフィカル・ユーザ・インターフェースの単一のコントロール・パネル・ビュー構築することとをさらに包含する、項目34に記載の方法。
(項目36)
グラフィカル・ユーザ・インターフェースのコントロール・パネル・ビューのセットを構築することは、オーディオ・ノード構造の一部に対応する格納されている所定のグラフィカル・ユーザ・インターフェースのコントロール・パネル・ビューを取り出すことと、オーディオ関連デバイスから取り出された実際の値で、格納されている所定のグラフィカル・ユーザ・インターフェースのコントロール・パネル・ビューを占めることとをさらに包含する、項目34の方法。
グラフィカル・ユーザ・インターフェースのコントロール・パネル・ビューのセットを構築することは、オーディオ・ノード構造の一部に対応する格納されている所定のグラフィカル・ユーザ・インターフェースのコントロール・パネル・ビューを取り出すことと、オーディオ関連デバイスから取り出された実際の値で、格納されている所定のグラフィカル・ユーザ・インターフェースのコントロール・パネル・ビューを占めることとをさらに包含する、項目34の方法。
(項目37)
グラフィカル・ユーザ・インターフェースのコントロール・パネル・ビューのセットを構築することは、オーディオ・ノード構造に含まれている状態変数の複数の実際の値を含むようにグラフィカル・ユーザ・インターフェースのコントロール・パネル・ビューのそれぞれをインスタンス化することを包含する、項目34に記載の方法。
グラフィカル・ユーザ・インターフェースのコントロール・パネル・ビューのセットを構築することは、オーディオ・ノード構造に含まれている状態変数の複数の実際の値を含むようにグラフィカル・ユーザ・インターフェースのコントロール・パネル・ビューのそれぞれをインスタンス化することを包含する、項目34に記載の方法。
(項目38)
グラフィカル・ユーザ・インターフェースのコントロール・パネル・ビューのセットを構築することは、オーディオ関連デバイスから受け取られ得る仮想デバイスのリストに対応するグラフィカル・ユーザ・インターフェースのコントロール・パネル・ビューを識別することを包含し、仮想デバイスのそれぞれは、オーディオ関連デバイスの機能ユニットを表している、項目34に記載の方法。
グラフィカル・ユーザ・インターフェースのコントロール・パネル・ビューのセットを構築することは、オーディオ関連デバイスから受け取られ得る仮想デバイスのリストに対応するグラフィカル・ユーザ・インターフェースのコントロール・パネル・ビューを識別することを包含し、仮想デバイスのそれぞれは、オーディオ関連デバイスの機能ユニットを表している、項目34に記載の方法。
(項目39)
グラフィカル・ユーザ・インターフェースのコントロール・パネル・ビューのセットを格納することは、実際の値を含むインスタンス化されたグラフィカル・ユーザ・インターフェースを取り出し、かつ、表示するためにバッファすることを含む、項目34に記載の方法。
グラフィカル・ユーザ・インターフェースのコントロール・パネル・ビューのセットを格納することは、実際の値を含むインスタンス化されたグラフィカル・ユーザ・インターフェースを取り出し、かつ、表示するためにバッファすることを含む、項目34に記載の方法。
(項目40)
インスタンス化されたコントロール・パネル・ビューをバッファすることは、オーディオ関連デバイスにおける実際の値が変化するとき、インスタンス化されたコントロール・パネル・ビューにおける実際の値アップデートすることを包含する、項目39に記載の方法。
インスタンス化されたコントロール・パネル・ビューをバッファすることは、オーディオ関連デバイスにおける実際の値が変化するとき、インスタンス化されたコントロール・パネル・ビューにおける実際の値アップデートすることを包含する、項目39に記載の方法。
(項目41)
グラフィカル・ユーザ・インターフェースのコントロール・パネル・ビューのセットを構築することは、現在の表示である単一のグラフィカル・ユーザ・インターフェースのコントロール・パネル・ビューをインスタンス化することを包含する、項目34に記載の方法。
グラフィカル・ユーザ・インターフェースのコントロール・パネル・ビューのセットを構築することは、現在の表示である単一のグラフィカル・ユーザ・インターフェースのコントロール・パネル・ビューをインスタンス化することを包含する、項目34に記載の方法。
本発明は、オーディオ関連機器の管理および制御のためのシステムを提供する。このシステムは、オーディオ・システムにおけるオーディオ関連機器の全てを管理、モニタ、および制御する能力を提供する共通のアーキテクチャである。従って、マイクロフォンから増幅器、ミキサー、照明装置にわたるすべのものが、このシステムによってアクセスされ、制御され得る。
このシステムは、さまざまな物理ネットワークおよび通信プラットフォームのいずれかを用いて、種々の複雑性を有する複数の異なるオーディオ関連デバイスをシームレスに統合するネットワーク独立プロトコル(network independent protocol)を提供する。加えて、このシステムは、まだ知られていない特定のオーディオ関連デバイスのアスペクトを発見するメッセージング機能を提供することによって、さらなるソフトウェア・プログラミングなしでシステム内のオーディオ関連デバイスのアップグレード、変更、追加が可能である。このメッセー機能はまた、選択されたオーディオ関連デバイス間でオーディオデータおよび関連情報が効率的に、および最小のネットワーク・トラフィックで送達されることを可能にする。
1つ以上のパフォーマンス機器マネージャ(「PEM」)がこのシステムに含まれる。パフォーマンス機器マネージャは、全オーディオ・システムのコントロール・パネル・ビューを取り出しおよび/または生成する。加えて、パフォーマンス機器マネージャは、オーディオ・システム内の各特定のデバイスに対してコントロール・パネル・ビューを取り出しおよび/または生成し得る。コントロール・パネル・ビューは、オーディオ・システム内のオーディオ関連デバイスの協調された管理、制御およびモニタを可能にする。このシステム内で用いられるに通信プロトコルは、デバイス・ツー・デバイス通信と同様に、パフォーマンス機器マネージャとオーディオ関連デバイス間の標準通信を可能にする。
オーディオ関連デバイスに対応するプロダクト・プラグインは、格納されている所定のコントロール・パネル・ビューを含み得る。この格納されている所定のコントロール・パネル・ビューは、プロダクト・プラグインによって、オーディオ関連デバイスから受け取られるオーディオ・ノード構造であって、オーディオ関連デバイスのオーディオ・ノード構造を用いて識別され得る。オーディオ・ノード構造は、オーディオ関連デバイスの機能性を表しているコンポーネントを含む。含まれているコンポーネントに基づいて、プロダクト・プラグインは、このプロダクト・プラグインに含まれているコントロール・パネル・ライブラリから所定のコントロール・パネル・ビューを取り出し得る。このプロダクト・プラグインはまた、コンポーネントに対応する所定のコントロール・パネル・ビューをインスタンス化するように構成されているノード・インスタンス化エンジンを含む。このノード・インスタンス化エンジンは、コンポーネントがコントロール・パネル・ビューにより十分にサポートかどうかを決定し得る。コンポーネントのすべてが所定のコントロール・パネル・ビューにより表されていないとき、インスタンス化の前にインスタンス化エンジンは、1つ以上のユーザ・インターフェースのアスペクトをコントロール・パネル・ビューの1つ以上に統合し得る。統合され得るアスペクトは、プロダクト・プラグインまたは、別のプロダク・プラグインに含まれている所定のユーザ・インターフェースのアスペクトであり得る。加えて、このアスペクトは、ジェネリィック・プラグインによって生成されるジェネティック・ユーザ・インターフェースのアスペクトであり得る。一度完了すると、コントロール・パネル・ビューは、表示のためにインスタンス化され、それから、格納され得る。
オーディオ関連デバイスに対応するプロダクト・プラグインは、格納されている所定のコントロール・パネル・ビューを含み得る。この格納されている所定のコントロール・パネル・ビューは、プロダクト・プラグインによって、オーディオ関連デバイスから受け取られるオーディオ・ノード構造であって、オーディオ関連デバイスのオーディオ・ノード構造を用いて識別され得る。オーディオ・ノード構造は、オーディオ関連デバイスの機能性を表しているコンポーネントを含む。含まれているコンポーネントに基づいて、プロダクト・プラグインは、このプロダクト・プラグインに含まれているコントロール・パネル・ライブラリから所定のコントロール・パネル・ビューを取り出し得る。このプロダクト・プラグインはまた、コンポーネントに対応する所定のコントロール・パネル・ビューをインスタンス化するように構成されているノード・インスタンス化エンジンを含む。このノード・インスタンス化エンジンは、コンポーネントがコントロール・パネル・ビューにより十分にサポートかどうかを決定し得る。コンポーネントのすべてが所定のコントロール・パネル・ビューにより表されていないとき、インスタンス化の前にインスタンス化エンジンは、1つ以上のユーザ・インターフェースのアスペクトをコントロール・パネル・ビューの1つ以上に統合し得る。統合され得るアスペクトは、プロダクト・プラグインまたは、別のプロダク・プラグインに含まれている所定のユーザ・インターフェースのアスペクトであり得る。加えて、このアスペクトは、ジェネリィック・プラグインによって生成されるジェネティック・ユーザ・インターフェースのアスペクトであり得る。一度完了すると、コントロール・パネル・ビューは、表示のためにインスタンス化され、それから、格納され得る。
ジェネリック・プラグインはまた、対応するプロダクト・プラグインを有しないオーディオ関連デバイスに対して用いられ得る。この状況では、ジェネリック・プラグインは、オーディオ関連デバイスによって提供されるオーディオ・ノード構造に基づいて、ジェネリック・コントロール・パネル・ビューを自動的に構築し得る。ジェネリック・コントロール・パネル・ビュー内では、1つ以上の格納されている所定のユーザ・インターフェースのアスペクトがプロダクト・プラグインから取得され、ジェネリック・コントロール・パネル・ビューに統合され得る。加えて、ジェネリック・コントロール・パネル・ビューは、このジェネリック・コントロール・パネル・ビューに含むために1つ以上のジェネリック・ユーザ・インターフェースのアスペクトを生成し得る。一度形成されると、このジェネリック・コントロール・パネル・ビューは、表示のためにインスタンス化され、それから、格納され得る。
PEMはまた、表示デバイスの動作能力に基づいて、複雑さのスライド・レベルを有する格納されている所定のコントロール・パネル・ビューおよび/またはジェネリック・コントロール・パネル・ビューをインスタンス化し得る。インスタンス化された多数のコントロール・パネル・ビューおよびインスタンス化された多数のコントロール・パネル・ビューのそれぞれの複雑さのレベルは、表示デバイスの処理能力および/または表示能力に基づいて、PEMによって自動的に調整され得る。
本発明の他のシステム、方法、特徴および利点が、以下の図面および詳細な説明を検討することにより当業者に明らかになる。すべてのこのような追加的なシステム、方法、特徴および利点がこの記載に含まれ、本発明の範囲内であることが意図される。
I.システム
図1は、コンサートホールといった場所でのミュージックコンサートといった公演のために構成された複数のオーディオ関連デバイスを有するオーディオ・システム100の例である。他の例において、オーディオ・システム100は、例えば、遊園地に恒久的に備え付けられたサウンドシステム、および例えばスタジアムのロックコンサートのために一時的に備え付けられたサウンドシステムを含む他の任意のタイプの場所での他の任意のタイプの公演のために構成され得る。この例のオーディオ・システム100に含まれるオーディオ関連デバイスは、ステージ102、オーディエンスエリア104、第1のルーム106および第2のルーム108を含む場所に備え付けられたものとして表さられる。
図1は、コンサートホールといった場所でのミュージックコンサートといった公演のために構成された複数のオーディオ関連デバイスを有するオーディオ・システム100の例である。他の例において、オーディオ・システム100は、例えば、遊園地に恒久的に備え付けられたサウンドシステム、および例えばスタジアムのロックコンサートのために一時的に備え付けられたサウンドシステムを含む他の任意のタイプの場所での他の任意のタイプの公演のために構成され得る。この例のオーディオ・システム100に含まれるオーディオ関連デバイスは、ステージ102、オーディエンスエリア104、第1のルーム106および第2のルーム108を含む場所に備え付けられたものとして表さられる。
オーディオ・システム100は、複数のスピーカ116から可聴音を生成するために処理されるオーディオ信号を提供するギター112およびマイクロオフォン114を含む。他の例において、オーディオ信号は、他の任意のタイプのデバイスによって生成され得る。ギター112によって生成されるオーディオ信号は、オーディオ信号プリプロセッサ118によって処理され、オーディオ・システム100にまた含まれるオーディオ・ネットワーク120に提供され得る。オーディオ・ネットワーク120は、オーディオ信号およびオーディオ・システムに関連した他の任意の信号を運ぶことが可能である任意の形状の通信ハイウェイであり得る。オーディオ・ネットワーク120は、Ethernet(登録商標)、USB、RS232、RS485、FireWire、または他の任意のプロトコルといった複数のプロトコルのいずれかにおいて光ファイバ、有線、および/または無線通信能力を含み得る。
マイクロフォン114からのオーディオ信号はまた、オーディオ・ネットワーク120に提供され得る。この図解された例において、オーディオ信号は、ミキサー124によって受け取られ、処理され得る。ミキサー124による処理は、フィルタ、コンプレッサ、イコライザ、エフェクト、利得、またはミキサー124に含まれる他の任意の設定といった構成可能な設定に基付き得る。ミキサー124による処理に続いて、処理されたオーディオ信号は、第1のオーディオ・プロセッサ126および第2のオーディオ・プロセッサ128に含まれる構成可能なセットを用いて更なる処理のために第1のオーディオ・プロセッサ126および第2のオーディオ・プロセッサ128によって受け取られ得る。第1のオーディオ・プロセッサ126および第2のオーディオ・プロセッサ128は、オーディオ信号に更なるエフェクトを提供する。第1のオーディオ・プロセッサ126および第2のオーディオ・プロセッサ128によって処理されるオーディオ信号は、第1の増幅器132、第2の増幅器134、第3の増幅器136および第4の増幅器138によって受け取られ得る。利得およびイコライザ(「EQ」)設定といった増幅器132、134、136、138における追加的な構成可能な設定は、オーディオ信号のさらなる処理および増幅に適用され得る。増幅され、処理されたオーディオ信号は、スピーカ116のそれぞれを駆動し得る。
オーディオ信号はまた、第5の増幅器142によって受け取られ、処理され、かつ、第2のルーム108に含まれるスピーカ116のそれぞれを駆動するために用いられ得る。ウォール・コントローラ146は、オーディオ・ネットワーク120上で第5の増幅器142を制御するために用いられ得る。加えて、ウォール・コントローラ146は、オーディオ・システム100の動作に関連した1つ以上のパラメータであって、オーディオ・ネットワーク120上で受け取られる1つ以上のパラメータを表示することが可能であるディスプレイを含み得る。
第1のPEM150はまた、オーディオ・システム100に含まれ得る。第1のPEM150は、メモリデバイスに格納され、オーディオ関連デバイスといった任意の形式のコンュータデバイスにおいて実行され得る。このオーディオ・システムの例において、第1のPEM150は、GUIを有するパーソナルコンピュータ(「PC」)で実行されている。他の例において、第1のPEM150の動作が、1つ以上のGUIを有する複数のコンピュータデバイスのメモリデバイス間に配信され得る。第1のPEM150は、GUIを用いて、1つ以上のコントロール・パネル・ビューにおけるオーディオ・システム100のさまざまなオーディオ関連デバイスおよびアスペクトを、選択的に表示する能力を含み得る。あるいは、複数の並列動作するPEMは、オーディオ・システム100の所定の部分に存在するさまざまなオーディオ関連デバイスおよび機能性のコントロール・パネル・ビューを選択的に表示するために用いられ得る。従って、大きく複雑なオーディオ・システムにおいて、オーディオ・システム100は、複数のPEMが、オーディオ・システム100内で異なるサブシステムとして利用され得るように分けられ得る。
ここで用いられるものとして、用語「コントロール・パネル・ビュー」または「種々のコントロール・パネル・ビュー」は、ディスプレイ上で地理的に生成されたユーザ・インターフェース、コントロール面といったハードウェアベースのユーザ・インターフェース、および/または地理的に生成されたユーザ・インターフェースならびにハードウェアベースのユーザ・インターフェースの組み合わせとして定義される。
GUIの形式のシステム・ベニュー・ビュー・ディスプレイであるコントロール・パネル・ビューは、第1のPEM150によって生成され得る。システム・ベニュー・ビュー・ディスプレイは、オーディオ・システム100のオーディオ関連デバイスの構成、ID、動作パラメータのシステム特定の描写であり得る。オーディオ・システム100のオーディオ関連デバイスは、第1のPEM150によって発見され、かつ、システム・ベニュー・ビュー・ディスプレイに含まれ得る。加えて、第1のPEM150は、オーディオ・ネットワーク120を用いてオーディオ・システム100のオーディオ関連デバイスを個々に管理、モニタ、制御し得る。オーディオ関連デバイスの個々の管理は、GUIのコントロール・パネル・ビューである複数のコントロール・パネル・ビューから行われ得る。
オーディオ関連デバイスのそれぞれは、それぞれのオーディオ関連デバイスに対応する1つ以上のGUIのコントロール・パネル・ビューを用いて管理され得る。1つ以上のGUIのコントロール・パネル・ビューは、PEM150によって生成され、ディスプレイに表示され得る。コントロール・パネル・ビューはまた、PEM150に含まれるコントロール面であり得る。ここで用いられるものとして、用語「コントロール面」は、ボタン、ノブ、計測器(meter)、LED、スライダ、インジケータ、数値ディスプレイ、または、オーディオ関連デバイスに関連した他の任意のハードウェアベースのユーザ・インターフェースといったハードウェアを指す。
PEM150は、オーディオ・ネットワーク120上でオーディオ関連デバイスによって提供される情報に基づいて、対応するオーディオ関連デバイスのための格納されている所定のコントロール・パネル・ビューを識別し、かつ、用い得る。このような情報は、オーディオ関連デバイスのオーディオ・ノード構造を含み得る。あるいは、PEM150は、格納されている所定のコントロール・パネル・ビュー、コントロール・パネル・ビューの格納されている所定のアスペクト、および/またはコントロール・パネル・ビューを生成するためにPE150によって生成されるコントロール・パネル・ビューのアスペクトを含む生成されたコントロール・パネル・ビューを用い得る。生成されたコントロール・パネル・ビューがオーディオ・ネットワーク120上で対応するオーディオ関連デバイスによって提供されるオーディオ・ノード構造といった情報に基づいて形成され得る。
オーディオ関連デバイスのオーディオ・ノード構造に対応する格納されている所定のGUIのコントロール・パネル・ビューが同様に識別され、オーディオ関連デバイスの機能性を表示するために用いられ得る。加えて、格納されている所定のGUIのコントロール・パネル・ビュー、格納されている所定のGUIのアスペクト、および/またはPEM150によって生成されるGUIのアスペクトを含む生成されたGUIのコントロール・パネル・ビューは、GUIのコントロール・パネル・ビューを形成するために用いられ得る。生成されたGUIのコントロール・パネル・ビューは、オーディオ・ネットワーク120上で対応するオーディオ関連デバイスによって提供されるオーディオ・ノード構造といった情報に基づいて同様に形成され得る。ここで用いられるものとして、用語「GUIのアスペクト」は、オーディオ関連デバイスのモニタリング、構成、および/または制御を提供するそれぞれの特徴であって、GUIに表示され得るそれぞれの特徴として定義される。加えて、用語「コンポーネント」は、コントロール・パネル・ビューに含まれているさまざまな関連したユーザ・インターフェースを指し、一方で用語「アスペクト」は、コントロール・パネル・ビューに統合され得るスタンド・アロン・ユーザ・インターフェースを指す。
従って、格納されている所定のGUIのコントロール・パネル・ビューは、GUIのコントロール・パネル・ビューにおいて前もって開発され、視覚的に配置され、かつ相互関連する複数のGUIコンポーネントを含み得る。GUIコンポーネントは、関連したオーディオ関連デバイスの機能性の少なくとも一部分を表し得る。格納されている所定のGUIのコントロール・パネル・ビューのコンポーネントの例は、ミキサーにおける多数のオーディオ・チャンネルのそれぞれを示している。表されているオーディオ・チャンネルのそれぞれは、ボリュームを制御するスライダ、スライダの位置を(デシベルで)示すボリューム・インジケータ、および入力信号を(デシベルで)示すオーディオ信号インジケータを含み得る。この例において、スライダおよびボリューム・インジケータは、スライダが動くとき、ボリューム・インジケータがボリュームの変化する大きさを反映するように相互に関連している。
格納されている所定のGUIのコントロール・パネル・ビューに含まれていない格納されている所定のGUIのアスペクトは、PEM150によって、現存の格納されている所定のGUIのコントロール・パネル・ビューに追加され得る視覚的/制御的特徴を含む。これらの視覚的/制御的特徴は、対応するオーディオ関連デバイスの機能性を表すGUIのコントロール・パネル・ビューを形成するために追加され得る。このような追加された所定のGUIのアスペクトはまた、格納されている所定のGUIのコントロール・パネル・ビューに含まれるGUIコンポーネントに相互に関連し得る。PEM150はまた、オーディオ関連デバイスによって提供されるオーディオ・ノード構造といった情報に基づいて、格納されている所定のGUIのアスペクトの1つ以上からGUIのコントロール・パネル・ビューを形成し得る。オーディオ関連デバイスが、関連した格納されている所定のGUIのコントロール・パネル・ビューを有していないとき、GUIのコントロール・パネル・ビューが形成され得る。この場合には、所定のGUIのアスペクトはまた、形成されるGUIのコントロール・パネル・ビュー内で相互に関連し得る。
格納されている所定のGUIのコントロール・パネル・ビュー、または特定のオーディオ関連デバイスに対するGUIのコントロール・パネル・ビューに格納されている所定のGUIのアスペクトがないとき、PEM150は、対応するオーディオ関連デバイスによってオーディオ・ネットワーク上で提供される情報に基づいて、GUIのアスペクトおよびGUI全体のコントロール・パネル・ビューを生成し得る。GUIのアスペクトは、同様に相互に関連し得る。
従って、ネットワーク構成のために、PEM150は、オーディオ・システム100全体および個々のオーディオ関連デバイスのエンド・ツー・エンド動作を管理するために構成され得る。トラブルシューティング、オーディオ・システムならびにオーディオ関連デバイス設定の格納、ネットワーク管理、およびネットワーク通信管理もまた、第1のPEMを用いて行われ得る。
ミキサー124は、第2のPEM152を含み得る。第2のPEM152の動作は、モニタリング、制御および格納機能性を含む第1のPEM150と同様に構成され得る。加えて、また同様の機能性を有する第3のPEM154は、オフィスビルといったオフサイト・ロケーション160に位置し得る。
PEM150、152、154の機能性は、そのPEM150、152、154が動作しているそれぞれのデバイスの処理能力に基づいて構成され得る。加えて、PEM150、152、154は、所望のレベルの機能性および特徴を提供するように構成され得る。例えば、オフサイト・ロケーション160に位置する第3のPEM154は、監視の役割を行うGUIを有するコンピュータといったコンピュータデバイスにおいて動作し得る。従って、エラー・ロギング、アラーミングおよびシステム動作は、第3のPEM154を用いて管理され得る。監視の役割のパフォーマンスをサポートする第3のPEM154を用いて表示されるGUIのコントロール・パネル・ビューが、ライブラリからアクセスされ得、および/または第1のPEM150に対して上述されるようなオーディオ関連デバイスとの通信に基づいて生成され得る。第3のPEM154はまた、オーディオ・システム100内で、遠隔なテクニカルおよびトラブルシューティング・アシスタンスを提供するために、個々のオーディオ関連デバイスセットをビューし、かつ、調整する能力を有して構成され得る。
第2のPEM152は、ミキサー124のユーザ・インターフェースおよび処理能力をとミキサー124の機能性とシェアし得る。従って、処理といった演算能力、データ格納および/または表示能力がミキサー124において、より低いとき、第2のPEM152は縮退した機能性を有し得る。第2のPEM152は、その第2のPEM152が動作しているオーディオ関連デバイスの動作能力を決定するように構成され得る。
第2のPEM152の機能性は、ミキサー124の決定された動作能力に一致し得る。従って、ミキサー124が、通信ポート、および/またはそれ自身の動作パラメータならびに設定の表示を通信および/または制限するメモリ能力、またはオーディオ・システム100における他のオーディオ関連デバイスを有するとき、第2のPEM152は、比較的、より小さく、より複雑でないコントロール・パネル・ビューを用い得る。加えて、第2のPEM152は、オーディオ関連デバイスの動作パラメータおよび設定の、より小さい部分を要求し得る。例えば、オーディオ関連デバイスが2つのチャンネルオーディオ増幅器であるとき、第2のPEM152は、1つのチャンネルだけを表示し、表示されたチャンネルに関連した動作パラメータおよび設定を取得し得る。第2のチャンネルが要求されるとき、第2のPEM152は、第2のチャンネルおよび関連した動作パラメータならびに設定だけを表示し得る。
II.オーディオ関連デバイス
図2は、オーディオ・ネットワーク120に結合されているオーディオ関連デバイス200の例のブロック図である。オーディオ関連デバイス200は、ミキサー、増幅器、マイクロフォン、照明パネル、ウォール・コントローラ、またはオーディオ・サウンド・システムおよび/またはオーディオ性能に関連した他の任意のデバイスであり得る。オーディオ関連デバイス200は、通信ポート202、プロセッサ204、メモリ206、オーディオI/O208、およびユーザ・インターフェース210を含む。オプション的に、オーディオ関連デバイス200は、外部ユーザ・インターフェース・ポート212を含み得る。他の例において、より多くの機能性が、オーディオ関連デバイス200に示され得る。加えて、より少ない、またはより多くのブロックがオーディオ関連デバイス200の機能性を記述するために用いられ得る。
図2は、オーディオ・ネットワーク120に結合されているオーディオ関連デバイス200の例のブロック図である。オーディオ関連デバイス200は、ミキサー、増幅器、マイクロフォン、照明パネル、ウォール・コントローラ、またはオーディオ・サウンド・システムおよび/またはオーディオ性能に関連した他の任意のデバイスであり得る。オーディオ関連デバイス200は、通信ポート202、プロセッサ204、メモリ206、オーディオI/O208、およびユーザ・インターフェース210を含む。オプション的に、オーディオ関連デバイス200は、外部ユーザ・インターフェース・ポート212を含み得る。他の例において、より多くの機能性が、オーディオ関連デバイス200に示され得る。加えて、より少ない、またはより多くのブロックがオーディオ関連デバイス200の機能性を記述するために用いられ得る。
通信ポート202は、オーディオ・ネットワーク120上で通信を可能にするハードウェアおよび/またはソフトウェアの任意の構成であり得る。プロセッサ204は、オーディオ関連デバイス200内で、全体的な機能性を管理し、計算を行い、かつ、入力/出力を制御する等、命令、論理タスクおよび/または動作コードを実行することが可能な任意のデバイスであり得る。プロセッサ204はまた、通信ポート202の動作を制御し得る。
メモリ206は、プロセッサ204によって実行可能な命令、オーディオ関連デバイス200の設定、(後述される)PEMによって使用可能なオーディオ・ノード構造、動作パラメータ、セットポイント、およびオーディオ関連デバイス200ならびにオーディオ・システム100(図1)における動作に関する他のデータまたは情報を格納するように構成されている揮発性および/または不揮発性メモリデバイスであり得る。メモリ206は、実行のために取り出さるされる命令といった取り出されるデータを保存する媒体である。それは、ハードディスクドライブ、CDドライブ、DVDドライブ、ランダムアクセスメモリ(「RAM」)、読み出し専用メモリ(「ROM」)、プログラマブルROM(「PROM」)、電気的消去可能ROM(「EEPROM」)、フラッシュメモリ、または他の任意のデジタル格納デバイスを含み得る。
オーディオI/Oは、オーディオ関連デバイス200に直接的に提供される任意の入力および出力であり得る。例えば、オーディオ増幅器は、処理され、増幅され、かつ、スピーカを駆動するために用いられる出力に送達されるオーディオ入力を有し得る。ユーザ・インターフェース210は、ボタン、スライダ、ノブ、タッチ・スクリーン、またはユーザ・コマンドが、オーディオ関連デバイス200に提供されることを可能にする他の任意の形式のインターフェースを含み得る。加えて、ユーザ・インターフェース210は、オーディオ関連デバイス200のユーザによって受け取られるための任意の形式のオーディオおよび/または視覚的出力を含み得る。オーディオおよび/または視覚的な出力の例は、発光ダイオード(「LED」)、計測器、液晶ディスプレイ(「LCD」)といったディスプレイ、もしくはオーディオ関連デバイス210の状態および/または動作のインディケーションをユーザに提供する他の任意のメカニズムを含む。
外部ユーザ・インターフェース・ポート212は、オーディオ関連デバイス200が、1つ以上の他のオーディオ関連デバイスと通信することを可能にするオプション的な通信ポートであり得る。外部ユーザ・インターフェース・ポート212は、オーディオ・ネットワーク120によって提供される通信パスの外側にある他のオーディオ関連デバイスに通信リンクを提供し得る。例えば、オーディオ・ネットワーク120上で通信する増幅器は、外部ユーザ・インターフェース・ポート212を介して、ウォール・コントローラから入力信号を受け取り得る。ウォール・コントローラの例は、ロータリー・スイッチに関連したデジタル信号である出力、およびウォール・コントローラに含まれているディスプレイ上に表示されるフィードバック・インディケーションである入力を有し得る。この例において、ウォール・コントローラは、増幅器の出力利得を調整するために入力信号を提供し得る。加えて、ウォール・コントローラは、外部ユーザ・インターフェース・ポート212を介して増幅器から出力信号を受け取り得る。出力信号は、出力利得を表し得、かつ、ウォール・コントローラのディスプレイ上に表示され得る。
図3は、図2に図解されるオーディオ関連デバイス200の一部、および図1に図解されるオーディオ・システムの一部のより詳細なブロック図である。図3において、通信ポート202、プロセッサ204、オーディオI/O208、およびユーザ・インターフェース210が示されている。通信ポート202は、ネットワーク・インターフェース302を有する通信モジュール300を含む。通信モジュール302は、メモリ206に格納され得、かつ、オーディオ関連デバイス200の任意のへ通信ために用いられ得る。
ネットワーク・インターフェース・モジュール302は、メッセージ層306およびルーティング層308を含む。メッセージ層306は、オーディオ関連デバイス200とオーディオ・システムにおける他の任意のオーディオ関連デバイスおよび/または機器の間でメッセージを通信するよう構成されている。オーディオ・システム内のメッセージングのさまざまなアスペクトがより詳細に後述される。ルーティング層308は、異なるプロトコルおよび/または物理媒体の組み合わせとの通信が可能である複数のサブシステムを含む。
Ethernet(登録商標)通信リンク310、Fire Wire通信リンク312、USB通信リンク314、RS232通信リンク316、RS485通信リンク318がオーディオ関連デバイス200内で用いられ得る。他の例において、他の任意の形式の通信リンクが、オーディオ信号、オーディオ関連デバイスの設定およびオーディオ・システムに関連したデータを転送するために用いられ得る。例えば、オーディオ関連デバイスは、オーディオ・ネットワーク120上で、Ethernet(登録商標)通信リンク310を用いて、または図3に示されるUSB通信リンク314を用いて、別のオーディオ関連デバイス320と、直接的に通信し得る。ルーティング層308とインターフェースするさまざまな通信リンクのそれぞれは、パケット・サービス層、信頼層、ネットワーク層、データリンク層および物理層を含み得る。それぞれの通信リンク内において、ルーティング層は、オーディオ・ネットワーク上で、または他のオーディオ関連デバイスから受け取られるメッセージを提供する。
オーディオ・ストリーム・モジュール322およびオーディオ・サービス・モジュール324はまた、ネットワーク・インターフェース302に含まれ得る。オーディオ・ストリーム・モジュール322は、オーディオ・ネットワーク120上でストリーミングオーディオとしてオーディオ信号316を受け取り、かつ、オーディオ信号316を送達し得る。加えて、オーディオ・ストリーム・モジュール322は、オーディオ・ネットワーク120からストリーム・オーディオを受け取り得る。オーディオ・ストリーム・モジュールの例は、Peak Audio(Colorado州、Boulder)によって製造されているCobranetシステム(登録商標)である。ストリーミングオーディオは、オーディオ・ストリーム・モジュール322と別のオーディオ関連デバイスにおける別のオーディオ・ストリーム・モジュールとの間で送達され得る。異なるオーディオ関連デバイスのオーディオ・ストリーム・モジュールは、通信するために互換性があるべきである。
オーディオ・サービス・モジュール324は、異なるオーディオ・ストリーム・モジュール間で互換性のある通信を作成するためにオーディオ・ストリーム・モジュール322を自動的に構成するように動作可能である。オーディオ・サービス・モジュール324は、対応するオーディオ関連デバイスのネットワーク・インターフェース・モジュールの設定に基づいて、オーディオ・ストリーム・モジュール322のそれぞれの能力を比較し得る。他のオーディオ・サービス・モジュールとのネゴシエーションに基づいて、オーディオ・サービス・モジュール324は、すべてのオーディオ・ストリーム・モジュールに互換性があり、かつ、共通する設定を選択し得る。従って、オーディオ・ストリーム・モジュールのすべては、もっとも制限された通信能力を有するオーディオ関連デバイスに基づく設定を有するように構成され得る。自動的に設定をネゴシエーションすることによって、オーディオ・サービス・モジュール324は、オーディオ・システムにおいて、お互いに互換性があり、かつ、通信が可能であるすべてのオーディオ・ストリーム・モジュールを構成し得る。オーディオ・サービス・モジュール324によって自動的にネゴシエーションされ得る設定の例は、チャンネル・カウント、ビット深度、サンプル周波数および待ち時間を含む。
図3において、オーディオ関連デバイス200はまた、オーディオ・ネットワーク120上で、PEM328と通信し得る。先述されたように、PEM328は、オーディオ・ネットワーク120上で、オーディオ関連デバイス200を管理、制御、モニタし得る。第1のスイッチ330および第2のスイッチ332はまた、オーディオ・ネットワーク10と結合され得る。第1のスイッチ330および第2のスイッチ332は、オーディオ・ネットワーク120と第1のオーディオ・ネットワーク334および第2のオーディオ・ネットワーク336のそれぞれの間で通信パスを提供し得る。他の複数のオーディオ関連デバイス334は、第1のオーディオ・ネットワーク334および第2のオーディオ・ネットワーク336に結合され得る。他のオーディオ関連デバイス338は、オーディオ・ネットワーク120上で、第1のスイッチ330および第2のスイッチ332を用いて通信が可能である。
III.オーディオ・ノード構造
各オーディオ関連デバイス内の機能性がオーディオ・ノード構造を用いて表さられ得る。オーディオ・ノード構造はまた、GUI内に1つ以上のGUIのコントロール・パネル・ビューを生成するために用いられ得る。GUIのコントロール・パネル・ビューは、対応するオーディオ関連デバイスをモニタ、制御、および構成するために用いられ得る。加えて、オーディオ・ノード構造は、1つ以上のコンロール面を構成するために用いられ得る。
各オーディオ関連デバイス内の機能性がオーディオ・ノード構造を用いて表さられ得る。オーディオ・ノード構造はまた、GUI内に1つ以上のGUIのコントロール・パネル・ビューを生成するために用いられ得る。GUIのコントロール・パネル・ビューは、対応するオーディオ関連デバイスをモニタ、制御、および構成するために用いられ得る。加えて、オーディオ・ノード構造は、1つ以上のコンロール面を構成するために用いられ得る。
図4は、オーディオ関連デバイスを表すオーディオ・ノード構造400の例である。オーディオ・ノード構造400は、ノード402に含まれている複数のコンポーネントを含む。ノード402は、オーディオ関連デバイスを表し得、かつ、ノードIDを含む。あるいは、ノードは、機能的なオーディオ関連デバイスを形成する多くのノードが存在している、より大きいシステムのサブコンポーネントを形成し得る。各ノードは、1つ以上の仮想デバイスを含み得る。各仮想デバイスは、1つ以上のオブジェクト、および状態変数を含み得る。ネットワーク能力を有して構成されているノードは、1つ以上のネットワーク・インターフェース上で通信し得る。
図4において、ノード402の例は、第1の仮想デバイス404および第2の仮想デバイス406であるコンポーネントを含む。他の構成の例において、追加的な、またはより少ない仮想デバイスが、特定のオーディオ関連デバイスの機能性に基づいて含まれ得る。第1の仮想デバイス404は、ノード・レベル動作を担うように構成されているノード・マネージャ仮想デバイスである。例えば、ノード・マネージャは、ノード402における仮想デバイスのリストを維持し得る。仮想デバイスのリストを用いて、ノード・マネージャ仮想デバイスは、そのノードにおいて、どの仮想デバイスが存在しているかを他のオーディオ関連デバイスに通信し得る。加えて、ノード・マネージャ仮想デバイスは、任意のノード・レベル情報を維持することを担い得る。
第1の仮想デバイス404および第2の仮想デバイス406は、このシステムにおけるデバイスのそれぞれを表す3レベル階層のトップレベルである。一般的に、オーディオ・ノード構造における仮想デバイスのそれぞれは、デバイス内の機能ユニットを表す。第1の仮想デバイス404は、第2の階層レベルを表すオブジェクト408を含む。後述されるように、オブジェクトは、処理ブロック、制御エレメント、ステータス・エレメント等を表すために用いられ得る。オブジェクト408は、第1のオブジェクト410および第2のオブジェクト412である追加的なコンポーネントを有し得る。第1のオブジェクト410および第2のオブジェクト412は、オブジェクト408内の追加的な機能エレメントを表す。
第1のオブジェクト410および第2のオブジェクト412、第1の仮想デバイス404および第2の仮想デバイス406のそれぞれは、状態変数414であるコンポーネントであって、オーディオ・ノード構造のコンポーネントを含む。後述されるように、状態変数は、周波数、フェーダ位置、遅延時間、またはデバイス内の他の任意の変化可能なパラメータといった変化され得るデータ変数ある。従って、このような変数データポイントが、オーディオ・ノード構造を用いて表される特定のオーディオ関連デバイスの機能性に依存して仮想デバイスおよび/またはオブジェクトに存在し得る。状態変数は、第3の階層レベルを表している。
ノード402、仮想デバイス404、406、オブジェクト408、410、412および状態変数414は、各オーディオ関連デバイスのオーディオ・ノード構造を作り上げるコンポーネントである。ノード402、仮想デバイス404、406、オブジェクト408、410、412および状態変数414は、特定のオーディオ関連デバイスの機能性を反映する任意の構成であり得る。従って、異なるオーディオ関連デバイスのオーディオ・ノード構造は、同一であり得、または、著しく異なり得る。
ノード402、仮想デバイス404、406、オブジェクト408、410、412および状態変数414のそれぞれ(つまり、コンポーネント)は、属性を含み得る。属性は、どのように、関連したノード、仮想デバイス、オブジェクト、または状態変数が用いられるか記述し、また、名前、測定単位および/または他のデバイス、オブジェクトおよび/または状態変数との関連性を記述し得る。加えて、属性は、対応する仮想デバイス、オブジェクトおよび状態変数のコントロール・パネル・ビューにおける配置といった記述的情報、配線の詳細、または対応するコンポーネントの他の任意の記述もしくは特性を提供し得る。
オーディオ関連デバイスのオーディオ・ノード構造内において、パラメトリックEQといった信号処理のために用いられるコンポーネント、メカニカル・フェーダといった制御コンポーネント、または出力計といったセンサ・コンポーネント間で差異がないかもしれない。加えて、パスワードおよびミディ(「MIDI」)チャンネルといったグローバルアイテムが、オーディオ・ノード構造に含まれ得る。状態変数、オブジェクトおよび/または仮想デバイスを有するオーディオ・システムに含まれている異なるオーディオ関連デバイスの機能性のすべてを表すことによって、サブスクリプションおよび制御といった通信のための同一のメカニズムが、幅広くさまざまな異なるオーディオ関連デバイスを含むオーディオ・システムにわたってあまねく適用され得る。
ノードは、そこに包含される仮想デバイスを動的に作成し、破壊し得る。オーディオ関連デバイスにおいて動作可能なプログラムは、動的に作成された仮想デバイスの例である。動的に作成された仮想デバイスの別の例は、オーディオ関連デバイスにおけるコントロール・パネル・ビューのためのオートメーション仮想デバイスである。オブジェクトはまた、動的に作成され、破壊され得る。動的に作成されたオブジェクトの例は、オーディオ関連デバイスのコントロール・パネル・ビュー上の挿入物(insert)であり得る。この例において、エフェクト・オブジェクトは、インスタンス化され得、それから、オブジェクトは、このような関連性を記述するように構成可能なルーティング属性を有する状態変数の変化を介してエフェクト・オブジェクトにリンクされ得る。
状態変数
オーディオ・ノード構造内において、オーディオ関連デバイスの機能性において修正可能なパラメータは、状態変数(「SV」)コンポーネント内で保持され得る。このようにして、SVは、測定された値、セットポイント値、チューニング値、設定値、またはオーディオ関連デバイス内の変化可能なパラメータである他の任意のパラメータであり得る実際の値を含む。実際の値は、他の実際の値に基づいて、自動的にアップデート、手動でアップデートおよび/または論理的にアップデートされ得る。SVの例は、周波数のようなオーディオ・オブジェクトのパラメータおよびコントロール面上のフェーダの位置を含む。ウォール・コントローラのようなシンプルなオーディオ関連デバイスは、制限された数のSVだけを包含し得る。ミキシング・コンソールといった他のオーディオ関連デバイスは、何十万ものSVを包含し得る。SV上の一般的な動作は、変数を「セットし」、かつ、変数を「獲得する」ことを含む。例えば、このような動作は、EQの周波数をセットすること、およびオーディオ関連デバイスのコントロール面上の表示のための遅延時間を獲得することに変換され得る。このような基本動作は、オートメーションといった、より複雑な形式の使用の基本を形成し得る。
オーディオ・ノード構造内において、オーディオ関連デバイスの機能性において修正可能なパラメータは、状態変数(「SV」)コンポーネント内で保持され得る。このようにして、SVは、測定された値、セットポイント値、チューニング値、設定値、またはオーディオ関連デバイス内の変化可能なパラメータである他の任意のパラメータであり得る実際の値を含む。実際の値は、他の実際の値に基づいて、自動的にアップデート、手動でアップデートおよび/または論理的にアップデートされ得る。SVの例は、周波数のようなオーディオ・オブジェクトのパラメータおよびコントロール面上のフェーダの位置を含む。ウォール・コントローラのようなシンプルなオーディオ関連デバイスは、制限された数のSVだけを包含し得る。ミキシング・コンソールといった他のオーディオ関連デバイスは、何十万ものSVを包含し得る。SV上の一般的な動作は、変数を「セットし」、かつ、変数を「獲得する」ことを含む。例えば、このような動作は、EQの周波数をセットすること、およびオーディオ関連デバイスのコントロール面上の表示のための遅延時間を獲得することに変換され得る。このような基本動作は、オートメーションといった、より複雑な形式の使用の基本を形成し得る。
属性
オーディオパラメータの値を保持することに加えて、SVはまた、どのように対応するSVが用いられるかを記述する多くの属性を所有し得る。2つの属性の例は、Gain SVがセットされ得るデシベル(dB)値のレンジを表す「最小」および「最大」である。別の属性は、dB値を保持するために用いられるデータ・タイプであり得る。例えば、データ・タイプは、IEEEフロート、バイト、ワードとしてSVを示し得る。従って、属性情報を含むことによって、他のオーディオ関連デバイスが、SVに対して特にプログラムされておらず、それ故に、SVの特性を知らないときでさえ、SVはオーディオ・システムにおける他のオーディオ関連デバイスにアクセス可能である。このようにして、属性は、その属性を発見するために予備知識を有しておらず、従って、SVを用いるために必要とされる知識を取得する他のオーディオ関連デバイスによって用いられ得る。
オーディオパラメータの値を保持することに加えて、SVはまた、どのように対応するSVが用いられるかを記述する多くの属性を所有し得る。2つの属性の例は、Gain SVがセットされ得るデシベル(dB)値のレンジを表す「最小」および「最大」である。別の属性は、dB値を保持するために用いられるデータ・タイプであり得る。例えば、データ・タイプは、IEEEフロート、バイト、ワードとしてSVを示し得る。従って、属性情報を含むことによって、他のオーディオ関連デバイスが、SVに対して特にプログラムされておらず、それ故に、SVの特性を知らないときでさえ、SVはオーディオ・システムにおける他のオーディオ関連デバイスにアクセス可能である。このようにして、属性は、その属性を発見するために予備知識を有しておらず、従って、SVを用いるために必要とされる知識を取得する他のオーディオ関連デバイスによって用いられ得る。
属性はまた、オーディオ・ノード構造を記述する情報を提供し得る。従って、オーディオ・ノード構造のいくらかの部分が未知であるとき、未知のコンポーネントに関連した属性は、コンポーネントの機能性を決定するために用いられ得る。加えて、属性は、オーディオ・ノード構造とコントロール・パネル・ビューとの間の対応を提供し得る。例えば、属性は、オーディオ関連デバイスに対して格納されている所定のコントロール・パネル・ビューを識別するために用いられ得る。加えて、格納されている所定のコントロール・パネル・ビューがオーディオ・ノード構造に完全に対応しないとき、または、格納されている所定のコントロール・パネル・ビューが全く存在しないとき、オーディオ・ノード構造に含まれる属性はコントロール・パネル・ビューを形成する情報を提供し得る。このようにして、オーディオ・デバイスのオーディオ・ノード構造が、格納されている所定のコントロール・パネル・ビュー、または格納されている所定のアスペクトを有しないとき、オーディオ・ノード構造の属性は、コントロール・パネル・ビューおよび/またはアスペクトを生成する情報を提供し得る。
属性はまた、生成されたアスペクトの格納されている所定のコントロール・パネル・ビューへの統合または取り込みが可能である情報、またはコントロール・パネル・ビューに多くの生成されたアスペクトを形成する情報を含み得る。例えば、オーディオ・ノード構造は、ミキサーにおけるチャンネルを表すオブジェクトおよびSVを含み得る。オブジェクトおよびSVに関連した属性は、チャンネルが、制御能力を提供するスライダとの割合として表示されるべきであることを示し得る。加えて、属性は、それぞれに対して生成されるさまざまなアスペクトの配置を記述し得る。さらに、属性は、アスペクト間の配線がどのように表示されるべきか、アスペクト、カラー、サイズ、シェイプ、またはコントロール・パネル・ビューにおけるオーディオ関連デバイス機能性のディスプレイに関連する他の任意のパラメータ間の相互間の関連がどうように表示されるべきかを記述し得る。属性の概念は、オーディオ・ノード構造全体にわたり適用され、SV、オブジェクト、仮想デバイス、およびノード・マネージャ仮想デバイスを含む。
属性は、その属性が用いられ得る方法を表す3つのカテゴリの1つに分類され得る。属性のカテゴリは、静的、インスタンス、および動的を含む。静的属性は、固定されており、変化しない。従って、静的属性のデータベースは、オーディオ・ノード構造における、SVといったコンポーネントを制御するために必要とされる発見の量を最小にするものとして定義され得る。インスタンス属性は、SVのインスタンスごとにセットされ得る。動的属性は、クライアントセットの、またはランタイム時に修正され得る静的属性、またはインスタンス属性である。静的およびインスタンス属性は、クエリされ得る。動的属性は、一般的に、静的属性またはインスタンス属性のいずれかと類似している。動的属性は、しかしながら、その値がランタイム時にオーバーライドされ得るので静的属性またはインスタンス属性とは異なる。
属性は、属性識別(「属性ID」)およびクラス識別(「クラスID」)を含み得る。属性IDは、各属性を一意的に識別する方法である。属性IDは、符号なしのバイト(「UBYTE」)を用いてゼロから数えられ得、所定の名前を用いて表さられ得る。オーディオ・ノード構造の階層の各レベルでの属性は、それ自身の列挙を有し得る。従って、例えば、SVクラスに対する3の属性IDは、オブジェクト・クラスにおいて異なる属性を指し得る。クラスIDは、属性値の一意のグループを識別する符号なしのワード(「UWORD」)といった所定の数を用いて表され得る(クラスID)。例えば、SVが、特定の値にセットされた11個すべての属性を有するとき、属性のこのコレクションおよびそれらの値は、SVクラスとして識別され、代表クラスIDを割り当てられ得る。このクラスIDは、長文式で属性を記述することを省くために省略表現の形式として用いられ得る。クラスIDは、属性値のセット(SVクラス、オブジェクト・クラス等)を表す階層のすべてのレベルにおいて用いられ得る。SVおよびオブジェクト・クラスの再使用を促すために、クラスIDのマスター・リストが維持され得、クラスが登録され得る。
クラス
SVクラス、オブジェクト・クラス、仮想デバイス・クラス、またはノード・マネージャ仮想デバイス・クラスといったクラスは、数的に、かつ、それぞれクラスID(「UWORD」)およびクラス名(「STRING」)といったストリング名によって表され得る。各クラスIDは、ID、属性名およびカテゴリといった属性のセットを含み得る。クラス名は、オーディオ・ノード構造における階層レベルを識別するためにプレフィックスされ得る。例えば、SVのクラス名は、「SVClass」であり得る。SVクラス名の例は、SVClassPeqFreq、SVClassPeqQおよびSVCassPeqGainである。クラスIDはまた、SVクラス、オブジェクト・クラス、仮想デバイス・クラスおよびノード・マネージャ仮想デバイスのいずれかに対して用いられ得る。SVクラスIDにおける属性のセットの例は以下のとおりである。
SVクラス、オブジェクト・クラス、仮想デバイス・クラス、またはノード・マネージャ仮想デバイス・クラスといったクラスは、数的に、かつ、それぞれクラスID(「UWORD」)およびクラス名(「STRING」)といったストリング名によって表され得る。各クラスIDは、ID、属性名およびカテゴリといった属性のセットを含み得る。クラス名は、オーディオ・ノード構造における階層レベルを識別するためにプレフィックスされ得る。例えば、SVのクラス名は、「SVClass」であり得る。SVクラス名の例は、SVClassPeqFreq、SVClassPeqQおよびSVCassPeqGainである。クラスIDはまた、SVクラス、オブジェクト・クラス、仮想デバイス・クラスおよびノード・マネージャ仮想デバイスのいずれかに対して用いられ得る。SVクラスIDにおける属性のセットの例は以下のとおりである。
静的属性
静的属性は、クラスのそれぞれに対してあらかじめ定義され得る。例えば、SVクラスは、異なるSV値、最小SV値、最大SV値、制御法則およびフラグを表すデータ・タイプのセットの静的属性を含み得る。
静的属性は、クラスのそれぞれに対してあらかじめ定義され得る。例えば、SVクラスは、異なるSV値、最小SV値、最大SV値、制御法則およびフラグを表すデータ・タイプのセットの静的属性を含み得る。
制御法則は、SVがどのように制御されるべきかを記述し得る。例えば、周波数に対するSVは、対数であり得、利得SVは、およそ0dBで付加的な分解能を有する対数であり得る。SVが、そのクラスのMinとMaxとの間の浮動小数点値を取るとき、ユーザに、あるルックアンドフィールを与えるために制御法則を特定することが所望され得る。例えば、周波数変数の場合には、ユーザがエンコーダをターンするとき、またはスピナー上の「アップ」コントロールボタンを押すとき、次の値が前の値から間隔が対数的に置かれることが所望され得る。制御法則はまた、SVが受容し得る粒度を特定するために用いられ得る。例えば、利得SVは、0.1dBの最大分解能有し得る。すべてのステップがあらかじめ定義されているので、列挙されたSVの場合には、制御法則は省略され得る。
フラグは、属性に関連したSVをさらに定義するためにあらかじめ定義され得る。フラグの例は、周期的に、または変化毎に、サブスクリプションのタイプを自動的にセットするためにサブスクリプションにおいて用いられ得るセンサ属性を含む。センサSVの例は、出力計、しきい値計測器、または電力増幅器温度を含む。非センサSVの例は、周波数またはMIDIチャンネルを含む。フラグの他の例は、SVがイベント・サブスクリプションにサブスクライブされ得ることを示すイベント・タイプ、または最大、最小、またはSV名ストリングが、ドキュメントされた静的クラス値から変化されたときといった変化を示す修正されるフラグを含む。SV名ストリングは、SVクラス内の「インスタンス属性」であるが、それは、普通、オブジェクト内で静的であり、従って、それになされた変化は、修正されたフラグを用いて追跡され得る。
オブジェクト・クラス、仮想デバイス・クラス、またはノード・マネージャ仮想デバイス・クラスはまた、クラス名といった静的属性を含み得る。オブジェクト・クラス名は、ユーザに対して人間読み取り可能省略表現を提供するために用いられ得る。オブジェクト・クラス名は、オーディオ関連デバイスのファミリの間で一意である必要はない。例えば、ミキサーである第1のオーディオ関連デバイスは、オブジェクト・クラス名「ObjClassSC_PEQ_5」を有し得、dbx DriveRackといったオーディオ関連デバイスの同一のファミリにおける第2のオーディオ関連デバイスは、クラス名「ObjClassDR_PEQ_5」を有し得る。双方のオーディオ関連デバイスは、クラス名「5Band PEQ」を有し得る。クラス名は、GUIのコントロール・パネル・ビュー上のドロップダウンから選択され得、ストリングとして格納され得る。
仮想デバイスにおいて、静的特性は、クラスIDに関連した値を有する仮想デバイスに属する属性であり得る。1つの例において、静的属性は、インスタンスごとにセットされず、かつ、ランタイム時に動的に変化されないかもしれない。仮想デバイスに対する静的属性はまた、名前ストリングを含み得る。名前ストリングは、仮想デバイスのインスタンス化を命名するために用いられ得る。名前ストリングは、クラス名と同一であり得る。同一名の複数のインスタンスがある際には、複数のインスタンスが、スペースおよび小数を加えることによって区別され得る。例えば、ミキサーであるオーディオ関連デバイスにおいて、「MHx Input Bank」の仮想デバイス・クラス名を有する入力フェーダ・バンクの2つのインスタンス化があるとき、各インスタンスに対する仮想デバイスの名前ストリングは、「MHx Input Bank 1」および「MHx Input Bank 2」であり得る。
ノード・マネージャ仮想デバイスの静的属性はまた、クラス・タイプを含み得る。ノード・マネージャのクラス・タイプは、ノード・マネージャの静的属性の値を決定し得る。属性は、インスタンスごとに基づいて変化しないかもしれないし、ランタイム時に変化されえないかもしれない。例えば、オーディオ関連デバイスの特定のタイプに対するノード・マネージャ・クラスにおける静的属性は、ノード・マネージャのすべてのインスタンス化において同一の値を有する。ノード・マネージャはまた、ベニュー・テーブル・サイズを示す静的属性を含み得る。ベニュー・テーブル・サイズの静的属性は、オーディオ関連デバイスによってサポートされるベニュー・テーブルのサイズを発見するためにクエリされ得る。ベニュー・テーブルの使用および動作は、後述される。
インスタンス属性
インスタンス属性は、SV、オブジェクト、仮想デバイス、またはノード・マネージャ仮想デバイス・クラスの各インスタンスに対して一意の値にセットされ得る静的属性である。
インスタンス属性は、SV、オブジェクト、仮想デバイス、またはノード・マネージャ仮想デバイス・クラスの各インスタンスに対して一意の値にセットされ得る静的属性である。
SVに関しては、オブジェクトまたは仮想デバイスは、値を定義するSVをインスタンス化し得る。従って、これらの属性は、オブジェクトまたは仮想デバイスに対して静的であり得る。SVクラスは、SV ID、名前ストリング、デフォルト値、コントロール・プリミティブ、コントロール座標(coordinate)、およびエンコーダ・モードといったインスタンス属性を含む。SV IDは、オブジェクトまたは仮想デバイス内の各SVの識別子として用いられるUWORDであり得る。SV IDは、ゼロベースである必要はなく、またオブジェクトまたは仮想デバイスを完全に占める必要はない。SVの名前ストリングは、SVに対して人間読み取り可能プロンプトを提供する。このストリングは、オブジェクト内のSVに対して一意である必要はない。例えば、パラメトリックEQの各バンドに対して、利得を表す各SVは、SVの名前ストリング「Level」を有する。デフォルト値は、オブジェクトまたは仮想デバイスを初期化するために用いられ得る。デフォルト値は、SVのデータ・タイプにおいて表され得る。デフォルト値は、プログラマが、オブジェクトの必要性に従って、これを一意に特定し得るように動的であり得る。例えば、2つのクロスオーバー周波数のSVを有するクロスオーバー・オブジェクトは、それぞれ100Hzおよび1.0KHzでそれらが初期化されることを所望する。コントロール・プリミティブは、オブジェクト、または仮想デバイスに対するジェネリックGUIのコントロール・パネル・ビュー、またはジェネリックGUIのアスペクト作るために用いられ得る。オブジェクト、または仮想デバイスは、コントロール・プリミティブが、各SVに対して用いられること示唆し得る。コントロール座標は、ジェネリックGUIのコントロール・パネル・ビュー、またはジェネリックGUIのアスペクトに対するコントロール・プリミティブの配置に対して用いられ得る。エンコーダ・モードは、どのようにエンコードといったGUIのアスペクト上のSV値を表示するかを示唆し得る。Encoder Mode属性のData Typeは、UBYTEであり得る。
オブジェクトはまた、名前ストリングといったインスタンス属性を含み得る。名前ストリングは、インスタンス化されたオブジェクトの名前であり得、STRINGデータ・タイプに格納され得る。例えば、プロダクトは、インスタンス化「Input 1」、「Input 2」等を有するオブジェクト・クラス「Input_Channel」を有し得る。オブジェクトはまた、フラグであるインスタンス属性を含み得る。フラグは、対応するオブジェクトに関しての情報を提供し得る。例えば、フラグの1つは、修正されるフラグあり得る。修正されるフラグは、オブジェクト内の1つ以上のSVが、それらの静的クラス定義から修正されたときを示すビットであり得る。可能な修正は、「SV Dynamic Attributes」のもとでリストアップされる。修正されたオブジェクトを認識した際に、コントロール面を有する別のオーディオ関連デバイスは、変化に対処するためにさらにクエリを行い得る。
ノード・マネージャ仮想デバイスはまた、ノード・マネージャが作成されるとき、カスタム値にセットされ得るインスタンス属性を含み得る。このようなインスタンス属性は、ランタイム中に動的に変化可能ではないかもしれない。ノード・マネージャのインスタンス属性の例は、先述されたノード・マネージャ仮想デバイス・クラスの例に含まれる(表4)。
表4の例において、ノード・マネージャ仮想デバイスの仮想デバイス名前ストリングは、ノードおよびノードが属するワークグループの双方の名前を指定し得る。名前ストリング属性は、ユーザセットでき(user―configurable)、不揮発性のメモリに格納され得る。シリアル・ナンバー属性は、各ノードを識別する一意のナンバーであり得る。例えば、一意のナンバーは、アドレス衝突を解決するために用いられ得る。シリアル・ナンバーの1つのタイプの例は、16進法のナンバーストリングである統計的に一意の128ビットIDであり得る。例えば、統計的に一意の128ビットIDの生成は、Microsoft(登録商標)のアプリケーション「uuidgen」を起動するPCを有して行われ得る。生成されたシリアル・ナンバーは、製造中にノードの不揮発性メモリに書き込まれ得、決して変化され得ない。シリアル・ナンバーの別のタイプの例は、先頭から80ビットがゼロにセットされた48ビットEthernet(登録商標) MACアドレスである。オーディオ関連デバイスが2つ以上のネットワーク・インターフェースを有する際には、通常、有効である、または、より頻繁に有効であるインターフェースからのMACアドレスが用いられ得る。
表4におけるソフトウェア・バージョン属性は、オーディオ関連デバイスにおいて動作可能な内蔵のファームウェアまたはPCアプリケーション・ソフトウェアのリビジョンであり得る。ソフトウェア・バージョンは、任意の形式のストリングによって表され得る。ホップ・カウント属性は、出力メッセージ(outgoing message)が初期化されるホップの数を示すために用いられ得る。ホップ・カウント属性のデータ・タイプは、UBYTEであり得、デフォルトは、所定のホップの数であり得る。ユーザ名A―D属性は、ユーザの各カテゴリに対するユーザ名を包含し得る。ユーザ・パスワードA―D属性は、ユーザの各カテゴリに対するパスワードを包含し得る。
表4におけるアドレス・モード属性は、ノードが、アドレス・ネゴシエーション中にランダムの、またはシーケンシャルのノード・アドレスを選ぶか否かを制御し得る。アドレス・ネゴシエーションは後述される。オーディオ・システムの例において、すべてのオーディオ関連デバイスは、アドレス衝突の可能性を最小にするためにランダムアドレッシングを用いるためにセットされ得る。あるいは、ツアー中のサウンド・オーディオシステムのような他のオーディオ・システムにおいて、シーケンシャルにナンバリングされたノードを有することが所望され得る。従って、アドレス・モード属性は、シーケンシャル・ノード・アドレッシングにセットされ得、シーケンシャル・ナンバリングは、1度に1つずつノード(オーディオ関連デバイス)をオンし、各々の次のノードが、最後のアドレスより1つ大きいアドレスを選択することにより達成され得る。アドレス・モード属性は、0―Randomおよび1―Sequentialのフォーマットの例を有するUBYTEに含まれ得る。
動的属性
動的属性は、クライアントセットであり得、またはランタイム時に修正され得る属性のサブセットである。このことは、SVに対してユーザ定義のレンジをおよび名前をセットするとき有用である。この例において、動的に修正され得るSV属性は、最小値、最大値、および名前ストリングである。修正可能な属性が、公表値から逸脱し、「動的」になるとき、発見プロセスは、実際の値を決定するために付加的なステップを必要とするかもしれない。この理由のために、動的属性のリストは、発見中に付加的なオーバーヘッドを制限するために特定の必要性がある状況に制限され得る。
動的属性は、クライアントセットであり得、またはランタイム時に修正され得る属性のサブセットである。このことは、SVに対してユーザ定義のレンジをおよび名前をセットするとき有用である。この例において、動的に修正され得るSV属性は、最小値、最大値、および名前ストリングである。修正可能な属性が、公表値から逸脱し、「動的」になるとき、発見プロセスは、実際の値を決定するために付加的なステップを必要とするかもしれない。この理由のために、動的属性のリストは、発見中に付加的なオーバーヘッドを制限するために特定の必要性がある状況に制限され得る。
仮想デバイスはまた、動的属性を利用し得る。例えば、動的属性は、仮想デバイスのクラスIDの一部として含まれ得る。この例において、動的属性は、仮想デバイスが、ランタイム時に異なるオブジェクトを包含するために再構成され得ることを示すために用いられるビットフラグであり得る。ビットフラグがクリアされるとき、動的属性は、仮想デバイスがオブジェクトの静的な構成を包含し、そのクラスIDによって全体的に知り得ることを示し得る。オーディオ関連デバイスが再構成可能なとき、1つより多い動的仮想デバイス・クラスの仕様がオーディオ関連デバイスに起こり得る。このシナリオにおいて、再構成可能なオーディオ関連デバイスは、オーディオ関連デバイスにおいて実行されるオーディオ関連機能または動作のセットを表すために動的仮想デバイスを用い得る。従って、クラス・タイプは、オーディオ関連機能または動作のセットのバージョンを識別するために用いられ得る。加えて、クラス・タイプは、オーディオ関連機能または動作のセットが、ソフトウェア・パッチ、ソフトウェア・アップグレード、別の仮想デバイスにおけるオーディオ関連機能または動作セット等と互換性があるかどうかを決定するために用いられ得る。例えば、ユーザが、動的仮想デバイスによって表されるオーディオ関連デバイスのオーディオ関連機能または動作のセットの値を、クリップボードに複製するとき、仮想デバイスタイプのシンプルなチェックは、ユーザがそのオーディオ関連機能または動作のセットの値を、それ自身の一意の動的仮想デバイス・クラスを有する別の仮想デバイスにおける互換性がないオーディオ関連機能または動作セットにペーストし得ることをストップする。
通信サポート
SV、オブジェクトおよび仮想デバイスは、オーディオ関連デバイス間の通信をサポートする。SV、オブジェクトおよび仮想デバイスのクエリおよび修正は、メッセージベースの通信インフラを有し得る。加えて、ポインタ等を介してクエリおよび修正を行うダイレクトコーリングがまた可能である。通信インフラは、SV、オブジェクトおよび仮想デバイスを用いる通信インフラのサポートが異なるオーディオ・ノード構造を有する異なるオーディオ関連デバイスにわたり一様であり得るようにあらかじめ決定され得る。
SV、オブジェクトおよび仮想デバイスは、オーディオ関連デバイス間の通信をサポートする。SV、オブジェクトおよび仮想デバイスのクエリおよび修正は、メッセージベースの通信インフラを有し得る。加えて、ポインタ等を介してクエリおよび修正を行うダイレクトコーリングがまた可能である。通信インフラは、SV、オブジェクトおよび仮想デバイスを用いる通信インフラのサポートが異なるオーディオ・ノード構造を有する異なるオーディオ関連デバイスにわたり一様であり得るようにあらかじめ決定され得る。
所定のメッセージのサポートは、クエリおよび修正されているオーディオ・ノード構造コンポーネントにいくらか依存し得る。SVは、実際の値を含み得、それゆえに、関連した実際の値の修正に関連したメッセージをサポートする。符号ありのフォーマット済の置換用の実際の値、または割合の変化値を有するセットポイントといったSVの実際の値を変化するメッセージがサポートされ得る。
さまざまな形式の「獲得(get)」メッセージがサポートされ得る。獲得メッセージは、1つ以上のSV、オブジェクト、または仮想デバイスに関連した属性を取得する獲得属性メッセージを含み得る。加えて、獲得メッセージは、獲得値ストリング・メッセージを有するといったSVから実際の値を要求し得る。オブジェクトおよび仮想デバイスの場合には、リストまたはテーブルを提供する獲得メッセージがサポートされ得る。後述されるように、ノード内の仮想デバイスのリストは、仮想デバイス・ノード・マネージャから要求され得る。同様に、仮想デバイス内のオブジェクトまたはSVのリストおよび/またはオブジェクト内のオブジェクトのリストといった他のコンポーネント内部のコンポーネントのリストは、獲得メッセージを用いて要求され得る。獲得メッセージはまた、それぞれの仮想デバイスまたはオブジェクトによって表される機能性に含まれている入力および出力に関連した情報を提供する仮想デバイスおよび/またはオブジェクトによってサポートされ得る。例えば、メッセージは、仮想デバイスI/Oのリストおよび/またはオブジェクトI/Oのリストに対してクエリし得る。さらに、SV、オブジェクトおよび/または仮想デバイスに関連した他の任意の情報を提供する獲得メッセージがまたサポートされ得る。
「セット(set)」メッセージがまたサポートされ得る。セットメッセージは、SVにおいて実際の値をセットし、属性をセットし、リストにおいて1つ以上の値をセットし、テーブルを修正等し得る。加えて、「サブスクライブ(subscribe)」および「アンサブスクライブ(unsubscribe)」は、SV、オブジェクトおよび仮想デバイスによってサポートされ得る。情報に対するオーディオ関連デバイスをポーリングすることを伴う「獲得」メッセージとは対照的に、「サブスクライブ」メッセージは、情報を提供するイベント・ドリブン・メカニズムを作成し得る。例えば、サブスクライブ・メッセージは、変化が行われたいかなる時にも、コンポーネント変化内のSVの実際の値を要求するために用いられ得る。このようなサブスクライブ・メッセージは、同一または異なるオーディオ・ノード構造を有する1つ以上の個々のオーディオ関連デバイスの間のサブスクリプション可能にするためにサポートされ得る。例えば、第1のオーディオ関連デバイスにおける第1のオブジェクトまたは仮想デバイスは、第2のオーディオ関連デバイスにおける1つ以上の他のオブジェクトおよび/または仮想デバイスにおけるすべてのSV、選択されたSV、または1つのSVにサブスクライブし得る。サブスクライブ・メッセージは、実際の値、エラー、構成および/またはステータスといったコンポーネントについて利用可能な任意の情報に関連し得る。
ルーティング
メッセージのルーティングは、オーディオ関連デバイスのノード構造におけるオブジェクトといったコンポートネント間であり得る。加えて、メッセージは、異なるオーディオ関連デバイスのノード構造におけるコンポーネント間でルーティングされ得る。ルーティングは、仮想デバイスおよび/またはオブジェクト間で構成され得る。異なるオーディオ関連デバイスにおけるコンポーネント間でのルーティングに対して、コンポーネントは、1つ以上の物理的インターフェースに結び付けられており、物理的インターフェースは、オーティオネットワークへ/からオーディオをストリームし得る。
メッセージのルーティングは、オーディオ関連デバイスのノード構造におけるオブジェクトといったコンポートネント間であり得る。加えて、メッセージは、異なるオーディオ関連デバイスのノード構造におけるコンポーネント間でルーティングされ得る。ルーティングは、仮想デバイスおよび/またはオブジェクト間で構成され得る。異なるオーディオ関連デバイスにおけるコンポーネント間でのルーティングに対して、コンポーネントは、1つ以上の物理的インターフェースに結び付けられており、物理的インターフェースは、オーティオネットワークへ/からオーディオをストリームし得る。
ルーティングは、各コンポーネントを構成することによって構築され得る。このような構成は、各ルーティングのソースおよび目的地を一意に識別することを伴い得る。例えば、第1のオブジェクトといった第1のコンポーネントは、入力が、第2のオブジェクトといった第2のコンポーネントの出力からであること、および第1のコンポーネントの出力が、第2のコンポーネントの入力に提供されることを識別するために構成され得る。各コンポーネントは、多数のチャンネルを有し得る。チャンネルは、ゼロベースの整数値といった所定の識別子によって識別され得る。チャンネルは、入力または出力のいずれかであるように構成され得る。チャンネル識別子は、一意のオーディオ・アドレスを形成するためにオーディオ関連デバイスのオーディオシステムアドレスと組み合わされ得る。例えば、0xABC00000001のオーディオ・アドレスを有するオーディオ関連デバイスは、I/O ModeのOutputであるチャンネル12を有し得る。
オーディオ・アドレスは、出力オーディオ・アドレス、または入力オーディオ・アドレスであり得る。従って、オーディオ関連デバイスは、入力チャンネルがどこでそのオーディオソースを取得すべきかを識別するために出力オーディオ・アドレスを受け取り得る入力チャンネルを有し得る。加えて、オーディオ関連デバイスは、出力チャンネルがどこにその出力をルーティングすべきかを識別するために入力オーディオ・アドレスを受け取り得る入力チャンネルを有し得る。例は以下のとおりである。
入力アドレスを特定する出力接続(第1のオブジェクト)
オーディオ・アドレス:0xABCD00000002,チャンネル:2,I/O モード:入力
出力アドレスを特定する入力接続(第2のオブジェクト)
オーディオ・アドレス:0xABCD00000001,チャンネル:12,I/O モード:出力
サブスクリプション
サブスクリプションは、何か変化があった際にコントロール・パネル・ビューおよび/またはオーディオ関連デバイスに通知するために用いられ得るメカニズムである。サブスクリプションは、「変化毎」に、または「周期的」にといった所定の条件に基づき得る。すべての測定は、サブスクリプションを介して処理され得る。例えば、第1のコントロール・パネル・ビューは、SVにサブスクライブする。そのSVが、第2のコントロール・パネル・ビューによって変化されるとき、第1のコントロール・パネル・ビューには、SVの新しい実際の値が伝えられる。通知は、SVSetメッセージといったセットメッセージを用いて処理され得る。すべてのサブスクリプション・メッセージは、SVの実際の値といった即時の応答を自動的に生成し得る。その応答は、同一の値を有する異なるコントロール・パネル・ビューを同期させるために即時であり得る。
入力アドレスを特定する出力接続(第1のオブジェクト)
オーディオ・アドレス:0xABCD00000002,チャンネル:2,I/O モード:入力
出力アドレスを特定する入力接続(第2のオブジェクト)
オーディオ・アドレス:0xABCD00000001,チャンネル:12,I/O モード:出力
サブスクリプション
サブスクリプションは、何か変化があった際にコントロール・パネル・ビューおよび/またはオーディオ関連デバイスに通知するために用いられ得るメカニズムである。サブスクリプションは、「変化毎」に、または「周期的」にといった所定の条件に基づき得る。すべての測定は、サブスクリプションを介して処理され得る。例えば、第1のコントロール・パネル・ビューは、SVにサブスクライブする。そのSVが、第2のコントロール・パネル・ビューによって変化されるとき、第1のコントロール・パネル・ビューには、SVの新しい実際の値が伝えられる。通知は、SVSetメッセージといったセットメッセージを用いて処理され得る。すべてのサブスクリプション・メッセージは、SVの実際の値といった即時の応答を自動的に生成し得る。その応答は、同一の値を有する異なるコントロール・パネル・ビューを同期させるために即時であり得る。
サブスクリプション・メッセージにおいて、サブスクライブされるものは、変化を報告するために特定された仮想デバイス、オブジェクトおよびSD IDを用いるように指示され得る。サブスクライブされるものの観点からして、変化がサブスクライブするものに報告されるとき、サブスクライブするもの上のSVは、サブスクライブされるものに、サブスクライブされるもの上の特定のSVが変化されたことをサブスクライブするものに通知することとは対照的に、新しい値にセットされる。例えば、このメカニズムは、サブスクライブするものがサブスクライブされるもののフルミラーされたデータのセットを保持していないとき、有用である。ウォール・コントローラまたはカスタム・コントロール・パネルといったシンプルなコントロール面であるサブスクライブするものは、SV自身のオーディオ・アドレスを有するそれ自身のSVのセットを有し得る。サブスクライブされるものは、サブスクライブするものの側上で必要とされる変換なしに、これらのSVを直接的に単純にセットし得る。従って、各SVは、マッピングされる0からNのオーディオ・アドレスのセットおよびSV IDを有し得る。SVが変化するとき、所定のサブスクリプションのリストは、サブスクライブされるものによってアクセスされ得、SV_Setといったセットメッセージが、変化されたSVにマッピングされるサブスクリプションのリスト上のサブスクライブされるもののそれぞれに送達され得る。ネットワーク・トラフィックを最小にするために、通知は、バンドルされ、通常のバンドリング技術のいずれか1つを用いて任意の1つのノードに送達さえ得る。
各SVクラスは、それぞれのSVがセンサSVまたは非センサSVとみなされるべきか否かを定義し得る。すべてのセンサSVは、周期速度でといった所定の条件に基づいて通知し得る。周期速度は、サブスクライブするものによって特定され得る。オーバーヘッドであるために、センサが、サブスクライブするものによって示唆された速度でサポートし得ないとき、センサは、より遅い速度で通知し得る。センサは、サブスクライブするものによって特定された速度より早い速度で通知しないように構成され得る。サブスクリプション・メッセージは、サブスクリプションがセンサSVに対してであるとき、用いられる速度を含み得る。非センサSVは、変化毎に通知するように自動的に割り与えられ得る。
各SVクラスは、それぞれのSVがセンサSVまたは非センサSVとみなされるべきか否かを定義し得る。すべてのセンサSVは、周期速度でといった所定の条件に基づいて通知し得る。周期速度は、サブスクライブするものによって特定され得る。オーバーヘッドであるために、センサが、サブスクライブするものによって示唆された速度でサポートし得ないとき、センサは、より遅い速度で通知し得る。センサは、サブスクライブするものによって特定された速度より早い速度で通知しないように構成され得る。サブスクリプション・メッセージは、サブスクリプションがセンサSVに対してであるとき、用いられる速度を含み得る。非センサSVは、変化毎に通知するように自動的に割り与えられ得る。
サブスクリプションはまた、イベント・サブスクリプション、またはバリュー・サブスクリプションといった所定の条件に基づき得る。バリュー・サブスクリプションは、SVの実際の値が第3者によって変化されたとき、SVの新しい実際の値が通知される要求である。例えば、コヒーレントな状態でとどまる必要がある複数のコントロール・パネル・ビューが、ミキサー・コアであるオーディオ関連デバイスに接続しているとき、バリュー・サブスクリプションが用いられ得る。第1のコントロール・パネル・ビューが、ミキサー・コアにおいてミュートであるとき、第2のコントロール・パネル・ビューは、バリュー・サブスクリプションを有して、第2のコントロール・パネル・ビューにおいてミュートインジケータを制御するSVに通知され得る。
イベント・サブスクリプションは、スイッチ・コンタクト・クロージングといったハードウェア・トリガに応答してSVの現在の値が通知される要求である。SVは、それに関連した入力ハードウェアを有するとき、イベント・サブスクリプションをサポートし得る。イベント・サブスクリプションの能力は、SVクラス宣言の一部として示され得る。イベント・サブスクリプションをサポートしていないSVからイベント・サブスクリプションを取得する試みは、エラーでもって拒絶される。
アプリケーションの例において、イベント・サブスクリプションは、割り当て可能なコントロール面上の「バンク」ボタンをインプリメントするために用いれ得る。バンクスイッチは、出力オーディオ・アドレスとして「マクロ(macro)」という名前を保持するSVを維持する。バンク・ボタンが押下されるとき、イベント・サブスクリプションは、SVの実際の値をサブスクライブしているオブジェクトに提供し得、サブスクライブしているオブジェクトは、「マクロ」を実行し得、これによって、フェーダを再マッピングする。
イベントおよびバリュー・サブスクリプションは、相互に排他的でなない。イベントおよびバリュー・サブスクリプションの双方は、同時に有効であり得る。この例は、オートメーション・オブジェクトである。先述された例において、オートメーション・オブジェクトは、バンクスイッチが押下されたときに、記録をするためにイベント・サブスクリプション、および、異なる値にリプログラムされているスイッチをキャプチャするためにバリュー・サブスクリプションを用い得る。先述の例はまた、2つの別々のSVとしてコード化され得、1つは、実際のスイッチの押下を表し、別の1つは、スイッチの押下で送達され得る値を表す。この仕組みでは、イベント・サブスクリプションは、オーディオ関連デバイス上でサポートされ得る。
サブスクリプションはまた、マルチレベルであり得る。SVサブスクリプションでは、サブスクリプションは1つサブスクリプション要求メッセージ内の単一のSV、またはSVのリストに対してであり得る。オブジェクトおよび仮想デバイスサブのスクリプションはまた、単一のSVまたは複数のSVに対してであり得る。オブジェクトにおけるSVのすべては、SateVariableSubscribeAllメッセージといった単一のメッセージを有してサブスクライブされ得る。仮想デバイスまたはオブジェクトが複数のオブジェクトを包含するとき、サブスクライブされるものは、サブスクリプションにおける仮想デバイスまたはオブジェクトの階層オーディオ・ノード構造を形成するSVのすべてを含み得る。1つの例において、サブスクリプション・データ・メッセージで送達されるべきデータの量を最小にするために、サブスクライブされるものは、サブスクライブするものの仮想デバイスおよび/またはオブジェクトが、サブスクライブされるものと同一の構造を有すると仮定し得る。サブスクライブされるものが、サブスクライブされるもののオーディオ・ノード構造の一部をミラーするオーディオ・ノード構造の一部を有するとき、アドレッシング情報は、サブスクリプション・データ・メッセージペイロードに含まれるSVの実際の値から省かれ得る。ノード全体へのサブスクリプションがまた要求され得る。ノードによって生成されるエラーのすべてにサブスクライブするために、SubscribeErrorsメッセージといったノード構造メッセージが、サブスクライブされるものの仮想デバイス・ノード・マネージャに向けられ得る。
サブスクライブするものは、代替目的地の仮想デバイスまたはオブジェクトに供給されるべきサブスクリプション・データ・メッセージを要求し得る。代替目的地はまた、「ミラーされた」オーディオ・ノード構造を含み得る。ミラーされたオーディオ・ノード構造は、GUI、コントロール面、またはオートメーションデバイスといったオーディオ関連デバイスが、サブスクライブするものとサブスクライブされるものとおけるにコンポーネントとの間でアドレス衝突を起さずに他の任意のオーディオ関連デバイスにサブスクライブすることを可能にする。
1つの例において、サブスクライブするもののオブジェクトのSVのリストは、個々のSV IDのそれぞれがサブスクライブデータメッセージで送達される必要がないようにサブスクライブされるもののオブジェクト上のSVのリストをミラーする。オブジェクト全体へのサブスクリプションはまた、サブスクリプションがセンサデータおよび非センサデータのすべてに対してであるか、すべてのセンサまたはすべての非センサに対してであるか否かを特定し得る。仮想デバイスへのサブスクリプションは、サブスクリプション・メッセージを仮想デバイスにアドレッシングすることによって行われ得る。仮想デバイスに包含されているSVのすべて、および仮想デバイスに包含されているすべてのオブジェクトがサブスクラブされ得る。サブスクライブするものの仮想デバイス構造は、サブスクライブされるものの仮想デバイスの構造と同一であり得る。
サブスクリプションは、追加およびリムーブメッセージを用いて追加、または取り除かれ得る。例えば、サブスクライブ・メッセージは、サブスクリプションを追加するために用いられ得、アンサブスクライブ・メッセージは、サブスクリプションを取り除くために用いられ得る。サブスクライブ・メッセージは、サブスクライブされるものが、1つ以上の識別されたSVに対するサブスクライブされるもののサブスクライブのリストに、サブスクライブするものを追加するように命令する。これに反して、アンサブスクライブ・メッセージは、サブスクライブされるものが、1つ以上の識別されたSVに対するサブスクライブのリストから、サブスクライブするものを取り除くように命令する。例えば、同一のオブジェクト上の1つのSVから別のSVにサブスクリプションを変化することが所望されるとき、第1のサブスクリプションのUnSubscribeおよび新しいサブスクリプションに対するSubscribeの双方が送達され得る。
複数のSVはまた、SVUnSubscribeAllメッセージといった単一のアンサブスクライブ・セット・メッセージにおいてアンサブスクライブされ得る。このようなアンサブスクライブ・セット・メッセージは、オブジェクトまたは仮想デバイス下のすべてのSVからアンサブスクライブするために用いられ得る。仮想デバイスまたはオブジェクトは、複数のオブジェクトを包含するとき、アンサブスクライブ・セット・メッセージは、アンサブスクライブ・メッセージで識別されるオーディオ・ノード構造の対応する部分において、すべてのSVを含み得る。サブスクライブ・メッセージと同様に、送達されるべきデータの量を最小にするために、アンサブスクライブするものは、サブスクライブするものおよびサブスクライブされるもののオブジェクトアドレスおよびSV識別子が相互交換して、用いられるようにミラーされたオーディオ・ノード構造を有し得る。
エラー処理
エラーメッセージは、プロトコルエラーおよびデバイスエラーとして一般的にカテゴリ化される。オーディオ関連デバイスが奇形、さもなければ解読不能のメッセージを受け取るとき、プロトコルエラーが起こる。このタイプのエラーの例は、誤った長さフィールドを有するメッセージである。最良の形態として、デバイスは、すべてのこのようなエラーの検出を試み、報告すべきである。デバイスが、デバイス特定の理由のために要求された動作を行うことをできないとき、デバイスエラーが起こる。このタイプのエラーの例は、一時的にビジー、さもなければ利用不可能であるサブシステムと通信しようとする試みであり得る。別のエラーの形としては、アプリケーションエラーである。アプリケーションの例は、オーディオ関連デバイスの単一のパスにおけるどこかでクリップすることである。
エラーメッセージは、プロトコルエラーおよびデバイスエラーとして一般的にカテゴリ化される。オーディオ関連デバイスが奇形、さもなければ解読不能のメッセージを受け取るとき、プロトコルエラーが起こる。このタイプのエラーの例は、誤った長さフィールドを有するメッセージである。最良の形態として、デバイスは、すべてのこのようなエラーの検出を試み、報告すべきである。デバイスが、デバイス特定の理由のために要求された動作を行うことをできないとき、デバイスエラーが起こる。このタイプのエラーの例は、一時的にビジー、さもなければ利用不可能であるサブシステムと通信しようとする試みであり得る。別のエラーの形としては、アプリケーションエラーである。アプリケーションの例は、オーディオ関連デバイスの単一のパスにおけるどこかでクリップすることである。
オーディオ関連デバイスは、メッセージを受け取ると、エラーを報告し得る。エラーを通信するメカニズムは、エラー認識メッセージおよびエラーサブスクリプションを含む。エラー認識メッセージは、エラーを送達デバイスに報告するために用いられ得る。エラー認識メッセージは、メッセージ・ヘッダー・フラグにおいてビットの形式を取る。デバイスが、エラーである、または結果的にエラーになるメッセージを受け取るとき、エラー情報メッセージは、送達するものに戻され得る。
エラーサブスクリプションは、当事者が、オーディオ関連デバイスによって生成されるエラー認識メッセージにサブスクライブすることを可能にする。エラーサブスクリプションは、動作中に、当事者がすべてのエラーをモニタ、またはログを取り得るように用いられ得る。エラーサブスクリプションでは、サブスクライブされるものによって送達されるすべてのエラーメッセージがサブスクライブするものに複製され得る。エラーサブスクリプションデータは、エラーメッセージおよびエラーを起したオリジナルメッセージを含み得る。そのメッセージのサイズを縮小するために、オリジナルのメッセージが長すぎるとき、オリジナルのサブスクリプション・メッセージが最大のサイズに制限され得、それによってエラーを起したオリジナルのメッセージが結果的にトランケーションされる。
イベント・ロギング
イベント・ロギングは、ノード上の重大な出来事を格納し、報告する方法である。イベントは、ベニュー・プリセットのリコールといった情報的な性質なものであり得、または、電源異常のようなより深刻なエラーであり得る。イベントは、ノードによって記録され、コントロール・パネル・ビューといったイベント・ログ・クライアント・イベントを読み出すときまで、不揮発性ストレージに格納され得る。
イベント・ロギングは、ノード上の重大な出来事を格納し、報告する方法である。イベントは、ベニュー・プリセットのリコールといった情報的な性質なものであり得、または、電源異常のようなより深刻なエラーであり得る。イベントは、ノードによって記録され、コントロール・パネル・ビューといったイベント・ログ・クライアント・イベントを読み出すときまで、不揮発性ストレージに格納され得る。
イベント・ロギングは、多くの点においてエラー処理とは異なり得る。
a)イベント・ロギングは、良性イベントが可能である。;エラー処理は、故障モードだけを報告する。
b)イベント・ロギングは、クライアントがオンラインでないとき、イベントを保存し得る。;エラー処理は、クライアントがオンラインでないとき、イベントを保存し得えない。
c)イベント・ログは、「オン・デマンド」を供給される。エラーは、サブスクリプションを介してプッシュされる。
d)イベントは、カテゴリを割り当てられ、優先権を与えられ得る。エラーは、カテゴリおよび優先権を与えられ得ない。
a)イベント・ロギングは、良性イベントが可能である。;エラー処理は、故障モードだけを報告する。
b)イベント・ロギングは、クライアントがオンラインでないとき、イベントを保存し得る。;エラー処理は、クライアントがオンラインでないとき、イベントを保存し得えない。
c)イベント・ログは、「オン・デマンド」を供給される。エラーは、サブスクリプションを介してプッシュされる。
d)イベントは、カテゴリを割り当てられ、優先権を与えられ得る。エラーは、カテゴリおよび優先権を与えられ得ない。
イベント・ログは、メッセージを用いてXMLファイルといった所定のフォーマット、またはバイナリフォーマットでエクスポートされ得る。XMLは、オーディオ関連デバイスのメモリ・リソースが、結果生じるファイルを生成するために十分である所定のフォーマットである。制限されたリソースを有するオーディオ関連デバイスは、バイナリフォーマット、または独自に圧縮されたフォーマットさえ用い得る。
XMLイベント・ログは、FTPプロトコルといったファイル転送プロトコルを介して転送され得る。IP対応でないネットワーク上で、ログをエクスポートすることを必要とするオーディオ関連デバイスは、メッセージを介してイベント・ログエントリを転送するバイナリ・イベント・ログ・フォーマットを用い得る。あるいは、イベント・ログは、Web Browser(登録商標)を介して直接的にアクセスされ得る。
ワークグループ
ノードは、ワークグループにおいて構成され得る。一般的に、ノードのワークグループは、大きな共鳴板といった比較的複雑な機能を有するオーディオ関連デバイスに配置される。オーディオ関連デバイス内において、ノードは、協調動作機能に統合される。ワークグループは、階層的であるが、オーバラップし得ない。各ワークグループは、ストリング名によって識別され得、階層のレベルは、「\」といった所定の文字によって分けられ得る。ワークグループの例は、コントロール面の機能性を表すノードおよびをオーディオラックの機能性を表すノードといった2つのノードを含むコンソールといったオーディオ関連デバイスであり得る。双方のノードがアクティブであるとき、コンソールは、「全体(whole)」であると考えられ得る。このオーディオ関連デバイスのワークグループは、「FOH Mixer」として指定され得、ノードは、「FOH Mixer\Surface」および「FOH Mixer\Audio」と呼ばれ得る。
ノードは、ワークグループにおいて構成され得る。一般的に、ノードのワークグループは、大きな共鳴板といった比較的複雑な機能を有するオーディオ関連デバイスに配置される。オーディオ関連デバイス内において、ノードは、協調動作機能に統合される。ワークグループは、階層的であるが、オーバラップし得ない。各ワークグループは、ストリング名によって識別され得、階層のレベルは、「\」といった所定の文字によって分けられ得る。ワークグループの例は、コントロール面の機能性を表すノードおよびをオーディオラックの機能性を表すノードといった2つのノードを含むコンソールといったオーディオ関連デバイスであり得る。双方のノードがアクティブであるとき、コンソールは、「全体(whole)」であると考えられ得る。このオーディオ関連デバイスのワークグループは、「FOH Mixer」として指定され得、ノードは、「FOH Mixer\Surface」および「FOH Mixer\Audio」と呼ばれ得る。
ワークグループはまた、オーディオ・システムをセグメント化するために用いられ得る。オーディオ・システムのセグメント化は、オーディオ・システムにおけるサブシステムへのアクセスを制御するために、それ以外の場合には、オーディオ・システムの機能性をサブシステムに分けるために所望され得る。例えば、スタジアムのオーディオ・システムのデザインでは、トップレベルのワークグループは、「Stadium」として識別され得る。中間のレベルのワークグループは、「SkyBoxes」として識別され得、個々のスカイボックスのそれぞれは、それ自身のワークグループとして識別され得る。従って、この例において、スカイボックスナンバー10におけるオーディオ関連デバイスのワークグループは、「Stadium\SkyBoxes\Skybox10」であり得る。発見は、スカイボックスの内側のコントロール面が、そのスカイボックス内のノードだけを発見するように選択し得るように分離され得るが、ワークグループ「Stadium\SkyBoxes」に割り当てられるコントロール面は、スカイボックスのいずれかにおける任意のオーディオ関連デバイスを発見し得る。発見は、より詳細に後述される。
ワークグループによるセグメント化は、アプリケーション層内の発見プロセスに限定され得る。他のメッセージはなお、異なるワークグループ間でパスされ得る。ワークグループの割り当ては、属性を有し得る。「名前ストリング」といったワークグループストリングは、ノード・マネージャ仮想デバイスの属性であり得る。このストリングは、セットされ、他のオーディオ関連デバイスによってクエリ得る。
パフォーマンス機器マネージャ(「PEM」)
図5は、PEMおよびオーディオ・システムの一部のブロック図である。PEM500は、1つ以上のメモリデバイスに格納されている複数の命令およびデータで形成され得る。メモリデバイスは、取り出されるためのデータを保存する任意の媒体であり得、ハードディスクドライブ、コンパクトディスクドライブ、デジタル多用途ディスクドライブ、RAM、ROM、PROM、EEPROM、フラッシュメモリ、または他の任意のデジタル格納装置を含み得る。PEM500は、オーディオ・システムにおける任意のオーディオ関連デバイス上に常駐する。
図5は、PEMおよびオーディオ・システムの一部のブロック図である。PEM500は、1つ以上のメモリデバイスに格納されている複数の命令およびデータで形成され得る。メモリデバイスは、取り出されるためのデータを保存する任意の媒体であり得、ハードディスクドライブ、コンパクトディスクドライブ、デジタル多用途ディスクドライブ、RAM、ROM、PROM、EEPROM、フラッシュメモリ、または他の任意のデジタル格納装置を含み得る。PEM500は、オーディオ・システムにおける任意のオーディオ関連デバイス上に常駐する。
PEM500は、メモリに格納されているアプリケーション層502およびにネットワーク・インターフェース504を含み得る。ネットワーク・インターフェース504は、PEM500とオーディオ関連デバイス506、または複数のオーディオ関連デバイスとの間で通信が可能であるように構成され得る。PEMのネットワーク・インターフェース504は、先述されたオーディオ関連デバイス506のネットワーク・インターフェースと同様な態様で動作し得る。例えば、PEM500は、デバイス506に直接的に接続され得るか、オーディオ・ネットワーク120を用いてデバイス506と通信し得る。オーディオ・ネットワーク120はまた、先述されたような第1のスイッチ330を介して第1のオーディオ・ネットワーク334に結合され得る。PEM500は、先述されたようなEthernet(登録商標)508、FireWire510、USB512、RS232 514、またはRS485 516といった任意の通信リンクを用いてデバイス506と通信し得る。加えて、PEM500は、先述されたオーディオ・ストリーム・モジュール322およびオーディオ・サービス・モジュール324を含み得る。
ネットワーク・インターフェース504はまた、ルーティング・テーブル518を含み得る。ルーティング・テーブル518は、ノードとPEMとの間でデータをルーティングするために用いられ得る。ルーティング・テーブル518は、オーディオ・ネットワーク120上のノード間でルートのリスト、およびノード間で送達されるネットワーク情報を格納し得る。ルーティング・テーブル518は、重複ネットワークを可能するノードのセット間の複数のルートを含み得る。ルートは、最短トランジット時間に基づいて選択され得る。いくつかの要因が、最短トランジット時間を決定することにおいて考慮され得る。例えば、ノード間の帯域幅は、特定のルートの「コスト」における要因であり得る。加えて、ホップ・カウントおよびメッセージ・サイズも考慮され得る。これらの要因に基づいて、「コスト」は、各ルートに関連付けられ得、例えば、異なるルートが、コストを最小、または所定のしきい値未満にコストを維持するように選択され得る。
アプリケーション層が動作しているデバイスの能力に依存して、PEMのアプリケーション層502は、「厚い」アプリケーション層502a、または「薄い」アプリケーション層502bのいずれかであり得る。「厚い」PEMでは、デバイスのオーディオ・ノード構造全体が取得され、オーディオ・ノード構造全体を表す適切なコントロール・パネル・ビューのセットを決定するために分析され得る。しかしながら、「薄い」PEMは、表示されるべきコントロール・パネル・ビューに対して必要とされるオーディオ・ノード構造の一部だけを取得し、分析し得る。従って、PEMによって取得され、かつ、分析されたコントロール・パネル・ビューは、PEM500が動作しているオーディオ関連デバイス506の演算能力に依存する複雑さのスライド・スケールに基づき得る。いくつかの状況において、「厚い」PEMは、処理能力を保存するために、またはネットワーク・トラフィックを制限するために「薄い」PEMと同様な態様で動作し得る。例えば、デバイスにクエリする前に、「厚い」PEMは、オーディオ・ネットワーク120上のトラフィックの量が多いことを認識し得、それ故に、ネットワーク・トラフィックを減らすためにオーディオ関連デバイス506のオーディオ・ノード構造の一部だけを取得し得る。
PEMのアプリケーション層502は、GUIのコア520、プラグイン・インターフェース522、および複数のプラグイン523を含み得る。プラグイン523はジェネリック・プラグイン524および1つ以上のプロダクト・プラグイン526を含み得る。GUIのコア520は、デバイス506のオーディオ・ノード構造にクエリするように構成され得る。このオーディオ・ノード構造データは、デバイス506に対する適切なコントロール・パネル検索するためにプロダクト・プラグイン526および/またはジェネリック・プラグイン524にブロードキャストされ得る。デバイスにおけるオーディオ・ノード構造の各部分が、既知で、かつ、所定のコントロール・パネル・ビューを有するか否かに関わらず、(プロダクト・プラグイン526および/またはジェネリック・プラグイン524とともに)GUIのコア520は、ディスプレイドライバ528に、ディスプレイがオーディオ・ノード構造の各レベルに対してコントロール・パネル・ビューを表示するために駆動するように指示し得る。コントロール・パネル・ビューが、オーディオ・ノード構造全体に対して既知であるとき、所定のコントロール・パネル・ビューは、ディスプレイドライバ525を用いて表示され得、デバイスをモニタし、かつ、制御するために用いられ得る。しかしながら、オーディオ・ノード構造のすべて、または一部が未知であるとき、「ジェネリック」コントロール・パネル・ビューまたはオーディオ・ノード構造の未知の部分に対する「ジェネリック」GUIのアスペクトが動的に生成され、ディスプレイドライバ528を用いて表示され得る。「ジェネリック」コントロール・パネル・ビュー、または所定のコントロール・パネル・ビューに含まれるGUIのアスペクトは、デバイスを制御するために用いられ得る。
GUIのコア520は、ネットワーク・インターフェース504を介してデバイス506と通信し得る。GUI520、ジェネリック・プラグイン524およびプロダクト・プラグイン526間の通信は、プラグイン・インターフェース522を通過し得る。ジェネリック・プラグイン524およびプロダクト・プラグイン526はまた、プラグイン・インターフェース522を用いてお互いに通信し得る。
図6は、GUIのコア520の例のブロック図である。GUIのコア520は、ノード分解能モジュール600を含み得る。(直接的に、またはネットワークを介して)PEMに接続された各オーディオ関連デバイスは、一意のノード識別(「ID」)にも用いて識別され得るノードである。ノード分解能モジュール600は、PEM500に接続されている各デバイスにノードIDを、またはノード・アドレスを割り当てるノードIDエンジン602を含み得る。新しいデバイスが、PEM500に接続されているとき、ノードIDエンジン602は、ノードIDを新しいノードに割り当て得る。このようなノードIDを割り当てるために用いられ得る方法が後述される。
GUIのコア520はまた、システム・プラグイン・ノード・マネージャ604を含み得る。システム・プラグイン・ノード・マネージャ604は、プラグイン・インターフェース522を介してプロダクト・プラグイン526およびジェネリック・プラグイン524と通信し得る。システム・プラグイン・ノード・マネージャ604は、GUIマネージャ606、システムワイド設定モジュール608および制御ライブラリ610を含み得る。
GUIマネージャ606は、コントロール・パネル・ビューのGUIフォーマットのモードを管理するように構成され得る。例えば、GUIマネージャ606は、ベニュー・ビューとプロダクト・ビュー間で切り替え得る。ベニュー・ビューでは、コントロール・パネル・ビューのGUIは、同時に、ユーザがオーディオ・システムにおける複数のデバイスをビューすることを可能にする。例えば、ベニュー・ビューは、オーディオ関連デバイス間の相互関連と同様にシステムにおけるすべてのオーディオ関連デバイスを表示し得る。このモードは、フローティング・ウィンドウを用いてセットアップされ得る。各フローティング・ウィンドウは、デバイスに関しての情報を表示する。プロダクト・ビューでは、単一のオーディオ関連デバイスに対するコントロール・パネル・ビューのGUIが表示され得る。いくつかの例において、プロダクト・ビューは、ユーザが、オーディオ関連デバイスに対するさまざまな仮想デバイスまたはオブジェクトの間を切り替えることを可能にするメニューまたはタブ階層を有し得る。ユーザは、必要に応じプロダクト・ビューとベニュー・ビュー間で切り替え得る。例えば、タブレット・コンピュータ上で見られるといったタッチ・スクリーン・インターフェースを用いるとき、ユーザは、プロダクト・ビューを用い得、また、マウスおよびキーボードを有するコンピュータを用いるとき、ユーザは、ベニュー・ビューを用い得る。図27は、システムのベニュー・ビューの例を示し、一方、図28、29は、プロダクト・ビューの例を示す。
システムワイド設定モジュール608は、後に使用されるためにオーディオ・システムのすべて、または一部の設定を格納するように構成され得る。これらの保存された設定は、後にロードされ、セーブされた構成を再格納するために各オーディオ関連デバイスに送達され得る。GUIマネージャ606はまた、それぞれのプロダクト・プラグイン526およびジェネリック・プラグイン524の各々によってすべての設定およびコントロール・パネル・ビューが保存さえることを指示し得る。
GUIマネージャ606はまた、カスタム・コントール・パネル・ビューを生成する能力を提供するように構成され得る。カスタム・コントール・パネル・ビューは、プロダクト・プラグイン526およびジェネリック・プラグイン524からの所定のGUIのアスペクトまたはジェネリックGUIのアスペクトを用いて異なる複数のデバイスからデータ変数を有するように構成され得る。GUIマネージャ606はまた、複数のホットボタンを有するように構成され得る。ホットボタンは、プロダクト・プラグイン526およびジェネリック・プラグイン524における特定のデバイスの特定のコントロール・パネル・ビューにマッピングされ得るか、または、ユーザによって作成されたカスタム・コントロール・パネル・ビューにマッピングされ得る。
カスタム・コントロール・パネル・ビューを作成するとき、異なるプロダクト・プラグインからの特定の格納されている所定のGUIのアスペクトが、格納されている所定のコントロール・パネル・ビューから作成中のカスタマイズされたコントロール・パネル・ビューにドラッグされ得る。例えば、格納されている所定のコントロール・パネル・ビュー上のスライダは、マウスでクリックされ、カスタマイズされたコントロール・パネル・ビューに移動され得る。加えて、カスタマイズされたコントロール・パネル・ビュー内において、ドラッグされ、ドロップされたGUIのアスペクトは、異なるGUIのアスペクトに変化、または「変形」され得る。例えば、ドラッグされ、ドロップされたスライダは、ノブ、ボタン、ロータリ・エンコーダ、リスト・ボックス等に変化され得る。変化されたGUIのアスペクトはまた、異なる値を有するように構成され得る。例えば、0〜100%のレンジを有し、ドラッグされドロップされるスライダであって、ボタンに変化されたスライダの場合には、このボタンは、20%は押下した状態で、60%は押下していない状態を有するように構成され得る。
GUIマネージャ606はまた、ベニュー機能コントロールを含み得る。ベニュー機能は、デバイスに含まれているベニュー設定の所定の複数のグループを参照し得る。ベニュー設定は、オーディオ関連デバイスのメモリにベニュー・テーブルとして格納され得る。ベニュー・テーブルに含まれているベニュー設定のそれぞれは、オーディオ関連デバイスのオーディオ・ノード構造の対応するコンポーネントによって識別され得る。従って、ベニュー設定のグループが選択されたとき、ベニュー設定のそれぞれは対応するコンポーネントに存在する現存の設定を置換し得る。
例えば、デバイスのグループは、演奏に対するEQ設定のグループおよび演劇に対する異なるEQ設定のグループを有し得る。別の例において、いくつかのオーディオ関連デバイスは、あるベニューおいて無効にされ、別のベニューにおいて有効にされ得る。GUIマネージャ606は、ベニュー・テーブルからのベニュー設定のグループの1つの選択することを提供する機能を含み得る。ユーザによってベニュー設定のグループの1つが選択されると、ベニュー設定のグループ識別子を含むセット・ベニュー・メッセージがPEMによって、オーディオ関連デバイスのすべてに送達され得る。ベニュー設定グループに対応するベニュー設定のグループを有するこれらのオーディオ関連デバイスは、セット・ベニュー・メッセージに示されているベニュー設定のグループを有する動作に切り替え得る。このようなベニュー設定のグループを有しないこれらのオーディオ・デバイスは、セット・ベニュー・メッセージを無視し得、および/または無効にされる。
制御ライブラリ610がまた、GUIのコア520に提供され得る。制御ライブラリ610は、ユーザ定義のSVに関連付けられ得るGUIのコントロール・パネル・ビューおよび/またはGUIのアスペクトのセットを含み得る。例えば、ユーザは、制御ライブラリ610からスライダバーを表すGUIのアスペクトを引き、そのスライダバーをオーディオ・システムにおける異なるオーディオ関連デバイスのいくつかのSVと関連付け得る。従って、ユーザは、GUIコントロールパネビュー上のいくつかのスライダ(または他のコントロール)を同時に制御するために「マスター・コントローラ」としてカスタムスライダバーを用い得る。加えて、ユーザは、GUIのコントロール・パネル・ビューを用いてマスター・コントローラに掘り下げ得、マスタースライダを用いて調整されているデータ変数のオフセットを調整する。
GUIのコア520はまた、サブスクリプション・マネージャ612を含み得る。サブスクリプション・マネージャ612は、コントロール・パネル・ビューおよび/またはデバイスにおいて変化されるデータの更新および通知を管理し得る。例えば、GUIのコントロール・パネル・ビューは、関連したSV値を有するスライダを包含し得る。ユーザが、GUIのコントロール・パネル・ビューにおけるスライダを移動(従って、スライダに関連したSVの実際の値を変化)するとき、サブスクリプション・マネージャ612は、サブスクリプションを管理し得る。例えば、サブスクリプション・マネージャ612は、データが適切なフォーマットで、対応するSVに以前にサブスクライブした対応するオーディオ関連デバイスに送達されたことを確認し得る。
GUIのコア520はまた、特定のコントロール・パネル・ビュー上でユーザに可視的であるGUIコントロール、およびGUIコントロールに関連しSV値を追跡するリンク・マネージャ614を含み得る。リンク・マネージャ614は、リンク・エンジン616およびイベント・エンジン618を含み得る。イベント・エンジン618は、コントロール・パネル・ビューまたは対応するオーディオ関連デバイスにおける任意のSVの実際の値への変化を通知され得る。コントロール・パネル・ビューにおけるSVへの変化がなされるとき、リンク・エンジン616は、変化されたSVに関連づけられた任意のコントロール・パネル・ビューおよび/またはオーディオ関連デバイスに通知し得る。通知に応答して、コントロール・パネル・ビューは、オーディオ関連デバイスからではなく、対応するプロダクト・プラグイン526またはジェネリック・プラグイン524におけるコントロール・パネル・ビューからSVのアップデートされた実際の値を要求し得る。従って、さまざまなコントロール・パネル・ビューがPEM500におけるデータでアップデートされるので、オーディオ関連デバイスへのネットワーク・トラフィックおよびオーディオ関連デバイスからのネットワーク・トラフィックが最小にされ得る。
同様に、SVが、オーディオ関連デバイスで変化するとき、デバイスは、1つのコントロール・パネル・ビューだけにサブスクライブされ得る。従って、1つのコントロール・パネル・ビューが、デバイスからのメッセージによってアップデートされるとき、イベント・エンジン618は、変化されたSVの実際の値を表示する対応するすべてのコントロール・パネル・ビューに通知し得る。これに応答して、対応するコントロール・パネル・ビューは、デバイスからではなく、アップデートされたコントロール・パネル・ビューからアップデートされたSVの実際の値を要求する。例えば、各オーディオ関連デバイスは、構成状態を含み得る。構成状態は、オーディオ関連デバイスにおけるSVが変化されたことを表す単一の数であり得る。構成状態は、他の診断およびメンテナンスに関連したアクティビティと同様に、重大な変化が別のGUIのコントロール・パネル・ビューからのデバイスになされたか否かを決定するために有用であり得る。
発見エンジン
GUIのコア520はまた、プロダクト・プラグイン526またはジェネリック・プラグイン524と通信し得る発見エンジン620を含み得る。オーディオ関連デバイスのオーディオ・ノード構造における1つ以上のコンポーネントが未知であるとき、発見エンジン620は、プロダクト・プラグイン526またはジェネリック・プラグイン524によって開始され得る。オーディオ関連デバイスのオーディオ・ノード構造における未知のコンポーネントは、対応する格納されている所定のGUIのコントロール・パネル・ビューおよび/またはGUIのアスペクトを含まない仮想デバイス、オブジェクト、またはSVであり得る。言い換えれば、コンポーネントは、オーディオ・システム内においてあらかじめ決定されない。
GUIのコア520はまた、プロダクト・プラグイン526またはジェネリック・プラグイン524と通信し得る発見エンジン620を含み得る。オーディオ関連デバイスのオーディオ・ノード構造における1つ以上のコンポーネントが未知であるとき、発見エンジン620は、プロダクト・プラグイン526またはジェネリック・プラグイン524によって開始され得る。オーディオ関連デバイスのオーディオ・ノード構造における未知のコンポーネントは、対応する格納されている所定のGUIのコントロール・パネル・ビューおよび/またはGUIのアスペクトを含まない仮想デバイス、オブジェクト、またはSVであり得る。言い換えれば、コンポーネントは、オーディオ・システム内においてあらかじめ決定されない。
有効であるときには、発見エンジン620は、オーディオ・ノード構造に関してオーディオ関連デバイスにクエリし得る。発見エンジン620は、SVおよび/またはそれに関連した属性、オブジェクトおよび/またはそれに関連した属性、ならびに、仮想デバイスおよび/またはそれに関連した属性のそれぞれを決定するSV発見モジュール622、オブジェクト発見モジュール624および仮想デバイス発見モジュール626を含み得る。
静的オーディオ・ノード構造構成を有するオーディオ関連デバイスにとって、このようなデバイスのオーディオ・ノード構造はプロダクト・プラグインによって既に既知であり得るので、発見エンジン620での発見は必要でないかもしれない。このような状況では、現在のSV実際の値のクエリが要求されるすべてである。しかしながら、オーディオ関連デバイスのオーディオ・ノード構造のいずれかの部分が既知でないとき、発見エンジン620での発見がインプリメントされ得る。加えて、いくつかのオーディオ関連デバイスは、構成可能な仮想デバイスを含む。構成可能な仮想デバイスは、オブジェクトおよび/またはSVの異なる構成を有するように、ユーザによって構成され得る。従って、オーディオ・ノード構造は、構成可能であり、このような構成可能な仮想デバイス内のオブジェクトおよびSVが、発見エンジン620を用いて発見されることが必要とされ得る。
未知である静的オーディオ・ノード構造の例が互換性の問題として上げられる。例えば、ツアーの際にツアーのオーディオ・システムのための新しいオーディオ関連デバイスを受け取るツアーのサウンドプロバイダを考慮する。ツアーのサウンドプロバイダによって受け取られる新しいオーディオ関連デバイスは、新しいオーディオ関連デバイスによって置換される現存のデバイスに存在しないさらなる機能および/または能力を提供する新しいファームウェアのリビジョンを有する。ツアーのサウンドオペレータが、オーディオ・ノード構造、ならび新しいオーディオ関連デバイスに備えられている対応するGUIのコントロール・パネル・ビューおよび/またはGUIのアスペクトの新しいコンポーネントをロードしてプロダクト・プラグインをアップデートしないとき、新しい特徴へのアクセスは可能ではないかもしれない。また、一層悪いことに、ツアーのサウンドオペレータは、現存の特徴を制御し得ないかもしれない。発見エンジン620は、新しいデバイスのオーディオ・ノード構造を発見するメカニズムと、および新しいデバイスの特徴のすべてをビュー、制御およびエディットするデフォルト・エディタが作成されることを可能にする情報を提供するメカニズムとを提供することによってこのような問題を克服し得る。
発見エンジン620は、オーディオ関連デバイスのオーディオ・ノード構造内のコンポーネントを発見するために「獲得」方法を用い得る。オーディオ関連デバイスは、オーディオ・ノード構造に関連した情報を提供するために「Info return」メッセージで応答し得る。未知の仮想デバイス、オブジェクト、またはSVがオーディオ関連デバイスにおいて存在とき、発見エンジン620は、詳細な属性のためにオーディオ関連デバイスにクエリするように配置され得る。このタイプの発見は、未知の発見(unknown discovery)と呼ばれる。有効なときには、発見エンジン620は、オーディオ関連デバイスのオーディノード構造全体、またはオーディオ関連デバイスのオーディノード構造の一部を発見し得る。加えて、発見エンジン620は、オーディオ・ノード構造において特定されたコンポーネント、つまり、1つ以上の特定された仮想デバイス、オブジェクトまたはSVを発見するように有効にされ得る。
一度オーディオ関連デバイスがアドレス指定され、かつ、オーディオ・ネットワーク上で利用可能になると、オーディオ・ノード構造のクエリが用いられ得る。オーディオ・ノード構造のクエリは、任意のオーディオ関連デバイスのオーディオ・ノード構造を決定するために用いられ得る。オーディオ・ノード構造のクエリは、呼び出しおよび応答を有効にする所定の要求メッセージを用い得る。オーディオ関連デバイスのクエリの結果として、オーディオ関連デバイスの機能を表す各仮想デバイス、オブジェクトおよびSVのそれぞれが取得され得る。
オーディオ・ノード構造の不明のコンポーネントが識別されるときはいつでも、発見エンジン620は、未知のコンポーネントのより詳細な属性情報を発見するように、かつ、オーディオ・ノード構造全体がなんであるのかと、または、未知のコンポーネントが何を表すのかを確実にするように有効にされ得る。従って、オーディオ・ノード構造のクエリによって提供される呼び出しおよび応答機能および/または発見エンジン620よって提供される発見機能は、オーディオ・ノード構造のコンポーネントのすべてと、および/またはオーディオ・ノード構造内のコンポーネントの詳細な属性とを確実にするために用いられ得る。
発見エンジン620が、オーディオ・ノード構造全体を決定するように有効されるとき、オーディオ・ノード構造全体のクエリ要求は、単一メッセージで発見エンジン620に通信され得る。発見エンジン620は、それから、一連のオーディオ・ノード構造のクエリを用いて当該のオーディオ関連デバイスと通信し得る。呼び出しへの応答は収集され、一時的に格納され得るか、その応答は単にプラグイン523に転送され得る。応答が収集されるとき、発見エンジン620は、その応答に提供される仮想デバイス、オブジェクトおよび/またはSVに含まれている属性に基づいて当該のオーディオ関連デバイスのオーディオ・ノード構造全体を構築し得る。オーディオ・ノード構造全体は、それから、単一のメッセージでプラグイン523に提供される。
あるいは、発見エンジン620は、オーディオ・ノード構造に存在する、未知のコンポーネントに関連したより詳細な情報を取得するために有効にされ得る。このシナリオでは、仮想デバイス、オブジェクトまたはSVは、発見エンジン620には未知であると識別され得る。発見エンジン620は、それから、1つ以上のコンポーネント特定のオーディオ・ノード構造のクエリを用いて当該のオーディオ関連デバイスと通信し得る。クエリに対する応答は、未知のコンポーネントの詳細な属性を含み得る。詳細な属性は、当該のコンポーネントを構築、または定義するために用いられ得、かつ、たった今定義された未知のコンポーネントを単一のメッセージで提供するために用いられ得る。あるいは、詳細な属性が取得され、発見エンジン620によるさらに処理されることなしに、プラグイン523に提供され得る。
オーディオ・ノード構造を決定するためのオーディオ関連デバイスとの初期の通信は、プラグイン523の1つを用いて行われ得る。オーディオ関連デバイスのオーディオ・ノード構造を取得するために、オーディオ関連デバイスは、先ず、プラグイン523の1つによって、そのノード上の仮想デバイスのリストに対してクエリされ得る。メッセージGetVDListといった所定のメッセージがオーディオ関連デバイスのノード・マネージャ仮想デバイスに送達され得る。ノード・マネージャは、それ自身を含むそのノード上の仮想デバイスのリストで返答し得る。一度仮想デバイスが識別されると、プラブイン523によって、仮想デバイスのすべてが既知であるどうかが決定される。いずれかの仮想デバイスが未知であるとき、プラグイン523は、オーディオ・ノード構造全体または未知の仮想デバイスを決定するために発見エンジン620を有効にし得る。あるいは、プラグイン523は、オーディオ・ノード構造を決定し得る。別の代替において、発見エンジンは、オーディオ関連デバイスとすべての通信を行い、受け取った情報をプラグイン523にパスし、プラグイン523の指示でオーディオ関連デバイスとさらなる通信を行い得る。
ノード上の1つ以上の仮想デバイスが未知であるとき、リスト内の未知の仮想デバイスのそれぞれは、未知の仮想デバイスに含まれているSVおよびオブジェクトを決定するためにオーディオ・ノード構造のクエリを用いてクエリされ得る。仮想デバイスレベルSVを取得するために、GetSVListメッセージといった仮想デバイスにアドレス指定される所定の獲得SVメッセージは、仮想デバイスで用いられるSVクラスのリストにクエリするために用いられ得る。獲得SVメッセージは、仮想デバイス上の各SVに対するクラスIDを含むリストを戻し得る。仮想デバイスにおけるオブジェクトを決定するために、GetObjectListメッセージといった仮想デバイスにアドレス指定される所定の獲得SVメッセージが用いられ得る。仮想デバイスに含まれるオブジェクトのリストは、獲得オブジェクト・メッセージに応答して返送され得る。オーディオ・ノード構造のクエリは、発見エンジンまたはプラグインによって開始され得る。あるいは、リストではなく、仮想デバイス、オブジェクトおよびSVが個々にクエリされ得る。
最終的に、仮想デバイスに含まれているSVの実際の値が取得され得る。実際の値は、MultiSVGetメッセージといった所定の獲得実際の値メッセージのクエリを用いて取得され得る。獲得実際の値メッセージに応答して、仮想デバイスに含まれているSVの実際の値が返送され得る。あるいは、SVがサブスクライブされ得る。実際の値がアップデートされるときはいつでも、サブスクライブされたSVが自動的に提供される。
先述は、未知である構成可能(または動的)な仮想デバイスまたは静的な仮想デバイスの存在および/または未知のコンポーネントを含む構成可能(または動的)な仮想デバイスまたは静的な仮想デバイスの存在を仮定した。オーディオ・ノード構造が未知である静的な仮想デバイスの場合において、オブジェクトおよびSVが既知であるので、仮想デバイスへのクエリ以上にさらなるクエリは必要とされないかもしれない。従って、プラグインまたは発見エンジン620は、獲得SVメッセージ(GetSVList)、または獲得ブジェクトメッセージ(GetObjectList)を送達する必要はないかもしれない。
オブジェクトの受け取られたリストにおいて識別されるオブジェクト・クラスが既知であるとき、SVの実際の値へのクエリだけが、上述の2つの方法のうちの1つを用いて必要とされ得る。仮想デバイスにおける、未知である各オブジェクトに対して、サブオブジェクトおよびSVのリストが、獲得SVメッセージおよび/または獲得ブジェクトメッセージを用いて要求され得る。未知のオブジェクト上で行われる必要があるかもしれない他の動作は、オブジェクトにおけるすべてのSVの動的属性を発見することである。動的属性は、オブジェクト自身によってセットされ得る。このようなオブジェクトの動的属性を取得するメカニズムは、SVGetDynAttriutesといった所定の獲得動的属性メッセージを有し得る。
未知のSVが識別される際には、SVGetStaticAttributesといった所定の獲得動的属性メッセージが未知のSVを包含するオブジェクトまたは仮想デバイスに送達され得る。これに応答して提供される静的属性は、未知のSVを定義するために用いられ得る。
あるいは、仮想デバイスに対するより効果的な発見メカニズムがまた用いられ得る。所定のオーディオ関連デバイスノード構造のクエリ・メッセージのセットがオーディオ関連デバイスに送達され得る。所定のクエリ・メッセージのセットは、凝縮フォーマットのオーディオ・ノード構造を要求し得る。これに応答して、各仮想デバイスは、オーディオ関連デバイスの機能性を十分に記載した返答を提供し得る。機能性は、例えば、仮想デバイス内のあらかじめ決定されるオブジェクトおよびSVメンバーの登録したクラスIDによって十分に記載され得る。これらのオーディオ関連デバイスノード構造のクエリ・メッセージのいずれかが、未知であるオブジェクトまたはSVクラスを返送するとき、先述されるようなそのコンポーネントのより詳細な発見が行われ得る。
ゾーン・コントローラであるオーディオ関連デバイスの発見の例がこれから記載される。ゾーン・コントローラは、備え付けられたオーディオ内の単一なゾーンに対してオーディオ・ソース・セレクトおよび利得制御を提供し得るシンプルなウォール・コントローラである。ゾーン・コントローラの機能性は、オーディオ能力を持たないユーザ・インターフェースオブジェクトとしてモデル化され得る。ゾーン・コントローラは、利得およびソース選択機能を行うルータ・オブジェクトに対して2つのサブスクリプションを有するように構成され得る。プロセシングが異なるノード上の別々の処理オブジェクト用いて行われ得る。
構成不可能な仮想デバイスを有するスタンドアロンノードとしてモデル化されるとき、ゾーン・コントローラは、以下のとおりに見なされ得る。SVClassGain SVといった利得SVは、オーディオ処理オブジェクトにおける利得SVにリンクされ得る。SVClassCMInputといったソース選択SVは、オーディオ処理オブジェクトにおけるルーティングSVにリンクされ得る。GetVDList(info)といった獲得メッセージが、ゾーン・コントローラクラスにおける仮想デバイスを記載するために用いられ得る。この情報にて、このノードが構成可能なメンバーを有していないことが分かる。仮想デバイスは、選択を制御するメカニカルポットおよびボリューム(コントロール面)を制御する2つの瞬間スイッチ以外のユーザ・インターフェースを有しない。ゾーン・コントローラ・オブジェクトにアドレス指定されるDescribeVDといった記述メッセージがインスタンス属性、SVの実際の値、およびのゾーン・コントローラ仮想デバイスのサブスクリプションを返し得る。
デバイスからクエリさえたデータを受け取ると、発見エンジン620は、プラグイン・インターフェース522を介して情報をプロダクト・プラグイン526、またはジェネリック・プラグイン524に通信し得る。対応するデバイスに対して選択されるべきまたは作成されるべきコントロール・パネル・ビューおよび/またはGUIのアスペクトを決定するために、情報がプロダクト・プラグイン526またはジェネリック・プラグイン524によって用いられ得る。
プロダクト・プラグイン526またはジェネリック・プラグイン524はまた、未知のコントロール・パネル・ビューおよび/またはGUIのアスペクトの決定を補助するように、発見エンジン620を有効にする。未知のコントロール・パネル・ビューまたはGUIのアスペクトは、オーディオ関連デバイスのオーディオ・ノード構造のいくつか、またはすべてを表すプロダクト・プラグイン526またはジェネリック・プラグイン524のいずれかから利用可能でない1つである。例えば、プロダクト・プラグイン526、またはジェネリック・プラグイン524が、オーディオ・ノード構造の1つ以上のコンポーネントに対してGUIのアスペクトを作成するためにオーディオ関連デバイスから取得されるオーディオ・ノード構造に含まれている十分な情報を有しないとき、発見エンジン620がさらなる詳細を取得するために有効にされ得る。
ノード発見マネージャ
GUIのコア520はまた、ノード発見マネージャ628を含み得る。ノード発見マネージャ628は、ノード属性要求エンジン630およびプラグイン・サーチ・エンジン632を含む。ノード属性要求エンジン630は、ノードクラス属性に関してデバイスにクエリし得る。クラス属性は、オーディオ関連デバイスの機能性を示し得る。加えて、クラス属性は、オーディオ関連デバイスを対応するプロダクト・プラグイン526に一致させるために情報を提供し得る。例えば、クラス属性は、増幅器といったオーディオ関連デバイスのタイプ、モデルといったオーディオ関連プロダクトファミリ、および/またはモデルナンバーまたはプロダクト名といったプロダクト識別子を記述し得る。
GUIのコア520はまた、ノード発見マネージャ628を含み得る。ノード発見マネージャ628は、ノード属性要求エンジン630およびプラグイン・サーチ・エンジン632を含む。ノード属性要求エンジン630は、ノードクラス属性に関してデバイスにクエリし得る。クラス属性は、オーディオ関連デバイスの機能性を示し得る。加えて、クラス属性は、オーディオ関連デバイスを対応するプロダクト・プラグイン526に一致させるために情報を提供し得る。例えば、クラス属性は、増幅器といったオーディオ関連デバイスのタイプ、モデルといったオーディオ関連プロダクトファミリ、および/またはモデルナンバーまたはプロダクト名といったプロダクト識別子を記述し得る。
ノード発見マネージャ628は、プロダクト・プラグイン526のいずれかがデバイスを含むクラスを有するかどうかを決定するためにブロードキャストされたメッセージを有するプロダクト・プラグイン526にクエリするためにクラス属性を用い得る。言い換えれば、プロダクト・プラグイン526がデバイスに関連しているかどうか、従って、デバイスに対して所定のコントロール・パネル・ビューを有するかどうかを決定する。クエリでブロードキャストされるクラス属性は、プロダクト・プラグイン526に格納されているクラス属性と比較され得る。プロダクト・プラグイン526の1つがクラス属性認識し、オーディオ関連デバイスとの関連性を示すとき、ノード発見マネージャ628は、プロダクト・プラグイン526の起動およびプラグイン・インターフェース522を有する通信ノードの作成を可能にし得る。
プラグイン523が、オーディオ関連デバイスのオーディオ・ノード構造のコンポーネントを含まないとき、プラグイン・サーチ・エンジン632は有効にされ得る。プラグイン・サーチ・エンジン632は、オーディオ・ノード構造に含まれている未知のコンポーネントに対して他のプラグイン523にクエリするために有効にされ得る。加えて、プラグイン・サーチ・エンジン632は、GUIのアスペクトに対して他のプラグイン523にクエリするために有効にされ得る。プロダクト・プラグイン526が、オーディオ関連デバイスのオーディオ・ノード構造をサポートするために必要とされるGUIコンポーネントのすべてであって、所定のコントロール・パネル・ビューにおいてそのGUIコンポーネントのすべてを含まないとき、GUIのアスペクトのクエリは有効にされ得る。他のプラグイン523が、それぞれのクエリに含まれる未知のコンポーネントまたはGUIのアスペクトに関する情報を含まないとき、プラグイン・サーチ・エンジン632がまた発見エンジン620を有効にする。
GUIのコア520はまた、プラグイン・ローダ634を含み得る。プラグイン・ローダ634は、GUIのコア520にとって現在利用可能なすべてのプロダクト・プラグイン526の動作中のリストを維持し得る。従って、GUIのコア520は、プラグイン・ローダ634によって維持されるリストに基づいて、プラグイン・インターフェース522との通信を介してプロダクト・プラグイン526にクエリおよび/または起動を開始し得る。
プラグイン・インターフェース
図7は、このシステムにおいて用いれ得るプラグイン・インターフェース522のブロック図である。プラグイン・インターフェース522は、格納モジュール700およびネットワーク・モジュール701を含む。ネットワーク・モジュール701は、GUIのコア520とプロダクト・プラグイン526との、および/またはジェネリック・プラグイン524との間の通信インターフェースの役目を果たす通信コンジット702を提供し得る。格納モジュール700は、プロダクト・プラグイン526またはジェネリック・プラグイン524を起動するプラグイン・ラーンチャ702を含む。追加的に、ネットワーク・モジュール701は、GUIのコア520を用いて、プロダクト・プラグイン526またはジェネリック・プラグイン524と関連しているもとして識別されるオーディオ関連デバイス間の通信をセットアップするノード通信インスタンシエータ704を含み得る。オーディオ関連デバイスおよびプラグイン523とのそれぞれの通信は別々で、独立したものであり得るので、プラグイン521が、オーディオ関連デバイスへの通信パスの知識(knowledge)を含むことを必要とし得ない。このような知識は、オーディオ関連デバイス、オーディオ関連デバイスのID等とともに用いられ得る通信プロトコルを含み得る。このような態様で、プラグイン・インターフェース522は、(GUIのコア520を介して)デバイスへの通信コンジットを開くことによってオーディオ・ネットワーク120からプロダクト・プラグイン526またはジェネリック・プラグイン524をシールドし得る。従って、プロダクト・プラグイン526またはジェネリック・プラグイン524は、オーディオ・ネットワーク120の知識なしにオーディオ関連デバイスとオーディオ・ネットワーク120上で通信し得る。
図7は、このシステムにおいて用いれ得るプラグイン・インターフェース522のブロック図である。プラグイン・インターフェース522は、格納モジュール700およびネットワーク・モジュール701を含む。ネットワーク・モジュール701は、GUIのコア520とプロダクト・プラグイン526との、および/またはジェネリック・プラグイン524との間の通信インターフェースの役目を果たす通信コンジット702を提供し得る。格納モジュール700は、プロダクト・プラグイン526またはジェネリック・プラグイン524を起動するプラグイン・ラーンチャ702を含む。追加的に、ネットワーク・モジュール701は、GUIのコア520を用いて、プロダクト・プラグイン526またはジェネリック・プラグイン524と関連しているもとして識別されるオーディオ関連デバイス間の通信をセットアップするノード通信インスタンシエータ704を含み得る。オーディオ関連デバイスおよびプラグイン523とのそれぞれの通信は別々で、独立したものであり得るので、プラグイン521が、オーディオ関連デバイスへの通信パスの知識(knowledge)を含むことを必要とし得ない。このような知識は、オーディオ関連デバイス、オーディオ関連デバイスのID等とともに用いられ得る通信プロトコルを含み得る。このような態様で、プラグイン・インターフェース522は、(GUIのコア520を介して)デバイスへの通信コンジットを開くことによってオーディオ・ネットワーク120からプロダクト・プラグイン526またはジェネリック・プラグイン524をシールドし得る。従って、プロダクト・プラグイン526またはジェネリック・プラグイン524は、オーディオ・ネットワーク120の知識なしにオーディオ関連デバイスとオーディオ・ネットワーク120上で通信し得る。
プロダクト・プラグイン
図8は、このシステムにおいて用いられ得るプロダクト・プラグイン526のブロック図である。このシステムは、オーディオ・システムに含まれているオーディオ関連デバイスに関連付けられ得る複数のプロダクト・プラグインを含み得る。プロダクト・プラグイン526は、1つ以上の関連したオーディオ関連デバイスをサポートし得る。例えば、同様なモデルナンバー、機能性および/またはメーカーを有するオーディオ関連デバイスは、同一のプロダクト・プラグイン526と関連付けられ得る。一般的に、プロダクト・プラグイン526は、関連したオーディオ関連デバイスの機能性および制御能力を表すために用いられ得る格納されている所定のオーディオ関連デバイス特定の情報を含み得る。このような情報は、格納されている所定のGUIのコントロール・パネル・ビュー、格納されている所定のGUIのアスペクト、関連したオーディオ関連デバイスのクラス識別情報、オーディオ関連デバイスの格納されている所定のノード構造、格納されている所定のノード構造の部分を含み得る。
図8は、このシステムにおいて用いられ得るプロダクト・プラグイン526のブロック図である。このシステムは、オーディオ・システムに含まれているオーディオ関連デバイスに関連付けられ得る複数のプロダクト・プラグインを含み得る。プロダクト・プラグイン526は、1つ以上の関連したオーディオ関連デバイスをサポートし得る。例えば、同様なモデルナンバー、機能性および/またはメーカーを有するオーディオ関連デバイスは、同一のプロダクト・プラグイン526と関連付けられ得る。一般的に、プロダクト・プラグイン526は、関連したオーディオ関連デバイスの機能性および制御能力を表すために用いられ得る格納されている所定のオーディオ関連デバイス特定の情報を含み得る。このような情報は、格納されている所定のGUIのコントロール・パネル・ビュー、格納されている所定のGUIのアスペクト、関連したオーディオ関連デバイスのクラス識別情報、オーディオ関連デバイスの格納されている所定のノード構造、格納されている所定のノード構造の部分を含み得る。
プロダクト・プラグイン526は、タイプ発見モジュール800およびコントロール・パネル・ビュー・ビルダー801を含み得る。コントロール・パネル・ビュー・ビルダー801は、ノード・インスタンス化エンジン802、コントロール・パネル・ライブラリ804、コントロール・パネル・データ・ストレージ806およびコントロール・パネル・ビュー・バッファ808を含み得る。タイプ発見モジュール800は、プラグイン・インターフェース522を介してGUIのコア520と通信するノードクラス分析810を含み得る。ノードクラス分析810は、プラグイン・インターフェース522を介してノード属性要求エンジン630からブロードキャストされたクラス情報を受け取る。クラス情報は、オーディオ関連デバイスに前もって割り与えられるオブジェクト・クラスIDおよびプロダクト名といったクラス属性を含む。クラス情報は、クラス属性クエリに応答してオーディオ関連デバイスによって提供され得る。クラス属性は、オーディオ関連デバイスの性質およびタイプを示す任意の記号、ワード、数字、またはそれらのいくつかの組み合わせであり得る。
クラス属性は、ノード・クエリで、ノード発見マネージャ628によってプロダクト・プラグイン526にブロードキャストされ得る。あるいは、プロダクト・プラグイン526のそれぞれは、個々にノード・クエリに送達され得る。クラス属性を含むノード・クエリは、プロダクト・プラグイン526の1つがデバイスのクラス属性に対応するか否かを決定するために用いられ得る。ライブラリ・ストレージ・モジュール816に格納されているクラス属性がクエリに含まれているクラス属性と比較され得る。例えば、ライブラリ・ストレージ・モジュール816は、プロダクト動的リンク・ライブラリ(「DLL」)を含み得る。DLLは、プロダクト・プラグイン526に関連した各オーディオ関連デバイスのオブジェクト・クラスIDおよびプロダクト名を含む静的メンバーを有するパグリック・プロダクトDLL記述(「PDD」)クラスを含み得る。一度クラス属性情報が比較されると、ノードクラス分析810は、プロダクト・プラグイン526が、オーディオ関連デバイスの対応するクラス属性に関連しているか否かを示すメッセージをGUIのコア520に送達し得る。
プロダクト・プラグイン526がデバイスのクラス属性に対応するとき、通信コンジットがプラグイン・インターフェース522を介してセットアップされ得る。プラグイン・インターフェース522を用いて、取り出し(retrieval)エンジン812は、オーディオ関連デバイスからオーディオ・ノード構造を取得するために用いられ得る。オーディオ・ノード構造は、オーディオ関連デバイスの機能性を表し得、SV、オブジェクトおよび/または仮想デバイスを含み得る。クラス分析814は、それから、ライブラリ・ストレージ816との比較を行うためにオーディオ・ノード構造をトラバースし得る。ライブラリ・ストレージ816は、プロダクト・プラグイン526に関連したオーディオ関連デバイスのそれぞれに対する1つ以上の所定のオーディオ・ノード構造および/またはオーディオ・ノード構造コンポーネントを含み得る。オーディオ・ノード構造、および/またはオーディオ・ノード構造コンポーネントは、プロダクト・プラグイン526によってサポートされるオーディオ関連デバイスのそれぞれの機能性を示す構成において仮想デバイス、オブジェクトおよび/またはSVを含み得る。
1つの例において、プロダクト・プラグイン526は、オーディオ関連デバイスに含まれている仮想デバイスに対してオーディオ関連デバイスにクエリし得る。あるいは、ノード発見マネージャ628は、クラス属性の一部として仮想デバイスのリストを受け取り得る。別の例において、プロダクト・プラグイン526は、オーディオ関連デバイスに含まれている仮想デバイス、オブジェクトおよび/またはSVのそれぞれに対してクエリし得る。
仮想デバイス、オブジェクトおよび/またはSVが既知であるとき、オーディオ・ノード構造のその部分の表現およびオーディオ・ノード構造のその部分が既知であるという表示が、ノード構造ストレージ818に格納され得る。例えば、表現は、既知である仮想デバイスのリストおよび既知である仮想デバイスの表示であり得る。別の例において、オーディオ・ノード構造の既知の部分およびにオーディオ・ノード構造の既知の部分に含まれている属性が、ノード構造ストレージ818に格納され得る。オーディオ関連デバイスから受け取られたオーディオ・ノード構造のいずれかの部分が、ライブラリ・ストレージ818に含まれているオーディオ・ノード構造と、またはノード構造コンポーネントとに含まれている所定の仮想デバイス、オブジェクト、SVと対応していることが見出されないとき、プラグイン・サーチ・エンジン632は、取り出しエンジン812によって、オーディオ・ノード構造の未知のコンポーネントに対して他のプロダクト・プラグイン526およびジェネリック・プラグイン524にクエリするために有効にされ得る。あるいは、プロダクト・プラグイン424が、このようなクエリを行い得る。
未知のコンポーネントが別のプラグイン523に存在するとき、未知のコンポーネントが取り出され、ライブラリ・ストレージ816に格納され、かつ、オーディオ・ノード構造を十分に定義するために用いられ得る。オーディオ・ノード構造の対応するコンポーネンが、それから、ノード構造ストレージに格納され得る。未知のコンポーネントが、プロダクト・プラグイン526およびジェネリック・プラグイン524のいずれかから利用可能でないとき、発見エンジン620は、オーディオ関連デバイスのオーディオ・ノード構造全体、または先述されたようなオーディオ関連デバイスの未知のコンポーネントのいずれかを決定するために開始され得る。発見エンジン620によって決定されたオーディオ・ノード構造および/またはコンポーネントがオーディオ関連デバイスのオーディオ・ノード構造に関連付けられ、ライブラリ・ストレージ816に格納され得る。発見エンジン620によって取得された、オーディオ・ノード構造の未知の部分に対する詳細な属性がまた、ノード構造ストレージ818に格納され得る。
発見エンジン620は、複数のプロダクト・プラグイン526および/またはジェネリック・プラグイン524のいずれかの1つによって有効にされ得るので、これは好都合である。つまり、プロダクト・プラグイン526およびジェネリック・プラグイン524のそれぞれは、発見エンジン620を動作させる命令を格納および実行をする必要がない。加えて、発見エンジン620内の命令に対する変化およびアップデートが一度なされ得る。
一度オーディオ関連デバイスのオーディオ・ノード構造全体が決定され、表示がノード構造ストレージ818に格納されると、ノード・インスタンス化エンジン802は、1つ以上のコントロール・パネル・ビューを識別するために、ノード構造ストレージ818に格納されているオーディオ・ノード構造を利用し得る。コントロール・パネル・ビューは、オーディオ・ノード構造のコンポーネントおよび/またはオーディオ・ノード構造のコンポーネントに含まれている属性に基づいて識別され得る。例えば、格納されている所定のコントロール・パネル・ビューが1つ以上の特別に識別された仮想デバイスに関連付けら得る。
ノード・インスタンス化エンジン802は、コントロール・パネル・ライブラリ804にアクセスし、オーディオ・ノード構造のコンポーネントに対応する1つ以上のGUIのコントロール・パネル・ビューを取得し得る。コントロール・パネル・ライブラリ804は、ディスプレイに表示され得る所定のGUIのコントロール・パネル・ビューおよび/または所定GUIのアスペクトを格納し得る。対応するGUIのコントロール・パネル・ビューは、ノード・インスタンス化エンジン802によって構成され、インスタンス化のために格納され得る。ユーザによって、オーディオ関連デバイスの機能のモニタ、制御および動作を可能にすることを要求されるとき、GUIのコントロール・パネル・ビューは、ノード・インスタンス化エンジン802によってインスタンス化され、かつ、表示され得る。
ノード・インスタンス化エンジン802はまた、コントロール・パネル・ビューにおいてSVに対してサブスクライブ・メッセージングをセットアップし得る。加えて、ノード・インスタンス化エンジン802は、コントロール・パネル・ビューおよび関連したSVに関してリンク・マネージャ614と通信し得る。コントロール・パネル・データ・ストレージ806は、ノード・インスタンス化エンジン802によってインスタンス化されるGUIのコントロール・パネル・ビューに含まれているSVの実際の値を格納するために用いられ得る。SVの実際の値は、取り出しエンジン812を用いてオーディオ関連デバイスから取り出され、コントロール・パネル・データ・ストレージ806で格納されるためにノード・インスタンス化エンジン802に提供され得る。コントロール・パネル・データ・ストレージ806はまた、先述されるようにGUIマネージャ606によって指示されるとき、すべての設定およびコントロール・パネル・ビューを格納し得る。
コントロール・パネル・ビュー・バッファ808はまた、GUIのコントロール・パネル・ビューに関連したデータをバッファするために提供され得る。コントロール・パネル・ビュー・バッファ808は、コントロール・パネル・ビューおよびその関連データをバッファし得、一方、ノード・インスタンス化エンジン802は、インスタンス化および表示のためにGUIのコントロール・パネル・ビューを用意する。加えて、複数のGUIのコントロール・パネル・ビューが用意され、コントロール・パネル・ビュー・バッファ808に格納され得る。従って、ユーザが、さまざまなGUIのコントロール・パネル・ビューを要求するとき、そのビューは、コントロール・パネル・ビュー・バッファ808においてバッファされているコントロール・パネル・ビューのセットから抽出され得る。抽出されたGUIのコントロール・パネル・ビューは、ディプレイ上に、コントロール・パネル・データ・ストレージ806に格納されているSVの実際の値を有してインスタンス化され得る。実際の値がコントロール・パネル・データ・ストレージ808に格納され、および/またはGUIのコントロール・パネル・ビューにおいてインスタンス化される一方で、実際の値がアップデートされ得る。このことは、獲得コマンドを用いて、またはサブスクリプションによって起きる。
コントロール・パネル・ビュー・バッファ808において形成され、格納されるコントロール・パネル・ビューの数は、PEMの能力に基づき得る。PEMが「厚い」PEMであるときは、オーディオ・ノード構造全体に対するGUIのコントロール・パネル・ビューが構築され、格納され得る。あるいは、PEMが「薄い」PEMであるときは、わずかな、または1つだけのコントロール・パネル・ビューが、いつでも構築され、格納され得る。
ノード・インスタンス化エンジン802によって選択される1つ以上のコントロール・パネル・ビューが、オーディオ関連デバイスのオーディオ・ノード構造全体をサポートしていないとき、ノード・インスタンス化エンジン802、または発見エンジンは、オーディオ・ノード構造のサポートされていないコンポーネントをサポートし得る1つ以上の格納されている所定のGUIのアスペクトに対してコントロール・パネル・ライブラリ804をチェックし得る。加えて、別のプロダクト・プラグイン526がオーディオ・ノード構造のサポートされていない部分を表し得る1つ以上の格納されている所定のGUIのアスペクトに対してチェックされ得る。例えば、オーディオ・ノード構造のサポートされていない部分は、それ以外の場合にはサポートされている仮想デバイス内に包含されるオブジェクトおよび/またはSVのいくつかであり得る。
オーディオ・ノード構造を表し得るGUIのアスペクトを決定することは、オーディオ・ノード構造に含まれている属性に基づき得る。例えば、オーディオ・ノード構造のコンポーネントの属性がゼロから100%までの可変コントロールを必要とするコントロールGUIのアスペクトを記述し得るか、またはスライダがコントロールGUIのアスペクトの機能性を表すために必要であることを特別に示し得る。別の例において、ノード構造コンポーネントの属性がゼロから100%までの可変インジケータを必要とするインジケータGUIのアスペクトを記述し得るか、または数値ディスプレイがインジケータGUIのアスペクトの機能性を表すために必要であることを特別に示し得る。
オーディオ・ノード構造の属性に記述される適正を満たすために欠けているGUIのアスペクトがあらかじめ決定され、かつ、コントロール・パネル・ライブラリ804、または別のプロダクト・プラグイン526に格納されているとき、格納されている所定のGUIのアスペクトは、取り出され、所定のGUIのコントロール・パネル・ビューに統合され得る。このGUIアスプクトの統合は、配置、サイズ調整、カラー調整、格納されている所定のGUIのコントロール・パネル・ビューにおける現存するGUIコンポーネントとのGUIのアスペクトの相互関連、および/または対応するオーディオ・ノード・構造の属性によって識別される他の任意の動作および/または構成を含み得る。GUIのアスペクトの取り込みに続いて、ノード・インスタンス化エンジン802は、オーディオ関連デバイスのオーディオ・ノード構造に関連して新しい所定のGUIのコントロール・パネル・ビューとして統合されたGUIのアスペクトを含むGUIのコントロール・パネル・ビューを格納し得る。新しい所定のGUIのコントロール・パネル・ビューは、コントロール・パネル・ライブラリ804に格納され得る。統合されたGUIのアスペクトを含むGUIのコントロール・パネル・ビューは、格納され、ともにディスプレイ上でインスタンス化され得る。
欠けているGUIのアスペクトが、プロダクト・プラグイン526のいずれかから利用可能でないとき、ジェネリック・プラグイン524が有効にされ得る。ジェネリック・プラグイン524は、オーディオ・ノード構造をサポートしているデフォルト・パネル(エディタ)といった1つ以上のジェネリックGUIコントロール・パネルを構築するために有効にされ得る。ジェネリック・プラグイン524によって構築されたジェネリックGUIコントロール・パネルがノード・インスタンス化エンジン802に提供され得る。ノード・インスタンス化エンジン802は、オーディオ関連デバイスの機能性を表示するためにジェネリックGUIコントロール・パネルを用い得る。あるいは、格納されている所定のGUIのアスペクトに関連していないオーディオ・ノード構造のコンポーネントの機能性を表すジェネリックGUIのアスペクトを生成するために、ジェネリック・プラグイン524がプロダクト・プラグイン526によって有効にされ得る。発見エンジン620を用いて生成されたおよび/または識別された任意のGUIのアスペクトはまた、所定のコントロール・パネル・ビューの欠けている部分を充填ためにノード・インスタンス化エンジン802によって用いられ得る。ノード・インスタンス化エンジン802はまた、オーディオ・ノード構造の属性に基づいて、生成されたGUIのアスペクトを所定のコントロール・パネル・ビューの現存するGUIコンポーエントとを相互に関連付ける。
ノード・インスタンス化エンジン802はまた、インスタンス化されたGUIのコントロール・パネル・ビューを表示することを提供するデバイスの演算能力およびコントロール面の使用可能性を考慮し得る。デバイスの能力に基づいて、ノード・インスタンス化エンジン802は、格納されている所定のGUIのコントロール・パネル・ビュー、または格納されている所定のGUIのアスペクトを簡素化、エンハンス、削除、または装飾(embellish)し得る。例えば、ディスプレイが小さく、表示のために低い解像度、または制限された「実際の面積(real estate)」といった制限されたディスプレイ能力しか有さないときには、格納されている所定のGUIのコントロール・パネル・ビューに含まれる選択されたGUIコンポーネントは、より簡素なGUIコンポーネントに変化され得るか、別のコンポーネントに組み合わされ得るか、または完全に削除され得る。別の例において、ディスプレイが比較的大きく、高い解像度のディスプレイ能力を含むとき、格納されている所定のGUIのコントロール・パネル・ビューは、グラフィカル的により詳細な、または自動化等を有するといったより複雑なGUIコンポーネントを含むように変化され得る。GUIのコントロール・パネル・ビューを表示することを提供するデバイスの演算能力を考慮することはまた、格納されている所定のGUIのアスペクトおよび/またはGUIのアスペクトの統合に影響し得る。
コントロール面を有効にするように構成されている格納されている所定のコントロール・パネル・ビューに対する変化がまた、ハードウェアのコントロール面と一致するようになされ得る。例えば、オーディオ・ノード構造における属性によって記述されるようにコントロール・パネル・ビューのハードウェアが指示するとき、コントロール面におけるアナログ計測器を駆動する機能性を含む格納されている所定のコントロール・パネル・ビューが、デジタル数値ディスプレイを駆動する機能性に変化され得る。
ジェネリック・プラグイン
図9は、ジェネリック・プラグイン524のブロック図である。ジェネリック・プラグイン524は、デバイスのクラス属性が、プラグイン・ローダ634において現在リストアップされているプロダクト・プラグイン526のいずれかによって認識されていない際に有効にされ得る。有効にされるとき、ジェネリック・プラグイン524は、オーディオ関連デバイスのオーディオ・ノード構造を決定し得る。オーディオ・ノード構造は、先述されるように発見エンジン620によって決定され得る。加えて、ジェネリック・プラグイン524が、プロダクト・プラグイン526に格納されている、格納されている所定のGUIのコントロール・パネル・ビューによって完全にサポートされていないとき、ジェネリック・プラグイン524は1つ以上のジェネリックGUIのコントロール・パネル・ビューを作成するために有効にされ得る。
図9は、ジェネリック・プラグイン524のブロック図である。ジェネリック・プラグイン524は、デバイスのクラス属性が、プラグイン・ローダ634において現在リストアップされているプロダクト・プラグイン526のいずれかによって認識されていない際に有効にされ得る。有効にされるとき、ジェネリック・プラグイン524は、オーディオ関連デバイスのオーディオ・ノード構造を決定し得る。オーディオ・ノード構造は、先述されるように発見エンジン620によって決定され得る。加えて、ジェネリック・プラグイン524が、プロダクト・プラグイン526に格納されている、格納されている所定のGUIのコントロール・パネル・ビューによって完全にサポートされていないとき、ジェネリック・プラグイン524は1つ以上のジェネリックGUIのコントロール・パネル・ビューを作成するために有効にされ得る。
プロダクト・プラグイン526のいずれもオーディオ関連デバイスのクラス属性をサポートしないとき、ジェネリック・プラグイン524は、プラグイン・インターフェース522を介して、デバイスによって提供されるオーディオ・ノード構造に基づいて「。ジェネリック」コントロール・パネル・ビューの1つ、またはそのセットを動的に作成するためにGUIのコア520によって有効にされ得る。あるいは、オーディオ関連デバイスのクラス属性をサポートしているプロダクト・プラグイン526の1つが、デバイスのオーディオ・ノード構造における1つ以上のコンポーネントに対応する所定のコントロール・パネルを有しないとき、ジェネリック・プラグイン524は、デバイスによって提供されるオーディオ・ノード構造に基づいて、1つ以上の「ジェネリック」コントロール・パネル・ビューを動的に作成するためにプロダクト・プラグイン526によって有効にされ得る。加えて、格納されている所定のGUIのアスペクトがオーディオ・ノード構造における1つ以上のコンポーネントに対して存在しないとき、ジェネリック・プラグイン524が同様に、ジェネリックGUIのアスペクトを生成するために有効にされ得る。ジェネリック・プラグイン524は、コントロール・パネル・ファクトリ900、属性分析902、ノード・インスタンス化エンジン904、配置エンジン906、取り出しエンジン908、コントロール・パネル・ビュー・バッファ910、ノード構造ストレージ912、およびコントロール・パネル・データ・ストレージ914を含み得る。
GUIのコア520(図5および図6)は、オーディオ関連デバイスのオーディオ・ノード構造を取得するためにオーディオ関連デバイスおよび/またはプロダクト・プラグイン526と通信するように有効にされ得る。あるいは、取り出しエンジン808は、オーディオ関連デバイスのオーディオ・ノード構造および属性を取得し得る。一度取得されると、オーディオ関連デバイスのオーディオ・ノード構造および/または属性は、先述されるように、ノード構造ストレージ912に格納され得る。加えて、取得されたSVの実際の値が先述されるように、コントロール・パネル・データ・ストレージ914に格納され得る。
属性分析902は、オーディオ関連デバイスの格納されているオーディオ・ノード構造に関連した属性をレビューし得る。オーディオ・ノード構造の属性の分析に基づいて、ノード・インスタンス化エンジン904は、ジェネリックGUIのコントロール・パネル・ビューおよび/またはジェネリックGUIのアスペクトの1つ、またはそのセットを生成するためにコントロール・パネル・ファクトリ900を開始し得る。ジェネリックGUIのコントロール・パネル・ビューまたはジェネリックGUIのアスペクトにおけるGUIコンポーネントは、格納されているオーディオ・ノード構造に含まれている属性に基づいて決定され得る。
ノード・インスタンス化エンジン904は、ジェネリックGUIのコントロール・パネル・ビューに統合するために属性によって記述される格納されている所定のGUIのアスペクトに対してプロダクト・プラグイン526を検索するようにプラグイン・サーチ・エンジン632(図6)を有効にし得る。あるいは、ノード・インスタンス化エンジン904は、プロダクト・プラグイン526から格納されている所定のGUIのアスペクトを検索し、取得し得る。このようにして、1つ以上のジェネリック・コントロール・パネル・ビューは、所定のGUIのアスペクトおよび生成された「ジェネリック」GUIのアスペクトを含み得る。
ジェネリックGUIのコントロール・パネル・ビューのすべて、または一部を生成するためにオーディオ関連デバイスから受け取られるオーディオ・ノード構造において十分な属性が利用可能でないとき、発見エンジン620は、デバイスから追加的な情報を取得し、提供するために有効にされ得る。このような追加的な情報は、オーディオ・ノート構造に関して追加的な情報を含み得る。例えば、オブジェクトおよび/またはSVの情報の取り出しは、オーディオ・ノード構造に含まれる仮想デバイスだけを以前供給していたオーディオ関連デバイスから取得され得る。加えて、取得される情報は、サイズ、カラー、形状、配線、オーディオ・ノード構造における別のコンポーネントとの相互関連、機能性の詳細、関連配置等といったオーディオ・ノード構造のコンポーネントの詳細な属性を含み得る。
ノード・インスタンス化・エンジン904は、表示のために完了したジェネリックGUIのコントロール・パネル・ビューまたはジェネリックGUIのアスペクトをインスタンス化し得る。加えて、SVの実際の値がコントロール・パネル・データ・ストレージ914から取り出され、ジェネリックGUIのコントロール・パネル・ビューまたはジェネリックGUIのアスペクトに含まれ得る。あるいは、ジェネリックGUIのアスペクトは、格納されている所定のGUIのコントロール・パネル・ビューを完了するようにプロダクト・プラグインに提供され得る。ジェネリックGUIのコントロール・パネル・ビューまたはジェネリックGUIのアスペクトは、後ほど取り出されるためにオーディオ関連デバイスに関連して格納され得る。ジェネリック・コントロール・パネル・ビューまたはジェネリックGUIのアスペクトの格納がコントロール・パネル・データ・ストレージ914にされ得る。
ノード・インスタンス化エンジン904はまた、ジェネリックGUIのコントロール・パネル・ビューにおける各SVに対してサブスクライブ・メッセージングをセットアップし、ジェネリック・コントロール・パネル・ビューおよびそれに関連したSVに関してリンク・マネージャ614と通信し得る。ジェネリック・プラグイン524はまた、配置エンジン906をオプション的に含み得る。配置エンジン906は、オーディオ・ノード構造に含まれている属性に基づいて「厚い」PEM内のジェネリック・コントロール・パネル・ビューにおけるGUIのアスペクトの配置を管理し得る。加えて、「厚い」PEM内で、コントロール・パネル・ビュー・バッファ910はまた、デバイスに対するジェネリック・コントロール・パネル・ビューの追加的な層に関してバッファ・データにオプション的に提供され得る。ノード・インスタンス化エンジン904はまた、オーディオ・ノード構造を取得し、ジェネリック・コントロール・パネル・ビューおよび/またはジェネリックGUIのアスペクトを構築するとき、先述されるようなディスプレイを含むデバイスの能力を考慮し得る。
V.オーディオ関連デバイス(続き)
図10は、図2および図3に図解されるオーディオ関連デバイス200の一部のブロック図である。オーディオ関連デバイス200の例の一部は、ネットワーク・インターフェース302、オーディオ・ストリーム322、仮想デバイス・エンジン1002、オブジェクト・エンジン1004、SVエンジン1006、ノード識別モジュール1008、サブスクリプション・マネージャ・モジュール1010、デバイス・ツー・デバイス通信マネージャ・モジュール1012、およびリンク・マネージャ・モジュール1014を含む。図10に示されるさまざまなモジュールは、メモリ206に格納され得、プロセッサ204(図2)によって選択的に実行可能である。他の例において、追加的なモジュールが、オーディオ関連デバイス200の記述された機能性を表すために含まれ得る。
オーディオ関連デバイス200のそれぞれは、オーディオ・ネットワーク120(図1)上のノードとして表され得る。各オーディオ・ノード構造は、仮想デバイス、オブジェクト、およびノードを含む3レベル階層を含み得る。各仮想デバイスは、1つ以上のオブジェクトおよび1つ以上のSVをグループ化し得る。仮想デバイス、オブジェクト、およびSVは、対応するオーディオ関連デバイス200の機能性、設定および動作的なアスペクトを表す。SVは、通常、可変データの形式である動作パラメータである。
図10は、図2および図3に図解されるオーディオ関連デバイス200の一部のブロック図である。オーディオ関連デバイス200の例の一部は、ネットワーク・インターフェース302、オーディオ・ストリーム322、仮想デバイス・エンジン1002、オブジェクト・エンジン1004、SVエンジン1006、ノード識別モジュール1008、サブスクリプション・マネージャ・モジュール1010、デバイス・ツー・デバイス通信マネージャ・モジュール1012、およびリンク・マネージャ・モジュール1014を含む。図10に示されるさまざまなモジュールは、メモリ206に格納され得、プロセッサ204(図2)によって選択的に実行可能である。他の例において、追加的なモジュールが、オーディオ関連デバイス200の記述された機能性を表すために含まれ得る。
オーディオ関連デバイス200のそれぞれは、オーディオ・ネットワーク120(図1)上のノードとして表され得る。各オーディオ・ノード構造は、仮想デバイス、オブジェクト、およびノードを含む3レベル階層を含み得る。各仮想デバイスは、1つ以上のオブジェクトおよび1つ以上のSVをグループ化し得る。仮想デバイス、オブジェクト、およびSVは、対応するオーディオ関連デバイス200の機能性、設定および動作的なアスペクトを表す。SVは、通常、可変データの形式である動作パラメータである。
仮想デバイス・エンジン1002は、ノードに含まれている1つ以上の仮想デバイスの複数の属性を追跡し、維持するように構成される。属性は、静的、または動的であり得、対応する仮想デバイスの能力、機能性および動作性の記述を提供し得る。加えて、ネスト化されたノードの構成のために、仮想デバイス・エンジン1002はまた、仮想デバイスに含まれるオブジェクトおよびSV追跡し、維持し得る。オブジェクト・エンジン1004は、ノードにおけるオブジェクトに関連した属性を追跡し、維持するように構成されている。加えて、オブジェクト・エンジン1004は、オブジェクトにネスト化されたSVを追跡し、維持するように構成されている。SVエンジン1006は、オーディオ関連デバイス(ノード)に存在する実際のデータの値を追跡、維持するように構成されている。
オーディオ関連デバイス200が当初ネットワークに結合されているとき、ノード識別モジュール1008はノードID生成するように構成されている。ノードIDは、ネットワーク120上のオーディオ関連デバイス200を一意に識別し得る。ノードIDは、手動による割り当てよって、またはアドレス・ネゴシエーションを介してといった多くの異なる態様で割り与えられ得る。先述されるように、ノードIDはまた、PEMによって割り与えられ得る。ノードIDが手動で割り与えられ得る例において、ノードIDは、オーディオ関連デバイス200に関連した物理的な(有形の)スイッチを用いてセットされ得る。例えば、ノードIDは、オーディオ関連デバイス200上のDIP―スイッチ、またはパネル設定を介して割り与えられ得る。
ノードIDは、オーディオ・ネットワーク上のオーディオ関連デバイス間のアドレス・ネゴシエーションを介して割り与えられ得る。いくつかの例において、オーディオ関連デバイは、オーディオ・ネットワークからのメッセージで受け取られるノードIDに基づいて、ノードIDを割り与えられ得る。別の例において、オーディオ関連デバイス200は、例えば、ランダムに、またはシーケンシャルにノードIDを選択することによってIDノードIDを生成し得る。ランダム・アドレス・ネゴシエーションは、アドレス衝突の可能性を最小にし得る。シーケンシャル・アドレス・ネゴシエーションは、オーディオ関連デバイスが、名前より、むしろ数値アドレスによって識別され得る例において特に有用であり得る。シーケンシャル・アドレス・ネゴシエーションが用いられる例において、第1のオーディオ関連デバイスがアドレス1、アドレス2等を取るごとにオーディオ関連デバイスがパワー・アップし得る。いくつかの例において、パワー・シーケンサは、オーディオ関連デバイスをシーケンシャルにパワー・アップするために用いられ得る。
ランダム、またはシーケンシャルのいずれかの態様でノードIDを選択する方法の例が図11に示されている。パワー・アップすると、オーディオ関連デバイス200は、ステップ1101に示されるように有効なノードIDが割り与えられたかどうかを決定し得る。オーディオ関連デバイス200が有効なノードIDを有するとき、そのノードIDが用いられ得る。パワー・アップした際に、オーディオ関連デバイス200が有効なノードIDを有しないとき、オーディオ関連デバイス200は、アドレス・ネゴシエーション・プロセスをスタートし得る。オーディオ関連デバイス200は、パワー・アップした際に、「0」といった所定の無効なノードIDを用いて、またはメモリ206に格納されているノードIDを無効であるとカテゴリ化する属性によってノードIDが無効であることを決定し得る。いくつかの例において、ノードIDは、オーディオ関連デバイス200をパワー・アップしたとき、その同一のノードは、パワー・アップされた前回の時から再格納されるように、同一のノードIDが不揮発性ストレージに格納され得る。他の例において、ノードIDは、パワー・ダウンした際に無効にされ得る。
ステップ1102では、オーディオ関連デバイス200が、シーケンシャル・アドレス・ネゴシエーションに対して構成されているか否かの決定がなされる。オーディオ関連デバイス200が、シーケンシャル・アドレス・ネゴシエーションに対して構成されているとき、オーディオ関連デバイス200は、ステップ1004に示されるようにテスト・ノードIDを所定のアドレスにセットし得る。例えば、所定のアドレスは、「1」であり得る。オーディオ関連デバイス200は、ステップ1006に示されるようにネットワークの混雑を最小にするためにある時間(例えば、ランダムな時間)を待機し得る。テスト・ノードIDは、ステップ1008に示されるようにネットワーク上の他のオーディオ関連デバイスに、テスト・ノードIDが既に用いられているか否を決定する要求アドレス・メッセージとしてブロードキャストされ得る。要求アドレス・メッセージを受け取ると、ネットワーク上の他のオーディオ関連デバイスは、ステップ1010に示されるように、テスト・ノードIDが既に用いられているか否を決定し得る。オーディオ関連デバイス200が、要求アドレス・メッセージに対する応答を受け取らないとき、ノードIDは、ステップ1002に示されるようにテスト・ノードIDにセットされ得る。テスト・ノードIDが用いられているとき、一意のノードIDが選択されるまで、ステップ1014に示されるように、オーディオ関連デバイス200はテスト・ノードIDを引き続きしてインクリメントし得る。
オーディオ関連デバイス200がシーケンシャル・アドレス・ネゴシエーションに対して構成されていないとき、ステップ1016に示されるように、オーディオ関連デバイス200がランダム・アドレス・ネゴシエーションに対して構成されているか否の決定がされ得る。ランダム・アドレス・ネゴシエーション構成でないときには、オーディオ関連デバイスはノードIDを生成するたに別の方法を用い得る。しかしながら、オーディオ関連デバイス200がランダム・アドレス・ネゴシエーションに対して構成されているとき、オーディオ関連デバイス200はステップ1018に示されるように、ランダム・ノートIDを生成し得る。いくつかの例において、オーディオ関連デバイスのシリアル・ナンバーは、ノードIDをランダムに生成するためのシード(seed)であり得る。ネットワーク上の他のオーディオ関連デバイスのノードIDとの衝突を避けるために、オーディオ関連デバイス200は、ステップ1020に示されるように、生成されたノードIDを有する要求アドレス・メッセージをブロードキャストし得る。ステップ1022に示されるように、ネットワークの混雑を最小にするために、ブロードキャストはある時間(例えば、ランダム時間)待機後に起こり得る。要求アドレス・メッセージを受け取ると、ネットワーク上の他のオーディオ関連デバイスは、ステップ1024に示されるように、生成されたノードIDが既に用いられているか否かを決定し得る。生成されたノードIDが用いられているとき、オーディオ関連デバイス200は通知され得る。オーディオ関連デバイス200は、一意のノードIDが選択されるまでランダム・ノードIDを引き続き生成し得る。オーディオ関連デバイス200が要求アドレス・メッセージに対する応答を受け取らないとき、ノードIDは、ステップ1026に示されるように生成されたノードIDにセットされ得る。
あるいは、オーディオ関連デバイスは、メモリ206に格納されているノードIDを用い得る。例えば、ノードIDを割り与えられる前に、オーディオ関連デバイス200は当初は「0」といった所定のノードIDを有し得る。いくつかの例において、ノードIDは、オーディオ関連デバイス200がパワー・アップしたとき、同一のノードIDは、パワー・アップされた前回の時から再格納されるように、不揮発性ストレージに格納され得る。例えば、メモリに格納されているノードIDが、「0」といった所定のノードIDでないために、オーディオ関連デバイス200はノードIDが以前割り当てられたと決定し得る。他の例において、ノードIDはパワー・ダウンした際に無効にされ得る。
サブスクリプション・マネージャ・モジュール1010は、オーディオ・ネットワークにおける他のオーディオ関連デバイスによってオーディオ関連デバイスのサブスクリプションを管理するように構成されている。加えて、サブスクリプション・マネージャ・モジュール1010は、オーディオ関連デバイスによって、オーディオ・ネットワーク120上の他のオーディオ関連デバイスへのサブスクリプションを管理するように構成されている。データ変数が変化するとき、サブスクリプションは別のオーディオ関連デバイスからの1つ以上のデータ変数の受け取りを要求するように用いられる。例えば、第1のオーディオ関連デバイスが、第2のオーディオ関連デバイスのオーディオ信号レベルにサブスクライブし得る。この例において、オーディオ信号レベルが変化するとき、第2のオーディオ関連デバイスは、オーディオ信号レベルを表すアップデートされたデータ変数を、オーディオ・ネットワーク120上の第1のオーディオ関連デバイスに提供し得る。同様に、第2のオーディオ関連デバイスは、第1のオーディオ関連デバイスの1つ以上のデータ変数にサブスクライブし得る。このようなサブスクリプションは、サブスクリプション・マネージャ・モジュール1010によって管理され、かつ、統治される。
サブスクリプション・マネージャ・モジュール1010は、オーディオ・ネットワークにおける他のオーディオ関連デバイスによってオーディオ関連デバイスのサブスクリプションを管理するように構成されている。加えて、サブスクリプション・マネージャ・モジュール1010は、オーディオ関連デバイスによって、オーディオ・ネットワーク120上の他のオーディオ関連デバイスへのサブスクリプションを管理するように構成されている。データ変数が変化するとき、サブスクリプションは別のオーディオ関連デバイスからの1つ以上のデータ変数の受け取りを要求するように用いられる。例えば、第1のオーディオ関連デバイスが、第2のオーディオ関連デバイスのオーディオ信号レベルにサブスクライブし得る。この例において、オーディオ信号レベルが変化するとき、第2のオーディオ関連デバイスは、オーディオ信号レベルを表すアップデートされたデータ変数を、オーディオ・ネットワーク120上の第1のオーディオ関連デバイスに提供し得る。同様に、第2のオーディオ関連デバイスは、第1のオーディオ関連デバイスの1つ以上のデータ変数にサブスクライブし得る。このようなサブスクリプションは、サブスクリプション・マネージャ・モジュール1010によって管理され、かつ、統治される。
デバイス・ツー・デバイス通信モジュール1012は、オーディオ・システムにおける他のオーディオ関連デバイスとの非ネットワーク通信を確立し、維持するように構成されている。先述されたように、オーディオ関連デバイスは、ネットワーク通信の外側のオーディオ関連デバイスと直接的に通信し得る。従って、デバイス・ツー・デバイス通信モジュール1012は、ノードIDおよび別のオーディオ関連デバイスと確立された通信に関連した他の関連する情報ならびに設定を格納するように構成されている。加えて、オーディオ関連デバイス間でパスされたメッセージは、デバイス・ツー・デバイス通信モジュール1012によって送達され、かつ、受け取られ得る。さらに、デバイス・ツー・デバイス通信モジュール1012は、送達されるメッセージを生成し、受け取られたメッセージを処理し得る。
リンク・マネージャ・モジュール1014は、他の複数のオーディオ関連デバイスへのサブスクリプションを管理するように構成されている。リンク・マネージャ1014は、オーディオ関連デバイス200内のデータ変数を管理するように構成され得る。管理されているデータ変数が変化するとき、リンク・マネージャ・モジュール1014は、その変化を他のオーディオ関連デバイスに通知し得る。その通知に応答して、他のオーディオ関連デバイスは、変化されたデータ変数を有するオーディオ関連デバイスにサブスクライブし、アップデートされたデータの変数の受け取りを要求し得る。リンク・マネージャの動作はまた、図5のPEMに関して記載される。
リンク・マネージャ・モジュール1014はまた、特定のオーディオ関連デバイスに対してサブスクリプションの負荷を減らすように構成されている。例えば、第1のオーディオ関連デバイスがあるデータ変数に対する多くのサブスクリプションの負荷を負うとき、より低いサブスクリプション要求を有する第2のオーディオ関連デバイスのリンク・マネージャ・モジュールが、その負荷を軽減するために用いられ得る。このシナリオでは、第2のオーディオ関連デバイスは、特定のデータ変数を受け取るために、第1のオーディオ関連デバイスにサブスクライブし得る。加えて、第2のオーディオ関連デバイスのリンク・マネージャ・モジュールは、特定のデータ変数が受け取られたとき、他のオーディオ関連デバイスに注意を促すように構成され得る。従って、他のオーディオ関連デバイスは、アップデートされた特定のデータ変数を取得するために、第1のオーディオ関連デバイスではなく、第2のオーディオ関連デバイスにサブスクライブし得、それにより、第1のオーディオ関連デバイスの負荷が減少される。
VI.ネットワークノード発見
図12は、オーディオ・ネットワーク120および複数「N」のオーディオ関連デバイス1204に結合されているスイッチ1202の構成の例である。この構成の例において、スイッチ1202は、ネットワーク接続1206および複数「N」のポート1208を有し得る。ネットワーク接続1206は、ネットワーク・アドレスを有し得る。ポート1208のそれぞれは、所定のノードIDを有し得る。
図12は、オーディオ・ネットワーク120および複数「N」のオーディオ関連デバイス1204に結合されているスイッチ1202の構成の例である。この構成の例において、スイッチ1202は、ネットワーク接続1206および複数「N」のポート1208を有し得る。ネットワーク接続1206は、ネットワーク・アドレスを有し得る。ポート1208のそれぞれは、所定のノードIDを有し得る。
複数のオーディオ関連デバイス1204は、関連したスピーカを有する増幅器のアレイであり得る。アレイにおけるスピーカのそれぞれの位置は、アレイから所望の音響効果を生成するために関連した増幅器の設定を指示し得る。
(図示されていないが)PEMは、アレイにおける増幅器のそれぞれに対する格納されている所定の設定を含み得る。PEMはまた、スイッチ1202の格納されている所定の設定であって、ポート1208とノードIDとの間の対応を示す設定を含み得る。オーディオ関連デバイス1204およびスイッチ1202が起動されているとき、PEMは、スイッチ1202のために、オーディオ・ネットワーク120上のオーディオ関連デバイス1204を見ることができない。しかしながら、ポート1208への所定のノードIDの割り当てのために、PEMは、ノードIDに対応するポートの数1208に基づいて設定をオーディオ関連デバイス1204にダウンロードし得る。従って、デバイス1204のそれぞれが、アレイにおけるスピーカの位置に対応するスイッチ1202上のポート1208に結合されている。
一度デバイスがノード・アドレスを割り当てられると、PEMおよび他のデバイスは、そのデバイスを発見し得る。以下の例は、複数のオーディオ関連デバイス間の発見に関連する。しかしながら、PEM、または他のデバイスは、オーディオ・ネットワーク上のオーディオ関連デバイスを発見し得る。例えば、PEMのノード分解能モジュール600(図6)は、後述されるように用いられ得る。このことをする際に、ルーティング層308(図3)は、所定のネットワーク・インターフェース上に常駐するオーディオ関連デバイスの存在を決定するために、またオーディオ関連デバイスをアドレス指定するために必要であるネットワーク情報を発見するために、Ethernet(登録商標)ネットワーク上のTCP/IP、485バスの上のトークン・ネットワーク・サービス、またはUSB上のUSBサービスといったアンダーライする層によって供給されるサービスを用い得る。いくつかの例において、オーディオ関連デバイス200(図2)は、ノードIDおよびネットワーク・アドレスを特定し得る。
図13は、オーディオ・ネットワーク上のノードであって、システムとともに用いられ得るノードを発見する方法を示すフローチャートである。ルーティング・テーブルが、ブロック1302に示されるように、要求されたノードに対して検索される。ノードIDがルーティング・テーブルにおいて見つけられるとき、そのルートが用いられ得る(ブロック1303)。ノードIDに対するノードがルーティング・テーブルに見つけられないとき(1304)、デバイスと通信するルートが決定され得る。ルートを決定するために、オーディオ関連デバイスは、ステップ1306に示されるように、要求されたルートを特定するメッセージをブロードキャストし得る。オーディオ関連デバイスは、それから、ブロック1308に示されるように、ブロードキャストに対する応答に対して待機し得る。オーディオ・ネットワーク上の、ブロードキャストを受け取るデバイスは、要求されたノードへのルートを検索し得る。例えば、その要求を受け取るデバイスが、デバイスのルーティン・テーブルを検索し得る。別の例として、その要求を受け取るデバイスは、要求されたノードがデバイスのノードIDと一致するか否かを決定し得る。デバイスがブロードキャストに対する応答を受け取るとき(ステップ1310)、応答に基づいて、ルーティング・テーブルに新しいエントリが作成される(ステップ1312)。ブロードキャストから応答が受け取られないとき、ステップ1314に示されるように、ルートを要求するさらなるブロードキャストがされ得る。ブロードキャストに対して応答が受け取られないとき、ステップ1316に示されるように、「not found」エラーが返送され得る。いくつかの例において、デバイスは、ノードとの通信の必要性が生じるときだけ、オーディオ・ネットワーク上のこのような他のノードを見つけ得る。要求ドリブン・アプローチは、接続される必要があるノードに対するルートを要求するだけで、ルーティング・テーブルのサイズを最小する。しかしながら、他の例において、デバイスは、あるアプリケーション層レベルですべてのノードと通信し得ないが、デバイスはオーディオ・ネットワーク全体のモニタを所望し得る。
デバイスは、ノード発見に対してDiscoInfoメッセージといった発見メッセージを用い得る。いくつかの例において、2つの異なる形式のDiscoInfoメッセージであり得る。クエリおよび応答である。DiscoInfoメッセージの形式は、メッセージにおけるフラグフィールドの状態によって区別され得る。クエリ形式のDiscoInfoメッセージは、オーディオ・ネットワーク上のノードを見つけ出し、メッセージを送達するものに関する情報を、受け取るオーディオ関連デバイスにパスするために用いられ得る。クエリ形式のDiscoInfoメッセージを用いるために、送達するものは、送達するもののネットワークの詳細とともに位置付けられようとするオーディオ関連デバイスのノード・アドレスを特定し得る。送達するものは、それから、メッセージをオーディオ・ネットワーク上にブロードキャストし得る。以下の表は、DiscoInfoメッセージのフォーマットおよび内容の例である。この表では、符号なしのロング・コンピュータ・データタイプが「ULONG」と表されている。
例えば、第1のノードおよび第2のノードは、ルータによって第3のノードに接続されていると仮定する。第3のノードは、第1のノードに接続し得る。第3のノードは、SetProxyState(On)メッセージといったプロキシ・イネイブル・メッセージを第1のノードに送達することによって、第1のノードをプロキシとしてセットし得る。第3のノードは、それから、(クエリ形式の)DiscoInfoメッセージを第1のノードに送達し得る。これに応答して、第1のノードは、その第1のノードのルーティング・テーブルにおいて第3のノードのノードIDおよびネットワーク・アドレスを保存し得る。第1のノードは、それから、オーディオ・ネットワーク上でクエリ形式のDiscoInfoメッセージをブロードキャストし得る。第1のノードによるこのブロードキャストは、第2のノードによって受け取られ得る。これに応答して、第2のノードは、その第2のノードのルーティング・テーブルにおいて第3のノードのノードIDおよびネットワーク・アドレスを保存し得る。
第2のノードは、ここで、第1ノードを介して第3のノードと通信し得る。第2のノードは、第1のノードのノードIDをネットワーク・アドレスとして用いて、応答形式のDiscoInfoメッセージを第3のノードに送達し得る。このメッセージは、第1のノードによって受け取られ得、第1のノードは、そのノードIDが第3のノードのノードIDである認識し得、それから、そのメッセージを第3のノードに転送する。第1のノードからメッセージを受け取ると、第3のノードは、そのメッセージが、プロキシを介してからルーティングされたことを認識し得る。例えば、第3のノードは、一致があるか否かを決定するためにメッセージを送達したノードのネットワーク・アドレスを、プロキシ・アドレスとアドレスと比較し得る。第3のノードは、それから、第1のノードのネットワーク・アドレスを有する第2のノードのノードIDを有してルーティング・テーブルにエントリし得る。いくつかの例において、エントリがまた、DiscoInfoメッセージから受け取られる第2のノードのネットワーク・アドレスを有する第3のルートのルーティング・テーブルにされ得る。
いくつかの例において、このシステムは、ファイアウォールの後ろにあるプライベート・オーディオ・ネットワークとして構成され得、または、システムは、Internetといった共有の公共のインフラを介してアクセス可能である。このような例において、仮想プレイベート・ネットワーク(「VPN」)が用いられ得る。VPNは、2つのネットワークの間、またはホストとネットワークの間にトンネルを作成し得る。VPNはまた、認証および/または暗号化サービスを提供し得る。例えば、ノードは、VPN用いて、Internet上のどこからでもアクセスされ得る。
いくつの例は、オーディオ・ネットワークに結合しているノードが当該の他のデバイスによって見逃されている可能性を減らすためにフェールセーフ・ノード発見を含み得る。デバイスは、DiscoFailsafeメッセージといった発見メッセージを、ある間隔で(例えば、1分毎に)オーディオ・ネットワークにブロードキャストし得る。ルーティング・テーブルに関して後述されるように、シリアル・ナンバーは、ノード・アドレスによって示されるノードを一意に識別し得る。受け取られる各DiscoInfo応答メッセージに対して、デバイスは、DiscoFailsafeメッセージのソースによって示されるノードIDへのルートに対してルーティング・テーブルを検索し得る。各識別されたルートに対して、シリアル・ナンバーは、DiscoFailsafeメッセージにおけるシリアル・ナンバーと比較され得る。シリアル・ナンバーが一致しないとき、報告され得るアドレス衝突があり得る。シリアル・ナンバーが一致するとき、DiscoInfoメッセージからの情報が、ルーティング・テーブルに加えられ得る。いくつかの例において、ノードは、1つ以上のデバイスが、フェールセーフ発見に、正確に応答していないか否かを決定するためにそのテーブルにおける重複ルートをチェックし得る。
オーディオ関連デバイス200は、オーディオ・ネットワーク上で引き続くデバイスの参加を追跡し得る。ルートが「タイム・アウト」し、無効と判断される前に、ルート上で許される最大の無活動期間を決定するためにキープ・アライブ期間(「KAP」)が提供され得る。例えば、デバイスに関連付けられたKAPは、250ミリ秒であり得る。いくつかの例において、ソース・デバイスは、送達されるDiscoInfoメッセージのそれぞれにKAPを配置することによって目的デバイスのKAPを特定し得る。例えば、接続が保障される際には、デバイスが送達した最後のDiscoInfo(応答)メッセージの後に、そのデバイスはKAP期間内にDiscoInfoメッセージを送達し得る。目的デバイスが、KAPのタイムフレーム内でメッセージを受け取らないとき、目的デバイスはルートをタイム・アウトし得る。
オーディオ・ネットワーク上の各デバイスは、ルーティング・テーブルをインプリメントし、維持し得る。ルーティング・テーブルは、ノード間のデータ・パスを選択するために用いられ得る。ルーティング・テーブルは、オーディオ・ネットワーク上の他のデバイスへのルートのリスト、および他のデバイスへメッセージを送達するために必要とされるネットワーク情報を格納し得る。いくつかの例において、そのテーブルは、少なくとも20のルートおよび最低10の他のデバイスを収容し得る。
いくつかの例において、ルーティング・テーブルは、以下のコンポーネントを包含し得る。以下のコンポーネントはノード・アドレス、シリアル・ナンバー、最大メッセージ・サイズ、ネットワーク・インターフェース、ネットワーク・アドレス、およびコストである。ノード・アドレス・コンポーネントは、ルーティング・テーブルにおいてエントリがされるリモート・デバイスを識別し得る。リモート・ノードが、(マルチ・ホームの)1つより多いネットワーク・インターフェースを有するとき、デバイスに対するそのテーブルにおいていくつかのエントリがあり得、1つのエントリは各ネットワーク・インターフェースに対してである。このような場合には、各ルートは、同一のノード・アドレスを有し得る。ルーティング・テーブルのシリアル・ナンバー・コンポーネントは、ノード・アドレスによって示されるデバイスを一意に識別し得る。最大メッセージ・サイズ・コンポーネントは、ルーティング・テーブルにおけるエントリに関連したデバイスを通過し得るメッセージの最大サイズを記述し得る。ネットワーク・インターフェース・コンポーネントは、デバイスによって用いられるネットワーク・インターフェースのタイプを記述し得る。先述されるように、デバイスが、複数のネットワーク・インターフェースを有するとき、そのデバイスは、ルーティング・テーブルにおいて1つより多いエントリを有し得る。ネットワーク・アドレス・コンポーネントがデバイスに関連したネットワーク・アドレスを記述するために用いられ得る。コスト・コンポーネントは、ルートに対するトランジット時間を表し得る。ノードが一般的に、最小費用のデータ・パスを介してデータをルーティングする一方で、他の要因が、選択されたルートに影響を及ぼし得る。例えば、ノード間の通信帯域幅は、ルートを決定する際の要因であり得る。例えば、Ethernet(登録商標)に関連したコストは、「1」であり得、一方、USBは、「10」コストを有し得、RS232は、「100」コストを有し得る。
VII.プロトコル
図14は、このシステムのネットワーク・プロトコルにおいて用いられ得る構造を示すブロック図である。ヘッダー情報は、バージョン、長さ、ソース・アドレス、目的アドレス、メッセージID、フラグ、カウント、および、シーケンス・ナンバーを含み得る。バージョンは、プロトコルのバージョンを示し得る。長さは、ヘッダーおよびメッセージの長さを示すために用いられ得る。ソース・アドレスおよび目的アドレスは、メッセージの送達元および目的地を示すために用いられ得る。
図14は、このシステムのネットワーク・プロトコルにおいて用いられ得る構造を示すブロック図である。ヘッダー情報は、バージョン、長さ、ソース・アドレス、目的アドレス、メッセージID、フラグ、カウント、および、シーケンス・ナンバーを含み得る。バージョンは、プロトコルのバージョンを示し得る。長さは、ヘッダーおよびメッセージの長さを示すために用いられ得る。ソース・アドレスおよび目的アドレスは、メッセージの送達元および目的地を示すために用いられ得る。
これらのアドレスは、送達元および目的デバイスのノード、仮想デバイスおよびオブジェクトに関する情報を包含し得る。例えば、ソースおよび目的アドレスが48ビットであるとき、0〜23番目のビットは、オブジェクトのタイプを示すために用いられ得、23〜31番目のビットは、仮想デバイスのタイプを示すために用いられ得、31〜47番目のビットは、ノード・アドレスを示し得る。メッセージIDは、存在するメッセージのタイプを示すために用いられ得る。
フラグは、メッセージが要求、返答、迷惑情報、または別の動作か否かを示すために用いられ得る。例えば、フラグは、要求認識、認識、エラー、エベント、保障された、またはマルチ・パート・メッセージを示し得る。例えば、フラグが要求認識であるとき、動作が完了されるまでは、返答は送達されない。例えば、要求認識フラグが、SVの値を変化する動作とともに用いられる。SV値が変化されると、認識フラグを有するメッセージが、それに応答して用いられ得る。連続する複数の動作が行われるべきいくつかの例において、認識フラグが受け取られるまで、各動作メッセージは送達されるために待機し得る。要求認識および認識フラグのこのような使用は、ネットワーク・トラフィックを減らすために用いられ得る。
ホップ・カウントは、送達メッセージに対するホップの数を示すために用いられ得る。シーケンス・ナンバーは、ネットワーク問題を解決するための診断補助として用いられ得る。例えば、シーケンス・ナンバーは、メッセージが送達される毎にインクリメントされ得る。
図14は、カウント、SV_ID、データ・タイプおよび値を含み得るSVメッセージの例を示す。SV_IDは、目的SVを示すために用いられ得る。データ・タイプは、SVデータのサイズおよびフォーマットを示し得る。例えば、データ・タイプは、値がバイト、ワード、フロート、ストリング、またはブロックか否かを示し得る。その値は、実際に転送されているSVデータを示すために用いられ得る。図15は、このシステムに用いられ得るアプリケーション層のメッセージの例を包含するテーブルである。図16は、このシステムに用いられ得るルーティング層のメッセージの例を包含するテーブルである。
VIII.オーディオ関連デバイスの発見
図17および図18は、オーディオ・ノード構造、従って、このシステムに用いられ得るオーディオ関連デバイスの機能性を発見するための方法の例を示すフローチャートである。ブロック1702では、GUIのコアは、オーディオ関連デバイスに送達された属性クエリに応答して、オーディオ関連デバイスであるノードからクラス属性を受け取り得る。GUIのコアは、ブロック1704で、クラス属性を含むオーディオ・ノード・クエリを用いてプロダクト・プラグインにクエリし得る。ブロック1706では、プロダクト・プラグインが、ノードのクラス属性を分析し、それを認識しないとき、ブロック1708で、システムにおいてさらなるプロダクト・プラグインがあるかどうかが決定される。さらなるプロダクト・プラグインがあるとき、動作は、ブロック1704に戻り、GUIのコアは、クラス属性を分析するために別のプロダクト・プラグインにクエリする。オーディオ・システムにおけるプロダクト・プラグインのいずれもが、ノードを認識しないとき、ノードは、ブロック1710で、ジェネリック・プラグインにパスされる(図19を参照して後述される)。
図17および図18は、オーディオ・ノード構造、従って、このシステムに用いられ得るオーディオ関連デバイスの機能性を発見するための方法の例を示すフローチャートである。ブロック1702では、GUIのコアは、オーディオ関連デバイスに送達された属性クエリに応答して、オーディオ関連デバイスであるノードからクラス属性を受け取り得る。GUIのコアは、ブロック1704で、クラス属性を含むオーディオ・ノード・クエリを用いてプロダクト・プラグインにクエリし得る。ブロック1706では、プロダクト・プラグインが、ノードのクラス属性を分析し、それを認識しないとき、ブロック1708で、システムにおいてさらなるプロダクト・プラグインがあるかどうかが決定される。さらなるプロダクト・プラグインがあるとき、動作は、ブロック1704に戻り、GUIのコアは、クラス属性を分析するために別のプロダクト・プラグインにクエリする。オーディオ・システムにおけるプロダクト・プラグインのいずれもが、ノードを認識しないとき、ノードは、ブロック1710で、ジェネリック・プラグインにパスされる(図19を参照して後述される)。
ブロック1706で、クエリされているプロダクト・プラグインが、ノードの属性を認識するとき、ブロック1716において、仮想デバイスのリストがオーディオ関連デバイスにおけるノード・マネージャ仮想デバイスから要求される。ブロック1718において、仮想デバイスが仮想デバイスのリストから選択される。ブロック1720において、仮想デバイスが既知であるか否かを決定するために、仮想デバイスが、プロダクト・プラグインによって、プロダクト・プラグインのライブラリ・ストレージに含まれている所定の仮想デバイスと比較される。仮想デバイスが、ライブラリ・ストレージに存在するとき、ブロック1722で、仮想デバイスが構成可能であるかどうかが決定される。仮想デバイスに含まれているオブジェクトおよびSVがすべて既知であるので、仮想デバイスが構成可能でないとき、ブロック1724で、プロダクト・プラグインは、オーディオ関連デバイスからSVの実際の値を取得し得る。ブロック1726において、仮想デバイスが既知である表示およびオーディオ関連デバイスのオーディオ・ノード構造のその部分がノード構造ストレージに格納され得る。対応するSVの実際の値は、ブロック1728で、コントロール・パネル・データ・ストレージに格納され得る。ブロック1730で、すべての仮想デバイスが既知であるかどうかを確かめるために、仮想デバイスのリストに含まれているすべての仮想デバイスがチェックされたかどうか決定される。チェックされていないとき、動作はブロック1718に戻り、別の仮想デバイスを分析し、決定するためにその別の仮想デバイスを選択する。仮想デバイスのリストにおけるすべての仮想デバイスがチェックされているとき、動作はブロック1732で終了する。
再びブロック1720を参照して、プロダクト・プラグインが、仮想デバイスを認識しないとき、他のプロダクト・プラグインは、ブロック1736で、仮想デバイスの知識に対してクエリされ得る。他のプロダクト・プラグインのクエリが、プラグイン・サーチ・エンジン、またはそのプロダクト・プラグインを用いて行われ得る。仮想デバイスが、別のプロダクト・プラグインによって既知であるとき、ブロック1738で、仮想デバイスが取り出され、ライブラリ・ストレージに格納され得、動作はその仮想デバイスが構成可能であるかどうかを決定するために、ブロック1722に続く。仮想デバイスが、別のプロダクト・プラグインによって既知でないとき、仮想デバイスを記述する詳細なオーディオ・ノード構造属性が、ブロック1740で、オーディオ関連デバイスから取り出され得る。仮想デバイスの詳細なオーディオ・ノード構造属性が、発見エンジンによってオーディオ関連デバイスから取り出され得る。ブロック1742において、仮想デバイスの詳細なオーディオ・ノード構造属性が、ノード構造ストレージに格納され得る。
動作は、図18に続く。そこで、未知の仮想デバイスが含まれているオブジェクトのリストが、ブロック1744において、オーディオ関連デバイスから取得され得る。同様に、ブロック1722(図17)において、仮想デバイスが構成可能であるとき、構成可能な仮想デバイスに含まれているオブジェクトのリストが、ブロック1744において、オーディオ関連デバイスから取得され得る。オブジェクトのリストが、プロダクト・プラグイン、または発見エンジンによって取得され得る。
ブロック1746において、オブジェクトがオブジェクトのリストから選択される。選択されたオブジェクトが、プロダクト・プラグインのライブラリ・ストレージに存在しているかどうかが決定され、ブロック1747で、既知であるかどうかが決定される。オブジェクトが既知であるとき、オブジェクトに含まれているSVの実際の値がブロック1748で、取得され得る。SVの実際の値が取り出しエンジンによって取得され得る。ブロック1750において、オブジェクトが既知である表示およびその対応するオーディオ・ノード構造がノード構造ストレージに格納され得る。ブロック1752において、SVの実際の値が、コントロール・パネル・データ・ストレージに格納され得る。オブジェクトが、ブロック1754において、既知であるとき、仮想デバイスにおけるすべてのオブジェクトがチェックされたかどうかが決定される。すべてのオブジェクトがチェックされていたとき、ブロック1756において、仮想デバイスにおけるオブジェクトに含まれていないSVがあるかどうかが決定される。オブジェクトに含まれていないSVがあるとき、ブロック1758において、オブジェクトに含まれていないSVのリストがオーディオ関連デバイスから取得され、動作が、後述されるように、SVを選択し、SVが既知であるかどうかをチェックするためにブロック1772に進む。オブジェクトに含まれていないSVであって、仮想デバイスに含まれているそのSVがないとき、動作が、すべての仮想デバイスがチェックされたかどうかを決定するために図17のブロック1730に戻る。ブロック1754で、仮想デバイスにおけるすべてのオブジェクトがチェックされていないとき、動作は、オブジェクトのリストから別のオブジェクトを選択するためにブロック1746に戻る。
ブロック1747で、オブジェクトが未知であるとき、他のプロダクト・プラグインが、ブロック1760で、オブジェクトの知識に対してクエリされ得る。他のプロダクト・プラグインのクエリは、プラグイン・サーチ・エンジン、またはプロダクト・プラグインを用いて行われ得る。オブジェクトが、別のプロダクト・プラグインによって既知であるとき、オブジェクトは、ブロック1762で、取り出され、ライブラリ・ストレージに格納され得、動作が、SVに対する実際の値を取得するためにブロック1748に続く。ブロック1760において、オブジェクトが、別のプロダクト・プラグインによって既知でないとき、オブジェクトを記述する詳細なオーディオ・ノード構造属性が、ブロック1764で、オーディオ関連デバイスから取り出される。オブジェクトの詳細なオーディオ・ノード構造属性が、発見エンジンによってオーディオ関連デバイスから取り出され得る。ブロック1766において、オブジェクトの詳細なオーディオ・ノード構造属性は、ノード構造ストレージに格納され得る。
ブロック1768において、未知のオブジェクトおよび/または仮想デバイスに含まれているSVのリストが、オーディオ関連デバイスから取得され得る。ブロック1770において、SVの1つが、SVのリストから選択される。ブロック1722に おいて、SVがライブラリ・ストレージに格納されているかどうか、従って、既知であるかどうかが決定される。SVが既知であるとき、SVの実際の値が、ブロック1744で、オーディオ関連デバイスから取得される。ブロック1776において、SVが既知である表示およびその対応するオーディオ・ノード構造がノード構造ストレージに格納され得る。加えて、ブロック1778で、SVの実際の値がコントロール・パネル・データ・ストレージに格納される。ブロック1780において、すべてのSVが既知であるかどうかを決定するために、SVのリストにおけるそれらのすべてのSVがチェックされたかどうかが決定される。すべてのSVがチェックされていないとき、動作は、オーディオ関連デバイスから取得されたSVのリストから別のSVを選択するためにブロック1770に戻る。オブジェクトにおけるSVのすべてがチェックされているとき、動作は、仮想デバイスにおけるオブジェクトがチェックされたかどうかをチェックするためにブロック1754に戻る。
ブロック1772において、SVが、プロダクト・プラグインによって既知でないとき、SVが、ブロック1782において、別のプロダクト・プラグインによって既知であるかどうかが決定される。他のプロダクト・プラグインのクエリは、プラグイン・サーチ・エンジン、またはプロダクト・プラグインを用いて行われ得る。別のプロダクト・プラグインによって既知であるとき、SVは、ブロック1784において、別のプロダクト・プラグインから取り出され、ライブラリ・ストレージに格納され、動作は、オーディオ関連デバイスからSVの実際の値を取り出すためにブロック1744に続く。SVが、別のプロダクト・プラグインによって既知でないとき、SVを記述する詳細なオーディオ・ノード構造属性が、ブロック1786において、オーディオ関連デバイスから取り出され、動作が、ノード構造ストレージにSVを格納するためにブロック1776に続く。SVの詳細なオーディオ・ノード構造属性が、発見エンジンによって、オーディオ関連デバイスから取り出され得る。
オーディオ関連デバイスのオーディオ・ノード構造における各SV、オブジェクトおよび仮想デバイス、または未知のSV、オブジェクトおよび仮想デバイスの詳細なオーディオ・ノード構造属性が、ノード構造ストレージに格納されるまで、処理は継続し得る。あるいは、制限さえた能力を有する「薄い」PEMの場合には、オーディオ・ノード構造または詳細な属性のより小さい部分が、いつでもノード構造ストレージに格納され得、追加的なオーディオ・ノード構造または詳細な属性が、必要に応じて格納され得る。
再度、図17のブロック1710を参照して、ノードのクラス属性が、プロダクト・プラグインのいずれによっても認識されないとき、ノードはジェネリック・プラグインにパスされる。図19では、ブロック1902において、ジェネリック・プラグインの取り出しエンジンは、ノード・クエリに応答して仮想デバイスのリストを受け取る。ブロック1904では、仮想デバイスが、仮想デバイスのリストから選択される。プラグイン・サーチ・エンジンが、ブロック1906において、選択された仮想デバイスの知識に対してプロダクト・プラグインにクエリするために有効にされ得る。あるいは、取り出しエンジンは、他のプロダクト・プラグインにクエリし得る。仮想デバイスがプロダクト・プラグインによって既知であり、構成可能でないとき(ブロック1908)、仮想デバイスのSVの実際の値がブロック1910で取得される。仮想デバイスが既知である表示おひびその対応するオーディオ・ノード構造が、ブロック1912において、ノード格納ストレージに格納され得る。仮想デバイス内のSVの実際の値が、ブロック1914において、コントロール・パネル・データ・ストレージに格納され得る。ブロック1916では、すべての仮想デバイスがチェックされたかどうかが決定され、チェックされているとき、動作がブロック1918で終了する。すべての仮想デバイスがチェックされていないとき、動作が1904に戻り、リストから別の仮想デバイスを選択する。ブロック1906において、仮想デバイスが未知であるとき、詳細な属性がブロック1928で要求され、ブロック1930で、ノード構造ストレージに格納され得る。
ブロック1932において、未知の仮想デバイスにおけるオブジェクトのリストが取得される。同様に、ブロック1908において、仮想デバイスが構成可能であるとき、動作は、構成可能であるデバイスにおけるオブジェクトのリストを要求するためにブロック1932に進む。ブロック1934において、オブジェクトがリストから選択され、ブロック1936において、選択されたオブジェクトが、プロダクト・プラグインのいずれかによって既知であるかどうかが決定される。オブジェクトが既知であるとき、オブジェクトに含まれているSVの実際の値が、ブロック1938で取得される。オブジェクトが既知である表示およびその対応するオーディオ・ノード構造が、ブロック1940において、ノード構造ストレージに格納される。ブロック1942では、オブジェクトに関連するSVの実際の値が、オーディオ関連デバイスから取得され、コントロール・パネル・データ・ストレージに格納され得る。ブロック1944で、オブジェクトのすべてがチェックされたかどうかが決定される。すべてのオブジェクトがチェックされていないとき、動作はブロック1934に戻り、すべてのオブジェクトがチェックされているとき、ブロック1946でオブジェクトに含まれていない仮想デバイスにSVがあるかどうかが決定される。SVがないとき、動作は、リストにおけるすべての仮想デバイスがチェックされたかどうかを決定するためにブロック1918に戻る。このようなSVがあるとき、動作は、後述されるように、SVを取得するためにブロック1966に進む。
ブロック1936において、オブジェクトが既知でないとき、オブジェクトの詳細な属性が、ブロック1960で取得され、ブロック1962でノード構造ストレージに格納され得る。未知のオブジェクトのSVのリストがブロック1964で取得され、リストにおけるSVの1つが、ブロック1966で選択される。ブロック1968において、SVが、プロダクト・プラグインの1つによって認識されているかどうかが決定される。SVが既知であるとき、SVの実際の値が、ブロック1970でプロダクト・プラグインから取り出される。ブロック1972において、既知である表示およびオーディオ・ノード構造のその部分がノード構造ストレージに格納される。ブロック1974において、SVの実際の値が受け取られ、ブロック1976において、SVの実際の値が、コントロール・パネル・データ・ストレージに格納される。
ブロック1978において、すべてのSVがチェックされたかどうかが決定される。すべてのSVがチェックされていないとき、動作は、別のSVを取得するためにブロック1966に戻る。SVのすべてがチェックされているとき、動作は、すべてのオブジェクトがチェックされたかどうかを決定するためにブロック1944に戻る。ブロック1968において、SVが既知でないとき、SVの詳細な属性がブロック1980で取得され、動作は、ブロック1972に続く。そこでは、SVの詳細な属性がノード構造ストレージに格納される。動作は、オーディオ・ノード構造が、既知であると識別されるか、またはさらなる発見が、オーディオ・ノード構造における未知のコンポーネントを決定するために行われるまで継続する。
IX.コントロール・パネル・ディスプレイ
図20は、PEMの能力が変化し得るとき、プロダクト属性を発見するためにシステムにおいて用いられ得る方法を示すフローチャートである。例えば、PEMは、そのディスプレイ上で、格納されている所定のGUIのコントロール・パネル・ビュー全体を表示することができないデバイス上に常駐し得る。別の例として、デバイスは、制限された処理能力を有し得、従って、同時に、格納されている所定のGUIのコントロール・パネル・ビュー全体の表示することを用意することは所望されないかもしれない。その代わりに、GUIのコントロール・パネル・ビューは、例えば、ユーザのコマンドに基づいて、必要に応じて生成され得る。従って、デバイス処理能力およびディスプレイのサイズのさまざまなレベルのスケーラビリティがサポートされ得る。これはまた、図4を参照して記述されるように、「薄いアプリケーション層」と呼ばれる。
図20は、PEMの能力が変化し得るとき、プロダクト属性を発見するためにシステムにおいて用いられ得る方法を示すフローチャートである。例えば、PEMは、そのディスプレイ上で、格納されている所定のGUIのコントロール・パネル・ビュー全体を表示することができないデバイス上に常駐し得る。別の例として、デバイスは、制限された処理能力を有し得、従って、同時に、格納されている所定のGUIのコントロール・パネル・ビュー全体の表示することを用意することは所望されないかもしれない。その代わりに、GUIのコントロール・パネル・ビューは、例えば、ユーザのコマンドに基づいて、必要に応じて生成され得る。従って、デバイス処理能力およびディスプレイのサイズのさまざまなレベルのスケーラビリティがサポートされ得る。これはまた、図4を参照して記述されるように、「薄いアプリケーション層」と呼ばれる。
図20では、ブロック2002において、特定のオーディオ関連デバイスのオーディオ・ノード構造のすべてがチェックされたかどうか、およびオーディオ・ノード構造の表示が、ノード構造ストレージに格納されているか否かが決定される。オーディオ・ノード構造のすべてがチェックされていないとき、動作はこのことが起きたかどうかを決定するために継続する。ノード構造ストレージが、オーディオ・ノード構造全体に対する表示を包含するとき、PEMが常駐するデバイスが、ブロック2004で、デバイス・ディスプレイ能力を決定するためにチェックされる。ブロック2006において、1つ以上の格納されている所定のコントロール・パネル・ビューが、オーディオ関連デバイスのオーディオ・ノー構造に対して存在するかどうかが決定される。
コントロール・パネル・ビューが存在するとき、格納されているコントロール・パネル・ビューが、ブロック2008で、表示デバイスの能力と互換性があるかどうかが決定される。ブロック2010において、コントロール・パネル・ビューに含まれているオーディオ関連デバイスのコンポーネントの機能性のすべてが、所定のコントロール・パネル・ビューによってサポートされているかどうかが決定される。それがサポートされているとき、ディスプレイがブロック2012でインスタンス化される。ブロック2014において、コントロール・パネル・ビューに含まれているSVの実際の値がコントロール・パネル・データ・ストレージから加えられる。インスタンス化されたコントロール・パネル・ビューが、ブロック2016において、表示のために格納され得る。表示デバイスの能力に基づいて、オーディオ・ノード構造のさらなるコントロール・パネル・ビューが、ブロック2018でインスタンス化されるべきか否かが決定される。これ以上のコントロール・ビューがインスタンス化されないとき、動作はブロック2020で終了する。さらなるコントロール・ビューがインスタンス化されるとき、動作は、ブロック2006に戻り、オーディオ関連デバイスのオーディオ・ノード構造に関連した別のコントロール・ビューをチェックする。
ブロック2006に戻り、コントロール・ビューがオーディオ関連デバイスのオーディオ・ノード構造に対して存在しないとき、ジェネリック・プラグインは、ブロック2030で有効にされ得る。ブロック2032において、ジェネリック・プラグインは、ノード構造ストレージに格納されているオーディオ・ノード構造に基づいてジェネリック・コントロール・パネル・ビューを作成し得、動作が、ジェネリック・コントロール・パネル・ビューのディスプレイをインスタンス化するためにブロック2012に進む。ブロック2010に戻って、オーディオ・ノード構造の一部を表しているすべてのコンポーネントが、所定のコントロール・パネル・ビューにおいてサポートされていないとき、サポートされていないコンポーネントに対応する所定のGUIのアスペクトが、ブロック2036で、プロダクト・プラグインに格納されているかどうかが決定される。格納されている所定のGUIのアスペクトが、プロダクト・プラグインに存在するとき、GUIのアスペクトが、ブロック2038で取り出される。ブロック2040において、取り出されたGUIのアスペクトは、格納されている所定のコントロール・パネル・ビューに統合される。統合されたGUIのアスペクトを含む所定のコントロール・パネル・ビューは、ブロック2042において、オーディオ・デバイスのオーディオ・ノード構造に対応する新しい所定のコントロール・パネル・ビューとして格納され得る。
ブロック2044において、格納されている所定のコントロール・パネル・ビューによってサポートされていないオーディオ・ノード構造のさらなるコンポーネントあるかどうかが決定される。サポートされていないオーディオ・ノード構造のさらなるコンポーネントがあるとき、動作は、格納されている所定のGUIのアスペクトをチェックするためにブロック2036に戻る。オーディオ・ノード構造のさらなるコンポーネントがないとき、動作は、ブロック2012に進み、ディスプレイをインスタンス化する。
再度、ブロック2008を参照して、格納されている所定のコントロール・パネル・ビューが、ディスプレイを駆動するデバイスの能力と互換性がないとき、ブロック2050において、コンポーネントが、互換性があるオーディオ・ノード構造から選択され得る。それから、動作は、GUIのアスペクトを取り出すためにブロック2036に続く。再度、ブロック2036を参照して、GUIのアスペクトがあらかじめ決定されておらず、プロダクト・プラグインに格納されていないとき、他のプロダクト・プラグインが、ブロック2052で、コントロール・パネル・ビューから欠けている機能性を表している格納されているGUIのアスペクトの存在に対してチェックされ得る。GUIのアスペクトがあらかじめ決定されており、別のプロダクト・プラグインに格納されているとき、動作は、格納されている所定のGUIのアスペクトを取り出し、処理するためにブロック2038に戻る。GUIのアスペクトが他のいずれのプロダクト・プラグインに格納されていないとき、ジェネリック・プロダクトインが、ブロック2054で有効にされ得る。ブロック2056において、ジェネリック・プラグインは、ジェネリックGUIのアスペクトを生成し得、動作は、GUIのアスペクトを格納されている所定のコントロール・パネル・ビューに加えるためにブロック2040において継続する。デバイスの能力に左右されて、動作はオーディオ関連デバイス機能性が1つ以上のコントロール・パネル・ビューにインスタンス化されるまで継続する。
図21は、PEMの能力が変化し得るとき、プロダクト属性を発見するために、このシステムに用いられ得る方法の別の例のフローチャートである。この例において、PEMは、オーディオ関連デバイスの完全なる制御のためのすべてデータを包含する。仮想デバイスのリストがオーディオ関連デバイスから受け取られるとき、動作はブロック2102から始まる。ブロック2010において、PEMが動作しているデバイスは、デバイスが、仮想デバイス全体のリストを表示することが可能であるか否かがチェックされる。デバイスが、すべての仮想デバイスのリストを表示することが可能であるとき、仮想デバイス全体のリストが、ブロック2106で取得される。ブロック2108においいて、リストにおける仮想デバイスのすべてが表示される。ブロック2104において、デバイスが、すべての仮想デバイスを表示することが可能でないとき、表示され得る仮想デバイスの一部が、ブロック2110で取得され、ブロック2112で表示される。ブロック2114において、ユーザが他の仮想デバイスを見ることを所望するとき、現在見られている仮想デバイスが、ブロック2116で処分され得、動作は、さらなる仮想デバイスを取得し、表示するためにブロック2110に戻る。例えば、ユーザは、すべての仮想デバイスをレビューするためにデバイス上の「ページ・ダウン」ボタンを選択することによって他のデバイスを見得る。
さらなる仮想デバイスが、ブロック2114において、見られないとき、ブロック2120で、ユーザが、表示されている特定の仮想デバイスに関してさらなる情報を取得することを所望するかどうかが決定される。例えば、ユーザは、オーディオ・ノード構造おけるにオブジェクトであるコントロール・パネル・ビューの一部をクリックし得る。ユーザがクリックしないとき、動作は、ブロック2122で終了する。さらなる情報が所望されるとき、オーディオ関連デバイスに対するオブジェクトのリストが、ブロック2124で要求され得る。
ブロック2126において、PEMが常駐しているデバイスが、オブジェクト全体のリストを表示することが可能であるとき、オブジェクトのリスト全体が、ブロック2128で、取得され得る。取得されたリスト上のオブジェクトが、ブロック2130で表示され得る。ブロック2126において、デバイスがオブジェクトのリスト全体を表示することが可能でないとき、オブジェクトの一部だけが、ブロック2132で取得され、ブロック2134で表示される。仮想デバイスに関して先述されるように、ユーザが、ブロック2136でオブジェクトのリストをスクロールすることを所望するかどうかが決定される。ユーザがスクロールすることを所望するとき、ブロック2138で、現在見られているオブジェクトが処分され、動作がブロック2132に戻る。そこでは、さらなるオブジェクトが取得され、表示される。
図22を参照して、ブロック2140では、ユーザがオブジェクトに対するSVの実際の値をレビューすることを所望するかどうかが決定さえる(図22は、図21のパスCおよびDから継続しているフローチャート図21の続きである)。ユーザがレビューすることを所望しないとき、動作は、ブロック2142で終了する。ユーザがSVをレビューすることを所望するとき、SVのリストが、ブロック2144で要求され、取得される。ブロック2146では、取得されたリスト上のすべてのSVが表示され得るかどうかが決定される。デバイスが、SVのリスト全体を表示することが可能であるとき、リスト全体が、ブロック2148で取得され、ブロック2150で表示される。それ以外の場合には、SVの一部がブロック2152で取得され、ブロック2154で表示される。ブロック2156において、リストからさらなるSVが所望されるかどうかが決定される。所望されないとき、動作は、ブロック2158で終了する。さらなる所望されるSVがあるとき、ユーザは、SVをスクロールし得る。現在表示されているSVが、ブロック2160で処分される。動作は、それから、さらなるSVを取得し、表示するためにブロック2152に戻る。
図23は、(図8および図9に示される)ノード・インスタンス化エンジンの動作の例を示すフローチャートである。プロダクト・プラグインが、ブロック2302において、オーディオ・ノード構造に対応する格納されている所定のコントロール・パネル・ビューを有するかどうかが決定される。プロダクト・プラグインが格納されている所定のコントロール・パネル・ビューを有するとき、所定のコントロール・パネル・ビューが、ブロック2304において、プロダクト・プラグインのコントロール・パネル・ライブラリから選択される。対応するコントロール・パネル・ビューがないとき、コントロール・パネル・ビューが、ブロック2306において、ジェネリック・プラグインを用いて構築され得る。ノード構造のいずれかが、ブロック2308において、コントロール・パネル・ビューから欠けているかどうかが決定される。ノード構造のいずれかが欠けているとき、ブロック2310において、欠けている構造は、GUIのコアの発見エンジンを用いて充填される。ブロック2308において、コントロール・パネル・ビューからの構造が完了するとき、ノード・インスタンス化エンジンは、ブロック2312において、コントロール・パネル・ビューにおけるSVの1つ以上へのサブスクリプションをセットアップし得る。
ブロック2314において、ノード・インスタンス化エンジンは、コントロール・パネル・ビューにおけるSVのリンク・マネージャに通知し得る。ブロック2316において、表示デバイスが、さらなるオーディオ・ノード構造を格納し、かつ、コントロール・パネル・ビューをインスタンス化する能力を有するかどうかが決定される。表示デバイスが能力を有しないとき、動作はブロック2318で終了する。表示デバイスが、追加的な能力を有するとき、ブロック2320において、インスタンス化されていないさらなるオーディオ・ノード構造があるかどうかが決定される。さらなるオーディオ・ノード構造がないとき、動作は、ブロック2318で終了する。コントロール・パネル・ビューにおいてインスタンス化されるさらなるオーディオ・ノード構造があるとき、動作は、残りのオーディオ・ノード構造のコントロール・パネル・ビューの1つ以上の層がインスタンス化され、格納され得るようにブロック2302に戻る。
X.リンク・マネージャ
図24は、このシステムに用いられ得るリンク・マネージャのフローチャートである。SVが変化するとき、すべての関連したコントロール・パネル・ビューおよびデバイスが、SVの新しい値を有してアップデータされるように、この方法が用いられ得る。コントロール・パネル・ビューにおけるSVの値が変化するとき(ブロック2402)、この新しいSV値は、プロダクト・プラグインに送達され得る(ブロック2404)。プロダクト・プラグインは、ブロック2406に示されるように、対応するコントロール・パネル・ビューにおいてSVの値をアップデートし得る。リンク・マネージャはまた、SV値がブロック2408に示されるように変化したことを通知され得る。リンク・マネージャは、コントロール・パネル・ビューが、変化されたSVにサブスクライブされているか否かを決定し得る(ブロック2410)。SVとコントロール・パネル・ビューとの間でサブスクリプションが存在するとき、リンク・マネージャは、変化されたSVに関連したコントロール・パネル・ビューのそれぞれに注意を促し得る(ブロック2412)。注意を促されたコントロール・パネル・ビューは、それから、SVの新しい値を決定するためにプロダクト・プラグインまたは別のデバイスにクエリし得る(ブロック2414)。リンク・マネージャはまた、いずれかのデバイスが、変化されたSVにサブスクライブしているか否かを決定し得る(ブロック2416)。SVとデバイスとの間でサブスクリプションが存在するとき、リンク・マネージャは、変化されたSVに関連したデバイスのそれぞれに注意を促し得る(ブロック2418)。注意を促されたコントロール・パネル・ビューは、それから、SVの新しい値を決定するためにプロダクト・プラグインまたは別のデバイスにクエリし得る(ブロック2420)。
図24は、このシステムに用いられ得るリンク・マネージャのフローチャートである。SVが変化するとき、すべての関連したコントロール・パネル・ビューおよびデバイスが、SVの新しい値を有してアップデータされるように、この方法が用いられ得る。コントロール・パネル・ビューにおけるSVの値が変化するとき(ブロック2402)、この新しいSV値は、プロダクト・プラグインに送達され得る(ブロック2404)。プロダクト・プラグインは、ブロック2406に示されるように、対応するコントロール・パネル・ビューにおいてSVの値をアップデートし得る。リンク・マネージャはまた、SV値がブロック2408に示されるように変化したことを通知され得る。リンク・マネージャは、コントロール・パネル・ビューが、変化されたSVにサブスクライブされているか否かを決定し得る(ブロック2410)。SVとコントロール・パネル・ビューとの間でサブスクリプションが存在するとき、リンク・マネージャは、変化されたSVに関連したコントロール・パネル・ビューのそれぞれに注意を促し得る(ブロック2412)。注意を促されたコントロール・パネル・ビューは、それから、SVの新しい値を決定するためにプロダクト・プラグインまたは別のデバイスにクエリし得る(ブロック2414)。リンク・マネージャはまた、いずれかのデバイスが、変化されたSVにサブスクライブしているか否かを決定し得る(ブロック2416)。SVとデバイスとの間でサブスクリプションが存在するとき、リンク・マネージャは、変化されたSVに関連したデバイスのそれぞれに注意を促し得る(ブロック2418)。注意を促されたコントロール・パネル・ビューは、それから、SVの新しい値を決定するためにプロダクト・プラグインまたは別のデバイスにクエリし得る(ブロック2420)。
XI.サブスクリプション
図25は、デバイス間のサブスクリプションが、1つ以上の他のオーディオ関連デバイスを用いて1つ以上のオーディオ関連デバイスにおけるパラメータをモニタおよび/または制御するように用いられ得る方法を示すブロック図である。サブスクリプションは、先述されるように1つ以上のサブスクライブするものに、SVの値における変化を通知するために用いられ得る。加えて、サブスクリプションは、1つ以上のデバイスにおけるSVの値の変化を指示するために用いられ得る。さらに、モニタおよび制御するためにサブスクリプションの組み合わせが、オーディオ関連デバイス間でセットアップされ得る。図25に示される例は、第1のオーディオ関連デバイス2502、第2のオーディオ関連デバイス2504、および第3のオーディオ関連デバイス2506を含む。
図25は、デバイス間のサブスクリプションが、1つ以上の他のオーディオ関連デバイスを用いて1つ以上のオーディオ関連デバイスにおけるパラメータをモニタおよび/または制御するように用いられ得る方法を示すブロック図である。サブスクリプションは、先述されるように1つ以上のサブスクライブするものに、SVの値における変化を通知するために用いられ得る。加えて、サブスクリプションは、1つ以上のデバイスにおけるSVの値の変化を指示するために用いられ得る。さらに、モニタおよび制御するためにサブスクリプションの組み合わせが、オーディオ関連デバイス間でセットアップされ得る。図25に示される例は、第1のオーディオ関連デバイス2502、第2のオーディオ関連デバイス2504、および第3のオーディオ関連デバイス2506を含む。
第2のオーディオ関連デバイス2504は、第1のオーディオ関連デバイス2502とサブスクライブ・ストリングをセットアップする。サブスクライブ・ストリングは、図15に示されるようなSVSubscribeStringメッセージといったサブスクリプション・メッセージ2508を用いてセットアップされ得る。人間読み取り可能ストリングが、サブスクリプション応答メッセージ2510に含まれ得る。SVSubscribeStringメッセージの例は、以下を含む。
サブスクライブ・ストリングが、第1のオーディオ関連デバイス2502における1つ以上のSVと、対応する1つ以上の第2のオーディオ関連デバイス2504におけるSVとの間でマッピングされ得る。サブスクライブ・ストリングは、サブスクリプションに基づいて提供されるデータが、ユーザによって容易に解読され得るフォーマット(人間読み取り可能フォーマット)であるサブスクリプションを要求し得る。従って、サブスクリプションに関連したSVの値が変化するとき、新しい値が、サブスクリプション応答メッセージ2510で、第2のオーディオ関連デバイス2504に送達され得る。新しい値が表示される前に、第2のオーディオ関連デバイス2504が、複数のデータ・タイプ間で変換することを必要されないように、その値は人間読み取り可能ストリングとして送達さえ得る。
第3のオーディオ関連デバイス2506は、サブスクリプション・メッセージ2512を用いて第1のオーディオ関連デバイス2502とサブスクリプションをセットアップし得る。サブスクリプション・メッセージは、値、または割合であるサブスクリプション応答を要求し得る。第3のオーディオ関連デバイス2506は、第1のオーディオ関連デバイス2502におけるサブスクライブされるもののSVのデータ・タイプを知っているとき、サブスクリプション・メッセージは、所定の条件に基づいて実際の値を要求し得る。第3のオーディオ関連デバイス2506のノード構造のコンポーネントが第1のオーディオ関連デバイス2502においてミラーされるとき、データ・タイプは知られていないかもしれない。第3のオーディオ関連デバイス2506は、サブスクライブされるもののSVのデータ・タイプを知らないとき、サブスクリプション・メッセージが、割合で要求され得る。
第1のオーディオ・デバイス2502がSVの値を送達するのではなく、0%から100%間で変化の割合が、サブスクリプション応答メッセージ2514として送達され得る。従って、ユニット特定の変数ではなくユニット特定の変数を表している割合が送達され、かつ、受け取られ得る。その割合に基づいて、第3のオーディオ関連デバイス2506が、識別された割合分、現存の値を調整し得る。あるいは、第3のオーディオ・デバイスは、その割合から実際の値を決定するために、その割合に対応する実際の値のレンジを有し得る。従って、第3のオーディオ・デバイスは、割合が用いられるとき、データ・タイプおよび/またはユニット値を知ることを必要としない。
図25において、第1のオーディオ関連デバイス2502は、サブスクライブ・メッセージ2514を用いて第3のオーディオ関連デバイス2506におけるSVの値をセットし得る。SVの値が、SVの実際の値を送達する、または割合を送達することによって変化され得る。しかしながら、オーディオ関連デバイスを割合を用いてセットする利点はサブスクライブするもののオーディオ関連デバイスが、データを送達するサブスクライブされるもののオーディオ関連デバイスデータ・タイプを知る必要がないことである。
この例のために、第2のオーディオ関連デバイス2504が、第1のオーディオ関連デバイス2502のSVに対してサブスクライブ・ストリングをセットアップすると仮定する。さらに、第3のオーディオ関連デバイス2506が、SVの値をセットするように構成されていると仮定する。このセットアップでは、第3のオーディオ関連デバイス2506からのSVのセットポイントが、人間読み取り可能形式で、変化されたSV値を有する第1のオーディオ関連デバイス2502から第2のオーディオ関連デバイス2504に出力を生成する。
第3のオーディオ関連デバイス2506および第2のオーディオ関連デバイス2504の双方は、SVのデータ・フォーマットを必ずしも知る必要はない。いくつかの状況において、第3のオーディオ関連デバイス2506は、SVのデータ・フォーマットまたはデータ・タイプを知り得る。このような場合において、第3のオーディオ関連デバイス2506は、変化された値をSVのデータ・フォーマットで、そのSVに特別に割り当て得る。しかしながら、他の例において、第3のオーディオ関連デバイス2506は、SVのデータ・フォーマットを知らないかもしれない。このような例において、第3のオーディオ関連デバイス2506は、第1のオーディオ関連デバイス2502のノード構造にクエリすることによって、SVのデータ・フォーマットを発見し得る。第1のオーディオ関連デバイスが、SVのデータ・フォーマットを決定することを試みるか否かは、第3のオーディオ関連デバイス2506の処理能力または他の要因に依存し得る。SVのデータ・フォーマットが第3のオーディオ関連デバイス2506に対して未知であるとき(および第3のオーディオ関連デバイス2506がデータ・フォーマットを決定できないとき)、第3のオーディオ関連デバイスは依然として、相対的な割合でSVの値をセットすることによってSVの値を変化し得る。
第3のオーディオ関連デバイス2506は、相対的な割合で第1のオーディオ関連デバイス2502にSVの値を変化するよう命令することによってそのSVの値をセットし得る。例えば、第3のオーディオ関連デバイス2506は、第1のオーディオ関連デバイスに、25%分、SVの値を増加するように命令し得る。この態様では、第3のオーディオ関連デバイス2506は、SVの値をセットするためにSVのデータ・フォーマットを知る必要はない。SVをセットする第3のオーディオ関連デバイス2506に応答して、第1のオーディオ関連デバイス2502は、人間読み取り可能ストリングを、フィードバック表示として第2のオーディオ関連デバイス2504に出力し得る。フィードバック表示の例は、その割合に応答して変化する出力である。人間読み取り可能ストリングは、第2のオーディオ関連デバイス2504によるさらなる処理を施すことなく、ユーザによって理解され得るので、第2のオーディオ関連デバイス2504は、SVのデータ・フォーマットを知ることなく、SVの変化された値をユーザに表示し、それ以外の場合には、伝え得る。あるいは、第2のオーディオ関連デバイス2504が、不フィードバック表示の所定のデータ・タイプを有するように構成されている際には、第1のオーディオ関連デバイス2502は、適切なユニットでフィードバック値を取得するために、第2のオーディオ関連デバイス2504によって処理される値を出力し得る。
先例は、第3のオーディオ関連デバイス2506におけるセットポイント制御入力SVであって、サブスクリプションを用いて、第1のオーディオ関連デバイス2502におけるセットポイントSVを変化するために用いられるセットポイント制御入力SVの点から記載されている。他の例において、サブスクリプションは、第3のオーディオ関連デバイス2506の動作パラメータSVであるモニタ値SVであって、第1のオーディオ関連デバイス2502を用いて表示されるように構成されているモニタ値SVを変化するために用いられ得る。
さらなる別の例において、サブスクリプションは、第1のオーディオ関連デバイスにおけるセットポイントSVにマッピングされている、およびセットポイントSVを調整するセットポイント制御入力SVであって、第3のオーディオ関連デバイスにおけるセットポイント制御入力SVを調整するように用いられ得る。加えて、セットポイントSVに応答する第1のオーディオ関連デバイス2502における動作パラメータSVは、第3のオーディオ関連デバイス2506におけるモニタ値SVにマッピングされ得る。従って、動作中に、第3のオーディオ関連デバイス2506は、第1のオーディオ関連デバイス2502のセットポイントSVを調整し、モニタ値SVを有する第1のオーディオ関連デバイスの出力(動作パラメータSV)をモニタし得る。先述されるように、動作パラメータSVはまた、第2のオーディオ関連デバイス2504にマッピングされ得る。
XII.薄いパフォーマンス機器マネージャ
図26は、オーディオ・ネットワーク120を有するオーディオ・システムにおいて用いられ得る能力ベースのPEM2600のブロック図である。能力ベースのPEM2602は、図5に示される「薄いアプリケーション層」のデバイスに対応し、図5に示されるPEMの例と同一のコンポーネントの多くを有する。従って、簡潔にするために、以下の記載は、図26の「薄い」PEMと図5の「厚い」PEMとの間の違いを中心とする。
図26は、オーディオ・ネットワーク120を有するオーディオ・システムにおいて用いられ得る能力ベースのPEM2600のブロック図である。能力ベースのPEM2602は、図5に示される「薄いアプリケーション層」のデバイスに対応し、図5に示されるPEMの例と同一のコンポーネントの多くを有する。従って、簡潔にするために、以下の記載は、図26の「薄い」PEMと図5の「厚い」PEMとの間の違いを中心とする。
ネットワーク・トラフィックの制約またはPEMが動作しているデバイスの能力のために、能力ベースのPEM2600は、制限された態様で動作するかもしれない。例えば、PEMが動作するデバイスの処理速度、メモリ・ストレージおよび/またはディスプレイ能力が、能力ベースのPEM2600の動作を制限し得る。先述されたように、ノードに対するすべての仮想デバイス、オブジェクトおよびSVに対するコントロール・パネル・ビューを、一度にインスタンス化するのではなく、オーディオ・ノード構造の異なる部分がユーザによって表示されるように要求されるので、能力ベースのPEM2600は1つずつそのようにし得る。ノード構造を発見し、かつ、対応するコントロール・パネル・ビューをインスタンス化する能力ベースのPEM2600の動作の例が、図20〜23を参照して先述された。
図26において、能力ベースのPEM2600は、ネットワーク・インターフェース2602、ノード分解能モジュール2604、システム・プラグイン・ノード・マネージャ2606、リンク・マネージャ発見マネージャ2608、発見エンジン2610およびリンク・マネージャ2612を含む。この図解された例において、この例の能力ベースのPEM2602の能力がプロダクト・プラグインを提供しないので、能力ベースのPEM2602は、プラグイン・ローダを含まないかもしれず、ジェネリック・プラグイン524とだけ通信し得る。加えて、未知のコンポーネントおよび/またはコントロール・パネル・ビューもしくはアスペクトを検索する他のプロダクト・プラグインがないので、ノード発見マネージャ2608は、属性要求エンジン2620だけ含む。
オーディオ関連デバイスの属性を要求すると、属性要求エンジンは、属性をジェネリック・プラグイン524にパスし得る。ジェネリック・プラグイン524は、オーディオ関連デバイスへの通信パスをセットアップするようにAPIインターフェースを有効にし、かつ、能力ベースのPEM2600が動作しているデバイスの能力に依存しているオーディオ関連デバイスのオーディオ・ノード構造のコンポーネントのいくらかの部分を要求するようにAPIインターフェースを有効にし得る。ジェネリック・プラグインは、オーディオ・ノード構造の部分に対して対応するコントロール・パネル・ビューを決定し、ディスプレイをインスタンス化し得る。さらなるオーディオ・ノード構造が、ユーザによって見られることを要求されるとき、現在のコントロール・パネル・ビューが処分され、さらなる情報が、別のコントロール・パネル・ビューの生成をサポートするようにオーディオ関連デバイスから要求され得る。あるいは、能力ベースのPEM2600は、十分な処理能力が利用可能なときには構築され得るコントロール・パネル・ビューのセットのサブセットを構築し得る。コントロール・パネル・ビューのサブセットは、能力ベースのPEM2600が動作しているデバイスの能力に依存して1つ以上のコントロール・パネル・ビューを含み得る。
能力ベースのPEM2600は、生成されるコントロール・パネル・ビューの複雑さを考慮し得る。ディスプレイおよび/または処理能力が制限されているとき、能力ベースのPEM2600は、比較的シンプルなGUIのアスペクトを含むコントロール・パネル・ビューを生成し得る。例えば、自動的に作成された三次元GUIのアスペクトが自動的に作成されない二次元ボックスに変換され得る。加えて、能力ベースのPEM2600は、表示デバイスの能力に基づいて、コントロール・パネル・ビューに含まれているエレメントの大きさおよび/または数を調整し得る。さらにコントロール・パネル・ビューを生成するためにオーディオ関連デバイスから取得されるオーディオ・ノード構造の量は、表示デバイスの能力に基づいて、能力ベースのPEM2600によって変化され得る。
先述されるように、このシステムは、種々の複雑さを持つ複数のオーディオ・コンポーネントを有するオーディオ・システムにおいて動作可能である。このシステムは、さまざまな物理ネットワークおよび通信プラットフォームのいずれかを用いて、種々の複雑さを有する複数の異なるオーディオ関連デバイスをシームレスに統合するネットワーク独立プロトコルを提供する。加えて、このシステムは、まだ既知でない特定のオーディオ関連デバイスのアスペクトを発見するメッセージング機能を提供することによって、システム内のオーディオ関連デバイスのアップグレード、変更、追加が可能である。このメッセー機能はまた、選択されたオーディオ関連デバイス間でオーディオデータおよび関連情報が効率的に、および最小のネットワーク・トラフィックで送達されることを可能にする。
PEMは、オーディオ関連デバイスのオーディオ・ノード構造が既知であるかどうかを決定し得る。オーディオ・ノード構造のいずれかの部分が未知であるとき、PEMは、未知の部分を定義するようにさらなる情報を取得し得る。加えて、PEMは、オーディオ・システム全体のコントロール・パネル・ビューを取り出しおよび/または生成し得る。さらに、PEMは、対応するオーディオ・ノード構造に基づいて、オーディオ・システム内の各特定のオーディオ関連デバイスに対してコントロール・パネル・ビューを取り出しおよび/または生成し得る。コントロール・パネル・ビューは、オーディオ・システム内のオーディオ関連デバイスの協調された管理、制御およびモニタを可能にする。このシステム内で用いられるに通信プロトコルは、デバイス・ツー・デバイス通信と同様に、パフォーマンス機器マネージャとオーディオ関連デバイス間の標準通信を可能にする。
本発明のさまざまな実施形態が記述されてきた一方で、本発明の範囲内において、より多くの実施形態およびインプリメンテーションが可能であることが当業者には明らかである。従って、本発明は、添付の請求項およびその均等物によってのみ制限される。
このシステムは、オーディオ・システムにおいてオーディオ関連デバイスをモニタおよび管理するために使用可能なコントロール・パネル・ビューをインスタンス化し得る。オーディオ関連デバイスに対応するプロダクト・プラグインは、オーディオ関連デバイスから受け取られたオーディオ・ノード構造を受け取り、かつ、分析し得る。プロダクト・プラグインは、1つ以上の所定のコントロール・パネル・ビューを格納するように構成されている。プロダクト・プラグイトはまた、コンポートネントに対応する所定のコントロール・パネル・ビューをインスタンス化するように構成されている。プロダクト・プラグインが、コンポーネントのすべてが表されていないと決定するとき、1つ以上のユーザ・インターフェースのアスペクトが、インスタンス化の前に1つ以上のコントロール・パネル・ビューに統合され得る。あるいは、ジェネリック・コントロール・パネル・ビューが生成され得る。
本発明は、図面および詳細を参照することにより、より理解される。図面におけるコンポートは、必ずしも一定に縮小拡大するのではなく、その代わりに、強調は、本発明の原理を示すことに置かれる。さらに、図面において、同様の参照番号は、異なる図面を通して対応するパーツを示す。
100 オーディオ・システム
114 マイクロフォン
116 スピーカ
126、128 オーディオ・プロセッサ
202 通信ポート
206 メモリ
302、504 ネットワーク・インターフェース
330、332 スイッチ
400 オーディオ・ノード構造
404、406 仮想デバイス
508 Ethernet(登録商標)
510 FireWire
512 USB512
514 RS232
516 RS485
518 ルーティング・テーブル
524 ジェネリック・プラグイン
802 ノード・インスタンス化エンジン
804 コントロール・パネル・ライブラリ
808 コントロール・パネル・ビュー・バッファ
818 ノード構造ストレージ
904 ノード・インスタンス化エンジン
910 コントロール・パネル・ビュー・バッファ
912 ノード構造ストレージ
1008 ノード識別モジュール
114 マイクロフォン
116 スピーカ
126、128 オーディオ・プロセッサ
202 通信ポート
206 メモリ
302、504 ネットワーク・インターフェース
330、332 スイッチ
400 オーディオ・ノード構造
404、406 仮想デバイス
508 Ethernet(登録商標)
510 FireWire
512 USB512
514 RS232
516 RS485
518 ルーティング・テーブル
524 ジェネリック・プラグイン
802 ノード・インスタンス化エンジン
804 コントロール・パネル・ライブラリ
808 コントロール・パネル・ビュー・バッファ
818 ノード構造ストレージ
904 ノード・インスタンス化エンジン
910 コントロール・パネル・ビュー・バッファ
912 ノード構造ストレージ
1008 ノード識別モジュール
Claims (41)
- グラフィカル・ユーザ・インターフェースを有するコンピューティングシステムにおいて、オーディオ関連デバイスをモニタおよび制御するために使用可能なコントロール・パネル・ビューを表示するための方法であって、
該コンピューティングシステムが、オーディオ・ノード構造における少なくとも1つのコンポーネントに対応するコントロール・パネル・ライブラリから、格納されている所定のグラフィカル・ユーザ・インターフェースのコントロール・パネル・ビューを取り出すことであって、該オーディオ・ノード構造は、オーディオ関連デバイスの機能性を示している、ことと、
該オーディオ・ノード構造の少なくとも一部が、該コントロール・パネル・ライブラリにおいて該格納されている所定のグラフィカル・ユーザ・インターフェースのコントロール・パネル・ビューを用いて表されないとき、該コンピューティングシステムが、該オーディオ・ノード構造の少なくとも一部を表しているグラフィカル・ユーザ・インターフェースのアスペクトを取り出すことと、
該コンピューティングシステムが、該グラフィカル・ユーザ・インターフェースのアスペクトを該格納されている所定のグラフィカル・ユーザ・インターフェースのコントロール・パネル・ビューに統合することと、
該コンピューティングシステムが、ディスプレイ上でインスタンス化されるように、該統合されたグラフィカル・ユーザ・インターフェースのアスペクトを含む該グラフィカル・ユーザ・インターフェースのコントロール・パネル・ビューを格納することと
を包含する、方法。 - 格納されている所定のグラフィカル・ユーザ・インターフェースのコントロール・パネル・ビューを取り出すことは、該グラフィカル・ユーザ・インターフェースのコントロール・パネル・ビューが表示されるべきデバイスの演算能力および表示能力の少なくとも1つに基づいて、該グラフィカル・ユーザ・インターフェースのコントロール・パネル・ビューの複雑さを修正することを包含する、請求項1に記載の方法。
- グラフィカル・ユーザ・インターフェースのアスペクトを取り出すことは、前記コンロール・パネル・ライブラリから、格納されている所定のグラフィカル・ユーザ・インターフェースのアスペクトを取り出すことを包含する、請求項1に記載の方法。
- グラフィカル・ユーザ・インターフェースのアスペクトを取り出すことは、別のコンロール・パネル・ライブラリから、格納されている所定のグラフィカル・ユーザ・インターフェースのアスペクトを取り出すことを包含する、請求項1に記載の方法。
- グラフィカル・ユーザ・インターフェースのアスペクトを取り出すことは、前記オーディオ・ノード構造に含まれているコンポーネントに関連した該オーディオ・ノード構造の前記少なくとも1つを表している属性に基づいて、グラフィカル・ユーザ・インターフェースのアスペクトを構築すること包含する、請求項1に記載の方法。
- 前記グラフィカル・ユーザ・インターフェースのアスペクトを統合することは、該グラフィカル・ユーザ・インターフェースのアスペクトと前記格納されている所定のグラフィカル・ユーザ・インターフェースのコントロール・パネル・ビューに含まれているグラフィカル・ユーザ・インターフェースのコンポーネントとを選択的に相互に関連付けることを包含する、請求項1に記載の方法。
- 該グラフィカル・ユーザ・インターフェースのコントロール・パネル・ビューを格納することは、コントロール・データ・ストレージに格納されている新しいコントロール・パネル・ビューの一部として前記統合されたグラフィカル・ユーザ・インターフェースのアスペクトを含むことを包含し、該新しいコントロール・パネル・ビューは、前記オーディオ関連デバイスの前記オーディオ・ノード構造に関連する請求項1に記載の方法。
- グラフィカル・ユーザ・インターフェースを有するコンピューティングシステムにおいて、オーディオ関連デバイスをモニタおよび制御するために使用可能なコントロール・パネル・ビューをディスプレイを用いて表示するための方法であって、
該コンピューティングシステムを用いて、オーディオ関連デバイスのオーディオ・ノード構造に関連した複数の格納されている所定のグラフィカル・ユーザ・インターフェースのアスペクトを取り出すことと、
該コンピューティングシステムが、該オーディオ・ノード構造のコンポーネントを識別することとであって、該オーディオ・ノード構造の該コンポーネントは、該取り出されたグラフィカル・ユーザ・インターフェースのアスペクトと関連していない、ことと、
該コンピューティングシステムが、該識別されたコンポーネントの属性に対して該オーディオ関連デバイスにクエリすることと、
該コンピューティングシステムが、該属性に基づいて、該識別されたコンポーネントに関連したグラフグラフィカル・ユーザインターフェースのアスペクトを形成すること
を包含する、方法。 - 前記コンピューティングシステムは、前記格納されている所定のグラフィカル・ユーザ・インターフェースのアスペクトと前記形成されたグラフィカル・ユーザ・インターフェースのアスペクトとの組み合わせをインスタンス化することをさらに包含する、請求項8に記載の方法。
- 前記コンピューティングシステムは、前記格納されている所定のグラフィカル・ユーザ・インターフェースのアスペクトを前記形成されたグラフィカル・ユーザ・インターフェースのアスペクトと組み合わせることをさらに包含する、請求項8に記載の方法。
- 取り出すことは、仮想デバイスのリストから仮想デバイスを選択し、該仮想デバイスに関連した格納されている所定のグラフィカル・ユーザ・インターフェースのアスペクトを識別することを包含する、請求項8に記載の方法。
- 取り出すことは、対応するグラフィカル・ユーザ・インターフェースのアスペクトを識別するために前記オーディオ関連デバイスに関連したプロダクト・プラグインのコントロール・パネル・ライブラリを検索すること、該プロダクト・プラグインの検索が不成功であったとき、他のプロダクト・プラグインを検索することとを包含する、請求項8に記載の方法。
- 識別することは、前記格納されている所定のグラフィカル・ユーザ・インターフェースのアスペクトを前記オーディオ・ノード構造の前記コンポーネントと比較することを包含する、請求項8に記載の方法。
- オーディオ関連デバイスをモニタおよび制御するために使用可能なコントロール・パネル・ビューを表示するためのシステムであって、
オーディオ関連デバイスの機能性を表しているオーディオ・ノード構造のコンポーネント格納するように構成されているノード構造ストレージと、
該コンポーネントの少なくとも1つに関連した所定のグラフィカル・ユーザ・インターフェースのコントロール・パネル・ビューを格納するように構成されているコントロール・パネル・ビューと
該コンポーネントの該少なくとも1つの機能性が、該格納されている所定のグラフィカル・ユーザ・インターフェースのコントロール・パネル・ビューを用いて十分に表されているかどうかを決定するように構成されているノード・インスタンス化エンジンと
を備え、
該ノード・インスタンス化エンジンは、インスタンス化の前に、該コンポーネントの該少なくとも1つを表されていない機能性をサポートしているグラフィカル・ユーザ・インターフェースのアスペクトを該格納されている所定のグラフィカル・ユーザ・インターフェースのコントロール・パネル・ビューに統合するようにさらに構成されている、
システム。 - 前記ノード・インスタンス化エンジンは、前記表されていない機能性をサポートしているグラフィカル・ユーザ・インターフェースのアスペクトに対する前記コントロール・パネル・ライブラリを検索するようにさらに構成されている、請求項14に記載のシステム。
- 前記コントロール・パネル・ライブラリは、異なるプロダクト・プラグインに関連した複数のコントロール・パネル・ライブラリのそれぞれを備え、前記ノード・インスタンス化エンジンは、前記表されていない機能性をサポートしているグラフィカル・ユーザ・インターフェースのアスペクトに対する該コントロール・パネル・ライブラリのそれぞれの検索を有効にするようにさらに構成されている、請求項14に記載のシステム。
- 前記ノード・インスタンス化エンジンは、前記表されていない機能性をサポートしているジェネリック・グラフィカル・ユーザインターフェースのアスペクトを生成することを有効にするようにさらに構成されている、請求項14に記載のシステム。
- 前記統合されたグラフィカル・ユーザ・インターフェースのアスペクトを含む前記インスタンス化された所定のグラフィカル・ユーザ・インターフェースのコントロール・パネル・ビューを一時的に格納するように構成されているコントロール・パネル・ビュー・バッファをさらに備えた、請求項14に記載のシステム。
- 前記オーディオ関連デバイスから前記表されていない機能性に関連したさらなる情報を取り出すように構成されている発見エンジンをさらに備え、該情報は、前記ジェネリック・グラフィカル・ユーザインターフェースのアスペクトを生成するように使用可能である、請求項14に記載のシステム。
- 前記ノード・インスタンス化エンジンは、前記オーディオ関連デバイスから取り出された前記表されていない機能性の属性に基づいて、前記グラフィカル・ユーザ・インターフェースのアスペクトと統合するように構成されている、請求項14に記載のシステム。
- オーディオ・システムにおいて、オーディオ関連デバイスをモニタおよび制御するために使用可能なコントロール・パネル・ビューを表示するために動作するように構成されているパフォーマンス機器マネージャであって、
メモリデバイスと、
オーディオ関連デバイスから受け取られ得るオーディオ・ノード構造を受け取るように該メモリデバイスに格納されている命令であって、該オーディオ・ノード構造は、それぞれが、該オーディオ関連デバイスの機能性の一部を示している複数のコンポーネントを含む、命令と、
該オーディオ・ノード構造の少なくとも一部分を表している格納されている所定のコントロール・パネル・ビューを取り出すように該メモリデバイスに格納されている命令と、
該格納されている所定のコントロール・パネル・ビューが表していないとき、該オーディオ・ノード構造の少なくとも一部を表しているジェネリック・コントロール・パネル・ビューを生成するように該メモリデバイスに格納されている命令と
を含む、パフォーマンス機器マネージャ。 - 格納されている所定のコントロール・パネル・ビューを取り出すように、前記メモリデバイスに格納されている命令は、
前記オーディオ・ノード構造を表されていないコンポーネントを識別するように、該メモリデバイスに格納されている命令と、
該表されていないコンポーネントを表すグラフィカル・ユーザ・インターフェースのアスペクトを取得するように、該メモリデバイスに格納されている命令と、
該格納されている所定のコントロール・パネル・ビューに、該グラフィカル・ユーザ・インターフェースのアスペクトを統合するように、該メモリデバイスに格納されている命令とを含む、請求項21に記載のパフォーマンス機器マネージャ。 - 表されていないコンポートネントを識別するように前記メモリデバイスに格納されている命令は、前記格納されている所定のコントロール・パネル・ビューによってサポートされていない前記表されているコンポーネントに関連したさらなるコンポーネントに対して前記格納されている所定のコントロール・パネル・ビューにおいて表されているコンポーネントをチェックするように該メモリデバイスに格納されている命令を含む、請求項22のパフォーマンス機器マネージャ。
- グラフィカル・ユーザ・インターフェースのアスペクトを取得するように前記メモリデバイスに格納されている命令は、前記表されていないコンポーネントに関連した属性であって、前記オーディオ関連デバイスから該属性を取り出すように該メモリデバイスに格納されている命令と、
該取り出された属性に基づいて、グラフィカル・ユーザ・インターフェースのアスペクトを形成するように、前記メモリデバイスに格納されている命令とを含む、請求項22に記載のパフォーマンス機器マネージャ。 - 格納されている所定のコントロール・パネル・ビューを取り出すように前記メモリデバイスに格納されている命令は、前記オーディオ・ノード構造の少なくとも1つのコンポーネントに関連した該格納されている所定のコントロール・パネル・ビューを識別する命令を含む、請求項21に記載のパフォーマンス機器マネージャ。
- オーディオ・ノード構造を受け取るように前記メモリデバイスに格納されている命令は、前記オーディオ関連デバイスの機能ユニットを示している仮想デバイスのリストを受け取るように該メモリデバイスに格納されている命令を含む、請求項21に記載のパフォーマンス機器マネージャ。
- ジェネリック・コントロール・パネル・ビューを生成するように前記メモリデバイスに格納されている命令は、前記オーディオ関連デバイスからコンポーネントを示している属性を取り出すように該メモリデバイスに格納されている命令を含む、請求項21に記載のパフォーマンス機器マネージャ。
- オーディオ関連デバイスをモニタおよび制御するために使用可能なコントロール・パネル・ビューを表示するためのシステムであって、
オーディオ関連デバイスの機能性に対応する所定のグラフィカル・ユーザ・インターフェースのコントロール・パネル・ビューを格納するように構成されているプロダクト・プラグインと、
該オーディオ関連デバイスの機能性が、該所定のグラフィカル・ユーザ・インターフェースのコントロール・パネル・ビューに対応していないとき、該オーディオ関連デバイスの機能性に基づいて、ジェネリック・グラフィカル・ユーザインターフェースのコントロール・パネル・ビューを形成するように構成されているジェネリック・プラグインと
を備えた、システム。 - 前記オーディオ関連デバイスの機能性は、前記所定のグラフィカル・ユーザ・インターフェースのコントロール・パネル・ビューに対応する複数のコンポーネントを含む前記プロダクト・プラグインであって、該オーディオ・ノード構造を有する該プロダクト・プラグインに提供されている、請求項28に記載のシステム。
- 前記プロダクト・プラグインは、表示ディスプレイの処理能力と互換するように前記格納されている所定のグラフィカル・ユーザ・インターフェースのコントロール・パネル・ビューを修正するように構成されている、請求項28に記載のシステム。
- 前記ジェネリック・プラグインは、前記所定のグラフィカル・ユーザ・インターフェースのコントロール・パネル・ビューによってサポートされていない前記オーディオ関連デバイスの機能性の一部をサポートするグラフィカル・ユーザ・インターフェースのアスペクトを生成するようにさらに構成されている、請求項28に記載のシステム。
- 前記ジェネリック・プラグインのアスペクトは、前記格納されている所定のグラフィカル・ユーザ・インターフェースのコントロール・パネル・ビューに統合され、かつ、前記サポートされていない部分に関連している、請求項31に記載のシステム。
- 前記所定のグラフィカル・ユーザ・インターフェースのコントロール・パネル・ビューは、複数の異なるオーディオ関連デバイスの機能性に対応する所定の複製のグラフィカル・ユーザ・インターフェースのコントロール・パネル・ビューを備えた、請求項28に記載のシステム。
- オーディオ関連デバイスをモニタおよび制御するために使用可能なコントロール・パネル・ビューを表示するための方法であって、
十分な演算能力が表示ディスプレイに存在していないとき、オーディオ関連デバイスのオーディオ・ノード構造全体を表しているグラフィカル・ユーザ・インターフェースのコントロール・パネル・ビューのセットを構築することと、
該表示デバイスのディスプレイ・スクリーン上で表示されるために利用可能であるように該グラフィカル・ユーザ・インターフェースのコントロール・パネル・ビューのセット格納することと、
制限された演算能力が存在するとき、該グラフィカル・ユーザ・インターフェースのコントロール・パネル・ビューのセットのサブセットを構築すること
を包含し、
該演算能力は、該表示デバイスの処理能力または表示能力の少なくとも1つを含む方法。 - 現在表示されている単一のグラフィカル・ユーザ・インターフェースのコントロール・パネル・ビューを処分することと、
別の単一のグラフィカル・ユーザ・インターフェースのコントロール・パネル・ビューが要求されたとき、該別の単一のグラフィカル・ユーザ・インターフェースの単一のコントロール・パネル・ビュー構築することとをさらに包含する、請求項34に記載の方法。 - グラフィカル・ユーザ・インターフェースのコントロール・パネル・ビューのセットを構築することは、オーディオ・ノード構造の一部に対応する格納されている所定のグラフィカル・ユーザ・インターフェースのコントロール・パネル・ビューを取り出すことと、前記オーディオ関連デバイスから取り出された実際の値で、該格納されている所定のグラフィカル・ユーザ・インターフェースのコントロール・パネル・ビューを占めることとをさらに包含する、請求項34の方法。
- グラフィカル・ユーザ・インターフェースのコントロール・パネル・ビューのセットを構築することは、前記オーディオ・ノード構造に含まれている状態変数の複数の実際の値を含むように前記グラフィカル・ユーザ・インターフェースのコントロール・パネル・ビューのそれぞれをインスタンス化することを包含する、請求項34に記載の方法。
- グラフィカル・ユーザ・インターフェースのコントロール・パネル・ビューのセットを構築することは、オーディオ関連デバイスから受け取られ得る仮想デバイスのリストに対応するグラフィカル・ユーザ・インターフェースのコントロール・パネル・ビューを識別することを包含し、該仮想デバイスのそれぞれは、該オーディオ関連デバイスの機能ユニットを表している、請求項34に記載の方法。
- 前記グラフィカル・ユーザ・インターフェースのコントロール・パネル・ビューのセットを格納することは、実際の値を含むインスタンス化されたグラフィカル・ユーザ・インターフェースを取り出し、かつ、表示するためにバッファすることを含む、請求項34に記載の方法。
- インスタンス化されたコントロール・パネル・ビューをバッファすることは、前記オーディオ関連デバイスにおける前記実際の値が変化するとき、該インスタンス化されたコントロール・パネル・ビューにおける該実際の値アップデートすることを包含する、請求項39に記載の方法。
- 前記グラフィカル・ユーザ・インターフェースのコントロール・パネル・ビューのセットを構築することは、現在の表示である単一のグラフィカル・ユーザ・インターフェースのコントロール・パネル・ビューをインスタンス化することを包含する、請求項34に記載の方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US55711704P | 2004-03-26 | 2004-03-26 | |
US64496705P | 2005-01-18 | 2005-01-18 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2005327254A true JP2005327254A (ja) | 2005-11-24 |
Family
ID=34864620
Family Applications (8)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005093297A Active JP4621523B2 (ja) | 2004-03-26 | 2005-03-28 | オーディオ関連システムにおけるノード構造の発見ためのシステム |
JP2005093337A Pending JP2005327254A (ja) | 2004-03-26 | 2005-03-28 | オーディオ関連システムノードのインスタンス化 |
JP2005093304A Active JP4383378B2 (ja) | 2004-03-26 | 2005-03-28 | オーディオ関連システムのリンク管理 |
JP2005127058A Active JP4383384B2 (ja) | 2004-03-26 | 2005-03-28 | オーディオ関連デバイスの通信のためのシステム |
JP2005093320A Active JP4235188B2 (ja) | 2004-03-26 | 2005-03-28 | オーディオ関連システムの通信プロトコル |
JP2005093330A Active JP4308164B2 (ja) | 2004-03-26 | 2005-03-28 | オーディオ関連の機器管理のためのシステム |
JP2008313769A Active JP5053983B2 (ja) | 2004-03-26 | 2008-12-09 | オーディオ関連デバイスの通信のためのシステム |
JP2009113089A Pending JP2009211707A (ja) | 2004-03-26 | 2009-05-07 | オーディオ関連デバイスの通信のためのシステム |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005093297A Active JP4621523B2 (ja) | 2004-03-26 | 2005-03-28 | オーディオ関連システムにおけるノード構造の発見ためのシステム |
Family Applications After (6)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005093304A Active JP4383378B2 (ja) | 2004-03-26 | 2005-03-28 | オーディオ関連システムのリンク管理 |
JP2005127058A Active JP4383384B2 (ja) | 2004-03-26 | 2005-03-28 | オーディオ関連デバイスの通信のためのシステム |
JP2005093320A Active JP4235188B2 (ja) | 2004-03-26 | 2005-03-28 | オーディオ関連システムの通信プロトコル |
JP2005093330A Active JP4308164B2 (ja) | 2004-03-26 | 2005-03-28 | オーディオ関連の機器管理のためのシステム |
JP2008313769A Active JP5053983B2 (ja) | 2004-03-26 | 2008-12-09 | オーディオ関連デバイスの通信のためのシステム |
JP2009113089A Pending JP2009211707A (ja) | 2004-03-26 | 2009-05-07 | オーディオ関連デバイスの通信のためのシステム |
Country Status (3)
Country | Link |
---|---|
US (6) | US7725826B2 (ja) |
EP (6) | EP1587230A3 (ja) |
JP (8) | JP4621523B2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010521080A (ja) * | 2007-03-01 | 2010-06-17 | ボーズ・コーポレーション | インテリジェント等化のためのシステム及び方法 |
Families Citing this family (169)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020002039A1 (en) | 1998-06-12 | 2002-01-03 | Safi Qureshey | Network-enabled audio device |
US7328412B1 (en) * | 2003-04-05 | 2008-02-05 | Apple Inc. | Method and apparatus for displaying a gain control interface with non-linear gain levels |
US8290603B1 (en) | 2004-06-05 | 2012-10-16 | Sonos, Inc. | User interfaces for controlling and manipulating groupings in a multi-zone media system |
US10613817B2 (en) | 2003-07-28 | 2020-04-07 | Sonos, Inc. | Method and apparatus for displaying a list of tracks scheduled for playback by a synchrony group |
US11650784B2 (en) | 2003-07-28 | 2023-05-16 | Sonos, Inc. | Adjusting volume levels |
US8086752B2 (en) | 2006-11-22 | 2011-12-27 | Sonos, Inc. | Systems and methods for synchronizing operations among a plurality of independently clocked digital data processing devices that independently source digital data |
US11106424B2 (en) | 2003-07-28 | 2021-08-31 | Sonos, Inc. | Synchronizing operations among a plurality of independently clocked digital data processing devices |
US11294618B2 (en) | 2003-07-28 | 2022-04-05 | Sonos, Inc. | Media player system |
US11106425B2 (en) | 2003-07-28 | 2021-08-31 | Sonos, Inc. | Synchronizing operations among a plurality of independently clocked digital data processing devices |
US8234395B2 (en) | 2003-07-28 | 2012-07-31 | Sonos, Inc. | System and method for synchronizing operations among a plurality of independently clocked digital data processing devices |
US20050120382A1 (en) * | 2003-11-07 | 2005-06-02 | Televiewer Systems Ltd. | System and method of remotely controlling a TV tuner over a TCP/IP network |
US7729267B2 (en) | 2003-11-26 | 2010-06-01 | Cisco Technology, Inc. | Method and apparatus for analyzing a media path in a packet switched network |
US7725826B2 (en) * | 2004-03-26 | 2010-05-25 | Harman International Industries, Incorporated | Audio-related system node instantiation |
US9977561B2 (en) | 2004-04-01 | 2018-05-22 | Sonos, Inc. | Systems, methods, apparatus, and articles of manufacture to provide guest access |
US9374607B2 (en) | 2012-06-26 | 2016-06-21 | Sonos, Inc. | Media playback system with guest access |
US20050273657A1 (en) * | 2004-04-01 | 2005-12-08 | Hiroshi Ichiki | Information processing apparatus and method, and recording medium and program for controlling the same |
US9826046B2 (en) * | 2004-05-05 | 2017-11-21 | Black Hills Media, Llc | Device discovery for digital entertainment network |
US8028323B2 (en) | 2004-05-05 | 2011-09-27 | Dryden Enterprises, Llc | Method and system for employing a first device to direct a networked audio device to obtain a media item |
US8028038B2 (en) | 2004-05-05 | 2011-09-27 | Dryden Enterprises, Llc | Obtaining a playlist based on user profile matching |
CN100344106C (zh) * | 2004-05-26 | 2007-10-17 | 华为技术有限公司 | 在光传送网络管理系统中实现白盒虚拟网元的方法及系统 |
US8326951B1 (en) | 2004-06-05 | 2012-12-04 | Sonos, Inc. | Establishing a secure wireless network with minimum human intervention |
US8868698B2 (en) | 2004-06-05 | 2014-10-21 | Sonos, Inc. | Establishing a secure wireless network with minimum human intervention |
US20060083259A1 (en) * | 2004-10-18 | 2006-04-20 | Metcalf Thomas D | Packet-based systems and methods for distributing data |
US9070408B2 (en) * | 2005-08-26 | 2015-06-30 | Endless Analog, Inc | Closed loop analog signal processor (“CLASP”) system |
DK1762346T3 (da) * | 2005-09-08 | 2007-12-03 | Weber Maschb Gmbh & Co Kg | Anordning til opskæring af födevareprodukter |
US7694230B2 (en) * | 2005-09-09 | 2010-04-06 | Yamaha Corporation | Digital mixer and program |
US7526526B2 (en) * | 2005-10-06 | 2009-04-28 | Aviom, Inc. | System and method for transferring data |
US7930369B2 (en) * | 2005-10-19 | 2011-04-19 | Apple Inc. | Remotely configured media device |
JP2007149151A (ja) * | 2005-11-24 | 2007-06-14 | Funai Electric Co Ltd | 光ディスク再生装置、音声信号出力装置及びavシステム |
JP5111895B2 (ja) * | 2006-03-10 | 2013-01-09 | ローム・アンド・ハース・エレクトロニック・マテリアルズ,エル.エル.シー. | フォトリソグラフィーの組成物および方法 |
JP4923655B2 (ja) * | 2006-03-22 | 2012-04-25 | ヤマハ株式会社 | オーディオネットワークシステム |
JP4893985B2 (ja) * | 2006-03-22 | 2012-03-07 | ヤマハ株式会社 | オーディオネットワークシステム |
US7684415B2 (en) * | 2006-03-22 | 2010-03-23 | Yamaha Corporation | Audio network system |
US8533630B2 (en) * | 2006-09-05 | 2013-09-10 | Intel Corporation | Method and apparatus for controlling an array of input/output devices |
US9202509B2 (en) | 2006-09-12 | 2015-12-01 | Sonos, Inc. | Controlling and grouping in a multi-zone media system |
US8788080B1 (en) | 2006-09-12 | 2014-07-22 | Sonos, Inc. | Multi-channel pairing in a media system |
US8483853B1 (en) | 2006-09-12 | 2013-07-09 | Sonos, Inc. | Controlling and manipulating groupings in a multi-zone media system |
JP4240100B2 (ja) * | 2006-09-29 | 2009-03-18 | ヤマハ株式会社 | ミキシングシステム及びフォーマット変換装置 |
US20080184870A1 (en) * | 2006-10-24 | 2008-08-07 | Nokia Corporation | System, method, device, and computer program product providing for a multiple-lyric karaoke system |
US9009032B2 (en) * | 2006-11-09 | 2015-04-14 | Broadcom Corporation | Method and system for performing sample rate conversion |
US7738383B2 (en) * | 2006-12-21 | 2010-06-15 | Cisco Technology, Inc. | Traceroute using address request messages |
US7706278B2 (en) * | 2007-01-24 | 2010-04-27 | Cisco Technology, Inc. | Triggering flow analysis at intermediary devices |
US8296662B2 (en) * | 2007-02-05 | 2012-10-23 | Brother Kogyo Kabushiki Kaisha | Image display device |
US20080188965A1 (en) * | 2007-02-06 | 2008-08-07 | Rane Corporation | Remote audio device network system and method |
US20100106262A1 (en) * | 2007-02-12 | 2010-04-29 | Koninklijke Philips Electronics N.V. | Device for a networked control system |
JP4930147B2 (ja) * | 2007-03-29 | 2012-05-16 | ヤマハ株式会社 | 音響信号処理装置 |
DE102007016274B4 (de) | 2007-04-04 | 2013-02-07 | Lawo Ag | Vorrichtung und Verfahren zur Nutzung von Audio-Plugins in einem Mischpult |
WO2008125443A1 (en) * | 2007-04-13 | 2008-10-23 | Thomson Licensing | Control panel |
US7912444B2 (en) * | 2007-04-23 | 2011-03-22 | Sony Ericsson Mobile Communications Ab | Media portion selection system and method |
WO2008137432A2 (en) * | 2007-05-01 | 2008-11-13 | Dyyno | Sharing of information and formatting information for transmission over a communication network |
PT2000551E (pt) | 2007-05-28 | 2010-10-21 | Acrostak Corp Bvi | Ligas à base de magnésio |
EP2028882B1 (en) * | 2007-08-01 | 2018-10-10 | Yamaha Corporation | Remote audio monitoring system for amplifiers in a network |
US8201188B2 (en) | 2007-09-20 | 2012-06-12 | Microsoft Corporation | Device-hosted services over media transfer protocol |
US20090083765A1 (en) * | 2007-09-20 | 2009-03-26 | Microsoft Corporation | Accessing device-hosted services from scripting and other programming environments |
US20100299421A1 (en) | 2007-10-04 | 2010-11-25 | Robby Gurdan | Digital multimedia network with hierarchical parameter control protocol |
EP2063671B1 (en) * | 2007-11-22 | 2012-06-06 | Yamaha Corporation | Amplifier system |
JP5295550B2 (ja) * | 2007-11-22 | 2013-09-18 | ヤマハ株式会社 | アンプコントロールシステム |
WO2009086599A1 (en) * | 2008-01-07 | 2009-07-16 | Avega Systems Pty Ltd | A user interface for managing the operation of networked media playback devices |
USRE47400E1 (en) * | 2008-01-07 | 2019-05-21 | D&M Holdings Inc. | Systems and methods for providing dual-control functionality in a networked digital media device |
WO2009086597A1 (en) * | 2008-01-07 | 2009-07-16 | Avega Systems Pty Ltd. | Systems and methods for providing zone functionality in networked media systems |
US20090222729A1 (en) * | 2008-02-29 | 2009-09-03 | Deshpande Sachin G | Methods and Systems for Audio-Device Activation |
EP2288183A3 (en) * | 2008-03-11 | 2012-02-29 | Yamaha Corporation | Amplifier system |
EP2288181A3 (en) * | 2008-03-11 | 2012-02-29 | Yamaha Corporation | Amplifier system |
EP2288182A3 (en) * | 2008-03-11 | 2012-02-29 | Yamaha Corporation | Amplifier system |
US8725740B2 (en) | 2008-03-24 | 2014-05-13 | Napo Enterprises, Llc | Active playlist having dynamic media item groups |
US7966345B1 (en) * | 2008-03-28 | 2011-06-21 | Cypress Semiconductor Corporation | Method, system, and graphical user interface for generating firmware code for a programmable integrated circuit |
CN101999146A (zh) * | 2008-04-11 | 2011-03-30 | 汤姆森许可贸易公司 | 自动化电视制作的方法 |
JP2010004359A (ja) * | 2008-06-20 | 2010-01-07 | Sony Corp | 制御装置、制御方法および制御システム |
US8989882B2 (en) | 2008-08-06 | 2015-03-24 | At&T Intellectual Property I, L.P. | Method and apparatus for managing presentation of media content |
US7961656B2 (en) * | 2008-09-29 | 2011-06-14 | Intel Corporation | Protocol extensions in a display port compatible interface |
US8032660B2 (en) * | 2008-12-30 | 2011-10-04 | Intel Corporation | Apparatus and method for managing subscription requests for a network interface component |
EP2239736A1 (en) * | 2009-04-06 | 2010-10-13 | U-MAN Universal Media Access Networks GmbH | Desktop control for a host apparatus of a digital multimedia network |
US9191721B2 (en) * | 2009-06-16 | 2015-11-17 | Harman International Industries, Incorporated | Networked audio/video system |
US8434006B2 (en) * | 2009-07-31 | 2013-04-30 | Echostar Technologies L.L.C. | Systems and methods for adjusting volume of combined audio channels |
KR101563195B1 (ko) * | 2009-08-18 | 2015-10-27 | 삼성전자주식회사 | 호스트 장치 및 슬레이브 장치 제어 방법 |
US9826266B2 (en) | 2009-09-29 | 2017-11-21 | Universal Electronics Inc. | System and method for reconfiguration of an entertainment system controlling device |
US8243207B2 (en) * | 2009-09-29 | 2012-08-14 | Universal Electronics Inc. | System and method for activity based configuration of an entertainment system |
US8761165B2 (en) * | 2009-09-29 | 2014-06-24 | Yamaha Corporation | Network system |
US8456314B2 (en) | 2009-09-29 | 2013-06-04 | Universal Electronics Inc. | System and method for reconfiguration of an entertainment system controlling device |
US8655275B2 (en) * | 2010-01-28 | 2014-02-18 | Red Hat, Inc. | Device setup extension for applications |
JP5141990B2 (ja) * | 2010-03-31 | 2013-02-13 | ヤマハ株式会社 | オーディオネットワークシステム |
JP4953035B2 (ja) * | 2010-03-31 | 2012-06-13 | ヤマハ株式会社 | オーディオネットワークシステム |
WO2011126321A2 (ko) * | 2010-04-07 | 2011-10-13 | 엘지전자 주식회사 | 그룹 기반 m2m 통신 기법 |
US9229998B2 (en) * | 2010-05-13 | 2016-01-05 | Appsfreedom, Inc. | Method and system for exchanging information between back-end and front-end systems |
JP5625482B2 (ja) * | 2010-05-21 | 2014-11-19 | ヤマハ株式会社 | 音響処理装置、音処理システムおよび音処理方法 |
US8875054B2 (en) * | 2010-07-30 | 2014-10-28 | Apple Inc. | Hybrid knob/slider control |
US9661428B2 (en) * | 2010-08-17 | 2017-05-23 | Harman International Industries, Inc. | System for configuration and management of live sound system |
US8837529B2 (en) | 2010-09-22 | 2014-09-16 | Crestron Electronics Inc. | Digital audio distribution |
US8923997B2 (en) | 2010-10-13 | 2014-12-30 | Sonos, Inc | Method and apparatus for adjusting a speaker system |
US8774010B2 (en) | 2010-11-02 | 2014-07-08 | Cisco Technology, Inc. | System and method for providing proactive fault monitoring in a network environment |
US8559341B2 (en) | 2010-11-08 | 2013-10-15 | Cisco Technology, Inc. | System and method for providing a loop free topology in a network environment |
US9069452B2 (en) | 2010-12-01 | 2015-06-30 | Apple Inc. | Morphing a user-interface control object |
US20120148075A1 (en) * | 2010-12-08 | 2012-06-14 | Creative Technology Ltd | Method for optimizing reproduction of audio signals from an apparatus for audio reproduction |
US11429343B2 (en) | 2011-01-25 | 2022-08-30 | Sonos, Inc. | Stereo playback configuration and control |
US11265652B2 (en) | 2011-01-25 | 2022-03-01 | Sonos, Inc. | Playback device pairing |
US10382509B2 (en) * | 2011-01-28 | 2019-08-13 | Amazon Technologies, Inc. | Audio-based application architecture |
JP5144816B2 (ja) * | 2011-03-02 | 2013-02-13 | 三菱電機株式会社 | プログラマブル表示器、及び作画データの作成方法 |
US8982733B2 (en) | 2011-03-04 | 2015-03-17 | Cisco Technology, Inc. | System and method for managing topology changes in a network environment |
EP2506464A1 (en) * | 2011-03-30 | 2012-10-03 | Harman International Industries Ltd. | Audio processing apparatus and method of outputting status information |
US8670326B1 (en) | 2011-03-31 | 2014-03-11 | Cisco Technology, Inc. | System and method for probing multiple paths in a network environment |
US8724517B1 (en) | 2011-06-02 | 2014-05-13 | Cisco Technology, Inc. | System and method for managing network traffic disruption |
US8830875B1 (en) | 2011-06-15 | 2014-09-09 | Cisco Technology, Inc. | System and method for providing a loop free topology in a network environment |
US9668076B2 (en) * | 2011-06-21 | 2017-05-30 | Apple Inc. | Microphone headset failure detecting and reporting |
MX337025B (es) * | 2011-07-19 | 2016-02-09 | Zenovia Eletronics Inc | Sistema y metodo para formular procesamiento, amplificacion y distribucion de audio a demanda. |
KR20130038734A (ko) * | 2011-10-10 | 2013-04-18 | 한국전자통신연구원 | 단말의 응용프로그램을 관리하는 방법 및 장치, 단말에서 응용프로그램을 관리하는 방법 및 장치 |
US9084058B2 (en) | 2011-12-29 | 2015-07-14 | Sonos, Inc. | Sound field calibration using listener localization |
US9749435B2 (en) * | 2012-01-20 | 2017-08-29 | Apple Inc. | Proxy-based push service |
US9729115B2 (en) | 2012-04-27 | 2017-08-08 | Sonos, Inc. | Intelligently increasing the sound level of player |
US9106192B2 (en) | 2012-06-28 | 2015-08-11 | Sonos, Inc. | System and method for device playback calibration |
US9706323B2 (en) | 2014-09-09 | 2017-07-11 | Sonos, Inc. | Playback device calibration |
US9219460B2 (en) | 2014-03-17 | 2015-12-22 | Sonos, Inc. | Audio settings based on environment |
US9690539B2 (en) | 2012-06-28 | 2017-06-27 | Sonos, Inc. | Speaker calibration user interface |
US9690271B2 (en) | 2012-06-28 | 2017-06-27 | Sonos, Inc. | Speaker calibration |
US9668049B2 (en) | 2012-06-28 | 2017-05-30 | Sonos, Inc. | Playback device calibration user interfaces |
US9031244B2 (en) | 2012-06-29 | 2015-05-12 | Sonos, Inc. | Smart audio settings |
US8995687B2 (en) | 2012-08-01 | 2015-03-31 | Sonos, Inc. | Volume interactions for connected playback devices |
US8930005B2 (en) | 2012-08-07 | 2015-01-06 | Sonos, Inc. | Acoustic signatures in a playback system |
US9008330B2 (en) | 2012-09-28 | 2015-04-14 | Sonos, Inc. | Crossover frequency adjustments for audio speakers |
US8910265B2 (en) | 2012-09-28 | 2014-12-09 | Sonos, Inc. | Assisted registration of audio sources |
US9450846B1 (en) | 2012-10-17 | 2016-09-20 | Cisco Technology, Inc. | System and method for tracking packets in a network environment |
US9294853B1 (en) * | 2012-12-28 | 2016-03-22 | Google Inc. | Audio control process |
US9543913B2 (en) * | 2013-01-09 | 2017-01-10 | Osc, Llc | Programmably configured switchmode audio amplifier |
US9319409B2 (en) | 2013-02-14 | 2016-04-19 | Sonos, Inc. | Automatic configuration of household playback devices |
US9237384B2 (en) | 2013-02-14 | 2016-01-12 | Sonos, Inc. | Automatic configuration of household playback devices |
US9780994B2 (en) | 2013-07-18 | 2017-10-03 | International Business Machines Corporation | Notification normalization |
US9706002B2 (en) | 2013-07-18 | 2017-07-11 | International Business Machines Corporation | Push notification via file sharing service synchronization |
US9699625B2 (en) * | 2013-07-18 | 2017-07-04 | International Business Machines Corporation | Push notification middleware |
US9933920B2 (en) | 2013-09-27 | 2018-04-03 | Sonos, Inc. | Multi-household support |
US9241355B2 (en) | 2013-09-30 | 2016-01-19 | Sonos, Inc. | Media system access via cellular network |
US9226087B2 (en) | 2014-02-06 | 2015-12-29 | Sonos, Inc. | Audio output balancing during synchronized playback |
US9226073B2 (en) | 2014-02-06 | 2015-12-29 | Sonos, Inc. | Audio output balancing during synchronized playback |
JP6269182B2 (ja) * | 2014-03-07 | 2018-01-31 | ヤマハ株式会社 | 音響信号処理装置、パラメータ呼出方法及びプログラム |
US9264839B2 (en) | 2014-03-17 | 2016-02-16 | Sonos, Inc. | Playback device configuration based on proximity detection |
JP6319653B2 (ja) * | 2014-03-24 | 2018-05-09 | ヤマハ株式会社 | 信号処理装置およびプログラム |
US8995240B1 (en) | 2014-07-22 | 2015-03-31 | Sonos, Inc. | Playback using positioning information |
US9671997B2 (en) | 2014-07-23 | 2017-06-06 | Sonos, Inc. | Zone grouping |
US9910634B2 (en) | 2014-09-09 | 2018-03-06 | Sonos, Inc. | Microphone calibration |
US10127006B2 (en) | 2014-09-09 | 2018-11-13 | Sonos, Inc. | Facilitating calibration of an audio playback device |
US9952825B2 (en) | 2014-09-09 | 2018-04-24 | Sonos, Inc. | Audio processing algorithms |
US9891881B2 (en) | 2014-09-09 | 2018-02-13 | Sonos, Inc. | Audio processing algorithm database |
US10664224B2 (en) | 2015-04-24 | 2020-05-26 | Sonos, Inc. | Speaker calibration user interface |
WO2016172593A1 (en) | 2015-04-24 | 2016-10-27 | Sonos, Inc. | Playback device calibration user interfaces |
US10248376B2 (en) | 2015-06-11 | 2019-04-02 | Sonos, Inc. | Multiple groupings in a playback system |
US9538305B2 (en) | 2015-07-28 | 2017-01-03 | Sonos, Inc. | Calibration error conditions |
JP6437695B2 (ja) | 2015-09-17 | 2018-12-12 | ソノズ インコーポレイテッド | オーディオ再生デバイスのキャリブレーションを容易にする方法 |
US9693165B2 (en) | 2015-09-17 | 2017-06-27 | Sonos, Inc. | Validation of audio calibration using multi-dimensional motion check |
US10303422B1 (en) | 2016-01-05 | 2019-05-28 | Sonos, Inc. | Multiple-device setup |
US9743207B1 (en) | 2016-01-18 | 2017-08-22 | Sonos, Inc. | Calibration using multiple recording devices |
US10003899B2 (en) | 2016-01-25 | 2018-06-19 | Sonos, Inc. | Calibration with particular locations |
US11106423B2 (en) | 2016-01-25 | 2021-08-31 | Sonos, Inc. | Evaluating calibration of a playback device |
US9860662B2 (en) | 2016-04-01 | 2018-01-02 | Sonos, Inc. | Updating playback device configuration information based on calibration data |
US9864574B2 (en) | 2016-04-01 | 2018-01-09 | Sonos, Inc. | Playback device calibration based on representation spectral characteristics |
US9763018B1 (en) | 2016-04-12 | 2017-09-12 | Sonos, Inc. | Calibration of audio playback devices |
ES2829578T3 (es) | 2016-05-11 | 2021-06-01 | Aska Pharm Co Ltd | Polimorfo cristalino de acetato de 15ß-hidroxi-osaterona |
US20170364321A1 (en) * | 2016-06-21 | 2017-12-21 | Harman International Industries, Inc. | Universal remote monitor mixer system |
US9860670B1 (en) | 2016-07-15 | 2018-01-02 | Sonos, Inc. | Spectral correction using spatial calibration |
US9794710B1 (en) | 2016-07-15 | 2017-10-17 | Sonos, Inc. | Spatial audio correction |
US10372406B2 (en) | 2016-07-22 | 2019-08-06 | Sonos, Inc. | Calibration interface |
US10459684B2 (en) | 2016-08-05 | 2019-10-29 | Sonos, Inc. | Calibration of a playback device based on an estimated frequency response |
US10712997B2 (en) | 2016-10-17 | 2020-07-14 | Sonos, Inc. | Room association based on name |
JP6962158B2 (ja) * | 2017-12-01 | 2021-11-05 | ヤマハ株式会社 | 機器制御システム、機器制御方法、及びプログラム |
US10683969B2 (en) * | 2018-05-07 | 2020-06-16 | Ledvance Llc | Downlight with selectable lumens and correlated color temperature |
US10299061B1 (en) | 2018-08-28 | 2019-05-21 | Sonos, Inc. | Playback device calibration |
US11206484B2 (en) | 2018-08-28 | 2021-12-21 | Sonos, Inc. | Passive speaker authentication |
US10734965B1 (en) | 2019-08-12 | 2020-08-04 | Sonos, Inc. | Audio calibration of a portable playback device |
CN112363685B (zh) * | 2020-12-08 | 2022-08-19 | 四川长虹电器股份有限公司 | 一种广告机软件匹配多种屏参的处理方法 |
WO2022232645A1 (en) * | 2021-04-30 | 2022-11-03 | Little Dog Live, LLC | Audio workstation control over computing networks |
US12088879B2 (en) | 2022-08-09 | 2024-09-10 | Dish Network L.L.C. | Home audio monitoring for proactive volume adjustments |
US12003376B2 (en) * | 2022-08-10 | 2024-06-04 | Dish Network L.L.C. | Gateway anti-distraction mode for an establishment |
Family Cites Families (137)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US519457A (en) * | 1894-05-08 | Thomas rodgerson marsden | ||
US4223257A (en) * | 1978-11-15 | 1980-09-16 | Miller Donald K | Adaptive servo control system |
JPH0722429B2 (ja) * | 1985-08-19 | 1995-03-08 | ソニー株式会社 | 機器コントロ−ルシステム |
JPS62204638A (ja) | 1986-03-04 | 1987-09-09 | Nec Corp | ステ−シヨンアドレス設定方式 |
JPS6319934A (ja) | 1986-07-11 | 1988-01-27 | Omron Tateisi Electronics Co | 多重伝送装置 |
US4839891A (en) * | 1987-07-24 | 1989-06-13 | Nec Corporation | Method for controlling data flow |
US4922536A (en) | 1988-11-14 | 1990-05-01 | Massachusetts Institute Of Technology | Digital audio transmission for use in studio, stage or field applications |
GB8911395D0 (en) * | 1989-05-18 | 1989-07-05 | British Telecomm | Data communications network |
US5557798A (en) * | 1989-07-27 | 1996-09-17 | Tibco, Inc. | Apparatus and method for providing decoupling of data exchange details for providing high performance communication between software processes |
JPH03135130A (ja) | 1989-10-19 | 1991-06-10 | Brother Ind Ltd | 電子装置 |
US5245604A (en) * | 1990-03-05 | 1993-09-14 | Lone Wolf, Inc. | Communicating system |
US5276813A (en) * | 1990-08-31 | 1994-01-04 | International Business Machines Corp. | Acquiring addresses in an input/output system |
JPH04242340A (ja) | 1991-01-16 | 1992-08-31 | Omron Corp | 1対n直列通信システム |
JPH0537535A (ja) | 1991-08-02 | 1993-02-12 | Nec Corp | アドレス制御回路 |
EP0596594B1 (en) | 1992-10-26 | 2000-07-12 | Sun Microsystems, Inc. | Remote control and pointing device |
US5475835A (en) | 1993-03-02 | 1995-12-12 | Research Design & Marketing Inc. | Audio-visual inventory and play-back control system |
EP0626635B1 (en) | 1993-05-24 | 2003-03-05 | Sun Microsystems, Inc. | Improved graphical user interface with method for interfacing to remote devices |
WO1995001025A1 (en) * | 1993-06-25 | 1995-01-05 | D2B Systems Company Limited | New d2b device address initialisation by use of default address |
JPH0723473A (ja) | 1993-06-30 | 1995-01-24 | Toshiba Corp | エレベータの伝送装置 |
JP3232168B2 (ja) | 1993-07-02 | 2001-11-26 | 三菱電機株式会社 | 半導体基板およびその製造方法ならびにその半導体基板を用いた半導体装置 |
US5438325A (en) | 1993-07-09 | 1995-08-01 | Sony Corporation | Remote controller apparatus and an audio-video combination system using the same |
JPH0744477A (ja) | 1993-07-30 | 1995-02-14 | Canon Inc | マルチメディア機器の制御システム |
JP4208267B2 (ja) | 1993-07-30 | 2009-01-14 | キヤノン株式会社 | 制御装置 |
CN100545828C (zh) | 1993-07-30 | 2009-09-30 | 佳能株式会社 | 控制连接到网络的网络设备的控制设备及其控制方法 |
JPH0779249A (ja) | 1993-09-06 | 1995-03-20 | Fuji Xerox Co Ltd | パケット中継方法およびその装置 |
AU6019994A (en) | 1993-09-13 | 1995-04-03 | Taligent, Inc. | Multimedia data routing system |
JP3639319B2 (ja) * | 1994-01-25 | 2005-04-20 | 富士通株式会社 | 並列計算機システム,データ転送制御方法および送受信制御装置 |
US5442311A (en) * | 1994-01-28 | 1995-08-15 | Texas Instruments Incorporated | System and method for controlling a gain circuit |
US5677709A (en) * | 1994-02-15 | 1997-10-14 | Shimadzu Corporation | Micromanipulator system with multi-direction control joy stick and precision control means |
JPH0819060A (ja) | 1994-06-29 | 1996-01-19 | Mitsubishi Electric Corp | Av機器制御システム |
US5657221A (en) | 1994-09-16 | 1997-08-12 | Medialink Technologies Corporation | Method and apparatus for controlling non-computer system devices by manipulating a graphical representation |
US5500626A (en) | 1994-10-11 | 1996-03-19 | Crown International, Inc. | Independent amplifier control module |
US5862401A (en) | 1994-10-11 | 1999-01-19 | Crown International, Inc. | Programmable central intelligence controller and distributed intelligence network for analog/digital control systems |
EP0718994A3 (de) | 1994-12-15 | 2006-08-02 | Studer Professional Audio GmbH | Vorrichtung zur Verarbeitung von Tonsignalen |
JPH08237767A (ja) | 1995-02-23 | 1996-09-13 | Matsushita Electric Works Ltd | 分散監視制御システム |
GB2299422B (en) | 1995-03-30 | 2000-01-12 | Sony Uk Ltd | Object code allocation in multiple processor systems |
US5687334A (en) * | 1995-05-08 | 1997-11-11 | Apple Computer, Inc. | User interface for configuring input and output devices of a computer |
GB2301002B (en) | 1995-05-19 | 2000-03-01 | Sony Uk Ltd | Audio mixing console |
GB2302742B (en) | 1995-06-26 | 2000-02-16 | Sony Uk Ltd | Interactive interface system |
US5867223A (en) | 1995-07-17 | 1999-02-02 | Gateway 2000, Inc. | System for assigning multichannel audio signals to independent wireless audio output devices |
US5673401A (en) | 1995-07-31 | 1997-09-30 | Microsoft Corporation | Systems and methods for a customizable sprite-based graphical user interface |
JP2002516042A (ja) | 1996-01-31 | 2002-05-28 | イプシロン ネットワークス インコーポレイテッド | 伝送ネットワークにおいてパケットの経路指定とスイッチングとの間をダイナミックにシフトする改良された方法及び装置 |
US5761430A (en) | 1996-04-12 | 1998-06-02 | Peak Audio, Inc. | Media access control for isochronous data packets in carrier sensing multiple access systems |
US6339584B1 (en) | 1996-04-12 | 2002-01-15 | Cirrus Logic, Inc. | Media access control for isochronous data packets in carrier sensing multiple access systems |
US5761431A (en) | 1996-04-12 | 1998-06-02 | Peak Audio, Inc. | Order persistent timer for controlling events at multiple processing stations |
US5793366A (en) | 1996-11-12 | 1998-08-11 | Sony Corporation | Graphical display of an animated data stream between devices on a bus |
CA2261275A1 (en) | 1996-06-24 | 1997-12-31 | Van Koevering Company | Musical instrument system |
JP3427918B2 (ja) | 1996-07-02 | 2003-07-22 | インターナショナル・ビジネス・マシーンズ・コーポレーション | プログラム開発支援システム及び支援方法 |
US5935220A (en) * | 1996-08-09 | 1999-08-10 | Motorola Inc. | Apparatus and method for high speed data and command transfer over an interface |
US5956825A (en) * | 1996-12-24 | 1999-09-28 | Mccoy; Steven N. | Reusable casket assembly |
EP0886411A3 (en) | 1997-04-15 | 2004-01-21 | Hewlett-Packard Company, A Delaware Corporation | Method and apparatus for device interaction by protocol |
US5956025A (en) * | 1997-06-09 | 1999-09-21 | Philips Electronics North America Corporation | Remote with 3D organized GUI for a home entertainment system |
EP1439664B1 (en) | 1997-06-25 | 2007-09-12 | Samsung Electronics Co., Ltd. | Method and apparatus for controlling devices in a home network |
US6270182B1 (en) * | 1997-07-15 | 2001-08-07 | Silverbrook Research Pty Ltd | Inkjet print head recapping mechanism |
EP0893765A1 (en) | 1997-07-24 | 1999-01-27 | CANAL+ Société Anonyme | IEEE 1394 Set Top Box device driver |
US6421069B1 (en) | 1997-07-31 | 2002-07-16 | Sony Corporation | Method and apparatus for including self-describing information within devices |
US6577326B1 (en) * | 1997-08-29 | 2003-06-10 | Koninklijke Philips Electronics N.V. | Computer-controlled home theater independent user-control |
JPH11317990A (ja) | 1997-10-03 | 1999-11-16 | Toshiba Corp | 制御装置 |
EP1020858A1 (en) | 1997-10-03 | 2000-07-19 | Kabushiki Kaisha Toshiba | Controller, network device, signal transmitter, signal receiver, and recording medium |
GB2330753A (en) | 1997-10-24 | 1999-04-28 | Sony Uk Ltd | Audio processing |
GB2330752B (en) | 1997-10-24 | 2002-09-04 | Sony Uk Ltd | Audio processing |
JPH11150788A (ja) | 1997-11-14 | 1999-06-02 | Yamaha Corp | オーディオシステム |
DE69933637T2 (de) | 1998-04-22 | 2007-08-23 | Koninklijke Philips Electronics N.V. | Funktionalitätsverwaltung für ein system der unterhaltungselektronik |
EP0955740A1 (de) | 1998-05-04 | 1999-11-10 | Sachtler GmbH | Studiosteuerungssystem und Verfahren zur Automatiserung von im Studiobereich eingesetzten hebe- und lichttechnischen Geräten |
EP1084576B1 (en) | 1998-05-07 | 2005-07-27 | Samsung Electronics Co., Ltd. | Method and apparatus for universally accessible command and control information in a network |
JP4151110B2 (ja) | 1998-05-14 | 2008-09-17 | ソニー株式会社 | オーディオ信号処理装置およびオーディオ信号再生装置 |
US6456892B1 (en) | 1998-07-01 | 2002-09-24 | Sony Electronics, Inc. | Data driven interaction for networked control of a DDI target device over a home entertainment network |
US6311242B1 (en) | 1998-08-27 | 2001-10-30 | Apple Computer, Inc. | Method and apparatus for supporting dynamic insertion and removal of PCI devices |
US6963784B1 (en) * | 1998-10-16 | 2005-11-08 | Sony Corporation | Virtual device control modules and function control modules implemented in a home audio/video network |
JP2000197159A (ja) | 1998-12-28 | 2000-07-14 | Sanyo Electric Co Ltd | 音響・映像コントロ―ルシステム |
US6272540B1 (en) | 1998-12-31 | 2001-08-07 | Intel Corporation | Arrangement and method for providing flexible management of a network |
US6892350B1 (en) | 1999-01-22 | 2005-05-10 | Yamaha Corporation | Audio system with customization of information display |
JP2000224179A (ja) | 1999-01-28 | 2000-08-11 | Sharp Corp | ネットワーク端末装置及び通信方法 |
US6492999B1 (en) | 1999-02-25 | 2002-12-10 | International Business Machines Corporation | Connecting and optimizing audio input devices |
US6370436B1 (en) | 1999-03-26 | 2002-04-09 | Emware, Inc. | Distributed objects for a computer system |
US7178106B2 (en) * | 1999-04-21 | 2007-02-13 | Sonic Solutions, A California Corporation | Presentation of media content from multiple media sources |
ES2481615T3 (es) * | 1999-04-26 | 2014-07-31 | Gibson Brands, Inc. | Instrumento musical con salida para auriculars estereofónicos |
US6556219B1 (en) * | 1999-05-18 | 2003-04-29 | Gateway, Inc. | Method and system for peripheral device user interface construction |
US6738835B1 (en) | 1999-05-28 | 2004-05-18 | Sony Corporation | Information processing apparatus and method, and recording medium |
US7006642B1 (en) * | 1999-06-04 | 2006-02-28 | Roland Corporation | Audio control apparatus and audio processing apparatus in a mixing system |
JP2000356994A (ja) | 1999-06-15 | 2000-12-26 | Yamaha Corp | オーディオシステム、その制御方法および記録媒体 |
JP2001024685A (ja) | 1999-07-02 | 2001-01-26 | Canon Inc | 情報処理システム、電子機器、及び情報処理方法 |
US6801507B1 (en) * | 1999-07-27 | 2004-10-05 | Samsung Electronics Co., Ltd. | Device discovery and configuration in a home network |
TW495735B (en) * | 1999-07-28 | 2002-07-21 | Yamaha Corp | Audio controller and the portable terminal and system using the same |
JP4337198B2 (ja) * | 1999-12-07 | 2009-09-30 | ソニー株式会社 | 伝送方法及び伝送装置 |
JP3587113B2 (ja) * | 2000-01-17 | 2004-11-10 | ヤマハ株式会社 | 接続設定装置及び媒体 |
EP1257923A1 (en) | 2000-01-20 | 2002-11-20 | Powerdsine Ltd. | Data communication network |
US6363417B1 (en) * | 2000-03-31 | 2002-03-26 | Emware, Inc. | Device interfaces for networking a computer and an embedded device |
WO2002001833A1 (en) | 2000-06-28 | 2002-01-03 | Microsoft Corporation | Remoting general purpose operating system services via a peer networking device control protocol |
US6700592B1 (en) | 2000-06-30 | 2004-03-02 | Sony Corporation | Method and system for dynamically building the graphical user interface of a home AV network device |
US7047495B1 (en) * | 2000-06-30 | 2006-05-16 | Intel Corporation | Method and apparatus for graphical device management using a virtual console |
US6928076B2 (en) * | 2000-09-22 | 2005-08-09 | Intel Corporation | System and method for controlling signal processing in a voice over packet (VoP) environment |
CN100359463C (zh) | 2000-09-27 | 2008-01-02 | 汤姆森特许公司 | 用于优化多媒体设备的音频和视频输出状态的系统 |
JP2002142272A (ja) | 2000-10-30 | 2002-05-17 | Kenwood Corp | Avネットワークシステム、及び、av機器接続方法 |
US6934756B2 (en) | 2000-11-01 | 2005-08-23 | International Business Machines Corporation | Conversational networking via transport, coding and control conversational protocols |
US20020072816A1 (en) | 2000-12-07 | 2002-06-13 | Yoav Shdema | Audio system |
US7287230B2 (en) | 2000-12-13 | 2007-10-23 | National Instruments Corporation | Configuring a GUI element to subscribe to data |
US7134085B2 (en) | 2000-12-13 | 2006-11-07 | National Instruments Corporation | System and method for automatically configuring program data exchange |
US7809854B2 (en) | 2002-02-12 | 2010-10-05 | Open Design, Inc. | Logical routing system |
US6930730B2 (en) | 2001-05-03 | 2005-08-16 | Mitsubishi Digital Electronics America, Inc. | Control system and user interface for network of input devices |
US6802058B2 (en) | 2001-05-10 | 2004-10-05 | International Business Machines Corporation | Method and apparatus for synchronized previewing user-interface appearance on multiple platforms |
JP3925109B2 (ja) * | 2001-06-13 | 2007-06-06 | ヤマハ株式会社 | 音声信号編集装置の制御方法、音声信号編集装置およびプログラム |
US7565212B2 (en) | 2001-06-13 | 2009-07-21 | Yamaha Corporation | Configuration method of digital audio mixer |
US20030016233A1 (en) * | 2001-06-29 | 2003-01-23 | Bitflash Graphics, Inc. | Method and system for manipulation of graphics information |
US6885362B2 (en) | 2001-07-12 | 2005-04-26 | Nokia Corporation | System and method for accessing ubiquitous resources in an intelligent environment |
US20030014486A1 (en) | 2001-07-16 | 2003-01-16 | May Gregory J. | Distributed audio network using networked computing devices |
JP3689653B2 (ja) | 2001-07-26 | 2005-08-31 | シャープ株式会社 | デバイス制御システム |
JP2002157867A (ja) | 2001-08-20 | 2002-05-31 | Yamaha Corp | オーディオシステム及びオーディオ装置の制御方法 |
JP3804824B2 (ja) * | 2001-09-19 | 2006-08-02 | ヤマハ株式会社 | ディジタルミキサ |
US20030066016A1 (en) * | 2001-09-28 | 2003-04-03 | Eric Wehage | Methodology for detecting lost packets |
US7245727B2 (en) | 2001-09-28 | 2007-07-17 | Jonathan Cresci | Remote controlled audio mixing console |
KR20030028310A (ko) | 2001-09-29 | 2003-04-08 | 삼성전자주식회사 | 홈네트워크에 연결된 피제어 장치를 인터넷을 통해제어하는 방법 및 그 제어 장치 |
US6931574B1 (en) * | 2001-10-24 | 2005-08-16 | Finisar Corporation | Systems and methods for interpreting communications packets |
US7124367B2 (en) | 2001-11-14 | 2006-10-17 | Gateway Inc. | Adjustable user interface |
US20030103075A1 (en) * | 2001-12-03 | 2003-06-05 | Rosselot Robert Charles | System and method for control of conference facilities and equipment |
US20030108044A1 (en) * | 2001-12-11 | 2003-06-12 | Roland Hendel | Stateless TCP/IP protocol |
JP2003223377A (ja) | 2002-01-30 | 2003-08-08 | Sharp Corp | デバイス制御システム |
US7742609B2 (en) * | 2002-04-08 | 2010-06-22 | Gibson Guitar Corp. | Live performance audio mixing system with simplified user interface |
US7167476B1 (en) * | 2002-04-12 | 2007-01-23 | Juniper Networks, Inc. | Systems and methods for routing data in a network device |
JP2004015787A (ja) | 2002-06-12 | 2004-01-15 | Matsushita Electric Ind Co Ltd | リモート制御装置 |
US7408957B2 (en) | 2002-06-13 | 2008-08-05 | International Business Machines Corporation | Selective header field dispatch in a network processing system |
JP3988128B2 (ja) * | 2002-07-18 | 2007-10-10 | ヤマハ株式会社 | ディジタル・ミキサ |
US7562156B2 (en) * | 2002-08-16 | 2009-07-14 | Symantec Operating Corporation | System and method for decoding communications between nodes of a cluster server |
DE10243781A1 (de) * | 2002-09-20 | 2004-03-25 | Sick Ag | Elektronische Vorrichtung für ein Bussystem |
US7835365B2 (en) | 2002-09-26 | 2010-11-16 | Sharp Laboratories Of America, Inc. | Connection management in a centralized communication system |
US7350077B2 (en) | 2002-11-26 | 2008-03-25 | Cisco Technology, Inc. | 802.11 using a compressed reassociation exchange to facilitate fast handoff |
DE10308583A1 (de) * | 2003-02-27 | 2004-09-09 | Arvinmeritor Gmbh | Windabweiser für ein Fahrzeugdach |
JP4023381B2 (ja) * | 2003-05-20 | 2007-12-19 | ヤマハ株式会社 | ノード制御方法、ノード制御装置およびプログラム |
US7085676B2 (en) * | 2003-06-27 | 2006-08-01 | Tokyo Electron Limited | Feed forward critical dimension control |
US7441020B2 (en) | 2003-06-27 | 2008-10-21 | Microsoft Corporation | Media plug-in registration and dynamic loading |
US7127305B1 (en) * | 2003-07-21 | 2006-10-24 | Eyecon Technologies, Inc. | Method and apparatus for unified control of multiple devices |
US7571014B1 (en) * | 2004-04-01 | 2009-08-04 | Sonos, Inc. | Method and apparatus for controlling multimedia players in a multi-zone system |
US7016800B1 (en) * | 2003-12-16 | 2006-03-21 | Adaptec, Inc. | Centralized console API testing architecture |
US20050149215A1 (en) * | 2004-01-06 | 2005-07-07 | Sachin Deshpande | Universal plug and play remote audio mixer |
US20050177256A1 (en) | 2004-02-06 | 2005-08-11 | Peter Shintani | Addressable loudspeaker |
US7725826B2 (en) * | 2004-03-26 | 2010-05-25 | Harman International Industries, Incorporated | Audio-related system node instantiation |
KR100574463B1 (ko) * | 2004-08-05 | 2006-04-27 | 삼성전자주식회사 | Ieee 1394가 채용된 호스트장치 및 그의 제어방법 |
-
2005
- 2005-03-25 US US11/090,569 patent/US7725826B2/en active Active
- 2005-03-25 US US11/090,542 patent/US8473844B2/en active Active
- 2005-03-25 US US11/089,889 patent/US8249071B2/en active Active
- 2005-03-25 US US11/090,665 patent/US8078298B2/en active Active
- 2005-03-25 US US11/089,741 patent/US7689305B2/en active Active
- 2005-03-25 US US11/090,518 patent/US7742606B2/en active Active
- 2005-03-28 JP JP2005093297A patent/JP4621523B2/ja active Active
- 2005-03-28 JP JP2005093337A patent/JP2005327254A/ja active Pending
- 2005-03-28 JP JP2005093304A patent/JP4383378B2/ja active Active
- 2005-03-28 JP JP2005127058A patent/JP4383384B2/ja active Active
- 2005-03-28 JP JP2005093320A patent/JP4235188B2/ja active Active
- 2005-03-28 JP JP2005093330A patent/JP4308164B2/ja active Active
- 2005-03-29 EP EP05006791A patent/EP1587230A3/en not_active Ceased
- 2005-03-29 EP EP05006735.4A patent/EP1580910B1/en active Active
- 2005-03-29 EP EP20050006786 patent/EP1587228A3/en not_active Ceased
- 2005-03-29 EP EP05006789A patent/EP1587229A3/en not_active Ceased
- 2005-03-29 EP EP05006736.2A patent/EP1585240B1/en active Active
- 2005-03-29 EP EP05006788.3A patent/EP1585241B1/en active Active
-
2008
- 2008-12-09 JP JP2008313769A patent/JP5053983B2/ja active Active
-
2009
- 2009-05-07 JP JP2009113089A patent/JP2009211707A/ja active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010521080A (ja) * | 2007-03-01 | 2010-06-17 | ボーズ・コーポレーション | インテリジェント等化のためのシステム及び方法 |
Also Published As
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4621523B2 (ja) | オーディオ関連システムにおけるノード構造の発見ためのシステム | |
US9191721B2 (en) | Networked audio/video system | |
US9661428B2 (en) | System for configuration and management of live sound system | |
US8855008B2 (en) | Digital multimedia network with parameter join mechanism | |
JP2012235469A (ja) | スパースモードシステム | |
US11140206B2 (en) | Architecture for a media system | |
JP2009218969A (ja) | アンプ制御装置、アンプシステム及びプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20071119 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080910 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20081209 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20090225 |