概要 | パッケージ | クラス | 階層ツリー | 非推奨 API | 索引 | ヘルプ
前のクラス 次のクラス | フレームあり フレームなし
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド

## jp.crestmuse.cmx.amusaj.sp
クラス SPExecutor

    java.lang.Object
      jp.crestmuse.cmx.amusaj.sp.SPExecutor

    public class SPExecutor

extends java.lang.Object

Producer-Consumerパターンに基づいて設計されたデータ処理モジュールを登録し, モジュール同士を接続し, モジュールネットワークを実行し, 実行結果を取得するという 一連の処理を行うためのクラスです.

Amusa (API for Musical Scene Analysis)では, 音響信号などの時系列データの 処理をProducer-Consumerパターンに基づいたデータ処理モジュールのネットワークとして 構成します. 各モジュールは時系列データから要素を1つ受け取って何らかの処理を行い, 処理結果を別の時系列データ構造に投げます. そのモジュールの後段に接続されている モジュールがそれを受け取ってさらなる処理を行います. 時系列データのデータ構造は First-in-first-out (FIFO)を前提とします. データ処理モジュールは ProducerConsumerCompatibleインターフェースを, 時系列データは TimeSeriesCompatibleインターフェースを実装している必要があります. 詳しくはそれぞれのインターフェースのドキュメントをご覧ください.

コンストラクタの概要
`SPExecutor(java.util.Map<java.lang.String,java.lang.String> params, int timeunit)` nFramesに0以下の値を指定すると、startを呼び出した際、stopを呼び出すまで処理を続けます．

メソッドの概要
`void` | `addSPModule(ProducerConsumerCompatible module)` データ処理モジュールオブジェクトを登録します.
`void` | `connect(ProducerConsumerCompatible output, int ch1, ProducerConsumerCompatible input, int ch2)` 指定されたデータ処理モジュールAの指定されたチャンネルch1の出力を, 指定されたデータ処理モジュールBの指定されたチャンネルch2の入力に接続します.
`boolean` | `finished()`
`boolean` | `finished(ProducerConsumerCompatible module)`
`java.util.Map<java.lang.String,java.lang.String>` | `getParams()`
`java.util.List<TimeSeriesCompatible<? extends SPElement>>` | `getResult(ProducerConsumerCompatible module)` 指定されたデータ処理モジュールの全チャンネルの出力を返します.
`void` | `newThread()`
`void` | `setSleepTime(long sleepTime)`
`void` | `start()` 登録されたデータ処理モジュールの実行を開始します.
`void` | `stop()`

クラス java.lang.Object から継承されたメソッド
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

コンストラクタの詳細

### SPExecutor

    public SPExecutor(java.util.Map<java.lang.String,java.lang.String> params,
                      int timeunit)

  nFramesに0以下の値を指定すると、startを呼び出した際、stopを呼び出すまで処理を続けます．

  パラメータ:
    `params` -
    `nFrames` -
    `timeunit` -

メソッドの詳細

### addSPModule

    public void addSPModule(ProducerConsumerCompatible module)

  データ処理モジュールオブジェクトを登録します.

### newThread

    public void newThread()

### connect

    public void connect(ProducerConsumerCompatible output,
                        int ch1,
                        ProducerConsumerCompatible input,
                        int ch2)

  指定されたデータ処理モジュールAの指定されたチャンネルch1の出力を, 指定されたデータ処理モジュールBの指定されたチャンネルch2の入力に接続します. チャンネルの概念については, ProducerConsumerCompatibleインターフェースの ドキュメントをご覧ください.

### start

    public void start()

  登録されたデータ処理モジュールの実行を開始します.

### stop

    public void stop()

### finished

    public boolean finished()

### finished

    public boolean finished(ProducerConsumerCompatible module)

### getResult

    public java.util.List<TimeSeriesCompatible<? extends SPElement>> getResult(ProducerConsumerCompatible module)

  指定されたデータ処理モジュールの全チャンネルの出力を返します.

### getParams

    public java.util.Map<java.lang.String,java.lang.String> getParams()

### setSleepTime

    public void setSleepTime(long sleepTime)

概要 | パッケージ | クラス | 階層ツリー | 非推奨 API | 索引 | ヘルプ
前のクラス 次のクラス | フレームあり フレームなし
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド