#pragma once
#include <stdarg.h>
t_namelist;
EXTERN t_namelist *namelist_append(t_namelist *listwas, const char *s, int allowdup);
EXTERN t_namelist *namelist_append_files(t_namelist *listwas, const char *s);
EXTERN void namelist_free(t_namelist *listwas);
EXTERN const char *namelist_get(const t_namelist *namelist, int n);
int do_open_via_path(const char *dir, const char *name,
const char *ext, char *dirresult, char **nameresult, unsigned int size,
int bin, t_namelist *searchpath, int okgui);
void sys_setextrapath(const char *p);
extern int sys_usestdpath;
int sys_open_absolute(const char *name, const char* ext,
char *dirresult, char **nameresult, unsigned int size, int bin, int *fdp,
int okgui);
int sys_trytoopenit(const char *dir, const char *name, const char* ext,
char *dirresult, char **nameresult, unsigned int size, int bin, int okgui);
t_symbol *sys_decodedialog(t_symbol *s);
void sys_loadpreferences(const char *filename, int startingup);
void sys_savepreferences(const char *filename);
extern int sys_defeatrt;
extern t_symbol *sys_flags;
extern int sys_debuglevel;
extern int sys_verbose;
EXTERN int sys_noloadbang;
EXTERN int sys_havetkproc(void);
EXTERN int sys_havegui(void);
extern const char *sys_guicmd;
extern int sys_batch;
EXTERN int sys_nearestfontsize(int fontsize);
extern int sys_defaultfont;
EXTERN t_symbol *sys_libdir;
loader_t;
EXTERN int sys_load_lib(t_canvas *canvas, const char *classname);
EXTERN void sys_register_loader(loader_t loader);
EXTERN const char**sys_get_dllextensions(void);
#define MAXAUDIOINDEV …
#define MAXAUDIOOUTDEV …
t_audiosettings;
#define SENDDACS_NO …
#define SENDDACS_YES …
#define SENDDACS_SLEPT …
#define DEFDACBLKSIZE …
#define DEFDACSAMPLERATE …
#define API_NONE …
#define API_ALSA …
#define API_OSS …
#define API_MMIO …
#define API_PORTAUDIO …
#define API_JACK …
#define API_SGI …
#define API_AUDIOUNIT …
#define API_ESD …
#define API_DUMMY …
#if defined(USEAPI_ALSA)
#define API_DEFAULT …
#define API_DEFSTRING …
#elif defined(USEAPI_PORTAUDIO)
#define API_DEFAULT …
#define API_DEFSTRING …
#elif defined(USEAPI_OSS)
#define API_DEFAULT …
#define API_DEFSTRING …
#elif defined(USEAPI_AUDIOUNIT)
#define API_DEFAULT …
#define API_DEFSTRING …
#elif defined(USEAPI_ESD)
#define API_DEFAULT …
#define API_DEFSTRING …
#elif defined(USEAPI_JACK)
#define API_DEFAULT …
#define API_DEFSTRING …
#elif defined(USEAPI_MMIO)
#define API_DEFAULT …
#define API_DEFSTRING …
#else
# ifndef USEAPI_DUMMY
#define USEAPI_DUMMY
# endif
#define API_DEFAULT …
#define API_DEFSTRING …
#endif
#define DEFAULTAUDIODEV …
#define DEFMIDIDEV …
#define DEFAULTSRATE …
#if defined(_WIN32)
#define DEFAULTADVANCE …
#elif defined(__APPLE__)
#define DEFAULTADVANCE …
#else
#define DEFAULTADVANCE …
#endif
t_audiocallback;
extern int sys_schedadvance;
int sys_send_dacs(void);
void sys_reportidle(void);
void sys_listdevs(void);
EXTERN void sys_set_audio_settings(t_audiosettings *as);
EXTERN void sys_get_audio_settings(t_audiosettings *as);
EXTERN void sys_reopen_audio(void);
EXTERN void sys_close_audio(void);
EXTERN int audio_shouldkeepopen(void);
EXTERN int audio_isopen(void);
EXTERN int sys_audiodevnametonumber(int output, const char *name);
EXTERN void sys_audiodevnumbertoname(int output, int devno, char *name,
int namesize);
EXTERN void sys_get_audio_devs(char *indevlist, int *nindevs,
char *outdevlist, int *noutdevs, int *canmulti, int *cancallback,
int maxndev, int devdescsize, int api);
EXTERN void sys_get_audio_apis(char *buf);
int pa_open_audio(int inchans, int outchans, int rate, t_sample *soundin,
t_sample *soundout, int framesperbuf, int nbuffers,
int indeviceno, int outdeviceno, t_audiocallback callback);
void pa_close_audio(void);
int pa_send_dacs(void);
int pa_reopen_audio(void);
void pa_listdevs(void);
void pa_getdevs(char *indevlist, int *nindevs,
char *outdevlist, int *noutdevs, int *canmulti,
int maxndev, int devdescsize);
int oss_open_audio(int naudioindev, int *audioindev, int nchindev,
int *chindev, int naudiooutdev, int *audiooutdev, int nchoutdev,
int *choutdev, int rate, int blocksize);
void oss_close_audio(void);
int oss_send_dacs(void);
void oss_reportidle(void);
void oss_getdevs(char *indevlist, int *nindevs,
char *outdevlist, int *noutdevs, int *canmulti,
int maxndev, int devdescsize);
int alsa_open_audio(int naudioindev, int *audioindev, int nchindev,
int *chindev, int naudiooutdev, int *audiooutdev, int nchoutdev,
int *choutdev, int rate, int blocksize);
void alsa_close_audio(void);
int alsa_send_dacs(void);
void alsa_reportidle(void);
void alsa_getdevs(char *indevlist, int *nindevs,
char *outdevlist, int *noutdevs, int *canmulti,
int maxndev, int devdescsize);
int jack_open_audio(int inchans, int outchans, t_audiocallback callback);
void jack_close_audio(void);
int jack_send_dacs(void);
int jack_reopen_audio(void);
void jack_reportidle(void);
void jack_getdevs(char *indevlist, int *nindevs,
char *outdevlist, int *noutdevs, int *canmulti,
int maxndev, int devdescsize);
void jack_listdevs(void);
void jack_client_name(const char *name);
void jack_autoconnect(int);
int mmio_open_audio(int naudioindev, int *audioindev,
int nchindev, int *chindev, int naudiooutdev, int *audiooutdev,
int nchoutdev, int *choutdev, int rate, int blocksize);
void mmio_close_audio(void);
void mmio_reportidle(void);
int mmio_send_dacs(void);
void mmio_getdevs(char *indevlist, int *nindevs,
char *outdevlist, int *noutdevs, int *canmulti,
int maxndev, int devdescsize);
int audiounit_open_audio(int naudioindev, int *audioindev, int nchindev,
int *chindev, int naudiooutdev, int *audiooutdev, int nchoutdev,
int *choutdev, int rate);
void audiounit_close_audio(void);
int audiounit_send_dacs(void);
void audiounit_listdevs(void);
void audiounit_getdevs(char *indevlist, int *nindevs,
char *outdevlist, int *noutdevs, int *canmulti,
int maxndev, int devdescsize);
int esd_open_audio(int naudioindev, int *audioindev, int nchindev,
int *chindev, int naudiooutdev, int *audiooutdev, int nchoutdev,
int *choutdev, int rate);
void esd_close_audio(void);
int esd_send_dacs(void);
void esd_listdevs(void);
void esd_getdevs(char *indevlist, int *nindevs,
char *outdevlist, int *noutdevs, int *canmulti,
int maxndev, int devdescsize);
int dummy_open_audio(int nin, int nout, int sr);
int dummy_close_audio(void);
int dummy_send_dacs(void);
void dummy_getdevs(char *indevlist, int *nindevs, char *outdevlist,
int *noutdevs, int *canmulti, int maxndev, int devdescsize);
void dummy_listdevs(void);
#define MAXMIDIINDEV …
#define MAXMIDIOUTDEV …
EXTERN int sys_midiapi;
extern int sys_nmidiin;
extern int sys_nmidiout;
extern int sys_midiindevlist[];
extern int sys_midioutdevlist[];
EXTERN void sys_open_midi(int nmidiin, int *midiinvec,
int nmidiout, int *midioutvec, int enable);
EXTERN void sys_get_midi_apis(char *buf);
EXTERN void sys_get_midi_devs(char *indevlist, int *nindevs,
char *outdevlist, int *noutdevs,
int maxndev, int devdescsize);
EXTERN void sys_get_midi_params(int *pnmidiindev, int *pmidiindev,
int *pnmidioutdev, int *pmidioutdev);
EXTERN int sys_mididevnametonumber(int output, const char *name);
EXTERN void sys_mididevnumbertoname(int output, int devno, char *name,
int namesize);
EXTERN void sys_reopen_midi(void);
EXTERN void sys_close_midi(void);
EXTERN void sys_putmidimess(int portno, int a, int b, int c);
EXTERN void sys_putmidibyte(int portno, int a);
EXTERN void sys_poll_midi(void);
EXTERN void sys_midibytein(int portno, int byte);
void sys_listmididevs(void);
EXTERN void sys_set_midi_api(int whichapi);
void midi_getdevs(char *indevlist, int *nindevs,
char *outdevlist, int *noutdevs, int maxndev, int devdescsize);
void sys_do_open_midi(int nmidiindev, int *midiindev,
int nmidioutdev, int *midioutdev);
#ifdef USEAPI_ALSA
EXTERN void sys_alsa_putmidimess(int portno, int a, int b, int c);
EXTERN void sys_alsa_putmidibyte(int portno, int a);
EXTERN void sys_alsa_poll_midi(void);
EXTERN void sys_alsa_close_midi(void);
void midi_alsa_getdevs(char *indevlist, int *nindevs,
char *outdevlist, int *noutdevs, int maxndev, int devdescsize);
void sys_alsa_do_open_midi(int nmidiindev, int *midiindev,
int nmidioutdev, int *midioutdev);
#endif
EXTERN void sys_log_error(int type);
#define ERR_NOTHING …
#define ERR_ADCSLEPT …
#define ERR_DACSLEPT …
#define ERR_RESYNC …
#define ERR_DATALATE …
#define SCHED_AUDIO_NONE …
#define SCHED_AUDIO_POLL …
#define SCHED_AUDIO_CALLBACK …
void sched_set_using_audio(int flag);
int sched_get_using_audio(void);
extern int sys_sleepgrain;
EXTERN int sched_get_sleepgrain( void);
EXTERN void sys_microsleep( void);
EXTERN void sys_init_fdpoll(void);
EXTERN void sys_bail(int exitcode);
EXTERN int sys_pollgui(void);
EXTERN_STRUCT _socketreceiver;
#define t_socketreceiver …
t_socketnotifier;
t_socketreceivefn;
t_socketfromaddrfn;
EXTERN t_socketreceiver *socketreceiver_new(void *owner,
t_socketnotifier notifier, t_socketreceivefn socketreceivefn, int udp);
EXTERN void socketreceiver_read(t_socketreceiver *x, int fd);
EXTERN void socketreceiver_set_fromaddrfn(t_socketreceiver *x,
t_socketfromaddrfn fromaddrfn);
EXTERN void sys_sockerror(const char *s);
EXTERN void sys_closesocket(int fd);
EXTERN unsigned char *sys_getrecvbuf(unsigned int *size);
t_fdpollfn;
EXTERN void sys_addpollfn(int fd, t_fdpollfn fn, void *ptr);
EXTERN void sys_rmpollfn(int fd);
#if defined(USEAPI_OSS) || defined(USEAPI_ALSA)
void sys_setalarm(int microsec);
#endif
void sys_set_priority(int higher);
EXTERN int sys_hipriority;
t_printhook;
extern t_printhook sys_printhook;
extern int sys_printtostderr;
EXTERN int sys_externalschedlib;
EXTERN t_sample* get_sys_soundout(void);
EXTERN t_sample* get_sys_soundin(void);
EXTERN int* get_sys_main_advance(void);
EXTERN double* get_sys_time_per_dsp_tick(void);
EXTERN int* get_sys_schedblocksize(void);
EXTERN double* get_sys_time(void);
EXTERN t_float* get_sys_dacsr(void);
EXTERN int* get_sys_sleepgrain(void);
EXTERN int* get_sys_schedadvance(void);
EXTERN void sys_initmidiqueue(void);
EXTERN void sched_tick(void);
EXTERN void sys_pollmidiqueue(void);
EXTERN void sys_setchsr(int chin, int chout, int sr);
EXTERN void inmidi_realtimein(int portno, int cmd);
EXTERN void inmidi_byte(int portno, int byte);
EXTERN void inmidi_sysex(int portno, int byte);
EXTERN void inmidi_noteon(int portno, int channel, int pitch, int velo);
EXTERN void inmidi_controlchange(int portno,
int channel,
int ctlnumber,
int value);
EXTERN void inmidi_programchange(int portno, int channel, int value);
EXTERN void inmidi_pitchbend(int portno, int channel, int value);
EXTERN void inmidi_aftertouch(int portno, int channel, int value);
EXTERN void inmidi_polyaftertouch(int portno,
int channel,
int pitch,
int value);
EXTERN int sys_zoom_open;
struct _instancestuff
{ … };
#define STUFF …
EXTERN char*pdgui_strnescape(char* dst, size_t dstlen, const char*src, size_t srclen);
#define PDGUI_FORMAT__OBJECT …
EXTERN int pd_snprintf(char *buf, size_t size, const char *fmt, ...);
EXTERN int pd_vsnprintf(char *buf, size_t size, const char *fmt,
va_list argptr);
EXTERN const char *pd_extraflags;