From 222f81c1c1289a80be5e7884bd944395cf2eeeaf Mon Sep 17 00:00:00 2001 From: Ariel Elkin Date: Fri, 2 May 2014 14:02:00 -0400 Subject: [PATCH 1/6] Rename SKINI.msg to SKINImsg.h and SKINI.tbl to SKINItbl.h --- iOS/STK.xcodeproj/project.pbxproj | 8 ++++---- include/{SKINI.msg => SKINImsg.h} | 0 include/{SKINI.tbl => SKINItbl.h} | 2 +- src/BandedWG.cpp | 2 +- src/BlowBotl.cpp | 2 +- src/BlowHole.cpp | 2 +- src/Bowed.cpp | 2 +- src/Brass.cpp | 2 +- src/Clarinet.cpp | 2 +- src/FM.cpp | 2 +- src/FMVoices.cpp | 2 +- src/Flute.cpp | 2 +- src/Guitar.cpp | 2 +- src/Mandolin.cpp | 2 +- src/Mesh2D.cpp | 2 +- src/Messager.cpp | 2 +- src/ModalBar.cpp | 2 +- src/Moog.cpp | 2 +- src/Resonate.cpp | 2 +- src/Saxofony.cpp | 2 +- src/Shakers.cpp | 2 +- src/Simple.cpp | 2 +- src/Skini.cpp | 2 +- src/StifKarp.cpp | 2 +- src/VoicForm.cpp | 2 +- src/Whistle.cpp | 2 +- 26 files changed, 28 insertions(+), 28 deletions(-) rename include/{SKINI.msg => SKINImsg.h} (100%) rename include/{SKINI.tbl => SKINItbl.h} (99%) 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/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/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 { From 1799064d6fb0cc01e4137b0e10b9731266c7d258 Mon Sep 17 00:00:00 2001 From: Ariel Elkin Date: Mon, 12 May 2014 15:22:07 -0400 Subject: [PATCH 2/6] Update README-iOS.md --- iOS/README-iOS.md | 24 +++++++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) 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: From cc568a58c115bb52fd8b0441e3bdd299935b9e7f Mon Sep 17 00:00:00 2001 From: Felipe Sateler Date: Mon, 9 Jun 2014 12:17:02 -0400 Subject: [PATCH 3/6] Rename demo program to stk-demo This allows distributors to ship the program, because demo is too generic a name --- .gitignore | 2 +- doc/doxygen/usage.txt | 26 +++++++++++++------------- projects/demo/Banded | 2 +- projects/demo/Banded.bat | 2 +- projects/demo/Drums | 2 +- projects/demo/Drums.bat | 2 +- projects/demo/Makefile.in | 6 +++--- projects/demo/Modal | 2 +- projects/demo/Modal.bat | 2 +- projects/demo/Physical | 2 +- projects/demo/Physical.bat | 2 +- projects/demo/Shakers | 2 +- projects/demo/Shakers.bat | 2 +- projects/demo/StkDemo | 2 +- projects/demo/StkDemo.bat | 2 +- projects/demo/Voice | 2 +- projects/demo/Voice.bat | 2 +- 17 files changed, 31 insertions(+), 31 deletions(-) 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/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:
    -
  1. 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.

  2. +
  3. 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.

  4. The effects project demonstrates realtime duplex mode (simultaneous audio input and output) operation, when available, as well as various delay-line based effects algorithms.

  5. @@ -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/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/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 From 0063a57dcb6a7d457adb93bf14eae30251b1152a Mon Sep 17 00:00:00 2001 From: Felipe Sateler Date: Mon, 9 Jun 2014 21:01:56 -0400 Subject: [PATCH 4/6] Bump soname with each release Imitate the libtool -release style of versioning, as long as the ABI is not stable --- configure.ac | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) 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 From a2be4bc72149ccdb3f29d4f7093f0bb4669ef0a6 Mon Sep 17 00:00:00 2001 From: Stephen Sinclair Date: Thu, 7 Aug 2014 11:53:21 +0200 Subject: [PATCH 5/6] Finish renaming SKINI.msg and SKINI.tbl to SKINImsg.h and SKINItbl.h, respectively. --- doc/SKINI.txt | 22 +++++++++++----------- doc/hierarchy.txt | 4 ++-- include/Skini.h | 2 +- projects/demo/Md2Skini.cpp | 2 +- projects/demo/demo.cpp | 2 +- projects/effects/effects.cpp | 2 +- projects/eguitar/eguitar.cpp | 2 +- projects/examples/controlbee.cpp | 2 +- projects/examples/threebees.cpp | 2 +- projects/ragamatic/ragamat.cpp | 2 +- 10 files changed, 21 insertions(+), 21 deletions(-) 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/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/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/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/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" From 4ce317a5a712f096cfb5e0826d0dde01451eb94c Mon Sep 17 00:00:00 2001 From: klf Date: Thu, 21 Aug 2014 10:01:57 +0100 Subject: [PATCH 6/6] fix Twang.cpp Was producing noise (values far in excess of +/- 1.0) reverted line removed since 4.4.4 --- src/Twang.cpp | 1 + 1 file changed, 1 insertion(+) 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 );