You can subscribe to this list here.
| 2004 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
(22) |
Aug
(270) |
Sep
|
Oct
|
Nov
|
Dec
|
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2005 |
Jan
(8) |
Feb
(24) |
Mar
|
Apr
|
May
|
Jun
(5) |
Jul
|
Aug
(4) |
Sep
|
Oct
|
Nov
(2) |
Dec
(2) |
| 2006 |
Jan
|
Feb
|
Mar
|
Apr
(4) |
May
(2) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
| 2007 |
Jan
|
Feb
|
Mar
|
Apr
(25) |
May
|
Jun
|
Jul
|
Aug
|
Sep
(6) |
Oct
(3) |
Nov
(1) |
Dec
(14) |
| 2008 |
Jan
(1) |
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
| 2009 |
Jan
|
Feb
|
Mar
(31) |
Apr
(5) |
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
| 2010 |
Jan
|
Feb
|
Mar
|
Apr
(90) |
May
|
Jun
|
Jul
|
Aug
(1) |
Sep
|
Oct
|
Nov
|
Dec
|
| 2011 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
(2) |
Dec
|
| 2016 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(2) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
(1) |
|
From: Martin R. <ru...@us...> - 2007-04-04 14:36:08
|
Update of /cvsroot/foo/foo/elkfoo/scm/control/tools/util In directory sc8-pr-cvs5.sourceforge.net:/tmp/cvs-serv18815/elkfoo/scm/control/tools/util Modified Files: soundfile-funs.foo Log Message: added rudimentary flac support Index: soundfile-funs.foo =================================================================== RCS file: /cvsroot/foo/foo/elkfoo/scm/control/tools/util/soundfile-funs.foo,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** soundfile-funs.foo 30 Aug 2004 17:59:16 -0000 1.2 --- soundfile-funs.foo 4 Apr 2007 14:36:04 -0000 1.3 *************** *** 54,57 **** --- 54,58 ---- (list 'pvf (list ".pvf")) (list 'xi (list ".xi")) + (list 'flac (list ".flac")) (list 'imx (list ".imx")))) (define foo:user-soundfile-extension-database |
|
From: Martin R. <ru...@us...> - 2007-04-04 14:36:08
|
Update of /cvsroot/foo/foo/libfoo/src In directory sc8-pr-cvs5.sourceforge.net:/tmp/cvs-serv18815/libfoo/src Modified Files: FOOSoundFile.m Makefile.am Log Message: added rudimentary flac support Index: Makefile.am =================================================================== RCS file: /cvsroot/foo/foo/libfoo/src/Makefile.am,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** Makefile.am 26 Aug 2004 09:47:52 -0000 1.5 --- Makefile.am 4 Apr 2007 14:36:04 -0000 1.6 *************** *** 36,39 **** --- 36,40 ---- if USE_GNUSTEP_BASE + include @GNUSTEP_MAKEFILES@/config.make include @GNUSTEP_MAKEFILES@/library-combo.make include @GNUSTEP_MAKEFILES@/common.make Index: FOOSoundFile.m =================================================================== RCS file: /cvsroot/foo/foo/libfoo/src/FOOSoundFile.m,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -d -r1.8 -r1.9 *** FOOSoundFile.m 28 Feb 2005 16:37:22 -0000 1.8 --- FOOSoundFile.m 4 Apr 2007 14:36:04 -0000 1.9 *************** *** 38,41 **** --- 38,42 ---- #include "FOO/FOOSoundFile.h" + #include "config.h" #import <Foundation/NSKeyedArchiver.h> *************** *** 116,119 **** --- 117,124 ---- } + // open file + _fileInfo.format = 0; // recommended by erik de castro lopo (libsndfile) + _fileName = RETAIN(name); + switch (sndmode) { *************** *** 126,131 **** we need to evaluate the header data of an already existing file, even if purely writing it */ // mode = SFM_WRITE; ! // break; case SND_ADDIN: --- 131,168 ---- we need to evaluate the header data of an already existing file, even if purely writing it */ + + /* hacky workaround for writing flac files: SFM_RDWR not + possible here, so determine header info by opening read only, + than open write only. works only for empty soundfiles, since + cache handling needs read access to file */ + #ifdef HAVE_SNDFILE_FLAC_SUPPORT + if (! (_file = sf_open([_fileName cString], SFM_READ, &_fileInfo))) + { + fprintf(stderr, "libsndfile: %s\n", sf_strerror(_file)); + FOO_ERROR(YES, NO); + } + + // flac ahead? + if ((_fileInfo.format & SF_FORMAT_TYPEMASK) == SF_FORMAT_FLAC) + { + mode = SFM_WRITE; + } + else + { + mode = SFM_RDWR; + _fileInfo.format = 0; // reset + } + if (sf_close(_file)) + { + fprintf(stderr, "libsndfile: %s\n", sf_strerror(_file)); + FOO_ERROR(YES, NO); + } + _file = NULL; + + break; + #else // #ifdef HAVE_SNDFILE_FLAC_SUPPORT // mode = SFM_WRITE; ! break; ! #endif // #ifdef HAVE_SNDFILE_FLAC_SUPPORT case SND_ADDIN: *************** *** 137,144 **** } - // open file - _fileInfo.format = 0; // recommended by erik de castro lopo (libsndfile) - _fileName = RETAIN(name); - if (! (_file = sf_open([_fileName cString], mode, &_fileInfo))) { --- 174,177 ---- *************** *** 436,440 **** _cache.firstDirtyF = fromFrame; } ! if (_cache.lastDirtyF< lastF) { _cache.lastDirtyF = lastF; --- 469,473 ---- _cache.firstDirtyF = fromFrame; } ! if (_cache.lastDirtyF < lastF) { _cache.lastDirtyF = lastF; *************** *** 784,804 **** // seek #ifdef FOOSOUNDFILE_DEBUG ! { ! sf_count_t newpos; ! if ((newpos = sf_seek(_file, _cache.firstDirtyF, SEEK_SET)) == -1) #else ! if (sf_seek(_file, _cache.firstDirtyF, SEEK_SET) == -1) #endif ! { ! fprintf(stderr, "libsndfile: %s\n", sf_strerror(_file)); ! FOO_ERROR(YES, NO); ! } ! #ifdef FOOSOUNDFILE_DEBUG ! fprintf(stderr, "seeked to frame %ld in file\n", (long)newpos); ! } #endif // write --- 817,837 ---- // seek + if (sf_seek(_file, 0, SEEK_CUR) != _cache.firstDirtyF) + { #ifdef FOOSOUNDFILE_DEBUG ! sf_count_t newpos; ! if ((newpos = sf_seek(_file, _cache.firstDirtyF, SEEK_SET)) == -1) #else ! if (sf_seek(_file, _cache.firstDirtyF, SEEK_SET) == -1) #endif ! { ! fprintf(stderr, "libsndfile: %s\n", sf_strerror(_file)); ! FOO_ERROR(YES, NO); ! } #ifdef FOOSOUNDFILE_DEBUG ! fprintf(stderr, "seeked to frame %ld in file\n", (long)newpos); #endif + } // write |
|
From: Martin R. <ru...@us...> - 2007-04-04 14:36:07
|
Update of /cvsroot/foo/foo/elkfoo/include In directory sc8-pr-cvs5.sourceforge.net:/tmp/cvs-serv18815/elkfoo/include Modified Files: elkfoo.h Log Message: added rudimentary flac support Index: elkfoo.h =================================================================== RCS file: /cvsroot/foo/foo/elkfoo/include/elkfoo.h,v retrieving revision 1.10 retrieving revision 1.11 diff -C2 -d -r1.10 -r1.11 *** elkfoo.h 22 May 2006 22:18:35 -0000 1.10 --- elkfoo.h 4 Apr 2007 14:36:03 -0000 1.11 *************** *** 224,227 **** --- 224,234 ---- enum { SND_AUTO, SND_CHAR, SND_SHORT, SND_PCM24, SND_LONG, SND_FLOAT, SND_DOUBLE }; + #ifdef HAVE_SNDFILE_FLAC_SUPPORT + enum { SND_FILETYPE_INCREMENTAL, SND_FILETYPE_WAV, SND_FILETYPE_AIFF, + SND_FILETYPE_SND, SND_FILETYPE_PAF, SND_FILETYPE_SVX, + SND_FILETYPE_NIST, SND_FILETYPE_VOC, SND_FILETYPE_IRCAM, + SND_FILETYPE_WAV64, SND_FILETYPE_MAT4, SND_FILETYPE_MAT5, + SND_FILETYPE_PVF, SND_FILETYPE_XI, SND_FILETYPE_FLAC }; + #else enum { SND_FILETYPE_INCREMENTAL, SND_FILETYPE_WAV, SND_FILETYPE_AIFF, SND_FILETYPE_SND, SND_FILETYPE_PAF, SND_FILETYPE_SVX, *************** *** 229,232 **** --- 236,241 ---- SND_FILETYPE_WAV64, SND_FILETYPE_MAT4, SND_FILETYPE_MAT5, SND_FILETYPE_PVF, SND_FILETYPE_XI }; + #endif // #ifdef HAVE_SNDFILE_FLAC_SUPPORT + extern struct symbol sndTypes[]; |
|
From: Martin R. <ru...@us...> - 2007-04-04 14:36:07
|
Update of /cvsroot/foo/foo/libfoo/modules/banff In directory sc8-pr-cvs5.sourceforge.net:/tmp/cvs-serv18815/libfoo/modules/banff Modified Files: Makefile.am Log Message: added rudimentary flac support Index: Makefile.am =================================================================== RCS file: /cvsroot/foo/foo/libfoo/modules/banff/Makefile.am,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** Makefile.am 26 Aug 2004 09:50:22 -0000 1.1 --- Makefile.am 4 Apr 2007 14:36:04 -0000 1.2 *************** *** 16,19 **** --- 16,20 ---- if USE_GNUSTEP_BASE + include @GNUSTEP_MAKEFILES@/config.make include @GNUSTEP_MAKEFILES@/library-combo.make include @GNUSTEP_MAKEFILES@/common.make |
|
From: Martin R. <ru...@us...> - 2007-04-04 14:36:07
|
Update of /cvsroot/foo/foo/elkfoo In directory sc8-pr-cvs5.sourceforge.net:/tmp/cvs-serv18815/elkfoo Modified Files: configure.ac Log Message: added rudimentary flac support Index: configure.ac =================================================================== RCS file: /cvsroot/foo/foo/elkfoo/configure.ac,v retrieving revision 1.14 retrieving revision 1.15 diff -C2 -d -r1.14 -r1.15 *** configure.ac 30 Aug 2004 15:22:50 -0000 1.14 --- configure.ac 4 Apr 2007 14:36:03 -0000 1.15 *************** *** 113,116 **** --- 113,144 ---- AM_CONDITIONAL(USE_GNUSTEP_BASE, test "$use_gnustep_base" = yes) + # check for libsndfile + + # pkgconfig does not work on that great OS called OS X + # PKG_CHECK_MODULES(SNDFILE, sndfile >= 1.0.10) + + # do it "haendisch" + AC_CHECK_HEADERS(sndfile.h) + AC_CHECK_LIB(sndfile, sf_open, + [SNDFILE_LIBS="-lsndfile"], + [AC_MSG_ERROR([cannot find libsndfile])]) + + ELKFOO_CFLAGS="${ELKFOO_CFLAGS} ${SNDFILE_CFLAGS}" + ELKFOO_OBJCFLAGS="${ELKFOO_OBJCFLAGS} ${SNDFILE_CFLAGS}" + ELKFOO_LIBS="${ELKFOO_LIBS} ${SNDFILE_LIBS}" + + INCLUDES="${INCLUDES} -I\$(top_srcdir) -I\$(top_builddir)" + AC_SUBST(INCLUDES) + + # flac support via libsndfile? + AC_ARG_ENABLE(flac-support, + AC_HELP_STRING([--enable-flac-support], [use flac (requires libsndfile >= 1.0.12)]), + enable_flac_support=yes, enable_flac_support=no) + + if test ${enable_flac_support} = "yes"; then + # set flac support variable + AC_DEFINE(HAVE_SNDFILE_FLAC_SUPPORT, 1, Enable libsndfile flac support) + fi + # check for libelk AC_CHECK_HEADERS([fooelk/scheme.h], [have_elk=yes], [have_elk=no]) *************** *** 306,309 **** --- 334,338 ---- objective-c runtime: ${OBJC_RUNTIME} foundation framework: ${use_foundation} + libsndfile flac support: ${enable_flac_support} EOF |
|
From: Martin R. <ru...@us...> - 2007-04-04 14:36:07
|
Update of /cvsroot/foo/foo/libfoo/modules/orthodox In directory sc8-pr-cvs5.sourceforge.net:/tmp/cvs-serv18815/libfoo/modules/orthodox Modified Files: Makefile.am Log Message: added rudimentary flac support Index: Makefile.am =================================================================== RCS file: /cvsroot/foo/foo/libfoo/modules/orthodox/Makefile.am,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** Makefile.am 26 Aug 2005 19:40:50 -0000 1.2 --- Makefile.am 4 Apr 2007 14:36:04 -0000 1.3 *************** *** 76,79 **** --- 76,80 ---- if USE_GNUSTEP_BASE + include @GNUSTEP_MAKEFILES@/config.make include @GNUSTEP_MAKEFILES@/library-combo.make include @GNUSTEP_MAKEFILES@/common.make |
|
From: Martin R. <ru...@us...> - 2007-04-04 14:36:07
|
Update of /cvsroot/foo/foo/libfoo In directory sc8-pr-cvs5.sourceforge.net:/tmp/cvs-serv18815/libfoo Modified Files: configure.ac Log Message: added rudimentary flac support Index: configure.ac =================================================================== RCS file: /cvsroot/foo/foo/libfoo/configure.ac,v retrieving revision 1.15 retrieving revision 1.16 diff -C2 -d -r1.15 -r1.16 *** configure.ac 26 Aug 2004 09:51:05 -0000 1.15 --- configure.ac 4 Apr 2007 14:36:04 -0000 1.16 *************** *** 164,167 **** --- 164,177 ---- AC_SUBST(INCLUDES) + # flac support via libsndfile? + AC_ARG_ENABLE(flac-support, + AC_HELP_STRING([--enable-flac-support], [use flac (requires libsndfile >= 1.0.12)]), + enable_flac_support=yes, enable_flac_support=no) + + if test ${enable_flac_support} = "yes"; then + # set flac support variable + AC_DEFINE(HAVE_SNDFILE_FLAC_SUPPORT, 1, Enable libsndfile flac support) + fi + # workaround for automake <= 1.6 AC_SUBST(OBJC) *************** *** 196,199 **** --- 206,210 ---- objective-c runtime: ${OBJC_RUNTIME} foundation framework: ${use_foundation} + libsndfile flac support: ${enable_flac_support} EOF |
|
From: Martin R. <ru...@us...> - 2006-05-22 22:18:47
|
Update of /cvsroot/foo/foo/elkfoo/src In directory sc8-pr-cvs5.sourceforge.net:/tmp/cvs-serv29792/src Modified Files: snd.m soundfile.m Log Message: added 24-bit support for soundfiles ('pcm24 symbol) Index: soundfile.m =================================================================== RCS file: /cvsroot/foo/foo/elkfoo/src/soundfile.m,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -d -r1.8 -r1.9 *** soundfile.m 28 Feb 2005 16:37:18 -0000 1.8 --- soundfile.m 22 May 2006 22:18:35 -0000 1.9 *************** *** 131,134 **** --- 131,137 ---- s.format |= SF_FORMAT_PCM_16; break; + case SND_PCM24: + s.format |= SF_FORMAT_PCM_24; + break; case SND_LONG: s.format |= SF_FORMAT_PCM_32; *************** *** 250,253 **** --- 253,259 ---- ret = Intern("short"); break; + case SF_FORMAT_PCM_24: + ret = Intern("pcm24"); + break; case SF_FORMAT_PCM_32: ret = Intern("long"); Index: snd.m =================================================================== RCS file: /cvsroot/foo/foo/elkfoo/src/snd.m,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -d -r1.7 -r1.8 *** snd.m 20 Jun 2005 08:57:13 -0000 1.7 --- snd.m 22 May 2006 22:18:35 -0000 1.8 *************** *** 54,57 **** --- 54,58 ---- {"char", SND_CHAR}, {"short", SND_SHORT}, + {"pcm24", SND_PCM24}, {"long", SND_LONG}, {"float", SND_FLOAT}, *************** *** 210,222 **** t = sndTypes[2].name; break; ! case SF_FORMAT_PCM_32: t = sndTypes[3].name; break; ! case SF_FORMAT_FLOAT: t = sndTypes[4].name; break; ! case SF_FORMAT_DOUBLE: t = sndTypes[5].name; break; default: Primitive_Error("unknown sound file format: ~a", --- 211,226 ---- t = sndTypes[2].name; break; ! case SF_FORMAT_PCM_24: t = sndTypes[3].name; break; ! case SF_FORMAT_PCM_32: t = sndTypes[4].name; break; ! case SF_FORMAT_FLOAT: t = sndTypes[5].name; break; + case SF_FORMAT_DOUBLE: + t = sndTypes[6].name; + break; default: Primitive_Error("unknown sound file format: ~a", |
|
From: Martin R. <ru...@us...> - 2006-05-22 22:18:45
|
Update of /cvsroot/foo/foo/elkfoo/include In directory sc8-pr-cvs5.sourceforge.net:/tmp/cvs-serv29792/include Modified Files: elkfoo.h Log Message: added 24-bit support for soundfiles ('pcm24 symbol) Index: elkfoo.h =================================================================== RCS file: /cvsroot/foo/foo/elkfoo/include/elkfoo.h,v retrieving revision 1.9 retrieving revision 1.10 diff -C2 -d -r1.9 -r1.10 *** elkfoo.h 28 Feb 2005 16:37:17 -0000 1.9 --- elkfoo.h 22 May 2006 22:18:35 -0000 1.10 *************** *** 222,226 **** int Scheme_To_C_Symbol (SchemeObject sym, struct symbol *p); ! enum { SND_AUTO, SND_CHAR, SND_SHORT, SND_LONG, SND_FLOAT, SND_DOUBLE }; enum { SND_FILETYPE_INCREMENTAL, SND_FILETYPE_WAV, SND_FILETYPE_AIFF, --- 222,226 ---- int Scheme_To_C_Symbol (SchemeObject sym, struct symbol *p); ! enum { SND_AUTO, SND_CHAR, SND_SHORT, SND_PCM24, SND_LONG, SND_FLOAT, SND_DOUBLE }; enum { SND_FILETYPE_INCREMENTAL, SND_FILETYPE_WAV, SND_FILETYPE_AIFF, |
|
From: Martin R. <ru...@us...> - 2006-04-28 10:44:26
|
Update of /cvsroot/foo/foo/elkfoo In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv20201/elkfoo Modified Files: bootstrap Log Message: opened bootstrap for automake-1.{8,9} Index: bootstrap =================================================================== RCS file: /cvsroot/foo/foo/elkfoo/bootstrap,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** bootstrap 10 Aug 2004 20:10:33 -0000 1.3 --- bootstrap 28 Apr 2006 10:44:21 -0000 1.4 *************** *** 13,20 **** if test -z $1; then amvers="no" ! # if automake-1.8 --version >/dev/null 2>&1; then ! # amvers="-1.8" ! # elif automake-1.7 --version >/dev/null 2>&1; then ! if automake-1.7 --version >/dev/null 2>&1; then amvers="-1.7" elif automake-1.6 --version >/dev/null 2>&1; then --- 13,21 ---- if test -z $1; then amvers="no" ! if automake-1.9 --version >/dev/null 2>&1; then ! amvers="-1.9" ! elif automake-1.8 --version >/dev/null 2>&1; then ! amvers="-1.8" ! elif automake-1.7 --version >/dev/null 2>&1; then amvers="-1.7" elif automake-1.6 --version >/dev/null 2>&1; then |
|
From: Martin R. <ru...@us...> - 2006-04-28 10:44:26
|
Update of /cvsroot/foo/foo/libfoo In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv20201/libfoo Modified Files: bootstrap Log Message: opened bootstrap for automake-1.{8,9} Index: bootstrap =================================================================== RCS file: /cvsroot/foo/foo/libfoo/bootstrap,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** bootstrap 10 Aug 2004 03:16:10 -0000 1.5 --- bootstrap 28 Apr 2006 10:44:21 -0000 1.6 *************** *** 13,20 **** if test -z $1; then amvers="no" ! # if automake-1.8 --version >/dev/null 2>&1; then ! # amvers="-1.8" ! # elif automake-1.7 --version >/dev/null 2>&1; then ! if automake-1.7 --version >/dev/null 2>&1; then amvers="-1.7" elif automake-1.6 --version >/dev/null 2>&1; then --- 13,21 ---- if test -z $1; then amvers="no" ! if automake-1.9 --version >/dev/null 2>&1; then ! amvers="-1.9" ! elif automake-1.8 --version >/dev/null 2>&1; then ! amvers="-1.8" ! elif automake-1.7 --version >/dev/null 2>&1; then amvers="-1.7" elif automake-1.6 --version >/dev/null 2>&1; then |
|
From: Martin R. <ru...@us...> - 2006-04-28 10:44:26
|
Update of /cvsroot/foo/foo In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv20201 Modified Files: bootstrap Log Message: opened bootstrap for automake-1.{8,9} Index: bootstrap =================================================================== RCS file: /cvsroot/foo/foo/bootstrap,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** bootstrap 10 Aug 2004 03:16:10 -0000 1.4 --- bootstrap 28 Apr 2006 10:44:21 -0000 1.5 *************** *** 16,23 **** if test -z $1; then amvers="no" ! # if automake-1.8 --version >/dev/null 2>&1; then ! # amvers="-1.8" ! # elif automake-1.7 --version >/dev/null 2>&1; then ! if automake-1.7 --version >/dev/null 2>&1; then amvers="-1.7" elif automake-1.6 --version >/dev/null 2>&1; then --- 16,24 ---- if test -z $1; then amvers="no" ! if automake-1.9 --version >/dev/null 2>&1; then ! amvers="-1.9" ! elif automake-1.8 --version >/dev/null 2>&1; then ! amvers="-1.8" ! elif automake-1.7 --version >/dev/null 2>&1; then amvers="-1.7" elif automake-1.6 --version >/dev/null 2>&1; then |
|
From: Gerhard E. <gu...@us...> - 2006-04-08 00:07:47
|
Update of /cvsroot/foo/foo/elkfoo/scm In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv23274/elkfoo/scm Modified Files: foops.scm Log Message: fixed a reintroduced bug in define-method (mea culpa) Index: foops.scm =================================================================== RCS file: /cvsroot/foo/foo/elkfoo/scm/foops.scm,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** foops.scm 11 Aug 2004 12:35:11 -0000 1.1 --- foops.scm 8 Apr 2006 00:07:42 -0000 1.2 *************** *** 31,34 **** --- 31,45 ---- ;; + ;; we also provide oops in order to prevent loading + ;; oops.scm, which would redefine what is defined here + ;; + ;; as foops.scm is loaded in toplevel.foo, there + ;; is no way in foo to use to original oops.scm other than + ;; loading it explicitly with the load function + ;; + + (provide 'oops) + + ;; ;; global variable used to store an environment stack ;; enabling nested direct method invokation *************** *** 256,262 **** (error 'define-method "can't overload static method nonstaticaly")) (eval `(define ,method ! (lambda ,(oops-form-proper-args-list args) (apply (hack-procedure-environment! ! (lambda ,args ,@forms) (car oops-environment-stack)) (list ,@(oops-form-proper-args-list args))))) --- 267,273 ---- (error 'define-method "can't overload static method nonstaticaly")) (eval `(define ,method ! (lambda ,args (apply (hack-procedure-environment! ! (lambda ,(oops-form-proper-args-list args) ,@forms) (car oops-environment-stack)) (list ,@(oops-form-proper-args-list args))))) |
|
From: Martin R. <ru...@us...> - 2005-12-11 23:21:11
|
Update of /cvsroot/foo/foo/elkfoo/examples/scripts In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv8813 Modified Files: sndcat.foo Log Message: cleaned up, added parameters Index: sndcat.foo =================================================================== RCS file: /cvsroot/foo/foo/elkfoo/examples/scripts/sndcat.foo,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** sndcat.foo 12 Aug 2004 23:15:38 -0000 1.1 --- sndcat.foo 11 Dec 2005 23:21:03 -0000 1.2 *************** *** 1,43 **** ! #!/usr/local/bin/foo ;; sndcat: concatenate soundfiles ! ;; (c) 2004 rumori ! (if (< (length (command-line-args)) 3) ! (begin ! (format #t "usage: ~a <dest-file> <src-file> [<src-file> ...]\n" (car (command-line-args))) ! (quit))) ! (define dest-file (list-ref (command-line-args) 1)) ! (define source-files (cddr (command-line-args))) ! (define src-snds '()) ! (define (dest-dur source-file) ! (if (null? source-file) ! 0 ! (+ (soundfile-length (car source-file)) ! (dest-dur (cdr source-file))))) ! (define dest-channels (soundfile-channels (car source-files))) ! (define (cat-snd-channel snd channel offset) ! (output~ channel (time offset (read-snd~ (snd-extract snd channel)))) ! (if (> channel 1) ! (cat-snd-channel snd (1- channel) offset))) ! (define (cat-snd-file file offset) ! (cat-snd-channel (open-snd (car file)) dest-channels offset) ! (if (not (null? (cdr file))) ! (cat-snd-file (cdr file) (+ offset (soundfile-length (car file)))))) ! (define (sndcat) ! (cat-snd-file source-files 0)) ! (define cat-context ! (context dest-channels (sndcat))) ! (create-soundfile dest-file 'short dest-channels (foo-default-srate) 'aiff) ! (define cat-task (make-task 0 0 dest-file cat-context)) ! (run-task cat-task (dest-dur source-files)) --- 1,149 ---- ! #!/usr/local/bin/foo -- ;; sndcat: concatenate soundfiles ! ;; (c) 2004-2005 rumori ! (require 'cmdline) ! (let* ! ;; check commandline ! ;; single-opt or equiv-opts-list | mandatory? | with-params? | help-string ! ((option-list '((("--help" "-h") #f #f "this help screen") ! (("--outfile" "-o") #t #t "output file") ! (("--type" "-t") #f #t "output file type [guessed from extension]") ! (("--sformat" "-s") #f #t "output file sample format [1st input file]") ! (("--srate" "-r") #f #t "output file sample rate [1st input file]") ! (("--channels" "-c") #f #t "output file channels [1st input file]") ! (("--quality" "-q") #f #t "resampling quality (2...50) [16]") ! (("--gap" "-g") #f #t "insert gap between concatenated soundfiles [0s]") ! (("--force" "-f") #f #f "overwrite output file if existing"))) ! (help ! (lambda () ! (format #t "~a: concatenate soundfiles~%" (car (foo:script-args))) ! (format #t "usage: ~a [options] -o outfile infile [infile ...]~%options understood:~%" (car (foo:script-args))) ! (format #t "~a~%" (cmdline:help-message option-list)) ! (exit))) ! (infiles) ! (outfile) ! (type) ! (format) ! (srate) ! (channels) ! (gap 0) ! (c) ; context ! (t) ; task ! (maxdur) ; overall duration ! ) ! ;; help requested? ! (if (cmdline:option-given? (foo:script-args) option-list "--help") ! (help)) ! ;; validate cmdline ! (if (not (cmdline:cmdline-valid? (foo:script-args) option-list #t)) ! (help)) ! ;; get parameters (take in account just 1st param of each option) ! ;; input files ! (set! infiles (cmdline:get-arguments (cdr (foo:script-args)) option-list)) ! (if (null? infiles) ! (begin ! (display "no input files given on commandline!") ! (newline) ! (help)) ! (letrec ! ((exists (lambda (files) ! (cond ((null? files) #f) ! ((file-exists? (car files)) (exists (cdr files))) ! (else ! (display (string-append "input file not found: " (car files))) ! (newline) ! (exit)))))) ! (exists infiles))) ! ! ;; outfile name ! (set! outfile (car (cmdline:get-option-param (foo:script-args) option-list "--outfile"))) ! ;; filetype ! (if (cmdline:option-given? (foo:script-args) option-list "--type") ! (set! type (string->symbol (car (cmdline:get-option-param (foo:script-args) option-list "--type")))) ! (set! type ! ;; guess type from extension ! (let* ! ((rev (list->string (reverse! (string->list outfile)))) ! (guess (substring? "." rev)) ! (ext (if guess ! (foo:soundfile-extension-type (list->string (reverse! (string->list (substring rev 0 (1+ guess)))))) ! #f))) ! (if ext ! ext ! (soundfile-filetype (car infiles)))))) ! ! ;; sample format ! (if (cmdline:option-given? (foo:script-args) option-list "--sformat") ! (set! format (string->symbol (car (cmdline:get-option-param (foo:script-args) option-list "--sformat")))) ! (set! format (soundfile-format (car infiles)))) ! ;; samplerate ! (if (cmdline:option-given? (foo:script-args) option-list "--srate") ! (set! srate (string->number (car (cmdline:get-option-param (foo:script-args) option-list "--srate")))) ! (set! srate (soundfile-srate (car infiles)))) ! ;; channels ! (if (cmdline:option-given? (foo:script-args) option-list "--channels") ! (set! channels (string->number (car (cmdline:get-option-param (foo:script-args) option-list "--channels")))) ! (set! channels (soundfile-channels (car infiles)))) ! ;; taps ! (if (cmdline:option-given? (foo:script-args) option-list "--quality") ! (let ((taps (* 2 (inexact->exact (/ (string->number (car (cmdline:get-option-param (foo:script-args) option-list "--quality"))) 2))))) ! (cond ((< taps 4) (set! taps 4)) ! ((> taps 50) (set! taps 50))) ! (foo:set-default-taps! taps)) ! (foo:set-default-taps! 16)) ! ! ;; gap ! (if (cmdline:option-given? (foo:script-args) option-list "--gap") ! (set! gap (string->number (car (cmdline:get-option-param (foo:script-args) option-list "--gap"))))) ! ! (set! maxdur (- gap)) ;; remove "trailing" gap after last sndfile ! ! ;; prepare context ! (set! c (context channels)) ! ! (letrec ! ((cat-channel (lambda (snd chan off dur) ! (if (> chan 0) ! (begin ! (if (>= (snd-channels snd) chan) ! ;; do the actual work per channel ! (output~ chan (time off (gate~ (read-snd~ (snd-extract snd chan)) dur)))) ! (cat-channel snd (1- chan) off dur))))) ! ! (cat-file (lambda (files lastoff) ! (if (not (null? files)) ! (let* ! ((snd (open-snd (car files))) ! (dur (snd-length snd))) ! (set! maxdur (+ maxdur dur gap)) ! (cat-channel snd channels lastoff dur) ! (cat-file (cdr files) (+ lastoff dur gap))))))) ! ! (with-context c (lambda () (cat-file infiles 0)))) ! ! ;; soundfile ! (if (cmdline:option-given? (foo:script-args) option-list "--force") ! (create-soundfile outfile type format srate channels) ! (make-soundfile outfile type format srate channels)) ! ! ;; task ! (set! t (make-task 0 0 outfile c 'punch srate)) ! ! ;; do it ! (run-task t maxdur) ! ! (quit)) ! ! ;; EOF |
|
From: Martin R. <ru...@us...> - 2005-12-11 10:35:50
|
Update of /cvsroot/foo/fooelk/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv25032 Modified Files: cont.c Log Message: revoked amd64-bit-"fix" in order to pass continuation test Index: cont.c =================================================================== RCS file: /cvsroot/foo/fooelk/src/cont.c,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** cont.c 12 Nov 2005 19:09:12 -0000 1.2 --- cont.c 11 Dec 2005 10:35:42 -0000 1.3 *************** *** 114,121 **** */ unsigned int Stack_Size () { ! char foo; ! char *pfoo; ! return Stack_Grows_Down ? stkbase-pfoo : pfoo-stkbase; } --- 114,120 ---- */ unsigned int Stack_Size () { ! char foo; ! return Stack_Grows_Down ? stkbase-&foo : &foo-stkbase; } |
|
From: Martin R. <ru...@us...> - 2005-11-12 19:09:22
|
Update of /cvsroot/foo/fooelk/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv23355/src Modified Files: cont.c Log Message: integrate minor changes from the standard-elk-distribution. workaround for gcc on amd64. support automake-1.8 and -1.9 in bootstrap. Index: cont.c =================================================================== RCS file: /cvsroot/foo/fooelk/src/cont.c,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -C2 -d -r1.1.1.1 -r1.2 *** cont.c 6 Aug 2004 20:56:42 -0000 1.1.1.1 --- cont.c 12 Nov 2005 19:09:12 -0000 1.2 *************** *** 115,120 **** unsigned int Stack_Size () { char foo; ! return Stack_Grows_Down ? stkbase-&foo : &foo-stkbase; } --- 115,121 ---- unsigned int Stack_Size () { char foo; + char *pfoo; ! return Stack_Grows_Down ? stkbase-pfoo : pfoo-stkbase; } |
|
From: Martin R. <ru...@us...> - 2005-11-12 19:09:22
|
Update of /cvsroot/foo/fooelk In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv23355 Modified Files: bootstrap Log Message: integrate minor changes from the standard-elk-distribution. workaround for gcc on amd64. support automake-1.8 and -1.9 in bootstrap. Index: bootstrap =================================================================== RCS file: /cvsroot/foo/fooelk/bootstrap,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** bootstrap 10 Aug 2004 02:28:40 -0000 1.2 --- bootstrap 12 Nov 2005 19:09:12 -0000 1.3 *************** *** 15,19 **** # Check for automake amvers="no" ! if automake-1.7 --version >/dev/null 2>&1; then amvers="-1.7" elif automake-1.6 --version >/dev/null 2>&1; then --- 15,23 ---- # Check for automake amvers="no" ! if automake-1.9 --version >/dev/null 2>&1; then ! amvers="-1.9" ! elif automake-1.8 --version >/dev/null 2>&1; then ! amvers="-1.8" ! elif automake-1.7 --version >/dev/null 2>&1; then amvers="-1.7" elif automake-1.6 --version >/dev/null 2>&1; then |
|
From: Gerhard E. <gu...@us...> - 2005-08-26 19:40:58
|
Update of /cvsroot/foo/foo/libfoo/modules/orthodox In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv1133/libfoo/modules/orthodox Modified Files: Makefile.am Log Message: integrated new kill-dc module (which differs from an ordinary high pass in that it automatically initializes the filter's state with the first sample in the signal in order to avoid discontinuities) Index: Makefile.am =================================================================== RCS file: /cvsroot/foo/foo/libfoo/modules/orthodox/Makefile.am,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** Makefile.am 1 Aug 2004 02:13:01 -0000 1.1 --- Makefile.am 26 Aug 2005 19:40:50 -0000 1.2 *************** *** 37,40 **** --- 37,42 ---- FOOMInteg.h \ FOOMInteg.m \ + FOOMKillDC.h \ + FOOMKillDC.m \ FOOMLine.h \ FOOMLine.m \ |
|
From: Gerhard E. <gu...@us...> - 2005-08-26 19:40:58
|
Update of /cvsroot/foo/foo/elkfoo/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv1133/elkfoo/src Modified Files: modules.m Log Message: integrated new kill-dc module (which differs from an ordinary high pass in that it automatically initializes the filter's state with the first sample in the signal in order to avoid discontinuities) Index: modules.m =================================================================== RCS file: /cvsroot/foo/foo/elkfoo/src/modules.m,v retrieving revision 1.9 retrieving revision 1.10 diff -C2 -d -r1.9 -r1.10 *** modules.m 20 Jun 2005 08:57:13 -0000 1.9 --- modules.m 26 Aug 2005 19:40:50 -0000 1.10 *************** *** 53,56 **** --- 53,57 ---- #include "FOOMGate.h" #include "FOOMInteg.h" + #include "FOOMKillDC.h" #include "FOOMLine.h" #include "FOOMLookup.h" *************** *** 632,635 **** --- 633,654 ---- static SchemeObject + P_Make_KillDC (SchemeObject in, + SchemeObject coef) + { + SchemeObject module; + double p[1]; + id input; + + p[0] = Get_Double(coef); + input = A_Get_Input(in); + module = A_Make_Module([FOOMKillDC class]); + [IdOf(module) initializeParams:p]; + [IdOf(module) connectInput:0 to:input]; + + return A_Make_Terminal_Signal(module, 0, 0.); + } + + + static SchemeObject P_Make_Line (SchemeObject start, SchemeObject end, *************** *** 1337,1340 **** --- 1356,1360 ---- DP(P_Make_Gate, "foo:make-gate", 1, 2, VARARGS); DP(P_Make_Integ, "foo:make-integ", 1, 1, EVAL); + DP(P_Make_KillDC, "foo:make-killdc", 2, 2, EVAL); DP(P_Make_Line, "foo:make-line", 3, 3, EVAL); DP(P_Make_LookupSnd, "foo:make-lookup-snd", 2, 3, VARARGS); |
|
From: Gerhard E. <gu...@us...> - 2005-08-26 19:40:58
|
Update of /cvsroot/foo/foo/elkfoo/scm/kernel In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv1133/elkfoo/scm/kernel Modified Files: elkfoo.scm Log Message: integrated new kill-dc module (which differs from an ordinary high pass in that it automatically initializes the filter's state with the first sample in the signal in order to avoid discontinuities) Index: elkfoo.scm =================================================================== RCS file: /cvsroot/foo/foo/elkfoo/scm/kernel/elkfoo.scm,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -d -r1.7 -r1.8 *** elkfoo.scm 26 Jan 2005 23:19:51 -0000 1.7 --- elkfoo.scm 26 Aug 2005 19:40:50 -0000 1.8 *************** *** 110,113 **** --- 110,114 ---- (define gate~ foo:make-gate) (define integ~ foo:make-integ) + (define killdc~ foo:make-killdc) (define line~ foo:make-line) (define lookup-snd~ foo:make-lookup-snd) |
|
From: Gerhard E. <gu...@us...> - 2005-08-26 19:32:33
|
Update of /cvsroot/foo/foo/libfoo/modules/orthodox In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv32253 Added Files: FOOMKillDC.h FOOMKillDC.m Log Message: new kill-dc module --- NEW FILE: FOOMKillDC.m --- /* -*-Mode:objc-*- */ /* * FOOMKillDC.m * * module kill dc * */ /* * foo sound synthesis system * * (C) 1993-2005 Gerhard Eckel, Ramon Gonzalez-Arroyo * (C) 2003-2005 Martin Rumori * (C) 1993-1996 IRCAM, ZKM */ /* * This file is part of foo. * * foo is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 of the License, or (at your option) any later version. * * foo is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with foo; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ /* $Id: FOOMKillDC.m,v 1.1 2005/08/26 19:32:25 gurx Exp $ */ #include "FOOMKillDC.h" #include <math.h> #define INFINITE_TAIL 2147483647 // 2^31-1 samples => ~12 hours at 50 kHz @implementation FOOMKillDC - initializeParams: (double*)p { _coef = p[0]; _xm = 0; _ym = 0; _first = YES; return self; } - reset { [super reset]; _xm = 0; _ym = 0; _first = YES; return self; } - (BOOL) activate { _active = NO; if (INPUTS == 0) { return _active; } if ([INPUT(0) activate] == YES) { _tail = INFINITE_TAIL; _active = YES; } else if (_tail > 0) { if (_tail == INFINITE_TAIL) { _tail = INFINITE_TAIL; // calculate tail here, now infinite ! } else { _tail -= BLOCKSIZE; } _active = YES; } else { _active = NO; } return _active; } - (BOOL) compute { sample_t *in, *out, y; double coef, xmt, ymt, offt, val; int n; id m ; COMPUTE_PROLOGUE; n = BLOCKSIZE; m = INPUT(0); [m compute]; in = DATA_OF_MOD(m); out = DATA_OF_BUF(_buffer); if (_first == YES) { _first = NO; _off = *in; } coef = _coef; offt = _off; xmt = _xm; ymt = _ym; while (n--) { val = *in++ - offt; y = val - xmt + coef * ymt; xmt = val; ymt = y; *out++ = y; } _xm = xmt; _ym = ymt; COMPUTE_EPILOGUE; } /* * archiving methods */ - (void) encodeWithCoder: (NSCoder *)coder { [super encodeWithCoder: coder]; if ([coder allowsKeyedCoding]) { [coder encodeDouble: _coef forKey: @"FOOMKillDC:coef"]; } else { [coder encodeValueOfObjCType: @encode(double) at: &_coef]; } return; } - (id) initWithCoder: (NSCoder *)coder { self = [super initWithCoder: coder]; if ([coder allowsKeyedCoding]) { _coef = [coder decodeDoubleForKey: @"FOOMKillDC:coef"]; } else { [coder decodeValueOfObjCType: @encode(double) at: &_coef]; } return self; } @end --- NEW FILE: FOOMKillDC.h --- /* -*-Mode:objc-*- */ /* * FOOMKillDC.h * * module kill dc * */ /* * foo sound synthesis system * * (C) 1993-2005 Gerhard Eckel, Ramon Gonzalez-Arroyo * (C) 2003-2005 Martin Rumori * (C) 1993-1996 IRCAM, ZKM */ /* * This file is part of foo. * * foo is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 of the License, or (at your option) any later version. * * foo is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with foo; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ /* $Id: FOOMKillDC.h,v 1.1 2005/08/26 19:32:25 gurx Exp $ */ #ifndef FOOM_FOOMKillDC_H_INCLUDED #define FOOM_FOOMKillDC_H_INCLUDED #include <FOO/FOOEagerModule.h> @interface FOOMKillDC : FOOEagerModule <NSCoding> { double _coef; double _xm, _ym; int _tail; int _first; double _off; } - initializeParams: (double*)p; @end #endif /* #ifndef FOOM_FOOMKillDC_H_INCLUDED */ |
|
From: Martin R. <ru...@us...> - 2005-06-25 13:21:05
|
Update of /cvsroot/foo/foo/libfoo/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv9026/src Modified Files: FOOBuffer.m FOOBufferManager.m FOOContext.m FOOOutputManager.m Log Message: fixed second (final?) series of reference counting related objc memory leaks Index: FOOOutputManager.m =================================================================== RCS file: /cvsroot/foo/foo/libfoo/src/FOOOutputManager.m,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** FOOOutputManager.m 28 Feb 2005 16:37:22 -0000 1.4 --- FOOOutputManager.m 25 Jun 2005 13:20:56 -0000 1.5 *************** *** 52,55 **** --- 52,58 ---- _context = aContext; _filename = nil; + _buffers = nil; + _caches = nil; + _outputs = nil; _channels = [_context getNumberOfChannels]; *************** *** 64,77 **** RELEASE(_filename); } ! if (_buffers != NULL) { [_buffers removeAllObjects]; RELEASE(_buffers); } ! if (_caches != NULL) { [_caches removeAllObjects]; RELEASE(_caches); } [super dealloc]; } --- 67,85 ---- RELEASE(_filename); } ! if (_buffers != nil) { [_buffers removeAllObjects]; RELEASE(_buffers); } ! if (_caches != nil) { [_caches removeAllObjects]; RELEASE(_caches); } + if (_outputs != nil) + { + [_outputs removeAllObjects]; + RELEASE(_outputs); + } [super dealloc]; } *************** *** 160,164 **** for (i = 0; i < _channels; ++i) { ! [_buffers addObject: [[FOOBuffer allocWithZone:[self zone]] initWithSize: s]]; } --- 168,172 ---- for (i = 0; i < _channels; ++i) { ! [_buffers addObject: [FOOBuffer bufferWithSize: s]]; } *************** *** 182,186 **** for (i = 0; i < _channels; ++i) { ! [_caches addObject: [[FOOBuffer allocWithZone:[self zone]] initWithSize: s]]; } --- 190,194 ---- for (i = 0; i < _channels; ++i) { ! [_caches addObject: [FOOBuffer bufferWithSize: s]]; } *************** *** 204,208 **** for (i = 0; i < _channels; ++i) { ! [_outputs addObject: [[FOOBuffer allocWithZone:[self zone]] initWithSize: s]]; } --- 212,216 ---- for (i = 0; i < _channels; ++i) { ! [_outputs addObject: [FOOBuffer bufferWithSize: s]]; } Index: FOOBufferManager.m =================================================================== RCS file: /cvsroot/foo/foo/libfoo/src/FOOBufferManager.m,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** FOOBufferManager.m 28 Feb 2005 16:37:22 -0000 1.5 --- FOOBufferManager.m 25 Jun 2005 13:20:56 -0000 1.6 *************** *** 70,74 **** for (i = [_objects count]; i <= index; ++i) { ! [_objects addObject: [[FOOBuffer allocWithZone: zone] initWithSize: _bufferSize]]; } --- 70,74 ---- for (i = [_objects count]; i <= index; ++i) { ! [_objects addObject: [FOOBuffer bufferWithSize: _bufferSize]]; } Index: FOOBuffer.m =================================================================== RCS file: /cvsroot/foo/foo/libfoo/src/FOOBuffer.m,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** FOOBuffer.m 28 Feb 2005 16:37:22 -0000 1.3 --- FOOBuffer.m 25 Jun 2005 13:20:55 -0000 1.4 *************** *** 42,45 **** --- 42,57 ---- @implementation FOOBuffer + + (FOOBuffer *) buffer + { + return AUTORELEASE([[self allocWithZone: NSDefaultMallocZone()] init]); + } + + + + (FOOBuffer *) bufferWithSize: (unsigned int)samples + { + return AUTORELEASE([[self allocWithZone: NSDefaultMallocZone()] initWithSize: samples]); + } + + - (FOOBuffer *) init { Index: FOOContext.m =================================================================== RCS file: /cvsroot/foo/foo/libfoo/src/FOOContext.m,v retrieving revision 1.9 retrieving revision 1.10 diff -C2 -d -r1.9 -r1.10 *** FOOContext.m 20 Jun 2005 08:57:14 -0000 1.9 --- FOOContext.m 25 Jun 2005 13:20:56 -0000 1.10 *************** *** 179,183 **** { RELEASE([_moduleManager removeAllObjects]); - // RELEASE(_eagerModuleManager); RELEASE([_eagerModuleManager removeAllObjects]); RELEASE([_substrateManager removeAllObjects]); --- 179,182 ---- |
|
From: Martin R. <ru...@us...> - 2005-06-25 13:21:04
|
Update of /cvsroot/foo/foo/libfoo/FOO In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv9026/FOO Modified Files: FOOBuffer.h Log Message: fixed second (final?) series of reference counting related objc memory leaks Index: FOOBuffer.h =================================================================== RCS file: /cvsroot/foo/foo/libfoo/FOO/FOOBuffer.h,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** FOOBuffer.h 28 Feb 2005 16:37:19 -0000 1.3 --- FOOBuffer.h 25 Jun 2005 13:20:55 -0000 1.4 *************** *** 53,57 **** } ! - (FOOBuffer *) initWithSize: (unsigned int)size; - (unsigned int) count; --- 53,60 ---- } ! + (FOOBuffer *) buffer; ! + (FOOBuffer *) bufferWithSize: (unsigned int)samples; ! ! - (FOOBuffer *) initWithSize: (unsigned int)samples; - (unsigned int) count; |
|
From: Martin R. <ru...@us...> - 2005-06-20 08:57:24
|
Update of /cvsroot/foo/foo/libfoo/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv26447/libfoo/src Modified Files: FOOContext.m FOORegion.m FOOSoundStream.m Log Message: fixed first series of refcounting related potential memory leaks. other yet to follow Index: FOORegion.m =================================================================== RCS file: /cvsroot/foo/foo/libfoo/src/FOORegion.m,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** FOORegion.m 28 Feb 2005 16:37:22 -0000 1.5 --- FOORegion.m 20 Jun 2005 08:57:14 -0000 1.6 *************** *** 57,61 **** FOO_ERROR(YES, self); } ! _substrate = substrate; // RETAIN? _offset = rint(off * [substrate getSamplingRate]); _size = rint(siz * [substrate getSamplingRate]); --- 57,61 ---- FOO_ERROR(YES, self); } ! _substrate = RETAIN(substrate); // RETAIN? _offset = rint(off * [substrate getSamplingRate]); _size = rint(siz * [substrate getSamplingRate]); *************** *** 70,73 **** --- 70,80 ---- + - (void) dealloc + { + RELEASE(_substrate); + [super dealloc]; + } //dealloc + + - (BOOL) getSamples: (sample_t *)buffer offset: (long)off Index: FOOContext.m =================================================================== RCS file: /cvsroot/foo/foo/libfoo/src/FOOContext.m,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -d -r1.8 -r1.9 *** FOOContext.m 28 Feb 2005 16:37:22 -0000 1.8 --- FOOContext.m 20 Jun 2005 08:57:14 -0000 1.9 *************** *** 112,118 **** RELEASE(unarchiver); - // by the way - [FOOGlobalsManager recycleAutoreleasePool]; - return self; } --- 112,115 ---- *************** *** 175,181 **** _locked = NO; - // by the way - [FOOGlobalsManager recycleAutoreleasePool]; - return self; } --- 172,175 ---- *************** *** 185,193 **** { RELEASE([_moduleManager removeAllObjects]); ! RELEASE(_eagerModuleManager); RELEASE([_substrateManager removeAllObjects]); RELEASE([_volatileBufferManager removeAllObjects]); RELEASE([_sharedBufferManager removeAllObjects]); RELEASE([_outputManager removeAllObjects]); [super dealloc]; } --- 179,189 ---- { RELEASE([_moduleManager removeAllObjects]); ! // RELEASE(_eagerModuleManager); ! RELEASE([_eagerModuleManager removeAllObjects]); RELEASE([_substrateManager removeAllObjects]); RELEASE([_volatileBufferManager removeAllObjects]); RELEASE([_sharedBufferManager removeAllObjects]); RELEASE([_outputManager removeAllObjects]); + RELEASE(_nilModule); [super dealloc]; } Index: FOOSoundStream.m =================================================================== RCS file: /cvsroot/foo/foo/libfoo/src/FOOSoundStream.m,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** FOOSoundStream.m 28 Feb 2005 16:37:22 -0000 1.5 --- FOOSoundStream.m 20 Jun 2005 08:57:14 -0000 1.6 *************** *** 51,55 **** FOO_ERROR(YES, self); } ! _soundFile = (FOOSoundFile *)substrate; // RETAIN? _channelNumber = channel - 1; if (_channelNumber < 0 || _channelNumber >= [_soundFile getChannelCount]) --- 51,55 ---- FOO_ERROR(YES, self); } ! _soundFile = RETAIN((FOOSoundFile *)substrate); // RETAIN? _channelNumber = channel - 1; if (_channelNumber < 0 || _channelNumber >= [_soundFile getChannelCount]) *************** *** 62,65 **** --- 62,72 ---- + - (void) dealloc + { + RELEASE(_soundFile); + [super dealloc]; + } // dealloc + + - (BOOL) getSamples: (sample_t *)b offset:(long)o |
|
From: Martin R. <ru...@us...> - 2005-06-20 08:57:24
|
Update of /cvsroot/foo/foo/elkfoo/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv26447/elkfoo/src Modified Files: bpf.m context.m defaults.m module.m modules.m snd.m task.m Log Message: fixed first series of refcounting related potential memory leaks. other yet to follow Index: context.m =================================================================== RCS file: /cvsroot/foo/foo/elkfoo/src/context.m,v retrieving revision 1.10 retrieving revision 1.11 diff -C2 -d -r1.10 -r1.11 *** context.m 28 Feb 2005 16:37:18 -0000 1.10 --- context.m 20 Jun 2005 08:57:13 -0000 1.11 *************** *** 152,155 **** --- 152,158 ---- Kill_Context(context); + /* rumori 2005-06-19: free objc garbage */ + [FOOGlobalsManager recycleAutoreleasePool]; + return True; } *************** *** 161,164 **** --- 164,170 ---- Terminate_Type(T_Context); + /* rumori 2005-06-19: free objc garbage */ + [FOOGlobalsManager recycleAutoreleasePool]; + return True; } *************** *** 194,197 **** --- 200,206 ---- GC_Unlink; + /* rumori 2005-06-19: free objc garbage */ + [FOOGlobalsManager recycleAutoreleasePool]; + return context; } Index: module.m =================================================================== RCS file: /cvsroot/foo/foo/elkfoo/src/module.m,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -d -r1.7 -r1.8 *** module.m 28 Feb 2005 16:37:18 -0000 1.7 --- module.m 20 Jun 2005 08:57:13 -0000 1.8 *************** *** 91,95 **** module = Alloc_Object(sizeof(struct S_Module), T_Module, 0); GC_Link(module); ! MODULE_T(module)->pointer = [[class alloc] init]; MODULE_T(module)->type = Null; MODULE_T(module)->context = Get_Context(); --- 91,96 ---- module = Alloc_Object(sizeof(struct S_Module), T_Module, 0); GC_Link(module); ! /* rumori 2005-06-19: avoid memleak, therefore AUTORELEASE */ ! MODULE_T(module)->pointer = AUTORELEASE([[class alloc] init]); MODULE_T(module)->type = Null; MODULE_T(module)->context = Get_Context(); Index: modules.m =================================================================== RCS file: /cvsroot/foo/foo/elkfoo/src/modules.m,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -d -r1.8 -r1.9 *** modules.m 28 Feb 2005 16:37:18 -0000 1.8 --- modules.m 20 Jun 2005 08:57:13 -0000 1.9 *************** *** 230,234 **** if (!Truep(Signal_Constantp(signal))) { ! return signal; } } --- 230,234 ---- if (!Truep(Signal_Constantp(signal))) { ! return signal; } } *************** *** 252,256 **** if (sum != 0) { ! input = [[[FOOMConstant alloc] init] setValue:sum]; [adder connectInput:count++ to:input]; } --- 252,257 ---- if (sum != 0) { ! /* rumori 2005-06-19: avoid memleak, therefore AUTORELEASE */ ! input = AUTORELEASE([[[FOOMConstant alloc] init] setValue:sum]); [adder connectInput:count++ to:input]; } *************** *** 493,497 **** if (quo != 1.) { ! input = [[[FOOMConstant alloc] init] setValue:quo]; [divider connectInput:count++ to:input]; } --- 494,499 ---- if (quo != 1.) { ! /* rumori 2005-06-19: avoid memleak, therefore AUTORELEASE */ ! input = AUTORELEASE([[[FOOMConstant alloc] init] setValue:quo]); [divider connectInput:count++ to:input]; } *************** *** 751,755 **** if (pro != 1.) { ! input = [[[FOOMConstant alloc] init] setValue:pro]; [multiplier connectInput:count++ to:input]; } --- 753,758 ---- if (pro != 1.) { ! /* rumori 2005-06-19: avoid memleak, therefore AUTORELEASE */ ! input = AUTORELEASE([[[FOOMConstant alloc] init] setValue:pro]); [multiplier connectInput:count++ to:input]; } *************** *** 1167,1171 **** if (dif != 0) { ! input = [[[FOOMConstant alloc] init] setValue:dif]; [subtracter connectInput:count++ to:input]; } --- 1170,1175 ---- if (dif != 0) { ! /* rumori 2005-06-19: avoid memleak, therefore AUTORELEASE */ ! input = AUTORELEASE([[[FOOMConstant alloc] init] setValue:dif]); [subtracter connectInput:count++ to:input]; } Index: task.m =================================================================== RCS file: /cvsroot/foo/foo/elkfoo/src/task.m,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -d -r1.7 -r1.8 *** task.m 28 Feb 2005 16:37:18 -0000 1.7 --- task.m 20 Jun 2005 08:57:13 -0000 1.8 *************** *** 182,185 **** --- 182,188 ---- // Alloca_End; + /* rumori 2005-06-19: free objc garbage */ + [FOOGlobalsManager recycleAutoreleasePool]; + return task; } *************** *** 370,373 **** --- 373,379 ---- // Alloca_End; + /* rumori 2005-06-19: free objc garbage */ + [FOOGlobalsManager recycleAutoreleasePool]; + return Make_Reduced_Flonum(done / TASK_T(task)->samplingrate); } Index: defaults.m =================================================================== RCS file: /cvsroot/foo/foo/elkfoo/src/defaults.m,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** defaults.m 28 Feb 2005 16:37:18 -0000 1.4 --- defaults.m 20 Jun 2005 08:57:13 -0000 1.5 *************** *** 91,94 **** --- 91,103 ---- + static SchemeObject + P_Autorelease_Pool () + { + [FOOGlobalsManager recycleAutoreleasePool]; + + return True; + } + + #define DP Define_Primitive *************** *** 103,106 **** --- 112,118 ---- DP(P_Set_Default_Bsize, "foo:set-default-bsize!", 1, 1, EVAL); + // experimental + DP(P_Autorelease_Pool, "foo:autorelease-pool", 0, 0, EVAL); + P_Provide(Intern("defaults")); } Index: bpf.m =================================================================== RCS file: /cvsroot/foo/foo/elkfoo/src/bpf.m,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -d -r1.8 -r1.9 *** bpf.m 28 Feb 2005 16:37:18 -0000 1.8 --- bpf.m 20 Jun 2005 08:57:13 -0000 1.9 *************** *** 86,90 **** } GC_Link(points); ! bpf = A_Make_Bpf([[FOOBreakpointFunction alloc] init]); GC_Unlink; zone = [IdOf(bpf) zone]; --- 86,91 ---- } GC_Link(points); ! /* rumori 2005-06-19: avoid memleak, therefore AUTORELEASE */ ! bpf = A_Make_Bpf(AUTORELEASE([[FOOBreakpointFunction alloc] init])); GC_Unlink; zone = [IdOf(bpf) zone]; Index: snd.m =================================================================== RCS file: /cvsroot/foo/foo/elkfoo/src/snd.m,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** snd.m 28 Feb 2005 16:37:18 -0000 1.6 --- snd.m 20 Jun 2005 08:57:13 -0000 1.7 *************** *** 108,112 **** snd = Alloc_Object(sizeof(struct S_Snd), T_Snd, 0); ! SND_T(snd)->pointer = [[class alloc] init]; /* * for GC: as long as a snd exists it's context will also --- 108,118 ---- snd = Alloc_Object(sizeof(struct S_Snd), T_Snd, 0); ! ! /* rumori 2005-06-19: we have to take of the refcount of the object: ! * context takes care of deletion. therefore added AUTORELEASE. ! * otherwise we would have to release the object on GC as well in ! * finalizer (would be cleaner, but much more work) ! */ ! SND_T(snd)->pointer = AUTORELEASE([[class alloc] init]); /* * for GC: as long as a snd exists it's context will also |