// Programmed by Jedidiah Barber // Released into the public domain #ifndef ASNDFILE_GUARD #define ASNDFILE_GUARD #include extern const int sf_false; extern const int sf_true; extern const int sfm_read; extern const int sfm_write; extern const int sfm_rdwr; extern const int sf_seek_set; extern const int sf_seek_cur; extern const int sf_seek_end; extern const int sf_str_title; extern const int sf_str_copyright; extern const int sf_str_software; extern const int sf_str_artist; extern const int sf_str_comment; extern const int sf_str_date; extern const int sf_str_album; extern const int sf_str_license; extern const int sf_str_tracknumber; extern const int sf_str_genre; extern const int format_wav; extern const int format_aiff; extern const int format_au; extern const int format_raw; extern const int format_paf; extern const int format_svx; extern const int format_nist; extern const int format_voc; extern const int format_ircam; extern const int format_w64; extern const int format_mat4; extern const int format_mat5; extern const int format_pvf; extern const int format_xi; extern const int format_htk; extern const int format_sds; extern const int format_avr; extern const int format_wavex; extern const int format_sd2; extern const int format_flac; extern const int format_caf; extern const int format_wve; extern const int format_ogg; extern const int format_mpc2k; extern const int format_rf64; extern const int format_mpeg; extern const int format_pcm_s8; extern const int format_pcm_16; extern const int format_pcm_24; extern const int format_pcm_32; extern const int format_pcm_u8; extern const int format_float; extern const int format_double; extern const int format_ulaw; extern const int format_alaw; extern const int format_ima_adpcm; extern const int format_ms_adpcm; extern const int format_gsm610; extern const int format_vox_adpcm; extern const int format_nms_adpcm_16; extern const int format_nms_adpcm_24; extern const int format_nms_adpcm_32; extern const int format_g721_32; extern const int format_g723_24; extern const int format_g723_40; extern const int format_dwvw_12; extern const int format_dwvw_16; extern const int format_dwvw_24; extern const int format_dwvw_n; extern const int format_dpcm_8; extern const int format_dpcm_16; extern const int format_vorbis; extern const int format_opus; extern const int format_alac_16; extern const int format_alac_20; extern const int format_alac_24; extern const int format_alac_32; extern const int format_mpeg_layer_i; extern const int format_mpeg_layer_ii; extern const int format_mpeg_layer_iii; extern const int endian_file; extern const int endian_little; extern const int endian_big; extern const int endian_cpu; extern const int err_no_error; extern const int err_unrecognised_format; extern const int err_system; extern const int err_malformed_file; extern const int err_unsupported_encoding; typedef struct { int64_t frames; int samplerate; int channels; int major; int minor; int endian; int sections; int seekable; } Asf_Info; SNDFILE * asf_open(const char * path, int mode, Asf_Info * sfinfo); int asf_format_check(Asf_Info * sfinfo); int64_t asf_seek(SNDFILE * sndfile, int64_t frames, int whence); int64_t asf_readf_short(SNDFILE * sndfile, short * ptr, int64_t items); int64_t asf_readf_int(SNDFILE * sndfile, int * ptr, int64_t items); int64_t asf_readf_float(SNDFILE * sndfile, float * ptr, int64_t items); int64_t asf_readf_double(SNDFILE * sndfile, double * ptr, int64_t items); int64_t asf_writef_short(SNDFILE * sndfile, short * ptr, int64_t items); int64_t asf_writef_int(SNDFILE * sndfile, int * ptr, int64_t items); int64_t asf_writef_float(SNDFILE * sndfile, float * ptr, int64_t items); int64_t asf_writef_double(SNDFILE * sndfile, double * ptr, int64_t items); int64_t asf_read_raw(SNDFILE * sndfile, void * ptr, int64_t bytes); int64_t asf_write_raw(SNDFILE * sndfile, void * ptr, int64_t bytes); #endif