jp.crestmuse.cmx.amusaj.sp
インタフェース ProducerConsumerCompatible<D extends SPElement,E extends SPElement>

既知の実装クラスの一覧:
ChordPredictorModule, ChromaExtractor, F0PDFCalculatorModule, FeatureExtractionModule, HarmonicsExtractor, MidiInputModule, MidiModuleSamples.OctaveUp, MidiModuleSamples.PrintModule, MidiOutputModule, MusicRepresentationModule, PeakExtractor, SPModule, SPProgressDisplayModule, WindowSlider

public interface ProducerConsumerCompatible<D extends SPElement,E extends SPElement>

Producer-Consumerパターンに基づいたデータ処理モジュールのインターフェースです. このインターフェースでは, 1つ以上のキューから要素を1つずつ取り出して, 何らかの処理を行った後, 処理結果を別のキューに書き込みます. 各モジュールには, 基本的には入力チャンネルと出力チャンネルが各々1つ以上あり, 各チャンネルにキューが接続される形になります.


メソッドの概要
 void execute(java.util.List<QueueReader<D>> src, java.util.List<TimeSeriesCompatible<E>> dest)
          ここに処理内容を記述します.
 int getInputChannels()
          入力チャンネル数を返します.
 int getOutputChannels()
          出力チャンネル数を返します
 void setParams(java.util.Map<java.lang.String,java.lang.String> params)
           
 void stop(java.util.List<QueueReader<D>> src, java.util.List<TimeSeriesCompatible<E>> dest)
          モジュールの処理が終了したときにSPExecutorから呼び出されます
 

メソッドの詳細

setParams

void setParams(java.util.Map<java.lang.String,java.lang.String> params)

execute

void execute(java.util.List<QueueReader<D>> src,
             java.util.List<TimeSeriesCompatible<E>> dest)
             throws java.lang.InterruptedException
ここに処理内容を記述します. 引数srcに全入力チャンネルに対するQueueReaderが 格納されているので, takeメソッドでそこから1つずつ要素を取り出します.

パラメータ:
src - 全入力チャンネルに対するQueueReaderオブジェクト
dest - 全出力チャンネル
例外:
java.lang.InterruptedException

stop

void stop(java.util.List<QueueReader<D>> src,
          java.util.List<TimeSeriesCompatible<E>> dest)
モジュールの処理が終了したときにSPExecutorから呼び出されます


getInputChannels

int getInputChannels()
入力チャンネル数を返します.


getOutputChannels

int getOutputChannels()
出力チャンネル数を返します