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/m_imp.h | 171 +++------------------------------------- 1 file changed, 10 insertions(+), 161 deletions(-) (limited to 'externals/build/include/m_imp.h') diff --git a/externals/build/include/m_imp.h b/externals/build/include/m_imp.h index e6ad155f..b95f5d0e 100644 --- a/externals/build/include/m_imp.h +++ b/externals/build/include/m_imp.h @@ -5,7 +5,8 @@ /* This file contains function prototypes and data types used to implement Pd, but not shared with Pd objects. */ -#include "m_pd.h" +/* NOTE: this file describes Pd implementation details which may change +in future releases. The public (stable) API is in m_pd.h. */ /* LATER consider whether to use 'char' for method arg types to save space */ @@ -30,6 +31,7 @@ struct _class { t_symbol *c_name; /* name (mostly for error reporting) */ t_symbol *c_helpname; /* name of help file */ + t_symbol *c_externdir; /* directory extern was loaded from */ size_t c_size; /* size of an instance */ t_methodentry *c_methods; /* methods other than bang, etc below */ int c_nmethod; /* number of methods */ @@ -49,166 +51,6 @@ struct _class char c_drawcommand; /* a drawing command for a template */ }; -/* 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); - -extern int sys_debuglevel; -extern int sys_verbose; - -#define DEBUG_MESSUP 1 /* messages up from pd to pd-gui */ -#define DEBUG_MESSDOWN 2 /* messages down from pd-gui to pd */ - -extern int sys_noloadbang; -extern int sys_nogui; -extern char *sys_guicmd; - -/* in s_main.c */ -EXTERN int sys_nearestfontsize(int fontsize); -EXTERN int sys_hostfontsize(int fontsize); -extern char sys_cordcolor[]; -extern int sys_guishadow; - -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_unix.c */ -EXTERN void sys_microsleep(int microsec); - -/* s_sgi.c, s_nt.c, s_linux.c each implement the same API for audio -and MIDI I/O as follows: */ - -#define DACBLKSIZE 64 - -#define SENDDACS_NO 0 /* return values for sys_send_dacs() */ -#define SENDDACS_YES 1 -#define SENDDACS_SLEPT 2 - -#define API_PROBE -1 -#define API_OSS 0 /* API choices */ -#define API_ALSA 1 -#define API_RME 2 -#define API_MMIO 3 -#define API_PORTAUDIO 4 -#define API_JACK 5 - - - /* MIDI input and output */ -#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); - -extern int sys_hipriority; /* real-time flag, true if priority boosted */ -extern t_sample *sys_soundout; -extern t_sample *sys_soundin; -extern float sys_dacsr; -extern int sys_schedadvance; -extern int sys_sleepgrain; -EXTERN void sys_open_audio(int naudioindev, int *audioindev, int nchindev, int *chindev, - int naudiooutdev, int *audiooutdev, int nchoutdev, int *choutdev, - int srate); /* IOhannes */ - -EXTERN void sys_close_audio(void); - -EXTERN void sys_open_midi(int nmidiin, int *midiinvec, - int nmidiout, int *midioutvec); -EXTERN void sys_close_midi(void); - -EXTERN int sys_send_dacs(void); -EXTERN void sys_reportidle(void); -EXTERN void sys_set_priority(int higher); -EXTERN void sys_audiobuf(int nbufs); -EXTERN void sys_getmeters(float *inmax, float *outmax); -EXTERN void sys_listdevs(void); -EXTERN void sys_setblocksize(int n); - - /* for NT and Linux, there are additional bits of fluff as follows. */ -#ifdef NT -EXTERN void nt_soundindev(int which); -EXTERN void nt_soundoutdev(int which); -EXTERN void nt_midiindev(int which); -EXTERN void nt_midioutdev(int which); -EXTERN void nt_noresync( void); -EXTERN void nt_set_sound_api(int which); -#endif - -#ifdef __linux__ - /* the following definitions allow you to switch at run time - between audio APIs in Linux and later in NT. */ -void linux_set_sound_api(int which); - -void linux_setfrags(int n); -void linux_streammode( void); -void linux_32bit( void); -void rme_soundindev(int which); -void rme_soundoutdev(int which); -void linux_alsa_queue_size(int size); -#ifdef ALSA99 /* old fashioned ALSA */ -void linux_alsa_devno(int devno); -#else -void linux_alsa_devname(char *devname); -#endif -#endif /* __linux__ */ - -/* portaudio, used in Windows and Mac versions... */ - -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 pa_reportidle(void); -void pa_listdevs(void); - -/* 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_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 /* m_obj.c */ EXTERN int obj_noutlets(t_object *x); @@ -222,6 +64,13 @@ EXTERN t_outconnect *obj_connect(t_object *source, int outno, EXTERN void obj_disconnect(t_object *source, int outno, t_object *sink, int inno); EXTERN void outlet_setstacklim(void); +EXTERN int obj_issignalinlet(t_object *x, int m); +EXTERN int obj_issignaloutlet(t_object *x, int m); +EXTERN int obj_nsiginlets(t_object *x); +EXTERN int obj_nsigoutlets(t_object *x); +EXTERN int obj_siginletindex(t_object *x, int m); +EXTERN int obj_sigoutletindex(t_object *x, int m); + /* misc */ EXTERN void glob_evalfile(t_pd *ignore, t_symbol *name, t_symbol *dir); EXTERN void glob_initfromgui(void *dummy, t_symbol *s, int argc, t_atom *argv); -- cgit v1.2.1