diff --git a/Makefile b/Makefile index fabea6e9f5fee9f6022b2da4168bb0c7aa79811a..b5eace445b416d706bf8622c4c5867e7bba07053 100644 --- a/Makefile +++ b/Makefile @@ -216,9 +216,9 @@ $(debsrc): git archive --format=tar.gz --prefix=$(debdist)/ HEAD | tar xfz - # Grab the submodules. for x in $(submodules); do (cd $(debdist) && rm -rf $$x && git -C ../$$x archive --format=tar.gz --prefix=$$x/ HEAD | tar xfz -); done -# Pre-generate and put s_stuff.h into the tarball (see above; the build +# Pre-generate and put s_version.h into the tarball (see above; the build # version is generated using git which can't be done outside the git repo). - sed 's|^\(#define PD_BUILD_VERSION "\).*"|\1$(PD_BUILD_VERSION)"|' pd/src/s_stuff.h.in > $(debdist)/pd/src/s_stuff.h + sed 's|^\(#define PD_BUILD_VERSION "\).*"|\1$(PD_BUILD_VERSION)"|' pd/src/s_version.h.in > $(debdist)/pd/src/s_version.h # Create the source tarball. tar cfz $(debsrc) $(debdist) rm -rf $(debdist) diff --git a/debuild/Makefile b/debuild/Makefile index fa7724a110e4ef33bc95b68e7772b5e9bd1c1ae3..c995a25c89d41406bb1962107663ed33b0920783 100644 --- a/debuild/Makefile +++ b/debuild/Makefile @@ -103,9 +103,9 @@ $(debsrc): git -C .. archive --format=tar.gz --prefix=$(debdist)/ HEAD | tar xfz - # Grab the submodules. for x in $(submodules); do (cd $(debdist) && rm -rf $$x && git -C ../../$$x archive --format=tar.gz --prefix=$$x/ HEAD | tar xfz -); done -# Pre-generate and put s_stuff.h into the tarball (see above; the build +# Pre-generate and put s_version.h into the tarball (see above; the build # version is generated using git which can't be done outside the git repo). - sed 's|^\(#define PD_BUILD_VERSION "\).*"|\1$(PD_BUILD_VERSION)"|' ../pd/src/s_stuff.h.in > $(debdist)/pd/src/s_stuff.h + sed 's|^\(#define PD_BUILD_VERSION "\).*"|\1$(PD_BUILD_VERSION)"|' ../pd/src/s_version.h.in > $(debdist)/pd/src/s_version.h # Create the source tarball. tar cfz $(debsrc) $(debdist) rm -rf $(debdist) diff --git a/l2ork_addons/tar_em_up.sh b/l2ork_addons/tar_em_up.sh index b3fab3e3fd283c189d217ed1ce37210f32ef3af4..bd303d0182cbb286261fc9f83f40c2f6c91290fa 100755 --- a/l2ork_addons/tar_em_up.sh +++ b/l2ork_addons/tar_em_up.sh @@ -297,12 +297,13 @@ then # s_stuff.h when we copy it below. XXXNOTE AG: The build seems # to work just fine even when skipping all this, so why again # is this needed? - test -f ../../pd/src/s_stuff.h || make -C .. git_version + test -f ../../pd/src/s_version.h || make -C .. git_version cp ../../pd/src/g_all_guis.h ../../externals/build/include cp ../../pd/src/g_canvas.h ../../externals/build/include cp ../../pd/src/m_imp.h ../../externals/build/include cp ../../pd/src/m_pd.h ../../externals/build/include cp ../../pd/src/s_stuff.h ../../externals/build/include + cp ../../pd/src/s_version.h ../../externals/build/include cp ../../pd/src/g_all_guis.h ../../externals/build/include rm -rf build/ fi diff --git a/packages/Makefile b/packages/Makefile index 00a996199155eada4ea0ea5e72496f8ceaa0cfd4..4c1c9a104bedafcf9274f22a8521d8b80748c30f 100644 --- a/packages/Makefile +++ b/packages/Makefile @@ -374,16 +374,16 @@ doc_format: # AG: The set_version target is broken since it modifies m_pd.h in-place # during the build, which is a bad thing to do to files which are supposed to -# be kept in a source code repository. Instead, we create s_stuff.h from -# s_stuff.h.in, where the latter is kept in the repo and the former gets +# be kept in a source code repository. Instead, we create s_version.h from +# s_version.h.in, where the latter is kept in the repo and the former gets # created from the latter by substituting PD_BUILD_VERSION. NOTE: This may # fail if we're building in a static tarball snapshop of the repo, in which -# case we assume that a pre-generated s_stuff.h is supplied. +# case we assume that a pre-generated s_version.h is supplied. -git_version: $(pd_src)/src/s_stuff.h.in +git_version: $(pd_src)/src/s_version.h.in @test -d $(cvs_root_dir)/.git && cd $(pd_src)/src/ && \ - sed 's|^\(#define PD_BUILD_VERSION "\).*"|\1$(PD_BUILD_VERSION)"|' s_stuff.h.in > s_stuff.h.new && \ - (test -f s_stuff.h && diff -q s_stuff.h s_stuff.h.new > /dev/null && rm -f s_stuff.h.new && echo s_stuff.h unchanged || (rm -f s_stuff.h && mv s_stuff.h.new s_stuff.h)) || test -f $(pd_src)/src/s_stuff.h + sed 's|^\(#define PD_BUILD_VERSION "\).*"|\1$(PD_BUILD_VERSION)"|' s_version.h.in > s_version.h.new && \ + (test -f s_version.h && diff -q s_version.h s_version.h.new > /dev/null && rm -f s_version.h.new && echo s_version.h unchanged || (rm -f s_version.h && mv s_version.h.new s_version.h)) || test -f $(pd_src)/src/s_version.h set_version: # change Pd's version number to reflect the extended build diff --git a/packages/win32_inno/Makefile b/packages/win32_inno/Makefile index 2303725c378090363d6e67cb6cb45586b40a6755..99d5290e8f9e947d1a47af3227942a4bd078d182 100755 --- a/packages/win32_inno/Makefile +++ b/packages/win32_inno/Makefile @@ -46,10 +46,10 @@ endif @echo " " @echo "win32_inno install succeeded!" -git_version: $(pd_src)/src/s_stuff.h.in +git_version: $(pd_src)/src/s_version.h.in @cd $(pd_src)/src/ && \ - sed 's|^\(#define PD_BUILD_VERSION "\).*"|\1$(PD_BUILD_VERSION)"|' s_stuff.h.in > s_stuff.h.new && \ - (test -f s_stuff.h && diff -q s_stuff.h s_stuff.h.new > /dev/null && rm -f s_stuff.h.new && echo s_stuff.h unchanged || (rm -f s_stuff.h && mv s_stuff.h.new s_stuff.h)) + sed 's|^\(#define PD_BUILD_VERSION "\).*"|\1$(PD_BUILD_VERSION)"|' s_version.h.in > s_version.h.new && \ + (test -f s_version.h && diff -q s_version.h s_version.h.new > /dev/null && rm -f s_version.h.new && echo s_version.h unchanged || (rm -f s_version.h && mv s_version.h.new s_version.h)) build_pd: git_version cd $(pd_src)/src && $(MAKE) -f makefile.mingw diff --git a/pd/src/import.c b/pd/src/import.c index f04bf5facb418686b3376b7485c0386be0cd23d9..72df5e2fbb24a10fdcea4d43df6d1b8205bbbf54 100644 --- a/pd/src/import.c +++ b/pd/src/import.c @@ -10,6 +10,7 @@ #include "m_pd.h" #include "s_stuff.h" +#include "s_version.h" #include "g_canvas.h" #include <stdio.h> diff --git a/pd/src/makefile.in b/pd/src/makefile.in index ac7bb82370446210cb1ea78d65236f2089244b53..59e0bc88d06f1c0cc486af582451f269eac96bc9 100644 --- a/pd/src/makefile.in +++ b/pd/src/makefile.in @@ -203,6 +203,7 @@ install: all install -m644 m_imp.h $(DESTDIR)$(includedir)/pd-l2ork/m_imp.h install -m644 g_canvas.h $(DESTDIR)$(includedir)/pd-l2ork/g_canvas.h install -m644 s_stuff.h $(DESTDIR)$(includedir)/pd-l2ork/s_stuff.h + install -m644 s_version.h $(DESTDIR)$(includedir)/pd-l2ork/s_version.h install -m644 g_all_guis.h $(DESTDIR)$(includedir)/pd-l2ork/g_all_guis.h install -d $(DESTDIR)$(mandir)/man1 gzip < ../man/pd.1 > $(DESTDIR)$(mandir)/man1/@PDEXEC@.1.gz @@ -230,7 +231,7 @@ extra-clean: clean: extra-clean local-clean distclean: clean - -rm -f s_stuff.h config.cache config.log config.status makefile tags \ + -rm -f s_version.h config.cache config.log config.status makefile tags \ autom4te.cache/output.* autom4te.cache/traces.* autom4te.cache/requests -rm -rf autom4te*.cache @@ -238,10 +239,10 @@ tags: $(SRC); ctags *.[ch] depend: makefile.dependencies -makefile.dependencies: makefile s_stuff.h +makefile.dependencies: makefile s_version.h $(CC) $(CPPFLAGS) -M $(SRC) > makefile.dependencies -s_stuff.h: s_stuff.h.in +s_version.h: s_version.h.in sed 's|^\(#define PD_BUILD_VERSION "\).*"|\1$(PD_BUILD_VERSION)"|' $< > $@ uninstall: diff --git a/pd/src/makefile.mingw b/pd/src/makefile.mingw index 47603b10a173cc248d7033e34b0e719d0cdfee65..845bf5989b1bfc1bdc7d99bd85748272bf4d7cbf 100755 --- a/pd/src/makefile.mingw +++ b/pd/src/makefile.mingw @@ -106,7 +106,7 @@ PMOBJ = $(PMSRC:.c=.o) GSRC = -HEADERS = g_all_guis.h m_imp.h g_canvas.h g_magicglass.h m_pd.h s_stuff.h \ +HEADERS = g_all_guis.h m_imp.h g_canvas.h g_magicglass.h m_pd.h s_stuff.h s_version.h \ g_undo.h x_preset.h s_utf8.h \ $(wildcard ../portaudio/common/*.h) s_audio_paring.h @@ -165,7 +165,7 @@ all: config.h $(PDDLL) $(PDEXEC) pdsend.exe pdreceive.exe pd.com externs config.h: config.h.in cp config.h.in config.h -s_stuff.h: s_stuff.h.in +s_version.h: s_version.h.in sed 's|^\(#define PD_BUILD_VERSION "\).*"|\1$(PD_BUILD_VERSION)"|' $< > $@ $(OBJ) : %.o : %.c @@ -280,6 +280,7 @@ install: all install -p m_imp.h $(DESTDIR)$(includedir)/pdl2ork/m_imp.h install -p g_canvas.h $(DESTDIR)$(includedir)/pdl2ork/g_canvas.h install -p s_stuff.h $(DESTDIR)$(includedir)/pdl2ork/s_stuff.h + install -p s_version.h $(DESTDIR)$(includedir)/pdl2ork/s_version.h install -p g_all_guis.h $(DESTDIR)$(includedir)/pdl2ork/g_all_guis.h # since Pd-vanilla on Mac OS X doesn't have an 'include/pd' folder, # Pd-extended will mimic Pd-vanilla's include/pd until Pd-vanilla gets one @@ -300,6 +301,7 @@ install: all install -d $(DESTDIR)$(includedir) install -p m_pd.h $(DESTDIR)$(includedir)/m_pd.h install -p s_stuff.h $(DESTDIR)$(includedir)/s_stuff.h + install -p s_version.h $(DESTDIR)$(includedir)/s_version.h @echo "Pd install succeeded." @@ -312,7 +314,7 @@ clean: -rm -f makefile.dependencies distclean: clean - rm -rf -- s_stuff.h config.cache config.log config.status makefile tags \ + rm -rf -- s_version.h config.cache config.log config.status makefile tags \ autom4te-*.cache tags: $(SRC) $(GSRC); ctags *.[ch] diff --git a/pd/src/s_main.c b/pd/src/s_main.c index dca6b1fd8a203695c6dd72c9f0644596b91edfaa..86cd504f3cb6ecd04c39016d8c765ddc128c8d31 100644 --- a/pd/src/s_main.c +++ b/pd/src/s_main.c @@ -5,6 +5,7 @@ #include "m_pd.h" #include "m_imp.h" #include "s_stuff.h" +#include "s_version.h" #include <sys/types.h> #include <sys/stat.h> #include <limits.h> diff --git a/pd/src/s_stuff.h.in b/pd/src/s_stuff.h.in deleted file mode 100644 index 5e48f33cec95e009f10a2e67922c3f901c2ae98d..0000000000000000000000000000000000000000 --- a/pd/src/s_stuff.h.in +++ /dev/null @@ -1,446 +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. */ - -/* 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. */ - -#ifndef __s_stuff_h_ -#define __s_stuff_h_ - -// AG: Generated build version number. Pd-l2ork uses this in lieu of vanilla's -// PD_TEST_VERSION. We wouldn't want to touch m_pd.h for this, so it's part of -// the internal API. Also note that this value gets substituted automatically -// at build time, so any manual edits will be lost. -#define PD_BUILD_VERSION "<build version>" - -/* 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 *pd_extrapath; -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_gui_preset; -extern t_symbol *sys_flags; - -#define MAX_RECENT_FILES 8 -void sys_load_recent_files(void); -void sys_save_recent_files(void); -void sys_add_recent_file(const char *s); -void sys_clear_recent_files(void); -extern int sys_n_recent_files; -extern char *sys_recent_files[]; - -/* 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, const char *classname, const char *path); /* callback type */ -EXTERN int sys_load_lib(t_canvas *canvas, const char *classname); -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; -EXTERN 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, int blocksize); -/* the same as above, but reopens the audio subsystem if needed */ -EXTERN void sys_set_audio_settings_reopen(int naudioindev, int *audioindev, - int nchindev, int *chindev, - int naudiooutdev, int *audiooutdev, int nchoutdev, int *choutdev, - int srate, int advance, int callback, int blocksize); -void sys_reopen_audio( void); -void sys_close_audio(void); - /* return true if the interface prefers always being open (ala jack) : */ -EXTERN int audio_shouldkeepopen( void); -EXTERN int audio_isopen( void); /* true if audio interface is open */ -EXTERN int sys_audiodevnametonumber(int output, const char *name); -EXTERN void sys_audiodevnumbertoname(int output, int devno, char *name, - int namesize); - - -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); - -EXTERN void sys_get_audio_devs(char *indevlist, int *nindevs, - char *outdevlist, int *noutdevs, int *canmulti, int *cancallback, - int maxndev, int devdescsize); -EXTERN void sys_get_audio_apis(char *buf); -EXTERN void sys_get_audio_apis2(t_binbuf *buf); - -/* s_midi.c */ -#define MAXMIDIINDEV 16 /* max. number of input ports */ -#define MAXMIDIOUTDEV 16 /* max. number of output ports */ -extern int sys_midiapi; -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); - -EXTERN void sys_get_midi_apis(char *buf); -EXTERN void sys_get_midi_apis2(t_binbuf *buf); -EXTERN void sys_get_midi_devs(char *indevlist, int *nindevs, - char *outdevlist, int *noutdevs, - int maxndev, int devdescsize); -void sys_get_midi_params(int *pnmidiindev, int *pmidiindev, - int *pnmidioutdev, int *pmidioutdev); -EXTERN int sys_mididevnametonumber(int output, const char *name); -EXTERN void sys_mididevnumbertoname(int output, int devno, char *name, - int namesize); - -void sys_get_midi_apis(char *buf); -void sys_get_midi_apis2(t_binbuf *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_ALSA -#define API_DEFSTRING "ALSA" -#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 _WIN32 -#define DEFAULTADVANCE 100 -#endif -#ifdef __linux__ -#define DEFAULTADVANCE 50 -#endif -#ifdef __APPLE__ -#define DEFAULTADVANCE 20 -#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, int blocksize); -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, int blocksize); -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, int blocksize); -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); -void sys_get_audio_apis2(t_binbuf *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); - -EXTERN int sys_audio_get_blocksize(void); -EXTERN void sys_get_audio_params( - int *pnaudioindev, int *paudioindev, int *chindev, - int *pnaudiooutdev, int *paudiooutdev, int *choutdev, - int *prate, int *padvance, int *callback, int *blocksize); -void sys_save_audio_params( - int naudioindev, int *audioindev, int *chindev, - int naudiooutdev, int *audiooutdev, int *choutdev, - int rate, int advance, int callback, int blocksize); - -/* s_file.c */ - -typedef void (*t_printhook)(const char *s); -extern t_printhook sys_printhook; /* set this to override printing */ -extern int sys_printtostderr; -extern int sys_k12_mode; - -/* 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(void ); -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; - -/* in x_list.c */ - /* List element for storage. Keep an atom and, in case it's a pointer, - an associated 'gpointer' to protect against stale pointers. */ -typedef struct _listelem -{ - t_atom l_a; - t_gpointer l_p; -} t_listelem; - -struct _alist -{ - t_pd l_pd; /* object to point inlets to */ - int l_n; /* number of items */ - int l_npointer; /* number of pointers */ - t_listelem *l_vec; /* pointer to items */ -}; - -#ifndef t_alist -#define t_alist struct _alist -#endif - -#if 0 /* probably won't use this version... */ -#ifdef HAVE_ALLOCA -#define LIST_ALLOCA(x, n) ( \ - (x).l_n = (n), \ - (x).l_vec = (t_listelem *)((n) < LIST_NGETBYTE ? \ - alloca((n) * sizeof(t_listelem)) : getbytes((n) * sizeof(t_listelem)))) \ -#define LIST_FREEA(x) ( \ - ((x).l_n < LIST_NGETBYTE || - (freebytes((x).l_vec, (x).l_n * sizeof(t_listelem)), 0))) - -#else -#define LIST_ALLOCA(x, n) ( \ - (x).l_n = (n), \ - (x).l_vec = (t_listelem *)getbytes((n) * sizeof(t_listelem))) -#define LIST_FREEA(x) (freebytes((x).l_vec, (x).l_n * sizeof(t_listelem))) -#endif -#endif - -#if HAVE_ALLOCA -#define XL_ATOMS_ALLOCA(x, n) ((x) = (t_atom *)((n) < LIST_NGETBYTE ? \ - alloca((n) * sizeof(t_atom)) : getbytes((n) * sizeof(t_atom)))) -#define XL_ATOMS_FREEA(x, n) ( \ - ((n) < LIST_NGETBYTE || (freebytes((x), (n) * sizeof(t_atom)), 0))) -#else -#define XL_ATOMS_ALLOCA(x, n) ((x) = (t_atom *)getbytes((n) * sizeof(t_atom))) -#define XL_ATOMS_FREEA(x, n) (freebytes((x), (n) * sizeof(t_atom))) -#endif - -EXTERN void atoms_copy(int argc, t_atom *from, t_atom *to); -EXTERN t_class *alist_class; -EXTERN void alist_init(t_alist *x); -EXTERN void alist_clear(t_alist *x); -EXTERN void alist_list(t_alist *x, t_symbol *s, int argc, t_atom *argv); -EXTERN void alist_anything(t_alist *x, t_symbol *s, int argc, t_atom *argv); -EXTERN void alist_toatoms(t_alist *x, t_atom *to, int onset, int count); -EXTERN void alist_clone(t_alist *x, t_alist *y, int onset, int count); - -#endif /* __s_stuff_h_ */ diff --git a/pd/src/s_version.h.in b/pd/src/s_version.h.in new file mode 100644 index 0000000000000000000000000000000000000000..3aa897872a29656f558dc4826a2a95a54b5ee724 --- /dev/null +++ b/pd/src/s_version.h.in @@ -0,0 +1,10 @@ +#ifndef __s_version_h_ +#define __s_version_h_ + +// AG: Generated build version number. Pd-l2ork uses this in lieu of vanilla's +// PD_TEST_VERSION. We wouldn't want to touch m_pd.h for this, so it's part of +// the internal API. Also note that this value gets substituted automatically +// at build time, so any manual edits will be lost. +#define PD_BUILD_VERSION "<build version>" + +#endif \ No newline at end of file diff --git a/pd/src/x_interface.c b/pd/src/x_interface.c index 34307dbeaa41713f71b1eca929e0668d6ecfc3e9..bfb69df38ccd1a179c50b50b510dad75cbb302ae 100644 --- a/pd/src/x_interface.c +++ b/pd/src/x_interface.c @@ -8,6 +8,7 @@ #include "m_imp.h" #include "g_canvas.h" #include "s_stuff.h" +#include "s_version.h" #include <string.h> #include <stdlib.h> #include <stdio.h>