JP2004151410A - 操作子制御装置、操作子制御方法および操作子制御プログラム - Google Patents
操作子制御装置、操作子制御方法および操作子制御プログラム Download PDFInfo
- Publication number
- JP2004151410A JP2004151410A JP2002317040A JP2002317040A JP2004151410A JP 2004151410 A JP2004151410 A JP 2004151410A JP 2002317040 A JP2002317040 A JP 2002317040A JP 2002317040 A JP2002317040 A JP 2002317040A JP 2004151410 A JP2004151410 A JP 2004151410A
- Authority
- JP
- Japan
- Prior art keywords
- switch
- function
- execution
- waiting time
- instructing
- 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
Images
Landscapes
- Electrophonic Musical Instruments (AREA)
Abstract
【課題】「同時押し操作」した時の違和感を解消する操作子制御装置、操作子制御方法および操作子制御プログラムを実現する。
【解決手段】スイッチnが押されてONエッジが発生してからShortWait確定待ち時間Twが経過する迄の間に、スイッチnと対に同時押し機能が割り当てられるスイッチが押された場合にのみ、同時押し機能スイッチkが実行されるので、ONエッジからOFFエッジまでの時間が長くゆっくりとしたスイッチ操作を行ったとしても、スイッチの反応が遅くなることは無く、従来の違和感を解消し得る。
【選択図】 図24
【解決手段】スイッチnが押されてONエッジが発生してからShortWait確定待ち時間Twが経過する迄の間に、スイッチnと対に同時押し機能が割り当てられるスイッチが押された場合にのみ、同時押し機能スイッチkが実行されるので、ONエッジからOFFエッジまでの時間が長くゆっくりとしたスイッチ操作を行ったとしても、スイッチの反応が遅くなることは無く、従来の違和感を解消し得る。
【選択図】 図24
Description
【0001】
【発明の属する技術分野】
本発明は、例えばスイッチやロータリーエンコーダ等、操作パネルに配設される操作子の操作性を向上させる操作子制御装置、操作子制御方法および操作子制御プログラムに関する。
【0002】
【従来の技術】
CPUあるいはマイクロコンピュータを搭載した電子機器では、操作パネル上の限られた操作子で多くの機能を操作可能にする為、操作の仕方の違いにより一つの操作子に複数の機能を割り当てる操作子制御が行われている。
例えば、2つのスイッチを同時押ししてある機能の実行を指示する「同時押し操作」や、スイッチが押されてオン状態になるONエッジからそのスイッチが離されてオフ状態になるOFFエッジに至る期間が一定時間を超えた場合にある機能の実行を指示する「押し続け操作」、あるいはONエッジから一定時間OFFエッジが検出されない場合に、OFFエッジが検出されるまでそのスイッチが一定時間の間隔で複数回押された時と同じ動作の繰り返しを指示する「リピート操作」が知られている。また、こうした「リピート操作」をロータリーエンコーダの回転操作にて代用する操作も知られている。
【0003】
なお、この種の技術として、例えば特許文献1には、2つのスイッチの同時押下に応じてビープ音の設定又は設定解除を行うものが開示されている。さらに、特許文献2には、マイクロコンピュータの複数端子にそれぞれスイッチが複数接続され、キー2つ以上の同時押しが多数存在する場合に発生するキーコードのサイズを減縮する方法が開示されている。
【0004】
【特許文献1】
特許公開平7−44166号公報
【特許文献2】
特許公開2000−249760号公報
【0005】
【発明が解決しようとする課題】
ところで、上述した「同時押し操作」では、例えば2つのスイッチA、Bの同時押しに機能Cを割り当てる場合に、スイッチAのONエッジでは何も行わず、スイッチAのOFFエッジでスイッチBがオフ状態にあると、スイッチAに割り当てられた機能の実行を指示し、スイッチAのOFFエッジでスイッチBがオン状態にあれば、機能Cの実行を指示するようにしている。
つまり、「同時押し操作」であるか否かを判定するタイミングにスイッチAのONエッジを用いると、スイッチAを押した直後にスイッチBが押された場合も誤って「同時押し操作」と見做してしまう虞がある為、スイッチAのOFFエッジを「同時押し操作」であるか否かを判定するタイミングにしている。
【0006】
ところが、このようにOFFエッジを「同時押し操作」の判定タイミングにすると、ONエッジからOFFエッジまでの時間が長くゆっくりとしたスイッチ操作が行われた場合、スイッチの反応が遅い印象となり、違和感が生じるという弊害がある。
また、OFFエッジを「同時押し操作」の判定タイミングにすると、その「同時押し操作」が割り当てられたスイッチに、上述した「押し続け操作」や「リピート操作」を割り当てることが出来なくなる、という問題がある。
さらに、上述した「リピート操作」に、処理に要する時間が長い機能を割り当てると、その機能をリピート回数分処理し終える迄、次の操作が待たされてしまい、操作性が悪化するという問題もある。
【0007】
加えて、スイッチの「リピート操作」と同等の機能をロータリーエンコーダを用いて実現させる場合、例えば1回転操作が24クリックのロータリーエンコーダを用いて0〜255を指定させるためには10回転以上操作しなければならず、極めて煩雑な操作になる。
【0008】
本発明は、このような事情に鑑みてなされたもので、第1の目的は「同時押し操作」した時の違和感を解消でき、しかも「同時押し操作」を割り当てたスイッチに「押し続け操作」や「リピート操作」も同時に割り当てることができる操作子制御装置、操作子制御方法および操作子制御プログラムを提供することを目的としている。
また、本発明の第2の目的は、「リピート操作」が実行中であっても、その完了を待たずに即座に通常のスイッチ操作に対応することができる操作子制御装置、操作子制御方法および操作子制御プログラムを提供することを目的としている。
【0009】
【課題を解決するための手段】
上記目的を達成するため、請求項1に記載の発明では、スイッチのオン操作に応じて、他のスイッチとの同時押しか否かを判定する待ち時間を設定する設定手段と、この設定手段により設定された待ち時間が経過するまでの間に、前記オン操作されたスイッチと対に同時押し機能が割り当てられるスイッチがオン操作された場合にのみ、前記同時押し機能の実行を指示する指示手段とを具備することを特徴とする。
【0010】
請求項2に記載の発明では、スイッチのオン操作に応じて、他のスイッチとの同時押しか否かを判定する待ち時間を設定する設定過程と、この設定過程にて設定された待ち時間が経過するまでの間に、前記オン操作されたスイッチと対に同時押し機能が割り当てられるスイッチがオン操作された場合にのみ、前記同時押し機能の実行を指示する指示過程とを具備することを特徴とする。
【0011】
請求項3に記載の発明では、スイッチのオン操作に応じて、他のスイッチとの同時押しか否かを判定する待ち時間を設定する設定ステップと、この設定ステップにて設定された待ち時間が経過するまでの間に、前記オン操作されたスイッチと対に同時押し機能が割り当てられるスイッチがオン操作された場合にのみ、前記同時押し機能の実行を指示する指示ステップとをコンピュータで実行させることを特徴とする。
【0012】
請求項4に記載の発明では、2つの異なるスイッチが同時にオン操作された場合にある機能の実行を指示する同時押し機能と、第1の待ち時間オン操作を持続させた場合にオフ操作されるまで一定時間の間隔で複数回オン操作された時と同じ動作の繰り返しを指示するリピート機能と、オン操作から第2の待ち時間を超えた場合にある機能の実行を指示する押し続け機能とを所定スイッチに割り当てる割当て手段と、前記所定スイッチと対に同時押し機能が割り当てられるスイッチがオン操作されず同時押しが成立しない状態で、その所定スイッチを第1の待ち時間が経過するまでオン操作を持続させた場合に前記リピート機能の実行を指示する第1の指示手段と、前記所定スイッチと対に同時押し機能が割り当てられるスイッチがオン操作されず同時押しが成立しない状態で、その所定スイッチを第2の待ち時間が経過するまでオン操作を持続させた場合に前記押し続け機能の実行を指示する第2の指示手段とを具備することを特徴とする。
【0013】
請求項5に記載の発明では、2つの異なるスイッチが同時にオン操作された場合にある機能の実行を指示する同時押し機能と、第1の待ち時間オン操作を持続させた場合にオフ操作されるまで一定時間の間隔で複数回オン操作された時と同じ動作の繰り返しを指示するリピート機能と、オン操作から第2の待ち時間を超えた場合にある機能の実行を指示する押し続け機能とを所定スイッチに割り当てる割当て過程と、前記所定スイッチと対に同時押し機能が割り当てられるスイッチがオン操作されず同時押しが成立しない状態で、その所定スイッチを第1の待ち時間が経過するまでオン操作を持続させた場合に前記リピート機能の実行を指示する第1の指示過程と、前記所定スイッチと対に同時押し機能が割り当てられるスイッチがオン操作されず同時押しが成立しない状態で、その所定スイッチを第2の待ち時間が経過するまでオン操作を持続させた場合に前記押し続け機能の実行を指示する第2の指示過程とを具備することを特徴とする。
【0014】
請求項6に記載の発明では、2つの異なるスイッチが同時にオン操作された場合にある機能の実行を指示する同時押し機能と、第1の待ち時間オン操作を持続させた場合にオフ操作されるまで一定時間の間隔で複数回オン操作された時と同じ動作の繰り返しを指示するリピート機能と、オン操作から第2の待ち時間を超えた場合にある機能の実行を指示する押し続け機能とを所定スイッチに割り当てる割当てステップと、前記所定スイッチと対に同時押し機能が割り当てられるスイッチがオン操作されず同時押しが成立しない状態で、その所定スイッチを第1の待ち時間が経過するまでオン操作を持続させた場合に前記リピート機能の実行を指示する第1の指示ステップと、前記所定スイッチと対に同時押し機能が割り当てられるスイッチがオン操作されず同時押しが成立しない状態で、その所定スイッチを第2の待ち時間が経過するまでオン操作を持続させた場合に前記押し続け機能の実行を指示する第2の指示ステップとをコンピュータで実行させることを特徴とする。
【0015】
請求項7に記載の発明では、スイッチ操作に応じて、そのスイッチに対応付けられた機能の実行を最優先順位で指示するスイッチ制御手段と、このスイッチ制御手段が実行を指示した機能の実行状態を一定時間毎に制御するタイマスイッチ実行手段とを有し、前記スイッチ制御手段が機能の実行を最優先順位で指示した場合、それより優先順位の低いタイマスイッチ実行手段の動作を制限するマルチタスク制御を行うことを特徴とする。
【0016】
請求項8に記載の発明では、スイッチ操作に応じて、そのスイッチに対応付けられた機能の実行を最優先順位で指示するスイッチ制御過程と、このスイッチ制御過程が実行を指示した機能の実行状態を一定時間毎に制御するタイマスイッチ実行過程とを有し、前記スイッチ制御過程が機能の実行を最優先順位で指示した場合、それより優先順位の低いタイマスイッチ実行過程の動作を制限するマルチタスク制御を行うことを特徴とする。
【0017】
請求項9に記載の発明では、スイッチ操作に応じて、そのスイッチに対応付けられた機能の実行を最優先順位で指示するスイッチ制御処理と、このスイッチ制御処理が実行を指示した機能の実行状態を一定時間毎に制御するタイマスイッチ実行処理とを有し、前記スイッチ制御処理が機能の実行を最優先順位で指示した場合、それより優先順位の低いタイマスイッチ実行処理の動作を制限するマルチタスク制御を行うことを特徴とする。
【0018】
本発明では、スイッチのオン操作に応じて、他のスイッチとの同時押しか否かを判定する待ち時間を設定し、設定された待ち時間が経過するまでの間に、前記オン操作されたスイッチと対に同時押し機能が割り当てられるスイッチがオン操作された場合にのみ、前記同時押し機能の実行を指示するので、ONエッジからOFFエッジまでの時間が長くゆっくりとしたスイッチ操作を行ったとしても、スイッチの反応が遅くなることは無く、従来の違和感を解消し得る。
【0019】
また、本発明では、2つの異なるスイッチが同時にオン操作された場合にある機能の実行を指示する同時押し機能と、第1の待ち時間オン操作を持続させた場合にオフ操作されるまで一定時間の間隔で複数回オン操作された時と同じ動作の繰り返しを指示するリピート機能と、オン操作から第2の待ち時間を超えた場合にある機能の実行を指示する押し続け機能とを所定スイッチに割り当てておき、この所定スイッチと対に同時押し機能が割り当てられるスイッチがオン操作されず同時押しが成立しない状態で、その所定スイッチを第1の待ち時間が経過するまでオン操作を持続させた場合にはリピート機能の実行を指示し、一方、前記所定スイッチと対に同時押し機能が割り当てられるスイッチがオン操作されず同時押しが成立しない状態で、その所定スイッチを第2の待ち時間が経過するまでオン操作を持続させた場合に押し続け機能の実行を指示するようにしたので、「同時押し操作」を割り当てたスイッチに「押し続け操作」や「リピート操作」も同時に割り当てることが可能になる。
【0020】
さらに、本発明では、スイッチ操作に応じて、そのスイッチに対応付けられた機能の実行を最優先順位で指示するスイッチ制御処理と、このスイッチ制御処理が実行を指示した機能の実行状態を一定時間毎に制御するタイマスイッチ実行処理とを有し、前記スイッチ制御処理が機能の実行を最優先順位で指示した場合、それより優先順位の低いタイマスイッチ実行処理の動作を制限するマルチタスク制御を行うので、「リピート操作」が実行中であっても、その完了を待たずに即座に通常のスイッチ操作に対応することができる。
【0021】
【発明の実施の形態】
以下、本発明の実施の一形態による操作子制御装置を備えた電子楽器を実施例とし、これについて図面を参照して説明する。
A.構成
(1)全体構成
図1は実施例の全体構成を示すブロック図である。この図において、1はコンソールパネルに配設され、各種操作スイッチから構成されるパネルスイッチである。パネルスイッチ1では、前述した「同時押し操作」、「押し続け操作」あるいは「リピート操作」が所定のスイッチに割り当てられる。
本実施例では、このパネルスイッチ1において、「同時押し操作」した時の違和感を解消し、しかも「同時押し操作」を割り当てたスイッチに「押し続け操作」や「リピート操作」も同時に割り当てたり、「リピート操作」が実行中であっても、その完了を待たずに即座に通常のスイッチ操作に対応し得るようにしたことを特徴としている。なお、こうした特徴を具現するCPU7(操作子制御装置に相当)の処理動作については追って詳述する。
【0022】
2はスイッチ操作検出回路であり、上記パネルスイッチ1でのスイッチ操作(ONエッジあるいはOFFエッジ)を検出し、操作されたスイッチに対応したスイッチイベントを発生する。3はLCDパネルを備える表示装置3aと、表示装置3aを表示駆動するドライバ等を備える表示回路3bとから構成される表示部であり、後述するCPUから供給される表示制御信号に応じて、装置各部の設定状態や動作状態を画面表示する。画面表示の一例を図2に図示する。
【0023】
図2(a)は、設定画面中に他の設定画面へ遷移可能であることを示すガイダンス表示GD(矢印)を文字表示で行う状態を図示している。こうしたガイダンス表示GDによって、専用のセグメントを配置した場合と比較して、文字表示する領域を相対的に大きくとれる利点が生じる。また、ガイダンス表示GDは所定時間毎に本来表示すべき文字と交互に表示され、こうすることで文字表示する領域に表示できる文字数を減らさずにガイダンス表示し得るようになっている。さらに、所定時間おきにガイダンス表示GDと本来表示すべき文字とを交互に表示する場合に、本来表示すべき文字を表示する時間を長くし、ガイダンス表示GDする時間を短くして本来表示すべき文字を視認し易くすることを特徴としている。こうした特徴を具現する処理動作については追って詳述する。
【0024】
図2(b)は、本実施例による電子楽器がマルチパートを備えるのに対応し、例えば各パートの発音音量レベルを示すレベル表示を、文字表示する領域CDEを使用する態様を図示している。このようにすることで、従来、レベル表示専用のセグメントを配置した場合と比較して、文字表示する領域CDEを相対的に大きくとれることを特徴としている。この特徴を具現する処理動作については追って詳述する。
【0025】
次に、再び図1を参照して実施例の構成について説明を進める。図1において、4は鍵盤装置4aおよび鍵盤操作検出回路4bから構成される鍵盤部であり、押離鍵操作(演奏操作)に応じたキーオン/キーオフイベント、キーナンバおよびベロシティ等からなる演奏情報を発生する。5は図示されていない外部MIDI楽器から供給されるMIDIデータを、CPUの指示に応じて取り込んでRAMのバッファエリアへ転送したり、あるいは当該バッファエリアに格納されるMIDIデータを外部にシリアル出力するMIDIインタフェースである。6は回転操作に対応した操作データを発生するロータリーエンコーダである。ロータリーエンコーダ6は、回転レート(回転操作速度)に応じて実際のクリック数を変倍させて操作性を向上することを特徴としており、実際のクリック数に回転レートを乗算する処理は後述するCPU7(操作子制御装置に相当)にて行われる。
【0026】
CPU7は本発明の操作子制御装置に相当し、上述した各特徴を具現する各種処理を実行しながら楽器各部を制御する。具体的には、図3に示すように、公知のマルチタスク制御MTC環境下において、ハードウェア割込みにて最優先順位で起動される割込み処理および優先順位に従って割込み実行される優先順位1〜4の各タスク処理を実行する。
本実施例では、CPU7が実行するこれら各処理の内、割込み処理に含まれる「スイッチ制御処理」と、優先順位3タスク処理に含まれる「タイマスイッチ実行処理」、「ロータリーエンコーダ制御処理」、「タイマRE処理」と、優先順位4タスク処理に含まれる「表示制御/表示変更処理」とについて後述する。
【0027】
再び図1に戻り、実施例の構成を説明する。図1において、8はROMであり、CPU7にてマルチタスク制御MTCされる割込み処理および優先順位1〜4の各タスク処理にそれぞれ対応した各種制御プログラムや制御データを記憶する。このROM8に記憶される主要なデータの構成については追って説明する。9は各種レジスタ・フラグデータを一時記憶するワークエリアの他、データエリアおよびバッファエリアを備えるRAMである。RAM7のデータエリアには、上述した「スイッチ制御処理」、「タイマスイッチ実行処理」、「ロータリーエンコーダ制御処理」、「タイマRE処理」および「表示制御処理」に用いる制御データが一時記憶されるようになっており、これら制御データの構成については追って説明する。10は周知の波形メモリ読み出し方式により構成される音源装置であり、CPU7の指示の下、鍵盤部3が発生する演奏情報あるいはMIDIインタフェース5を介して入力されるMIDIデータに従った楽音データを発生する。11は音源10装置が発生する楽音データをアナログ形式の楽音信号にD/A変換した後、それを増幅してスピーカより放音させるサウンドシステムである。
【0028】
(2)ROM8のデータ構成
次に、図4を参照してROM8に記憶される主要なデータの構成について説明する。図4はスイッチ制御に係わる制御データおよび制御プログラムの構成を説明するための図である。この図において、スイッチ機能テーブルTBL1は、パネルスイッチ1に配設される各種スイッチ毎に割り当てられるスイッチ機能を登録したテーブルであり、スイッチ番号nに対応したスイッチ機能[n]を読み出す。スイッチ機能[n]は、ONエッジ機能、同時押し機能、ShortWait機能、リピート機能、押し続け機能、キャンセル可能OFFエッジ機能およびOFFエッジ機能の有無を表す。
【0029】
ONエッジ機能とは、ONエッジで割り当てられた処理の実行を指示する機能である。同時押し機能とは、同時押し操作される2つのスイッチに対応付けられるスイッチ機能を指し、そのスイッチ機能は後述の同時押しスイッチ変換テーブルTBL2にて定義される。ShortWait機能とは、ONエッジ検出時点から一定時間待機してタイマスタートさせる機能を指す。リピート機能とは、ONエッジから一定時間OFFエッジが検出されない場合にOFFエッジが検出されるまで、そのスイッチが一定時間の間隔で複数回押された時と同じ動作の繰り返し機能である。押し続け機能とは、ONエッジからOFFエッジに至る期間が一定時間を超えた場合に割り当てられた処理の実行を指示する機能である。キャンセル可能OFFエッジ機能とは、スイッチ状態がキャンセル又はオン以外の場合に割り当てられた処理の停止を指示する機能である。OFFエッジ機能とは、OFFエッジで割り当てられた処理の停止を指示する機能である。
【0030】
同時押しスイッチ変換テーブルTBL2は、同時押し操作されるスイッチi,jの組合せと、その組合せの同時押しが成立した場合に割り当てられる機能スイッチkとを対応付けるテーブルである。押し続けスイッチ変換テーブルTBL3は、押し続け操作されるスイッチlと、そのスイッチlの押し続けが成立した場合に割り当てられる機能スイッチmとを対応付けたテーブルである。
ROM8には、上記各テーブルTBL1〜TBL3の他、前述した「スイッチ制御処理」、「タイマスイッチ実行処理」、「ロータリーエンコーダ制御処理」、「タイマRE処理」、「表示制御処理」および「表示変更処理」に対応した各種制御プログラム群PRGが記憶される。
【0031】
(3)RAM9のデータ構成
次に、図5〜図9を参照してRAM9に格納されるスイッチ制御データ、ロータリーエンコーダ制御データおよび表示制御データの構成について説明する。
a.スイッチ制御データの構成
図5はRAM9に格納されるスイッチ制御データの構成を説明するための図である。この図に示すスイッチ状態テーブルSTL1は、パネルスイッチ1に配設される各種スイッチの状態が登録されるテーブルであり、スイッチ番号nに対応したスイッチ状態[n]を記憶する。スイッチ状態[n]は、通常ON状態、キャンセル状態、ShortWait確定待ち状態、押し続け確定待ち状態、リピート確定待ち状態、リピート中およびOFF状態のいずれかの状態を表す。
タイマスイッチ情報TSDは、上述したShortWait確定待ち状態、押し続け確定待ち状態、リピート確定待ち状態およびリピート中のいずれかの状態にあるスイッチに関するタイマ処理の状況、すなわち、現在時間、タイマスタート時間、タイマ処理発生時間およびタイマスイッチ番号を表す。
【0032】
b.ロータリーエンコーダ制御データの構成
図6はRAM9に格納されるロータリーエンコーダ制御データの構成を説明するための図である。この図において、REカウンタは、ロータリーエンコーダ6の回転操作に従ってクリックが発生する毎に、回転方向に応じてインクリメント(+1)あるいはデクリメント(−1)されるカウンタである。タイマRE情報TRDは、ロータリーエンコーダ6が回転操作されてクリックが発生する毎の現在時間および前回RE処理時間を表す。
【0033】
c.表示制御データの構成
図7は、図2(a)に図示したガイダンス表示GDを行う際に参照される表示制御データを示す図であり、ガイダンス表示状態、文字・セグメント表示データ、表示すべき文字情報、表示すべきセグメント情報、現在表示している文字情報および現在表示しているセグメント情報から構成される。さらに、所定時間おきにガイダンス表示GDと本来表示すべき文字とを交互に表示する場合には、図8に図示するように、上記各表示制御データに加えて表示時間カウンタを用いる。次に、図9は図2(b)に図示した表示形態、すなわち文字表示する領域CDEを使用してレベル表示を行う際に参照される表示制御データを示す図であり、レベルメータ表示状態、文字・セグメント表示データ、表示すべき文字情報、表示すべきセグメント情報、現在表示している文字情報、現在表示しているセグメント情報およびレベルメータ情報から構成される。
【0034】
B.動作
次に、図10〜図33を参照して、実施例において実行される「スイッチ制御処理」と、優先順位3タスク処理に含まれる「タイマスイッチ実行処理」、「ロータリーエンコーダ制御処理」、「タイマRE処理」と、優先順位4タスク処理に含まれる「表示制御/表示変更処理」との各動作について説明する。
【0035】
(1)スイッチ制御処理の動作
図10〜図17を参照してスイッチ制御処理の動作を説明する。パネルスイッチ1にてスイッチ操作が行われ、それに応じてスイッチ操作検出回路2がONエッジあるいはOFFエッジを検出してスイッチイベントを発生すると、CPU7はハードウェア割込みにて最優先順位のスイッチ制御処理を実行する。本処理が実行されると、CPU7は図10のステップSA1に処理を進め、タイマ処理(ShortWait待ち)のスイッチが存在する場合、その処理を停止させるタイマキャンセル処理を実行する。
【0036】
タイマキャンセル処理が実行されると、CPU7は図12のステップSB1に処理を進め、前述のタイマスイッチ情報TSDに含まれるタイマスイッチ番号を引数として、スイッチ状態テーブルSTL1からスイッチ状態を読み出し、読み出したスイッチ状態がShortWait確定待ち状態にあるか否かを判断する。ShortWait確定待ち状態でなければ、判断結果は「NO」になり、ステップSB2に進む。ステップSB2では、タイマスイッチ番号に対応したスイッチ状態テーブルSTL1中のスイッチ状態を、イベント無しを表す「キャンセル状態」にセットして後述するステップSB5に処理を進める。
【0037】
一方、ShortWait確定待ち状態であると、上記ステップSB1の判断結果は「YES」になり、ステップSB3に進む。ステップSB3では、タイマスイッチ番号に対応したスイッチ状態テーブルSTL1中のスイッチ状態を「OFF状態」にセットする。続いて、ステップSB4に進み、タイマスイッチ番号のスイッチON実行処理を行う。そして、ステップSB5では、タイマストップ処理を実行する。タイマストップ処理が実行されると、CPU7は図13に示すステップSC1に進み、タイマスイッチ情報TSD中のタイマスタート時間をリセットし、続くステップSC2ではタイマスイッチ情報TSD中のタイマスイッチ番号をリセットする。
【0038】
タイマストップ処理が完了すると、CPU7は図10に示すステップSA2に処理を進め、検出したスイッチ操作がONエッジであるか否か、つまりスイッチが押されたかどうかを判断する。スイッチが押されたONエッジであると、判断結果は「YES」になり、ステップSA3以降に処理を進め、そのスイッチに「同時押し機能」、「ShortWait機能」、「リピート機能」、「押し続け機能」および「ONエッジ機能」のいずれが割り当てられているのかを前述したスイッチ機能テーブルTBL1(図4参照)を参照して判別し、判別した機能に対応した処理を実行する。
一方、スイッチが離されたOFFエッジであれば、上記ステップSA2の判断結果は「NO」となり、ステップSA17以降に処理を進め、そのスイッチに「OFFエッジ機能」あるいは「キャンセル可能OFFエッジ機能」のいずれが割り当てられているのかをスイッチ機能テーブルTBL1を参照して判別し、判別した機能に対応した処理を実行する。
【0039】
以下では、「同時押し機能」、「ShortWait機能」、「リピート機能」、「押し続け機能」および「ONエッジ機能」のいずれかが割り当てられたONエッジの場合と、「OFFエッジ機能」あるいは「キャンセル可能OFFエッジ機能」のいずれかが割り当てられたOFFエッジの場合とに分けて動作説明する。
【0040】
a.「同時押し機能」が割り当てられたONエッジの場合
「同時押し機能」が割り当てられたスイッチが押されると、ステップSA3の判断結果が「YES」になり、ステップSA4に進む。ステップSA4では、前述した同時押しスイッチ変換テーブルTBL2(図4参照)を参照して、対応定義されるスイッチを検索する。次いで、ステップSA5では検索したスイッチとの同時押しが成立しているか否かを判断する。同時押しが成立していなければ、判断結果が「NO」になり、ステップSA8に進み、現在操作されているスイッチのスイッチ番号に対応したスイッチ状態テーブルSTL1のスイッチ状態を「通常ON状態」に更新した後、後述するステップSA9(図11参照)に処理を進める。
一方、同時押しが成立した場合には、上記ステップSA5の判断結果が「YES」になり、ステップSA6に進む。ステップSA6では、成立した同時押し機能スイッチkに割り当てられた処理を実行させる。そして、次のステップSA7に進み、スイッチ状態テーブルSTL1において同時押しされた各スイッチのスイッチ状態を「キャンセル状態」にセットして本処理を完了させる。
【0041】
b.「ShortWait機能」が割り当てられたONエッジの場合
「ShortWait機能」が割り当てられたスイッチが押されると、図11に示すステップSA9の判断結果が「YES」になり、ステップSA10に進み、ShortWait確定待ちセット処理を実行する。ShortWait確定待ちセット処理が実行されると、CPU7は図14に示すステップSD1に進み、操作されたスイッチのスイッチ番号に対応したスイッチ状態テーブルSTL1のスイッチ状態を「ShortWait確定待ち状態」にセットする。
【0042】
次いで、ステップSD2では、操作されたスイッチのスイッチ番号をタイマスイッチ番号に設定し、続くステップSD3では、待ち時間としてShortWait待ち時間Twを設定する。そして、ステップSD4を介してタイマスタート処理を実行すると、CPU7は図15に示すステップSE1に進み、タイマスイッチ情報TSD(図5参照)中の現在時間をタイマスタート時間にセットし、続くステップSE2では、上記ステップSD3にて待ち時間として設定されたShortWait待ち時間Twをタイマスイッチ情報TSD中のタイマ処理発生時間にセットした後、本処理を完了させる。
【0043】
c.「リピート機能」が割り当てられたONエッジの場合
「リピート機能」が割り当てられたスイッチが押されると、図11に示すステップSA11の判断結果が「YES」になり、ステップSA12に進み、リピート確定待ちセット処理を実行する。リピート確定待ちセット処理が実行されると、CPU7は図16に示すステップSF1に進み、操作されたスイッチのスイッチ番号に対応したスイッチ状態テーブルSTL1のスイッチ状態を「リピート確定待ち状態」にセットする。
【0044】
次いで、ステップSF2では、操作されたスイッチのスイッチ番号をタイマスイッチ番号に設定し、続くステップSF3では、待ち時間としてリピート待ち時間Trを設定する。そして、ステップSF4を介してタイマスタート処理を実行すると、CPU7は図15に示すステップSE1に進み、タイマスイッチ情報TSD(図5参照)中の現在時間をタイマスタート時間にセットし、続くステップSE2では、上記ステップSF3にて待ち時間として設定されたリピート待ち時間Trをタイマスイッチ情報TSD中のタイマ処理発生時間にセットした後、本処理を完了させる。
【0045】
d.「押し続け機能」が割り当てられたONエッジの場合
「押し続け機能」が割り当てられたスイッチが押されると、図11に示すステップSA13の判断結果が「YES」になり、ステップSA14に進み、押し続け確定待ちセット処理を実行する。押し続け確定待ちセット処理が実行されると、CPU7は図17に示すステップSG1に進み、操作されたスイッチのスイッチ番号に対応したスイッチ状態テーブルSTL1のスイッチ状態を「押し続け確定待ち状態」にセットする。
【0046】
次いで、ステップSG2では、操作されたスイッチのスイッチ番号をタイマスイッチ番号に設定し、続くステップSG3では、待ち時間として押し続け待ち時間Tkを設定する。そして、ステップSG4を介してタイマスタート処理を実行すると、CPU7は図15に示すステップSE1に進み、タイマスイッチ情報TSD(図5参照)中の現在時間をタイマスタート時間にセットし、続くステップSE2では、上記ステップSG3にて待ち時間として設定された押し続け待ち時間Tkをタイマスイッチ情報TSD中のタイマ処理発生時間にセットした後、本処理を完了させる。
【0047】
e.「ONエッジ機能」が割り当てられたONエッジの場合
「ONエッジ機能」が割り当てられたスイッチが押されると、図11に示すステップSA15の判断結果が「YES」になり、ステップSA16に進む。ステップSA16では、操作されたスイッチのスイッチ番号に対応付けられたスイッチON実行処理を行った後、本処理を完了させる。
【0048】
f.「OFFエッジ機能」が割り当てられたOFFエッジの場合
「OFFエッジ機能」が割り当てられたスイッチが離されると、図10に示すステップSA17の判断結果が「YES」になり、ステップSA20に進む。ステップSA20では、操作されたスイッチのスイッチ番号に対応付けられたスイッチOFF実行処理を行った後、本処理を完了させる。
【0049】
g.「キャンセル可能OFFエッジ機能」が割り当てられたOFFエッジの場合「キャンセル可能OFFエッジ機能」が割り当てられたスイッチが離されると、図10に示すステップSA18の判断結果が「YES」になり、ステップSA19に進む。ステップSA19では、操作されたスイッチのスイッチ番号に対応したスイッチ状態テーブルSTL1のスイッチ状態が「キャンセル状態」あるいは「通常ON状態」以外であるか否かを判断する。そして、「キャンセル状態」あるいは「通常ON状態」であると、判断結果は「NO」となり、何も処理せずに本処理を完了させる。
これに対し、「キャンセル状態」あるいは「通常ON状態」以外であれば、判断結果が「YES」になり、ステップSA20に進み、操作されたスイッチのスイッチ番号に対応付けられたスイッチOFF実行処理を行った後、本処理を完了させる。
【0050】
(2)タイマスイッチ実行処理の動作
次に、図18〜図25を参照してタイマスイッチ実行処理の動作を説明する。優先順位3タスク処理に含まれるタイマスイッチ実行処理は、一定周期毎のタイマ割込みにて実行される。実行タイミングになると、CPU7は図18のステップSH1、SH2において、タイマスイッチ情報TSDのタイマスイッチ番号およびタイマスタート時間がそれぞれセット済みであるか否かを判断する。
すなわち、スイッチ操作に応じて、上述した「ShortWait確定待ちセット処理(図14参照)」、「リピート確定待ちセット処理(図16参照)」および「押し続け確認待ちセット処理(図17参照)」のいずれかの実行に伴いタイマスタート処理(図15参照)が起動しているかどうかを判断する。
【0051】
タイマスタート処理が起動していなければ、上記ステップSH1,SH2の各判断結果はいずれも「NO」になり、本処理を完了させる。一方、タイマスタート処理が起動されていると、各判断結果はいずれも「YES」になり、次のステップSH3に処理を進める。ステップSH3では、タイマスイッチ情報TSDの現在時間からタイマスタート時間を減算した結果がタイマ処理発生時間以上であるか、つまり待ち時間が経過したかどうかを判断する。待ち時間が経過していなければ、判断結果は「NO」となり、本処理を完了させるが、待ち時間が経過していると、判断結果が「YES」になり、ステップSH4に進む。
【0052】
ステップSH4では、タイマスイッチ情報TSDのタイマスイッチ番号を引数として、スイッチ状態テーブルSTL1からスイッチ状態を読み出す。そして、ステップSH5以降では、スイッチ状態が「ShortWait確定待ち状態」、「押し続け確定待ち状態」、「リピート確定待ち状態」および「リピート中」のいずれであるかを判別し、判別した状態に対応した処理を行う。以下、各状態別に分けて説明を進める。
【0053】
a.「ShortWait確定待ち状態」の場合
この場合、ステップSH5の判断結果が「YES」となり、ステップSH6に進み、タイマスイッチ番号に対応したスイッチ状態テーブルSTL1中のスイッチ状態を「通常ON状態」にセットする。続いて、ステップSH7では、タイマスイッチ番号のスイッチON実行処理を行う。そして、ステップSH8に進み、タイマストップ処理を実行する。タイマストップ処理が実行されると、CPU7は図13に示すステップSC1に進み、タイマスイッチ情報TSD中のタイマスタート時間をリセットし、続くステップSC2ではタイマスイッチ情報TSD中のタイマスイッチ番号をリセットする。
【0054】
この後、図19に図示するステップSH9に進み、スイッチ機能テーブルTBL1を参照して、スイッチON実行処理(上述のステップSH7)が行われたスイッチに「リピート機能」が割り当てられているか否かを判別する。「リピート機能」が割り当てられていた場合、判断結果は「YES」となり、ステップSH10に進み、前述したリピート確認待ちセット処理を実行する。リピート確定待ちセット処理が実行されると、CPU7は図16に示すステップSF1に進み、スイッチON実行処理(上述のステップSH7)が行われたスイッチのスイッチ番号に対応したスイッチ状態テーブルSTL1のスイッチ状態を「リセット確定待ち状態」にセットする。
【0055】
次いで、ステップSF2では、スイッチON実行処理が行われたスイッチのスイッチ番号をタイマスイッチ番号に設定し、続くステップSF3では、待ち時間としてリピート待ち時間Trを設定する。そして、ステップSF4を介してタイマスタート処理を実行すると、CPU7は図15に示すステップSE1に進み、タイマスイッチ情報TSD(図5参照)中の現在時間をタイマスタート時間にセットし、続くステップSE2では、上記ステップSF3にて待ち時間として設定されたリピート待ち時間Trをタイマスイッチ情報TSD中のタイマ処理発生時間にセットした後、本処理を完了させる。
【0056】
これに対し、「リピート機能」が割り当てられていない場合には、判断結果が「NO」となり、図19に示すステップSH11に進む。ステップSH11では、スイッチ機能テーブルTBL1を参照して、上述のステップSH7にてスイッチON実行処理が行われたスイッチに「押し続け機能」が割り当てられているか否かを判別する。「押し続け機能」が割り当てられていなければ、判断結果は「NO」になり、本処理を完了させるが、割り当てられていると、判断結果が「YES」となり、ステップSH12に進み、押し続け確定待ちセット処理を実行する。押し続け確定待ちセット処理が実行されると、CPU7は図17に示すステップSG1に進み、スイッチON実行処理が行われたスイッチのスイッチ番号に対応したスイッチ状態テーブルSTL1のスイッチ状態を「押し続け確定待ち状態」にセットする。
【0057】
次いで、ステップSG2では、スイッチON実行処理が行われたスイッチのスイッチ番号をタイマスイッチ番号に設定し、続くステップSG3では、待ち時間として押し続け待ち時間Tkを設定する。そして、ステップSG4を介してタイマスタート処理を実行すると、CPU7は図15に示すステップSE1に進み、タイマスイッチ情報TSD(図5参照)中の現在時間をタイマスタート時間にセットし、続くステップSE2では、上記ステップSG3にて待ち時間として設定された押し続け待ち時間Tkをタイマスイッチ情報TSD中のタイマ処理発生時間にセットした後、本処理を完了させる。
【0058】
b.「押し続け確定待ち状態」の場合
この場合、図20に図示するステップSH13の判断結果が「YES」となり、ステップSH14に進み、押し続け機能スイッチ処理を実行する。押し続け機能スイッチ処理が実行されると、CPU7は図21に示すステップSJ1に進み、押し続けスイッチ変換テーブルTBL3(図4参照)を参照して、タイマスイッチ番号に対応する押し続け機能スイッチmを検出する。次いで、ステップSJ2では、検出した押し続け機能スイッチmを実行する。そして、ステップSJ3を介してタイマストップ処理を実行する。タイマストップ処理が実行されると、CPU7は図13に示すステップSC1に進み、タイマスイッチ情報TSD中のタイマスタート時間をリセットし、続くステップSC2ではタイマスイッチ情報TSD中のタイマスイッチ番号をリセットする。
【0059】
c.「リピート確定待ち状態」の場合
この場合、図20に図示するステップSH15の判断結果が「YES」となり、ステップSH16に進み、リピート確定処理を実行する。リピート確定処理が実行されると、CPU7は図22に示すステップSK1に進み、タイマスイッチ番号に対応したスイッチ状態テーブルSTL1中のスイッチ状態を「リピート中」にセットする。次いで、ステップSK2では、待ち時間としてリピート中時間Taを設定する。この後、ステップSK3を介してタイマスタート処理を実行すると、CPU7は図15に示すステップSE1に進み、タイマスイッチ情報TSD中の現在時間をタイマスタート時間にセットし、続くステップSE2では、上記ステップSK2にて待ち時間として設定されたリピート中時間Taをタイマスイッチ情報TSD中のタイマ処理発生時間にセットした後、本処理を完了させる。
【0060】
d.「リピート中」の場合
この場合、図20に図示するステップSH17の判断結果が「YES」となり、ステップSH18に進み、リピート機能スイッチ処理を実行する。リピート機能スイッチ処理が実行されると、CPU7は図23に示すステップSL1に進み、スイッチON実行処理を行う。次いで、ステップSL2では、待ち時間としてリピート中時間Taを設定する。この後、ステップSL3を介してタイマスタート処理を実行すると、CPU7は図15に示すステップSE1に進み、タイマスイッチ情報TSD中の現在時間をタイマスタート時間にセットし、続くステップSE2では、上記ステップSL2にて待ち時間として設定されたリピート中時間Taをタイマスイッチ情報TSD中のタイマ処理発生時間にセットした後、本処理を完了させる。
【0061】
次に、図24〜図25を参照して、上述したスイッチ制御に係わる各種処理を要約して説明する。図24は「同時押し機能」、「ShortWait機能」および「リピート機能」が割り当てられたスイッチnの動作タイミングを示す図である。この図に示すように、先ずタイミングAでスイッチnが押されてONエッジが発生したとする。そうすると、
(イ)このタイミングAからShortWait確定待ち時間Twが経過する迄の間、通常のスイッチON実行処理は行われず、スイッチnと対に同時押し機能が割り当てられるスイッチが押された場合にのみ、同時押し機能スイッチkが実行される。
(ロ)また、ShortWait確定待ち時間Twが経過する迄の間に、スイッチnが離された場合には、ShortWait確定待ち状態を即座に終了して通常のスイッチON実行処理が行われる。
(ハ)ShortWait確定待ち時間Twが経過したタイミングBにおいてスイッチnの通常のスイッチON実行処理が行われる。つまり、ShortWait確定待ち時間Twは同時押し機能スイッチ処理と通常のスイッチON実行処理とを判別するための待ち時間であり、その時間長を適切に調整することによって、ゆっくりとしたスイッチ操作が為された場合でも違和感が少ない操作性を実現し得るようになっている。
(ニ)スイッチnを押し続け、ShortWait確定待ち時間Twおよびリピート待ち時間Trを経てリピート待ちが確定するタイミングCに達すると、スイッチnに割り当てられたリピート機能スイッチ処理が開始され、以後、スイッチnが離されるタイミングGに達するまでの間、リピート中時間Taが経過するタイミングD、E、F毎にリピート機能のスイッチON実行処理が繰り返し行われる。
【0062】
次に、図25は「同時押し機能」、「押し続け機能」および「キャンセル可能OFFエッジ機能」が割り当てられたスイッチnの動作タイミングを示す図である。この図に示すように、先ずタイミングAでスイッチnが押されてONエッジが発生したとする。そうすると、
(ホ)このタイミングAから押し続け待ち時間Tkが経過する迄の間、通常のスイッチON実行処理は行われず、スイッチnと対に同時押し機能が割り当てられるスイッチが押された場合にのみ、同時押し機能スイッチkが実行される。
(へ)また、押し続け待ち時間Tkが経過する迄の間に、スイッチnが離された場合には、押し続け確定待ち状態を即座に終了して通常のスイッチON実行処理が行われる。
(ト)押し続け待ち時間Tkが経過するタイミングBまでスイッチnを押し続け、しかも同時押しが成立しない場合には、そのスイッチnに割り当てられた押し続け機能スイッチmの処理が実行される。
(チ)スイッチnが離されるタイミングCまでの間に、同時押し機能スイッチkまたは押し続け機能スイッチmのいずれかの処理が発生しなければ、タイミングCにてスイッチOFF実行処理が行われる。
【0063】
以上のように、本実施例では、スイッチnが押されてONエッジが発生してからShortWait確定待ち時間Twが経過する迄の間に、スイッチnと対に同時押し機能が割り当てられるスイッチが押された場合にのみ、同時押し機能スイッチkが実行されるので、ONエッジからOFFエッジまでの時間が長くゆっくりとしたスイッチ操作を行ったとしても、スイッチの反応が遅くなることは無く、従来の違和感を解消し得るようになっている。
【0064】
また、本実施例では、同時押し機能が割り当てられたスイッチにリピート機能および押し続け機能をアサインしておき、そのスイッチを押し続けてShortWait確定待ち時間Twおよびリピート待ち時間Trを経てリピート待ちが確定した場合にはスイッチnに割り当てられたリピート機能スイッチ処理が開始され、さらに押し続け待ち時間Tkが経過するまでスイッチを押し続け、同時押しが成立しなければ、そのスイッチnに割り当てられた押し続け機能スイッチ処理が開始されるので、「同時押し操作」を割り当てたスイッチに「押し続け操作」や「リピート操作」も同時に割り当てることが可能になる。
【0065】
加えて、本実施例では、最優先順位のスイッチ制御処理が実行されている場合、それより優先順位の低いタイマスイッチ実行処理の実行を制限するマルチタスク制御を行うので、「リピート操作」が実行中であっても、その完了を待たずに即座に通常のスイッチ操作に対応し得るようになっている。
【0066】
(3)ロータリーエンコーダ制御処理の動作
次に、図26を参照してロータリーエンコーダ制御処理の動作を説明する。優先順位3タスク処理に含まれるロータリーエンコーダ制御処理は、ロータリーエンコーダ6の回転操作に応じてクリックが発生する毎に実行される。ロータリーエンコーダ制御処理が実行されると、CPU7は図26のステップSM1に処理を進め、回転方向が+側(例えば時計回り方向)であるか否かを判断する。回転方向が+側であると、判断結果は「YES」になり、ステップSM2に進み、ロータリーエンコーダ制御データ(図6参照)のREカウンタRCの値をインクリメントして本処理を完了させる。一方、回転方向が−側(例えば反時計回り方向)であれば、上記ステップSM1の判断結果は「NO」になり、ステップSM3に進み、ロータリーエンコーダ制御データのREカウンタRCの値をデクリメントして本処理を完了させる。
【0067】
(4)タイマRE処理の動作
次に、図27を参照してタイマRE処理の動作を説明する。優先順位3タスク処理に含まれるタイマRE処理は、一定周期毎のタイマ割込みにて実行される。実行タイミングになると、CPU7は図27のステップSN1に進み、REカウンタRCの値が「0」以外であるかどうかを判断する。REカウンタRCの値が「0」であると、判断結果は「NO」になって本処理を完了させるが、REカウンタRCの値が「0」以外であれば、判断結果が「YES」になり、ステップSN2に進む。
ステップSN2では、タイマRE情報TRD(図6参照)の現在時間から前回RE処理時間を減算して経過時間を算出する。続いて、ステップSN3では、REカウンタRCの値/(1回転のクリック数×経過時間)により回転レートnを算出する。例えば、1回転で24クリックのロータリーエンコーダ6を0.2秒間(経過時間)に12クリックされた時の回転レートnは「2.5(rev/sec)」となる。
【0068】
次いで、ステップSN4では、上記ステップSN3にて算出された回転レートnが「2」以上であるか否かを判断する。回転レートnが「2」未満であれば、判断結果は「NO」になり、後述するステップSN6に進む。一方、回転レートnが「2」以上であると、判断結果は「YES」になり、ステップSN5に進み、REカウンタRCの値に回転レートnを乗算し、その値をREカウンタRCの値にセットする。そして、ステップSN6では、REカウンタRCの値分、スイッチが押された時と同様の処理を実行する。この後、ステップSN7に進み、REカウンタRCをゼロリセットし、続くステップSN8では、前回RE処理時間を現在時間に更新してから本処理を完了させる。
このように、タイマRE処理では、2回転以上の回転レートnでロータリーエンコーダ6を操作すると、REカウンタRCの値が回転レートn倍されるから、設定値を大きく変更するような場合、より少ない回転操作で対応できる結果、ロータリーエンコーダの操作性を向上させることが可能になる。
【0069】
(5)表示制御/表示変更処理
次に、図28〜図33を参照して表示制御処理および表示変更処理の動作を説明する。以下では、図2(a)に図示したように、設定画面中に他の設定画面へ遷移可能であることを示す矢印のガイダンス表示GDを文字表示で行う第1の表示制御/表示変更処理と、図2(b)に図示したように、各パートの発音音量レベルを示すレベル表示を、文字表示する領域CDEで行う第2の表示制御/表示変更処理とに分けてそれらの動作を説明する。
【0070】
a.第1の表示制御/表示変更処理の動作
a−1.表示制御(1)処理の動作
優先順位4タスク処理に含まれる表示制御(1)処理は、一定周期毎のタイマ割込みにて実行される。実行タイミングになると、CPU7は図28のステップSO1に処理を進める。ステップSO1では、RAM9に格納される表示制御データ(図7参照)のガイダンス表示状態を参照し、続くステップSO2では、そのガイダンス表示状態がガイダンス表示有りの状態を表すものであるか否かを判断する。
【0071】
ガイダンス表示有りの場合、判断結果は「YES」になり、ステップSO3を介して図29に図示するガイダンス付表示更新(1)処理のステップSO3−1に進み、表示制御データ中の文字・セグメント表示データにガイダンス表示が付加された、表示すべき文字情報およびセグメント情報を生成する。
一方、ガイダンス表示無しの場合には、上記ステップSO2の判断結果が「NO」となり、ステップSO4に進み、表示制御データ中の文字・セグメント表示データから表示すべき文字情報およびセグメント情報を生成する。
【0072】
この後、ステップSO5に進み、現在表示している情報と表示すべき情報とを比較し、続くステップSO6ではその比較の結果が不一致であるか否かを判断する。そして、現在表示している情報と表示すべき情報とが一致していれば、判断結果が「NO」となり、この場合、表示を更新する必要が無いので、何も処理せずに本処理を完了させる。
一方、現在表示している情報と表示すべき情報とが不一致になると、上記ステップSO6の判断結果が「YES」になり、ステップSO7に進み、現在表示している情報から表示すべき情報に表示更新してから本処理を完了させる。
これにより、図2(a)に図示したように、設定画面中に他の設定画面へ遷移可能であることを示すガイダンス表示GD(矢印)が行われ、こうしたガイダンス表示GDを行うことによって、専用のセグメントを配置した場合と比較して、文字表示する領域を相対的に大きくとれる利点が生じる。
【0073】
a−2.変形例
次に、図30を参照して変形例によるガイダンス付表示更新(2)処理の動作について述べる。上述したガイダンス付表示更新(1)処理において、表示すべき文字数が多いと、ガイダンス表示用の表示桁が文字表示領域を超える場合も起こり得る。変形例によるガイダンス付表示更新(2)処理では、そうした場合に対応する処理である。
すなわち、上述した表示制御(1)処理のステップSO3(図28参照)を介してガイダンス付表示更新(2)処理が実行されると、CPU7は図30に示すステップSP1に進み、図8に図示した表示制御データ中の表示時間カウンタの値が、ガイダンス表示時間T1以上であるか否かを判断する。表示時間カウンタの値がガイダンス表示時間T1未満であると、判断結果は「NO」になり、表示制御データ中の文字・セグメント表示データから表示すべき文字情報およびセグメント情報を生成してステップSP4に進む。
【0074】
これに対し、表示時間カウンタの値がガイダンス表示時間T1以上であると、判断結果が「YES」となり、ステップSP3を介して図29に図示するガイダンス付表示更新(1)処理のステップSO3−1に進み、表示制御データ中の文字・セグメント表示データにガイダンス表示が付加された、表示すべき文字情報およびセグメント情報を生成してから図30のステップSP4に進む。
ステップSP4では、上述した表示制御(1)処理のタイマ割込み周期T0を表示時間カウンタに加算する。次いで、ステップSP5では、タイマ割込み周期T0を加算した表示時間カウンタの値が、ガイダンス表示時間T1と文字表示時間T2との和以上であるか否かを判断する。そうであれば、判断結果は「YES」になり、ステップSP6にて表示時間カウンタをリセットして本処理を終え、そうでなければ、判断結果が「NO」になり、本処理を完了させる。
【0075】
このように、変形例によれば、表示時間カウンタの値がT1未満ではガイダンス表示が行われ、T1以上(T1+T2)未満では本来表示すべき文字情報のみが表示される期間となり、そしてタイマ割込み周期T0を加算した表示時間カウンタの値が(T1+T2)以上になると、表示時間カウンタをゼロリセットする動作を繰り返すので、ガイダンス表示と本来表示すべき文字とが交互に表示される。
このようにすることで文字表示する領域に表示できる文字数を減らさずにガイダンス表示し得るようになっている。なお、ガイダンス表示期間と本来表示すべき文字のみ表示する期間とは同期間でなくとも構わず、本来表示すべき文字のみ表示する期間をガイダンス表示期間より長くして視認性を向上させる態様としてもよい。
【0076】
a−3.表示変更(1)処理の動作
次に、図31を参照して表示変更(1)処理の動作を説明する。表示変更指示するスイッチが操作されると、本処理が実行され、ステップSQ1に進む。ステップSQ1では、表示変更指示に応じて文字・セグメント表示データを変更する。次いで、ステップSQ2では、表示変更指示に対応して表示すべき画面が他の設定画面に遷移可能であるか否かを判断する。他の設定画面に遷移可能であれば、判断結果は「YES」になり、ステップSQ3に進み、表示制御データ中のガイダンス表示状態を「有り」に設定して本処理を完了させる。一方、他の設定画面に遷移出来ない場合には、判断結果が「NO」となり、ステップSQ4に進み、表示制御データ中のガイダンス表示状態を「無し」に設定して本処理を完了させる。
【0077】
b.第2の表示制御/表示変更処理の動作
b−1.表示制御(2)処理の動作
優先順位4タスク処理に含まれる表示制御(2)処理は、一定周期毎のタイマ割込みにて実行される。実行タイミングになると、CPU7は図32のステップSR1に処理を進める。ステップSR1では、RAM9に格納される表示制御データ(図9参照)のレベルメータ表示状態を参照し、続くステップSR2では、そのレベルメータ表示状態がレベルメータ表示有りの状態を表すものであるか否かを判断する。レベルメータ表示有りの場合、判断結果は「YES」になり、ステップSR3に進み、表示制御データ中のレベルメータ情報からレベルメータを表示させる文字・セグメント表示データを生成し、それに基づき表示すべき文字情報およびセグメント情報を生成する。
一方、レベルメータ表示無しの場合には、上記ステップSR2の判断結果が「NO」となり、ステップSR4に進み、表示制御データ中の文字・セグメント表示データから表示すべき文字情報およびセグメント情報を生成する。
【0078】
この後、ステップSR5に進み、現在表示している情報と表示すべき情報とを比較し、続くステップSR6ではその比較の結果が不一致であるか否かを判断する。そして、現在表示している情報と表示すべき情報とが一致していれば、判断結果が「NO」となり、この場合、表示を更新する必要が無いので、何も処理せずに本処理を完了させる。一方、現在表示している情報と表示すべき情報とが不一致になると、上記ステップSR6の判断結果が「YES」になり、ステップSR7に進み、現在表示している情報から表示すべき情報に表示更新してから本処理を完了させる。
これにより、図2(b)に図示したように、文字表示する領域CDEを使用してレベル表示することが可能になり、そうすることで、従来、レベル表示専用のセグメントを配置した場合と比較して、文字表示する領域CDEを相対的に大きくとれる利点が生じる。
【0079】
b−2.表示変更(2)処理の動作
次に、図33を参照して表示変更(2)処理の動作を説明する。表示変更指示するスイッチが操作されると、本処理が実行され、ステップSS1に進む。ステップSS1では、表示変更指示に対応した表示内容変更の有無を判断する。表示内容を変更しない場合には、判断結果が「NO」になり、後述のステップSS3に進む。一方、表示内容を変更する場合には、判断結果が「YES」となり、次のステップSS2に進む。
ステップSS2では、表示変更指示に応じて、表示制御データの文字・セグメント表示データおよびレベルメータ情報を変更する。次いで、ステップSS3では、表示変更指示がレベルメータ表示指示であるか否かを判断する。レベルメータ表示指示であると、判断結果は「YES」になり、ステップSS4に進み、表示制御データ中のレベルメータ表示状態を「有り」に設定して本処理を完了させる。一方、レベルメータ表示指示でなければ、上記ステップSS3の判断結果が「NO」となり、ステップSS5に進み、表示制御データ中のレベルメータ表示状態を「無し」に設定して本処理を完了させる。
【0080】
以上のように、表示制御/表示変更処理によれば、ガイダンスを表示する部分に本来の表示すべき文字とガイダンス表示とを交互に表示するようにした為、表示できる情報を減らさずにガイダンス表示を行うことが可能になっている。また、本来の表示すべき文字とガイダンス表示とを交互に表示する期間を非対称とし、本来の表示すべき文字を表示する期間を長くすることで視認性を向上させることができる。加えて、文字表示する領域CDEを使用してレベル表示するようにした為、従来、レベル表示専用のセグメントを配置した場合と比較して、文字表示する領域CDEを相対的に大きくとれる利点がある。
【0081】
【発明の効果】
請求項1〜3に記載の発明によれば、スイッチのオン操作に応じて、他のスイッチとの同時押しか否かを判定する待ち時間を設定し、設定された待ち時間が経過するまでの間に、前記オン操作されたスイッチと対に同時押し機能が割り当てられるスイッチがオン操作された場合にのみ、前記同時押し機能の実行を指示するので、ONエッジからOFFエッジまでの時間が長くゆっくりとしたスイッチ操作を行ったとしても、スイッチの反応が遅くなることは無く、従来の違和感を解消することができる。
請求項4〜6に記載の発明によれば、2つの異なるスイッチが同時にオン操作された場合にある機能の実行を指示する同時押し機能と、第1の待ち時間オン操作を持続させた場合にオフ操作されるまで一定時間の間隔で複数回オン操作された時と同じ動作の繰り返しを指示するリピート機能と、オン操作から第2の待ち時間を超えた場合にある機能の実行を指示する押し続け機能とを所定スイッチに割り当てておき、この所定スイッチと対に同時押し機能が割り当てられるスイッチがオン操作されず同時押しが成立しない状態で、その所定スイッチを第1の待ち時間が経過するまでオン操作を持続させた場合にはリピート機能の実行を指示し、一方、前記所定スイッチと対に同時押し機能が割り当てられるスイッチがオン操作されず同時押しが成立しない状態で、その所定スイッチを第2の待ち時間が経過するまでオン操作を持続させた場合に押し続け機能の実行を指示するようにしたので、「同時押し操作」を割り当てたスイッチに「押し続け操作」や「リピート操作」も同時に割り当てることができる。
請求項7〜9に記載の発明によれば、スイッチ操作に応じて、そのスイッチに対応付けられた機能の実行を最優先順位で指示するスイッチ制御処理と、このスイッチ制御処理が実行を指示した機能の実行状態を一定時間毎に制御するタイマスイッチ実行処理とを有し、前記スイッチ制御処理が機能の実行を最優先順位で指示した場合、それより優先順位の低いタイマスイッチ実行処理の動作を制限するマルチタスク制御を行うので、「リピート操作」が実行中であっても、その完了を待たずに即座に通常のスイッチ操作に対応することができる。
【図面の簡単な説明】
【図1】本発明による一実施例の全体構成を示すブロック図である。
【図2】表示装置3aに表示される表示画面の一例を示す図である。
【図3】CPU7が実行するマルチタスクの構成を示す図である。
【図4】ROM8に記憶される主要なデータの構成を示す図である。
【図5】RAM9に格納されるスイッチ制御データの構成を説明するための図である。
【図6】RAM9に格納されるロータリーエンコーダ制御データの構成を説明するための図である。
【図7】RAM9に格納される表示制御データの一例を示す図である。
【図8】RAM9に格納される表示制御データの一例を示す図である。
【図9】RAM9に格納される表示制御データの一例を示す図である。
【図10】スイッチ制御処理の動作を示すフローチャートである。
【図11】スイッチ制御処理の動作を示すフローチャートである。
【図12】タイマキャンセル処理の動作を示すフローチャートである。
【図13】タイマストップ処理の動作を示すフローチャートである。
【図14】ShortWait確定待ちセット処理の動作を示すフローチャートである。
【図15】タイマスタート処理の動作を示すフローチャートである。
【図16】リピート確定待ちセット処理の動作を示すフローチャートである。
【図17】押し続け確定待ちセット処理の動作を示すフローチャートである。
【図18】タイマスイッチ実行処理の動作を示すフローチャートである。
【図19】タイマスイッチ実行処理の動作を示すフローチャートである。
【図20】タイマスイッチ実行処理の動作を示すフローチャートである。
【図21】押し続け機能スイッチ処理の動作を示すフローチャートである。
【図22】リピート確定動作を示すフローチャートである。
【図23】リピート機能スイッチ処理の動作を示すフローチャートである。
【図24】「同時押し機能」、「ShortWait機能」および「リピート機能」が割り当てられたスイッチnの動作タイミングを示す図である。
【図25】「同時押し機能」、「押し続け機能」および「キャンセル可能OFFエッジ機能」が割り当てられたスイッチnの動作タイミングを示す図である。
【図26】ロータリーエンコーダ制御処理の動作を示すフローチャートである。
【図27】タイマRE処理の動作を示すフローチャートである。
【図28】表示制御(1)処理の動作を示すフローチャートである。
【図29】ガイダンス付表示更新(1)処理の動作を示すフローチャートである。
【図30】ガイダンス付表示更新(2)処理の動作を示すフローチャートである。
【図31】表示変更(1)処理の動作を示すフローチャートである。
【図32】表示制御(2)処理の動作を示すフローチャートである。
【図33】表示変更(2)処理の動作を示すフローチャートである。
【符号の説明】
1 パネルスイッチ
2 スイッチ操作検出回路
3 表示部
4 鍵盤部
5 MIDIインタフェース
6 ロータリーエンコーダ
7 CPU
8 ROM
9 RAM
10 音源装置
11 サウンドシステム
【発明の属する技術分野】
本発明は、例えばスイッチやロータリーエンコーダ等、操作パネルに配設される操作子の操作性を向上させる操作子制御装置、操作子制御方法および操作子制御プログラムに関する。
【0002】
【従来の技術】
CPUあるいはマイクロコンピュータを搭載した電子機器では、操作パネル上の限られた操作子で多くの機能を操作可能にする為、操作の仕方の違いにより一つの操作子に複数の機能を割り当てる操作子制御が行われている。
例えば、2つのスイッチを同時押ししてある機能の実行を指示する「同時押し操作」や、スイッチが押されてオン状態になるONエッジからそのスイッチが離されてオフ状態になるOFFエッジに至る期間が一定時間を超えた場合にある機能の実行を指示する「押し続け操作」、あるいはONエッジから一定時間OFFエッジが検出されない場合に、OFFエッジが検出されるまでそのスイッチが一定時間の間隔で複数回押された時と同じ動作の繰り返しを指示する「リピート操作」が知られている。また、こうした「リピート操作」をロータリーエンコーダの回転操作にて代用する操作も知られている。
【0003】
なお、この種の技術として、例えば特許文献1には、2つのスイッチの同時押下に応じてビープ音の設定又は設定解除を行うものが開示されている。さらに、特許文献2には、マイクロコンピュータの複数端子にそれぞれスイッチが複数接続され、キー2つ以上の同時押しが多数存在する場合に発生するキーコードのサイズを減縮する方法が開示されている。
【0004】
【特許文献1】
特許公開平7−44166号公報
【特許文献2】
特許公開2000−249760号公報
【0005】
【発明が解決しようとする課題】
ところで、上述した「同時押し操作」では、例えば2つのスイッチA、Bの同時押しに機能Cを割り当てる場合に、スイッチAのONエッジでは何も行わず、スイッチAのOFFエッジでスイッチBがオフ状態にあると、スイッチAに割り当てられた機能の実行を指示し、スイッチAのOFFエッジでスイッチBがオン状態にあれば、機能Cの実行を指示するようにしている。
つまり、「同時押し操作」であるか否かを判定するタイミングにスイッチAのONエッジを用いると、スイッチAを押した直後にスイッチBが押された場合も誤って「同時押し操作」と見做してしまう虞がある為、スイッチAのOFFエッジを「同時押し操作」であるか否かを判定するタイミングにしている。
【0006】
ところが、このようにOFFエッジを「同時押し操作」の判定タイミングにすると、ONエッジからOFFエッジまでの時間が長くゆっくりとしたスイッチ操作が行われた場合、スイッチの反応が遅い印象となり、違和感が生じるという弊害がある。
また、OFFエッジを「同時押し操作」の判定タイミングにすると、その「同時押し操作」が割り当てられたスイッチに、上述した「押し続け操作」や「リピート操作」を割り当てることが出来なくなる、という問題がある。
さらに、上述した「リピート操作」に、処理に要する時間が長い機能を割り当てると、その機能をリピート回数分処理し終える迄、次の操作が待たされてしまい、操作性が悪化するという問題もある。
【0007】
加えて、スイッチの「リピート操作」と同等の機能をロータリーエンコーダを用いて実現させる場合、例えば1回転操作が24クリックのロータリーエンコーダを用いて0〜255を指定させるためには10回転以上操作しなければならず、極めて煩雑な操作になる。
【0008】
本発明は、このような事情に鑑みてなされたもので、第1の目的は「同時押し操作」した時の違和感を解消でき、しかも「同時押し操作」を割り当てたスイッチに「押し続け操作」や「リピート操作」も同時に割り当てることができる操作子制御装置、操作子制御方法および操作子制御プログラムを提供することを目的としている。
また、本発明の第2の目的は、「リピート操作」が実行中であっても、その完了を待たずに即座に通常のスイッチ操作に対応することができる操作子制御装置、操作子制御方法および操作子制御プログラムを提供することを目的としている。
【0009】
【課題を解決するための手段】
上記目的を達成するため、請求項1に記載の発明では、スイッチのオン操作に応じて、他のスイッチとの同時押しか否かを判定する待ち時間を設定する設定手段と、この設定手段により設定された待ち時間が経過するまでの間に、前記オン操作されたスイッチと対に同時押し機能が割り当てられるスイッチがオン操作された場合にのみ、前記同時押し機能の実行を指示する指示手段とを具備することを特徴とする。
【0010】
請求項2に記載の発明では、スイッチのオン操作に応じて、他のスイッチとの同時押しか否かを判定する待ち時間を設定する設定過程と、この設定過程にて設定された待ち時間が経過するまでの間に、前記オン操作されたスイッチと対に同時押し機能が割り当てられるスイッチがオン操作された場合にのみ、前記同時押し機能の実行を指示する指示過程とを具備することを特徴とする。
【0011】
請求項3に記載の発明では、スイッチのオン操作に応じて、他のスイッチとの同時押しか否かを判定する待ち時間を設定する設定ステップと、この設定ステップにて設定された待ち時間が経過するまでの間に、前記オン操作されたスイッチと対に同時押し機能が割り当てられるスイッチがオン操作された場合にのみ、前記同時押し機能の実行を指示する指示ステップとをコンピュータで実行させることを特徴とする。
【0012】
請求項4に記載の発明では、2つの異なるスイッチが同時にオン操作された場合にある機能の実行を指示する同時押し機能と、第1の待ち時間オン操作を持続させた場合にオフ操作されるまで一定時間の間隔で複数回オン操作された時と同じ動作の繰り返しを指示するリピート機能と、オン操作から第2の待ち時間を超えた場合にある機能の実行を指示する押し続け機能とを所定スイッチに割り当てる割当て手段と、前記所定スイッチと対に同時押し機能が割り当てられるスイッチがオン操作されず同時押しが成立しない状態で、その所定スイッチを第1の待ち時間が経過するまでオン操作を持続させた場合に前記リピート機能の実行を指示する第1の指示手段と、前記所定スイッチと対に同時押し機能が割り当てられるスイッチがオン操作されず同時押しが成立しない状態で、その所定スイッチを第2の待ち時間が経過するまでオン操作を持続させた場合に前記押し続け機能の実行を指示する第2の指示手段とを具備することを特徴とする。
【0013】
請求項5に記載の発明では、2つの異なるスイッチが同時にオン操作された場合にある機能の実行を指示する同時押し機能と、第1の待ち時間オン操作を持続させた場合にオフ操作されるまで一定時間の間隔で複数回オン操作された時と同じ動作の繰り返しを指示するリピート機能と、オン操作から第2の待ち時間を超えた場合にある機能の実行を指示する押し続け機能とを所定スイッチに割り当てる割当て過程と、前記所定スイッチと対に同時押し機能が割り当てられるスイッチがオン操作されず同時押しが成立しない状態で、その所定スイッチを第1の待ち時間が経過するまでオン操作を持続させた場合に前記リピート機能の実行を指示する第1の指示過程と、前記所定スイッチと対に同時押し機能が割り当てられるスイッチがオン操作されず同時押しが成立しない状態で、その所定スイッチを第2の待ち時間が経過するまでオン操作を持続させた場合に前記押し続け機能の実行を指示する第2の指示過程とを具備することを特徴とする。
【0014】
請求項6に記載の発明では、2つの異なるスイッチが同時にオン操作された場合にある機能の実行を指示する同時押し機能と、第1の待ち時間オン操作を持続させた場合にオフ操作されるまで一定時間の間隔で複数回オン操作された時と同じ動作の繰り返しを指示するリピート機能と、オン操作から第2の待ち時間を超えた場合にある機能の実行を指示する押し続け機能とを所定スイッチに割り当てる割当てステップと、前記所定スイッチと対に同時押し機能が割り当てられるスイッチがオン操作されず同時押しが成立しない状態で、その所定スイッチを第1の待ち時間が経過するまでオン操作を持続させた場合に前記リピート機能の実行を指示する第1の指示ステップと、前記所定スイッチと対に同時押し機能が割り当てられるスイッチがオン操作されず同時押しが成立しない状態で、その所定スイッチを第2の待ち時間が経過するまでオン操作を持続させた場合に前記押し続け機能の実行を指示する第2の指示ステップとをコンピュータで実行させることを特徴とする。
【0015】
請求項7に記載の発明では、スイッチ操作に応じて、そのスイッチに対応付けられた機能の実行を最優先順位で指示するスイッチ制御手段と、このスイッチ制御手段が実行を指示した機能の実行状態を一定時間毎に制御するタイマスイッチ実行手段とを有し、前記スイッチ制御手段が機能の実行を最優先順位で指示した場合、それより優先順位の低いタイマスイッチ実行手段の動作を制限するマルチタスク制御を行うことを特徴とする。
【0016】
請求項8に記載の発明では、スイッチ操作に応じて、そのスイッチに対応付けられた機能の実行を最優先順位で指示するスイッチ制御過程と、このスイッチ制御過程が実行を指示した機能の実行状態を一定時間毎に制御するタイマスイッチ実行過程とを有し、前記スイッチ制御過程が機能の実行を最優先順位で指示した場合、それより優先順位の低いタイマスイッチ実行過程の動作を制限するマルチタスク制御を行うことを特徴とする。
【0017】
請求項9に記載の発明では、スイッチ操作に応じて、そのスイッチに対応付けられた機能の実行を最優先順位で指示するスイッチ制御処理と、このスイッチ制御処理が実行を指示した機能の実行状態を一定時間毎に制御するタイマスイッチ実行処理とを有し、前記スイッチ制御処理が機能の実行を最優先順位で指示した場合、それより優先順位の低いタイマスイッチ実行処理の動作を制限するマルチタスク制御を行うことを特徴とする。
【0018】
本発明では、スイッチのオン操作に応じて、他のスイッチとの同時押しか否かを判定する待ち時間を設定し、設定された待ち時間が経過するまでの間に、前記オン操作されたスイッチと対に同時押し機能が割り当てられるスイッチがオン操作された場合にのみ、前記同時押し機能の実行を指示するので、ONエッジからOFFエッジまでの時間が長くゆっくりとしたスイッチ操作を行ったとしても、スイッチの反応が遅くなることは無く、従来の違和感を解消し得る。
【0019】
また、本発明では、2つの異なるスイッチが同時にオン操作された場合にある機能の実行を指示する同時押し機能と、第1の待ち時間オン操作を持続させた場合にオフ操作されるまで一定時間の間隔で複数回オン操作された時と同じ動作の繰り返しを指示するリピート機能と、オン操作から第2の待ち時間を超えた場合にある機能の実行を指示する押し続け機能とを所定スイッチに割り当てておき、この所定スイッチと対に同時押し機能が割り当てられるスイッチがオン操作されず同時押しが成立しない状態で、その所定スイッチを第1の待ち時間が経過するまでオン操作を持続させた場合にはリピート機能の実行を指示し、一方、前記所定スイッチと対に同時押し機能が割り当てられるスイッチがオン操作されず同時押しが成立しない状態で、その所定スイッチを第2の待ち時間が経過するまでオン操作を持続させた場合に押し続け機能の実行を指示するようにしたので、「同時押し操作」を割り当てたスイッチに「押し続け操作」や「リピート操作」も同時に割り当てることが可能になる。
【0020】
さらに、本発明では、スイッチ操作に応じて、そのスイッチに対応付けられた機能の実行を最優先順位で指示するスイッチ制御処理と、このスイッチ制御処理が実行を指示した機能の実行状態を一定時間毎に制御するタイマスイッチ実行処理とを有し、前記スイッチ制御処理が機能の実行を最優先順位で指示した場合、それより優先順位の低いタイマスイッチ実行処理の動作を制限するマルチタスク制御を行うので、「リピート操作」が実行中であっても、その完了を待たずに即座に通常のスイッチ操作に対応することができる。
【0021】
【発明の実施の形態】
以下、本発明の実施の一形態による操作子制御装置を備えた電子楽器を実施例とし、これについて図面を参照して説明する。
A.構成
(1)全体構成
図1は実施例の全体構成を示すブロック図である。この図において、1はコンソールパネルに配設され、各種操作スイッチから構成されるパネルスイッチである。パネルスイッチ1では、前述した「同時押し操作」、「押し続け操作」あるいは「リピート操作」が所定のスイッチに割り当てられる。
本実施例では、このパネルスイッチ1において、「同時押し操作」した時の違和感を解消し、しかも「同時押し操作」を割り当てたスイッチに「押し続け操作」や「リピート操作」も同時に割り当てたり、「リピート操作」が実行中であっても、その完了を待たずに即座に通常のスイッチ操作に対応し得るようにしたことを特徴としている。なお、こうした特徴を具現するCPU7(操作子制御装置に相当)の処理動作については追って詳述する。
【0022】
2はスイッチ操作検出回路であり、上記パネルスイッチ1でのスイッチ操作(ONエッジあるいはOFFエッジ)を検出し、操作されたスイッチに対応したスイッチイベントを発生する。3はLCDパネルを備える表示装置3aと、表示装置3aを表示駆動するドライバ等を備える表示回路3bとから構成される表示部であり、後述するCPUから供給される表示制御信号に応じて、装置各部の設定状態や動作状態を画面表示する。画面表示の一例を図2に図示する。
【0023】
図2(a)は、設定画面中に他の設定画面へ遷移可能であることを示すガイダンス表示GD(矢印)を文字表示で行う状態を図示している。こうしたガイダンス表示GDによって、専用のセグメントを配置した場合と比較して、文字表示する領域を相対的に大きくとれる利点が生じる。また、ガイダンス表示GDは所定時間毎に本来表示すべき文字と交互に表示され、こうすることで文字表示する領域に表示できる文字数を減らさずにガイダンス表示し得るようになっている。さらに、所定時間おきにガイダンス表示GDと本来表示すべき文字とを交互に表示する場合に、本来表示すべき文字を表示する時間を長くし、ガイダンス表示GDする時間を短くして本来表示すべき文字を視認し易くすることを特徴としている。こうした特徴を具現する処理動作については追って詳述する。
【0024】
図2(b)は、本実施例による電子楽器がマルチパートを備えるのに対応し、例えば各パートの発音音量レベルを示すレベル表示を、文字表示する領域CDEを使用する態様を図示している。このようにすることで、従来、レベル表示専用のセグメントを配置した場合と比較して、文字表示する領域CDEを相対的に大きくとれることを特徴としている。この特徴を具現する処理動作については追って詳述する。
【0025】
次に、再び図1を参照して実施例の構成について説明を進める。図1において、4は鍵盤装置4aおよび鍵盤操作検出回路4bから構成される鍵盤部であり、押離鍵操作(演奏操作)に応じたキーオン/キーオフイベント、キーナンバおよびベロシティ等からなる演奏情報を発生する。5は図示されていない外部MIDI楽器から供給されるMIDIデータを、CPUの指示に応じて取り込んでRAMのバッファエリアへ転送したり、あるいは当該バッファエリアに格納されるMIDIデータを外部にシリアル出力するMIDIインタフェースである。6は回転操作に対応した操作データを発生するロータリーエンコーダである。ロータリーエンコーダ6は、回転レート(回転操作速度)に応じて実際のクリック数を変倍させて操作性を向上することを特徴としており、実際のクリック数に回転レートを乗算する処理は後述するCPU7(操作子制御装置に相当)にて行われる。
【0026】
CPU7は本発明の操作子制御装置に相当し、上述した各特徴を具現する各種処理を実行しながら楽器各部を制御する。具体的には、図3に示すように、公知のマルチタスク制御MTC環境下において、ハードウェア割込みにて最優先順位で起動される割込み処理および優先順位に従って割込み実行される優先順位1〜4の各タスク処理を実行する。
本実施例では、CPU7が実行するこれら各処理の内、割込み処理に含まれる「スイッチ制御処理」と、優先順位3タスク処理に含まれる「タイマスイッチ実行処理」、「ロータリーエンコーダ制御処理」、「タイマRE処理」と、優先順位4タスク処理に含まれる「表示制御/表示変更処理」とについて後述する。
【0027】
再び図1に戻り、実施例の構成を説明する。図1において、8はROMであり、CPU7にてマルチタスク制御MTCされる割込み処理および優先順位1〜4の各タスク処理にそれぞれ対応した各種制御プログラムや制御データを記憶する。このROM8に記憶される主要なデータの構成については追って説明する。9は各種レジスタ・フラグデータを一時記憶するワークエリアの他、データエリアおよびバッファエリアを備えるRAMである。RAM7のデータエリアには、上述した「スイッチ制御処理」、「タイマスイッチ実行処理」、「ロータリーエンコーダ制御処理」、「タイマRE処理」および「表示制御処理」に用いる制御データが一時記憶されるようになっており、これら制御データの構成については追って説明する。10は周知の波形メモリ読み出し方式により構成される音源装置であり、CPU7の指示の下、鍵盤部3が発生する演奏情報あるいはMIDIインタフェース5を介して入力されるMIDIデータに従った楽音データを発生する。11は音源10装置が発生する楽音データをアナログ形式の楽音信号にD/A変換した後、それを増幅してスピーカより放音させるサウンドシステムである。
【0028】
(2)ROM8のデータ構成
次に、図4を参照してROM8に記憶される主要なデータの構成について説明する。図4はスイッチ制御に係わる制御データおよび制御プログラムの構成を説明するための図である。この図において、スイッチ機能テーブルTBL1は、パネルスイッチ1に配設される各種スイッチ毎に割り当てられるスイッチ機能を登録したテーブルであり、スイッチ番号nに対応したスイッチ機能[n]を読み出す。スイッチ機能[n]は、ONエッジ機能、同時押し機能、ShortWait機能、リピート機能、押し続け機能、キャンセル可能OFFエッジ機能およびOFFエッジ機能の有無を表す。
【0029】
ONエッジ機能とは、ONエッジで割り当てられた処理の実行を指示する機能である。同時押し機能とは、同時押し操作される2つのスイッチに対応付けられるスイッチ機能を指し、そのスイッチ機能は後述の同時押しスイッチ変換テーブルTBL2にて定義される。ShortWait機能とは、ONエッジ検出時点から一定時間待機してタイマスタートさせる機能を指す。リピート機能とは、ONエッジから一定時間OFFエッジが検出されない場合にOFFエッジが検出されるまで、そのスイッチが一定時間の間隔で複数回押された時と同じ動作の繰り返し機能である。押し続け機能とは、ONエッジからOFFエッジに至る期間が一定時間を超えた場合に割り当てられた処理の実行を指示する機能である。キャンセル可能OFFエッジ機能とは、スイッチ状態がキャンセル又はオン以外の場合に割り当てられた処理の停止を指示する機能である。OFFエッジ機能とは、OFFエッジで割り当てられた処理の停止を指示する機能である。
【0030】
同時押しスイッチ変換テーブルTBL2は、同時押し操作されるスイッチi,jの組合せと、その組合せの同時押しが成立した場合に割り当てられる機能スイッチkとを対応付けるテーブルである。押し続けスイッチ変換テーブルTBL3は、押し続け操作されるスイッチlと、そのスイッチlの押し続けが成立した場合に割り当てられる機能スイッチmとを対応付けたテーブルである。
ROM8には、上記各テーブルTBL1〜TBL3の他、前述した「スイッチ制御処理」、「タイマスイッチ実行処理」、「ロータリーエンコーダ制御処理」、「タイマRE処理」、「表示制御処理」および「表示変更処理」に対応した各種制御プログラム群PRGが記憶される。
【0031】
(3)RAM9のデータ構成
次に、図5〜図9を参照してRAM9に格納されるスイッチ制御データ、ロータリーエンコーダ制御データおよび表示制御データの構成について説明する。
a.スイッチ制御データの構成
図5はRAM9に格納されるスイッチ制御データの構成を説明するための図である。この図に示すスイッチ状態テーブルSTL1は、パネルスイッチ1に配設される各種スイッチの状態が登録されるテーブルであり、スイッチ番号nに対応したスイッチ状態[n]を記憶する。スイッチ状態[n]は、通常ON状態、キャンセル状態、ShortWait確定待ち状態、押し続け確定待ち状態、リピート確定待ち状態、リピート中およびOFF状態のいずれかの状態を表す。
タイマスイッチ情報TSDは、上述したShortWait確定待ち状態、押し続け確定待ち状態、リピート確定待ち状態およびリピート中のいずれかの状態にあるスイッチに関するタイマ処理の状況、すなわち、現在時間、タイマスタート時間、タイマ処理発生時間およびタイマスイッチ番号を表す。
【0032】
b.ロータリーエンコーダ制御データの構成
図6はRAM9に格納されるロータリーエンコーダ制御データの構成を説明するための図である。この図において、REカウンタは、ロータリーエンコーダ6の回転操作に従ってクリックが発生する毎に、回転方向に応じてインクリメント(+1)あるいはデクリメント(−1)されるカウンタである。タイマRE情報TRDは、ロータリーエンコーダ6が回転操作されてクリックが発生する毎の現在時間および前回RE処理時間を表す。
【0033】
c.表示制御データの構成
図7は、図2(a)に図示したガイダンス表示GDを行う際に参照される表示制御データを示す図であり、ガイダンス表示状態、文字・セグメント表示データ、表示すべき文字情報、表示すべきセグメント情報、現在表示している文字情報および現在表示しているセグメント情報から構成される。さらに、所定時間おきにガイダンス表示GDと本来表示すべき文字とを交互に表示する場合には、図8に図示するように、上記各表示制御データに加えて表示時間カウンタを用いる。次に、図9は図2(b)に図示した表示形態、すなわち文字表示する領域CDEを使用してレベル表示を行う際に参照される表示制御データを示す図であり、レベルメータ表示状態、文字・セグメント表示データ、表示すべき文字情報、表示すべきセグメント情報、現在表示している文字情報、現在表示しているセグメント情報およびレベルメータ情報から構成される。
【0034】
B.動作
次に、図10〜図33を参照して、実施例において実行される「スイッチ制御処理」と、優先順位3タスク処理に含まれる「タイマスイッチ実行処理」、「ロータリーエンコーダ制御処理」、「タイマRE処理」と、優先順位4タスク処理に含まれる「表示制御/表示変更処理」との各動作について説明する。
【0035】
(1)スイッチ制御処理の動作
図10〜図17を参照してスイッチ制御処理の動作を説明する。パネルスイッチ1にてスイッチ操作が行われ、それに応じてスイッチ操作検出回路2がONエッジあるいはOFFエッジを検出してスイッチイベントを発生すると、CPU7はハードウェア割込みにて最優先順位のスイッチ制御処理を実行する。本処理が実行されると、CPU7は図10のステップSA1に処理を進め、タイマ処理(ShortWait待ち)のスイッチが存在する場合、その処理を停止させるタイマキャンセル処理を実行する。
【0036】
タイマキャンセル処理が実行されると、CPU7は図12のステップSB1に処理を進め、前述のタイマスイッチ情報TSDに含まれるタイマスイッチ番号を引数として、スイッチ状態テーブルSTL1からスイッチ状態を読み出し、読み出したスイッチ状態がShortWait確定待ち状態にあるか否かを判断する。ShortWait確定待ち状態でなければ、判断結果は「NO」になり、ステップSB2に進む。ステップSB2では、タイマスイッチ番号に対応したスイッチ状態テーブルSTL1中のスイッチ状態を、イベント無しを表す「キャンセル状態」にセットして後述するステップSB5に処理を進める。
【0037】
一方、ShortWait確定待ち状態であると、上記ステップSB1の判断結果は「YES」になり、ステップSB3に進む。ステップSB3では、タイマスイッチ番号に対応したスイッチ状態テーブルSTL1中のスイッチ状態を「OFF状態」にセットする。続いて、ステップSB4に進み、タイマスイッチ番号のスイッチON実行処理を行う。そして、ステップSB5では、タイマストップ処理を実行する。タイマストップ処理が実行されると、CPU7は図13に示すステップSC1に進み、タイマスイッチ情報TSD中のタイマスタート時間をリセットし、続くステップSC2ではタイマスイッチ情報TSD中のタイマスイッチ番号をリセットする。
【0038】
タイマストップ処理が完了すると、CPU7は図10に示すステップSA2に処理を進め、検出したスイッチ操作がONエッジであるか否か、つまりスイッチが押されたかどうかを判断する。スイッチが押されたONエッジであると、判断結果は「YES」になり、ステップSA3以降に処理を進め、そのスイッチに「同時押し機能」、「ShortWait機能」、「リピート機能」、「押し続け機能」および「ONエッジ機能」のいずれが割り当てられているのかを前述したスイッチ機能テーブルTBL1(図4参照)を参照して判別し、判別した機能に対応した処理を実行する。
一方、スイッチが離されたOFFエッジであれば、上記ステップSA2の判断結果は「NO」となり、ステップSA17以降に処理を進め、そのスイッチに「OFFエッジ機能」あるいは「キャンセル可能OFFエッジ機能」のいずれが割り当てられているのかをスイッチ機能テーブルTBL1を参照して判別し、判別した機能に対応した処理を実行する。
【0039】
以下では、「同時押し機能」、「ShortWait機能」、「リピート機能」、「押し続け機能」および「ONエッジ機能」のいずれかが割り当てられたONエッジの場合と、「OFFエッジ機能」あるいは「キャンセル可能OFFエッジ機能」のいずれかが割り当てられたOFFエッジの場合とに分けて動作説明する。
【0040】
a.「同時押し機能」が割り当てられたONエッジの場合
「同時押し機能」が割り当てられたスイッチが押されると、ステップSA3の判断結果が「YES」になり、ステップSA4に進む。ステップSA4では、前述した同時押しスイッチ変換テーブルTBL2(図4参照)を参照して、対応定義されるスイッチを検索する。次いで、ステップSA5では検索したスイッチとの同時押しが成立しているか否かを判断する。同時押しが成立していなければ、判断結果が「NO」になり、ステップSA8に進み、現在操作されているスイッチのスイッチ番号に対応したスイッチ状態テーブルSTL1のスイッチ状態を「通常ON状態」に更新した後、後述するステップSA9(図11参照)に処理を進める。
一方、同時押しが成立した場合には、上記ステップSA5の判断結果が「YES」になり、ステップSA6に進む。ステップSA6では、成立した同時押し機能スイッチkに割り当てられた処理を実行させる。そして、次のステップSA7に進み、スイッチ状態テーブルSTL1において同時押しされた各スイッチのスイッチ状態を「キャンセル状態」にセットして本処理を完了させる。
【0041】
b.「ShortWait機能」が割り当てられたONエッジの場合
「ShortWait機能」が割り当てられたスイッチが押されると、図11に示すステップSA9の判断結果が「YES」になり、ステップSA10に進み、ShortWait確定待ちセット処理を実行する。ShortWait確定待ちセット処理が実行されると、CPU7は図14に示すステップSD1に進み、操作されたスイッチのスイッチ番号に対応したスイッチ状態テーブルSTL1のスイッチ状態を「ShortWait確定待ち状態」にセットする。
【0042】
次いで、ステップSD2では、操作されたスイッチのスイッチ番号をタイマスイッチ番号に設定し、続くステップSD3では、待ち時間としてShortWait待ち時間Twを設定する。そして、ステップSD4を介してタイマスタート処理を実行すると、CPU7は図15に示すステップSE1に進み、タイマスイッチ情報TSD(図5参照)中の現在時間をタイマスタート時間にセットし、続くステップSE2では、上記ステップSD3にて待ち時間として設定されたShortWait待ち時間Twをタイマスイッチ情報TSD中のタイマ処理発生時間にセットした後、本処理を完了させる。
【0043】
c.「リピート機能」が割り当てられたONエッジの場合
「リピート機能」が割り当てられたスイッチが押されると、図11に示すステップSA11の判断結果が「YES」になり、ステップSA12に進み、リピート確定待ちセット処理を実行する。リピート確定待ちセット処理が実行されると、CPU7は図16に示すステップSF1に進み、操作されたスイッチのスイッチ番号に対応したスイッチ状態テーブルSTL1のスイッチ状態を「リピート確定待ち状態」にセットする。
【0044】
次いで、ステップSF2では、操作されたスイッチのスイッチ番号をタイマスイッチ番号に設定し、続くステップSF3では、待ち時間としてリピート待ち時間Trを設定する。そして、ステップSF4を介してタイマスタート処理を実行すると、CPU7は図15に示すステップSE1に進み、タイマスイッチ情報TSD(図5参照)中の現在時間をタイマスタート時間にセットし、続くステップSE2では、上記ステップSF3にて待ち時間として設定されたリピート待ち時間Trをタイマスイッチ情報TSD中のタイマ処理発生時間にセットした後、本処理を完了させる。
【0045】
d.「押し続け機能」が割り当てられたONエッジの場合
「押し続け機能」が割り当てられたスイッチが押されると、図11に示すステップSA13の判断結果が「YES」になり、ステップSA14に進み、押し続け確定待ちセット処理を実行する。押し続け確定待ちセット処理が実行されると、CPU7は図17に示すステップSG1に進み、操作されたスイッチのスイッチ番号に対応したスイッチ状態テーブルSTL1のスイッチ状態を「押し続け確定待ち状態」にセットする。
【0046】
次いで、ステップSG2では、操作されたスイッチのスイッチ番号をタイマスイッチ番号に設定し、続くステップSG3では、待ち時間として押し続け待ち時間Tkを設定する。そして、ステップSG4を介してタイマスタート処理を実行すると、CPU7は図15に示すステップSE1に進み、タイマスイッチ情報TSD(図5参照)中の現在時間をタイマスタート時間にセットし、続くステップSE2では、上記ステップSG3にて待ち時間として設定された押し続け待ち時間Tkをタイマスイッチ情報TSD中のタイマ処理発生時間にセットした後、本処理を完了させる。
【0047】
e.「ONエッジ機能」が割り当てられたONエッジの場合
「ONエッジ機能」が割り当てられたスイッチが押されると、図11に示すステップSA15の判断結果が「YES」になり、ステップSA16に進む。ステップSA16では、操作されたスイッチのスイッチ番号に対応付けられたスイッチON実行処理を行った後、本処理を完了させる。
【0048】
f.「OFFエッジ機能」が割り当てられたOFFエッジの場合
「OFFエッジ機能」が割り当てられたスイッチが離されると、図10に示すステップSA17の判断結果が「YES」になり、ステップSA20に進む。ステップSA20では、操作されたスイッチのスイッチ番号に対応付けられたスイッチOFF実行処理を行った後、本処理を完了させる。
【0049】
g.「キャンセル可能OFFエッジ機能」が割り当てられたOFFエッジの場合「キャンセル可能OFFエッジ機能」が割り当てられたスイッチが離されると、図10に示すステップSA18の判断結果が「YES」になり、ステップSA19に進む。ステップSA19では、操作されたスイッチのスイッチ番号に対応したスイッチ状態テーブルSTL1のスイッチ状態が「キャンセル状態」あるいは「通常ON状態」以外であるか否かを判断する。そして、「キャンセル状態」あるいは「通常ON状態」であると、判断結果は「NO」となり、何も処理せずに本処理を完了させる。
これに対し、「キャンセル状態」あるいは「通常ON状態」以外であれば、判断結果が「YES」になり、ステップSA20に進み、操作されたスイッチのスイッチ番号に対応付けられたスイッチOFF実行処理を行った後、本処理を完了させる。
【0050】
(2)タイマスイッチ実行処理の動作
次に、図18〜図25を参照してタイマスイッチ実行処理の動作を説明する。優先順位3タスク処理に含まれるタイマスイッチ実行処理は、一定周期毎のタイマ割込みにて実行される。実行タイミングになると、CPU7は図18のステップSH1、SH2において、タイマスイッチ情報TSDのタイマスイッチ番号およびタイマスタート時間がそれぞれセット済みであるか否かを判断する。
すなわち、スイッチ操作に応じて、上述した「ShortWait確定待ちセット処理(図14参照)」、「リピート確定待ちセット処理(図16参照)」および「押し続け確認待ちセット処理(図17参照)」のいずれかの実行に伴いタイマスタート処理(図15参照)が起動しているかどうかを判断する。
【0051】
タイマスタート処理が起動していなければ、上記ステップSH1,SH2の各判断結果はいずれも「NO」になり、本処理を完了させる。一方、タイマスタート処理が起動されていると、各判断結果はいずれも「YES」になり、次のステップSH3に処理を進める。ステップSH3では、タイマスイッチ情報TSDの現在時間からタイマスタート時間を減算した結果がタイマ処理発生時間以上であるか、つまり待ち時間が経過したかどうかを判断する。待ち時間が経過していなければ、判断結果は「NO」となり、本処理を完了させるが、待ち時間が経過していると、判断結果が「YES」になり、ステップSH4に進む。
【0052】
ステップSH4では、タイマスイッチ情報TSDのタイマスイッチ番号を引数として、スイッチ状態テーブルSTL1からスイッチ状態を読み出す。そして、ステップSH5以降では、スイッチ状態が「ShortWait確定待ち状態」、「押し続け確定待ち状態」、「リピート確定待ち状態」および「リピート中」のいずれであるかを判別し、判別した状態に対応した処理を行う。以下、各状態別に分けて説明を進める。
【0053】
a.「ShortWait確定待ち状態」の場合
この場合、ステップSH5の判断結果が「YES」となり、ステップSH6に進み、タイマスイッチ番号に対応したスイッチ状態テーブルSTL1中のスイッチ状態を「通常ON状態」にセットする。続いて、ステップSH7では、タイマスイッチ番号のスイッチON実行処理を行う。そして、ステップSH8に進み、タイマストップ処理を実行する。タイマストップ処理が実行されると、CPU7は図13に示すステップSC1に進み、タイマスイッチ情報TSD中のタイマスタート時間をリセットし、続くステップSC2ではタイマスイッチ情報TSD中のタイマスイッチ番号をリセットする。
【0054】
この後、図19に図示するステップSH9に進み、スイッチ機能テーブルTBL1を参照して、スイッチON実行処理(上述のステップSH7)が行われたスイッチに「リピート機能」が割り当てられているか否かを判別する。「リピート機能」が割り当てられていた場合、判断結果は「YES」となり、ステップSH10に進み、前述したリピート確認待ちセット処理を実行する。リピート確定待ちセット処理が実行されると、CPU7は図16に示すステップSF1に進み、スイッチON実行処理(上述のステップSH7)が行われたスイッチのスイッチ番号に対応したスイッチ状態テーブルSTL1のスイッチ状態を「リセット確定待ち状態」にセットする。
【0055】
次いで、ステップSF2では、スイッチON実行処理が行われたスイッチのスイッチ番号をタイマスイッチ番号に設定し、続くステップSF3では、待ち時間としてリピート待ち時間Trを設定する。そして、ステップSF4を介してタイマスタート処理を実行すると、CPU7は図15に示すステップSE1に進み、タイマスイッチ情報TSD(図5参照)中の現在時間をタイマスタート時間にセットし、続くステップSE2では、上記ステップSF3にて待ち時間として設定されたリピート待ち時間Trをタイマスイッチ情報TSD中のタイマ処理発生時間にセットした後、本処理を完了させる。
【0056】
これに対し、「リピート機能」が割り当てられていない場合には、判断結果が「NO」となり、図19に示すステップSH11に進む。ステップSH11では、スイッチ機能テーブルTBL1を参照して、上述のステップSH7にてスイッチON実行処理が行われたスイッチに「押し続け機能」が割り当てられているか否かを判別する。「押し続け機能」が割り当てられていなければ、判断結果は「NO」になり、本処理を完了させるが、割り当てられていると、判断結果が「YES」となり、ステップSH12に進み、押し続け確定待ちセット処理を実行する。押し続け確定待ちセット処理が実行されると、CPU7は図17に示すステップSG1に進み、スイッチON実行処理が行われたスイッチのスイッチ番号に対応したスイッチ状態テーブルSTL1のスイッチ状態を「押し続け確定待ち状態」にセットする。
【0057】
次いで、ステップSG2では、スイッチON実行処理が行われたスイッチのスイッチ番号をタイマスイッチ番号に設定し、続くステップSG3では、待ち時間として押し続け待ち時間Tkを設定する。そして、ステップSG4を介してタイマスタート処理を実行すると、CPU7は図15に示すステップSE1に進み、タイマスイッチ情報TSD(図5参照)中の現在時間をタイマスタート時間にセットし、続くステップSE2では、上記ステップSG3にて待ち時間として設定された押し続け待ち時間Tkをタイマスイッチ情報TSD中のタイマ処理発生時間にセットした後、本処理を完了させる。
【0058】
b.「押し続け確定待ち状態」の場合
この場合、図20に図示するステップSH13の判断結果が「YES」となり、ステップSH14に進み、押し続け機能スイッチ処理を実行する。押し続け機能スイッチ処理が実行されると、CPU7は図21に示すステップSJ1に進み、押し続けスイッチ変換テーブルTBL3(図4参照)を参照して、タイマスイッチ番号に対応する押し続け機能スイッチmを検出する。次いで、ステップSJ2では、検出した押し続け機能スイッチmを実行する。そして、ステップSJ3を介してタイマストップ処理を実行する。タイマストップ処理が実行されると、CPU7は図13に示すステップSC1に進み、タイマスイッチ情報TSD中のタイマスタート時間をリセットし、続くステップSC2ではタイマスイッチ情報TSD中のタイマスイッチ番号をリセットする。
【0059】
c.「リピート確定待ち状態」の場合
この場合、図20に図示するステップSH15の判断結果が「YES」となり、ステップSH16に進み、リピート確定処理を実行する。リピート確定処理が実行されると、CPU7は図22に示すステップSK1に進み、タイマスイッチ番号に対応したスイッチ状態テーブルSTL1中のスイッチ状態を「リピート中」にセットする。次いで、ステップSK2では、待ち時間としてリピート中時間Taを設定する。この後、ステップSK3を介してタイマスタート処理を実行すると、CPU7は図15に示すステップSE1に進み、タイマスイッチ情報TSD中の現在時間をタイマスタート時間にセットし、続くステップSE2では、上記ステップSK2にて待ち時間として設定されたリピート中時間Taをタイマスイッチ情報TSD中のタイマ処理発生時間にセットした後、本処理を完了させる。
【0060】
d.「リピート中」の場合
この場合、図20に図示するステップSH17の判断結果が「YES」となり、ステップSH18に進み、リピート機能スイッチ処理を実行する。リピート機能スイッチ処理が実行されると、CPU7は図23に示すステップSL1に進み、スイッチON実行処理を行う。次いで、ステップSL2では、待ち時間としてリピート中時間Taを設定する。この後、ステップSL3を介してタイマスタート処理を実行すると、CPU7は図15に示すステップSE1に進み、タイマスイッチ情報TSD中の現在時間をタイマスタート時間にセットし、続くステップSE2では、上記ステップSL2にて待ち時間として設定されたリピート中時間Taをタイマスイッチ情報TSD中のタイマ処理発生時間にセットした後、本処理を完了させる。
【0061】
次に、図24〜図25を参照して、上述したスイッチ制御に係わる各種処理を要約して説明する。図24は「同時押し機能」、「ShortWait機能」および「リピート機能」が割り当てられたスイッチnの動作タイミングを示す図である。この図に示すように、先ずタイミングAでスイッチnが押されてONエッジが発生したとする。そうすると、
(イ)このタイミングAからShortWait確定待ち時間Twが経過する迄の間、通常のスイッチON実行処理は行われず、スイッチnと対に同時押し機能が割り当てられるスイッチが押された場合にのみ、同時押し機能スイッチkが実行される。
(ロ)また、ShortWait確定待ち時間Twが経過する迄の間に、スイッチnが離された場合には、ShortWait確定待ち状態を即座に終了して通常のスイッチON実行処理が行われる。
(ハ)ShortWait確定待ち時間Twが経過したタイミングBにおいてスイッチnの通常のスイッチON実行処理が行われる。つまり、ShortWait確定待ち時間Twは同時押し機能スイッチ処理と通常のスイッチON実行処理とを判別するための待ち時間であり、その時間長を適切に調整することによって、ゆっくりとしたスイッチ操作が為された場合でも違和感が少ない操作性を実現し得るようになっている。
(ニ)スイッチnを押し続け、ShortWait確定待ち時間Twおよびリピート待ち時間Trを経てリピート待ちが確定するタイミングCに達すると、スイッチnに割り当てられたリピート機能スイッチ処理が開始され、以後、スイッチnが離されるタイミングGに達するまでの間、リピート中時間Taが経過するタイミングD、E、F毎にリピート機能のスイッチON実行処理が繰り返し行われる。
【0062】
次に、図25は「同時押し機能」、「押し続け機能」および「キャンセル可能OFFエッジ機能」が割り当てられたスイッチnの動作タイミングを示す図である。この図に示すように、先ずタイミングAでスイッチnが押されてONエッジが発生したとする。そうすると、
(ホ)このタイミングAから押し続け待ち時間Tkが経過する迄の間、通常のスイッチON実行処理は行われず、スイッチnと対に同時押し機能が割り当てられるスイッチが押された場合にのみ、同時押し機能スイッチkが実行される。
(へ)また、押し続け待ち時間Tkが経過する迄の間に、スイッチnが離された場合には、押し続け確定待ち状態を即座に終了して通常のスイッチON実行処理が行われる。
(ト)押し続け待ち時間Tkが経過するタイミングBまでスイッチnを押し続け、しかも同時押しが成立しない場合には、そのスイッチnに割り当てられた押し続け機能スイッチmの処理が実行される。
(チ)スイッチnが離されるタイミングCまでの間に、同時押し機能スイッチkまたは押し続け機能スイッチmのいずれかの処理が発生しなければ、タイミングCにてスイッチOFF実行処理が行われる。
【0063】
以上のように、本実施例では、スイッチnが押されてONエッジが発生してからShortWait確定待ち時間Twが経過する迄の間に、スイッチnと対に同時押し機能が割り当てられるスイッチが押された場合にのみ、同時押し機能スイッチkが実行されるので、ONエッジからOFFエッジまでの時間が長くゆっくりとしたスイッチ操作を行ったとしても、スイッチの反応が遅くなることは無く、従来の違和感を解消し得るようになっている。
【0064】
また、本実施例では、同時押し機能が割り当てられたスイッチにリピート機能および押し続け機能をアサインしておき、そのスイッチを押し続けてShortWait確定待ち時間Twおよびリピート待ち時間Trを経てリピート待ちが確定した場合にはスイッチnに割り当てられたリピート機能スイッチ処理が開始され、さらに押し続け待ち時間Tkが経過するまでスイッチを押し続け、同時押しが成立しなければ、そのスイッチnに割り当てられた押し続け機能スイッチ処理が開始されるので、「同時押し操作」を割り当てたスイッチに「押し続け操作」や「リピート操作」も同時に割り当てることが可能になる。
【0065】
加えて、本実施例では、最優先順位のスイッチ制御処理が実行されている場合、それより優先順位の低いタイマスイッチ実行処理の実行を制限するマルチタスク制御を行うので、「リピート操作」が実行中であっても、その完了を待たずに即座に通常のスイッチ操作に対応し得るようになっている。
【0066】
(3)ロータリーエンコーダ制御処理の動作
次に、図26を参照してロータリーエンコーダ制御処理の動作を説明する。優先順位3タスク処理に含まれるロータリーエンコーダ制御処理は、ロータリーエンコーダ6の回転操作に応じてクリックが発生する毎に実行される。ロータリーエンコーダ制御処理が実行されると、CPU7は図26のステップSM1に処理を進め、回転方向が+側(例えば時計回り方向)であるか否かを判断する。回転方向が+側であると、判断結果は「YES」になり、ステップSM2に進み、ロータリーエンコーダ制御データ(図6参照)のREカウンタRCの値をインクリメントして本処理を完了させる。一方、回転方向が−側(例えば反時計回り方向)であれば、上記ステップSM1の判断結果は「NO」になり、ステップSM3に進み、ロータリーエンコーダ制御データのREカウンタRCの値をデクリメントして本処理を完了させる。
【0067】
(4)タイマRE処理の動作
次に、図27を参照してタイマRE処理の動作を説明する。優先順位3タスク処理に含まれるタイマRE処理は、一定周期毎のタイマ割込みにて実行される。実行タイミングになると、CPU7は図27のステップSN1に進み、REカウンタRCの値が「0」以外であるかどうかを判断する。REカウンタRCの値が「0」であると、判断結果は「NO」になって本処理を完了させるが、REカウンタRCの値が「0」以外であれば、判断結果が「YES」になり、ステップSN2に進む。
ステップSN2では、タイマRE情報TRD(図6参照)の現在時間から前回RE処理時間を減算して経過時間を算出する。続いて、ステップSN3では、REカウンタRCの値/(1回転のクリック数×経過時間)により回転レートnを算出する。例えば、1回転で24クリックのロータリーエンコーダ6を0.2秒間(経過時間)に12クリックされた時の回転レートnは「2.5(rev/sec)」となる。
【0068】
次いで、ステップSN4では、上記ステップSN3にて算出された回転レートnが「2」以上であるか否かを判断する。回転レートnが「2」未満であれば、判断結果は「NO」になり、後述するステップSN6に進む。一方、回転レートnが「2」以上であると、判断結果は「YES」になり、ステップSN5に進み、REカウンタRCの値に回転レートnを乗算し、その値をREカウンタRCの値にセットする。そして、ステップSN6では、REカウンタRCの値分、スイッチが押された時と同様の処理を実行する。この後、ステップSN7に進み、REカウンタRCをゼロリセットし、続くステップSN8では、前回RE処理時間を現在時間に更新してから本処理を完了させる。
このように、タイマRE処理では、2回転以上の回転レートnでロータリーエンコーダ6を操作すると、REカウンタRCの値が回転レートn倍されるから、設定値を大きく変更するような場合、より少ない回転操作で対応できる結果、ロータリーエンコーダの操作性を向上させることが可能になる。
【0069】
(5)表示制御/表示変更処理
次に、図28〜図33を参照して表示制御処理および表示変更処理の動作を説明する。以下では、図2(a)に図示したように、設定画面中に他の設定画面へ遷移可能であることを示す矢印のガイダンス表示GDを文字表示で行う第1の表示制御/表示変更処理と、図2(b)に図示したように、各パートの発音音量レベルを示すレベル表示を、文字表示する領域CDEで行う第2の表示制御/表示変更処理とに分けてそれらの動作を説明する。
【0070】
a.第1の表示制御/表示変更処理の動作
a−1.表示制御(1)処理の動作
優先順位4タスク処理に含まれる表示制御(1)処理は、一定周期毎のタイマ割込みにて実行される。実行タイミングになると、CPU7は図28のステップSO1に処理を進める。ステップSO1では、RAM9に格納される表示制御データ(図7参照)のガイダンス表示状態を参照し、続くステップSO2では、そのガイダンス表示状態がガイダンス表示有りの状態を表すものであるか否かを判断する。
【0071】
ガイダンス表示有りの場合、判断結果は「YES」になり、ステップSO3を介して図29に図示するガイダンス付表示更新(1)処理のステップSO3−1に進み、表示制御データ中の文字・セグメント表示データにガイダンス表示が付加された、表示すべき文字情報およびセグメント情報を生成する。
一方、ガイダンス表示無しの場合には、上記ステップSO2の判断結果が「NO」となり、ステップSO4に進み、表示制御データ中の文字・セグメント表示データから表示すべき文字情報およびセグメント情報を生成する。
【0072】
この後、ステップSO5に進み、現在表示している情報と表示すべき情報とを比較し、続くステップSO6ではその比較の結果が不一致であるか否かを判断する。そして、現在表示している情報と表示すべき情報とが一致していれば、判断結果が「NO」となり、この場合、表示を更新する必要が無いので、何も処理せずに本処理を完了させる。
一方、現在表示している情報と表示すべき情報とが不一致になると、上記ステップSO6の判断結果が「YES」になり、ステップSO7に進み、現在表示している情報から表示すべき情報に表示更新してから本処理を完了させる。
これにより、図2(a)に図示したように、設定画面中に他の設定画面へ遷移可能であることを示すガイダンス表示GD(矢印)が行われ、こうしたガイダンス表示GDを行うことによって、専用のセグメントを配置した場合と比較して、文字表示する領域を相対的に大きくとれる利点が生じる。
【0073】
a−2.変形例
次に、図30を参照して変形例によるガイダンス付表示更新(2)処理の動作について述べる。上述したガイダンス付表示更新(1)処理において、表示すべき文字数が多いと、ガイダンス表示用の表示桁が文字表示領域を超える場合も起こり得る。変形例によるガイダンス付表示更新(2)処理では、そうした場合に対応する処理である。
すなわち、上述した表示制御(1)処理のステップSO3(図28参照)を介してガイダンス付表示更新(2)処理が実行されると、CPU7は図30に示すステップSP1に進み、図8に図示した表示制御データ中の表示時間カウンタの値が、ガイダンス表示時間T1以上であるか否かを判断する。表示時間カウンタの値がガイダンス表示時間T1未満であると、判断結果は「NO」になり、表示制御データ中の文字・セグメント表示データから表示すべき文字情報およびセグメント情報を生成してステップSP4に進む。
【0074】
これに対し、表示時間カウンタの値がガイダンス表示時間T1以上であると、判断結果が「YES」となり、ステップSP3を介して図29に図示するガイダンス付表示更新(1)処理のステップSO3−1に進み、表示制御データ中の文字・セグメント表示データにガイダンス表示が付加された、表示すべき文字情報およびセグメント情報を生成してから図30のステップSP4に進む。
ステップSP4では、上述した表示制御(1)処理のタイマ割込み周期T0を表示時間カウンタに加算する。次いで、ステップSP5では、タイマ割込み周期T0を加算した表示時間カウンタの値が、ガイダンス表示時間T1と文字表示時間T2との和以上であるか否かを判断する。そうであれば、判断結果は「YES」になり、ステップSP6にて表示時間カウンタをリセットして本処理を終え、そうでなければ、判断結果が「NO」になり、本処理を完了させる。
【0075】
このように、変形例によれば、表示時間カウンタの値がT1未満ではガイダンス表示が行われ、T1以上(T1+T2)未満では本来表示すべき文字情報のみが表示される期間となり、そしてタイマ割込み周期T0を加算した表示時間カウンタの値が(T1+T2)以上になると、表示時間カウンタをゼロリセットする動作を繰り返すので、ガイダンス表示と本来表示すべき文字とが交互に表示される。
このようにすることで文字表示する領域に表示できる文字数を減らさずにガイダンス表示し得るようになっている。なお、ガイダンス表示期間と本来表示すべき文字のみ表示する期間とは同期間でなくとも構わず、本来表示すべき文字のみ表示する期間をガイダンス表示期間より長くして視認性を向上させる態様としてもよい。
【0076】
a−3.表示変更(1)処理の動作
次に、図31を参照して表示変更(1)処理の動作を説明する。表示変更指示するスイッチが操作されると、本処理が実行され、ステップSQ1に進む。ステップSQ1では、表示変更指示に応じて文字・セグメント表示データを変更する。次いで、ステップSQ2では、表示変更指示に対応して表示すべき画面が他の設定画面に遷移可能であるか否かを判断する。他の設定画面に遷移可能であれば、判断結果は「YES」になり、ステップSQ3に進み、表示制御データ中のガイダンス表示状態を「有り」に設定して本処理を完了させる。一方、他の設定画面に遷移出来ない場合には、判断結果が「NO」となり、ステップSQ4に進み、表示制御データ中のガイダンス表示状態を「無し」に設定して本処理を完了させる。
【0077】
b.第2の表示制御/表示変更処理の動作
b−1.表示制御(2)処理の動作
優先順位4タスク処理に含まれる表示制御(2)処理は、一定周期毎のタイマ割込みにて実行される。実行タイミングになると、CPU7は図32のステップSR1に処理を進める。ステップSR1では、RAM9に格納される表示制御データ(図9参照)のレベルメータ表示状態を参照し、続くステップSR2では、そのレベルメータ表示状態がレベルメータ表示有りの状態を表すものであるか否かを判断する。レベルメータ表示有りの場合、判断結果は「YES」になり、ステップSR3に進み、表示制御データ中のレベルメータ情報からレベルメータを表示させる文字・セグメント表示データを生成し、それに基づき表示すべき文字情報およびセグメント情報を生成する。
一方、レベルメータ表示無しの場合には、上記ステップSR2の判断結果が「NO」となり、ステップSR4に進み、表示制御データ中の文字・セグメント表示データから表示すべき文字情報およびセグメント情報を生成する。
【0078】
この後、ステップSR5に進み、現在表示している情報と表示すべき情報とを比較し、続くステップSR6ではその比較の結果が不一致であるか否かを判断する。そして、現在表示している情報と表示すべき情報とが一致していれば、判断結果が「NO」となり、この場合、表示を更新する必要が無いので、何も処理せずに本処理を完了させる。一方、現在表示している情報と表示すべき情報とが不一致になると、上記ステップSR6の判断結果が「YES」になり、ステップSR7に進み、現在表示している情報から表示すべき情報に表示更新してから本処理を完了させる。
これにより、図2(b)に図示したように、文字表示する領域CDEを使用してレベル表示することが可能になり、そうすることで、従来、レベル表示専用のセグメントを配置した場合と比較して、文字表示する領域CDEを相対的に大きくとれる利点が生じる。
【0079】
b−2.表示変更(2)処理の動作
次に、図33を参照して表示変更(2)処理の動作を説明する。表示変更指示するスイッチが操作されると、本処理が実行され、ステップSS1に進む。ステップSS1では、表示変更指示に対応した表示内容変更の有無を判断する。表示内容を変更しない場合には、判断結果が「NO」になり、後述のステップSS3に進む。一方、表示内容を変更する場合には、判断結果が「YES」となり、次のステップSS2に進む。
ステップSS2では、表示変更指示に応じて、表示制御データの文字・セグメント表示データおよびレベルメータ情報を変更する。次いで、ステップSS3では、表示変更指示がレベルメータ表示指示であるか否かを判断する。レベルメータ表示指示であると、判断結果は「YES」になり、ステップSS4に進み、表示制御データ中のレベルメータ表示状態を「有り」に設定して本処理を完了させる。一方、レベルメータ表示指示でなければ、上記ステップSS3の判断結果が「NO」となり、ステップSS5に進み、表示制御データ中のレベルメータ表示状態を「無し」に設定して本処理を完了させる。
【0080】
以上のように、表示制御/表示変更処理によれば、ガイダンスを表示する部分に本来の表示すべき文字とガイダンス表示とを交互に表示するようにした為、表示できる情報を減らさずにガイダンス表示を行うことが可能になっている。また、本来の表示すべき文字とガイダンス表示とを交互に表示する期間を非対称とし、本来の表示すべき文字を表示する期間を長くすることで視認性を向上させることができる。加えて、文字表示する領域CDEを使用してレベル表示するようにした為、従来、レベル表示専用のセグメントを配置した場合と比較して、文字表示する領域CDEを相対的に大きくとれる利点がある。
【0081】
【発明の効果】
請求項1〜3に記載の発明によれば、スイッチのオン操作に応じて、他のスイッチとの同時押しか否かを判定する待ち時間を設定し、設定された待ち時間が経過するまでの間に、前記オン操作されたスイッチと対に同時押し機能が割り当てられるスイッチがオン操作された場合にのみ、前記同時押し機能の実行を指示するので、ONエッジからOFFエッジまでの時間が長くゆっくりとしたスイッチ操作を行ったとしても、スイッチの反応が遅くなることは無く、従来の違和感を解消することができる。
請求項4〜6に記載の発明によれば、2つの異なるスイッチが同時にオン操作された場合にある機能の実行を指示する同時押し機能と、第1の待ち時間オン操作を持続させた場合にオフ操作されるまで一定時間の間隔で複数回オン操作された時と同じ動作の繰り返しを指示するリピート機能と、オン操作から第2の待ち時間を超えた場合にある機能の実行を指示する押し続け機能とを所定スイッチに割り当てておき、この所定スイッチと対に同時押し機能が割り当てられるスイッチがオン操作されず同時押しが成立しない状態で、その所定スイッチを第1の待ち時間が経過するまでオン操作を持続させた場合にはリピート機能の実行を指示し、一方、前記所定スイッチと対に同時押し機能が割り当てられるスイッチがオン操作されず同時押しが成立しない状態で、その所定スイッチを第2の待ち時間が経過するまでオン操作を持続させた場合に押し続け機能の実行を指示するようにしたので、「同時押し操作」を割り当てたスイッチに「押し続け操作」や「リピート操作」も同時に割り当てることができる。
請求項7〜9に記載の発明によれば、スイッチ操作に応じて、そのスイッチに対応付けられた機能の実行を最優先順位で指示するスイッチ制御処理と、このスイッチ制御処理が実行を指示した機能の実行状態を一定時間毎に制御するタイマスイッチ実行処理とを有し、前記スイッチ制御処理が機能の実行を最優先順位で指示した場合、それより優先順位の低いタイマスイッチ実行処理の動作を制限するマルチタスク制御を行うので、「リピート操作」が実行中であっても、その完了を待たずに即座に通常のスイッチ操作に対応することができる。
【図面の簡単な説明】
【図1】本発明による一実施例の全体構成を示すブロック図である。
【図2】表示装置3aに表示される表示画面の一例を示す図である。
【図3】CPU7が実行するマルチタスクの構成を示す図である。
【図4】ROM8に記憶される主要なデータの構成を示す図である。
【図5】RAM9に格納されるスイッチ制御データの構成を説明するための図である。
【図6】RAM9に格納されるロータリーエンコーダ制御データの構成を説明するための図である。
【図7】RAM9に格納される表示制御データの一例を示す図である。
【図8】RAM9に格納される表示制御データの一例を示す図である。
【図9】RAM9に格納される表示制御データの一例を示す図である。
【図10】スイッチ制御処理の動作を示すフローチャートである。
【図11】スイッチ制御処理の動作を示すフローチャートである。
【図12】タイマキャンセル処理の動作を示すフローチャートである。
【図13】タイマストップ処理の動作を示すフローチャートである。
【図14】ShortWait確定待ちセット処理の動作を示すフローチャートである。
【図15】タイマスタート処理の動作を示すフローチャートである。
【図16】リピート確定待ちセット処理の動作を示すフローチャートである。
【図17】押し続け確定待ちセット処理の動作を示すフローチャートである。
【図18】タイマスイッチ実行処理の動作を示すフローチャートである。
【図19】タイマスイッチ実行処理の動作を示すフローチャートである。
【図20】タイマスイッチ実行処理の動作を示すフローチャートである。
【図21】押し続け機能スイッチ処理の動作を示すフローチャートである。
【図22】リピート確定動作を示すフローチャートである。
【図23】リピート機能スイッチ処理の動作を示すフローチャートである。
【図24】「同時押し機能」、「ShortWait機能」および「リピート機能」が割り当てられたスイッチnの動作タイミングを示す図である。
【図25】「同時押し機能」、「押し続け機能」および「キャンセル可能OFFエッジ機能」が割り当てられたスイッチnの動作タイミングを示す図である。
【図26】ロータリーエンコーダ制御処理の動作を示すフローチャートである。
【図27】タイマRE処理の動作を示すフローチャートである。
【図28】表示制御(1)処理の動作を示すフローチャートである。
【図29】ガイダンス付表示更新(1)処理の動作を示すフローチャートである。
【図30】ガイダンス付表示更新(2)処理の動作を示すフローチャートである。
【図31】表示変更(1)処理の動作を示すフローチャートである。
【図32】表示制御(2)処理の動作を示すフローチャートである。
【図33】表示変更(2)処理の動作を示すフローチャートである。
【符号の説明】
1 パネルスイッチ
2 スイッチ操作検出回路
3 表示部
4 鍵盤部
5 MIDIインタフェース
6 ロータリーエンコーダ
7 CPU
8 ROM
9 RAM
10 音源装置
11 サウンドシステム
Claims (9)
- スイッチのオン操作に応じて、他のスイッチとの同時押しか否かを判定する待ち時間を設定する設定手段と、
この設定手段により設定された待ち時間が経過するまでの間に、前記オン操作されたスイッチと対に同時押し機能が割り当てられるスイッチがオン操作された場合にのみ、前記同時押し機能の実行を指示する指示手段と
を具備することを特徴とする操作子制御装置。 - スイッチのオン操作に応じて、他のスイッチとの同時押しか否かを判定する待ち時間を設定する設定過程と、
この設定過程にて設定された待ち時間が経過するまでの間に、前記オン操作されたスイッチと対に同時押し機能が割り当てられるスイッチがオン操作された場合にのみ、前記同時押し機能の実行を指示する指示過程と
を具備することを特徴とする操作子制御方法。 - スイッチのオン操作に応じて、他のスイッチとの同時押しか否かを判定する待ち時間を設定する設定ステップと、
この設定ステップにて設定された待ち時間が経過するまでの間に、前記オン操作されたスイッチと対に同時押し機能が割り当てられるスイッチがオン操作された場合にのみ、前記同時押し機能の実行を指示する指示ステップと
をコンピュータで実行させることを特徴とする操作子制御プログラム。 - 2つの異なるスイッチが同時にオン操作された場合にある機能の実行を指示する同時押し機能と、第1の待ち時間オン操作を持続させた場合にオフ操作されるまで一定時間の間隔で複数回オン操作された時と同じ動作の繰り返しを指示するリピート機能と、オン操作から第2の待ち時間を超えた場合にある機能の実行を指示する押し続け機能とを所定スイッチに割り当てる割当て手段と、
前記所定スイッチと対に同時押し機能が割り当てられるスイッチがオン操作されず同時押しが成立しない状態で、その所定スイッチを第1の待ち時間が経過するまでオン操作を持続させた場合に前記リピート機能の実行を指示する第1の指示手段と、
前記所定スイッチと対に同時押し機能が割り当てられるスイッチがオン操作されず同時押しが成立しない状態で、その所定スイッチを第2の待ち時間が経過するまでオン操作を持続させた場合に前記押し続け機能の実行を指示する第2の指示手段と
を具備することを特徴とする操作子制御装置。 - 2つの異なるスイッチが同時にオン操作された場合にある機能の実行を指示する同時押し機能と、第1の待ち時間オン操作を持続させた場合にオフ操作されるまで一定時間の間隔で複数回オン操作された時と同じ動作の繰り返しを指示するリピート機能と、オン操作から第2の待ち時間を超えた場合にある機能の実行を指示する押し続け機能とを所定スイッチに割り当てる割当て過程と、
前記所定スイッチと対に同時押し機能が割り当てられるスイッチがオン操作されず同時押しが成立しない状態で、その所定スイッチを第1の待ち時間が経過するまでオン操作を持続させた場合に前記リピート機能の実行を指示する第1の指示過程と、
前記所定スイッチと対に同時押し機能が割り当てられるスイッチがオン操作されず同時押しが成立しない状態で、その所定スイッチを第2の待ち時間が経過するまでオン操作を持続させた場合に前記押し続け機能の実行を指示する第2の指示過程と
を具備することを特徴とする操作子制御方法。 - 2つの異なるスイッチが同時にオン操作された場合にある機能の実行を指示する同時押し機能と、第1の待ち時間オン操作を持続させた場合にオフ操作されるまで一定時間の間隔で複数回オン操作された時と同じ動作の繰り返しを指示するリピート機能と、オン操作から第2の待ち時間を超えた場合にある機能の実行を指示する押し続け機能とを所定スイッチに割り当てる割当てステップと、
前記所定スイッチと対に同時押し機能が割り当てられるスイッチがオン操作されず同時押しが成立しない状態で、その所定スイッチを第1の待ち時間が経過するまでオン操作を持続させた場合に前記リピート機能の実行を指示する第1の指示ステップと、
前記所定スイッチと対に同時押し機能が割り当てられるスイッチがオン操作されず同時押しが成立しない状態で、その所定スイッチを第2の待ち時間が経過するまでオン操作を持続させた場合に前記押し続け機能の実行を指示する第2の指示ステップと
をコンピュータで実行させることを特徴とする操作子制御プログラム。 - スイッチ操作に応じて、そのスイッチに対応付けられた機能の実行を最優先順位で指示するスイッチ制御手段と、
このスイッチ制御手段が実行を指示した機能の実行状態を一定時間毎に制御するタイマスイッチ実行手段とを有し、
前記スイッチ制御手段が機能の実行を最優先順位で指示した場合、それより優先順位の低いタイマスイッチ実行手段の動作を制限するマルチタスク制御を行うことを特徴とする操作子制御装置。 - スイッチ操作に応じて、そのスイッチに対応付けられた機能の実行を最優先順位で指示するスイッチ制御過程と、
このスイッチ制御過程が実行を指示した機能の実行状態を一定時間毎に制御するタイマスイッチ実行過程とを有し、
前記スイッチ制御過程が機能の実行を最優先順位で指示した場合、それより優先順位の低いタイマスイッチ実行過程の動作を制限するマルチタスク制御を行うことを特徴とする操作子制御方法。 - スイッチ操作に応じて、そのスイッチに対応付けられた機能の実行を最優先順位で指示するスイッチ制御処理と、
このスイッチ制御処理が実行を指示した機能の実行状態を一定時間毎に制御するタイマスイッチ実行処理とを有し、
前記スイッチ制御処理が機能の実行を最優先順位で指示した場合、それより優先順位の低いタイマスイッチ実行処理の動作を制限するマルチタスク制御を行うことを特徴とする操作子制御プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002317040A JP2004151410A (ja) | 2002-10-31 | 2002-10-31 | 操作子制御装置、操作子制御方法および操作子制御プログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002317040A JP2004151410A (ja) | 2002-10-31 | 2002-10-31 | 操作子制御装置、操作子制御方法および操作子制御プログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004151410A true JP2004151410A (ja) | 2004-05-27 |
Family
ID=32460527
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002317040A Pending JP2004151410A (ja) | 2002-10-31 | 2002-10-31 | 操作子制御装置、操作子制御方法および操作子制御プログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2004151410A (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009216901A (ja) * | 2008-03-10 | 2009-09-24 | Yamaha Corp | 自動演奏装置、プログラム |
JP2009301861A (ja) * | 2008-06-13 | 2009-12-24 | Calsonic Kansei Corp | 多方向操作スイッチ装置 |
JP2012115422A (ja) * | 2010-11-30 | 2012-06-21 | Nintendo Co Ltd | 入力判定プログラム、情報処理装置、システム及び情報処理方法 |
-
2002
- 2002-10-31 JP JP2002317040A patent/JP2004151410A/ja active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009216901A (ja) * | 2008-03-10 | 2009-09-24 | Yamaha Corp | 自動演奏装置、プログラム |
JP2009301861A (ja) * | 2008-06-13 | 2009-12-24 | Calsonic Kansei Corp | 多方向操作スイッチ装置 |
JP2012115422A (ja) * | 2010-11-30 | 2012-06-21 | Nintendo Co Ltd | 入力判定プログラム、情報処理装置、システム及び情報処理方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20030091377A1 (en) | Input apparatus and method | |
JP2004265451A (ja) | 座標入力装置 | |
KR960035262A (ko) | 데이터 처리 시스템에서 인터럽트 대기의 선택적인 제어를 위한 방법과 장치 | |
JP2004151410A (ja) | 操作子制御装置、操作子制御方法および操作子制御プログラム | |
WO2004104828A1 (ja) | 割り込みコントローラ、asic、及び電子機器 | |
JPH0944285A (ja) | 情報処理装置 | |
JPH096506A (ja) | 入力装置 | |
JP2000003174A (ja) | 演奏情報再生装置 | |
JP2008015315A (ja) | 楽音発生装置および楽音発生処理プログラム | |
JP2004164307A (ja) | 表示装置、スクロール情報生成方法およびプログラム | |
JP2002014760A (ja) | 仮想キーボード | |
JP4115264B2 (ja) | 遅延装置 | |
JPH02291010A (ja) | キースキャン回路 | |
JPH087269B2 (ja) | 電子時計 | |
JPS6222898Y2 (ja) | ||
JPH11175231A (ja) | 機能起動方法及びプログラム記憶媒体 | |
JP3543160B2 (ja) | 自動演奏装置 | |
JP2000284892A (ja) | マイコン搭載機器のマイコン待機状態時の消費電流削減回路 | |
JP2001034416A (ja) | 抵抗膜式タッチパネル、入力装置、及び抵抗膜式タッチパネルを備えるデータ処理装置 | |
JPH0721400A (ja) | マルチウィンドウシステムにおける画面切り替え方法 | |
JP2508578Y2 (ja) | 自動伴奏装置 | |
JP2003248536A (ja) | 履歴記憶再生装置および履歴記憶再生方法 | |
JPH0697397B2 (ja) | 電子楽器 | |
JPS61105993A (ja) | 音響装置 | |
JP2009251965A (ja) | マルチフィンガージェスチャコードシステム及びそのコード方法 |