From 345ee7953340e85f65cf1d00ab3bc25b55ee525f Mon Sep 17 00:00:00 2001 From: Guenter Geiger Date: Mon, 23 Jun 2003 13:12:22 +0000 Subject: remove pd internal header files, compile against files in pd distribution svn path=/trunk/externals/ext13/; revision=734 --- g_canvas.h | 428 ----------------------------------------------------------- m_imp.h | 211 ----------------------------- openpatch.c | 12 +- piperead~.c | 5 +- pipewrite~.c | 3 +- sfwrite13~.c | 5 +- wavinfo.c | 5 +- 7 files changed, 15 insertions(+), 654 deletions(-) delete mode 100644 g_canvas.h delete mode 100644 m_imp.h diff --git a/g_canvas.h b/g_canvas.h deleted file mode 100644 index 0176f6c..0000000 --- a/g_canvas.h +++ /dev/null @@ -1,428 +0,0 @@ -/* 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. */ - -/* a header for canvas objects that hold lists of t_gobjs, such as -* canvases themselves or graphs -*/ - -/* --------------------- geometry ---------------------------- */ -#define IOWIDTH 7 -#define IOMIDDLE 3 -#define IOTOPMARGIN 1 -#define IOBOTTOMMARGIN 1 - -/* ----------------------- data ------------------------------- */ - -typedef struct _updateheader -{ - struct _updateheader *upd_next; - unsigned int upd_array:1; /* true if array, false if glist */ - unsigned int upd_queued:1; /* true if we're queued */ -} t_updateheader; - -typedef void (*t_glistmotionfn)(void *z, t_floatarg dx, t_floatarg dy); -typedef void (*t_glistkeyfn)(void *z, t_floatarg key); - -EXTERN_STRUCT _rtext; -#define t_rtext struct _rtext - -EXTERN_STRUCT _gtemplate; -#define t_gtemplate struct _gtemplate - -EXTERN_STRUCT _guiconnect; -#define t_guiconnect struct _guiconnect - -EXTERN_STRUCT _subcanvas; -#define t_subcanvas struct _subcanvas - -EXTERN_STRUCT _tscalar; -#define t_tscalar struct _tscalar - -typedef struct _selection -{ - t_gobj *sel_what; - struct _selection *sel_next; -} t_selection; - - /* this structure is instantiated whenever a glist becomes visible. */ -typedef struct _editor -{ - t_updateheader e_upd; /* update header structure */ - t_selection *e_updlist; /* list of objects to update */ - t_rtext *e_rtext; /* text responder linked list */ - t_selection *e_selection; /* head of the selection list */ - t_rtext *e_textedfor; /* the rtext if any that we are editing */ - t_gobj *e_grab; /* object being "dragged" */ - t_glistmotionfn e_motionfn; /* ... motion callback */ - t_glistkeyfn e_keyfn; /* ... keypress callback */ - t_binbuf *e_connectbuf; /* connections to deleted objects */ - t_binbuf *e_deleted; /* last stuff we deleted */ - t_guiconnect *e_guiconnect; /* GUI connection for filtering messages */ - struct _glist *e_glist; /* glist which owns this */ - int e_xwas; /* xpos on last mousedown or motion event */ - int e_ywas; /* ypos, similarly */ - unsigned int e_onmotion: 3; /* action to take on motion */ - unsigned int e_lastmoved: 1; /* one if mouse has moved since click */ - unsigned int e_textdirty: 1; /* one if e_textedfor has changed */ -} t_editor; - -#define MA_NONE 0 /* e_onmotion: do nothing on mouse motion */ -#define MA_MOVE 1 /* drag the selection around */ -#define MA_CONNECT 2 /* make a connection */ -#define MA_REGION 3 /* selection region */ -#define MA_PASSOUT 4 /* send on to e_grab */ -#define MA_DRAGTEXT 5 /* drag in text editor to alter selection */ - -/* editor structure for "garrays". We don't bother to delete and regenerate -this structure when the "garray" becomes invisible or visible, although we -could do so if the structure gets big (like the "editor" above.) */ - -typedef struct _arrayvis -{ - t_updateheader av_upd; /* update header structure */ - t_garray *av_garray; /* owning structure */ -} t_arrayvis; - -typedef struct _tick /* where to put ticks on x or y axes */ -{ - float k_point; /* one point to draw a big tick at */ - float k_inc; /* x or y increment per little tick */ - int k_lperb; /* little ticks per big; 0 if no ticks to draw */ -} t_tick; - -typedef struct _glist -{ - t_gobj gl_gobj; /* header in case we're a glist */ - t_gobj *gl_list; /* the actual data */ - struct _gstub *gl_stub; /* safe pointer handler */ - int gl_valid; /* incremented when pointers might be stale */ - struct _glist *gl_owner; /* parent glist or 0 if none */ - float gl_px1; /* bounding rectangle in parent's coords */ - float gl_py1; - float gl_px2; - float gl_py2; - float gl_x1; /* ... and in our own coordinates */ - float gl_y1; - float gl_x2; - float gl_y2; - t_tick gl_xtick; /* ticks marking X values */ - t_tick gl_ytick; /* ... and Y values */ - int gl_nxlabels; /* X coordinate labels */ - t_symbol **gl_xlabel; - float gl_xlabely; /* ... and their Y coordinates */ - int gl_nylabels; /* Y coordinate labels */ - t_symbol **gl_ylabel; - float gl_ylabelx; - t_editor *gl_editor; /* editor structure when visible */ - t_symbol *gl_name; /* symbol bound here */ -} t_glist; - -#define gl_pd gl_gobj.g_pd - -/* a data structure to describe a field in a pure datum */ - -#define DT_FLOAT 0 -#define DT_SYMBOL 1 -#define DT_LIST 2 -#define DT_ARRAY 3 - -typedef struct _dataslot -{ - int ds_type; - t_symbol *ds_name; - t_symbol *ds_arraytemplate; /* filled in for arrays only */ -} t_dataslot; - -typedef struct _template -{ - int t_n; - t_dataslot *t_vec; -} t_template; - -struct _array -{ - int a_n; - int a_elemsize; /* LATERd just look this up from template... */ - t_word *a_vec; - t_symbol *a_templatesym; /* template for elements */ - int a_valid; /* protection against stale pointers into array */ - t_gpointer a_gp; /* pointer to scalar or array element we're in */ - t_gstub *a_stub; -}; - - -/* function types used to define graphical behavior for gobjs, a bit like X -widgets. These aren't Pd methods because Pd's typechecking can't specify the -types of pointer arguments. Also it's more convenient this way, since -every "patchable" object can just get the "text" behaviors. */ - - /* Call this to get a gobj's bounding rectangle in pixels */ -typedef void (*t_getrectfn)(t_gobj *x, struct _glist *glist, - int *x1, int *y1, int *x2, int *y2); - /* and this to displace a gobj: */ -typedef void (*t_displacefn)(t_gobj *x, struct _glist *glist, int dx, int dy); - /* change color to show selection: */ -typedef void (*t_selectfn)(t_gobj *x, struct _glist *glist, int state); - /* change appearance to show activation/deactivation: */ -typedef void (*t_activatefn)(t_gobj *x, struct _glist *glist, int state); - /* warn a gobj it's about to be deleted */ -typedef void (*t_deletefn)(t_gobj *x, struct _glist *glist); - /* making visible or invisible */ -typedef void (*t_visfn)(t_gobj *x, struct _glist *glist, int flag); - /* field a mouse click (when not in "edit" mode) */ -typedef int (*t_clickfn)(t_gobj *x, struct _glist *glist, - int xpix, int ypix, int shift, int alt, int dbl, int doit); - /* save to a binbuf */ -typedef void (*t_savefn)(t_gobj *x, t_binbuf *b); - /* open properties dialog */ -typedef void (*t_propertiesfn)(t_gobj *x, struct _glist *glist); - /* ... and later, resizing; getting/setting color... */ - -struct _widgetbehavior -{ - t_getrectfn w_getrectfn; - t_displacefn w_displacefn; - t_selectfn w_selectfn; - t_activatefn w_activatefn; - t_deletefn w_deletefn; - t_visfn w_visfn; - t_clickfn w_clickfn; - t_savefn w_savefn; - t_propertiesfn w_propertiesfn; -}; - -/* -------- behaviors for scalars defined by objects in template --------- */ -/* these are set by "drawing commands" in g_template.c which add appearance to -scalars, which live in some other window. If the scalar is just included -in a canvas the "parent" is a misnomer. There is also a text scalar object -which really does draw the scalar on the parent window; see g_scalar.c. */ - -/* note how the click function wants the whole scalar, not the "data", so -doesn't work on array elements... is this a problem??? */ - - /* bounding rectangle: */ -typedef void (*t_parentgetrectfn)(t_gobj *x, struct _glist *glist, - t_word *data, t_canvas *template, float basex, float basey, - int *x1, int *y1, int *x2, int *y2); - /* displace it */ -typedef void (*t_parentdisplacefn)(t_gobj *x, struct _glist *glist, - t_word *data, t_canvas *template, float basex, float basey, - int dx, int dy); - /* change color to show selection */ -typedef void (*t_parentselectfn)(t_gobj *x, struct _glist *glist, - t_word *data, t_canvas *template, float basex, float basey, - int state); - /* change appearance to show activation/deactivation: */ -typedef void (*t_parentactivatefn)(t_gobj *x, struct _glist *glist, - t_word *data, t_canvas *template, float basex, float basey, - int state); - /* making visible or invisible */ -typedef void (*t_parentvisfn)(t_gobj *x, struct _glist *glist, - t_word *data, t_canvas *template, float basex, float basey, - int flag); - /* field a mouse click */ -typedef int (*t_parentclickfn)(t_gobj *x, struct _glist *glist, - t_scalar *sc, t_canvas *template, float basex, float basey, - int xpix, int ypix, int shift, int alt, int dbl, int doit); - -struct _parentwidgetbehavior -{ - t_parentgetrectfn w_parentgetrectfn; - t_parentdisplacefn w_parentdisplacefn; - t_parentselectfn w_parentselectfn; - t_parentactivatefn w_parentactivatefn; - t_parentvisfn w_parentvisfn; - t_parentclickfn w_parentclickfn; -}; - - /* cursor definitions; used as return value for t_parentclickfn */ -#define CURSOR_RUNMODE_NOTHING 0 -#define CURSOR_RUNMODE_CLICKME 1 -#define CURSOR_RUNMODE_THICKEN 2 -#define CURSOR_RUNMODE_ADDPOINT 3 -#define CURSOR_EDITMODE_NOTHING 4 -#define CURSOR_EDITMODE_CONNECT 5 -#define CURSOR_EDITMODE_DISCONNECT 6 - -extern t_canvas *canvas_editing; /* last canvas to start text edting */ -extern t_class *vinlet_class, *voutlet_class; -extern t_class *tscalar_class; -extern t_class *subcanvas_class; - -/* ------------------- functions on any gobj ----------------------------- */ -EXTERN void gobj_getrect(t_gobj *x, t_glist *owner, int *x1, int *y1, - int *x2, int *y2); -EXTERN void gobj_displace(t_gobj *x, t_glist *owner, int dx, int dy); -EXTERN void gobj_select(t_gobj *x, t_glist *owner, int state); -EXTERN void gobj_activate(t_gobj *x, t_glist *owner, int state); -EXTERN void gobj_delete(t_gobj *x, t_glist *owner); -EXTERN void gobj_vis(t_gobj *x, t_glist *glist, int flag); -EXTERN int gobj_click(t_gobj *x, struct _glist *glist, - int xpix, int ypix, int shift, int alt, int dbl, int doit); -EXTERN void gobj_save(t_gobj *x, t_binbuf *b); -EXTERN void gobj_properties(t_gobj *x, struct _glist *glist); - -/* -------------------- functions on glists --------------------- */ -EXTERN t_glist *glist_new( void); -EXTERN void glist_init(t_glist *x); -EXTERN void glist_add(t_glist *x, t_gobj *g); -EXTERN void glist_clear(t_glist *x); -EXTERN t_canvas *glist_getcanvas(t_glist *x); -EXTERN int glist_isselected(t_glist *x, t_gobj *y); -EXTERN void glist_select(t_glist *x, t_gobj *y); -EXTERN void glist_deselect(t_glist *x, t_gobj *y); -EXTERN void glist_noselect(t_glist *x); -EXTERN void glist_selectall(t_glist *x); -EXTERN void glist_delete(t_glist *x, t_gobj *y); -EXTERN void glist_retext(t_glist *x, t_text *y); -EXTERN void glist_grab(t_glist *x, t_gobj *y, t_glistmotionfn motionfn, - t_glistkeyfn keyfn, int xpos, int ypos); -EXTERN int glist_isvisible(t_glist *x); -EXTERN t_glist *glist_findgraph(t_glist *x); -EXTERN int glist_getfont(t_glist *x); -EXTERN void glist_sort(t_glist *canvas); -EXTERN void glist_read(t_glist *x, t_symbol *filename, t_symbol *format); -EXTERN void glist_write(t_glist *x, t_symbol *filename, t_symbol *format); - -EXTERN float glist_pixelstox(t_glist *x, float xpix); -EXTERN float glist_pixelstoy(t_glist *x, float ypix); -EXTERN float glist_xtopixels(t_glist *x, float xval); -EXTERN float glist_ytopixels(t_glist *x, float yval); - -EXTERN void glist_redrawitem(t_glist *owner, t_gobj *gobj); -EXTERN void glist_getnextxy(t_glist *gl, int *xval, int *yval); -EXTERN void glist_glist(t_glist *g, t_symbol *s, int argc, t_atom *argv); -EXTERN t_glist *glist_addglist(t_glist *g, t_symbol *sym, - float x1, float y1, float x2, float y2, - float px1, float py1, float px2, float py2); -EXTERN void glist_arraydialog(t_glist *parent, t_symbol *name, - t_floatarg size, t_floatarg saveit, t_floatarg newgraph); -EXTERN t_binbuf *glist_writetobinbuf(t_glist *x, int wholething); -EXTERN void glist_cleanup(t_glist *x); -EXTERN void glist_free(t_glist *x); - -/* -------------------- functions on texts ------------------------- */ -EXTERN void text_setto(t_text *x, t_glist *glist, char *buf, int bufsize); -EXTERN void text_drawborder(t_text *x, t_glist *glist, char *tag, - int width, int height, int firsttime); -EXTERN void text_eraseborder(t_text *x, t_glist *glist, char *tag); - -/* -------------------- functions on rtexts ------------------------- */ -#define RTEXT_DOWN 1 -#define RTEXT_DRAG 2 -#define RTEXT_DBL 3 -#define RTEXT_SHIFT 4 - -EXTERN t_rtext *rtext_new(t_glist *glist, t_text *who, t_rtext *next); -EXTERN t_rtext *rtext_remove(t_rtext *first, t_rtext *x); -EXTERN t_rtext *glist_findrtext(t_glist *gl, t_text *who); -EXTERN int rtext_height(t_rtext *x); -EXTERN void rtext_displace(t_rtext *x, int dx, int dy); -EXTERN void rtext_select(t_rtext *x, int state); -EXTERN void rtext_activate(t_rtext *x, int state); -EXTERN void rtext_free(t_rtext *x); -EXTERN void rtext_key(t_rtext *x, int n, t_symbol *s); -EXTERN void rtext_mouse(t_rtext *x, int xval, int yval, int flag); -EXTERN void rtext_retext(t_rtext *x); -EXTERN int rtext_width(t_rtext *x); -EXTERN int rtext_height(t_rtext *x); -EXTERN char *rtext_gettag(t_rtext *x); -EXTERN void rtext_gettext(t_rtext *x, char **buf, int *bufsize); - -/* -------------------- functions on canvases ------------------------ */ -EXTERN t_class *graph_class, *canvas_class; - -EXTERN t_canvas *canvas_new(t_symbol *sel, int argc, t_atom *argv); -EXTERN t_symbol *canvas_makebindsym(t_symbol *s); -EXTERN void canvas_vistext(t_canvas *x, t_text *y); -EXTERN void canvas_fixlinesfor(t_canvas *x, t_text *text); -EXTERN void canvas_deletelinesfor(t_canvas *x, t_text *text); -EXTERN void canvas_stowconnections(t_canvas *x); -EXTERN void canvas_restoreconnections(t_canvas *x); -EXTERN t_template *canvas_gettemplate(t_canvas *x); -EXTERN t_template *canvas_gettemplatebyname(t_symbol *s); -EXTERN t_template *gtemplate_get(t_gtemplate *x); -EXTERN int template_find_field(t_template *x, t_symbol *name, int *p_onset, - int *p_type, t_symbol **p_arraytype); -EXTERN t_float canvas_getfloat(t_canvas *x, t_symbol *fieldname, t_word *wp, - int loud); -EXTERN void canvas_setfloat(t_canvas *x, t_symbol *fieldname, t_word *wp, - t_float f, int loud); -EXTERN t_symbol *canvas_getsymbol(t_canvas *x, t_symbol *fieldname, t_word *wp, - int loud); -EXTERN void canvas_setsymbol(t_canvas *x, t_symbol *fieldname, t_word *wp, - t_symbol *s, int loud); - -EXTERN t_inlet *canvas_addinlet(t_canvas *x, t_pd *who, t_symbol *sym); -EXTERN void canvas_rminlet(t_canvas *x, t_inlet *ip); -EXTERN t_outlet *canvas_addoutlet(t_canvas *x, t_pd *who, t_symbol *sym); -EXTERN void canvas_rmoutlet(t_canvas *x, t_outlet *op); -EXTERN void canvas_redrawallfortemplate(t_canvas *template); -EXTERN void canvas_zapallfortemplate(t_canvas *template); -EXTERN void canvas_setusedastemplate(t_canvas *x); -EXTERN t_canvas *canvas_getcurrent(void); -EXTERN void canvas_setcurrent(t_canvas *x); -EXTERN void canvas_unsetcurrent(t_canvas *x); -EXTERN t_canvas *canvas_getrootfor(t_canvas *x); -EXTERN void canvas_dirty(t_canvas *x, t_int n); -EXTERN int canvas_isvisible(t_canvas *x); -EXTERN int canvas_getfont(t_canvas *x); -typedef int (*t_canvasapply)(t_canvas *x, t_int x1, t_int x2, t_int x3); - -EXTERN t_int *canvas_recurapply(t_canvas *x, t_canvasapply *fn, - t_int x1, t_int x2, t_int x3); - -EXTERN void canvas_resortinlets(t_canvas *x); -EXTERN void canvas_resortoutlets(t_canvas *x); -EXTERN void canvas_free(t_canvas *x); - -/* ---------------------- functions on subcanvases --------------------- */ - -EXTERN void subcanvas_fattenforscalars(t_subcanvas *x, - int *x1, int *y1, int *x2, int *y2); -EXTERN void subcanvas_visforscalars(t_subcanvas *x, t_glist *glist, int vis); -EXTERN int subcanvas_click(t_subcanvas *x, int xpix, int ypix, int shift, - int alt, int dbl, int doit); -EXTERN t_glist *canvas_getglistonsuper(void); - -/* --------------------- functions on tscalars --------------------- */ - -EXTERN void tscalar_getrect(t_tscalar *x, t_glist *owner, - int *xp1, int *yp1, int *xp2, int *yp2); -EXTERN void tscalar_vis(t_tscalar *x, t_glist *owner, int flag); -EXTERN int tscalar_click(t_tscalar *x, int xpix, int ypix, int shift, - int alt, int dbl, int doit); - -/* --------- functions on garrays (graphical arrays) -------------------- */ - -EXTERN t_template *garray_template(t_garray *x); - -/* -------------------- arrays --------------------- */ -EXTERN t_garray *graph_array(t_glist *gl, t_symbol *s, t_symbol *template, - t_floatarg f, t_floatarg saveit); -EXTERN t_array *array_new(t_symbol *templatesym, t_gpointer *parent); -EXTERN void array_resize(t_array *x, t_template *template, int n); -EXTERN void array_free(t_array *x); - -/* --------------------- gpointers and stubs ---------------- */ -EXTERN t_gstub *gstub_new(t_glist *gl, t_array *a); -EXTERN void gstub_cutoff(t_gstub *gs); -EXTERN void gpointer_setglist(t_gpointer *gp, t_glist *glist, t_scalar *x); - -/* --------------------- scalars ------------------------- */ -EXTERN void word_init(t_word *wp, t_template *template, t_gpointer *gp); -EXTERN void word_restore(t_word *wp, t_template *template, - int argc, t_atom *argv); -EXTERN t_scalar *scalar_new(t_glist *owner, - t_symbol *templatesym); -EXTERN void scalar_getbasexy(t_scalar *x, float *basex, float *basey); - -/* --------------------- templates ------------------------- */ -EXTERN t_template *template_new(int argc, t_atom *argv); -EXTERN void template_free(t_template *x); -EXTERN int template_match(t_template *x1, t_template *x2); - -/* ----------------------- guiconnects, g_guiconnect.c --------- */ -EXTERN t_guiconnect *guiconnect_new(t_pd *who, t_symbol *sym); -EXTERN void guiconnect_notarget(t_guiconnect *x, double timedelay); diff --git a/m_imp.h b/m_imp.h deleted file mode 100644 index f5be853..0000000 --- a/m_imp.h +++ /dev/null @@ -1,211 +0,0 @@ -/* 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. */ - -/* This file contains function prototypes and data types used to implement -Pd, but not shared with Pd objects. */ - -#include "m_pd.h" - -EXTERN_STRUCT _outconnect; -#define t_outconnect struct _outconnect - -/* LATER consider whether to use 'char' for method arg types to save space */ - -/* the structure for a method handler ala Max */ -typedef struct _methodentry -{ - t_symbol *me_name; - t_gotfn me_fun; - t_atomtype me_arg[MAXPDARG+1]; -} t_methodentry; - -EXTERN_STRUCT _widgetbehavior; - -typedef void (*t_bangmethod)(t_pd *x); -typedef void (*t_pointermethod)(t_pd *x, t_gpointer *gp); -typedef void (*t_floatmethod)(t_pd *x, t_float f); -typedef void (*t_symbolmethod)(t_pd *x, t_symbol *s); -typedef void (*t_listmethod)(t_pd *x, t_symbol *s, int argc, t_atom *argv); -typedef void (*t_anymethod)(t_pd *x, t_symbol *s, int argc, t_atom *argv); - -struct _class -{ - t_symbol *c_name; /* name (mostly for error reporting) */ - t_symbol *c_helpname; /* name of help file */ - size_t c_size; /* size of an instance */ - t_methodentry *c_methods; /* methods other than bang, etc below */ - int c_nmethod; /* number of methods */ - t_method c_freemethod; /* function to call before freeing */ - t_bangmethod c_bangmethod; /* common methods */ - t_pointermethod c_pointermethod; - t_floatmethod c_floatmethod; - t_symbolmethod c_symbolmethod; - t_listmethod c_listmethod; - t_anymethod c_anymethod; - struct _widgetbehavior *c_wb; /* "gobjs" only */ - struct _parentwidgetbehavior *c_pwb;/* widget behavior in parent */ - int c_floatsignalin; /* onset to float for signal input */ - char c_gobj; /* true if is a gobj */ - char c_patchable; /* true if we have a t_object header */ - char c_firstin; /* if patchable, true if draw first inlet */ - 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 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); -EXTERN double sys_getrealtime(void); - -/* 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 - - /* 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 inchans, int outchans, int rate); -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); - - /* for NT and Linux, there are additional bits of fluff as follows. */ -#ifdef NT -EXTERN void nt_listdevs(void); -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); -#endif - -#define API_OSS 0 -#define API_ALSA 1 -#define API_RME 2 -#define API_PORTAUDIO 4 -#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_setfragsize(int n); -void linux_streammode( 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__ */ - -/* 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); -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 t_object *pd_checkobject(t_pd *x); - -EXTERN int obj_noutlets(t_object *x); -EXTERN int obj_ninlets(t_object *x); -EXTERN t_outconnect *obj_starttraverseoutlet(t_object *x, t_outlet **op, - int nout); -EXTERN t_outconnect *obj_nexttraverseoutlet(t_outconnect *lastconnect, - t_object **destp, t_inlet **inletp, int *whichp); -EXTERN t_outconnect *obj_connect(t_object *source, int outno, - t_object *sink, int inno); -EXTERN void obj_disconnect(t_object *source, int outno, t_object *sink, - int inno); -EXTERN void outlet_setstacklim(void); -/* 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); diff --git a/openpatch.c b/openpatch.c index 3828f71..f1979bd 100644 --- a/openpatch.c +++ b/openpatch.c @@ -1,11 +1,17 @@ #include "ext13.h" -//#include "m_pd.h" +#include "m_pd.h" + +#ifndef PD_MAJOR_VERSION +#include "s_stuff.h" +#else #include "m_imp.h" +#endif + #include -#include +#include #ifndef NT #include -#endif +#endif #include #ifdef NT diff --git a/piperead~.c b/piperead~.c index 28d6320..ceeb1bd 100644 --- a/piperead~.c +++ b/piperead~.c @@ -1,5 +1,4 @@ #include "m_pd.h" -#include "g_canvas.h" #ifdef NT #pragma warning( disable : 4244 ) #pragma warning( disable : 4305 ) @@ -35,7 +34,6 @@ typedef struct _piperead_tilde short x_sample; t_int x_play; t_int x_channels; - t_glist * x_glist; int buflen; short buf[32768]; int readpointer; @@ -47,7 +45,7 @@ void piperead_tilde_open(t_piperead_tilde *x,t_symbol *filename) { /* struct stat fstate;*/ char fname[MAXPDSTRING]; - canvas_makefilename(glist_getcanvas(x->x_glist), filename->s_name, + canvas_makefilename(canvas_getcurrent(), filename->s_name, fname, MAXPDSTRING); /* close the old file */ @@ -142,7 +140,6 @@ static void *piperead_tilde_new(t_floatarg chan, t_floatarg buflen) t_piperead_tilde *x = (t_piperead_tilde *)pd_new(piperead_tilde_class); t_int c = chan; t_int bl = buflen; - x->x_glist = (t_glist*) canvas_getcurrent(); if (c<1 || c > MAX_CHANS) c = 1; if (bl<8 || bl > 32767) bl = 256; diff --git a/pipewrite~.c b/pipewrite~.c index b609c37..a49526c 100644 --- a/pipewrite~.c +++ b/pipewrite~.c @@ -1,5 +1,4 @@ -#include "m_imp.h" -//#include +#include #include "g_canvas.h" #ifdef NT #pragma warning( disable : 4244 ) diff --git a/sfwrite13~.c b/sfwrite13~.c index f70334f..f0a4188 100644 --- a/sfwrite13~.c +++ b/sfwrite13~.c @@ -1,9 +1,10 @@ /* original source (sfwrite~.c) by Guenter Geiger */ /* added buffering for write-actions to reduce disc-activity */ + +#include "m_pd.h" +#include "g_canvas.h" -#include "m_imp.h" -#include "g_canvas.h" #ifdef NT #pragma warning( disable : 4244 ) #pragma warning( disable : 4305 ) diff --git a/wavinfo.c b/wavinfo.c index 1f5d2f9..7edd030 100644 --- a/wavinfo.c +++ b/wavinfo.c @@ -1,6 +1,5 @@ #include "ext13.h" #include "m_pd.h" -#include "g_canvas.h" #include #include #include @@ -47,7 +46,6 @@ static t_class *wavinfo_class; typedef struct _wavinfo { t_object x_obj; - t_glist *x_glist; t_float x_samplerate; t_float x_bitspersample; t_float x_channels; @@ -65,7 +63,6 @@ typedef struct _wavinfo static void *wavinfo_new(t_symbol *s) { t_wavinfo *x = (t_wavinfo *)pd_new(wavinfo_class); - x->x_glist = (t_glist*) canvas_getcurrent(); x->x_s = s; // outlet_new(&x->x_obj, &s_float); x->x_out0 = outlet_new(&x->x_obj, &s_float); @@ -88,7 +85,7 @@ static void wavinfo_symbol(t_wavinfo *x, t_symbol *filename) char fname[MAXPDSTRING]; int ok=(stat(filename->s_name, &statbuf) >= 0); if (ok>0) { - canvas_makefilename(glist_getcanvas(x->x_glist), filename->s_name,fname, MAXPDSTRING); + canvas_makefilename(canvas_getcurrent(), filename->s_name,fname, MAXPDSTRING); if ((x->x_fd = open(fname,( O_NONBLOCK | O_RDONLY))) < 0) { error("can't open %s",fname); -- cgit v1.2.1