aboutsummaryrefslogtreecommitdiff
path: root/debian/patches
diff options
context:
space:
mode:
Diffstat (limited to 'debian/patches')
-rw-r--r--debian/patches/add_required_internal_pd_headers432
-rw-r--r--debian/patches/series1
2 files changed, 433 insertions, 0 deletions
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 <hans@eds.org>
+Bug-Debian: http://bugs.debian.org/568770
+Forwarded: not-needed
+Reviewed-By: Hans-Christoph Steiner <hans@eds.org>
+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