/* ----------------------------------------------------------------------------
 * 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: RingBufferTap extends: UnitGenerator fields: swigCPtrForRingBufferTap {

  Method [ pvtSetCPtr: newCPtr memoryOwn: newCMemoryOwn
    super pvtSetCPtr: (CslNI cslNI_SWIGRingBufferTapToUnitGenerator: newCPtr) memoryOwn: newCMemoryOwn.
    swigCPtrForRingBufferTap := newCPtr.
  ]

  Method [ getCPtrForRingBufferTap
    ^swigCPtrForRingBufferTap
  ]


  Function [ new
    self noDefaultConstructorError
  ]

  Method[ swigFinalize
    super swigFinalize.
    self delete.
  ]

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

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

  Function [ parent: parent offset: offset
    ^self fromPointer: (CslNI cslNI_new_RingBufferTap__SWIG_0: (RingBuffer getCPtr: parent), offset) memoryOwn: true
  ]

  Function [ parent: parent
    ^self fromPointer: (CslNI cslNI_new_RingBufferTap__SWIG_1: (RingBuffer getCPtr: parent)) memoryOwn: true
  ]

  Method [ setMLoopStartFrame: mLoopStartFrame 
    CslNI cslNI_set_RingBufferTap_mLoopStartFrame: swigCPtrForRingBufferTap with: mLoopStartFrame
  ]

  Method [ getMLoopStartFrame 
    ^CslNI cslNI_get_RingBufferTap_mLoopStartFrame: swigCPtrForRingBufferTap 
  ]

  Method [ setMLoopEndFrame: mLoopEndFrame 
    CslNI cslNI_set_RingBufferTap_mLoopEndFrame: swigCPtrForRingBufferTap with: mLoopEndFrame
  ]

  Method [ getMLoopEndFrame 
    ^CslNI cslNI_get_RingBufferTap_mLoopEndFrame: swigCPtrForRingBufferTap 
  ]

  Method [ duration 
    ^CslNI cslNI_RingBufferTap_duration: swigCPtrForRingBufferTap 
  ]

  Method [ seekTo: position whence: whence 
    ^CslNI cslNI_RingBufferTap_seekTo: swigCPtrForRingBufferTap with: position with: whence
  ]

  Method [ setLoopStart: frame 
    CslNI cslNI_RingBufferTap_setLoopStart: swigCPtrForRingBufferTap with: frame
  ]

  Method [ setLoopEnd: frame 
    CslNI cslNI_RingBufferTap_setLoopEnd: swigCPtrForRingBufferTap with: frame
  ]

  Method [ nextBuffer: outputBuffer 
    CslNI cslNI_RingBufferTap_nextBuffer__SWIG_0: swigCPtrForRingBufferTap with: (Buffer getCPtr: outputBuffer)
  ]

  Method [ nextBuffer: outputBuffer outBufNum: outBufNum 
    CslNI cslNI_RingBufferTap_nextBuffer__SWIG_1: swigCPtrForRingBufferTap with: (Buffer getCPtr: outputBuffer) with: outBufNum
  ]

  Method [ destructiveNextBuffer: outputBuffer 
    CslNI cslNI_RingBufferTap_destructiveNextBuffer__SWIG_0: swigCPtrForRingBufferTap with: (Buffer getCPtr: outputBuffer)
  ]

  Method [ destructiveNextBuffer: outputBuffer outBufNum: outBufNum 
    CslNI cslNI_RingBufferTap_destructiveNextBuffer__SWIG_1: swigCPtrForRingBufferTap with: (Buffer getCPtr: outputBuffer) with: outBufNum
  ]

}
