/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version: 1.3.21
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */


Class name: FIR extends: Effect fields: swigCPtrForFIR {

  Method [ pvtSetCPtr: newCPtr memoryOwn: newCMemoryOwn
    super pvtSetCPtr: (CslNI cslNI_SWIGFIRToEffect: newCPtr) memoryOwn: newCMemoryOwn.
    swigCPtrForFIR := newCPtr.
  ]

  Method [ getCPtrForFIR
    ^swigCPtrForFIR
  ]


  Function [ new
    self noDefaultConstructorError
  ]

  Method[ swigFinalize
    super swigFinalize.
    self delete.
  ]

  Method [ delete 
    (swigCMemoryOwn and:[ swigCPtrForFIR ~~ 0 ]) ifTrue:[
      swigCMemoryOwn := false.
      CslNI cslNI_delete_FIR: swigCPtrForFIR.
    ].
    swigCPtrForFIR := 0.
    super delete.
  ]

  Function[ getCPtr: obj
     obj isNil ifTrue:[^0].
     ^obj getCPtrForFIR
  ]

  Function [ in: in numTaps: numTaps tapDelay: tapDelay
    ^self fromPointer: (CslNI cslNI_new_FIR__SWIG_0: (UnitGenerator getCPtr: in), numTaps, (SwigTypePfloat getCPtr: tapDelay)) memoryOwn: true
  ]

  Function [ in: in numTaps: numTaps
    ^self fromPointer: (CslNI cslNI_new_FIR__SWIG_1: (UnitGenerator getCPtr: in), numTaps) memoryOwn: true
  ]

  Function [ in: in
    ^self fromPointer: (CslNI cslNI_new_FIR__SWIG_2: (UnitGenerator getCPtr: in)) memoryOwn: true
  ]

  Function [ fs: fs
    ^self fromPointer: (CslNI cslNI_new_FIR__SWIG_3: (FilterSpecification getCPtr: fs)) memoryOwn: true
  ]

  Function [ in: in fileName: fileName
    ^self fromPointer: (CslNI cslNI_new_FIR__SWIG_4: (UnitGenerator getCPtr: in), fileName asNullTermStringParameter) memoryOwn: true
  ]

  Function [ in: in fs: fs
    ^self fromPointer: (CslNI cslNI_new_FIR__SWIG_5: (UnitGenerator getCPtr: in), (FilterSpecification getCPtr: fs)) memoryOwn: true
  ]

  Method [ setTaps: numTaps tapDelays: tapDelays 
    CslNI cslNI_FIR_setTaps: swigCPtrForFIR with: numTaps with: (SwigTypePfloat getCPtr: tapDelays)
  ]

  Method [ readTaps: fileName 
    CslNI cslNI_FIR_readTaps: swigCPtrForFIR with: fileName asNullTermStringParameter
  ]

  Method [ nextBuffer: outputBuffer outBufNum: outBufNum 
    CslNI cslNI_FIR_nextBuffer: swigCPtrForFIR with: (Buffer getCPtr: outputBuffer) with: outBufNum
  ]

}
