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

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

  Method [ getCPtrForSpcFile
    ^swigCPtrForSpcFile
  ]


  Method[ swigFinalize
    super swigFinalize.
    self delete.
  ]

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

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

  Function [ filename: filename
    ^self fromPointer: (LorisNI lorisNI_new_SpcFile__SWIG_0: filename asNullTermStringParameter) memoryOwn: true
  ]

  Function [ midiNoteNum: midiNoteNum
    ^self fromPointer: (LorisNI lorisNI_new_SpcFile__SWIG_1: midiNoteNum) memoryOwn: true
  ]

  Function [ new
    ^self fromPointer: (LorisNI lorisNI_new_SpcFile__SWIG_2) memoryOwn: true
  ]

  Method [ sampleRate 
    ^LorisNI lorisNI_SpcFile_sampleRate: swigCPtrForSpcFile 
  ]

  Method [ midiNoteNumber 
    ^LorisNI lorisNI_SpcFile_midiNoteNumber: swigCPtrForSpcFile 
  ]

  Method [ addPartial: p 
    LorisNI lorisNI_SpcFile_addPartial__SWIG_0: swigCPtrForSpcFile with: (SwigTypePLorisPartial getCPtr: p)
  ]

  Method [ addPartial: p label: label 
    LorisNI lorisNI_SpcFile_addPartial__SWIG_1: swigCPtrForSpcFile with: (SwigTypePLorisPartial getCPtr: p) with: label
  ]

  Method [ setMidiNoteNumber: nn 
    LorisNI lorisNI_SpcFile_setMidiNoteNumber: swigCPtrForSpcFile with: nn
  ]

  Method [ setSampleRate: rate 
    LorisNI lorisNI_SpcFile_setSampleRate: swigCPtrForSpcFile with: rate
  ]

  Method [ write: filename enhanced: enhanced endApproachTime: endApproachTime 
    LorisNI lorisNI_SpcFile_write__SWIG_0: swigCPtrForSpcFile with: filename asNullTermStringParameter with: enhanced asBooleanParameter with: endApproachTime
  ]

  Method [ write: filename enhanced: enhanced 
    LorisNI lorisNI_SpcFile_write__SWIG_1: swigCPtrForSpcFile with: filename asNullTermStringParameter with: enhanced asBooleanParameter
  ]

  Method [ write: filename 
    LorisNI lorisNI_SpcFile_write__SWIG_2: swigCPtrForSpcFile with: filename asNullTermStringParameter
  ]

  Function [ l: l midiNoteNum: midiNoteNum
    ^self fromPointer: (LorisNI lorisNI_new_SpcFile__SWIG_3: (PartialList getCPtr: l), midiNoteNum) memoryOwn: true
  ]

  Function [ l: l
    ^self fromPointer: (LorisNI lorisNI_new_SpcFile__SWIG_4: (PartialList getCPtr: l)) memoryOwn: true
  ]

  Method [ partials 
    |cPtr|
    cPtr := LorisNI lorisNI_SpcFile_partials: swigCPtrForSpcFile .
    ^(cPtr == 0) ifTrue:[ nil ] ifFalse:[ PartialList fromPointer: cPtr memoryOwn: true ]
  ]

  Method [ addPartials: l 
    LorisNI lorisNI_SpcFile_addPartials: swigCPtrForSpcFile with: (PartialList getCPtr: l)
  ]

  Method [ markers 
    ^MarkerVector fromPointer: LorisNI lorisNI_SpcFile_markers: swigCPtrForSpcFile  memoryOwn: true
  ]

  Method [ addMarkers: markers 
    LorisNI lorisNI_SpcFile_addMarkers: swigCPtrForSpcFile with: (MarkerVector getCPtr: markers)
  ]

  Method [ setMarkers: markers 
    LorisNI lorisNI_SpcFile_setMarkers: swigCPtrForSpcFile with: (MarkerVector getCPtr: markers)
  ]

}
