25#ifndef RUBBERBAND_C_API_H
26#define RUBBERBAND_C_API_H
32#define RUBBERBAND_VERSION "4.0.0"
33#define RUBBERBAND_API_MAJOR_VERSION 3
34#define RUBBERBAND_API_MINOR_VERSION 0
38#ifndef RUBBERBAND_STATIC
39#define RB_EXTERN extern __declspec(dllexport)
41#define RB_EXTERN extern
44#define RB_EXTERN extern
108struct RubberBandState_;
112 unsigned int channels,
114 double initialTimeRatio,
115 double initialPitchScale);
179struct RubberBandLiveState_;
183 unsigned int channels,
RB_EXTERN void rubberband_live_set_formant_scale(RubberBandLiveState, double scale)
RB_EXTERN void rubberband_live_set_pitch_scale(RubberBandLiveState, double scale)
struct RubberBandLiveState_ * RubberBandLiveState
RubberBandOption
This is a C-linkage interface to the Rubber Band time stretcher.
@ RubberBandOptionChannelsTogether
@ RubberBandOptionThreadingAuto
@ RubberBandOptionThreadingNever
@ RubberBandOptionPitchHighConsistency
@ RubberBandOptionWindowStandard
@ RubberBandOptionDetectorSoft
@ RubberBandOptionPitchHighSpeed
@ RubberBandOptionDetectorPercussive
@ RubberBandOptionPitchHighQuality
@ RubberBandOptionEngineFaster
@ RubberBandOptionProcessRealTime
@ RubberBandOptionFormantPreserved
@ RubberBandOptionStretchPrecise
@ RubberBandOptionFormantShifted
@ RubberBandOptionDetectorCompound
@ RubberBandOptionSmoothingOn
@ RubberBandOptionPhaseLaminar
@ RubberBandOptionPhaseIndependent
@ RubberBandOptionWindowLong
@ RubberBandOptionSmoothingOff
@ RubberBandOptionProcessOffline
@ RubberBandOptionStretchElastic
@ RubberBandOptionThreadingAlways
@ RubberBandOptionTransientsCrisp
@ RubberBandOptionTransientsMixed
@ RubberBandOptionWindowShort
@ RubberBandOptionEngineFiner
@ RubberBandOptionChannelsApart
@ RubberBandOptionTransientsSmooth
struct RubberBandState_ * RubberBandState
RB_EXTERN unsigned int rubberband_get_preferred_start_pad(const RubberBandState)
RB_EXTERN void rubberband_reset(RubberBandState)
RB_EXTERN unsigned int rubberband_live_get_block_size(RubberBandLiveState)
RB_EXTERN unsigned int rubberband_live_get_start_delay(const RubberBandLiveState)
RB_EXTERN void rubberband_live_delete(RubberBandLiveState)
RB_EXTERN void rubberband_set_pitch_option(RubberBandState, RubberBandOptions options)
RB_EXTERN double rubberband_get_pitch_scale(const RubberBandState)
RB_EXTERN void rubberband_live_set_debug_level(RubberBandLiveState, int level)
RB_EXTERN void rubberband_study(RubberBandState, const float *const *input, unsigned int samples, int final)
RB_EXTERN void rubberband_set_transients_option(RubberBandState, RubberBandOptions options)
int RubberBandLiveOptions
RB_EXTERN void rubberband_set_expected_input_duration(RubberBandState, unsigned int samples)
RB_EXTERN void rubberband_live_shift(RubberBandLiveState, const float *const *input, float *const *output)
RB_EXTERN unsigned int rubberband_get_latency(const RubberBandState)
RB_EXTERN void rubberband_live_set_formant_option(RubberBandLiveState, RubberBandOptions options)
RB_EXTERN int rubberband_available(const RubberBandState)
RB_EXTERN void rubberband_live_reset(RubberBandLiveState)
RB_EXTERN RubberBandLiveState rubberband_live_new(unsigned int sampleRate, unsigned int channels, RubberBandOptions options)
RB_EXTERN double rubberband_get_formant_scale(const RubberBandState)
RB_EXTERN void rubberband_set_default_debug_level(int level)
RB_EXTERN double rubberband_get_time_ratio(const RubberBandState)
RB_EXTERN void rubberband_live_set_default_debug_level(int level)
RB_EXTERN unsigned int rubberband_get_process_size_limit(RubberBandState)
@ RubberBandLiveOptionChannelsTogether
@ RubberBandLiveOptionWindowShort
@ RubberBandLiveOptionChannelsApart
@ RubberBandLiveOptionWindowMedium
@ RubberBandLiveOptionFormantPreserved
@ RubberBandLiveOptionFormantShifted
RB_EXTERN void rubberband_set_phase_option(RubberBandState, RubberBandOptions options)
RB_EXTERN void rubberband_set_formant_option(RubberBandState, RubberBandOptions options)
RB_EXTERN void rubberband_set_formant_scale(RubberBandState, double scale)
RB_EXTERN void rubberband_set_debug_level(RubberBandState, int level)
RB_EXTERN RubberBandState rubberband_new(unsigned int sampleRate, unsigned int channels, RubberBandOptions options, double initialTimeRatio, double initialPitchScale)
RB_EXTERN void rubberband_delete(RubberBandState)
RB_EXTERN void rubberband_calculate_stretch(RubberBandState)
RB_EXTERN void rubberband_set_max_process_size(RubberBandState, unsigned int samples)
RB_EXTERN void rubberband_set_time_ratio(RubberBandState, double ratio)
RB_EXTERN double rubberband_live_get_formant_scale(const RubberBandLiveState)
RB_EXTERN void rubberband_set_detector_option(RubberBandState, RubberBandOptions options)
RB_EXTERN void rubberband_set_key_frame_map(RubberBandState, unsigned int keyframecount, unsigned int *from, unsigned int *to)
RB_EXTERN unsigned int rubberband_get_start_delay(const RubberBandState)
RB_EXTERN void rubberband_process(RubberBandState, const float *const *input, unsigned int samples, int final)
RB_EXTERN unsigned int rubberband_retrieve(const RubberBandState, float *const *output, unsigned int samples)
RB_EXTERN double rubberband_live_get_pitch_scale(const RubberBandLiveState)
RB_EXTERN int rubberband_get_engine_version(RubberBandState)
RB_EXTERN unsigned int rubberband_get_channel_count(const RubberBandState)
RB_EXTERN unsigned int rubberband_get_samples_required(const RubberBandState)
RB_EXTERN void rubberband_set_pitch_scale(RubberBandState, double scale)
RB_EXTERN unsigned int rubberband_live_get_channel_count(const RubberBandLiveState)