[DEFINE]
#If ctSSLayer_Spectrum Then
  Private ctSSLayer_GetSpectrumInt As Long
  #End If

[CODE]
#If ctSSLayer_Spectrum Then
  Public Sub ctSSLayer_GetSpectrum(ByRef xSingleA1Array As Single, ByVal ArraySize As Long, ByVal SongPointer As Long, ByVal Stereo As Boolean)
    Call CallFunction_Fast(ctSSLayer_GetSpectrumInt, VarPtr(xSingleA1Array), ArraySize, SongPointer, -CLng(Stereo * 3&))
    End Sub
  #End If

#If ctSSLayer_SetEndCallback Then
  Public Sub ctSSLayer_SetEndCallback(ByVal hWnd As Long, ByVal Message As Long, ByVal wParam As Long)
    Call CallFunction_Indirect(hModul, "ctSSLayer_SetEndCallback", hWnd, Message, wParam)
    End Sub
  #End If

#If ctSSLayer_Spectrum Then
  Public Sub ctSSLayer_SetSpectrum(ByVal State As Long)
    Call CallFunction_Indirect(hModul, "ctSSLayer_SetSpectrum", State)
    End Sub
  #End If

#If ctSSLayer_UpdateCDDA Then
  Public Sub ctSSLayer_UpdateCDDA(ByVal UseCDDA As Long, ByVal UseJitterCorrection As Long)
    Call CallFunction_Indirect(hModul, "ctSSLayer_UpdateCDDA", UseCDDA, UseJitterCorrection)
    End Sub
  #End If

#If ctSSLayer_UpdateLooping Then
  Public Sub ctSSLayer_UpdateLooping(ByVal SongPointer As Long, ByVal LoopSong As Long)
    Call CallFunction_Indirect(hModul, "ctSSLayer_UpdateLooping", SongPointer, LoopSong)
    End Sub
  #End If

#If ctSSLayer_UpdatePanning Then
  Public Sub ctSSLayer_UpdatePanning(ByVal SongPointer As Long, ByVal Panning As Long)
    Call CallFunction_Indirect(hModul, "ctSSLayer_UpdatePanning", SongPointer, Panning)
    End Sub
  #End If