[Stk] STK with Puredata

Stephen Sinclair sinclair at music.mcgill.ca
Fri Aug 27 15:56:20 PDT 2010


Just to test this, I downloaded the stk2pd source and edited the file
"stk2pdTemplate", inserting "using namespace stk;" after "#include
"xxx.h".  (Line 18.)

Amazingly, everything compiled!  I didn't test them all, but Plucked~
seemed to work fine.

Very happy, I didn't even know about this stk2pd thing.

Steve

On Fri, Aug 27, 2010 at 6:33 PM, Gary Scavone <gary at ccrma.stanford.edu> wrote:
> Hi Stephane,
>
> I don't support that STK "distribution" ... it looks to be pretty old.  But the error messages appear to be related to the Stk namespace.  Maybe there is a flag you need to provide to the compiler to support namespaces?
>
> --gary
>
> On 2010-08-27, at 7:18 AM, Stephane Nguyen wrote:
>
>> Hi all!
>>
>> I saw the message from Pierre Massat in the archives from june, I just
>> got the same problem with the clarinet build process from the tutorial
>> "Embeding STK instruments in Pd" , it seems there is some trouble
>> with stk in the build process.
>>
>> (my OS is ubuntu lucid 64)
>>
>> and from the procedures of this tuto,here is what i get :
>>
>> steph at zik-station:~/Bureau/stk_test$ make
>> g++ -c -O3 -march=core2 -DPD -I/home/steph/auto-build/pd-extended/pd/src -I/usr/include/stk -I/usr/local/include/flext clarinet.cpp -o pd-linux/clarinet.o
>> clarinet.cpp:55: error: ISO C++ forbids declaration of ‘Instrmnt’ with no type
>> clarinet.cpp:55: error: expected ‘;’ before ‘*’ token
>> clarinet.cpp:56: error: ISO C++ forbids declaration of ‘Effect’ with no type
>> clarinet.cpp:56: error: expected ‘;’ before ‘*’ token
>> clarinet.cpp:57: error: ‘BiQuad’ does not name a type
>> clarinet.cpp: In constructor ‘clarinet::clarinet(float)’:
>> clarinet.cpp:88: error: ‘inst’ was not declared in this scope
>> clarinet.cpp:89: error: ‘effect’ was not declared in this scope
>> clarinet.cpp:92: error: ‘filter’ was not declared in this scope
>> clarinet.cpp: In member function ‘void clarinet::setFreq(float)’:
>> clarinet.cpp:112: error: ‘inst’ was not declared in this scope
>> clarinet.cpp: In member function ‘void clarinet::setVolume(float)’:
>> clarinet.cpp:119: error: ‘inst’ was not declared in this scope
>> clarinet.cpp: In member function ‘virtual bool clarinet::NewObjs()’:
>> clarinet.cpp:130: error: ‘inst’ was not declared in this scope
>> clarinet.cpp:130: error: expected type-specifier before ‘Clarinet’
>> clarinet.cpp:130: error: expected ‘;’ before ‘Clarinet’
>> clarinet.cpp:135: error: expected type-specifier before ‘StkError’
>> clarinet.cpp:135: error: expected ‘)’ before ‘&’ token
>> clarinet.cpp:135: error: expected ‘{’ before ‘&’ token
>> clarinet.cpp:135: error: expected primary-expression before ‘)’ token
>> clarinet.cpp:135: error: expected ‘;’ before ‘)’ token
>> clarinet.cpp: In member function ‘virtual void clarinet::ProcessObjs(int)’:
>> clarinet.cpp:157: error: ‘inst’ was not declared in this scope
>> clarinet.cpp: In member function ‘virtual void clarinet::m_signal(int, float* const*, float* const*)’:
>> clarinet.cpp:170: error: ‘inst’ was not declared in this scope
>> make: *** [pd-linux/clarinet.o] Erreur 1
>>
>>
>> Then, just after this , I decided to
>> try stk2pd from here :
>>
>> https://ccrma.stanford.edu/wiki/Stk2pd
>>
>> (on this page ,the binaries files in the file "stk2pd-externes-linux-07272007.tar.gz"
>> are still working with PD-extended 0.42.5 under ubunutu lucid 32bits with stk 4.4.2 on my
>> netbook)
>>
>> At first,autoconf didn't want to write a configure file :
>>
>> steph at zik-station:~/src/stk2pd$ autoconf
>> configure.ac:130: error: AC_SUBST: `pd_suffix ' is not a valid shell variable name
>>
>> Removing the spaces near the parentheses in the configure.ac (line 130 to 137)resolved the
>> problem. (^^)
>>
>> Then :
>>
>> steph at zik-station:~/src/stk2pd$ ./configure --with-pd-dir=/home/steph/auto-build/pd-extended/pd/src --with-stk-dir=/home/steph/src/stk-4.4.2/
>> checking build system type... x86_64-unknown-linux-gnu
>> checking host system type... x86_64-unknown-linux-gnu
>> checking for gcc... gcc
>> checking whether the C compiler works... yes
>> checking for C compiler default output file name... a.out
>> checking for suffix of executables...
>> checking whether we are cross compiling... no
>> checking for suffix of object files... o
>> checking whether we are using the GNU C compiler... yes
>> checking whether gcc accepts -g... yes
>> checking for gcc option to accept ISO C89... none needed
>> checking whether ln -s works... yes
>> checking for g++... g++
>> checking whether we are using the GNU C++ compiler... yes
>> checking whether g++ accepts -g... yes
>> checking whether we are using the GNU C++ compiler... (cached) yes
>> checking whether g++ accepts -g... (cached) yes
>> cflags -g -O2
>> ldflags
>> checking how to run the C preprocessor... gcc -E
>> checking for grep that handles long lines and -e... /bin/grep
>> checking for egrep... /bin/grep -E
>> checking for ANSI C header files... yes
>> checking for sys/types.h... yes
>> checking for sys/stat.h... yes
>> checking for stdlib.h... yes
>> checking for string.h... yes
>> checking for memory.h... yes
>> checking for strings.h... yes
>> checking for inttypes.h... yes
>> checking for stdint.h... yes
>> checking for unistd.h... yes
>> checking fcntl.h usability... yes
>> checking fcntl.h presence... yes
>> checking for fcntl.h... yes
>> checking sys/ioctl.h usability... yes
>> checking sys/ioctl.h presence... yes
>> checking for sys/ioctl.h... yes
>> checking sys/time.h usability... yes
>> checking sys/time.h presence... yes
>> checking for sys/time.h... yes
>> checking termio.h usability... yes
>> checking termio.h presence... yes
>> checking for termio.h... yes
>> checking for unistd.h... (cached) yes
>> checking for an ANSI C-conforming const... yes
>> checking for size_t... yes
>> checking whether time.h and sys/time.h may both be included... yes
>> checking whether byte ordering is bigendian... no
>>
>> pd dir is /home/steph/auto-build/pd-extended/pd/src
>>
>>
>> pd binary dir is /home/steph/auto-build/pd-extended/pd/src/../bin/pd
>>
>> checking m_pd.h usability... yes
>> checking m_pd.h presence... yes
>> checking for m_pd.h... yes
>>
>> stk dir is /home/steph/src/stk-4.4.2/
>>
>> checking for cos in -lm... yes
>> checking for pthread_create in -lpthread... yes
>> checking for main in -lstk... yes
>> checking for audio API... checking for snd_pcm_open in -lasound... yes
>> checking for jack_client_new in -ljack... yes
>> checking whether gcc needs -traditional... no
>> checking for strstr... no
>> configure: creating ./config.status
>> config.status: creating Makefile
>>
>>
>>
>>
>> steph at zik-station:~/src/stk2pd$ make
>> ./ProcessInstrument Clarinet
>> g++ -export_dynamic -shared -g -O2 -Wall -D__GXX__ -Wshadow -Wno-unused -Wno-parentheses -Wno-switch -D_LANGUAGE_C_PLUS_PLUS -Woverloaded-virtual -I/home/steph/auto-build/pd-extended/pd/src -I/home/steph/src/stk-4.4.2//include -I/home/steph/src/stk-4.4.2/ -funroll-loops -fomit-frame-pointer -DPD -D__LITTLE_ENDIAN__  -D__LINUX_JACK__ -D__LINUX_ALSA__ -D__LINUX_ALSASEQ__ -DRAWWAVE_PATH=\"./rawwaves\" -o externs/Clarinet~.pd_linux cppfiles/Clarinet~.cpp -ljack -lasound -lstk -lpthread -lm  -L/home/steph/src/stk-4.4.2//src/Release -L/home/steph/src/stk-4.4.2//src -L/usr/lib
>> cppfiles/Clarinet~.cpp:37: error: ISO C++ forbids declaration of ‘Clarinet’ with no type
>> cppfiles/Clarinet~.cpp:37: error: expected ‘;’ before ‘*’ token
>> cppfiles/Clarinet~.cpp: In function ‘t_int* Clarinet_perform(t_int*)’:
>> cppfiles/Clarinet~.cpp:56: error: ‘struct _Clarinet’ has no member named ‘stk’
>> cppfiles/Clarinet~.cpp: In function ‘void Clarinet_noteOn(t_Clarinet*, t_floatarg)’:
>> cppfiles/Clarinet~.cpp:67: error: ‘struct _Clarinet’ has no member named ‘stk’
>> cppfiles/Clarinet~.cpp: In function ‘void Clarinet_freq(t_Clarinet*, t_floatarg)’:
>> cppfiles/Clarinet~.cpp:76: error: ‘struct _Clarinet’ has no member named ‘stk’
>> cppfiles/Clarinet~.cpp: In function ‘void Clarinet_ctrl(t_Clarinet*, t_symbol*, int, t_atom*)’:
>> cppfiles/Clarinet~.cpp:87: error: ‘struct _Clarinet’ has no member named ‘stk’
>> cppfiles/Clarinet~.cpp: In function ‘void* Clarinet_new()’:
>> cppfiles/Clarinet~.cpp:113: error: ‘struct _Clarinet’ has no member named ‘stk’
>> cppfiles/Clarinet~.cpp:113: error: expected type-specifier before ‘Clarinet’
>> cppfiles/Clarinet~.cpp:113: error: expected ‘;’ before ‘Clarinet’
>> cppfiles/Clarinet~.cpp: In function ‘void Clarinet_free(t_Clarinet*)’:
>> cppfiles/Clarinet~.cpp:121: error: ‘struct _Clarinet’ has no member named ‘stk’
>> make: *** [all] Erreur 1
>>
>>
>> Could you tell me what to do?
>>
>> Best regards,
>>
>> Stephane
>> _______________________________________________
>> Stk mailing list
>> Stk at ccrma.stanford.edu
>> http://ccrma-mail.stanford.edu/mailman/listinfo/stk
>
>
> _______________________________________________
> Stk mailing list
> Stk at ccrma.stanford.edu
> http://ccrma-mail.stanford.edu/mailman/listinfo/stk
>
>
>



More information about the Stk mailing list