mirror of
https://github.com/thestk/stk
synced 2026-02-06 09:16:15 +00:00
Merge branch 'master' of https://github.com/thestk/stk with local.
This commit is contained in:
2
.gitignore
vendored
2
.gitignore
vendored
@@ -146,7 +146,7 @@ config.log
|
|||||||
config.status
|
config.status
|
||||||
configure
|
configure
|
||||||
projects/demo/Makefile
|
projects/demo/Makefile
|
||||||
projects/demo/demo
|
projects/demo/stk-demo
|
||||||
projects/demo/Release
|
projects/demo/Release
|
||||||
projects/demo/Debug
|
projects/demo/Debug
|
||||||
projects/effects/Makefile
|
projects/effects/Makefile
|
||||||
|
|||||||
10
configure.ac
10
configure.ac
@@ -111,14 +111,16 @@ CXXFLAGS="$CXXFLAGS $cxxflag"
|
|||||||
|
|
||||||
AC_CANONICAL_HOST
|
AC_CANONICAL_HOST
|
||||||
|
|
||||||
|
basesharedname="libstk-\$(RELEASE)"
|
||||||
|
|
||||||
AC_SUBST( sharedlib, ["libstk.so"] )
|
AC_SUBST( sharedlib, ["libstk.so"] )
|
||||||
AC_SUBST( sharedname, ["libstk.so.\$(RELEASE)"] )
|
AC_SUBST( sharedname, [${basesharedname}.so] )
|
||||||
AC_SUBST( libflags, ["-shared -Wl,-soname,\$(SHAREDLIB).\$(MAJOR) -o \$(SHAREDLIB).\$(RELEASE)"] )
|
AC_SUBST( libflags, ["-shared -Wl,-soname,${basesharedname}.so -o $sharedname"] )
|
||||||
case $host in
|
case $host in
|
||||||
*-apple*)
|
*-apple*)
|
||||||
AC_SUBST( sharedlib, ["libstk.dylib"] )
|
AC_SUBST( sharedlib, ["libstk.dylib"] )
|
||||||
AC_SUBST( sharedname, ["libstk.\$(RELEASE).dylib"] )
|
AC_SUBST( sharedname, ["${basesharedname}.dylib"] )
|
||||||
AC_SUBST( libflags, ["-dynamiclib -o libstk.\$(RELEASE).dylib"] )
|
AC_SUBST( libflags, ["-dynamiclib -o ${basesharedname}.dylib"] )
|
||||||
esac
|
esac
|
||||||
|
|
||||||
if test $realtime = yes; then
|
if test $realtime = yes; then
|
||||||
|
|||||||
@@ -85,7 +85,7 @@ upon/from which to build and depart.
|
|||||||
the channel number is scanned as a long int. Channels could be socket
|
the channel number is scanned as a long int. Channels could be socket
|
||||||
numbers, machine IDs, serial numbers, or even unique tags for each
|
numbers, machine IDs, serial numbers, or even unique tags for each
|
||||||
event in a synthesis. Other fields might be used, as specified in the
|
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
|
Fields in a SKINI line are delimited by spaces, commas, or
|
||||||
tabs. The SKINI parser only operates on a line at a time,
|
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
|
All fields other than type, time, and channel are optional, and the
|
||||||
types and useage of the additional fields is defined in the file
|
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
|
set of #defines to make C code more readable, and to allow reasonably
|
||||||
quick re-mapping of control numbers, etc.. All of these defined
|
quick re-mapping of control numbers, etc.. All of these defined
|
||||||
symbols are assigned integer values. For JAVA, the #defines could
|
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,
|
receiving SKINI messages a line at a time, usually in real time,
|
||||||
but not restricted to 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_
|
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
|
symbols which are defined in the .msg file will help to ensure
|
||||||
clarity and consistency when messages are added and changed.
|
clarity and consistency when messages are added and changed.
|
||||||
|
|
||||||
SKINI.tbl is used only by the SKINI parser object (Skini.cpp).
|
SKINItbl.h is used only by the SKINI parser object (Skini.cpp).
|
||||||
In the file SKINI.tbl, an array of structures is declared and
|
In the file SKINItbl.h, an array of structures is declared and
|
||||||
assigned values which instruct the parser as to what the message
|
assigned values which instruct the parser as to what the message
|
||||||
types are, and what the fields mean for those message types.
|
types are, and what the fields mean for those message types.
|
||||||
This table is compiled and linked into applications using SKINI, but
|
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
|
A -1 channel can be used as don't care, omni, or other functions
|
||||||
depending on your needs and taste.
|
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
|
In general, there are maximum two more fields, which are either
|
||||||
SK_INT (long), SK_DBL (double float), or SK_STR (string). The
|
SK_INT (long), SK_DBL (double float), or SK_STR (string). The
|
||||||
latter is the mechanism by which more arguments can be specified
|
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 71 82
|
||||||
NoteOff 0.000000 2 79 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:
|
are accessed by the parser object Skini.cpp. The struct is:
|
||||||
|
|
||||||
struct SKINISpec { char messageString[32];
|
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
|
something else stored in the SK_STR field, or
|
||||||
as a new type of multi-line message.
|
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},
|
{"NoteOff" , __SK_NoteOff_, SK_DBL, SK_DBL},
|
||||||
{"NoteOn" , __SK_NoteOn_, 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
|
The first three are basic MIDI messages. The first two would cause the
|
||||||
parser, after recognizing a match of the string "NoteOff" or "NoteOn",
|
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_
|
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
|
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
|
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
|
therefore not described in the SKINI Message Struct). The next two
|
||||||
|
|||||||
@@ -32,7 +32,7 @@ The top level distribution contains the following directories:
|
|||||||
This release of STK comes with four separate "project" directories:
|
This release of STK comes with four separate "project" directories:
|
||||||
|
|
||||||
<OL>
|
<OL>
|
||||||
<LI> The <I><B>demo</B></I> project is used to demonstrate nearly all of the STK instruments. The <I><B>demo</B></I> program has been written to allow a variety of control input and sound data output options. Simple graphical user interfaces (GUIs) are also provided.<P></LI>
|
<LI> The <I><B>demo</B></I> project is used to demonstrate nearly all of the STK instruments. The <I><B>stk-demo</B></I> program has been written to allow a variety of control input and sound data output options. Simple graphical user interfaces (GUIs) are also provided.<P></LI>
|
||||||
|
|
||||||
<LI> The <I><B>effects</B></I> project demonstrates realtime duplex mode (simultaneous audio input and output) operation, when available, as well as various delay-line based effects algorithms.<P></LI>
|
<LI> The <I><B>effects</B></I> project demonstrates realtime duplex mode (simultaneous audio input and output) operation, when available, as well as various delay-line based effects algorithms.<P></LI>
|
||||||
|
|
||||||
@@ -134,23 +134,23 @@ The <I><B>demo</B></I> project demonstrates the behavior of all the distributed
|
|||||||
|
|
||||||
See the information above with respect to compiling STK for non-realtime use.
|
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 <I>scores</I> directory of the <I><B>demo</B></I> project. Assuming a successful compilation of the <I><B>demo</B></I> 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 <I>scores</I> directory of the <I><B>demo</B></I> project. Assuming a successful compilation of the <I><B>stk-demo</B></I> program, typing:
|
||||||
|
|
||||||
\code
|
\code
|
||||||
demo BeeThree -ow myfile.wav -if scores/bookert.ski
|
stk-demo BeeThree -ow myfile.wav -if scores/bookert.ski
|
||||||
\endcode
|
\endcode
|
||||||
|
|
||||||
from the <I><B>demo</B></I> directory will play the scorefile <I>bookert.ski</I> 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 <TT>./</TT> to the program name if your default shell setup is not set to look in the current directory). Typing <TT>demo</TT> without any arguments will provide a full program usage description.
|
from the <I><B>demo</B></I> directory will play the scorefile <I>bookert.ski</I> 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 <TT>./</TT> to the program name if your default shell setup is not set to look in the current directory). Typing <TT>stk-demo</TT> without any arguments will provide a full program usage description.
|
||||||
|
|
||||||
|
|
||||||
\section rt Demo: Realtime Use
|
\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.
|
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.
|
||||||
<P>
|
<P>
|
||||||
Control input and audio output options are typically specified as command-line arguments to STK programs. For example, the <I><B>demo</B></I> program is invoked as:
|
Control input and audio output options are typically specified as command-line arguments to STK programs. For example, the <I><B>stk-demo</B></I> program is invoked as:
|
||||||
|
|
||||||
\code
|
\code
|
||||||
demo instrument flags
|
stk-demo instrument flags
|
||||||
\endcode
|
\endcode
|
||||||
|
|
||||||
where instruments include those described above and flags can be any or all of:
|
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:
|
|||||||
</UL>
|
</UL>
|
||||||
The <i>-ip</i> flag must be used when piping realtime SKINI control data to an STK program. The <i>-im</i> flag must be used to read MIDI control input from your MIDI port. Note that you can use both input types simultaneously.
|
The <i>-ip</i> flag must be used when piping realtime SKINI control data to an STK program. The <i>-im</i> 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 <I><B>demo</B></I> program, typing:
|
Assuming a successful compilation of the <I><B>stk-demo</B></I> program, typing:
|
||||||
|
|
||||||
\code
|
\code
|
||||||
demo BeeThree -or -if scores/bookert.ski
|
stk-demo BeeThree -or -if scores/bookert.ski
|
||||||
\endcode
|
\endcode
|
||||||
|
|
||||||
from the <I><B>demo</B></I> directory will play the scorefile <I>bookert.ski</I> using the STK BeeThree instrument and stream the resulting audio data in realtime to the audio output channel of your computer. Typing <TT>demo</TT> without any arguments will provide a full program usage description.
|
from the <I><B>demo</B></I> directory will play the scorefile <I>bookert.ski</I> using the STK BeeThree instrument and stream the resulting audio data in realtime to the audio output channel of your computer. Typing <TT>stk-demo</TT> without any arguments will provide a full program usage description.
|
||||||
|
|
||||||
|
|
||||||
\section tcl Realtime Control Input using Tcl/Tk Graphical User Interfaces:
|
\section tcl Realtime Control Input using Tcl/Tk Graphical User Interfaces:
|
||||||
@@ -181,7 +181,7 @@ from the <I><B>demo</B></I> directory will play the scorefile <I>bookert.ski</I>
|
|||||||
There are a number of <A HREF="http://dev.scriptics.com">Tcl/Tk</A> 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 <I>wish</I>). The Physical.bat script just implements the following command-line sequence:
|
There are a number of <A HREF="http://dev.scriptics.com">Tcl/Tk</A> 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 <I>wish</I>). The Physical.bat script just implements the following command-line sequence:
|
||||||
|
|
||||||
\code
|
\code
|
||||||
wish < tcl/Physical.tcl | demo Clarinet -or -ip
|
wish < tcl/Physical.tcl | stk-demo Clarinet -or -ip
|
||||||
\endcode
|
\endcode
|
||||||
|
|
||||||
\section midi Realtime MIDI Control Input:
|
\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:
|
On all supported realtime platforms, you can direct realtime MIDI input to the STK Clarinet by typing:
|
||||||
|
|
||||||
\code
|
\code
|
||||||
demo Clarinet -or -im
|
stk-demo Clarinet -or -im
|
||||||
\endcode
|
\endcode
|
||||||
|
|
||||||
This will attempt to use the default MIDI port for input. An optional MIDI port number can be specified after the <TT>-im</TT> 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.
|
This will attempt to use the default MIDI port for input. An optional MIDI port number can be specified after the <TT>-im</TT> 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:
|
\section polyphony Polyphony:
|
||||||
|
|
||||||
The <I><B>demo</B></I> program supports an arbitrary number of voices via the <TT>-n NUMBER</TT> 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 <I><B>stk-demo</B></I> program supports an arbitrary number of voices via the <TT>-n NUMBER</TT> 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
|
\code
|
||||||
demo BeeThree -n 8 -or -im
|
stk-demo BeeThree -n 8 -or -im
|
||||||
\endcode
|
\endcode
|
||||||
|
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -173,7 +173,7 @@ effects.cpp Effects demonstration program
|
|||||||
ragamatic.cpp Nirvana just waiting to happen
|
ragamatic.cpp Nirvana just waiting to happen
|
||||||
|
|
||||||
Skini.cpp SKINI file/message parser object
|
Skini.cpp SKINI file/message parser object
|
||||||
SKINI.msg #defines for often used and universal MIDI/SKINI symbols
|
SKINImsg.h #defines for often used and universal MIDI/SKINI symbols
|
||||||
SKINI.tbl Table of SKINI messages
|
SKINItbl.h Table of SKINI messages
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,15 @@
|
|||||||
|
This file contains instructions for integrating the STK in Xcode projects and solutions to common integration issues.
|
||||||
|
|
||||||
##Setup
|
##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. 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.
|
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. Move the STK directory within your project's directory.
|
||||||
1. Follow step 1 from **Setup**, add `stk/include` to the *Header Search Paths*.
|
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)!
|
###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)!`
|
`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. 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. 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:
|
1. Then add this code before using a class that needs the raw waves:
|
||||||
|
|||||||
@@ -202,8 +202,8 @@
|
|||||||
B08F60DE18BA9B1800C14A90 /* SingWave.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = SingWave.h; path = ../include/SingWave.h; sourceTree = "<group>"; };
|
B08F60DE18BA9B1800C14A90 /* SingWave.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = SingWave.h; path = ../include/SingWave.h; sourceTree = "<group>"; };
|
||||||
B08F60DF18BA9B1800C14A90 /* Sitar.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = Sitar.h; sourceTree = "<group>"; };
|
B08F60DF18BA9B1800C14A90 /* Sitar.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = Sitar.h; sourceTree = "<group>"; };
|
||||||
B08F60E018BA9B1800C14A90 /* Skini.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Skini.h; path = ../include/Skini.h; sourceTree = "<group>"; };
|
B08F60E018BA9B1800C14A90 /* Skini.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Skini.h; path = ../include/Skini.h; sourceTree = "<group>"; };
|
||||||
B08F60E118BA9B1800C14A90 /* SKINI.msg */ = {isa = PBXFileReference; lastKnownFileType = text; name = SKINI.msg; path = ../include/SKINI.msg; sourceTree = "<group>"; };
|
B08F60E118BA9B1800C14A90 /* SKINImsg.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = SKINImsg.h; path = ../include/SKINImsg.h; sourceTree = "<group>"; };
|
||||||
B08F60E218BA9B1800C14A90 /* SKINI.tbl */ = {isa = PBXFileReference; lastKnownFileType = text; name = SKINI.tbl; path = ../include/SKINI.tbl; sourceTree = "<group>"; };
|
B08F60E218BA9B1800C14A90 /* SKINItbl.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = SKINItbl.h; path = ../include/SKINItbl.h; sourceTree = "<group>"; };
|
||||||
B08F60E418BA9B1800C14A90 /* Sphere.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Sphere.h; path = ../include/Sphere.h; sourceTree = "<group>"; };
|
B08F60E418BA9B1800C14A90 /* Sphere.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Sphere.h; path = ../include/Sphere.h; sourceTree = "<group>"; };
|
||||||
B08F60E518BA9B1800C14A90 /* StifKarp.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = StifKarp.h; sourceTree = "<group>"; };
|
B08F60E518BA9B1800C14A90 /* StifKarp.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = StifKarp.h; sourceTree = "<group>"; };
|
||||||
B08F60E618BA9B1800C14A90 /* Stk.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Stk.h; path = ../include/Stk.h; sourceTree = "<group>"; };
|
B08F60E618BA9B1800C14A90 /* Stk.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Stk.h; path = ../include/Stk.h; sourceTree = "<group>"; };
|
||||||
@@ -666,8 +666,8 @@
|
|||||||
children = (
|
children = (
|
||||||
B08F60E018BA9B1800C14A90 /* Skini.h */,
|
B08F60E018BA9B1800C14A90 /* Skini.h */,
|
||||||
B08F617D18BA9B1800C14A90 /* Skini.cpp */,
|
B08F617D18BA9B1800C14A90 /* Skini.cpp */,
|
||||||
B08F60E118BA9B1800C14A90 /* SKINI.msg */,
|
B08F60E118BA9B1800C14A90 /* SKINImsg.h */,
|
||||||
B08F60E218BA9B1800C14A90 /* SKINI.tbl */,
|
B08F60E218BA9B1800C14A90 /* SKINItbl.h */,
|
||||||
);
|
);
|
||||||
name = SKINI;
|
name = SKINI;
|
||||||
path = ../src;
|
path = ../src;
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
|
|
||||||
#include "SKINI.msg"
|
#include "SKINImsg.h"
|
||||||
|
|
||||||
namespace stk {
|
namespace stk {
|
||||||
|
|
||||||
@@ -41,7 +41,7 @@ class Skini : public Stk
|
|||||||
|
|
||||||
//! A message structure to store and pass parsed SKINI messages.
|
//! A message structure to store and pass parsed SKINI messages.
|
||||||
struct Message {
|
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!). */
|
long channel; /*!< The message channel (not limited to 16!). */
|
||||||
StkFloat time; /*!< The message time stamp in seconds (delta or absolute). */
|
StkFloat time; /*!< The message time stamp in seconds (delta or absolute). */
|
||||||
std::vector<StkFloat> floatValues; /*!< The message values read as floats (values are type-specific). */
|
std::vector<StkFloat> floatValues; /*!< The message values read as floats (values are type-specific). */
|
||||||
|
|||||||
@@ -1 +1 @@
|
|||||||
wish < tcl/Banded.tcl | demo BandedWG -or -ip
|
wish < tcl/Banded.tcl | stk-demo BandedWG -or -ip
|
||||||
|
|||||||
@@ -1 +1 @@
|
|||||||
wish < tcl/Banded.tcl | demo BandedWG -or -ip
|
wish < tcl/Banded.tcl | stk-demo BandedWG -or -ip
|
||||||
|
|||||||
@@ -1 +1 @@
|
|||||||
wish < tcl/Drums.tcl | ./demo Drummer -or -ip
|
wish < tcl/Drums.tcl | stk-demo Drummer -or -ip
|
||||||
|
|||||||
@@ -1 +1 @@
|
|||||||
wish < tcl/Drums.tcl | demo Drummer -or -ip
|
wish < tcl/Drums.tcl | stk-demo Drummer -or -ip
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
### Do not edit -- Generated by 'configure --with-whatever' from Makefile.in
|
### Do not edit -- Generated by 'configure --with-whatever' from Makefile.in
|
||||||
### STK demo Makefile - for various flavors of unix
|
### STK demo Makefile - for various flavors of unix
|
||||||
|
|
||||||
PROGRAMS = demo
|
PROGRAMS = stk-demo
|
||||||
RM = /bin/rm
|
RM = /bin/rm
|
||||||
SRC_PATH = ../../src
|
SRC_PATH = ../../src
|
||||||
OBJECT_PATH = @object_path@
|
OBJECT_PATH = @object_path@
|
||||||
@@ -61,8 +61,8 @@ $(OBJECT_PATH)/.placeholder:
|
|||||||
mkdir -vp $(OBJECT_PATH)
|
mkdir -vp $(OBJECT_PATH)
|
||||||
touch $(OBJECT_PATH)/.placeholder
|
touch $(OBJECT_PATH)/.placeholder
|
||||||
|
|
||||||
demo: demo.cpp $(OBJECTS)
|
stk-demo: demo.cpp $(OBJECTS)
|
||||||
$(CC) $(LDFLAGS) $(CFLAGS) $(DEFS) -o demo demo.cpp $(OBJECT_PATH)/*.o $(LIBRARY)
|
$(CC) $(LDFLAGS) $(CFLAGS) $(DEFS) -o stk-demo demo.cpp $(OBJECT_PATH)/*.o $(LIBRARY)
|
||||||
|
|
||||||
libdemo: demo.cpp
|
libdemo: demo.cpp
|
||||||
$(CC) $(LDFLAGS) $(CFLAGS) $(DEFS) -o demo utilities.cpp demo.cpp -L../../src -lstk $(LIBRARY)
|
$(CC) $(LDFLAGS) $(CFLAGS) $(DEFS) -o demo utilities.cpp demo.cpp -L../../src -lstk $(LIBRARY)
|
||||||
|
|||||||
@@ -11,7 +11,7 @@
|
|||||||
/***************************************************/
|
/***************************************************/
|
||||||
|
|
||||||
#include "RtMidi.h"
|
#include "RtMidi.h"
|
||||||
#include "SKINI.msg"
|
#include "SKINImsg.h"
|
||||||
#include <iostream>
|
#include <iostream>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
|
|||||||
@@ -1 +1 @@
|
|||||||
wish < tcl/Modal.tcl | ./demo ModalBar -or -ip
|
wish < tcl/Modal.tcl | stk-demo ModalBar -or -ip
|
||||||
|
|||||||
@@ -1 +1 @@
|
|||||||
wish < tcl/Modal.tcl | demo ModalBar -or -ip
|
wish < tcl/Modal.tcl | stk-demo ModalBar -or -ip
|
||||||
|
|||||||
@@ -1 +1 @@
|
|||||||
wish < tcl/Physical.tcl | ./demo Clarinet -or -ip
|
wish < tcl/Physical.tcl | stk-demo Clarinet -or -ip
|
||||||
|
|||||||
@@ -1 +1 @@
|
|||||||
wish < tcl/Physical.tcl | demo Clarinet -or -ip
|
wish < tcl/Physical.tcl | stk-demo Clarinet -or -ip
|
||||||
|
|||||||
@@ -1 +1 @@
|
|||||||
wish < tcl/Shakers.tcl | ./demo Shakers -or -ip
|
wish < tcl/Shakers.tcl | stk-demo Shakers -or -ip
|
||||||
|
|||||||
@@ -1 +1 @@
|
|||||||
wish < tcl/Shakers.tcl | demo Shakers -or -ip
|
wish < tcl/Shakers.tcl | stk-demo Shakers -or -ip
|
||||||
|
|||||||
@@ -1 +1 @@
|
|||||||
wish < tcl/Demo.tcl | ./demo Clarinet -or -ip
|
wish < tcl/Demo.tcl | stk-demo Clarinet -or -ip
|
||||||
|
|||||||
@@ -1 +1 @@
|
|||||||
wish < tcl/Demo.tcl | demo Clarinet -or -ip
|
wish < tcl/Demo.tcl | stk-demo Clarinet -or -ip
|
||||||
|
|||||||
@@ -1 +1 @@
|
|||||||
wish < tcl/Voice.tcl | ./demo FMVoices -or -ip
|
wish < tcl/Voice.tcl | stk-demo FMVoices -or -ip
|
||||||
|
|||||||
@@ -1 +1 @@
|
|||||||
wish < tcl/Voice.tcl | demo FMVoices -or -ip
|
wish < tcl/Voice.tcl | stk-demo FMVoices -or -ip
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
// An example STK program that allows voice playback and control of
|
// An example STK program that allows voice playback and control of
|
||||||
// most of the STK instruments.
|
// most of the STK instruments.
|
||||||
|
|
||||||
#include "SKINI.msg"
|
#include "SKINImsg.h"
|
||||||
#include "WvOut.h"
|
#include "WvOut.h"
|
||||||
#include "Instrmnt.h"
|
#include "Instrmnt.h"
|
||||||
#include "JCRev.h"
|
#include "JCRev.h"
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
/************** Effects Program *********************/
|
/************** Effects Program *********************/
|
||||||
|
|
||||||
#include "Skini.h"
|
#include "Skini.h"
|
||||||
#include "SKINI.msg"
|
#include "SKINImsg.h"
|
||||||
#include "Envelope.h"
|
#include "Envelope.h"
|
||||||
#include "PRCRev.h"
|
#include "PRCRev.h"
|
||||||
#include "JCRev.h"
|
#include "JCRev.h"
|
||||||
|
|||||||
@@ -29,7 +29,7 @@
|
|||||||
// Gary P. Scavone, McGill University 2012.
|
// Gary P. Scavone, McGill University 2012.
|
||||||
|
|
||||||
#include "Guitar.h"
|
#include "Guitar.h"
|
||||||
#include "SKINI.msg"
|
#include "SKINImsg.h"
|
||||||
#include "WvOut.h"
|
#include "WvOut.h"
|
||||||
#include "JCRev.h"
|
#include "JCRev.h"
|
||||||
#include "Skini.h"
|
#include "Skini.h"
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
#include "BeeThree.h"
|
#include "BeeThree.h"
|
||||||
#include "RtAudio.h"
|
#include "RtAudio.h"
|
||||||
#include "Messager.h"
|
#include "Messager.h"
|
||||||
#include "SKINI.msg"
|
#include "SKINImsg.h"
|
||||||
#include <math.h>
|
#include <math.h>
|
||||||
#include <algorithm>
|
#include <algorithm>
|
||||||
using std::min;
|
using std::min;
|
||||||
|
|||||||
@@ -4,7 +4,7 @@
|
|||||||
#include "RtAudio.h"
|
#include "RtAudio.h"
|
||||||
#include "Messager.h"
|
#include "Messager.h"
|
||||||
#include "Voicer.h"
|
#include "Voicer.h"
|
||||||
#include "SKINI.msg"
|
#include "SKINImsg.h"
|
||||||
|
|
||||||
#include <algorithm>
|
#include <algorithm>
|
||||||
using std::min;
|
using std::min;
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
/************** Test Main Program Individual Voice *********************/
|
/************** Test Main Program Individual Voice *********************/
|
||||||
|
|
||||||
#include "SKINI.msg"
|
#include "SKINImsg.h"
|
||||||
#include "Instrmnt.h"
|
#include "Instrmnt.h"
|
||||||
#include "JCRev.h"
|
#include "JCRev.h"
|
||||||
#include "Drone.h"
|
#include "Drone.h"
|
||||||
|
|||||||
@@ -30,7 +30,7 @@
|
|||||||
/***************************************************/
|
/***************************************************/
|
||||||
|
|
||||||
#include "BandedWG.h"
|
#include "BandedWG.h"
|
||||||
#include "SKINI.msg"
|
#include "SKINImsg.h"
|
||||||
#include <cmath>
|
#include <cmath>
|
||||||
|
|
||||||
namespace stk {
|
namespace stk {
|
||||||
|
|||||||
@@ -17,7 +17,7 @@
|
|||||||
/***************************************************/
|
/***************************************************/
|
||||||
|
|
||||||
#include "BlowBotl.h"
|
#include "BlowBotl.h"
|
||||||
#include "SKINI.msg"
|
#include "SKINImsg.h"
|
||||||
|
|
||||||
namespace stk {
|
namespace stk {
|
||||||
|
|
||||||
|
|||||||
@@ -34,7 +34,7 @@
|
|||||||
/***************************************************/
|
/***************************************************/
|
||||||
|
|
||||||
#include "BlowHole.h"
|
#include "BlowHole.h"
|
||||||
#include "SKINI.msg"
|
#include "SKINImsg.h"
|
||||||
#include <cmath>
|
#include <cmath>
|
||||||
|
|
||||||
namespace stk {
|
namespace stk {
|
||||||
|
|||||||
@@ -25,7 +25,7 @@
|
|||||||
/***************************************************/
|
/***************************************************/
|
||||||
|
|
||||||
#include "Bowed.h"
|
#include "Bowed.h"
|
||||||
#include "SKINI.msg"
|
#include "SKINImsg.h"
|
||||||
|
|
||||||
namespace stk {
|
namespace stk {
|
||||||
|
|
||||||
|
|||||||
@@ -21,7 +21,7 @@
|
|||||||
/***************************************************/
|
/***************************************************/
|
||||||
|
|
||||||
#include "Brass.h"
|
#include "Brass.h"
|
||||||
#include "SKINI.msg"
|
#include "SKINImsg.h"
|
||||||
#include <cmath>
|
#include <cmath>
|
||||||
|
|
||||||
namespace stk {
|
namespace stk {
|
||||||
|
|||||||
@@ -23,7 +23,7 @@
|
|||||||
/***************************************************/
|
/***************************************************/
|
||||||
|
|
||||||
#include "Clarinet.h"
|
#include "Clarinet.h"
|
||||||
#include "SKINI.msg"
|
#include "SKINImsg.h"
|
||||||
|
|
||||||
namespace stk {
|
namespace stk {
|
||||||
|
|
||||||
|
|||||||
@@ -24,7 +24,7 @@
|
|||||||
/***************************************************/
|
/***************************************************/
|
||||||
|
|
||||||
#include "FM.h"
|
#include "FM.h"
|
||||||
#include "SKINI.msg"
|
#include "SKINImsg.h"
|
||||||
|
|
||||||
namespace stk {
|
namespace stk {
|
||||||
|
|
||||||
|
|||||||
@@ -31,7 +31,7 @@
|
|||||||
/***************************************************/
|
/***************************************************/
|
||||||
|
|
||||||
#include "FMVoices.h"
|
#include "FMVoices.h"
|
||||||
#include "SKINI.msg"
|
#include "SKINImsg.h"
|
||||||
#include "Phonemes.h"
|
#include "Phonemes.h"
|
||||||
|
|
||||||
namespace stk {
|
namespace stk {
|
||||||
|
|||||||
@@ -23,7 +23,7 @@
|
|||||||
/***************************************************/
|
/***************************************************/
|
||||||
|
|
||||||
#include "Flute.h"
|
#include "Flute.h"
|
||||||
#include "SKINI.msg"
|
#include "SKINImsg.h"
|
||||||
|
|
||||||
namespace stk {
|
namespace stk {
|
||||||
|
|
||||||
|
|||||||
@@ -31,7 +31,7 @@
|
|||||||
#include "Guitar.h"
|
#include "Guitar.h"
|
||||||
#include "FileWvIn.h"
|
#include "FileWvIn.h"
|
||||||
#include "Noise.h"
|
#include "Noise.h"
|
||||||
#include "SKINI.msg"
|
#include "SKINImsg.h"
|
||||||
#include <cmath>
|
#include <cmath>
|
||||||
|
|
||||||
namespace stk {
|
namespace stk {
|
||||||
|
|||||||
@@ -27,7 +27,7 @@
|
|||||||
/***************************************************/
|
/***************************************************/
|
||||||
|
|
||||||
#include "Mandolin.h"
|
#include "Mandolin.h"
|
||||||
#include "SKINI.msg"
|
#include "SKINImsg.h"
|
||||||
|
|
||||||
namespace stk {
|
namespace stk {
|
||||||
|
|
||||||
|
|||||||
@@ -25,7 +25,7 @@
|
|||||||
/***************************************************/
|
/***************************************************/
|
||||||
|
|
||||||
#include "Mesh2D.h"
|
#include "Mesh2D.h"
|
||||||
#include "SKINI.msg"
|
#include "SKINImsg.h"
|
||||||
|
|
||||||
namespace stk {
|
namespace stk {
|
||||||
|
|
||||||
|
|||||||
@@ -35,7 +35,7 @@
|
|||||||
#include "Messager.h"
|
#include "Messager.h"
|
||||||
#include <iostream>
|
#include <iostream>
|
||||||
#include <algorithm>
|
#include <algorithm>
|
||||||
#include "SKINI.msg"
|
#include "SKINImsg.h"
|
||||||
|
|
||||||
namespace stk {
|
namespace stk {
|
||||||
|
|
||||||
|
|||||||
@@ -29,7 +29,7 @@
|
|||||||
/***************************************************/
|
/***************************************************/
|
||||||
|
|
||||||
#include "ModalBar.h"
|
#include "ModalBar.h"
|
||||||
#include "SKINI.msg"
|
#include "SKINImsg.h"
|
||||||
#include <cmath>
|
#include <cmath>
|
||||||
|
|
||||||
namespace stk {
|
namespace stk {
|
||||||
|
|||||||
@@ -19,7 +19,7 @@
|
|||||||
/***************************************************/
|
/***************************************************/
|
||||||
|
|
||||||
#include "Moog.h"
|
#include "Moog.h"
|
||||||
#include "SKINI.msg"
|
#include "SKINImsg.h"
|
||||||
|
|
||||||
namespace stk {
|
namespace stk {
|
||||||
|
|
||||||
|
|||||||
@@ -18,7 +18,7 @@
|
|||||||
/***************************************************/
|
/***************************************************/
|
||||||
|
|
||||||
#include "Resonate.h"
|
#include "Resonate.h"
|
||||||
#include "SKINI.msg"
|
#include "SKINImsg.h"
|
||||||
|
|
||||||
namespace stk {
|
namespace stk {
|
||||||
|
|
||||||
|
|||||||
@@ -36,7 +36,7 @@
|
|||||||
/***************************************************/
|
/***************************************************/
|
||||||
|
|
||||||
#include "Saxofony.h"
|
#include "Saxofony.h"
|
||||||
#include "SKINI.msg"
|
#include "SKINImsg.h"
|
||||||
|
|
||||||
namespace stk {
|
namespace stk {
|
||||||
|
|
||||||
|
|||||||
@@ -49,7 +49,7 @@
|
|||||||
/***************************************************/
|
/***************************************************/
|
||||||
|
|
||||||
#include "Shakers.h"
|
#include "Shakers.h"
|
||||||
#include "SKINI.msg"
|
#include "SKINImsg.h"
|
||||||
|
|
||||||
namespace stk {
|
namespace stk {
|
||||||
|
|
||||||
|
|||||||
@@ -18,7 +18,7 @@
|
|||||||
/***************************************************/
|
/***************************************************/
|
||||||
|
|
||||||
#include "Simple.h"
|
#include "Simple.h"
|
||||||
#include "SKINI.msg"
|
#include "SKINImsg.h"
|
||||||
|
|
||||||
namespace stk {
|
namespace stk {
|
||||||
|
|
||||||
|
|||||||
@@ -24,7 +24,7 @@
|
|||||||
/***************************************************/
|
/***************************************************/
|
||||||
|
|
||||||
#include "Skini.h"
|
#include "Skini.h"
|
||||||
#include "SKINI.tbl"
|
#include "SKINItbl.h"
|
||||||
#include <cstdlib>
|
#include <cstdlib>
|
||||||
#include <sstream>
|
#include <sstream>
|
||||||
|
|
||||||
|
|||||||
@@ -22,7 +22,7 @@
|
|||||||
/***************************************************/
|
/***************************************************/
|
||||||
|
|
||||||
#include "StifKarp.h"
|
#include "StifKarp.h"
|
||||||
#include "SKINI.msg"
|
#include "SKINImsg.h"
|
||||||
#include <cmath>
|
#include <cmath>
|
||||||
|
|
||||||
namespace stk {
|
namespace stk {
|
||||||
|
|||||||
@@ -66,6 +66,7 @@ void Twang :: setFrequency( StkFloat frequency )
|
|||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
frequency_ = frequency;
|
||||||
// Delay = length - filter delay.
|
// Delay = length - filter delay.
|
||||||
StkFloat delay = ( Stk::sampleRate() / frequency ) - loopFilter_.phaseDelay( frequency );
|
StkFloat delay = ( Stk::sampleRate() / frequency ) - loopFilter_.phaseDelay( frequency );
|
||||||
delayLine_.setDelay( delay );
|
delayLine_.setDelay( delay );
|
||||||
|
|||||||
@@ -27,7 +27,7 @@
|
|||||||
|
|
||||||
#include "VoicForm.h"
|
#include "VoicForm.h"
|
||||||
#include "Phonemes.h"
|
#include "Phonemes.h"
|
||||||
#include "SKINI.msg"
|
#include "SKINImsg.h"
|
||||||
#include <cstring>
|
#include <cstring>
|
||||||
#include <cmath>
|
#include <cmath>
|
||||||
|
|
||||||
|
|||||||
@@ -17,7 +17,7 @@
|
|||||||
/***************************************************/
|
/***************************************************/
|
||||||
|
|
||||||
#include "Whistle.h"
|
#include "Whistle.h"
|
||||||
#include "SKINI.msg"
|
#include "SKINImsg.h"
|
||||||
#include <cmath>
|
#include <cmath>
|
||||||
|
|
||||||
namespace stk {
|
namespace stk {
|
||||||
|
|||||||
Reference in New Issue
Block a user