public static IntPtr RubberBandStretcher_GetChannelCount(IntPtr rbs)
 {
     if (IntPtr.Size == 8)
     {
         return(RubberBandNativeMethodsx64.RubberBandStretcher_GetChannelCount(rbs));
     }
     else
     {
         return(RubberBandNativeMethodsWin32.RubberBandStretcher_GetChannelCount(rbs));
     }
 }
 public static IntPtr RubberBandStretcher_Create(IntPtr sampleRate, IntPtr channels, int options = 0, double initialTimeRatio = 1.0, double initialPitchScale = 1.0)
 {
     if (IntPtr.Size == 8)
     {
         return(RubberBandNativeMethodsx64.RubberBandStretcher_Create(sampleRate, channels, options, initialTimeRatio, initialPitchScale));
     }
     else
     {
         return(RubberBandNativeMethodsWin32.RubberBandStretcher_Create(sampleRate, channels, options, initialTimeRatio, initialPitchScale));
     }
 }
 public static IntPtr RubberBandStretcher_GetPhaseResetCurve(IntPtr rbs, float[] buffer, IntPtr bufferSize)
 {
     if (IntPtr.Size == 8)
     {
         return(RubberBandNativeMethodsx64.RubberBandStretcher_GetPhaseResetCurve(rbs, buffer, bufferSize));
     }
     else
     {
         return(RubberBandNativeMethodsWin32.RubberBandStretcher_GetPhaseResetCurve(rbs, buffer, bufferSize));
     }
 }
 public static IntPtr RubberBandStretcher_GetExactTimePoints(IntPtr rbs, int[] buffer, IntPtr bufferSize)
 {
     if (IntPtr.Size == 8)
     {
         return(RubberBandNativeMethodsx64.RubberBandStretcher_GetExactTimePoints(rbs, buffer, bufferSize));
     }
     else
     {
         return(RubberBandNativeMethodsWin32.RubberBandStretcher_GetExactTimePoints(rbs, buffer, bufferSize));
     }
 }
 public static void RubberBandStretcher_SetPitchOption(IntPtr rbs, int options)
 {
     if (IntPtr.Size == 8)
     {
         RubberBandNativeMethodsx64.RubberBandStretcher_SetPitchOption(rbs, options);
     }
     else
     {
         RubberBandNativeMethodsWin32.RubberBandStretcher_SetPitchOption(rbs, options);
     }
 }
 public static void RubberBandStretcher_SetFrequencyCutoff(IntPtr rbs, int n, float f)
 {
     if (IntPtr.Size == 8)
     {
         RubberBandNativeMethodsx64.RubberBandStretcher_SetFrequencyCutoff(rbs, n, f);
     }
     else
     {
         RubberBandNativeMethodsWin32.RubberBandStretcher_SetFrequencyCutoff(rbs, n, f);
     }
 }
 public static int RubberBandStretcher_Available(IntPtr rbs)
 {
     if (IntPtr.Size == 8)
     {
         return(RubberBandNativeMethodsx64.RubberBandStretcher_Available(rbs));
     }
     else
     {
         return(RubberBandNativeMethodsWin32.RubberBandStretcher_Available(rbs));
     }
 }
 public static void RubberBandStretcher_SetTimeRatio(IntPtr rbs, double ratio)
 {
     if (IntPtr.Size == 8)
     {
         RubberBandNativeMethodsx64.RubberBandStretcher_SetTimeRatio(rbs, ratio);
     }
     else
     {
         RubberBandNativeMethodsWin32.RubberBandStretcher_SetTimeRatio(rbs, ratio);
     }
 }
 public static void RubberBandStretcher_SetKeyFrameMap(IntPtr rbs, IntPtr[] mappingData, int numberOfMappings)
 {
     if (IntPtr.Size == 8)
     {
         RubberBandNativeMethodsx64.RubberBandStretcher_SetKeyFrameMap(rbs, mappingData, numberOfMappings);
     }
     else
     {
         RubberBandNativeMethodsWin32.RubberBandStretcher_SetKeyFrameMap(rbs, mappingData, numberOfMappings);
     }
 }
 public static void RubberBandStretcher_Process(IntPtr rbs, float[] input, IntPtr samples, int channels, bool final)
 {
     if (IntPtr.Size == 8)
     {
         RubberBandNativeMethodsx64.RubberBandStretcher_Process(rbs, input, samples, channels, final);
     }
     else
     {
         RubberBandNativeMethodsWin32.RubberBandStretcher_Process(rbs, input, samples, channels, final);
     }
 }
 public static IntPtr RubberBandStretcher_GetSamplesRequired(IntPtr rbs)
 {
     if (IntPtr.Size == 8)
     {
         return(RubberBandNativeMethodsx64.RubberBandStretcher_GetSamplesRequired(rbs));
     }
     else
     {
         return(RubberBandNativeMethodsWin32.RubberBandStretcher_GetSamplesRequired(rbs));
     }
 }
 public static void RubberBandStretcher_SetMaxProcessSize(IntPtr rbs, IntPtr samples)
 {
     if (IntPtr.Size == 8)
     {
         RubberBandNativeMethodsx64.RubberBandStretcher_SetMaxProcessSize(rbs, samples);
     }
     else
     {
         RubberBandNativeMethodsWin32.RubberBandStretcher_SetMaxProcessSize(rbs, samples);
     }
 }
 public static void RubberBandStretcher_SetExpectedInputDuration(IntPtr rbs, IntPtr samples)
 {
     if (IntPtr.Size == 8)
     {
         RubberBandNativeMethodsx64.RubberBandStretcher_SetExpectedInputDuration(rbs, samples);
     }
     else
     {
         RubberBandNativeMethodsWin32.RubberBandStretcher_SetExpectedInputDuration(rbs, samples);
     }
 }
 public static void RubberBandStretcher_SetDefaultDebugLevel(int level)
 {
     if (IntPtr.Size == 8)
     {
         RubberBandNativeMethodsx64.RubberBandStretcher_SetDefaultDebugLevel(level);
     }
     else
     {
         RubberBandNativeMethodsWin32.RubberBandStretcher_SetDefaultDebugLevel(level);
     }
 }
 public static IntPtr RubberBandStretcher_Retrieve(IntPtr rbs, float[] output, IntPtr samples, int channels)
 {
     if (IntPtr.Size == 8)
     {
         return(RubberBandNativeMethodsx64.RubberBandStretcher_Retrieve(rbs, output, samples, channels));
     }
     else
     {
         return(RubberBandNativeMethodsWin32.RubberBandStretcher_Retrieve(rbs, output, samples, channels));
     }
 }
 public static void RubberBandStretcher_Reset(IntPtr rbs)
 {
     if (IntPtr.Size == 8)
     {
         RubberBandNativeMethodsx64.RubberBandStretcher_Reset(rbs);
     }
     else
     {
         RubberBandNativeMethodsWin32.RubberBandStretcher_Reset(rbs);
     }
 }
 public static float RubberBandStretcher_GetFrequencyCutoff(IntPtr rbs, int n)
 {
     if (IntPtr.Size == 8)
     {
         return(RubberBandNativeMethodsx64.RubberBandStretcher_GetFrequencyCutoff(rbs, n));
     }
     else
     {
         return(RubberBandNativeMethodsWin32.RubberBandStretcher_GetFrequencyCutoff(rbs, n));
     }
 }
 public static void RubberBandStretcher_SetPitchScale(IntPtr rbs, double scale)
 {
     if (IntPtr.Size == 8)
     {
         RubberBandNativeMethodsx64.RubberBandStretcher_SetPitchScale(rbs, scale);
     }
     else
     {
         RubberBandNativeMethodsWin32.RubberBandStretcher_SetPitchScale(rbs, scale);
     }
 }
 public static double RubberBandStretcher_GetPitchScale(IntPtr rbs)
 {
     if (IntPtr.Size == 8)
     {
         return(RubberBandNativeMethodsx64.RubberBandStretcher_GetPitchScale(rbs));
     }
     else
     {
         return(RubberBandNativeMethodsWin32.RubberBandStretcher_GetPitchScale(rbs));
     }
 }