diff --git a/.gitignore b/.gitignore
index 7880fab..739852c 100644
--- a/.gitignore
+++ b/.gitignore
@@ -146,7 +146,7 @@ config.log
config.status
configure
projects/demo/Makefile
-projects/demo/demo
+projects/demo/stk-demo
projects/demo/Release
projects/demo/Debug
projects/effects/Makefile
diff --git a/configure.ac b/configure.ac
index 0616428..e33dc93 100644
--- a/configure.ac
+++ b/configure.ac
@@ -111,14 +111,16 @@ CXXFLAGS="$CXXFLAGS $cxxflag"
AC_CANONICAL_HOST
+basesharedname="libstk-\$(RELEASE)"
+
AC_SUBST( sharedlib, ["libstk.so"] )
-AC_SUBST( sharedname, ["libstk.so.\$(RELEASE)"] )
-AC_SUBST( libflags, ["-shared -Wl,-soname,\$(SHAREDLIB).\$(MAJOR) -o \$(SHAREDLIB).\$(RELEASE)"] )
+AC_SUBST( sharedname, [${basesharedname}.so] )
+AC_SUBST( libflags, ["-shared -Wl,-soname,${basesharedname}.so -o $sharedname"] )
case $host in
*-apple*)
AC_SUBST( sharedlib, ["libstk.dylib"] )
- AC_SUBST( sharedname, ["libstk.\$(RELEASE).dylib"] )
- AC_SUBST( libflags, ["-dynamiclib -o libstk.\$(RELEASE).dylib"] )
+ AC_SUBST( sharedname, ["${basesharedname}.dylib"] )
+ AC_SUBST( libflags, ["-dynamiclib -o ${basesharedname}.dylib"] )
esac
if test $realtime = yes; then
diff --git a/doc/SKINI.txt b/doc/SKINI.txt
index d42c731..89e7497 100644
--- a/doc/SKINI.txt
+++ b/doc/SKINI.txt
@@ -85,7 +85,7 @@ upon/from which to build and depart.
the channel number is scanned as a long int. Channels could be socket
numbers, machine IDs, serial numbers, or even unique tags for each
event in a synthesis. Other fields might be used, as specified in the
- SKINI.tbl file. This is described in more detail later.
+ SKINItbl.h file. This is described in more detail later.
Fields in a SKINI line are delimited by spaces, commas, or
tabs. The SKINI parser only operates on a line at a time,
@@ -109,9 +109,9 @@ upon/from which to build and depart.
All fields other than type, time, and channel are optional, and the
types and useage of the additional fields is defined in the file
- SKINI.tbl.
+ SKINItbl.h.
- The other important file used by SKINI is SKINI.msg, which is a
+ The other important file used by SKINI is SKINImsg.h, which is a
set of #defines to make C code more readable, and to allow reasonably
quick re-mapping of control numbers, etc.. All of these defined
symbols are assigned integer values. For JAVA, the #defines could
@@ -127,13 +127,13 @@ upon/from which to build and depart.
receiving SKINI messages a line at a time, usually in real time,
but not restricted to real time.
- SKINI.msg should be included by anything wanting to use the
+ SKINImsg.h should be included by anything wanting to use the
Skini.cpp object. This is not mandatory, but use of the __SK_blah_
symbols which are defined in the .msg file will help to ensure
clarity and consistency when messages are added and changed.
- SKINI.tbl is used only by the SKINI parser object (Skini.cpp).
- In the file SKINI.tbl, an array of structures is declared and
+ SKINItbl.h is used only by the SKINI parser object (Skini.cpp).
+ In the file SKINItbl.h, an array of structures is declared and
assigned values which instruct the parser as to what the message
types are, and what the fields mean for those message types.
This table is compiled and linked into applications using SKINI, but
@@ -195,7 +195,7 @@ upon/from which to build and depart.
A -1 channel can be used as don't care, omni, or other functions
depending on your needs and taste.
- g) All remaining fields are specified in the SKINI.tbl file.
+ g) All remaining fields are specified in the SKINItbl.h file.
In general, there are maximum two more fields, which are either
SK_INT (long), SK_DBL (double float), or SK_STR (string). The
latter is the mechanism by which more arguments can be specified
@@ -237,9 +237,9 @@ upon/from which to build and depart.
NoteOff 0.000000 2 71 82
NoteOff 0.000000 2 79 82
-7) The SKINI.tbl File, How Messages are Parsed:
+7) The SKINItbl.h File, How Messages are Parsed:
- The SKINI.tbl file contains an array of structures which
+ The SKINItbl.h file contains an array of structures which
are accessed by the parser object Skini.cpp. The struct is:
struct SKINISpec { char messageString[32];
@@ -276,7 +276,7 @@ upon/from which to build and depart.
something else stored in the SK_STR field, or
as a new type of multi-line message.
- Here's a couple of lines from the SKINI.tbl file
+ Here's a couple of lines from the SKINItbl.h file
{"NoteOff" , __SK_NoteOff_, SK_DBL, SK_DBL},
{"NoteOn" , __SK_NoteOn_, SK_DBL, SK_DBL},
@@ -290,7 +290,7 @@ upon/from which to build and depart.
The first three are basic MIDI messages. The first two would cause the
parser, after recognizing a match of the string "NoteOff" or "NoteOn",
to set the message type to 128 or 144 (__SK_NoteOff_ and __SK_NoteOn_
- are #defined in the file SKINI.msg to be the MIDI byte value, without
+ are #defined in the file SKINImsg.h to be the MIDI byte value, without
channel, of the actual MIDI messages for NoteOn and NoteOff). The parser
would then set the time or delta time (this is always done and is
therefore not described in the SKINI Message Struct). The next two
diff --git a/doc/doxygen/usage.txt b/doc/doxygen/usage.txt
index 9f59167..c441d1e 100644
--- a/doc/doxygen/usage.txt
+++ b/doc/doxygen/usage.txt
@@ -32,7 +32,7 @@ The top level distribution contains the following directories:
This release of STK comes with four separate "project" directories:
-- The demo project is used to demonstrate nearly all of the STK instruments. The demo program has been written to allow a variety of control input and sound data output options. Simple graphical user interfaces (GUIs) are also provided.
+- The demo project is used to demonstrate nearly all of the STK instruments. The stk-demo program has been written to allow a variety of control input and sound data output options. Simple graphical user interfaces (GUIs) are also provided.
- The effects project demonstrates realtime duplex mode (simultaneous audio input and output) operation, when available, as well as various delay-line based effects algorithms.
@@ -134,23 +134,23 @@ The demo project demonstrates the behavior of all the distributed
See the information above with respect to compiling STK for non-realtime use.
-In non-realtime mode, it is assumed that input control messages are provided from a SKINI scorefile and that audio output is written to a soundfile (.snd, .wav, .aif, .mat, .raw). A number of SKINI scorefiles are provided in the scores directory of the demo project. Assuming a successful compilation of the demo program, typing:
+In non-realtime mode, it is assumed that input control messages are provided from a SKINI scorefile and that audio output is written to a soundfile (.snd, .wav, .aif, .mat, .raw). A number of SKINI scorefiles are provided in the scores directory of the demo project. Assuming a successful compilation of the stk-demo program, typing:
\code
-demo BeeThree -ow myfile.wav -if scores/bookert.ski
+stk-demo BeeThree -ow myfile.wav -if scores/bookert.ski
\endcode
-from the demo directory will play the scorefile bookert.ski using the STK BeeThree instrument and write the resulting audio data to a WAV formatted soundfile called "myfile.wav" (note that you may need to append ./ to the program name if your default shell setup is not set to look in the current directory). Typing demo without any arguments will provide a full program usage description.
+from the demo directory will play the scorefile bookert.ski using the STK BeeThree instrument and write the resulting audio data to a WAV formatted soundfile called "myfile.wav" (note that you may need to append ./ to the program name if your default shell setup is not set to look in the current directory). Typing stk-demo without any arguments will provide a full program usage description.
\section rt Demo: Realtime Use
STK realtime audio and MIDI input/output and realtime SKINI control input via socketing support is provided for Linux, Mac OS-X, and Windows95/98/2000/XP operating systems. STK realtime SKINI control input via piping is possible under Linux, Mac OS X, and Windows2000/XP only.
-Control input and audio output options are typically specified as command-line arguments to STK programs. For example, the demo program is invoked as:
+Control input and audio output options are typically specified as command-line arguments to STK programs. For example, the stk-demo program is invoked as:
\code
-demo instrument flags
+stk-demo instrument flags
\endcode
where instruments include those described above and flags can be any or all of:
@@ -167,13 +167,13 @@ where instruments include those described above and flags can be any or all of:
The -ip flag must be used when piping realtime SKINI control data to an STK program. The -im flag must be used to read MIDI control input from your MIDI port. Note that you can use both input types simultaneously.
-Assuming a successful compilation of the demo program, typing:
+Assuming a successful compilation of the stk-demo program, typing:
\code
-demo BeeThree -or -if scores/bookert.ski
+stk-demo BeeThree -or -if scores/bookert.ski
\endcode
-from the demo directory will play the scorefile bookert.ski using the STK BeeThree instrument and stream the resulting audio data in realtime to the audio output channel of your computer. Typing demo without any arguments will provide a full program usage description.
+from the demo directory will play the scorefile bookert.ski using the STK BeeThree instrument and stream the resulting audio data in realtime to the audio output channel of your computer. Typing stk-demo without any arguments will provide a full program usage description.
\section tcl Realtime Control Input using Tcl/Tk Graphical User Interfaces:
@@ -181,7 +181,7 @@ from the demo directory will play the scorefile bookert.ski
There are a number of Tcl/Tk GUIs supplied with the STK projects. These scripts require Tcl/Tk version 8.0 or later, which can be downloaded for free over the WWW. On Unix and Windows2000/XP platforms, you can run the various executable scripts (e.g. StkDemo.bat) provided with each project to start everything up (you may need to symbolically link the wishXX executable to the name wish). The Physical.bat script just implements the following command-line sequence:
\code
-wish < tcl/Physical.tcl | demo Clarinet -or -ip
+wish < tcl/Physical.tcl | stk-demo Clarinet -or -ip
\endcode
\section midi Realtime MIDI Control Input:
@@ -189,17 +189,17 @@ wish < tcl/Physical.tcl | demo Clarinet -or -ip
On all supported realtime platforms, you can direct realtime MIDI input to the STK Clarinet by typing:
\code
-demo Clarinet -or -im
+stk-demo Clarinet -or -im
\endcode
This will attempt to use the default MIDI port for input. An optional MIDI port number can be specified after the -im flag. Valid MIDI ports are numbered from 0 (default) and higher. On Linux and Macintosh OS-X systems, it is possible to open a virtual MIDI input port (that other software applications can connect to) by specifying a port identifier of -1.
\section polyphony Polyphony:
-The demo program supports an arbitrary number of voices via the -n NUMBER command-line flag and argument. For example, you can play eight BeeThree instruments with realtime output and control them from a MIDI device by typing:
+The stk-demo program supports an arbitrary number of voices via the -n NUMBER command-line flag and argument. For example, you can play eight BeeThree instruments with realtime output and control them from a MIDI device by typing:
\code
-demo BeeThree -n 8 -or -im
+stk-demo BeeThree -n 8 -or -im
\endcode
*/
diff --git a/doc/hierarchy.txt b/doc/hierarchy.txt
index 6935041..1328704 100644
--- a/doc/hierarchy.txt
+++ b/doc/hierarchy.txt
@@ -173,7 +173,7 @@ effects.cpp Effects demonstration program
ragamatic.cpp Nirvana just waiting to happen
Skini.cpp SKINI file/message parser object
-SKINI.msg #defines for often used and universal MIDI/SKINI symbols
-SKINI.tbl Table of SKINI messages
+SKINImsg.h #defines for often used and universal MIDI/SKINI symbols
+SKINItbl.h Table of SKINI messages
diff --git a/iOS/README-iOS.md b/iOS/README-iOS.md
index d3906d0..608595f 100644
--- a/iOS/README-iOS.md
+++ b/iOS/README-iOS.md
@@ -1,5 +1,15 @@
+This file contains instructions for integrating the STK in Xcode projects and solutions to common integration issues.
+
##Setup
+###If you have [Cocoapods](http://cocoapods.org/)
+
+1. Add `pod 'STK', '~> 4.5'` to your Podfile.
+
+1. Run `pod install`
+
+###If you don't have Cocoapods
+
1. Clone or [download][download_link] the STK into your project's directory.
1. Open the **STK for iOS** folder, and drag and drop **STK.xcodeproj** into your Xcode project.
@@ -36,11 +46,23 @@ If this problem doesn't go away:
1. Move the STK directory within your project's directory.
1. Follow step 1 from **Setup**, add `stk/include` to the *Header Search Paths*.
+If that doesn't solve it:
+Install Cocoapods and use it to install the STK. It takes one minute and will make your life easier. Visit the [Cocoapods website](http://cocoapods.org/) for installation instructions.
+
###FileRead::open: could not open or find file (../../rawwaves/filename.raw)!
-If you use a class that makes use of raw waves (such as `Mandolin`, `Wurley`, or `Rhodey`) you need to copy the STK's raw wave files into your bundle. You'll know you need to if you get this runtime error:
+If you use a class that makes use of raw waves (such as `Mandolin`, `Wurley`, or `Rhodey`) you need to make sure that the STK's raw wave files are copied into your bundle and that the STK knows where they are. You'll know you need to if you get this runtime error:
`FileRead::open: could not open or find file (../../rawwaves/filename.raw)!`
+####If you're using Cocoapods
+
+Add this code before using a class that needs the raw waves:
+```objective-c
+stk::Stk::setRawwavePath([[[NSBundle mainBundle] pathForResource:@"rawwaves" ofType:@"bundle"] UTF8String]);
+```
+
+####If you're not using Cocoapods
+
1. Open your project's settings, open the *Build Phases* tab.
1. In the *Copy Bundle Resources*, drag and drop **rawwaves.bundle** (it's located in **STK.xcodeproj**'s **Helpers** folder).
1. Then add this code before using a class that needs the raw waves:
diff --git a/iOS/STK.xcodeproj/project.pbxproj b/iOS/STK.xcodeproj/project.pbxproj
index 435e4c1..ad889a9 100644
--- a/iOS/STK.xcodeproj/project.pbxproj
+++ b/iOS/STK.xcodeproj/project.pbxproj
@@ -202,8 +202,8 @@
B08F60DE18BA9B1800C14A90 /* SingWave.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = SingWave.h; path = ../include/SingWave.h; sourceTree = ""; };
B08F60DF18BA9B1800C14A90 /* Sitar.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = Sitar.h; sourceTree = ""; };
B08F60E018BA9B1800C14A90 /* Skini.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Skini.h; path = ../include/Skini.h; sourceTree = ""; };
- B08F60E118BA9B1800C14A90 /* SKINI.msg */ = {isa = PBXFileReference; lastKnownFileType = text; name = SKINI.msg; path = ../include/SKINI.msg; sourceTree = ""; };
- B08F60E218BA9B1800C14A90 /* SKINI.tbl */ = {isa = PBXFileReference; lastKnownFileType = text; name = SKINI.tbl; path = ../include/SKINI.tbl; sourceTree = ""; };
+ B08F60E118BA9B1800C14A90 /* SKINImsg.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = SKINImsg.h; path = ../include/SKINImsg.h; sourceTree = ""; };
+ B08F60E218BA9B1800C14A90 /* SKINItbl.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = SKINItbl.h; path = ../include/SKINItbl.h; sourceTree = ""; };
B08F60E418BA9B1800C14A90 /* Sphere.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Sphere.h; path = ../include/Sphere.h; sourceTree = ""; };
B08F60E518BA9B1800C14A90 /* StifKarp.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = StifKarp.h; sourceTree = ""; };
B08F60E618BA9B1800C14A90 /* Stk.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Stk.h; path = ../include/Stk.h; sourceTree = ""; };
@@ -666,8 +666,8 @@
children = (
B08F60E018BA9B1800C14A90 /* Skini.h */,
B08F617D18BA9B1800C14A90 /* Skini.cpp */,
- B08F60E118BA9B1800C14A90 /* SKINI.msg */,
- B08F60E218BA9B1800C14A90 /* SKINI.tbl */,
+ B08F60E118BA9B1800C14A90 /* SKINImsg.h */,
+ B08F60E218BA9B1800C14A90 /* SKINItbl.h */,
);
name = SKINI;
path = ../src;
diff --git a/include/SKINI.msg b/include/SKINImsg.h
similarity index 100%
rename from include/SKINI.msg
rename to include/SKINImsg.h
diff --git a/include/SKINI.tbl b/include/SKINItbl.h
similarity index 99%
rename from include/SKINI.tbl
rename to include/SKINItbl.h
index 6c9d47a..cfe1fda 100644
--- a/include/SKINI.tbl
+++ b/include/SKINItbl.h
@@ -1,5 +1,5 @@
-#include "SKINI.msg"
+#include "SKINImsg.h"
namespace stk {
diff --git a/include/Skini.h b/include/Skini.h
index 9f83b1f..d5619bd 100644
--- a/include/Skini.h
+++ b/include/Skini.h
@@ -41,7 +41,7 @@ class Skini : public Stk
//! A message structure to store and pass parsed SKINI messages.
struct Message {
- long type; /*!< The message type, as defined in SKINI.msg. */
+ long type; /*!< The message type, as defined in SKINImsg.h. */
long channel; /*!< The message channel (not limited to 16!). */
StkFloat time; /*!< The message time stamp in seconds (delta or absolute). */
std::vector floatValues; /*!< The message values read as floats (values are type-specific). */
diff --git a/projects/demo/Banded b/projects/demo/Banded
index be738c7..eca70f5 100755
--- a/projects/demo/Banded
+++ b/projects/demo/Banded
@@ -1 +1 @@
-wish < tcl/Banded.tcl | demo BandedWG -or -ip
\ No newline at end of file
+wish < tcl/Banded.tcl | stk-demo BandedWG -or -ip
diff --git a/projects/demo/Banded.bat b/projects/demo/Banded.bat
index be738c7..eca70f5 100755
--- a/projects/demo/Banded.bat
+++ b/projects/demo/Banded.bat
@@ -1 +1 @@
-wish < tcl/Banded.tcl | demo BandedWG -or -ip
\ No newline at end of file
+wish < tcl/Banded.tcl | stk-demo BandedWG -or -ip
diff --git a/projects/demo/Drums b/projects/demo/Drums
index 31f2f5c..f065f19 100755
--- a/projects/demo/Drums
+++ b/projects/demo/Drums
@@ -1 +1 @@
-wish < tcl/Drums.tcl | ./demo Drummer -or -ip
\ No newline at end of file
+wish < tcl/Drums.tcl | stk-demo Drummer -or -ip
diff --git a/projects/demo/Drums.bat b/projects/demo/Drums.bat
index 9402450..f065f19 100755
--- a/projects/demo/Drums.bat
+++ b/projects/demo/Drums.bat
@@ -1 +1 @@
-wish < tcl/Drums.tcl | demo Drummer -or -ip
\ No newline at end of file
+wish < tcl/Drums.tcl | stk-demo Drummer -or -ip
diff --git a/projects/demo/Makefile.in b/projects/demo/Makefile.in
index 3955bf5..7278730 100644
--- a/projects/demo/Makefile.in
+++ b/projects/demo/Makefile.in
@@ -1,7 +1,7 @@
### Do not edit -- Generated by 'configure --with-whatever' from Makefile.in
### STK demo Makefile - for various flavors of unix
-PROGRAMS = demo
+PROGRAMS = stk-demo
RM = /bin/rm
SRC_PATH = ../../src
OBJECT_PATH = @object_path@
@@ -61,8 +61,8 @@ $(OBJECT_PATH)/.placeholder:
mkdir -vp $(OBJECT_PATH)
touch $(OBJECT_PATH)/.placeholder
-demo: demo.cpp $(OBJECTS)
- $(CC) $(LDFLAGS) $(CFLAGS) $(DEFS) -o demo demo.cpp $(OBJECT_PATH)/*.o $(LIBRARY)
+stk-demo: demo.cpp $(OBJECTS)
+ $(CC) $(LDFLAGS) $(CFLAGS) $(DEFS) -o stk-demo demo.cpp $(OBJECT_PATH)/*.o $(LIBRARY)
libdemo: demo.cpp
$(CC) $(LDFLAGS) $(CFLAGS) $(DEFS) -o demo utilities.cpp demo.cpp -L../../src -lstk $(LIBRARY)
diff --git a/projects/demo/Md2Skini.cpp b/projects/demo/Md2Skini.cpp
index be0e569..dc32e4b 100644
--- a/projects/demo/Md2Skini.cpp
+++ b/projects/demo/Md2Skini.cpp
@@ -11,7 +11,7 @@
/***************************************************/
#include "RtMidi.h"
-#include "SKINI.msg"
+#include "SKINImsg.h"
#include
#include
#include
diff --git a/projects/demo/Modal b/projects/demo/Modal
index 474234b..96409c6 100755
--- a/projects/demo/Modal
+++ b/projects/demo/Modal
@@ -1 +1 @@
-wish < tcl/Modal.tcl | ./demo ModalBar -or -ip
\ No newline at end of file
+wish < tcl/Modal.tcl | stk-demo ModalBar -or -ip
diff --git a/projects/demo/Modal.bat b/projects/demo/Modal.bat
index 09d16b9..96409c6 100755
--- a/projects/demo/Modal.bat
+++ b/projects/demo/Modal.bat
@@ -1 +1 @@
-wish < tcl/Modal.tcl | demo ModalBar -or -ip
\ No newline at end of file
+wish < tcl/Modal.tcl | stk-demo ModalBar -or -ip
diff --git a/projects/demo/Physical b/projects/demo/Physical
index f0e74fd..3a4c2df 100755
--- a/projects/demo/Physical
+++ b/projects/demo/Physical
@@ -1 +1 @@
-wish < tcl/Physical.tcl | ./demo Clarinet -or -ip
\ No newline at end of file
+wish < tcl/Physical.tcl | stk-demo Clarinet -or -ip
diff --git a/projects/demo/Physical.bat b/projects/demo/Physical.bat
index ed11db8..3a4c2df 100755
--- a/projects/demo/Physical.bat
+++ b/projects/demo/Physical.bat
@@ -1 +1 @@
-wish < tcl/Physical.tcl | demo Clarinet -or -ip
\ No newline at end of file
+wish < tcl/Physical.tcl | stk-demo Clarinet -or -ip
diff --git a/projects/demo/Shakers b/projects/demo/Shakers
index 7ac5fd2..0f6b264 100755
--- a/projects/demo/Shakers
+++ b/projects/demo/Shakers
@@ -1 +1 @@
-wish < tcl/Shakers.tcl | ./demo Shakers -or -ip
\ No newline at end of file
+wish < tcl/Shakers.tcl | stk-demo Shakers -or -ip
diff --git a/projects/demo/Shakers.bat b/projects/demo/Shakers.bat
index ccbb303..0f6b264 100755
--- a/projects/demo/Shakers.bat
+++ b/projects/demo/Shakers.bat
@@ -1 +1 @@
-wish < tcl/Shakers.tcl | demo Shakers -or -ip
\ No newline at end of file
+wish < tcl/Shakers.tcl | stk-demo Shakers -or -ip
diff --git a/projects/demo/StkDemo b/projects/demo/StkDemo
index 2670636..517d563 100755
--- a/projects/demo/StkDemo
+++ b/projects/demo/StkDemo
@@ -1 +1 @@
-wish < tcl/Demo.tcl | ./demo Clarinet -or -ip
+wish < tcl/Demo.tcl | stk-demo Clarinet -or -ip
diff --git a/projects/demo/StkDemo.bat b/projects/demo/StkDemo.bat
index c0d025e..517d563 100755
--- a/projects/demo/StkDemo.bat
+++ b/projects/demo/StkDemo.bat
@@ -1 +1 @@
-wish < tcl/Demo.tcl | demo Clarinet -or -ip
+wish < tcl/Demo.tcl | stk-demo Clarinet -or -ip
diff --git a/projects/demo/Voice b/projects/demo/Voice
index ecd3085..7da993f 100755
--- a/projects/demo/Voice
+++ b/projects/demo/Voice
@@ -1 +1 @@
-wish < tcl/Voice.tcl | ./demo FMVoices -or -ip
\ No newline at end of file
+wish < tcl/Voice.tcl | stk-demo FMVoices -or -ip
diff --git a/projects/demo/Voice.bat b/projects/demo/Voice.bat
index 9714b58..7da993f 100755
--- a/projects/demo/Voice.bat
+++ b/projects/demo/Voice.bat
@@ -1 +1 @@
-wish < tcl/Voice.tcl | demo FMVoices -or -ip
\ No newline at end of file
+wish < tcl/Voice.tcl | stk-demo FMVoices -or -ip
diff --git a/projects/demo/demo.cpp b/projects/demo/demo.cpp
index e2f6e2a..c877b4a 100644
--- a/projects/demo/demo.cpp
+++ b/projects/demo/demo.cpp
@@ -3,7 +3,7 @@
// An example STK program that allows voice playback and control of
// most of the STK instruments.
-#include "SKINI.msg"
+#include "SKINImsg.h"
#include "WvOut.h"
#include "Instrmnt.h"
#include "JCRev.h"
diff --git a/projects/effects/effects.cpp b/projects/effects/effects.cpp
index f57e60c..6bbd9b9 100644
--- a/projects/effects/effects.cpp
+++ b/projects/effects/effects.cpp
@@ -1,7 +1,7 @@
/************** Effects Program *********************/
#include "Skini.h"
-#include "SKINI.msg"
+#include "SKINImsg.h"
#include "Envelope.h"
#include "PRCRev.h"
#include "JCRev.h"
diff --git a/projects/eguitar/eguitar.cpp b/projects/eguitar/eguitar.cpp
index 4ae6e30..269f2d3 100644
--- a/projects/eguitar/eguitar.cpp
+++ b/projects/eguitar/eguitar.cpp
@@ -29,7 +29,7 @@
// Gary P. Scavone, McGill University 2012.
#include "Guitar.h"
-#include "SKINI.msg"
+#include "SKINImsg.h"
#include "WvOut.h"
#include "JCRev.h"
#include "Skini.h"
diff --git a/projects/examples/controlbee.cpp b/projects/examples/controlbee.cpp
index ff5b8f7..42e4d41 100644
--- a/projects/examples/controlbee.cpp
+++ b/projects/examples/controlbee.cpp
@@ -3,7 +3,7 @@
#include "BeeThree.h"
#include "RtAudio.h"
#include "Messager.h"
-#include "SKINI.msg"
+#include "SKINImsg.h"
#include
#include
using std::min;
diff --git a/projects/examples/threebees.cpp b/projects/examples/threebees.cpp
index bd450f2..004cae2 100644
--- a/projects/examples/threebees.cpp
+++ b/projects/examples/threebees.cpp
@@ -4,7 +4,7 @@
#include "RtAudio.h"
#include "Messager.h"
#include "Voicer.h"
-#include "SKINI.msg"
+#include "SKINImsg.h"
#include
using std::min;
diff --git a/projects/ragamatic/ragamat.cpp b/projects/ragamatic/ragamat.cpp
index 463092f..b706e2e 100644
--- a/projects/ragamatic/ragamat.cpp
+++ b/projects/ragamatic/ragamat.cpp
@@ -1,6 +1,6 @@
/************** Test Main Program Individual Voice *********************/
-#include "SKINI.msg"
+#include "SKINImsg.h"
#include "Instrmnt.h"
#include "JCRev.h"
#include "Drone.h"
diff --git a/src/BandedWG.cpp b/src/BandedWG.cpp
index eacd0d9..6f285cb 100644
--- a/src/BandedWG.cpp
+++ b/src/BandedWG.cpp
@@ -30,7 +30,7 @@
/***************************************************/
#include "BandedWG.h"
-#include "SKINI.msg"
+#include "SKINImsg.h"
#include
namespace stk {
diff --git a/src/BlowBotl.cpp b/src/BlowBotl.cpp
index af9027b..8062896 100644
--- a/src/BlowBotl.cpp
+++ b/src/BlowBotl.cpp
@@ -17,7 +17,7 @@
/***************************************************/
#include "BlowBotl.h"
-#include "SKINI.msg"
+#include "SKINImsg.h"
namespace stk {
diff --git a/src/BlowHole.cpp b/src/BlowHole.cpp
index 64a0aaf..49d733b 100644
--- a/src/BlowHole.cpp
+++ b/src/BlowHole.cpp
@@ -34,7 +34,7 @@
/***************************************************/
#include "BlowHole.h"
-#include "SKINI.msg"
+#include "SKINImsg.h"
#include
namespace stk {
diff --git a/src/Bowed.cpp b/src/Bowed.cpp
index a30ffc3..28ebfb4 100644
--- a/src/Bowed.cpp
+++ b/src/Bowed.cpp
@@ -25,7 +25,7 @@
/***************************************************/
#include "Bowed.h"
-#include "SKINI.msg"
+#include "SKINImsg.h"
namespace stk {
diff --git a/src/Brass.cpp b/src/Brass.cpp
index 14f35d8..d85ebc3 100644
--- a/src/Brass.cpp
+++ b/src/Brass.cpp
@@ -21,7 +21,7 @@
/***************************************************/
#include "Brass.h"
-#include "SKINI.msg"
+#include "SKINImsg.h"
#include
namespace stk {
diff --git a/src/Clarinet.cpp b/src/Clarinet.cpp
index 6e685cf..6ef2a4e 100644
--- a/src/Clarinet.cpp
+++ b/src/Clarinet.cpp
@@ -23,7 +23,7 @@
/***************************************************/
#include "Clarinet.h"
-#include "SKINI.msg"
+#include "SKINImsg.h"
namespace stk {
diff --git a/src/FM.cpp b/src/FM.cpp
index 6cfffe7..66bf42d 100644
--- a/src/FM.cpp
+++ b/src/FM.cpp
@@ -24,7 +24,7 @@
/***************************************************/
#include "FM.h"
-#include "SKINI.msg"
+#include "SKINImsg.h"
namespace stk {
diff --git a/src/FMVoices.cpp b/src/FMVoices.cpp
index 17bb65e..f0633e2 100644
--- a/src/FMVoices.cpp
+++ b/src/FMVoices.cpp
@@ -31,7 +31,7 @@
/***************************************************/
#include "FMVoices.h"
-#include "SKINI.msg"
+#include "SKINImsg.h"
#include "Phonemes.h"
namespace stk {
diff --git a/src/Flute.cpp b/src/Flute.cpp
index c6af0d1..d493026 100644
--- a/src/Flute.cpp
+++ b/src/Flute.cpp
@@ -23,7 +23,7 @@
/***************************************************/
#include "Flute.h"
-#include "SKINI.msg"
+#include "SKINImsg.h"
namespace stk {
diff --git a/src/Guitar.cpp b/src/Guitar.cpp
index 6d6a27d..72a25c3 100644
--- a/src/Guitar.cpp
+++ b/src/Guitar.cpp
@@ -31,7 +31,7 @@
#include "Guitar.h"
#include "FileWvIn.h"
#include "Noise.h"
-#include "SKINI.msg"
+#include "SKINImsg.h"
#include
namespace stk {
diff --git a/src/Mandolin.cpp b/src/Mandolin.cpp
index 0034669..92daf5e 100644
--- a/src/Mandolin.cpp
+++ b/src/Mandolin.cpp
@@ -27,7 +27,7 @@
/***************************************************/
#include "Mandolin.h"
-#include "SKINI.msg"
+#include "SKINImsg.h"
namespace stk {
diff --git a/src/Mesh2D.cpp b/src/Mesh2D.cpp
index 56ea1c7..cc124d5 100644
--- a/src/Mesh2D.cpp
+++ b/src/Mesh2D.cpp
@@ -25,7 +25,7 @@
/***************************************************/
#include "Mesh2D.h"
-#include "SKINI.msg"
+#include "SKINImsg.h"
namespace stk {
diff --git a/src/Messager.cpp b/src/Messager.cpp
index 929f7e7..8b080fa 100644
--- a/src/Messager.cpp
+++ b/src/Messager.cpp
@@ -35,7 +35,7 @@
#include "Messager.h"
#include
#include
-#include "SKINI.msg"
+#include "SKINImsg.h"
namespace stk {
diff --git a/src/ModalBar.cpp b/src/ModalBar.cpp
index a3ca95a..b89685c 100644
--- a/src/ModalBar.cpp
+++ b/src/ModalBar.cpp
@@ -29,7 +29,7 @@
/***************************************************/
#include "ModalBar.h"
-#include "SKINI.msg"
+#include "SKINImsg.h"
#include
namespace stk {
diff --git a/src/Moog.cpp b/src/Moog.cpp
index 870e907..fcb5fd6 100644
--- a/src/Moog.cpp
+++ b/src/Moog.cpp
@@ -19,7 +19,7 @@
/***************************************************/
#include "Moog.h"
-#include "SKINI.msg"
+#include "SKINImsg.h"
namespace stk {
diff --git a/src/Resonate.cpp b/src/Resonate.cpp
index 68ad9e0..e4b2ac4 100644
--- a/src/Resonate.cpp
+++ b/src/Resonate.cpp
@@ -18,7 +18,7 @@
/***************************************************/
#include "Resonate.h"
-#include "SKINI.msg"
+#include "SKINImsg.h"
namespace stk {
diff --git a/src/Saxofony.cpp b/src/Saxofony.cpp
index 80a19aa..92b2f55 100644
--- a/src/Saxofony.cpp
+++ b/src/Saxofony.cpp
@@ -36,7 +36,7 @@
/***************************************************/
#include "Saxofony.h"
-#include "SKINI.msg"
+#include "SKINImsg.h"
namespace stk {
diff --git a/src/Shakers.cpp b/src/Shakers.cpp
index bfaf122..80334c3 100644
--- a/src/Shakers.cpp
+++ b/src/Shakers.cpp
@@ -49,7 +49,7 @@
/***************************************************/
#include "Shakers.h"
-#include "SKINI.msg"
+#include "SKINImsg.h"
namespace stk {
diff --git a/src/Simple.cpp b/src/Simple.cpp
index 9df6ce8..ed32115 100644
--- a/src/Simple.cpp
+++ b/src/Simple.cpp
@@ -18,7 +18,7 @@
/***************************************************/
#include "Simple.h"
-#include "SKINI.msg"
+#include "SKINImsg.h"
namespace stk {
diff --git a/src/Skini.cpp b/src/Skini.cpp
index fff19f3..3e19c86 100644
--- a/src/Skini.cpp
+++ b/src/Skini.cpp
@@ -24,7 +24,7 @@
/***************************************************/
#include "Skini.h"
-#include "SKINI.tbl"
+#include "SKINItbl.h"
#include
#include
diff --git a/src/StifKarp.cpp b/src/StifKarp.cpp
index dde1505..e21dc9d 100644
--- a/src/StifKarp.cpp
+++ b/src/StifKarp.cpp
@@ -22,7 +22,7 @@
/***************************************************/
#include "StifKarp.h"
-#include "SKINI.msg"
+#include "SKINImsg.h"
#include
namespace stk {
diff --git a/src/Twang.cpp b/src/Twang.cpp
index 9ab00a8..8595975 100644
--- a/src/Twang.cpp
+++ b/src/Twang.cpp
@@ -66,6 +66,7 @@ void Twang :: setFrequency( StkFloat frequency )
}
#endif
+ frequency_ = frequency;
// Delay = length - filter delay.
StkFloat delay = ( Stk::sampleRate() / frequency ) - loopFilter_.phaseDelay( frequency );
delayLine_.setDelay( delay );
diff --git a/src/VoicForm.cpp b/src/VoicForm.cpp
index 56d85f9..13d655c 100644
--- a/src/VoicForm.cpp
+++ b/src/VoicForm.cpp
@@ -27,7 +27,7 @@
#include "VoicForm.h"
#include "Phonemes.h"
-#include "SKINI.msg"
+#include "SKINImsg.h"
#include
#include
diff --git a/src/Whistle.cpp b/src/Whistle.cpp
index 459ba6c..9ff6eb7 100644
--- a/src/Whistle.cpp
+++ b/src/Whistle.cpp
@@ -17,7 +17,7 @@
/***************************************************/
#include "Whistle.h"
-#include "SKINI.msg"
+#include "SKINImsg.h"
#include
namespace stk {