From ed00587a1fbf858fbcdc3e06bfadd332f134052d Mon Sep 17 00:00:00 2001 From: Hans-Christoph Steiner Date: Fri, 5 Nov 2010 17:03:28 +0000 Subject: added s_stuff.h and m_imp.h as debian patches so it builds in current Debian svn path=/trunk/externals/maxlib/; revision=14271 --- debian/control | 7 +- debian/patches/add_required_internal_pd_headers | 432 ++++++++++++++++++++++++ debian/patches/series | 1 + 3 files changed, 437 insertions(+), 3 deletions(-) create mode 100644 debian/patches/add_required_internal_pd_headers create mode 100644 debian/patches/series diff --git a/debian/control b/debian/control index a60e5a3..65a23a1 100644 --- a/debian/control +++ b/debian/control @@ -4,7 +4,8 @@ Priority: optional Maintainer: Debian Multimedia Maintainers Uploaders: Hans-Christoph Steiner Build-Depends: debhelper (>= 7.0.50~), - puredata (>= 0.42.5-3.1~) + puredata, + quilt (>= 0.46-7~) Standards-Version: 3.9.1 Homepage: http://puredata.info @@ -12,8 +13,8 @@ Package: pd-maxlib Architecture: any Depends: ${shlibs:Depends}, pd, - ${misc:Depends}, - pd-libdir + pd-libdir, + ${misc:Depends} Description: a Pd library for analysing musical performance maxlib is a library of non-tilde externals for Pd. The objects can be very useful to analyse any musical performance. Some of the objects are 'borrowed' diff --git a/debian/patches/add_required_internal_pd_headers b/debian/patches/add_required_internal_pd_headers new file mode 100644 index 0000000..e35f2f5 --- /dev/null +++ b/debian/patches/add_required_internal_pd_headers @@ -0,0 +1,432 @@ +Description: workaround for headers missing from 'puredata' + Currently the 'puredata' package only includes the header m_pd.h, but other + headers are need to build this package, specifically s_stuff.h and + g_canvas.h. This patch adds the two headers from 'puredata' version 0.42.6 + until the other headers are included in Debian. +Author: Hans-Christoph Steiner +Bug-Debian: http://bugs.debian.org/568770 +Forwarded: not-needed +Reviewed-By: Hans-Christoph Steiner +Last-Update: <2010-11-05> + +--- /dev/null ++++ pd-maxlib-1.5.3/m_imp.h +@@ -0,0 +1,82 @@ ++/* 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. */ ++ ++/* 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 */ ++#ifndef __m_imp_h_ ++ ++/* 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 */ ++ 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 */ ++ 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 */ ++ t_savefn c_savefn; /* function to call when saving */ ++ t_propertiesfn c_propertiesfn; /* function to start prop dialog */ ++ 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 */ ++}; ++ ++ ++/* m_obj.c */ ++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); ++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); ++EXTERN void glob_quit(void *dummy); ++#define __m_imp_h_ ++#endif /* __m_imp_h_ */ +--- /dev/null ++++ pd-maxlib-1.5.3/s_stuff.h +@@ -0,0 +1,333 @@ ++/* 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_path.c */ ++ ++typedef struct _namelist /* element in a linked list of stored strings */ ++{ ++ struct _namelist *nl_next; /* next in list */ ++ char *nl_string; /* the string */ ++} t_namelist; ++ ++t_namelist *namelist_append(t_namelist *listwas, const char *s, int allowdup); ++t_namelist *namelist_append_files(t_namelist *listwas, const char *s); ++void namelist_free(t_namelist *listwas); ++char *namelist_get(t_namelist *namelist, int n); ++void sys_setextrapath(const char *p); ++extern int sys_usestdpath; ++extern t_namelist *sys_externlist; ++extern t_namelist *sys_searchpath; ++extern t_namelist *sys_helppath; ++int sys_open_absolute(const char *name, const char* ext, ++ char *dirresult, char **nameresult, unsigned int size, int bin, int *fdp); ++int sys_trytoopenone(const char *dir, const char *name, const char* ext, ++ char *dirresult, char **nameresult, unsigned int size, int bin); ++t_symbol *sys_decodedialog(t_symbol *s); ++ ++/* s_file.c */ ++ ++void sys_loadpreferences( void); ++void sys_savepreferences( void); ++extern int sys_defeatrt; ++extern t_symbol *sys_flags; ++ ++/* 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 */ ++extern t_symbol *sys_guidir; /* directory holding pd_gui, u_pdsend, etc */ ++ ++/* s_loader.c */ ++ ++typedef int (*loader_t)(t_canvas *canvas, char *classname); /* callback type */ ++EXTERN int sys_load_lib(t_canvas *canvas, char *filename); ++EXTERN void sys_register_loader(loader_t loader); ++ ++/* 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 t_float sys_dacsr; ++extern int sys_schedadvance; ++extern int sys_sleepgrain; ++void sys_set_audio_settings(int naudioindev, int *audioindev, ++ int nchindev, int *chindev, ++ int naudiooutdev, int *audiooutdev, int nchoutdev, int *choutdev, ++ int srate, int advance, int callback); ++void sys_reopen_audio( void); ++void sys_close_audio(void); ++ ++ ++int sys_send_dacs(void); ++void sys_reportidle(void); ++void sys_set_priority(int higher); ++void sys_audiobuf(int nbufs); ++void sys_getmeters(t_sample *inmax, t_sample *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[]; ++ ++void sys_open_midi(int nmidiin, int *midiinvec, ++ int nmidiout, int *midioutvec, int enable); ++void sys_get_midi_params(int *pnmidiindev, int *pmidiindev, ++ int *pnmidioutdev, int *pmidioutdev); ++ ++void sys_get_midi_apis(char *buf); ++ ++void sys_reopen_midi( void); ++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_setmiditimediff(double inbuftime, double outbuftime); ++EXTERN void sys_midibytein(int portno, int byte); ++ ++ /* implemented in the system dependent MIDI code (s_midi_pm.c, etc. ) */ ++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_setmiditimediff(double inbuftime, double outbuftime); ++EXTERN void sys_alsa_midibytein(int portno, int byte); ++EXTERN void sys_alsa_close_midi( void); ++ ++ ++ /* implemented in the system dependent MIDI code (s_midi_pm.c, etc. ) */ ++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 ++ ++/* 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 ++ ++#define SCHED_AUDIO_NONE 0 ++#define SCHED_AUDIO_POLL 1 ++#define SCHED_AUDIO_CALLBACK 2 ++void sched_set_using_audio(int flag); ++ ++/* 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_NONE 0 ++#define API_ALSA 1 ++#define API_OSS 2 ++#define API_MMIO 3 ++#define API_PORTAUDIO 4 ++#define API_JACK 5 ++#define API_SGI 6 ++ ++#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 __APPLE__ ++#define API_DEFAULT API_PORTAUDIO ++#define API_DEFSTRING "portaudio" ++#endif ++#ifdef IRIX ++#define API_DEFAULT API_SGI ++#define API_DEFSTRING "SGI Digital Media" ++#endif ++#define DEFAULTAUDIODEV 0 ++ ++#define MAXAUDIOINDEV 4 ++#define MAXAUDIOOUTDEV 4 ++ ++#define DEFMIDIDEV 0 ++ ++#define DEFAULTSRATE 44100 ++#ifdef MSW ++#define DEFAULTADVANCE 70 ++#else ++#define DEFAULTADVANCE 50 ++#endif ++ ++typedef void (*t_audiocallback)(void); ++ ++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); ++void sys_reportidle(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); ++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); ++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 wantinchans, int wantoutchans, int srate); ++void jack_close_audio(void); ++int jack_send_dacs(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); ++ ++int 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_getdevs(char *indevlist, int *nindevs, ++ char *outdevlist, int *noutdevs, int *canmulti, ++ int maxndev, int devdescsize); ++ ++void sys_listmididevs(void); ++void sys_set_midi_api(int whichapi); ++void sys_set_audio_api(int whichapi); ++void sys_get_audio_apis(char *buf); ++extern int sys_audioapi; ++void sys_set_audio_state(int onoff); ++ ++/* API dependent audio flags and settings */ ++void oss_set32bit( void); ++void linux_alsa_devname(char *devname); ++ ++void sys_get_audio_params( ++ int *pnaudioindev, int *paudioindev, int *chindev, ++ int *pnaudiooutdev, int *paudiooutdev, int *choutdev, ++ int *prate, int *padvance, int *callback); ++void sys_save_audio_params( ++ int naudioindev, int *audioindev, int *chindev, ++ int naudiooutdev, int *audiooutdev, int *choutdev, ++ int rate, int advance, int callback); ++ ++/* s_file.c */ ++ ++typedef void (*t_printhook)(const char *s); ++extern t_printhook sys_printhook; /* set this to override printing */ ++extern int sys_printtostderr; ++ ++/* jsarlo { */ ++ ++EXTERN double sys_time; ++EXTERN double sys_time_per_dsp_tick; ++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_clearhist(void ); ++EXTERN void sys_initmidiqueue(void ); ++EXTERN int sys_addhist(int phase); ++EXTERN void sys_setmiditimediff(double inbuftime, double outbuftime); ++EXTERN void sched_tick(double next_sys_time); ++EXTERN void sys_pollmidiqueue(void ); ++EXTERN int sys_pollgui(void ); ++EXTERN void sys_setchsr(int chin, int chout, int sr); ++ ++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); ++/* } jsarlo */ ++extern t_widgetbehavior text_widgetbehavior; diff --git a/debian/patches/series b/debian/patches/series new file mode 100644 index 0000000..4985374 --- /dev/null +++ b/debian/patches/series @@ -0,0 +1 @@ +add_required_internal_pd_headers -- cgit v1.2.1