1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374 |
- #pragma once
- #include <stdio.h>
- #include <sys/cdefs.h>
- __BEGIN_DECLS
- typedef int sf_count_t;
- typedef struct {
- sf_count_t frames;
- int samplerate;
- int channels;
- int format;
- } SF_INFO;
- typedef struct SNDFILE_ SNDFILE;
- #define SF_FORMAT_TYPEMASK 1
- #define SF_FORMAT_WAV 1
- #define SF_FORMAT_SUBMASK 14
- #define SF_FORMAT_PCM_16 2
- #define SF_FORMAT_PCM_U8 4
- #define SF_FORMAT_FLOAT 6
- #define SF_FORMAT_PCM_32 8
- #define SF_FORMAT_PCM_24 10
- typedef struct {
- void* (*open)(const char* path, void* user);
- size_t (*read) (void* ptr, size_t size, size_t nmemb, void* datasource);
- int (*seek) (void* datasource, long offset, int whence);
- int (*close) (void* datasource);
- long (*tell) (void* datasource);
- } snd_callbacks;
- SNDFILE *sf_open_read(const char *path, SF_INFO *info, snd_callbacks* cb, void* user);
- void sf_close(SNDFILE *handle);
- sf_count_t sf_readf_short(SNDFILE *handle, short *ptr, sf_count_t desired);
- __END_DECLS
|