From 0ed7a8b68dd73e2b0473b8127aeca99f3bac9061 Mon Sep 17 00:00:00 2001 From: Thomas Grill Date: Wed, 1 Apr 2009 21:13:09 +0000 Subject: cleaned up grill externals - replaced with svn:externals to svn.grrrr.org/ext/trunk/ svn path=/trunk/; revision=10951 --- externals/grill/flext/tutorial/stk2/main.cpp | 115 --------------------------- 1 file changed, 115 deletions(-) delete mode 100644 externals/grill/flext/tutorial/stk2/main.cpp (limited to 'externals/grill/flext/tutorial/stk2/main.cpp') diff --git a/externals/grill/flext/tutorial/stk2/main.cpp b/externals/grill/flext/tutorial/stk2/main.cpp deleted file mode 100644 index 0e740f60..00000000 --- a/externals/grill/flext/tutorial/stk2/main.cpp +++ /dev/null @@ -1,115 +0,0 @@ -/* -flext tutorial - stk 2 - -Copyright (c) 2002-2006 Thomas Grill (gr@grrrr.org) -For information on usage and redistribution, and for a DISCLAIMER OF ALL -WARRANTIES, see the file, "license.txt," in this distribution. - -------------------------------------------------------------------------- - -This is an example of an external using the STK ("synthesis toolkit") library. -For STK see http://ccrma-www.stanford.edu/software/stk - -STK needs C++ exceptions switched on. - -The STK tutorial examples assume that a static stk library exists which contains all the -source files (except rt*.cpp) of the stk/src directory. -The library should be compiled multithreaded and with the appropriate compiler flags for -the respective platform (e.g. __OS_WINDOWS__ and __LITTLE_ENDIAN__ for Windows) - -*/ - -#include - -#if !defined(FLEXT_VERSION) || (FLEXT_VERSION < 401) -#error You need at least flext version 0.4.1 with STK support -#endif - -#include "PitShift.h" - - -class stk2: - public flext_stk -{ - FLEXT_HEADER_S(stk2,flext_stk,Setup) - -public: - stk2(); - - void m_sh1(float f) { if(inst[0]) inst[0]->setShift(f); } - void m_sh2(float f) { if(inst[1]) inst[1]->setShift(f); } - - // these are obligatory! - virtual bool NewObjs(); // create STK instruments - virtual void FreeObjs(); // destroy STK instruments - virtual void ProcessObjs(int n); // do DSP processing - - PitShift *inst[2]; - MY_FLOAT *vec; - -private: - static void Setup(t_classid c); - - FLEXT_CALLBACK_F(m_sh1) - FLEXT_CALLBACK_F(m_sh2) -}; - -FLEXT_NEW_DSP("stk2~",stk2) - - -stk2::stk2() -{ - AddInSignal(); - AddOutSignal(2); - - inst[0] = inst[1] = NULL; -} - -void stk2::Setup(t_classid c) -{ - FLEXT_CADDMETHOD_F(c,0,"shL",m_sh1); - FLEXT_CADDMETHOD_F(c,0,"shR",m_sh2); -} - - -// create STK instruments -bool stk2::NewObjs() -{ - bool ok = true; - - try { - // set up objects - for(int i = 0; i < 2; ++i) - inst[i] = new PitShift; - - // reserve one signal vector too - vec = new MY_FLOAT[Blocksize()]; - } - catch (StkError &) { - post("%s - Creation failed!",thisName()); - ok = false; - } - return ok; -} - - -// destroy the STK instruments -void stk2::FreeObjs() -{ - for(int i = 0; i < 2; ++i) - if(inst[i]) delete inst[i]; - if(vec) delete[] vec; -} - -// this is called on every DSP block -void stk2::ProcessObjs(int n) -{ - for(int i = 0; i < 2; ++i) - Outlet(i).tick( - inst[i]->tick( - Inlet(0).tick(vec,n) - ,n) - ,n); -} - - -- cgit v1.2.1