/* ----------------------------------------------------------------------------
 * 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: Filter extends: Effect fields: swigCPtrForFilter {

  Method [ pvtSetCPtr: newCPtr memoryOwn: newCMemoryOwn
    super pvtSetCPtr: (CslNI cslNI_SWIGFilterToEffect: newCPtr) memoryOwn: newCMemoryOwn.
    swigCPtrForFilter := newCPtr.
  ]

  Method [ getCPtrForFilter
    ^swigCPtrForFilter
  ]


  Method[ swigFinalize
    super swigFinalize.
    self delete.
  ]

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

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

  Function [ new
    ^self fromPointer: (CslNI cslNI_new_Filter__SWIG_0) memoryOwn: true
  ]

  Function [ num_b: num_b num_a: num_a
    ^self fromPointer: (CslNI cslNI_new_Filter__SWIG_1: num_b, num_a) memoryOwn: true
  ]

  Function [ num_b: num_b
    ^self fromPointer: (CslNI cslNI_new_Filter__SWIG_2: num_b) memoryOwn: true
  ]

  Function [ in: in num_b: num_b num_a: num_a
    ^self fromPointer: (CslNI cslNI_new_Filter__SWIG_3: (UnitGenerator getCPtr: in), num_b, num_a) memoryOwn: true
  ]

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

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

  Function [ in: in bCoeffs: bCoeffs aCoeffs: aCoeffs num_b: num_b num_a: num_a
    ^self fromPointer: (CslNI cslNI_new_Filter__SWIG_6: (UnitGenerator getCPtr: in), (SwigTypePfloat getCPtr: bCoeffs), (SwigTypePfloat getCPtr: aCoeffs), num_b, num_a) memoryOwn: true
  ]

  Method [ clear 
    CslNI cslNI_Filter_clear: swigCPtrForFilter 
  ]

  Method [ setupCoeffs 
    CslNI cslNI_Filter_setupCoeffs__SWIG_0: swigCPtrForFilter 
  ]

  Method [ setupCoeffs: bCoeffs aCoeffs: aCoeffs num_b: num_b num_a: num_a 
    CslNI cslNI_Filter_setupCoeffs__SWIG_1: swigCPtrForFilter with: (SwigTypePfloat getCPtr: bCoeffs) with: (SwigTypePfloat getCPtr: aCoeffs) with: num_b with: num_a
  ]

  Method [ nextBuffer: outputBuffer outBufNum: outBufNum 
    CslNI cslNI_Filter_nextBuffer: swigCPtrForFilter with: (Buffer getCPtr: outputBuffer) with: outBufNum
  ]

  Method [ dump 
    CslNI cslNI_Filter_dump: swigCPtrForFilter 
  ]

}
