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()
           
 
メソッドの概要
 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.List<TimeSeriesCompatible> getResult(ProducerConsumerCompatible module)
          指定されたデータ処理モジュールの全チャンネルの出力を返します.
 void setInterruptionReceiver(java.lang.Thread th)
           
 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()
メソッドの詳細

addSPModule

public void addSPModule(ProducerConsumerCompatible module)
データ処理モジュールオブジェクトを登録します.


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)

setInterruptionReceiver

public void setInterruptionReceiver(java.lang.Thread th)

getResult

public java.util.List<TimeSeriesCompatible> getResult(ProducerConsumerCompatible module)
指定されたデータ処理モジュールの全チャンネルの出力を返します.


setSleepTime

public void setSleepTime(long sleepTime)