dline.h

説明を見る。
00001 /**
00002    * \file dline.h
00003    * \brief 遅延バッファの実装
00004    *
00005    */
00006 #include <shortfract>
00007 /** 遅延バッファ
00008 *
00009 * 遅延バッファ型を提供する名前空間
00010 */
00011 namespace dline{
00012     /** 遅延バッファ型
00013        *
00014        * 与えられたサイズのバッファを確保し、遅延バッファとして使う。
00015        */
00016     class CShifter {
00017     public:
00018         /** 遅延バッファを確保するコンストラクタ
00019            * @param aMaxDelay 最大遅延量を指定する。単位はサンプル。
00020            *
00021            * 遅延バッファを確保し、0で初期化する。確保に失敗したら内部バッファにはNULLをいれる。
00022            */
00023         CShifter( int aMaxDelay );
00024         
00025         /** デストラクタ
00026            *
00027            * 内部バッファを開放する
00028            */
00029         virtual ~CShifter(void);
00030         
00031         /** 遅延を行う
00032            * @param in 入力バッファ
00033            * @param out 出力バッファ
00034            * @param count 入力バッファのサンプル数。最大遅延量をこえてもかまわない。
00035            * @param delay 出力バッファへの遅延量。0でもかまわない。。
00036            *
00037            * 与えられた入力を内部バッファにコピーしながら、内部バッファの内容を出力にコピーする。
00038            * delayが0のとき、出力には入力の値がそのままコピーされる。ディレイが1のときには、
00039            * 1サンプル遅れた値がコピーされる。
00040            *
00041            * 最大遅延量を以上のdelayを指定すると、最大遅延量-1 分遅延させる。最大遅延量は
00042            * コンストラクタ CShifter::CShifter() であたえる
00043            */
00044         virtual void run( const shortfract in[], shortfract out[], int count, int delay );
00045     private:
00046         /** 最大遅延量
00047            *
00048            * コンストラクタが与える最大遅延量
00049            */
00050         int maxDelay;
00051         
00052         /** 遅延バッファの先頭
00053            *
00054            * データをバッファに挿入すたびに、デクリメントする
00055            */
00056         int head;
00057         
00058         /** 遅延バッファへのポインタ
00059            *
00060            * コンストラクタで値を割り当て、初期化する。
00061            */
00062         shortfract * state;
00063     };
00064 };

Flangerに対してWed Jul 25 11:10:16 2007に生成されました。  doxygen 1.5.2