From b85f8bc7af3fda0f31af1c79a9f25145b8004705 Mon Sep 17 00:00:00 2001 From: Tim Blechmann Date: Tue, 3 Aug 2004 09:56:19 +0000 Subject: works of one morning svn path=/trunk/externals/tb/; revision=1906 --- sc4pd/source/DelayUnit.hpp | 58 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 58 insertions(+) create mode 100644 sc4pd/source/DelayUnit.hpp (limited to 'sc4pd/source/DelayUnit.hpp') diff --git a/sc4pd/source/DelayUnit.hpp b/sc4pd/source/DelayUnit.hpp new file mode 100644 index 0000000..d794031 --- /dev/null +++ b/sc4pd/source/DelayUnit.hpp @@ -0,0 +1,58 @@ +/* sc4pd + public class for several delay objects + + Copyright (c) 2004 Tim Blechmann. + + This code is derived from: + SuperCollider real time audio synthesis system + Copyright (c) 2002 James McCartney. All rights reserved. + http://www.audiosynth.com + + + This program is free software; you can redistribute it and/or + modify it under the terms of the GNU General Public License + as published by the Free Software Foundation; either version 2 + of the License, or (at your option) any later version. + + This program 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 General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + Based on: + PureData by Miller Puckette and others. + http://www.crca.ucsd.edu/~msp/software.html + FLEXT by Thomas Grill + http://www.parasitaere-kapazitaeten.net/ext + SuperCollider by James McCartney + http://www.audiosynth.com + + Coded while listening to: + +*/ + +#include "sc4pd.hpp" + +class DelayUnit_ar : public flext_dsp +{ + FLEXT_HEADER(DelayUnit_ar, flext_dsp); +public: + /* functions */ + void DelayUnit_AllocDelayLine(); + void DelayUnit_Reset(float maxdelaytime, float delaytime); + float CalcDelay(float delaytime); + void DelayUnit_Dtor(); + + /* data */ + float *m_dlybuf; + float m_dsamp, m_fdelaylen; + float m_delaytime, m_maxdelaytime; + long m_iwrphase, m_idelaylen, m_mask; + long m_numoutput; +}; + +/* todo: a delay for control messages? */ -- cgit v1.2.1 From f91b27f71b88c45202afe0baf9776e30c4177e19 Mon Sep 17 00:00:00 2001 From: Tim Blechmann Date: Tue, 3 Aug 2004 17:51:51 +0000 Subject: small changes svn path=/trunk/externals/tb/; revision=1907 --- sc4pd/source/DelayUnit.hpp | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) (limited to 'sc4pd/source/DelayUnit.hpp') diff --git a/sc4pd/source/DelayUnit.hpp b/sc4pd/source/DelayUnit.hpp index d794031..a15a8c3 100644 --- a/sc4pd/source/DelayUnit.hpp +++ b/sc4pd/source/DelayUnit.hpp @@ -43,7 +43,7 @@ class DelayUnit_ar : public flext_dsp public: /* functions */ void DelayUnit_AllocDelayLine(); - void DelayUnit_Reset(float maxdelaytime, float delaytime); + void DelayUnit_Reset(); float CalcDelay(float delaytime); void DelayUnit_Dtor(); @@ -56,3 +56,10 @@ public: }; /* todo: a delay for control messages? */ + +class FeedbackDelay_ar : public DelayUnit_ar +{ + FLEXT_HEADER(FeedbackDelay_ar,DelayUnit_ar); + float m_feedbk, m_decaytime; + void FeedbackDelay_Reset(); +}; -- cgit v1.2.1 From 89f570e5ebeab979202acf679974bafd05072692 Mon Sep 17 00:00:00 2001 From: Tim Blechmann Date: Sat, 7 Aug 2004 14:01:31 +0000 Subject: sc4pd_dsp class and other changes svn path=/trunk/externals/tb/; revision=1912 --- sc4pd/source/DelayUnit.hpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'sc4pd/source/DelayUnit.hpp') diff --git a/sc4pd/source/DelayUnit.hpp b/sc4pd/source/DelayUnit.hpp index a15a8c3..e9db066 100644 --- a/sc4pd/source/DelayUnit.hpp +++ b/sc4pd/source/DelayUnit.hpp @@ -37,9 +37,11 @@ #include "sc4pd.hpp" -class DelayUnit_ar : public flext_dsp +class DelayUnit_ar + : public sc4pd_dsp { - FLEXT_HEADER(DelayUnit_ar, flext_dsp); + FLEXT_HEADER(DelayUnit_ar,sc4pd_dsp); + public: /* functions */ void DelayUnit_AllocDelayLine(); -- cgit v1.2.1 From ea10413727c241467ab729cee102dd68534f4db9 Mon Sep 17 00:00:00 2001 From: Tim Blechmann Date: Sat, 7 Aug 2004 22:57:36 +0000 Subject: *** empty log message *** svn path=/trunk/externals/tb/; revision=1915 --- sc4pd/source/DelayUnit.hpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'sc4pd/source/DelayUnit.hpp') diff --git a/sc4pd/source/DelayUnit.hpp b/sc4pd/source/DelayUnit.hpp index e9db066..a5951e5 100644 --- a/sc4pd/source/DelayUnit.hpp +++ b/sc4pd/source/DelayUnit.hpp @@ -35,7 +35,7 @@ */ -#include "sc4pd.hpp" +//#include "sc4pd.hpp" class DelayUnit_ar : public sc4pd_dsp -- cgit v1.2.1