/* ----------------------------------------------------------------------------
 * 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: Analyzer extends: SwigProxy fields: swigCPtrForAnalyzer, swigCMemoryOwn {

  Method [ pvtSetCPtr: newCPtr memoryOwn: newCMemoryOwn
    swigCMemoryOwn := newCMemoryOwn.
    swigCPtrForAnalyzer := newCPtr.
  ]

  Method [ getCPtrForAnalyzer
    ^swigCPtrForAnalyzer
  ]


  Function [ new
    self noDefaultConstructorError
  ]

  Method[ swigFinalize
    super swigFinalize.
    self delete.
  ]

  Method [ delete 
    (swigCMemoryOwn and:[ swigCPtrForAnalyzer ~~ 0 ]) ifTrue:[
      swigCMemoryOwn := false.
      LorisNI lorisNI_delete_Analyzer: swigCPtrForAnalyzer.
    ].
    swigCPtrForAnalyzer := 0.
  ]

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

  Function [ resolutionHz: resolutionHz
    ^self fromPointer: (LorisNI lorisNI_new_Analyzer__SWIG_0: resolutionHz) memoryOwn: true
  ]

  Function [ resolutionHz: resolutionHz windowWidthHz: windowWidthHz
    ^self fromPointer: (LorisNI lorisNI_new_Analyzer__SWIG_1: resolutionHz, windowWidthHz) memoryOwn: true
  ]

  Function [ another: another
    ^self fromPointer: (LorisNI lorisNI_new_Analyzer__SWIG_2: (Analyzer getCPtr: another)) memoryOwn: true
  ]

  Method [ analyze: vec srate: srate 
    |cPtr|
    cPtr := LorisNI lorisNI_Analyzer_analyze__SWIG_0: swigCPtrForAnalyzer with: (DoubleVector getCPtr: vec) with: srate.
    ^(cPtr == 0) ifTrue:[ nil ] ifFalse:[ PartialList fromPointer: cPtr memoryOwn: true ]
  ]

  Method [ analyze: vec srate: srate env: env 
    |cPtr|
    cPtr := LorisNI lorisNI_Analyzer_analyze__SWIG_1: swigCPtrForAnalyzer with: (DoubleVector getCPtr: vec) with: srate with: (LinearEnvelope getCPtr: env).
    ^(cPtr == 0) ifTrue:[ nil ] ifFalse:[ PartialList fromPointer: cPtr memoryOwn: true ]
  ]

  Method [ ampFloor 
    ^LorisNI lorisNI_Analyzer_ampFloor: swigCPtrForAnalyzer 
  ]

  Method [ bwRegionWidth 
    ^LorisNI lorisNI_Analyzer_bwRegionWidth: swigCPtrForAnalyzer 
  ]

  Method [ cropTime 
    ^LorisNI lorisNI_Analyzer_cropTime: swigCPtrForAnalyzer 
  ]

  Method [ freqDrift 
    ^LorisNI lorisNI_Analyzer_freqDrift: swigCPtrForAnalyzer 
  ]

  Method [ freqFloor 
    ^LorisNI lorisNI_Analyzer_freqFloor: swigCPtrForAnalyzer 
  ]

  Method [ freqResolution 
    ^LorisNI lorisNI_Analyzer_freqResolution: swigCPtrForAnalyzer 
  ]

  Method [ hopTime 
    ^LorisNI lorisNI_Analyzer_hopTime: swigCPtrForAnalyzer 
  ]

  Method [ sidelobeLevel 
    ^LorisNI lorisNI_Analyzer_sidelobeLevel: swigCPtrForAnalyzer 
  ]

  Method [ windowWidth 
    ^LorisNI lorisNI_Analyzer_windowWidth: swigCPtrForAnalyzer 
  ]

  Method [ setAmpFloor: x 
    LorisNI lorisNI_Analyzer_setAmpFloor: swigCPtrForAnalyzer with: x
  ]

  Method [ setBwRegionWidth: x 
    LorisNI lorisNI_Analyzer_setBwRegionWidth: swigCPtrForAnalyzer with: x
  ]

  Method [ setCropTime: x 
    LorisNI lorisNI_Analyzer_setCropTime: swigCPtrForAnalyzer with: x
  ]

  Method [ setFreqDrift: x 
    LorisNI lorisNI_Analyzer_setFreqDrift: swigCPtrForAnalyzer with: x
  ]

  Method [ setFreqFloor: x 
    LorisNI lorisNI_Analyzer_setFreqFloor: swigCPtrForAnalyzer with: x
  ]

  Method [ setFreqResolution: x 
    LorisNI lorisNI_Analyzer_setFreqResolution: swigCPtrForAnalyzer with: x
  ]

  Method [ setHopTime: x 
    LorisNI lorisNI_Analyzer_setHopTime: swigCPtrForAnalyzer with: x
  ]

  Method [ setSidelobeLevel: x 
    LorisNI lorisNI_Analyzer_setSidelobeLevel: swigCPtrForAnalyzer with: x
  ]

  Method [ setWindowWidth: x 
    LorisNI lorisNI_Analyzer_setWindowWidth: swigCPtrForAnalyzer with: x
  ]

  Method [ fundamentalEnv 
    ^LinearEnvelope fromPointer: LorisNI lorisNI_Analyzer_fundamentalEnv: swigCPtrForAnalyzer  memoryOwn: true
  ]

  Method [ buildFundamentalEnv: TF 
    LorisNI lorisNI_Analyzer_buildFundamentalEnv__SWIG_0: swigCPtrForAnalyzer with: TF asBooleanParameter
  ]

  Method [ buildFundamentalEnv 
    LorisNI lorisNI_Analyzer_buildFundamentalEnv__SWIG_1: swigCPtrForAnalyzer 
  ]

  Method [ buildFundamentalEnv: fmin fmax: fmax threshDb: threshDb threshHz: threshHz 
    LorisNI lorisNI_Analyzer_buildFundamentalEnv__SWIG_2: swigCPtrForAnalyzer with: fmin with: fmax with: threshDb with: threshHz
  ]

  Method [ buildFundamentalEnv: fmin fmax: fmax threshDb: threshDb 
    LorisNI lorisNI_Analyzer_buildFundamentalEnv__SWIG_3: swigCPtrForAnalyzer with: fmin with: fmax with: threshDb
  ]

  Method [ buildFundamentalEnv: fmin fmax: fmax 
    LorisNI lorisNI_Analyzer_buildFundamentalEnv__SWIG_4: swigCPtrForAnalyzer with: fmin with: fmax
  ]

  Method [ ampEnv 
    ^LinearEnvelope fromPointer: LorisNI lorisNI_Analyzer_ampEnv: swigCPtrForAnalyzer  memoryOwn: true
  ]

  Method [ buildAmpEnv: TF 
    LorisNI lorisNI_Analyzer_buildAmpEnv__SWIG_0: swigCPtrForAnalyzer with: TF asBooleanParameter
  ]

  Method [ buildAmpEnv 
    LorisNI lorisNI_Analyzer_buildAmpEnv__SWIG_1: swigCPtrForAnalyzer 
  ]

}
