From 5a51f044b954239fbaf9b89959853cacd05c42a8 Mon Sep 17 00:00:00 2001 From: Guenter Geiger Date: Tue, 10 Jun 2003 20:34:58 +0000 Subject: added new pd headers svn path=/trunk/; revision=694 --- externals/build/include/s_stuff.h | 186 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 186 insertions(+) create mode 100644 externals/build/include/s_stuff.h (limited to 'externals/build/include/s_stuff.h') diff --git a/externals/build/include/s_stuff.h b/externals/build/include/s_stuff.h new file mode 100644 index 00000000..6d27337f --- /dev/null +++ b/externals/build/include/s_stuff.h @@ -0,0 +1,186 @@ +/* Copyright (c) 1997-1999 Miller Puckette. +* For information on usage and redistribution, and for a DISCLAIMER OF ALL +* WARRANTIES, see the file, "LICENSE.txt," in this distribution. */ + +/* Audio and MIDI I/O, and other scheduling and system stuff. */ + +/* NOTE: this file describes Pd implementation details which may change +in future releases. The public (stable) API is in m_pd.h. */ + +/* in s_file.c */ +typedef struct _namelist +{ + struct _namelist *nl_next; + char *nl_string; +} t_namelist; + +t_namelist *namelist_append(t_namelist *listwas, const char *s); +void namelist_free(t_namelist *listwas); + +/* s_main.c */ +extern int sys_debuglevel; +extern int sys_verbose; +extern int sys_noloadbang; +extern int sys_nogui; +extern char *sys_guicmd; + +EXTERN int sys_nearestfontsize(int fontsize); +EXTERN int sys_hostfontsize(int fontsize); + +extern int sys_defaultfont; +extern t_symbol *sys_libdir; /* library directory for auxilliary files */ + +/* s_loader.c */ +int sys_load_lib(char *dirname, char *filename); + +/* s_audio.c */ + +#define SENDDACS_NO 0 /* return values for sys_send_dacs() */ +#define SENDDACS_YES 1 +#define SENDDACS_SLEPT 2 + +#define DEFDACBLKSIZE 64 +extern int sys_schedblocksize; /* audio block size for scheduler */ +extern int sys_hipriority; /* real-time flag, true if priority boosted */ +extern t_sample *sys_soundout; +extern t_sample *sys_soundin; +extern int sys_inchannels; +extern int sys_outchannels; +extern int sys_advance_samples; /* scheduler advance in samples */ +extern int sys_blocksize; /* audio I/O block size in sample frames */ +extern float sys_dacsr; +extern int sys_schedadvance; +extern int sys_sleepgrain; +void sys_open_audio(int naudioindev, int *audioindev, + int nchindev, int *chindev, + int naudiooutdev, int *audiooutdev, int nchoutdev, int *choutdev, + int srate); /* IOhannes */ +void sys_close_audio(void); + +void sys_open_midi(int nmidiin, int *midiinvec, + int nmidiout, int *midioutvec); +void sys_close_midi(void); + +int sys_send_dacs(void); +void sys_reportidle(void); +void sys_set_priority(int higher); +void sys_audiobuf(int nbufs); +void sys_getmeters(float *inmax, float *outmax); +void sys_listdevs(void); +void sys_setblocksize(int n); + +/* s_midi.c */ +#define MAXMIDIINDEV 16 /* max. number of input ports */ +#define MAXMIDIOUTDEV 16 /* max. number of output ports */ +extern int sys_nmidiin; +extern int sys_nmidiout; +extern int sys_midiindevlist[]; +extern int sys_midioutdevlist[]; + +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_setmiditimediff(double inbuftime, double outbuftime); +EXTERN void sys_midibytein(int portno, int byte); + +/* m_sched.c */ +EXTERN void sys_log_error(int type); +#define ERR_NOTHING 0 +#define ERR_ADCSLEPT 1 +#define ERR_DACSLEPT 2 +#define ERR_RESYNC 3 +#define ERR_DATALATE 4 + +/* s_inter.c */ + +EXTERN void sys_microsleep(int microsec); + +EXTERN void sys_bail(int exitcode); +EXTERN int sys_pollgui(void); + +EXTERN_STRUCT _socketreceiver; +#define t_socketreceiver struct _socketreceiver + +typedef void (*t_socketnotifier)(void *x); +typedef void (*t_socketreceivefn)(void *x, t_binbuf *b); + +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 sys_sockerror(char *s); +EXTERN void sys_closesocket(int fd); + +typedef void (*t_fdpollfn)(void *ptr, int fd); +EXTERN void sys_addpollfn(int fd, t_fdpollfn fn, void *ptr); +EXTERN void sys_rmpollfn(int fd); +#ifdef UNIX +void sys_setalarm(int microsec); +void sys_setvirtualalarm( void); +#endif + +#define API_ALSA 1 +#define API_OSS 2 +#define API_MMIO 3 +#define API_PORTAUDIO 4 +#define API_JACK 5 + +#ifdef __linux__ +#define API_DEFAULT API_OSS +#define API_DEFSTRING "OSS" +#endif +#ifdef MSW +#define API_DEFAULT API_MMIO +#define API_DEFSTRING "MMIO" +#endif +#ifdef MACOSX +#define API_DEFAULT API_PORTAUDIO +#define API_DEFSTRING "portaudio" +#endif +#define DEFAULTAUDIODEV -1 + +#define DEFMIDIDEV -1 + +int pa_open_audio(int inchans, int outchans, int rate, t_sample *soundin, + t_sample *soundout, int framesperbuf, int nbuffers, + int indeviceno, int outdeviceno); +void pa_close_audio(void); +int pa_send_dacs(void); +void sys_reportidle(void); +void pa_listdevs(void); + +int oss_open_audio(int naudioindev, int *audioindev, int nchindev, + int *chindev, int naudiooutdev, int *audiooutdev, int nchoutdev, + int *choutdev, int rate); /* IOhannes */ +void oss_close_audio(void); +int oss_send_dacs(void); +void oss_reportidle(void); +void oss_listdevs(void); + +int alsa_open_audio(int wantinchans, int wantoutchans, int srate); +void alsa_close_audio(void); +int alsa_send_dacs(void); +void alsa_reportidle(void); +void alsa_listdevs(void); + +int jack_open_audio(int wantinchans, int wantoutchans, int srate); +void jack_close_audio(void); +int jack_send_dacs(void); +void jack_reportidle(void); +void jack_listdevs(void); + +void mmio_open_audio(int naudioindev, int *audioindev, + int nchindev, int *chindev, int naudiooutdev, int *audiooutdev, + int nchoutdev, int *choutdev, int rate); +void mmio_close_audio( void); +void mmio_reportidle(void); +int mmio_send_dacs(void); +void mmio_listdevs(void); + +void sys_listmididevs(void); +void sys_set_sound_api(int whichapi); +extern int sys_audioapi; + +/* API dependent audio flags and settings */ +void oss_set32bit( void); +void linux_alsa_devname(char *devname); + -- cgit v1.2.1