/* ----------------------------------------------------------------------------
 * 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: FileIO extends: IO fields: swigCPtrForFileIO {

  Method [ pvtSetCPtr: newCPtr memoryOwn: newCMemoryOwn
    super pvtSetCPtr: (CslNI cslNI_SWIGFileIOToIO: newCPtr) memoryOwn: newCMemoryOwn.
    swigCPtrForFileIO := newCPtr.
  ]

  Method [ getCPtrForFileIO
    ^swigCPtrForFileIO
  ]


  Function [ new
    self noDefaultConstructorError
  ]

  Method[ swigFinalize
    super swigFinalize.
    self delete.
  ]

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

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

  Function [ path: path
    ^self fromPointer: (CslNI cslNI_new_FileIO: path asNullTermStringParameter) memoryOwn: true
  ]

  Method [ setMIsPlaying: mIsPlaying 
    CslNI cslNI_set_FileIO_mIsPlaying: swigCPtrForFileIO with: mIsPlaying asBooleanParameter
  ]

  Method [ getMIsPlaying 
	^(CslNI cslNI_get_FileIO_mIsPlaying: swigCPtrForFileIO ) asBoolean
  ]

  Method [ setMIsThreadRunning: mIsThreadRunning 
    CslNI cslNI_set_FileIO_mIsThreadRunning: swigCPtrForFileIO with: mIsThreadRunning asBooleanParameter
  ]

  Method [ getMIsThreadRunning 
	^(CslNI cslNI_get_FileIO_mIsThreadRunning: swigCPtrForFileIO ) asBoolean
  ]

  Method [ setMDuration: mDuration 
    CslNI cslNI_set_FileIO_mDuration: swigCPtrForFileIO with: mDuration
  ]

  Method [ getMDuration 
    ^CslNI cslNI_get_FileIO_mDuration: swigCPtrForFileIO 
  ]

  Method [ open 
    CslNI cslNI_FileIO_open: swigCPtrForFileIO 
  ]

  Method [ start: seconds 
    CslNI cslNI_FileIO_start__SWIG_0: swigCPtrForFileIO with: seconds
  ]

  Method [ start 
    CslNI cslNI_FileIO_start__SWIG_1: swigCPtrForFileIO 
  ]

  Method [ stop 
    CslNI cslNI_FileIO_stop: swigCPtrForFileIO 
  ]

  Method [ close 
    CslNI cslNI_FileIO_close: swigCPtrForFileIO 
  ]

  Method [ test 
    CslNI cslNI_FileIO_test: swigCPtrForFileIO 
  ]

  Method [ getInput 
    ^Buffer fromPointer: CslNI cslNI_FileIO_getInput__SWIG_0: swigCPtrForFileIO  memoryOwn: false
  ]

  Method [ getInput: numFrames numChannels: numChannels 
    ^Buffer fromPointer: CslNI cslNI_FileIO_getInput__SWIG_1: swigCPtrForFileIO with: numFrames with: numChannels memoryOwn: false
  ]

}
