diff --git a/.gitignore b/.gitignore
index 68b9e66..fda3701 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,9 +1,17 @@
.DS_Store
-stuff
*.class
build
deploy
-plugins/**/*.java
+dist
+libs
plugins/**/*.jar
+plugins/build
gui-labs
-javafx
\ No newline at end of file
+javafx
+._redcar
+build.xml
+nbproject
+manifest.mf
+.rvmrc
+.irbrc
+insert-b4-grep.txt
\ No newline at end of file
diff --git a/.gitignore~ b/.gitignore~
new file mode 100644
index 0000000..c1f5ac0
--- /dev/null
+++ b/.gitignore~
@@ -0,0 +1,16 @@
+.DS_Store
+*.class
+build
+deploy
+dist
+plugins/**/*.jar
+plugins/build
+gui-labs
+javafx
+._redcar
+build.xml
+nbproject
+manifest.mf
+.rvmrc
+.irbrc
+insert-b4-grep.txt
\ No newline at end of file
diff --git a/Gemfile b/Gemfile
new file mode 100644
index 0000000..3028702
--- /dev/null
+++ b/Gemfile
@@ -0,0 +1,8 @@
+source 'https://rubygems.org'
+
+gem 'mirah'
+
+group :test do
+ gem 'rspec'
+ gem 'rake'
+end
\ No newline at end of file
diff --git a/README.md b/README.md
index 6198188..bc71602 100644
--- a/README.md
+++ b/README.md
@@ -1,70 +1,211 @@
-WARNING
+<<<<<<< HEAD
+Notes by weirdpercent
-------
+I love this project, it's a great idea that pulled me in the second I laid eyes on it. To all who have contributed to it, I thank you. This fork is all about revitalizing the concept and improving upon the technology. I fixed the Rakefile so that the default rake task (test) works with 'rspec' instead of 'spec.' In case you were wondering, I did some refactoring to change all 'Duby' references to the current language name 'Mirah.'
-rake spec is broken (the Rakefile needs some fixing), instead run:
- jruby -S spec -fs specs/opaz_plug_spec.rb
+I have created a roadmap and committed version 0.1. The changes are summarized in the **roadmap** folder. I've also issued a pull request, and will do so again at version 0.2. My hope is that this super branch can eventually be merged with the master. Versions 0.1 and 0.2 will update Opaz-PlugDK for JDK 1.6/JRuby 1.6.7.2 and JDK 1.7/JRuby 1.7.0.preview2 respectively. The overall goal of these changes is to update Opaz for Ruby 1.9 and Java 7. Once this is done, I will likely add more to the roadmap.
-WHAT'S THERE ?
+What is Opaz-PlugDK?
--------------
-Opaz-PlugDK makes it easier/faster to create portable (Mac OS X, Windows, Linux) VST 2 plugins.
+Opaz-PlugDK makes it fast and easy to create portable VST2 plugins for Mac OS X, Windows, and Linux. The code can be written in JRuby, Java, Mirah, or any combination of the three.
-You can mix and match JRuby, Duby and Java to implement the plugins.
+Quick Course
+------------
+
+* Documentation for Opaz-PlugDK and jVSTwRapper can be found in the **docs** folder
+* [Blog post by Thibaut](http://blog.logeek.fr/2009/11/17/how-to-prototype-vst-audio-plugins-with-jruby-and-java)
+* [Screencast by Daniel309](http://www.vimeo.com/8654173)
+
+
+
+Available Examples
+------------------
+
+About the examples in the plugin folder:
+
+* MirahGain, MirahFilta and MirahFreeComp mix JRuby (for declarative stuff) and Mirah (for computation)
+* HybridGain, HybridFilta and HybridSynth mix JRuby (for declarative stuff) and Java (for computation)
+* RubyDelay, RubyFreeComp and RubyGain are pure JRuby plugins
+* JavaDelay is a working pure Java plugin
+* InlineGain is an example of using inline Java for computation and JRuby for everything else
+* SuperSynth is [David Lowenfels'](http://github.com/dfl) pure JRuby contribution
+* SimplePlugin is the starter plugin for developers, similar to RubyGain but with more features.
+* The Stuff folder contains a mock VST host, a MIDI plugin skeleton, and an audio plugin skeleton, all written in Java.
+* ToneMatrix is an experimental plugin using the JavaFX 1.2.3 SDK
+
+NOTE: ToneMatrix is broken for now due to JavaFX deprecation issues. With the release of JavaFX 2.x, the creation of [GroovyFX](http://groovyfx.org/) and [ScalaFX](http://code.google.com/p/scalafx/), and the transition from JavaFX Script to [Visage](http://code.google.com/p/visage/), using FX to design plugin GUIs should **definitely** be explored some more. It's certainly on my list of ToDos. - weirdpercent
-QUICK COURSE
+Dependencies
+------------
+
+Required:
+
+* [Java JDK](http://www.oracle.com/technetwork/java/javase/downloads/index.html) (tested with version 1.6) - the JRE is not sufficient
+* [JRuby](http://www.jruby.org/download) (tested with version 1.6.7.2)
+* [RSpec](http://rspec.info/): gem install rspec (or on Windows: jruby -S gem install rspec)
+* [Mirah](http://www.mirah.org/): gem install mirah (or on Windows: jruby -S gem install mirah)
+
+Optional:
+
+* [JavaFX](http://www.oracle.com/technetwork/java/javafx/downloads/index.html): install the JavaFX SDK
+* [jVSTwRapper](http://jvstwrapper.sourceforge.net/): used by this project in JAR form
+* [JVSTHost](http://github.com/mhroth/jvsthost/) by Martin Roth: a VST host implemented in Java, a great way to load VST plugins running on the JVM!
+
+How to Build a Plugin
+---------------------
+
+You can build a single plugin like this:
+
+ rake package plugin=SimplePlugin
+
+The package system will create ready-to-use VST for Windows, Mac OS X and Linux under the build subfolder of the plugin. You can use SimplePlugin (or any other example) as a base to start developing your own. SimplePlugin includes an IRB interface and live reloading when source code changes.
+
+Build Order
+===========
+
+Things are currently compiled in this order:
+
+* src/* (Opaz stuff)
+* your_plugin/*.mirah
+* your_plugin/*.java
+* your_plugin/*.fx
+
+Plugins Status
+==============
+
+I'll post the results once I've tested and hacked on this project for a bit. - weirdpercent
+
+GUI Support
+-----------
+
+Basic GUI support is included. Example:
+
+ class MyEditor
+ def initialize(frame)
+ frame.setTitle("Hello from DefaultEditor!")
+ frame.setSize(400, 300)
+ end
+ end
+
+ class MyPlugin < OpazPlug
+ plugin "MyPlugin", "Opaz", "LoGeek"
+ # ...
+
+ editor MyEditor
+ end
+
+You'll be passed the main container frame so that you can add stuff in it.
+
+Live Debugging
+--------------
+
+Thanks to Daniel309, it's possible to enable live plugin patching through an IRB session.
+
+Tweak tasks/tools.rb around line 90 to enable the IRB debugging editor:
+
+ PluginUIClass=IRBPluginGUI
+
+Logging
+-------
+
+It's often useful to log some information while creating plugins. You can achieve this by calling "log" from within the plugin:
+
+ class MyPlugin < OpazPlug
+ def some_stuff
+ log("message!")
+ end
+ end
+
+The logs are written to a .txt file in the plugin folder.
+
+Notes
+-----
+
+The libs and templates folders are generated using rake prepare:templates and rake prepare:libs. Have a look at the rake file to see more about available tasks (compile, package, deploy).
+
+AUTHORS AND CONTRIBUTORS
+------------------------
+
+* [Thibaut Barrère](http://twitter.com/thibaut_barrere) and Daniel309 (author of [jVSTwRapper](http://jvstwrapper.sourceforge.net/)) for the whole thing
+* [Robert Pitts](http://github.com/rbxbx) for his test clean-up patch
+* Big thanks to [Charles Oliver Nutter](http://github.com/headius) for his help on JRuby/Mirah!
+* Thanks as well to [JFXtras](http://jfxtras.org/) for their implementation of SceneToJComponent.
+=======
+Introduction
+-------
+I love this project, it's a great idea that pulled me in the second I laid eyes on it. To all who have contributed to it, I thank you. This fork is all about revitalizing the concept and improving upon the technology. I fixed the Rakefile so that the default rake task (test) works with **rspec** instead of "spec." In case you were wondering, I did some refactoring to change all references to 'Duby' to the current language name 'Mirah.' - weirdpercent
+
+What is Opaz-PlugDK?
+--------------
+
+Opaz-PlugDK makes it fast and easy to create portable VST2 plugins for Mac OS X, Windows, and Linux. The code can be written in JRuby, Java, Mirah, or any combination of the three.
+
+Quick Course
------------
* [Blog post by Thibaut](http://blog.logeek.fr/2009/11/17/how-to-prototype-vst-audio-plugins-with-jruby-and-java)
* [Screencast by Daniel309](http://www.vimeo.com/8654173)
-AVAILABLE EXAMPLES
+Available Examples
------------------
-The examples are under the plugins folder:
+About the examples in the plugin folder:
-* DubyGain, DubyFilta and DubyFreeComp are reflecting our current work trend, ie: mix JRuby (for declarative stuff) and Duby (for computation)
+* MirahGain, MirahFilta and MirahFreeComp mix JRuby (for declarative stuff) and Mirah (for computation)
* HybridGain, HybridFilta and HybridSynth mix JRuby (for declarative stuff) and Java (for computation)
-* RubyDelay, RubyFreeComp and RubyGain are pure JRuby version
+* RubyDelay, RubyFreeComp and RubyGain are pure JRuby plugins
+* JavaDelay is a working pure Java plugin
+* InlineGain is an example of using inline Java for computation and JRuby for everything else
+* SuperSynth is [David Lowenfels'](http://github.com/dfl) pure JRuby contribution
+* SimplePlugin is the starter plugin for developers, similar to RubyGain but with more features.
+* The Stuff folder contains a mock VST host, a MIDI plugin skeleton, and an audio plugin skeleton, all written in Java.
+* ToneMatrix is an experimental plugin using the JavaFX 1.2.3 SDK
+
+NOTE: ToneMatrix is .gitignored for now due to JavaFX deprecation issues. With the release of JavaFX 2.x, the creation of [GroovyFX](http://groovyfx.org/) and [ScalaFX](http://code.google.com/p/scalafx/), and the transition from JavaFX Script to [Visage](http://code.google.com/p/visage/), using FX to design plugin GUIs should **definitely** be explored some more. - weirdpercent
-DEPENDENCIES
+Dependencies
------------
Required:
-* Java JDK (tested with version 1.6+) - the JRE is not sufficient
-* JRuby (tested with version 1.4.0)
+* [Java JDK](http://www.oracle.com/technetwork/java/javase/downloads/index.html) (tested with version 1.6) - the JRE is not sufficient
+* [JRuby](http://www.jruby.org/download) (tested with version 1.6.7.2)
+* [RSpec](http://rspec.info/): gem install rspec (or on Windows: jruby -S gem install rspec)
+* [Mirah](http://www.mirah.org/): gem install mirah (or on Windows: jruby -S gem install mirah)
Optional:
-* Mirah: jgem install mirah (or on Windows: jruby -S gem install mirah)
-* JavaFX: install the JavaFX SDK 1.2.3
+* [JavaFX](http://www.oracle.com/technetwork/java/javafx/downloads/index.html): install the JavaFX SDK
+* [jVSTwRapper](http://jvstwrapper.sourceforge.net/): used by this project in JAR form
+* [JVSTHost](http://github.com/mhroth/jvsthost/) by Martin Roth: a VST host implemented in Java, a great way to load VST plugins running on the JVM!
-HOW TO BUILD A PLUGIN
+How to Build a Plugin
---------------------
-See under plugins/ then use the available rake tasks to package one of them:
+You can build a single plugin like this:
- rake package plugin=DubyFreeComp
+ rake package plugin=SimplePlugin
-The package system will create ready-to-use VST for Windows, Mac OS X and Linux under the build subfolder of the plugin.
+The package system will create ready-to-use VST for Windows, Mac OS X and Linux under the build subfolder of the plugin. You can use SimplePlugin (or any other example) as a base to start developing your own. SimplePlugin includes an IRB interface and live reloading when source code changes.
-BUILD ORDER
+Build Order
===========
Things are currently compiled in this order:
* src/* (Opaz stuff)
-* your_plugin/*.duby
+* your_plugin/*.mirah
* your_plugin/*.java
* your_plugin/*.fx
-PLUGINS STATUS
+Plugins Status
==============
-All the plugins compile and are able to be loaded in Ableton Live, except the Ruby based ones (temporary issue).
+I'll post the results once I've tested and hacked on this project for a bit. - weirdpercent
-GUI SUPPORT
+GUI Support
-----------
Basic GUI support is included. Example:
@@ -85,7 +226,7 @@ Basic GUI support is included. Example:
You'll be passed the main container frame so that you can add stuff in it.
-LIVE DEBUGGING
+Live Debugging
--------------
Thanks to Daniel309, it's possible to enable live plugin patching through an IRB session.
@@ -94,10 +235,10 @@ Tweak tasks/tools.rb around line 90 to enable the IRB debugging editor:
PluginUIClass=IRBPluginGUI
-LOGGING
+Logging
-------
-It's often useful to log some informations while creating plugins. You can achieve this by calling "log" from the plugin:
+It's often useful to log some information while creating plugins. You can achieve this by calling "log" from within the plugin:
class MyPlugin < OpazPlug
def some_stuff
@@ -105,9 +246,9 @@ It's often useful to log some informations while creating plugins. You can achie
end
end
-The logs end up inside some txt file in the plugin folder.
+The logs are written to a .txt file in the plugin folder.
-NOTES
+Notes
-----
The libs and templates folders are generated using rake prepare:templates and rake prepare:libs. Have a look at the rake file to see more about available tasks (compile, package, deploy).
@@ -117,5 +258,7 @@ AUTHORS AND CONTRIBUTORS
* [Thibaut Barrère](http://twitter.com/thibaut_barrere) and Daniel309 (author of [jVSTwRapper](http://jvstwrapper.sourceforge.net/)) for the whole thing
* [Robert Pitts](http://github.com/rbxbx) for his test clean-up patch
-* Big thanks to Charles Oliver Nutter for his help on JRuby/Duby!
-* Thanks as well to JFXtras for their implementation of SceneToJComponent.
\ No newline at end of file
+* Big thanks to [Charles Oliver Nutter](http://github.com/headius) for his help on JRuby/Mirah!
+* Thanks as well to [JFXtras](http://jfxtras.org/) for their implementation of SceneToJComponent.
+>>>>>>> origin/super
+* Thanks to [David Lowenfels](http://github.com/dfl) for his **super** branch that inspired me to begin contributing to Opaz-PlugDK.
\ No newline at end of file
diff --git a/Rakefile b/Rakefile
index 6e7b4ba..de19d59 100644
--- a/Rakefile
+++ b/Rakefile
@@ -1,29 +1,39 @@
+#noinspection RubyResolve
require 'rake/clean'
+require 'FileUtils'
require 'tasks/tools'
require 'tasks/prepare'
include Opaz::Tools
plugin_name = ENV['plugin']
message = "Specify a plugin with 'rake compile package deploy plugin=Delay'"
+#noinspection RubyArgCount
abort(message) unless plugin_name || ARGV == []
puts "Remember: #{message}"
PLUGIN_NAME = plugin_name || ""
-JAR_SEP = jar_separator(Config::CONFIG['host_os'])
+#noinspection RubyResolve
+JAR_SEP = jar_separator(RbConfig::CONFIG['host_os'])
BASE_JARS = FileList['libs/*.jar'].map { |e| File.expand_path(e) }
BASE_CLASSPATH = BASE_JARS.join(JAR_SEP)
-
-PLUGIN_FOLDER = File.join('plugins',PLUGIN_NAME)
+PLUGIN_FOLDER = File.join('plugins', PLUGIN_NAME)
+
+#noinspection RubyArgCount
abort("Plugin folder #{PLUGIN_FOLDER} does not exist!") unless File.exist?(PLUGIN_FOLDER)
PLUGIN_BUILD_FOLDER = File.join(PLUGIN_FOLDER, 'build')
-PLUGIN_TYPE = Dir["#{PLUGIN_FOLDER}/*.rb"].empty? ? 'java' : 'ruby'
+PLUGIN_TYPE = Dir["#{PLUGIN_FOLDER}/*.rb"].empty? ? 'java' : 'ruby'
+#noinspection RubyResolve
CLEAN.include "src/build"
+#noinspection RubyResolve
CLEAN.include PLUGIN_BUILD_FOLDER
-CLEAN.include Dir[File.join(PLUGIN_FOLDER, "*.mirah")].map { |e| e.gsub('.mirah','.java')}
+#noinspection RubyResolve
+CLEAN.include Dir[File.join(PLUGIN_FOLDER, "*.mirah")].map { |e| e.gsub('.mirah', '.java') }
+#noinspection RubyResolve
CLEAN.include File.join(PLUGIN_FOLDER, "compiled")
+#noinspection RubyResolve
CLEAN.include File.join(PLUGIN_FOLDER, "*.class") # legacy - no more .class will be here once clean upgrade
# ====================== common =======================
@@ -52,7 +62,7 @@ file "#{PLUGIN_FOLDER}/*.mirah" do |t|
end
end
-file "#{PLUGIN_FOLDER}/*.java" => [PLUGIN_BUILD_FOLDER+'/common','src/build/OpazPlug.jar'] do |t|
+file "#{PLUGIN_FOLDER}/*.java" => [PLUGIN_BUILD_FOLDER+'/common', 'src/build/OpazPlug.jar'] do |t|
unless Dir[t.name].empty?
classpath = (BASE_JARS + ['src/build/OpazPlug.jar']).join(JAR_SEP)
system! "javac #{t.name} -classpath #{classpath} -d #{PLUGIN_BUILD_FOLDER}/common"
@@ -71,23 +81,23 @@ file "#{PLUGIN_FOLDER}/*.rb" => PLUGIN_BUILD_FOLDER+'/common' do |t|
end
end
-file "#{PLUGIN_BUILD_FOLDER}/common/Plugin.jar" => ["#{PLUGIN_FOLDER}/*.mirah","#{PLUGIN_FOLDER}/*.java","#{PLUGIN_FOLDER}/*.fx"] do |t|
+file "#{PLUGIN_BUILD_FOLDER}/common/Plugin.jar" => ["#{PLUGIN_FOLDER}/*.mirah", "#{PLUGIN_FOLDER}/*.java", "#{PLUGIN_FOLDER}/*.fx"] do |_|
unless Dir[PLUGIN_BUILD_FOLDER + '/common/*.class'].empty?
in_folder(PLUGIN_BUILD_FOLDER + '/common') do
- system! "jar -cf Plugin.jar *.class"
+ system! "jar -cf Plugin.jar *.class"
Dir["*.class"].each { |f| rm f }
end
end
end
-task :default => :compile
-
+desc "Compile all sources"
task :compile => ["#{PLUGIN_BUILD_FOLDER}/common/Plugin.jar", PLUGIN_FOLDER+"/*.rb"] do
cp "src/build/OpazPlug.jar", PLUGIN_BUILD_FOLDER + '/common'
Dir["src/*.rb"].each { |f| cp f, PLUGIN_BUILD_FOLDER + '/common' }
end
desc "Package the plugin for each platform"
+#noinspection RubyResolve
task :package => ['src/build/OpazPlug.jar', :compile] do
package_plugin(PLUGIN_NAME, PLUGIN_FOLDER, [running_platform]) do |config|
if PLUGIN_TYPE == 'ruby'
@@ -116,7 +126,7 @@ task :default => :spec
desc "Launch OpazPlugDK tests"
task :spec do
- system!("jruby -S spec -fs specs/opaz_plug_spec.rb")
+ system!("jruby -S rspec -fs specs/opaz_plug_spec.rb")
end
desc "Start a console"
@@ -132,4 +142,4 @@ task :console do
require 'irb'
require 'irb/completion'
IRB.start
-end
\ No newline at end of file
+end
diff --git a/Rakefile~ b/Rakefile~
new file mode 100644
index 0000000..04fb084
--- /dev/null
+++ b/Rakefile~
@@ -0,0 +1,144 @@
+#noinspection RubyResolve
+require 'rake/clean'
+require 'tasks/tools'
+require 'tasks/prepare'
+
+include Opaz::Tools
+plugin_name = ENV['plugin']
+message = "Specify a plugin with 'rake compile package deploy plugin=Delay'"
+#noinspection RubyArgCount
+abort(message) unless plugin_name || ARGV == []
+puts "Remember: #{message}"
+PLUGIN_NAME = plugin_name || ""
+
+#noinspection RubyResolve
+JAR_SEP = jar_separator(RbConfig::CONFIG['host_os'])
+BASE_JARS = FileList['libs/*.jar'].map { |e| File.expand_path(e) }
+BASE_CLASSPATH = BASE_JARS.join(JAR_SEP)
+
+PLUGIN_FOLDER = File.join('plugins', PLUGIN_NAME)
+
+#noinspection RubyArgCount
+abort("Plugin folder #{PLUGIN_FOLDER} does not exist!") unless File.exist?(PLUGIN_FOLDER)
+
+PLUGIN_BUILD_FOLDER = File.join(PLUGIN_FOLDER, 'build')
+PLUGIN_TYPE = Dir["#{PLUGIN_FOLDER}/*.rb"].empty? ? 'java' : 'ruby'
+
+#noinspection RubyResolve
+CLEAN.include "src/build"
+#noinspection RubyResolve
+CLEAN.include PLUGIN_BUILD_FOLDER
+#noinspection RubyResolve
+CLEAN.include Dir[File.join(PLUGIN_FOLDER, "*.mirah")].map { |e| e.gsub('.mirah', '.java') }
+#noinspection RubyResolve
+CLEAN.include File.join(PLUGIN_FOLDER, "compiled")
+#noinspection RubyResolve
+CLEAN.include File.join(PLUGIN_FOLDER, "*.class") # legacy - no more .class will be here once clean upgrade
+
+# ====================== common =======================
+
+file 'src/build' do |t|
+ FileUtils.mkdir t.name
+end
+
+file 'src/build/*.class' => 'src/build' do
+ in_folder('src') { system! "javac *.java -classpath #{BASE_CLASSPATH} -d build" }
+end
+
+file 'src/build/OpazPlug.jar' => 'src/build/*.class' do
+ in_folder('src/build') { system! "jar -cf OpazPlug.jar *.class" }
+end
+
+# ====================== plugin =======================
+
+file PLUGIN_BUILD_FOLDER + '/common' do |t|
+ FileUtils.mkdir_p t.name
+end
+
+file "#{PLUGIN_FOLDER}/*.mirah" do |t|
+ Dir[t.name].each do |file|
+ in_folder(File.dirname(file)) { system!("#{mirahc_command} --java #{File.basename(file)}") }
+ end
+end
+
+file "#{PLUGIN_FOLDER}/*.java" => [PLUGIN_BUILD_FOLDER+'/common', 'src/build/OpazPlug.jar'] do |t|
+ unless Dir[t.name].empty?
+ classpath = (BASE_JARS + ['src/build/OpazPlug.jar']).join(JAR_SEP)
+ system! "javac #{t.name} -classpath #{classpath} -d #{PLUGIN_BUILD_FOLDER}/common"
+ end
+end
+
+file "#{PLUGIN_FOLDER}/*.fx" => PLUGIN_BUILD_FOLDER+'/common' do |t|
+ Dir[t.name].each do |file|
+ in_folder(File.dirname(file)) { system!("javafxc #{File.basename(file)} -d build/common") }
+ end
+end
+
+file "#{PLUGIN_FOLDER}/*.rb" => PLUGIN_BUILD_FOLDER+'/common' do |t|
+ Dir[t.name].each do |file|
+ cp(file, PLUGIN_BUILD_FOLDER + '/common')
+ end
+end
+
+file "#{PLUGIN_BUILD_FOLDER}/common/Plugin.jar" => ["#{PLUGIN_FOLDER}/*.mirah", "#{PLUGIN_FOLDER}/*.java", "#{PLUGIN_FOLDER}/*.fx"] do |_|
+ unless Dir[PLUGIN_BUILD_FOLDER + '/common/*.class'].empty?
+ in_folder(PLUGIN_BUILD_FOLDER + '/common') do
+ system! "jar -cf Plugin.jar *.class"
+ Dir["*.class"].each { |f| rm f }
+ end
+ end
+end
+
+desc "Compile all sources"
+task :compile => ["#{PLUGIN_BUILD_FOLDER}/common/Plugin.jar", PLUGIN_FOLDER+"/*.rb"] do
+ cp "src/build/OpazPlug.jar", PLUGIN_BUILD_FOLDER + '/common'
+ Dir["src/*.rb"].each { |f| cp f, PLUGIN_BUILD_FOLDER + '/common' }
+end
+
+desc "Package the plugin for each platform"
+#noinspection RubyResolve
+task :package => ['src/build/OpazPlug.jar', :compile] do
+ package_plugin(PLUGIN_NAME, PLUGIN_FOLDER, [running_platform]) do |config|
+ if PLUGIN_TYPE == 'ruby'
+ config << "# Do not change"
+ config << "PluginClass=JRubyVSTPluginProxy"
+ config << "RubyPlugin=#{PLUGIN_NAME}"
+ else
+ config << "PluginClass=#{PLUGIN_NAME}"
+ # TODO - tweak your GUI definition if it's not matching the convention
+ config << "PluginUIClass=#{PLUGIN_NAME}GUI"
+ end
+ end
+end
+
+desc "Deploy the plugin to ./deploy with others - point your vst host to ./deploy or symlink"
+task :deploy => [:clean, :package] do
+ target_folder = File.dirname(__FILE__) + '/deploy'
+ Dir["#{PLUGIN_FOLDER}/build/#{running_platform}/*"].each do |plugin|
+ target_plugin = "#{target_folder}/#{plugin.split('/').last}"
+ rm_rf(target_plugin) if File.exist?(target_plugin)
+ cp_r plugin, target_plugin
+ end
+end
+
+task :default => :spec
+
+desc "Launch OpazPlugDK tests"
+task :spec do
+ system!("jruby -S rspec -fs specs/opaz_plug_spec.rb")
+end
+
+desc "Start a console"
+task :console do
+ abort "Please run this task using jrake" unless defined?(RUBY_ENGINE) && RUBY_ENGINE == "jruby"
+ ARGV.clear #Avoid passing args to IRB
+ require 'java'
+ $CLASSPATH << 'libs'
+ $LOAD_PATH << 'src'
+ require 'jVSTwRapper-1.0beta.jar'
+ require 'jVSTsYstem-1.0beta.jar'
+ require 'opaz_plug'
+ require 'irb'
+ require 'irb/completion'
+ IRB.start
+end
diff --git a/docs/javadoc/jvstsystem/allclasses-frame.html b/docs/javadoc/jvstsystem/allclasses-frame.html
new file mode 100644
index 0000000..387c28f
--- /dev/null
+++ b/docs/javadoc/jvstsystem/allclasses-frame.html
@@ -0,0 +1,56 @@
+
+
+
+
+
+
+
+All Classes (jVSTsYstem 1.0beta API)
+
+
+
+
+
+
+
+
+
+
+
+All Classes
+
+
+
+
+
+
diff --git a/docs/javadoc/jvstsystem/allclasses-noframe.html b/docs/javadoc/jvstsystem/allclasses-noframe.html
new file mode 100644
index 0000000..ae3576a
--- /dev/null
+++ b/docs/javadoc/jvstsystem/allclasses-noframe.html
@@ -0,0 +1,56 @@
+
+
+
+
+
+
+
+All Classes (jVSTsYstem 1.0beta API)
+
+
+
+
+
+
+
+
+
+
+
+All Classes
+
+
+
+
+
+
diff --git a/docs/javadoc/jvstsystem/constant-values.html b/docs/javadoc/jvstsystem/constant-values.html
new file mode 100644
index 0000000..25e9744
--- /dev/null
+++ b/docs/javadoc/jvstsystem/constant-values.html
@@ -0,0 +1,959 @@
+
+
+
+
+
+
+
+Constant Field Values (jVSTsYstem 1.0beta API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constant Field Values
+
+
+Contents
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2012. All Rights Reserved.
+
+
diff --git a/docs/javadoc/jvstsystem/deprecated-list.html b/docs/javadoc/jvstsystem/deprecated-list.html
new file mode 100644
index 0000000..bfb9f37
--- /dev/null
+++ b/docs/javadoc/jvstsystem/deprecated-list.html
@@ -0,0 +1,179 @@
+
+
+
+
+
+
+
+Deprecated List (jVSTsYstem 1.0beta API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Deprecated API
+
+
+Contents
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2012. All Rights Reserved.
+
+
diff --git a/docs/javadoc/jvstsystem/help-doc.html b/docs/javadoc/jvstsystem/help-doc.html
new file mode 100644
index 0000000..b65bdbe
--- /dev/null
+++ b/docs/javadoc/jvstsystem/help-doc.html
@@ -0,0 +1,216 @@
+
+
+
+
+
+
+
+API Help (jVSTsYstem 1.0beta API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+How This API Document Is Organized
+
+This API (Application Programming Interface) document has pages corresponding to the items in the navigation bar, described as follows.
+Package
+
+
+
+Each package has a page that contains a list of its classes and interfaces, with a summary for each. This page can contain four categories:
+Interfaces (italic) Classes Enums Exceptions Errors Annotation Types
+
+
+Class/Interface
+
+
+
+Each class, interface, nested class and nested interface has its own separate page. Each of these pages has three sections consisting of a class/interface description, summary tables, and detailed member descriptions:
+Class inheritance diagram Direct Subclasses All Known Subinterfaces All Known Implementing Classes Class/interface declaration Class/interface description
+
+
Nested Class Summary Field Summary Constructor Summary Method Summary
+
+
Field Detail Constructor Detail Method Detail
+Each summary entry contains the first sentence from the detailed description for that item. The summary entries are alphabetical, while the detailed descriptions are in the order they appear in the source code. This preserves the logical groupings established by the programmer.
+
+
+Annotation Type
+
+
+
+Each annotation type has its own separate page with the following sections:
+Annotation Type declaration Annotation Type description Required Element Summary Optional Element Summary Element Detail
+
+
+
+Enum
+
+
+
+Each enum has its own separate page with the following sections:
+Enum declaration Enum description Enum Constant Summary Enum Constant Detail
+
+
+Use
+
+Each documented package, class and interface has its own Use page. This page describes what packages, classes, methods, constructors and fields use any part of the given class or package. Given a class or interface A, its Use page includes subclasses of A, fields declared as A, methods that return A, and methods and constructors with parameters of type A. You can access this page by first going to the package, class or interface, then clicking on the "Use" link in the navigation bar.
+
+Tree (Class Hierarchy)
+
+There is a Class Hierarchy page for all packages, plus a hierarchy for each package. Each hierarchy page contains a list of classes and a list of interfaces. The classes are organized by inheritance structure starting with java.lang.Object. The interfaces do not inherit from java.lang.Object.
+When viewing the Overview page, clicking on "Tree" displays the hierarchy for all packages. When viewing a particular package, class or interface page, clicking "Tree" displays the hierarchy for only that package.
+
+
+Deprecated API
+
+The Deprecated API page lists all of the API that have been deprecated. A deprecated API is not recommended for use, generally due to improvements, and a replacement API is usually given. Deprecated APIs may be removed in future implementations.
+
+Index
+
+The Index contains an alphabetic list of all classes, interfaces, constructors, methods, and fields.
+
+Prev/Next
+These links take you to the next or previous class, interface, package, or related page.
+Frames/No Frames
+These links show and hide the HTML frames. All pages are available with or without frames.
+
+
+Serialized Form
+Each serializable or externalizable class has a description of its serialization fields and methods. This information is of interest to re-implementors, not to developers using the API. While there is no link in the navigation bar, you can get to this information by going to any serialized class and clicking "Serialized Form" in the "See also" section of the class description.
+
+
+Constant Field Values
+The Constant Field Values page lists the static final fields and their values.
+
+
+
+This help file applies to API documentation generated using the standard doclet.
+
+
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2012. All Rights Reserved.
+
+
diff --git a/docs/javadoc/jvstsystem/index-all.html b/docs/javadoc/jvstsystem/index-all.html
new file mode 100644
index 0000000..6e2c4e7
--- /dev/null
+++ b/docs/javadoc/jvstsystem/index-all.html
@@ -0,0 +1,1074 @@
+
+
+
+
+
+
+
+Index (jVSTsYstem 1.0beta API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+B D F G J M N R S T V
+
+B
+
+byteSize -
+Variable in class jvst.wrapper.valueobjects.VSTEvent
+
+
+
+
+D
+
+data -
+Variable in class jvst.wrapper.valueobjects.VSTEvent
+
+ deltaFrames -
+Variable in class jvst.wrapper.valueobjects.VSTEvent
+
+ detune -
+Variable in class jvst.wrapper.valueobjects.VSTMidiEvent
+
+
+
+
+F
+
+FLAG_MidiEventIsRealtime -
+Static variable in class jvst.wrapper.valueobjects.VSTMidiEvent
+
+ flags -
+Variable in class jvst.wrapper.valueobjects.VSTEvent
+
+
+
+
+G
+
+getArrangementType() -
+Method in class jvst.wrapper.valueobjects.VSTPinProperties
+
+ getAzimuth() -
+Method in class jvst.wrapper.valueobjects.VSTSpeakerProperties
+
+ getBarStartPos() -
+Method in class jvst.wrapper.valueobjects.VSTTimeInfo
+
+ getByteSize() -
+Method in class jvst.wrapper.valueobjects.VSTEvent
+
+ getCategory() -
+Method in class jvst.wrapper.valueobjects.VSTParameterProperties
+
+ getCategoryLabel() -
+Method in class jvst.wrapper.valueobjects.VSTParameterProperties
+
+ getCycleEndPos() -
+Method in class jvst.wrapper.valueobjects.VSTTimeInfo
+
+ getCycleStartPos() -
+Method in class jvst.wrapper.valueobjects.VSTTimeInfo
+
+ getData() -
+Method in class jvst.wrapper.valueobjects.VSTEvent
+
+ getDeltaFrames() -
+Method in class jvst.wrapper.valueobjects.VSTEvent
+
+ getDetune() -
+Method in class jvst.wrapper.valueobjects.VSTMidiEvent
+
+ getDisplayIndex() -
+Method in class jvst.wrapper.valueobjects.VSTParameterProperties
+
+ getElevation() -
+Method in class jvst.wrapper.valueobjects.VSTSpeakerProperties
+
+ getEvents() -
+Method in class jvst.wrapper.valueobjects.VSTEvents
+
+ getFlags() -
+Method in class jvst.wrapper.valueobjects.MidiKeyName
+
+ getFlags() -
+Method in class jvst.wrapper.valueobjects.MidiProgramCategory
+
+ getFlags() -
+Method in class jvst.wrapper.valueobjects.MidiProgramName
+
+ getFlags() -
+Method in class jvst.wrapper.valueobjects.VSTEvent
+
+ getFlags() -
+Method in class jvst.wrapper.valueobjects.VSTParameterProperties
+
+ getFlags() -
+Method in class jvst.wrapper.valueobjects.VSTPinProperties
+
+ getFlags() -
+Method in class jvst.wrapper.valueobjects.VSTTimeInfo
+
+ getFuture() -
+Method in class jvst.wrapper.valueobjects.VSTParameterProperties
+
+ getFuture() -
+Method in class jvst.wrapper.valueobjects.VSTSpeakerProperties
+
+ getInputs() -
+Method in class jvst.wrapper.valueobjects.VSTVariableIO
+
+ getKeyName() -
+Method in class jvst.wrapper.valueobjects.MidiKeyName
+
+ getLabel() -
+Method in class jvst.wrapper.valueobjects.VSTParameterProperties
+
+ getLabel() -
+Method in class jvst.wrapper.valueobjects.VSTPinProperties
+
+ getLargeStepFloat() -
+Method in class jvst.wrapper.valueobjects.VSTParameterProperties
+
+ getLargeStepInteger() -
+Method in class jvst.wrapper.valueobjects.VSTParameterProperties
+
+ getMaxInteger() -
+Method in class jvst.wrapper.valueobjects.VSTParameterProperties
+
+ getMidiBankLsb() -
+Method in class jvst.wrapper.valueobjects.MidiProgramName
+
+ getMidiBankMsb() -
+Method in class jvst.wrapper.valueobjects.MidiProgramName
+
+ getMidiProgram() -
+Method in class jvst.wrapper.valueobjects.MidiProgramName
+
+ getMinInteger() -
+Method in class jvst.wrapper.valueobjects.VSTParameterProperties
+
+ getName() -
+Method in class jvst.wrapper.valueobjects.MidiProgramCategory
+
+ getName() -
+Method in class jvst.wrapper.valueobjects.MidiProgramName
+
+ getName() -
+Method in class jvst.wrapper.valueobjects.VSTSpeakerProperties
+
+ getNanoSeconds() -
+Method in class jvst.wrapper.valueobjects.VSTTimeInfo
+
+ getNoteLength() -
+Method in class jvst.wrapper.valueobjects.VSTMidiEvent
+
+ getNoteOffset() -
+Method in class jvst.wrapper.valueobjects.VSTMidiEvent
+
+ getNoteOffVelocity() -
+Method in class jvst.wrapper.valueobjects.VSTMidiEvent
+
+ getNumChannels() -
+Method in class jvst.wrapper.valueobjects.VSTSpeakerArrangement
+
+ getNumEvents() -
+Method in class jvst.wrapper.valueobjects.VSTEvents
+
+ getNumParametersInCategory() -
+Method in class jvst.wrapper.valueobjects.VSTParameterProperties
+
+ getNumSamplesInput() -
+Method in class jvst.wrapper.valueobjects.VSTVariableIO
+
+ getNumSamplesInputProcessed() -
+Method in class jvst.wrapper.valueobjects.VSTVariableIO
+
+ getNumSamplesOutput() -
+Method in class jvst.wrapper.valueobjects.VSTVariableIO
+
+ getNumSamplesOutputProcessed() -
+Method in class jvst.wrapper.valueobjects.VSTVariableIO
+
+ getOutputs() -
+Method in class jvst.wrapper.valueobjects.VSTVariableIO
+
+ getParentCategoryIndex() -
+Method in class jvst.wrapper.valueobjects.MidiProgramCategory
+
+ getParentCategoryIndex() -
+Method in class jvst.wrapper.valueobjects.MidiProgramName
+
+ getPPQPos() -
+Method in class jvst.wrapper.valueobjects.VSTTimeInfo
+
+ getRadius() -
+Method in class jvst.wrapper.valueobjects.VSTSpeakerProperties
+
+ getReserved() -
+Method in class jvst.wrapper.valueobjects.MidiKeyName
+
+ getReserved() -
+Method in class jvst.wrapper.valueobjects.MidiProgramName
+
+ getReserved() -
+Method in class jvst.wrapper.valueobjects.VSTEvents
+
+ getReserved() -
+Method in class jvst.wrapper.valueobjects.VSTParameterProperties
+
+ getReserved() -
+Method in class jvst.wrapper.valueobjects.VSTSpeakerProperties
+
+ getReserved1() -
+Method in class jvst.wrapper.valueobjects.VSTMidiEvent
+
+ getReserved2() -
+Method in class jvst.wrapper.valueobjects.VSTMidiEvent
+
+ getSamplePos() -
+Method in class jvst.wrapper.valueobjects.VSTTimeInfo
+
+ getSampleRate() -
+Method in class jvst.wrapper.valueobjects.VSTTimeInfo
+
+ getSamplesToNextClock() -
+Method in class jvst.wrapper.valueobjects.VSTTimeInfo
+
+ getShortLabel() -
+Method in class jvst.wrapper.valueobjects.VSTParameterProperties
+
+ getShortLabel() -
+Method in class jvst.wrapper.valueobjects.VSTPinProperties
+
+ getSmallStepFloat() -
+Method in class jvst.wrapper.valueobjects.VSTParameterProperties
+
+ getSMPTEFrameRate() -
+Method in class jvst.wrapper.valueobjects.VSTTimeInfo
+
+ getSMPTEOffset() -
+Method in class jvst.wrapper.valueobjects.VSTTimeInfo
+
+ getSpeakers() -
+Method in class jvst.wrapper.valueobjects.VSTSpeakerArrangement
+
+ getStepFloat() -
+Method in class jvst.wrapper.valueobjects.VSTParameterProperties
+
+ getStepInteger() -
+Method in class jvst.wrapper.valueobjects.VSTParameterProperties
+
+ getTempo() -
+Method in class jvst.wrapper.valueobjects.VSTTimeInfo
+
+ getThisCategoryIndex() -
+Method in class jvst.wrapper.valueobjects.MidiProgramCategory
+
+ getThisKeyNumber() -
+Method in class jvst.wrapper.valueobjects.MidiKeyName
+
+ getThisProgramIndex() -
+Method in class jvst.wrapper.valueobjects.MidiKeyName
+
+ getThisProgramIndex() -
+Method in class jvst.wrapper.valueobjects.MidiProgramName
+
+ getTimeSigDenominator() -
+Method in class jvst.wrapper.valueobjects.VSTTimeInfo
+
+ getTimeSigNumerator() -
+Method in class jvst.wrapper.valueobjects.VSTTimeInfo
+
+ getType() -
+Method in class jvst.wrapper.valueobjects.VSTEvent
+
+ getType() -
+Method in class jvst.wrapper.valueobjects.VSTSpeakerArrangement
+
+ getType() -
+Method in class jvst.wrapper.valueobjects.VSTSpeakerProperties
+
+
+
+
+J
+
+jvst.wrapper.valueobjects - package jvst.wrapper.valueobjects
+
+
+M
+
+MIDI_IS_OMNI -
+Static variable in class jvst.wrapper.valueobjects.MidiProgramName
+
+ MidiKeyName - Class in jvst.wrapper.valueobjects MidiKeyName() -
+Constructor for class jvst.wrapper.valueobjects.MidiKeyName
+
+ MidiProgramCategory - Class in jvst.wrapper.valueobjects MidiProgramCategory() -
+Constructor for class jvst.wrapper.valueobjects.MidiProgramCategory
+
+ MidiProgramName - Class in jvst.wrapper.valueobjects MidiProgramName() -
+Constructor for class jvst.wrapper.valueobjects.MidiProgramName
+
+
+
+
+N
+
+noteLength -
+Variable in class jvst.wrapper.valueobjects.VSTMidiEvent
+
+ noteOffset -
+Variable in class jvst.wrapper.valueobjects.VSTMidiEvent
+
+ noteOffVelocity -
+Variable in class jvst.wrapper.valueobjects.VSTMidiEvent
+
+ NumSpeakerArr -
+Static variable in class jvst.wrapper.valueobjects.VSTSpeakerArrangement
+
+
+
+
+R
+
+reserved1 -
+Variable in class jvst.wrapper.valueobjects.VSTMidiEvent
+
+ reserved2 -
+Variable in class jvst.wrapper.valueobjects.VSTMidiEvent
+
+
+
+
+S
+
+setArrangementType(int) -
+Method in class jvst.wrapper.valueobjects.VSTPinProperties
+
+ setAzimuth(float) -
+Method in class jvst.wrapper.valueobjects.VSTSpeakerProperties
+
+ setByteSize(int) -
+Method in class jvst.wrapper.valueobjects.VSTEvent
+
+ setCategory(int) -
+Method in class jvst.wrapper.valueobjects.VSTParameterProperties
+
+ setCategoryLabel(String) -
+Method in class jvst.wrapper.valueobjects.VSTParameterProperties
+
+ setData(byte[]) -
+Method in class jvst.wrapper.valueobjects.VSTEvent
+
+ setDeltaFrames(int) -
+Method in class jvst.wrapper.valueobjects.VSTEvent
+
+ setDetune(byte) -
+Method in class jvst.wrapper.valueobjects.VSTMidiEvent
+
+ setDisplayIndex(int) -
+Method in class jvst.wrapper.valueobjects.VSTParameterProperties
+
+ setElevation(float) -
+Method in class jvst.wrapper.valueobjects.VSTSpeakerProperties
+
+ setEvents(VSTEvent[]) -
+Method in class jvst.wrapper.valueobjects.VSTEvents
+
+ setFlags(int) -
+Method in class jvst.wrapper.valueobjects.MidiKeyName
+
+ setFlags(int) -
+Method in class jvst.wrapper.valueobjects.MidiProgramCategory
+
+ setFlags(int) -
+Method in class jvst.wrapper.valueobjects.MidiProgramName
+
+ setFlags(int) -
+Method in class jvst.wrapper.valueobjects.VSTEvent
+
+ setFlags(int) -
+Method in class jvst.wrapper.valueobjects.VSTParameterProperties
+
+ setFlags(int) -
+Method in class jvst.wrapper.valueobjects.VSTPinProperties
+
+ setFuture(char[]) -
+Method in class jvst.wrapper.valueobjects.VSTParameterProperties
+
+ setFuture(char[]) -
+Method in class jvst.wrapper.valueobjects.VSTSpeakerProperties
+
+ setInputs(float[][]) -
+Method in class jvst.wrapper.valueobjects.VSTVariableIO
+
+ setKeyname(String) -
+Method in class jvst.wrapper.valueobjects.MidiKeyName
+
+ setLabel(String) -
+Method in class jvst.wrapper.valueobjects.VSTParameterProperties
+
+ setLabel(String) -
+Method in class jvst.wrapper.valueobjects.VSTPinProperties
+
+ setLargeStepFloat(float) -
+Method in class jvst.wrapper.valueobjects.VSTParameterProperties
+
+ setLargeStepInteger(int) -
+Method in class jvst.wrapper.valueobjects.VSTParameterProperties
+
+ setMaxInteger(int) -
+Method in class jvst.wrapper.valueobjects.VSTParameterProperties
+
+ setMidiBankLsb(byte) -
+Method in class jvst.wrapper.valueobjects.MidiProgramName
+
+ setMidiBankMsb(byte) -
+Method in class jvst.wrapper.valueobjects.MidiProgramName
+
+ setMidiProgram(byte) -
+Method in class jvst.wrapper.valueobjects.MidiProgramName
+
+ setMinInteger(int) -
+Method in class jvst.wrapper.valueobjects.VSTParameterProperties
+
+ setName(String) -
+Method in class jvst.wrapper.valueobjects.MidiProgramCategory
+
+ setName(String) -
+Method in class jvst.wrapper.valueobjects.MidiProgramName
+
+ setName(String) -
+Method in class jvst.wrapper.valueobjects.VSTSpeakerProperties
+
+ setNoteLength(int) -
+Method in class jvst.wrapper.valueobjects.VSTMidiEvent
+
+ setNoteOffset(int) -
+Method in class jvst.wrapper.valueobjects.VSTMidiEvent
+
+ setNoteOffVelocity(byte) -
+Method in class jvst.wrapper.valueobjects.VSTMidiEvent
+
+ setNumChannels(int) -
+Method in class jvst.wrapper.valueobjects.VSTSpeakerArrangement
+
+ setNumEvents(int) -
+Method in class jvst.wrapper.valueobjects.VSTEvents
+
+ setNumParametersInCategory(int) -
+Method in class jvst.wrapper.valueobjects.VSTParameterProperties
+
+ setNumSamplesInput(int) -
+Method in class jvst.wrapper.valueobjects.VSTVariableIO
+
+ setNumSamplesInputProcessed(int) -
+Method in class jvst.wrapper.valueobjects.VSTVariableIO
+
+ setNumSamplesOutput(int) -
+Method in class jvst.wrapper.valueobjects.VSTVariableIO
+
+ setNumSamplesOutputProcessed(int) -
+Method in class jvst.wrapper.valueobjects.VSTVariableIO
+
+ setOutputs(float[][]) -
+Method in class jvst.wrapper.valueobjects.VSTVariableIO
+
+ setParentCategoryIndex(int) -
+Method in class jvst.wrapper.valueobjects.MidiProgramCategory
+
+ setParentCategoryIndex(int) -
+Method in class jvst.wrapper.valueobjects.MidiProgramName
+
+ setRadius(float) -
+Method in class jvst.wrapper.valueobjects.VSTSpeakerProperties
+
+ setReserved(int) -
+Method in class jvst.wrapper.valueobjects.MidiKeyName
+
+ setReserved(byte) -
+Method in class jvst.wrapper.valueobjects.MidiProgramName
+
+ setReserved(int) -
+Method in class jvst.wrapper.valueobjects.VSTEvents
+
+ setReserved(int) -
+Method in class jvst.wrapper.valueobjects.VSTParameterProperties
+
+ setReserved(float) -
+Method in class jvst.wrapper.valueobjects.VSTSpeakerProperties
+
+ setReserved1(byte) -
+Method in class jvst.wrapper.valueobjects.VSTMidiEvent
+
+ setReserved2(byte) -
+Method in class jvst.wrapper.valueobjects.VSTMidiEvent
+
+ setShortLabel(String) -
+Method in class jvst.wrapper.valueobjects.VSTParameterProperties
+
+ setShortLabel(String) -
+Method in class jvst.wrapper.valueobjects.VSTPinProperties
+
+ setSmallStepFloat(float) -
+Method in class jvst.wrapper.valueobjects.VSTParameterProperties
+
+ setSpeakers(VSTSpeakerProperties[]) -
+Method in class jvst.wrapper.valueobjects.VSTSpeakerArrangement
+
+ setStepFloat(float) -
+Method in class jvst.wrapper.valueobjects.VSTParameterProperties
+
+ setStepInteger(int) -
+Method in class jvst.wrapper.valueobjects.VSTParameterProperties
+
+ setThisCategoryIndex(int) -
+Method in class jvst.wrapper.valueobjects.MidiProgramCategory
+
+ setThisKeyNumber(int) -
+Method in class jvst.wrapper.valueobjects.MidiKeyName
+
+ setThisProgramIndex(int) -
+Method in class jvst.wrapper.valueobjects.MidiKeyName
+
+ setThisProgramIndex(int) -
+Method in class jvst.wrapper.valueobjects.MidiProgramName
+
+ setType(int) -
+Method in class jvst.wrapper.valueobjects.VSTEvent
+
+ setType(int) -
+Method in class jvst.wrapper.valueobjects.VSTSpeakerArrangement
+
+ setType(int) -
+Method in class jvst.wrapper.valueobjects.VSTSpeakerProperties
+
+ SPEAKER_C -
+Static variable in class jvst.wrapper.valueobjects.VSTSpeakerProperties
+
+ SPEAKER_CS -
+Static variable in class jvst.wrapper.valueobjects.VSTSpeakerProperties
+
+ SPEAKER_L -
+Static variable in class jvst.wrapper.valueobjects.VSTSpeakerProperties
+
+ SPEAKER_LC -
+Static variable in class jvst.wrapper.valueobjects.VSTSpeakerProperties
+
+ SPEAKER_LFE -
+Static variable in class jvst.wrapper.valueobjects.VSTSpeakerProperties
+
+ SPEAKER_LFE2 -
+Static variable in class jvst.wrapper.valueobjects.VSTSpeakerProperties
+
+ SPEAKER_LS -
+Static variable in class jvst.wrapper.valueobjects.VSTSpeakerProperties
+
+ SPEAKER_M -
+Static variable in class jvst.wrapper.valueobjects.VSTSpeakerProperties
+
+ SPEAKER_R -
+Static variable in class jvst.wrapper.valueobjects.VSTSpeakerProperties
+
+ SPEAKER_RC -
+Static variable in class jvst.wrapper.valueobjects.VSTSpeakerProperties
+
+ SPEAKER_RS -
+Static variable in class jvst.wrapper.valueobjects.VSTSpeakerProperties
+
+ SPEAKER_S -
+Static variable in class jvst.wrapper.valueobjects.VSTSpeakerProperties
+
+ SPEAKER_SL -
+Static variable in class jvst.wrapper.valueobjects.VSTSpeakerProperties
+
+ SPEAKER_SR -
+Static variable in class jvst.wrapper.valueobjects.VSTSpeakerProperties
+
+ SPEAKER_TFC -
+Static variable in class jvst.wrapper.valueobjects.VSTSpeakerProperties
+
+ SPEAKER_TFL -
+Static variable in class jvst.wrapper.valueobjects.VSTSpeakerProperties
+
+ SPEAKER_TFR -
+Static variable in class jvst.wrapper.valueobjects.VSTSpeakerProperties
+
+ SPEAKER_TM -
+Static variable in class jvst.wrapper.valueobjects.VSTSpeakerProperties
+
+ SPEAKER_TRC -
+Static variable in class jvst.wrapper.valueobjects.VSTSpeakerProperties
+
+ SPEAKER_TRL -
+Static variable in class jvst.wrapper.valueobjects.VSTSpeakerProperties
+
+ SPEAKER_TRR -
+Static variable in class jvst.wrapper.valueobjects.VSTSpeakerProperties
+
+ SPEAKER_U1 -
+Static variable in class jvst.wrapper.valueobjects.VSTSpeakerProperties
+
+ SPEAKER_U10 -
+Static variable in class jvst.wrapper.valueobjects.VSTSpeakerProperties
+
+ SPEAKER_U11 -
+Static variable in class jvst.wrapper.valueobjects.VSTSpeakerProperties
+
+ SPEAKER_U12 -
+Static variable in class jvst.wrapper.valueobjects.VSTSpeakerProperties
+
+ SPEAKER_U13 -
+Static variable in class jvst.wrapper.valueobjects.VSTSpeakerProperties
+
+ SPEAKER_U14 -
+Static variable in class jvst.wrapper.valueobjects.VSTSpeakerProperties
+
+ SPEAKER_U15 -
+Static variable in class jvst.wrapper.valueobjects.VSTSpeakerProperties
+
+ SPEAKER_U16 -
+Static variable in class jvst.wrapper.valueobjects.VSTSpeakerProperties
+
+ SPEAKER_U17 -
+Static variable in class jvst.wrapper.valueobjects.VSTSpeakerProperties
+
+ SPEAKER_U18 -
+Static variable in class jvst.wrapper.valueobjects.VSTSpeakerProperties
+
+ SPEAKER_U19 -
+Static variable in class jvst.wrapper.valueobjects.VSTSpeakerProperties
+
+ SPEAKER_U2 -
+Static variable in class jvst.wrapper.valueobjects.VSTSpeakerProperties
+
+ SPEAKER_U20 -
+Static variable in class jvst.wrapper.valueobjects.VSTSpeakerProperties
+
+ SPEAKER_U21 -
+Static variable in class jvst.wrapper.valueobjects.VSTSpeakerProperties
+
+ SPEAKER_U22 -
+Static variable in class jvst.wrapper.valueobjects.VSTSpeakerProperties
+
+ SPEAKER_U23 -
+Static variable in class jvst.wrapper.valueobjects.VSTSpeakerProperties
+
+ SPEAKER_U24 -
+Static variable in class jvst.wrapper.valueobjects.VSTSpeakerProperties
+
+ SPEAKER_U25 -
+Static variable in class jvst.wrapper.valueobjects.VSTSpeakerProperties
+
+ SPEAKER_U26 -
+Static variable in class jvst.wrapper.valueobjects.VSTSpeakerProperties
+
+ SPEAKER_U27 -
+Static variable in class jvst.wrapper.valueobjects.VSTSpeakerProperties
+
+ SPEAKER_U28 -
+Static variable in class jvst.wrapper.valueobjects.VSTSpeakerProperties
+
+ SPEAKER_U29 -
+Static variable in class jvst.wrapper.valueobjects.VSTSpeakerProperties
+
+ SPEAKER_U3 -
+Static variable in class jvst.wrapper.valueobjects.VSTSpeakerProperties
+
+ SPEAKER_U30 -
+Static variable in class jvst.wrapper.valueobjects.VSTSpeakerProperties
+
+ SPEAKER_U31 -
+Static variable in class jvst.wrapper.valueobjects.VSTSpeakerProperties
+
+ SPEAKER_U32 -
+Static variable in class jvst.wrapper.valueobjects.VSTSpeakerProperties
+
+ SPEAKER_U4 -
+Static variable in class jvst.wrapper.valueobjects.VSTSpeakerProperties
+
+ SPEAKER_U5 -
+Static variable in class jvst.wrapper.valueobjects.VSTSpeakerProperties
+
+ SPEAKER_U6 -
+Static variable in class jvst.wrapper.valueobjects.VSTSpeakerProperties
+
+ SPEAKER_U7 -
+Static variable in class jvst.wrapper.valueobjects.VSTSpeakerProperties
+
+ SPEAKER_U8 -
+Static variable in class jvst.wrapper.valueobjects.VSTSpeakerProperties
+
+ SPEAKER_U9 -
+Static variable in class jvst.wrapper.valueobjects.VSTSpeakerProperties
+
+ SPEAKER_UNDEFINED -
+Static variable in class jvst.wrapper.valueobjects.VSTSpeakerProperties
+
+ SpeakerArr102 -
+Static variable in class jvst.wrapper.valueobjects.VSTSpeakerArrangement
+
+ SpeakerArr30Cine -
+Static variable in class jvst.wrapper.valueobjects.VSTSpeakerArrangement
+
+ SpeakerArr30Music -
+Static variable in class jvst.wrapper.valueobjects.VSTSpeakerArrangement
+
+ SpeakerArr31Cine -
+Static variable in class jvst.wrapper.valueobjects.VSTSpeakerArrangement
+
+ SpeakerArr31Music -
+Static variable in class jvst.wrapper.valueobjects.VSTSpeakerArrangement
+
+ SpeakerArr40Cine -
+Static variable in class jvst.wrapper.valueobjects.VSTSpeakerArrangement
+
+ SpeakerArr40Music -
+Static variable in class jvst.wrapper.valueobjects.VSTSpeakerArrangement
+
+ SpeakerArr41Cine -
+Static variable in class jvst.wrapper.valueobjects.VSTSpeakerArrangement
+
+ SpeakerArr41Music -
+Static variable in class jvst.wrapper.valueobjects.VSTSpeakerArrangement
+
+ SpeakerArr50 -
+Static variable in class jvst.wrapper.valueobjects.VSTSpeakerArrangement
+
+ SpeakerArr51 -
+Static variable in class jvst.wrapper.valueobjects.VSTSpeakerArrangement
+
+ SpeakerArr60Cine -
+Static variable in class jvst.wrapper.valueobjects.VSTSpeakerArrangement
+
+ SpeakerArr60Music -
+Static variable in class jvst.wrapper.valueobjects.VSTSpeakerArrangement
+
+ SpeakerArr61Cine -
+Static variable in class jvst.wrapper.valueobjects.VSTSpeakerArrangement
+
+ SpeakerArr61Music -
+Static variable in class jvst.wrapper.valueobjects.VSTSpeakerArrangement
+
+ SpeakerArr70Cine -
+Static variable in class jvst.wrapper.valueobjects.VSTSpeakerArrangement
+
+ SpeakerArr70Music -
+Static variable in class jvst.wrapper.valueobjects.VSTSpeakerArrangement
+
+ SpeakerArr71Cine -
+Static variable in class jvst.wrapper.valueobjects.VSTSpeakerArrangement
+
+ SpeakerArr71Music -
+Static variable in class jvst.wrapper.valueobjects.VSTSpeakerArrangement
+
+ SpeakerArr80Cine -
+Static variable in class jvst.wrapper.valueobjects.VSTSpeakerArrangement
+
+ SpeakerArr80Music -
+Static variable in class jvst.wrapper.valueobjects.VSTSpeakerArrangement
+
+ SpeakerArr81Cine -
+Static variable in class jvst.wrapper.valueobjects.VSTSpeakerArrangement
+
+ SpeakerArr81Music -
+Static variable in class jvst.wrapper.valueobjects.VSTSpeakerArrangement
+
+ SpeakerArrEmpty -
+Static variable in class jvst.wrapper.valueobjects.VSTSpeakerArrangement
+
+ SpeakerArrMono -
+Static variable in class jvst.wrapper.valueobjects.VSTSpeakerArrangement
+
+ SpeakerArrStereoCenter -
+Static variable in class jvst.wrapper.valueobjects.VSTSpeakerArrangement
+
+ SpeakerArrStereoCLfe -
+Static variable in class jvst.wrapper.valueobjects.VSTSpeakerArrangement
+
+ SpeakerArrStereoM -
+Static variable in class jvst.wrapper.valueobjects.VSTSpeakerArrangement
+
+ SpeakerArrStereoSide -
+Static variable in class jvst.wrapper.valueobjects.VSTSpeakerArrangement
+
+ SpeakerArrStereoSurround -
+Static variable in class jvst.wrapper.valueobjects.VSTSpeakerArrangement
+
+ SpeakerArrUserDefined -
+Static variable in class jvst.wrapper.valueobjects.VSTSpeakerArrangement
+
+
+
+
+T
+
+type -
+Variable in class jvst.wrapper.valueobjects.VSTEvent
+
+
+
+
+V
+
+VST_EVENT_AUDIO_TYPE -
+Static variable in class jvst.wrapper.valueobjects.VSTEvent
+Deprecated. deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+VST_EVENT_MIDI_TYPE -
+Static variable in class jvst.wrapper.valueobjects.VSTEvent
+
+ VST_EVENT_PARAMETER_TYPE -
+Static variable in class jvst.wrapper.valueobjects.VSTEvent
+Deprecated. deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+VST_EVENT_SYSEX_TYPE -
+Static variable in class jvst.wrapper.valueobjects.VSTEvent
+
+ VST_EVENT_TRIGGER_TYPE -
+Static variable in class jvst.wrapper.valueobjects.VSTEvent
+Deprecated. deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+VST_EVENT_VIDEO_TYPE -
+Static variable in class jvst.wrapper.valueobjects.VSTEvent
+Deprecated. deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+VST_PARAMETER_CAN_RAMP -
+Static variable in class jvst.wrapper.valueobjects.VSTParameterProperties
+
+ VST_PARAMETER_IS_SWITCH -
+Static variable in class jvst.wrapper.valueobjects.VSTParameterProperties
+
+ VST_PARAMETER_SUPPORTS_DISPLAY_CATEGORY -
+Static variable in class jvst.wrapper.valueobjects.VSTParameterProperties
+
+ VST_PARAMETER_SUPPORTS_DISPLAY_INDEX -
+Static variable in class jvst.wrapper.valueobjects.VSTParameterProperties
+
+ VST_PARAMETER_USES_FLOAT_STEP -
+Static variable in class jvst.wrapper.valueobjects.VSTParameterProperties
+
+ VST_PARAMETER_USES_INT_STEP -
+Static variable in class jvst.wrapper.valueobjects.VSTParameterProperties
+
+ VST_PARAMETER_USES_INTEGER_MIN_MAX -
+Static variable in class jvst.wrapper.valueobjects.VSTParameterProperties
+
+ VST_PIN_IS_ACTIVE -
+Static variable in class jvst.wrapper.valueobjects.VSTPinProperties
+
+ VST_PIN_IS_STEREO -
+Static variable in class jvst.wrapper.valueobjects.VSTPinProperties
+
+ VST_PIN_USE_SPEAKER -
+Static variable in class jvst.wrapper.valueobjects.VSTPinProperties
+
+ VST_TIME_AUTOMATION_READING -
+Static variable in class jvst.wrapper.valueobjects.VSTTimeInfo
+
+ VST_TIME_AUTOMATION_WRITING -
+Static variable in class jvst.wrapper.valueobjects.VSTTimeInfo
+
+ VST_TIME_BARS_VALID -
+Static variable in class jvst.wrapper.valueobjects.VSTTimeInfo
+
+ VST_TIME_CLOCK_VALID -
+Static variable in class jvst.wrapper.valueobjects.VSTTimeInfo
+
+ VST_TIME_CYCLE_POS_VALID -
+Static variable in class jvst.wrapper.valueobjects.VSTTimeInfo
+
+ VST_TIME_NANOS_VALID -
+Static variable in class jvst.wrapper.valueobjects.VSTTimeInfo
+
+ VST_TIME_PPQ_POS_VALID -
+Static variable in class jvst.wrapper.valueobjects.VSTTimeInfo
+
+ VST_TIME_SMPTE_VALID -
+Static variable in class jvst.wrapper.valueobjects.VSTTimeInfo
+
+ VST_TIME_TEMPO_VALID -
+Static variable in class jvst.wrapper.valueobjects.VSTTimeInfo
+
+ VST_TIME_TIME_SIG_VALID -
+Static variable in class jvst.wrapper.valueobjects.VSTTimeInfo
+
+ VST_TIME_TRANSPORT_CHANGED -
+Static variable in class jvst.wrapper.valueobjects.VSTTimeInfo
+
+ VST_TIME_TRANSPORT_CYCLE_ACTIVE -
+Static variable in class jvst.wrapper.valueobjects.VSTTimeInfo
+
+ VST_TIME_TRANSPORT_PLAYING -
+Static variable in class jvst.wrapper.valueobjects.VSTTimeInfo
+
+ VST_TIME_TRANSPORT_RECORDING -
+Static variable in class jvst.wrapper.valueobjects.VSTTimeInfo
+
+ VSTEvent - Class in jvst.wrapper.valueobjects VSTEvent() -
+Constructor for class jvst.wrapper.valueobjects.VSTEvent
+
+ VSTEvents - Class in jvst.wrapper.valueobjects VSTEvents() -
+Constructor for class jvst.wrapper.valueobjects.VSTEvents
+
+ VSTMidiEvent - Class in jvst.wrapper.valueobjects VSTMidiEvent() -
+Constructor for class jvst.wrapper.valueobjects.VSTMidiEvent
+
+ VSTParameterProperties - Class in jvst.wrapper.valueobjects VSTParameterProperties() -
+Constructor for class jvst.wrapper.valueobjects.VSTParameterProperties
+
+ VSTParameterProperties(float, float, float, String, int, int, int, int, int, String, int, int, int, int, String, char[]) -
+Constructor for class jvst.wrapper.valueobjects.VSTParameterProperties
+
+ VSTPatchChunkInfo - Class in jvst.wrapper.valueobjects VSTPatchChunkInfo() -
+Constructor for class jvst.wrapper.valueobjects.VSTPatchChunkInfo
+
+ VSTPinProperties - Class in jvst.wrapper.valueobjects VSTPinProperties() -
+Constructor for class jvst.wrapper.valueobjects.VSTPinProperties
+
+ VSTPinProperties(String, int, int, String) -
+Constructor for class jvst.wrapper.valueobjects.VSTPinProperties
+
+ VSTSpeakerArrangement - Class in jvst.wrapper.valueobjects VSTSpeakerArrangement() -
+Constructor for class jvst.wrapper.valueobjects.VSTSpeakerArrangement
+
+ VSTSpeakerProperties - Class in jvst.wrapper.valueobjects note: the origin for azimuth is right (as by math conventions dealing with radians);
+ the elevation origin is also right, visualizing a rotation of a circle across the
+ -pi/pi axis of the horizontal circle. VSTSpeakerProperties() -
+Constructor for class jvst.wrapper.valueobjects.VSTSpeakerProperties
+
+ VSTTimeInfo - Class in jvst.wrapper.valueobjects VstTimeInfo as requested via audioMasterGetTime (getTimeInfo())
+ refers to the current time slice. VSTTimeInfo() -
+Constructor for class jvst.wrapper.valueobjects.VSTTimeInfo
+
+ VSTVariableIO - Class in jvst.wrapper.valueobjects VSTVariableIO() -
+Constructor for class jvst.wrapper.valueobjects.VSTVariableIO
+
+
+
+B D F G J M N R S T V
+
+
+
+
+
+
+
+
+
+Copyright © 2012. All Rights Reserved.
+
+
diff --git a/docs/javadoc/jvstsystem/index.html b/docs/javadoc/jvstsystem/index.html
new file mode 100644
index 0000000..3823ce2
--- /dev/null
+++ b/docs/javadoc/jvstsystem/index.html
@@ -0,0 +1,37 @@
+
+
+
+
+
+
+
+jVSTsYstem 1.0beta API
+
+
+
+
+
+
+
+
+
+
+Frame Alert
+
+
+This document is designed to be viewed using the frames feature. If you see this message, you are using a non-frame-capable web client.
+
+Link toNon-frame version.
+
+
+
diff --git a/docs/javadoc/jvstsystem/javadoc.bat b/docs/javadoc/jvstsystem/javadoc.bat
new file mode 100644
index 0000000..56742f8
--- /dev/null
+++ b/docs/javadoc/jvstsystem/javadoc.bat
@@ -0,0 +1 @@
+C:\dev\java\jdk6\jre\..\bin\javadoc.exe @options @packages
\ No newline at end of file
diff --git a/docs/javadoc/jvstsystem/jvst/wrapper/valueobjects/MidiKeyName.html b/docs/javadoc/jvstsystem/jvst/wrapper/valueobjects/MidiKeyName.html
new file mode 100644
index 0000000..9a42276
--- /dev/null
+++ b/docs/javadoc/jvstsystem/jvst/wrapper/valueobjects/MidiKeyName.html
@@ -0,0 +1,422 @@
+
+
+
+
+
+
+
+MidiKeyName (jVSTsYstem 1.0beta API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+jvst.wrapper.valueobjects
+
+Class MidiKeyName
+
+java.lang.Object
+ jvst.wrapper.valueobjects.MidiKeyName
+
+
+
+public class MidiKeyName extends Object
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Methods inherited from class java.lang.Object
+
+
+clone , equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait
+
+
+
+
+
+
+
+
+
+
+
+Constructor Detail
+
+
+
+
+MidiKeyName
+
+public MidiKeyName ()
+
+
+
+
+
+
+
+
+
+getThisProgramIndex
+
+public int getThisProgramIndex ()
+
+
+
+
+
+
+
+
+getThisKeyNumber
+
+public int getThisKeyNumber ()
+
+
+
+
+
+
+
+
+getReserved
+
+public int getReserved ()
+
+
+
+
+
+
+
+
+getFlags
+
+public int getFlags ()
+
+
+
+
+
+
+
+
+getKeyName
+
+public String getKeyName ()
+
+
+
+
+
+
+
+
+setThisProgramIndex
+
+public void setThisProgramIndex (int p)
+
+
+
+
+
+
+
+
+setThisKeyNumber
+
+public void setThisKeyNumber (int p)
+
+
+
+
+
+
+
+
+setReserved
+
+public void setReserved (int p)
+
+
+
+
+
+
+
+
+setFlags
+
+public void setFlags (int p)
+
+
+
+
+
+
+
+
+setKeyname
+
+public void setKeyname (String n)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2012. All Rights Reserved.
+
+
diff --git a/docs/javadoc/jvstsystem/jvst/wrapper/valueobjects/MidiProgramCategory.html b/docs/javadoc/jvstsystem/jvst/wrapper/valueobjects/MidiProgramCategory.html
new file mode 100644
index 0000000..82dd815
--- /dev/null
+++ b/docs/javadoc/jvstsystem/jvst/wrapper/valueobjects/MidiProgramCategory.html
@@ -0,0 +1,384 @@
+
+
+
+
+
+
+
+MidiProgramCategory (jVSTsYstem 1.0beta API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+jvst.wrapper.valueobjects
+
+Class MidiProgramCategory
+
+java.lang.Object
+ jvst.wrapper.valueobjects.MidiProgramCategory
+
+
+
+public class MidiProgramCategory extends Object
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Methods inherited from class java.lang.Object
+
+
+clone , equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait
+
+
+
+
+
+
+
+
+
+
+
+Constructor Detail
+
+
+
+
+MidiProgramCategory
+
+public MidiProgramCategory ()
+
+
+
+
+
+
+
+
+
+getThisCategoryIndex
+
+public int getThisCategoryIndex ()
+
+
+
+
+
+
+
+
+getParentCategoryIndex
+
+public int getParentCategoryIndex ()
+
+
+
+
+
+
+
+
+getFlags
+
+public int getFlags ()
+
+
+
+
+
+
+
+
+getName
+
+public String getName ()
+
+
+
+
+
+
+
+
+setThisCategoryIndex
+
+public void setThisCategoryIndex (int p)
+
+
+
+
+
+
+
+
+setParentCategoryIndex
+
+public void setParentCategoryIndex (int p)
+
+
+
+
+
+
+
+
+setFlags
+
+public void setFlags (int p)
+
+
+
+
+
+
+
+
+setName
+
+public void setName (String p)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2012. All Rights Reserved.
+
+
diff --git a/docs/javadoc/jvstsystem/jvst/wrapper/valueobjects/MidiProgramName.html b/docs/javadoc/jvstsystem/jvst/wrapper/valueobjects/MidiProgramName.html
new file mode 100644
index 0000000..f0d7709
--- /dev/null
+++ b/docs/javadoc/jvstsystem/jvst/wrapper/valueobjects/MidiProgramName.html
@@ -0,0 +1,572 @@
+
+
+
+
+
+
+
+MidiProgramName (jVSTsYstem 1.0beta API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+jvst.wrapper.valueobjects
+
+Class MidiProgramName
+
+java.lang.Object
+ jvst.wrapper.valueobjects.MidiProgramName
+
+
+
+public class MidiProgramName extends Object
+
+
+
+
+
+
+
+
+
+
+
+
+Field Summary
+
+
+
+static int
+MIDI_IS_OMNI
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Methods inherited from class java.lang.Object
+
+
+clone , equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait
+
+
+
+
+
+
+
+
+
+
+
+MIDI_IS_OMNI
+
+public static final int MIDI_IS_OMNI
+
+
+See Also: Constant Field Values
+
+
+
+
+
+
+
+
+Constructor Detail
+
+
+
+
+MidiProgramName
+
+public MidiProgramName ()
+
+
+
+
+
+
+
+
+
+getThisProgramIndex
+
+public int getThisProgramIndex ()
+
+
+
+
+
+
+
+
+getParentCategoryIndex
+
+public int getParentCategoryIndex ()
+
+
+
+
+
+
+
+
+getFlags
+
+public int getFlags ()
+
+
+
+
+
+
+
+
+getName
+
+public String getName ()
+
+
+
+
+
+
+
+
+getReserved
+
+public byte getReserved ()
+
+
+
+
+
+
+
+
+getMidiProgram
+
+public byte getMidiProgram ()
+
+
+
+
+
+
+
+
+getMidiBankMsb
+
+public byte getMidiBankMsb ()
+
+
+
+
+
+
+
+
+getMidiBankLsb
+
+public byte getMidiBankLsb ()
+
+
+
+
+
+
+
+
+setReserved
+
+public void setReserved (byte p)
+
+
+
+
+
+
+
+
+setThisProgramIndex
+
+public void setThisProgramIndex (int p)
+
+
+
+
+
+
+
+
+setParentCategoryIndex
+
+public void setParentCategoryIndex (int p)
+
+
+
+
+
+
+
+
+setFlags
+
+public void setFlags (int p)
+
+
+
+
+
+
+
+
+setName
+
+public void setName (String p)
+
+
+
+
+
+
+
+
+setMidiProgram
+
+public void setMidiProgram (byte p)
+
+
+
+
+
+
+
+
+setMidiBankMsb
+
+public void setMidiBankMsb (byte p)
+
+
+
+
+
+
+
+
+setMidiBankLsb
+
+public void setMidiBankLsb (byte p)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2012. All Rights Reserved.
+
+
diff --git a/docs/javadoc/jvstsystem/jvst/wrapper/valueobjects/VSTEvent.html b/docs/javadoc/jvstsystem/jvst/wrapper/valueobjects/VSTEvent.html
new file mode 100644
index 0000000..96b1850
--- /dev/null
+++ b/docs/javadoc/jvstsystem/jvst/wrapper/valueobjects/VSTEvent.html
@@ -0,0 +1,649 @@
+
+
+
+
+
+
+
+VSTEvent (jVSTsYstem 1.0beta API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+jvst.wrapper.valueobjects
+
+Class VSTEvent
+
+java.lang.Object
+ jvst.wrapper.valueobjects.VSTEvent
+
+
+Direct Known Subclasses: VSTMidiEvent
+
+
+
+public class VSTEvent extends Object
+
+
+
+
+
+
+
+
+
+
+
+
+Field Summary
+
+
+
+protected int
+byteSize
+
+
+
+
+
+
+protected byte[]
+data
+
+
+
+
+
+
+protected int
+deltaFrames
+
+
+
+
+
+
+protected int
+flags
+
+
+
+
+
+
+protected int
+type
+
+
+
+
+
+
+static int
+VST_EVENT_AUDIO_TYPE
+
+
+ Deprecated. deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+
+
+
+static int
+VST_EVENT_MIDI_TYPE
+
+
+
+
+
+
+static int
+VST_EVENT_PARAMETER_TYPE
+
+
+ Deprecated. deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+
+
+
+static int
+VST_EVENT_SYSEX_TYPE
+
+
+
+
+
+
+static int
+VST_EVENT_TRIGGER_TYPE
+
+
+ Deprecated. deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+
+
+
+static int
+VST_EVENT_VIDEO_TYPE
+
+
+ Deprecated. deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+
+
+
+
+
+
+
+
+
+Constructor Summary
+
+
+VSTEvent ()
+
+
+
+
+
+
+
+
+
+
+
+
+
+Methods inherited from class java.lang.Object
+
+
+clone , equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait
+
+
+
+
+
+
+
+
+
+
+
+VST_EVENT_AUDIO_TYPE
+
+public static final int VST_EVENT_AUDIO_TYPE
+
+Deprecated. deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+See Also: Constant Field Values
+
+
+
+
+VST_EVENT_MIDI_TYPE
+
+public static final int VST_EVENT_MIDI_TYPE
+
+
+See Also: Constant Field Values
+
+
+
+
+VST_EVENT_PARAMETER_TYPE
+
+public static final int VST_EVENT_PARAMETER_TYPE
+
+Deprecated. deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+See Also: Constant Field Values
+
+
+
+
+VST_EVENT_SYSEX_TYPE
+
+public static final int VST_EVENT_SYSEX_TYPE
+
+
+See Also: Constant Field Values
+
+
+
+
+VST_EVENT_TRIGGER_TYPE
+
+public static final int VST_EVENT_TRIGGER_TYPE
+
+Deprecated. deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+See Also: Constant Field Values
+
+
+
+
+VST_EVENT_VIDEO_TYPE
+
+public static final int VST_EVENT_VIDEO_TYPE
+
+Deprecated. deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+See Also: Constant Field Values
+
+
+
+
+data
+
+protected byte[] data
+
+
+
+
+
+
+
+byteSize
+
+protected int byteSize
+
+
+
+
+
+
+
+deltaFrames
+
+protected int deltaFrames
+
+
+
+
+
+
+
+flags
+
+protected int flags
+
+
+
+
+
+
+
+type
+
+protected int type
+
+
+
+
+
+
+
+
+
+
+
+Constructor Detail
+
+
+
+
+VSTEvent
+
+public VSTEvent ()
+
+
+
+
+
+
+
+
+
+getType
+
+public int getType ()
+
+
+
+
+
+
+
+
+setType
+
+public void setType (int type)
+
+
+
+
+
+
+
+
+getByteSize
+
+public int getByteSize ()
+
+
+
+
+
+
+
+
+setByteSize
+
+public void setByteSize (int byteSize)
+
+
+
+
+
+
+
+
+getDeltaFrames
+
+public int getDeltaFrames ()
+
+
+
+
+
+
+
+
+setDeltaFrames
+
+public void setDeltaFrames (int deltaFrames)
+
+
+
+
+
+
+
+
+getFlags
+
+public int getFlags ()
+
+
+
+
+
+
+
+
+setFlags
+
+public void setFlags (int flags)
+
+
+
+
+
+
+
+
+getData
+
+public byte[] getData ()
+
+
+
+
+
+
+
+
+setData
+
+public void setData (byte[] data)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2012. All Rights Reserved.
+
+
diff --git a/docs/javadoc/jvstsystem/jvst/wrapper/valueobjects/VSTEvents.html b/docs/javadoc/jvstsystem/jvst/wrapper/valueobjects/VSTEvents.html
new file mode 100644
index 0000000..ad948a3
--- /dev/null
+++ b/docs/javadoc/jvstsystem/jvst/wrapper/valueobjects/VSTEvents.html
@@ -0,0 +1,346 @@
+
+
+
+
+
+
+
+VSTEvents (jVSTsYstem 1.0beta API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+jvst.wrapper.valueobjects
+
+Class VSTEvents
+
+java.lang.Object
+ jvst.wrapper.valueobjects.VSTEvents
+
+
+
+public class VSTEvents extends Object
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Summary
+
+
+VSTEvents ()
+
+
+
+
+
+
+
+
+
+
+
+
+
+Methods inherited from class java.lang.Object
+
+
+clone , equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait
+
+
+
+
+
+
+
+
+
+
+
+Constructor Detail
+
+
+
+
+VSTEvents
+
+public VSTEvents ()
+
+
+
+
+
+
+
+
+
+getNumEvents
+
+public int getNumEvents ()
+
+
+
+
+
+
+
+
+setNumEvents
+
+public void setNumEvents (int numEvents)
+
+
+
+
+
+
+
+
+getReserved
+
+public int getReserved ()
+
+
+
+
+
+
+
+
+setReserved
+
+public void setReserved (int reserved)
+
+
+
+
+
+
+
+
+getEvents
+
+public VSTEvent [] getEvents ()
+
+
+
+
+
+
+
+
+setEvents
+
+public void setEvents (VSTEvent [] events)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2012. All Rights Reserved.
+
+
diff --git a/docs/javadoc/jvstsystem/jvst/wrapper/valueobjects/VSTMidiEvent.html b/docs/javadoc/jvstsystem/jvst/wrapper/valueobjects/VSTMidiEvent.html
new file mode 100644
index 0000000..4db7711
--- /dev/null
+++ b/docs/javadoc/jvstsystem/jvst/wrapper/valueobjects/VSTMidiEvent.html
@@ -0,0 +1,623 @@
+
+
+
+
+
+
+
+VSTMidiEvent (jVSTsYstem 1.0beta API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+jvst.wrapper.valueobjects
+
+Class VSTMidiEvent
+
+java.lang.Object
+ jvst.wrapper.valueobjects.VSTEvent
+ jvst.wrapper.valueobjects.VSTMidiEvent
+
+
+
+public class VSTMidiEvent extends VSTEvent
+
+
+
+
+
+
+
+
+
+
+
+
+
+Fields inherited from class jvst.wrapper.valueobjects.VSTEvent
+
+
+byteSize , data , deltaFrames , flags , type , VST_EVENT_AUDIO_TYPE , VST_EVENT_MIDI_TYPE , VST_EVENT_PARAMETER_TYPE , VST_EVENT_SYSEX_TYPE , VST_EVENT_TRIGGER_TYPE , VST_EVENT_VIDEO_TYPE
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Methods inherited from class java.lang.Object
+
+
+clone , equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait
+
+
+
+
+
+
+
+
+
+
+
+FLAG_MidiEventIsRealtime
+
+public static final int FLAG_MidiEventIsRealtime
+
+
+See Also: Constant Field Values
+
+
+
+
+detune
+
+protected byte detune
+
+
+
+
+
+
+
+noteLength
+
+protected int noteLength
+
+
+
+
+
+
+
+noteOffVelocity
+
+protected byte noteOffVelocity
+
+
+
+
+
+
+
+noteOffset
+
+protected int noteOffset
+
+
+
+
+
+
+
+reserved1
+
+protected byte reserved1
+
+
+
+
+
+
+
+reserved2
+
+protected byte reserved2
+
+
+
+
+
+
+
+
+
+
+
+Constructor Detail
+
+
+
+
+VSTMidiEvent
+
+public VSTMidiEvent ()
+
+
+
+
+
+
+
+
+
+getNoteLength
+
+public int getNoteLength ()
+
+
+
+
+
+
+
+
+setNoteLength
+
+public void setNoteLength (int noteLength)
+
+
+
+
+
+
+
+
+getNoteOffset
+
+public int getNoteOffset ()
+
+
+
+
+
+
+
+
+setNoteOffset
+
+public void setNoteOffset (int noteOffset)
+
+
+
+
+
+
+
+
+getDetune
+
+public byte getDetune ()
+
+
+
+
+
+
+
+
+setDetune
+
+public void setDetune (byte detune)
+
+
+
+
+
+
+
+
+getNoteOffVelocity
+
+public byte getNoteOffVelocity ()
+
+
+
+
+
+
+
+
+setNoteOffVelocity
+
+public void setNoteOffVelocity (byte noteOffVelocity)
+
+
+
+
+
+
+
+
+getReserved1
+
+public byte getReserved1 ()
+
+
+
+
+
+
+
+
+setReserved1
+
+public void setReserved1 (byte reserved1)
+
+
+
+
+
+
+
+
+getReserved2
+
+public byte getReserved2 ()
+
+
+
+
+
+
+
+
+setReserved2
+
+public void setReserved2 (byte reserved2)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2012. All Rights Reserved.
+
+
diff --git a/docs/javadoc/jvstsystem/jvst/wrapper/valueobjects/VSTParameterProperties.html b/docs/javadoc/jvstsystem/jvst/wrapper/valueobjects/VSTParameterProperties.html
new file mode 100644
index 0000000..af05c8d
--- /dev/null
+++ b/docs/javadoc/jvstsystem/jvst/wrapper/valueobjects/VSTParameterProperties.html
@@ -0,0 +1,1028 @@
+
+
+
+
+
+
+
+VSTParameterProperties (jVSTsYstem 1.0beta API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+jvst.wrapper.valueobjects
+
+Class VSTParameterProperties
+
+java.lang.Object
+ jvst.wrapper.valueobjects.VSTParameterProperties
+
+
+
+public class VSTParameterProperties extends Object
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Summary
+
+
+VSTParameterProperties ()
+
+
+
+
+
+VSTParameterProperties (float stepfl,
+ float smallstepfl,
+ float largestepfl,
+ String lab,
+ int fl,
+ int minInt,
+ int maxInt,
+ int stepInt,
+ int largeStepInt,
+ String shortLab,
+ int displayIdx,
+ int cat,
+ int numParamsInCat,
+ int res,
+ String catLabel,
+ char[] fut)
+
+
+
+
+
+
+
+
+
+
+
+
+
+Methods inherited from class java.lang.Object
+
+
+clone , equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait
+
+
+
+
+
+
+
+
+
+
+
+VST_PARAMETER_CAN_RAMP
+
+public static final int VST_PARAMETER_CAN_RAMP
+
+
+See Also: Constant Field Values
+
+
+
+
+VST_PARAMETER_IS_SWITCH
+
+public static final int VST_PARAMETER_IS_SWITCH
+
+
+See Also: Constant Field Values
+
+
+
+
+VST_PARAMETER_SUPPORTS_DISPLAY_CATEGORY
+
+public static final int VST_PARAMETER_SUPPORTS_DISPLAY_CATEGORY
+
+
+See Also: Constant Field Values
+
+
+
+
+VST_PARAMETER_SUPPORTS_DISPLAY_INDEX
+
+public static final int VST_PARAMETER_SUPPORTS_DISPLAY_INDEX
+
+
+See Also: Constant Field Values
+
+
+
+
+VST_PARAMETER_USES_FLOAT_STEP
+
+public static final int VST_PARAMETER_USES_FLOAT_STEP
+
+
+See Also: Constant Field Values
+
+
+
+
+VST_PARAMETER_USES_INTEGER_MIN_MAX
+
+public static final int VST_PARAMETER_USES_INTEGER_MIN_MAX
+
+
+See Also: Constant Field Values
+
+
+
+
+VST_PARAMETER_USES_INT_STEP
+
+public static final int VST_PARAMETER_USES_INT_STEP
+
+
+See Also: Constant Field Values
+
+
+
+
+
+
+
+
+Constructor Detail
+
+
+
+
+VSTParameterProperties
+
+public VSTParameterProperties ()
+
+
+
+
+
+VSTParameterProperties
+
+public VSTParameterProperties (float stepfl,
+ float smallstepfl,
+ float largestepfl,
+ String lab,
+ int fl,
+ int minInt,
+ int maxInt,
+ int stepInt,
+ int largeStepInt,
+ String shortLab,
+ int displayIdx,
+ int cat,
+ int numParamsInCat,
+ int res,
+ String catLabel,
+ char[] fut)
+
+
+
+
+
+
+
+
+
+getStepFloat
+
+public float getStepFloat ()
+
+
+
+
+
+
+
+
+setStepFloat
+
+public void setStepFloat (float stepFloat)
+
+
+
+
+
+
+
+
+getSmallStepFloat
+
+public float getSmallStepFloat ()
+
+
+
+
+
+
+
+
+setSmallStepFloat
+
+public void setSmallStepFloat (float smallStepFloat)
+
+
+
+
+
+
+
+
+getLargeStepFloat
+
+public float getLargeStepFloat ()
+
+
+
+
+
+
+
+
+setLargeStepFloat
+
+public void setLargeStepFloat (float largeStepFloat)
+
+
+
+
+
+
+
+
+getLabel
+
+public String getLabel ()
+
+
+
+
+
+
+
+
+setLabel
+
+public void setLabel (String label)
+
+
+
+
+
+
+
+
+getFlags
+
+public int getFlags ()
+
+
+
+
+
+
+
+
+setFlags
+
+public void setFlags (int flags)
+
+
+
+
+
+
+
+
+getMinInteger
+
+public int getMinInteger ()
+
+
+
+
+
+
+
+
+setMinInteger
+
+public void setMinInteger (int minInteger)
+
+
+
+
+
+
+
+
+getMaxInteger
+
+public int getMaxInteger ()
+
+
+
+
+
+
+
+
+setMaxInteger
+
+public void setMaxInteger (int maxInteger)
+
+
+
+
+
+
+
+
+getStepInteger
+
+public int getStepInteger ()
+
+
+
+
+
+
+
+
+setStepInteger
+
+public void setStepInteger (int stepInteger)
+
+
+
+
+
+
+
+
+getLargeStepInteger
+
+public int getLargeStepInteger ()
+
+
+
+
+
+
+
+
+setLargeStepInteger
+
+public void setLargeStepInteger (int largeStepInteger)
+
+
+
+
+
+
+
+
+getShortLabel
+
+public String getShortLabel ()
+
+
+
+
+
+
+
+
+setShortLabel
+
+public void setShortLabel (String shortLabel)
+
+
+
+
+
+
+
+
+getDisplayIndex
+
+public int getDisplayIndex ()
+
+
+
+
+
+
+
+
+setDisplayIndex
+
+public void setDisplayIndex (int displayIndex)
+
+
+
+
+
+
+
+
+getCategory
+
+public int getCategory ()
+
+
+
+
+
+
+
+
+setCategory
+
+public void setCategory (int category)
+
+
+
+
+
+
+
+
+getNumParametersInCategory
+
+public int getNumParametersInCategory ()
+
+
+
+
+
+
+
+
+setNumParametersInCategory
+
+public void setNumParametersInCategory (int numParametersInCategory)
+
+
+
+
+
+
+
+
+getReserved
+
+public int getReserved ()
+
+
+
+
+
+
+
+
+setReserved
+
+public void setReserved (int reserved)
+
+
+
+
+
+
+
+
+getCategoryLabel
+
+public String getCategoryLabel ()
+
+
+
+
+
+
+
+
+setCategoryLabel
+
+public void setCategoryLabel (String categoryLabel)
+
+
+
+
+
+
+
+
+getFuture
+
+public char[] getFuture ()
+
+
+
+
+
+
+
+
+setFuture
+
+public void setFuture (char[] future)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2012. All Rights Reserved.
+
+
diff --git a/docs/javadoc/jvstsystem/jvst/wrapper/valueobjects/VSTPatchChunkInfo.html b/docs/javadoc/jvstsystem/jvst/wrapper/valueobjects/VSTPatchChunkInfo.html
new file mode 100644
index 0000000..6ceb6a6
--- /dev/null
+++ b/docs/javadoc/jvstsystem/jvst/wrapper/valueobjects/VSTPatchChunkInfo.html
@@ -0,0 +1,223 @@
+
+
+
+
+
+
+
+VSTPatchChunkInfo (jVSTsYstem 1.0beta API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+jvst.wrapper.valueobjects
+
+Class VSTPatchChunkInfo
+
+java.lang.Object
+ jvst.wrapper.valueobjects.VSTPatchChunkInfo
+
+
+
+public class VSTPatchChunkInfo extends Object
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Methods inherited from class java.lang.Object
+
+
+clone , equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait
+
+
+
+
+
+
+
+
+
+
+
+Constructor Detail
+
+
+
+
+VSTPatchChunkInfo
+
+public VSTPatchChunkInfo ()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2012. All Rights Reserved.
+
+
diff --git a/docs/javadoc/jvstsystem/jvst/wrapper/valueobjects/VSTPinProperties.html b/docs/javadoc/jvstsystem/jvst/wrapper/valueobjects/VSTPinProperties.html
new file mode 100644
index 0000000..30c2750
--- /dev/null
+++ b/docs/javadoc/jvstsystem/jvst/wrapper/valueobjects/VSTPinProperties.html
@@ -0,0 +1,476 @@
+
+
+
+
+
+
+
+VSTPinProperties (jVSTsYstem 1.0beta API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+jvst.wrapper.valueobjects
+
+Class VSTPinProperties
+
+java.lang.Object
+ jvst.wrapper.valueobjects.VSTPinProperties
+
+
+
+public class VSTPinProperties extends Object
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Methods inherited from class java.lang.Object
+
+
+clone , equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait
+
+
+
+
+
+
+
+
+
+
+
+VST_PIN_IS_ACTIVE
+
+public static final int VST_PIN_IS_ACTIVE
+
+
+See Also: Constant Field Values
+
+
+
+
+VST_PIN_IS_STEREO
+
+public static final int VST_PIN_IS_STEREO
+
+
+See Also: Constant Field Values
+
+
+
+
+VST_PIN_USE_SPEAKER
+
+public static final int VST_PIN_USE_SPEAKER
+
+
+See Also: Constant Field Values
+
+
+
+
+
+
+
+
+Constructor Detail
+
+
+
+
+VSTPinProperties
+
+public VSTPinProperties ()
+
+
+
+
+
+VSTPinProperties
+
+public VSTPinProperties (String lab,
+ int fla,
+ int arr,
+ String sho)
+
+
+
+
+
+
+
+
+
+getShortLabel
+
+public String getShortLabel ()
+
+
+
+
+
+
+
+
+setShortLabel
+
+public void setShortLabel (String shortLabel)
+
+
+
+
+
+
+
+
+getArrangementType
+
+public int getArrangementType ()
+
+
+
+
+
+
+
+
+setArrangementType
+
+public void setArrangementType (int ArrangementType)
+
+
+
+
+
+
+
+
+getFlags
+
+public int getFlags ()
+
+
+
+
+
+
+
+
+setFlags
+
+public void setFlags (int Flags)
+
+
+
+
+
+
+
+
+getLabel
+
+public String getLabel ()
+
+
+
+
+
+
+
+
+setLabel
+
+public void setLabel (String label)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2012. All Rights Reserved.
+
+
diff --git a/docs/javadoc/jvstsystem/jvst/wrapper/valueobjects/VSTSpeakerArrangement.html b/docs/javadoc/jvstsystem/jvst/wrapper/valueobjects/VSTSpeakerArrangement.html
new file mode 100644
index 0000000..0220429
--- /dev/null
+++ b/docs/javadoc/jvstsystem/jvst/wrapper/valueobjects/VSTSpeakerArrangement.html
@@ -0,0 +1,940 @@
+
+
+
+
+
+
+
+VSTSpeakerArrangement (jVSTsYstem 1.0beta API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+jvst.wrapper.valueobjects
+
+Class VSTSpeakerArrangement
+
+java.lang.Object
+ jvst.wrapper.valueobjects.VSTSpeakerArrangement
+
+
+
+public class VSTSpeakerArrangement extends Object
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Methods inherited from class java.lang.Object
+
+
+clone , equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait
+
+
+
+
+
+
+
+
+
+
+
+NumSpeakerArr
+
+public static final int NumSpeakerArr
+
+
+See Also: Constant Field Values
+
+
+
+
+SpeakerArr102
+
+public static final int SpeakerArr102
+
+
+See Also: Constant Field Values
+
+
+
+
+SpeakerArr30Cine
+
+public static final int SpeakerArr30Cine
+
+
+See Also: Constant Field Values
+
+
+
+
+SpeakerArr30Music
+
+public static final int SpeakerArr30Music
+
+
+See Also: Constant Field Values
+
+
+
+
+SpeakerArr31Cine
+
+public static final int SpeakerArr31Cine
+
+
+See Also: Constant Field Values
+
+
+
+
+SpeakerArr31Music
+
+public static final int SpeakerArr31Music
+
+
+See Also: Constant Field Values
+
+
+
+
+SpeakerArr40Cine
+
+public static final int SpeakerArr40Cine
+
+
+See Also: Constant Field Values
+
+
+
+
+SpeakerArr40Music
+
+public static final int SpeakerArr40Music
+
+
+See Also: Constant Field Values
+
+
+
+
+SpeakerArr41Cine
+
+public static final int SpeakerArr41Cine
+
+
+See Also: Constant Field Values
+
+
+
+
+SpeakerArr41Music
+
+public static final int SpeakerArr41Music
+
+
+See Also: Constant Field Values
+
+
+
+
+SpeakerArr50
+
+public static final int SpeakerArr50
+
+
+See Also: Constant Field Values
+
+
+
+
+SpeakerArr51
+
+public static final int SpeakerArr51
+
+
+See Also: Constant Field Values
+
+
+
+
+SpeakerArr60Cine
+
+public static final int SpeakerArr60Cine
+
+
+See Also: Constant Field Values
+
+
+
+
+SpeakerArr60Music
+
+public static final int SpeakerArr60Music
+
+
+See Also: Constant Field Values
+
+
+
+
+SpeakerArr61Cine
+
+public static final int SpeakerArr61Cine
+
+
+See Also: Constant Field Values
+
+
+
+
+SpeakerArr61Music
+
+public static final int SpeakerArr61Music
+
+
+See Also: Constant Field Values
+
+
+
+
+SpeakerArr70Cine
+
+public static final int SpeakerArr70Cine
+
+
+See Also: Constant Field Values
+
+
+
+
+SpeakerArr70Music
+
+public static final int SpeakerArr70Music
+
+
+See Also: Constant Field Values
+
+
+
+
+SpeakerArr71Cine
+
+public static final int SpeakerArr71Cine
+
+
+See Also: Constant Field Values
+
+
+
+
+SpeakerArr71Music
+
+public static final int SpeakerArr71Music
+
+
+See Also: Constant Field Values
+
+
+
+
+SpeakerArr80Cine
+
+public static final int SpeakerArr80Cine
+
+
+See Also: Constant Field Values
+
+
+
+
+SpeakerArr80Music
+
+public static final int SpeakerArr80Music
+
+
+See Also: Constant Field Values
+
+
+
+
+SpeakerArr81Cine
+
+public static final int SpeakerArr81Cine
+
+
+See Also: Constant Field Values
+
+
+
+
+SpeakerArr81Music
+
+public static final int SpeakerArr81Music
+
+
+See Also: Constant Field Values
+
+
+
+
+SpeakerArrEmpty
+
+public static final int SpeakerArrEmpty
+
+
+See Also: Constant Field Values
+
+
+
+
+SpeakerArrMono
+
+public static final int SpeakerArrMono
+
+
+See Also: Constant Field Values
+
+
+
+
+SpeakerArrStereoCLfe
+
+public static final int SpeakerArrStereoCLfe
+
+
+See Also: Constant Field Values
+
+
+
+
+SpeakerArrStereoCenter
+
+public static final int SpeakerArrStereoCenter
+
+
+See Also: Constant Field Values
+
+
+
+
+SpeakerArrStereoM
+
+public static final int SpeakerArrStereoM
+
+
+See Also: Constant Field Values
+
+
+
+
+SpeakerArrStereoSide
+
+public static final int SpeakerArrStereoSide
+
+
+See Also: Constant Field Values
+
+
+
+
+SpeakerArrStereoSurround
+
+public static final int SpeakerArrStereoSurround
+
+
+See Also: Constant Field Values
+
+
+
+
+SpeakerArrUserDefined
+
+public static final int SpeakerArrUserDefined
+
+
+See Also: Constant Field Values
+
+
+
+
+
+
+
+
+Constructor Detail
+
+
+
+
+VSTSpeakerArrangement
+
+public VSTSpeakerArrangement ()
+
+
+
+
+
+
+
+
+
+getType
+
+public int getType ()
+
+
+
+
+
+
+
+
+setType
+
+public void setType (int type)
+
+
+
+
+
+
+
+
+getNumChannels
+
+public int getNumChannels ()
+
+
+
+
+
+
+
+
+setNumChannels
+
+public void setNumChannels (int numChannels)
+
+
+
+
+
+
+
+
+getSpeakers
+
+public VSTSpeakerProperties [] getSpeakers ()
+
+
+
+
+
+
+
+
+setSpeakers
+
+public void setSpeakers (VSTSpeakerProperties [] speakers)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2012. All Rights Reserved.
+
+
diff --git a/docs/javadoc/jvstsystem/jvst/wrapper/valueobjects/VSTSpeakerProperties.html b/docs/javadoc/jvstsystem/jvst/wrapper/valueobjects/VSTSpeakerProperties.html
new file mode 100644
index 0000000..c655c84
--- /dev/null
+++ b/docs/javadoc/jvstsystem/jvst/wrapper/valueobjects/VSTSpeakerProperties.html
@@ -0,0 +1,1498 @@
+
+
+
+
+
+
+
+VSTSpeakerProperties (jVSTsYstem 1.0beta API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+jvst.wrapper.valueobjects
+
+Class VSTSpeakerProperties
+
+java.lang.Object
+ jvst.wrapper.valueobjects.VSTSpeakerProperties
+
+
+
+public class VSTSpeakerProperties extends Object
+
+
+
+note: the origin for azimuth is right (as by math conventions dealing with radians);
+ the elevation origin is also right, visualizing a rotation of a circle across the
+ -pi/pi axis of the horizontal circle. thus, an elevation of -pi/2 corresponds
+ to bottom, and a speaker standing on the left, and 'beaming' upwards would have
+ an azimuth of -pi, and an elevation of pi/2.
+ for user interface representation, grads are more likely to be used, and the
+ origins will obviously 'shift' accordingly.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Methods inherited from class java.lang.Object
+
+
+clone , equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait
+
+
+
+
+
+
+
+
+
+
+
+SPEAKER_C
+
+public static final int SPEAKER_C
+
+
+See Also: Constant Field Values
+
+
+
+
+SPEAKER_L
+
+public static final int SPEAKER_L
+
+
+See Also: Constant Field Values
+
+
+
+
+SPEAKER_LC
+
+public static final int SPEAKER_LC
+
+
+See Also: Constant Field Values
+
+
+
+
+SPEAKER_LFE
+
+public static final int SPEAKER_LFE
+
+
+See Also: Constant Field Values
+
+
+
+
+SPEAKER_LFE2
+
+public static final int SPEAKER_LFE2
+
+
+See Also: Constant Field Values
+
+
+
+
+SPEAKER_LS
+
+public static final int SPEAKER_LS
+
+
+See Also: Constant Field Values
+
+
+
+
+SPEAKER_M
+
+public static final int SPEAKER_M
+
+
+See Also: Constant Field Values
+
+
+
+
+SPEAKER_R
+
+public static final int SPEAKER_R
+
+
+See Also: Constant Field Values
+
+
+
+
+SPEAKER_RC
+
+public static final int SPEAKER_RC
+
+
+See Also: Constant Field Values
+
+
+
+
+SPEAKER_RS
+
+public static final int SPEAKER_RS
+
+
+See Also: Constant Field Values
+
+
+
+
+SPEAKER_S
+
+public static final int SPEAKER_S
+
+
+See Also: Constant Field Values
+
+
+
+
+SPEAKER_SL
+
+public static final int SPEAKER_SL
+
+
+See Also: Constant Field Values
+
+
+
+
+SPEAKER_SR
+
+public static final int SPEAKER_SR
+
+
+See Also: Constant Field Values
+
+
+
+
+SPEAKER_TFC
+
+public static final int SPEAKER_TFC
+
+
+See Also: Constant Field Values
+
+
+
+
+SPEAKER_TFL
+
+public static final int SPEAKER_TFL
+
+
+See Also: Constant Field Values
+
+
+
+
+SPEAKER_TFR
+
+public static final int SPEAKER_TFR
+
+
+See Also: Constant Field Values
+
+
+
+
+SPEAKER_TM
+
+public static final int SPEAKER_TM
+
+
+See Also: Constant Field Values
+
+
+
+
+SPEAKER_TRC
+
+public static final int SPEAKER_TRC
+
+
+See Also: Constant Field Values
+
+
+
+
+SPEAKER_TRL
+
+public static final int SPEAKER_TRL
+
+
+See Also: Constant Field Values
+
+
+
+
+SPEAKER_TRR
+
+public static final int SPEAKER_TRR
+
+
+See Also: Constant Field Values
+
+
+
+
+SPEAKER_U1
+
+public static final int SPEAKER_U1
+
+
+See Also: Constant Field Values
+
+
+
+
+SPEAKER_U10
+
+public static final int SPEAKER_U10
+
+
+See Also: Constant Field Values
+
+
+
+
+SPEAKER_U11
+
+public static final int SPEAKER_U11
+
+
+See Also: Constant Field Values
+
+
+
+
+SPEAKER_U12
+
+public static final int SPEAKER_U12
+
+
+See Also: Constant Field Values
+
+
+
+
+SPEAKER_U13
+
+public static final int SPEAKER_U13
+
+
+See Also: Constant Field Values
+
+
+
+
+SPEAKER_U14
+
+public static final int SPEAKER_U14
+
+
+See Also: Constant Field Values
+
+
+
+
+SPEAKER_U15
+
+public static final int SPEAKER_U15
+
+
+See Also: Constant Field Values
+
+
+
+
+SPEAKER_U16
+
+public static final int SPEAKER_U16
+
+
+See Also: Constant Field Values
+
+
+
+
+SPEAKER_U17
+
+public static final int SPEAKER_U17
+
+
+See Also: Constant Field Values
+
+
+
+
+SPEAKER_U18
+
+public static final int SPEAKER_U18
+
+
+See Also: Constant Field Values
+
+
+
+
+SPEAKER_U19
+
+public static final int SPEAKER_U19
+
+
+See Also: Constant Field Values
+
+
+
+
+SPEAKER_U2
+
+public static final int SPEAKER_U2
+
+
+See Also: Constant Field Values
+
+
+
+
+SPEAKER_U20
+
+public static final int SPEAKER_U20
+
+
+See Also: Constant Field Values
+
+
+
+
+SPEAKER_U21
+
+public static final int SPEAKER_U21
+
+
+See Also: Constant Field Values
+
+
+
+
+SPEAKER_U22
+
+public static final int SPEAKER_U22
+
+
+See Also: Constant Field Values
+
+
+
+
+SPEAKER_U23
+
+public static final int SPEAKER_U23
+
+
+See Also: Constant Field Values
+
+
+
+
+SPEAKER_U24
+
+public static final int SPEAKER_U24
+
+
+See Also: Constant Field Values
+
+
+
+
+SPEAKER_U25
+
+public static final int SPEAKER_U25
+
+
+See Also: Constant Field Values
+
+
+
+
+SPEAKER_U26
+
+public static final int SPEAKER_U26
+
+
+See Also: Constant Field Values
+
+
+
+
+SPEAKER_U27
+
+public static final int SPEAKER_U27
+
+
+See Also: Constant Field Values
+
+
+
+
+SPEAKER_U28
+
+public static final int SPEAKER_U28
+
+
+See Also: Constant Field Values
+
+
+
+
+SPEAKER_U29
+
+public static final int SPEAKER_U29
+
+
+See Also: Constant Field Values
+
+
+
+
+SPEAKER_U3
+
+public static final int SPEAKER_U3
+
+
+See Also: Constant Field Values
+
+
+
+
+SPEAKER_U30
+
+public static final int SPEAKER_U30
+
+
+See Also: Constant Field Values
+
+
+
+
+SPEAKER_U31
+
+public static final int SPEAKER_U31
+
+
+See Also: Constant Field Values
+
+
+
+
+SPEAKER_U32
+
+public static final int SPEAKER_U32
+
+
+See Also: Constant Field Values
+
+
+
+
+SPEAKER_U4
+
+public static final int SPEAKER_U4
+
+
+See Also: Constant Field Values
+
+
+
+
+SPEAKER_U5
+
+public static final int SPEAKER_U5
+
+
+See Also: Constant Field Values
+
+
+
+
+SPEAKER_U6
+
+public static final int SPEAKER_U6
+
+
+See Also: Constant Field Values
+
+
+
+
+SPEAKER_U7
+
+public static final int SPEAKER_U7
+
+
+See Also: Constant Field Values
+
+
+
+
+SPEAKER_U8
+
+public static final int SPEAKER_U8
+
+
+See Also: Constant Field Values
+
+
+
+
+SPEAKER_U9
+
+public static final int SPEAKER_U9
+
+
+See Also: Constant Field Values
+
+
+
+
+SPEAKER_UNDEFINED
+
+public static final int SPEAKER_UNDEFINED
+
+
+See Also: Constant Field Values
+
+
+
+
+SPEAKER_CS
+
+public static final int SPEAKER_CS
+
+
+See Also: Constant Field Values
+
+
+
+
+
+
+
+
+Constructor Detail
+
+
+
+
+VSTSpeakerProperties
+
+public VSTSpeakerProperties ()
+
+
+
+
+
+
+
+
+
+getAzimuth
+
+public float getAzimuth ()
+
+
+
+
+
+
+
+
+setAzimuth
+
+public void setAzimuth (float azimuth)
+
+
+
+
+
+
+
+
+getElevation
+
+public float getElevation ()
+
+
+
+
+
+
+
+
+setElevation
+
+public void setElevation (float elevation)
+
+
+
+
+
+
+
+
+getRadius
+
+public float getRadius ()
+
+
+
+
+
+
+
+
+setRadius
+
+public void setRadius (float radius)
+
+
+
+
+
+
+
+
+getReserved
+
+public float getReserved ()
+
+
+
+
+
+
+
+
+setReserved
+
+public void setReserved (float reserved)
+
+
+
+
+
+
+
+
+getName
+
+public String getName ()
+
+
+
+
+
+
+
+
+setName
+
+public void setName (String name)
+
+
+
+
+
+
+
+
+getType
+
+public int getType ()
+
+
+
+
+
+
+
+
+setType
+
+public void setType (int type)
+
+
+
+
+
+
+
+
+getFuture
+
+public char[] getFuture ()
+
+
+
+
+
+
+
+
+setFuture
+
+public void setFuture (char[] future)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2012. All Rights Reserved.
+
+
diff --git a/docs/javadoc/jvstsystem/jvst/wrapper/valueobjects/VSTTimeInfo.html b/docs/javadoc/jvstsystem/jvst/wrapper/valueobjects/VSTTimeInfo.html
new file mode 100644
index 0000000..822d60e
--- /dev/null
+++ b/docs/javadoc/jvstsystem/jvst/wrapper/valueobjects/VSTTimeInfo.html
@@ -0,0 +1,774 @@
+
+
+
+
+
+
+
+VSTTimeInfo (jVSTsYstem 1.0beta API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+jvst.wrapper.valueobjects
+
+Class VSTTimeInfo
+
+java.lang.Object
+ jvst.wrapper.valueobjects.VSTTimeInfo
+
+
+
+public class VSTTimeInfo extends Object
+
+
+
+VstTimeInfo as requested via audioMasterGetTime (getTimeInfo())
+ refers to the current time slice. note the new slice is
+ already started when processEvents() is called
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Methods inherited from class java.lang.Object
+
+
+clone , equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait
+
+
+
+
+
+
+
+
+
+
+
+VST_TIME_AUTOMATION_READING
+
+public static final int VST_TIME_AUTOMATION_READING
+
+
+See Also: Constant Field Values
+
+
+
+
+VST_TIME_AUTOMATION_WRITING
+
+public static final int VST_TIME_AUTOMATION_WRITING
+
+
+See Also: Constant Field Values
+
+
+
+
+VST_TIME_BARS_VALID
+
+public static final int VST_TIME_BARS_VALID
+
+
+See Also: Constant Field Values
+
+
+
+
+VST_TIME_CLOCK_VALID
+
+public static final int VST_TIME_CLOCK_VALID
+
+
+See Also: Constant Field Values
+
+
+
+
+VST_TIME_CYCLE_POS_VALID
+
+public static final int VST_TIME_CYCLE_POS_VALID
+
+
+See Also: Constant Field Values
+
+
+
+
+VST_TIME_NANOS_VALID
+
+public static final int VST_TIME_NANOS_VALID
+
+
+See Also: Constant Field Values
+
+
+
+
+VST_TIME_PPQ_POS_VALID
+
+public static final int VST_TIME_PPQ_POS_VALID
+
+
+See Also: Constant Field Values
+
+
+
+
+VST_TIME_SMPTE_VALID
+
+public static final int VST_TIME_SMPTE_VALID
+
+
+See Also: Constant Field Values
+
+
+
+
+VST_TIME_TEMPO_VALID
+
+public static final int VST_TIME_TEMPO_VALID
+
+
+See Also: Constant Field Values
+
+
+
+
+VST_TIME_TIME_SIG_VALID
+
+public static final int VST_TIME_TIME_SIG_VALID
+
+
+See Also: Constant Field Values
+
+
+
+
+VST_TIME_TRANSPORT_CHANGED
+
+public static final int VST_TIME_TRANSPORT_CHANGED
+
+
+See Also: Constant Field Values
+
+
+
+
+VST_TIME_TRANSPORT_CYCLE_ACTIVE
+
+public static final int VST_TIME_TRANSPORT_CYCLE_ACTIVE
+
+
+See Also: Constant Field Values
+
+
+
+
+VST_TIME_TRANSPORT_PLAYING
+
+public static final int VST_TIME_TRANSPORT_PLAYING
+
+
+See Also: Constant Field Values
+
+
+
+
+VST_TIME_TRANSPORT_RECORDING
+
+public static final int VST_TIME_TRANSPORT_RECORDING
+
+
+See Also: Constant Field Values
+
+
+
+
+
+
+
+
+Constructor Detail
+
+
+
+
+VSTTimeInfo
+
+public VSTTimeInfo ()
+
+
+
+
+
+
+
+
+
+getSamplePos
+
+public double getSamplePos ()
+
+
+
+
+
+
+
+
+getSampleRate
+
+public double getSampleRate ()
+
+
+
+
+
+
+
+
+getNanoSeconds
+
+public double getNanoSeconds ()
+
+
+
+
+
+
+
+
+getPPQPos
+
+public double getPPQPos ()
+
+
+
+
+
+
+
+
+getTempo
+
+public double getTempo ()
+
+
+
+
+
+
+
+
+getBarStartPos
+
+public double getBarStartPos ()
+
+
+
+
+
+
+
+
+getCycleStartPos
+
+public double getCycleStartPos ()
+
+
+
+
+
+
+
+
+getCycleEndPos
+
+public double getCycleEndPos ()
+
+
+
+
+
+
+
+
+getTimeSigNumerator
+
+public int getTimeSigNumerator ()
+
+
+
+
+
+
+
+
+getTimeSigDenominator
+
+public int getTimeSigDenominator ()
+
+
+
+
+
+
+
+
+getSMPTEOffset
+
+public int getSMPTEOffset ()
+
+
+
+
+
+
+
+
+getSMPTEFrameRate
+
+public int getSMPTEFrameRate ()
+
+
+
+
+
+
+
+
+getSamplesToNextClock
+
+public int getSamplesToNextClock ()
+
+
+
+
+
+
+
+
+getFlags
+
+public int getFlags ()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2012. All Rights Reserved.
+
+
diff --git a/docs/javadoc/jvstsystem/jvst/wrapper/valueobjects/VSTVariableIO.html b/docs/javadoc/jvstsystem/jvst/wrapper/valueobjects/VSTVariableIO.html
new file mode 100644
index 0000000..3981355
--- /dev/null
+++ b/docs/javadoc/jvstsystem/jvst/wrapper/valueobjects/VSTVariableIO.html
@@ -0,0 +1,460 @@
+
+
+
+
+
+
+
+VSTVariableIO (jVSTsYstem 1.0beta API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+jvst.wrapper.valueobjects
+
+Class VSTVariableIO
+
+java.lang.Object
+ jvst.wrapper.valueobjects.VSTVariableIO
+
+
+
+public class VSTVariableIO extends Object
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Methods inherited from class java.lang.Object
+
+
+clone , equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait
+
+
+
+
+
+
+
+
+
+
+
+Constructor Detail
+
+
+
+
+VSTVariableIO
+
+public VSTVariableIO ()
+
+
+
+
+
+
+
+
+
+getInputs
+
+public float[][] getInputs ()
+
+
+
+
+
+
+
+
+setInputs
+
+public void setInputs (float[][] inputs)
+
+
+
+
+
+
+
+
+getOutputs
+
+public float[][] getOutputs ()
+
+
+
+
+
+
+
+
+setOutputs
+
+public void setOutputs (float[][] outputs)
+
+
+
+
+
+
+
+
+getNumSamplesInput
+
+public int getNumSamplesInput ()
+
+
+
+
+
+
+
+
+setNumSamplesInput
+
+public void setNumSamplesInput (int numSamplesInput)
+
+
+
+
+
+
+
+
+getNumSamplesOutput
+
+public int getNumSamplesOutput ()
+
+
+
+
+
+
+
+
+setNumSamplesOutput
+
+public void setNumSamplesOutput (int numSamplesOutput)
+
+
+
+
+
+
+
+
+getNumSamplesInputProcessed
+
+public int getNumSamplesInputProcessed ()
+
+
+
+
+
+
+
+
+setNumSamplesInputProcessed
+
+public void setNumSamplesInputProcessed (int numSamplesInputProcessed)
+
+
+
+
+
+
+
+
+getNumSamplesOutputProcessed
+
+public int getNumSamplesOutputProcessed ()
+
+
+
+
+
+
+
+
+setNumSamplesOutputProcessed
+
+public void setNumSamplesOutputProcessed (int numSamplesOutputProcessed)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2012. All Rights Reserved.
+
+
diff --git a/docs/javadoc/jvstsystem/jvst/wrapper/valueobjects/class-use/MidiKeyName.html b/docs/javadoc/jvstsystem/jvst/wrapper/valueobjects/class-use/MidiKeyName.html
new file mode 100644
index 0000000..6c45096
--- /dev/null
+++ b/docs/javadoc/jvstsystem/jvst/wrapper/valueobjects/class-use/MidiKeyName.html
@@ -0,0 +1,143 @@
+
+
+
+
+
+
+
+Uses of Class jvst.wrapper.valueobjects.MidiKeyName (jVSTsYstem 1.0beta API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Uses of Class jvst.wrapper.valueobjects.MidiKeyName
+
+No usage of jvst.wrapper.valueobjects.MidiKeyName
+
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2012. All Rights Reserved.
+
+
diff --git a/docs/javadoc/jvstsystem/jvst/wrapper/valueobjects/class-use/MidiProgramCategory.html b/docs/javadoc/jvstsystem/jvst/wrapper/valueobjects/class-use/MidiProgramCategory.html
new file mode 100644
index 0000000..7400ddd
--- /dev/null
+++ b/docs/javadoc/jvstsystem/jvst/wrapper/valueobjects/class-use/MidiProgramCategory.html
@@ -0,0 +1,143 @@
+
+
+
+
+
+
+
+Uses of Class jvst.wrapper.valueobjects.MidiProgramCategory (jVSTsYstem 1.0beta API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Uses of Class jvst.wrapper.valueobjects.MidiProgramCategory
+
+No usage of jvst.wrapper.valueobjects.MidiProgramCategory
+
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2012. All Rights Reserved.
+
+
diff --git a/docs/javadoc/jvstsystem/jvst/wrapper/valueobjects/class-use/MidiProgramName.html b/docs/javadoc/jvstsystem/jvst/wrapper/valueobjects/class-use/MidiProgramName.html
new file mode 100644
index 0000000..e1cdd4c
--- /dev/null
+++ b/docs/javadoc/jvstsystem/jvst/wrapper/valueobjects/class-use/MidiProgramName.html
@@ -0,0 +1,143 @@
+
+
+
+
+
+
+
+Uses of Class jvst.wrapper.valueobjects.MidiProgramName (jVSTsYstem 1.0beta API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Uses of Class jvst.wrapper.valueobjects.MidiProgramName
+
+No usage of jvst.wrapper.valueobjects.MidiProgramName
+
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2012. All Rights Reserved.
+
+
diff --git a/docs/javadoc/jvstsystem/jvst/wrapper/valueobjects/class-use/VSTEvent.html b/docs/javadoc/jvstsystem/jvst/wrapper/valueobjects/class-use/VSTEvent.html
new file mode 100644
index 0000000..ad7b2e4
--- /dev/null
+++ b/docs/javadoc/jvstsystem/jvst/wrapper/valueobjects/class-use/VSTEvent.html
@@ -0,0 +1,198 @@
+
+
+
+
+
+
+
+Uses of Class jvst.wrapper.valueobjects.VSTEvent (jVSTsYstem 1.0beta API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Uses of Class jvst.wrapper.valueobjects.VSTEvent
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2012. All Rights Reserved.
+
+
diff --git a/docs/javadoc/jvstsystem/jvst/wrapper/valueobjects/class-use/VSTEvents.html b/docs/javadoc/jvstsystem/jvst/wrapper/valueobjects/class-use/VSTEvents.html
new file mode 100644
index 0000000..8b74575
--- /dev/null
+++ b/docs/javadoc/jvstsystem/jvst/wrapper/valueobjects/class-use/VSTEvents.html
@@ -0,0 +1,143 @@
+
+
+
+
+
+
+
+Uses of Class jvst.wrapper.valueobjects.VSTEvents (jVSTsYstem 1.0beta API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Uses of Class jvst.wrapper.valueobjects.VSTEvents
+
+No usage of jvst.wrapper.valueobjects.VSTEvents
+
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2012. All Rights Reserved.
+
+
diff --git a/docs/javadoc/jvstsystem/jvst/wrapper/valueobjects/class-use/VSTMidiEvent.html b/docs/javadoc/jvstsystem/jvst/wrapper/valueobjects/class-use/VSTMidiEvent.html
new file mode 100644
index 0000000..3344a71
--- /dev/null
+++ b/docs/javadoc/jvstsystem/jvst/wrapper/valueobjects/class-use/VSTMidiEvent.html
@@ -0,0 +1,143 @@
+
+
+
+
+
+
+
+Uses of Class jvst.wrapper.valueobjects.VSTMidiEvent (jVSTsYstem 1.0beta API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Uses of Class jvst.wrapper.valueobjects.VSTMidiEvent
+
+No usage of jvst.wrapper.valueobjects.VSTMidiEvent
+
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2012. All Rights Reserved.
+
+
diff --git a/docs/javadoc/jvstsystem/jvst/wrapper/valueobjects/class-use/VSTParameterProperties.html b/docs/javadoc/jvstsystem/jvst/wrapper/valueobjects/class-use/VSTParameterProperties.html
new file mode 100644
index 0000000..85004c6
--- /dev/null
+++ b/docs/javadoc/jvstsystem/jvst/wrapper/valueobjects/class-use/VSTParameterProperties.html
@@ -0,0 +1,143 @@
+
+
+
+
+
+
+
+Uses of Class jvst.wrapper.valueobjects.VSTParameterProperties (jVSTsYstem 1.0beta API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Uses of Class jvst.wrapper.valueobjects.VSTParameterProperties
+
+No usage of jvst.wrapper.valueobjects.VSTParameterProperties
+
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2012. All Rights Reserved.
+
+
diff --git a/docs/javadoc/jvstsystem/jvst/wrapper/valueobjects/class-use/VSTPatchChunkInfo.html b/docs/javadoc/jvstsystem/jvst/wrapper/valueobjects/class-use/VSTPatchChunkInfo.html
new file mode 100644
index 0000000..d072c0d
--- /dev/null
+++ b/docs/javadoc/jvstsystem/jvst/wrapper/valueobjects/class-use/VSTPatchChunkInfo.html
@@ -0,0 +1,143 @@
+
+
+
+
+
+
+
+Uses of Class jvst.wrapper.valueobjects.VSTPatchChunkInfo (jVSTsYstem 1.0beta API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Uses of Class jvst.wrapper.valueobjects.VSTPatchChunkInfo
+
+No usage of jvst.wrapper.valueobjects.VSTPatchChunkInfo
+
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2012. All Rights Reserved.
+
+
diff --git a/docs/javadoc/jvstsystem/jvst/wrapper/valueobjects/class-use/VSTPinProperties.html b/docs/javadoc/jvstsystem/jvst/wrapper/valueobjects/class-use/VSTPinProperties.html
new file mode 100644
index 0000000..45e2070
--- /dev/null
+++ b/docs/javadoc/jvstsystem/jvst/wrapper/valueobjects/class-use/VSTPinProperties.html
@@ -0,0 +1,143 @@
+
+
+
+
+
+
+
+Uses of Class jvst.wrapper.valueobjects.VSTPinProperties (jVSTsYstem 1.0beta API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Uses of Class jvst.wrapper.valueobjects.VSTPinProperties
+
+No usage of jvst.wrapper.valueobjects.VSTPinProperties
+
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2012. All Rights Reserved.
+
+
diff --git a/docs/javadoc/jvstsystem/jvst/wrapper/valueobjects/class-use/VSTSpeakerArrangement.html b/docs/javadoc/jvstsystem/jvst/wrapper/valueobjects/class-use/VSTSpeakerArrangement.html
new file mode 100644
index 0000000..bb077c5
--- /dev/null
+++ b/docs/javadoc/jvstsystem/jvst/wrapper/valueobjects/class-use/VSTSpeakerArrangement.html
@@ -0,0 +1,143 @@
+
+
+
+
+
+
+
+Uses of Class jvst.wrapper.valueobjects.VSTSpeakerArrangement (jVSTsYstem 1.0beta API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Uses of Class jvst.wrapper.valueobjects.VSTSpeakerArrangement
+
+No usage of jvst.wrapper.valueobjects.VSTSpeakerArrangement
+
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2012. All Rights Reserved.
+
+
diff --git a/docs/javadoc/jvstsystem/jvst/wrapper/valueobjects/class-use/VSTSpeakerProperties.html b/docs/javadoc/jvstsystem/jvst/wrapper/valueobjects/class-use/VSTSpeakerProperties.html
new file mode 100644
index 0000000..a2beaf2
--- /dev/null
+++ b/docs/javadoc/jvstsystem/jvst/wrapper/valueobjects/class-use/VSTSpeakerProperties.html
@@ -0,0 +1,182 @@
+
+
+
+
+
+
+
+Uses of Class jvst.wrapper.valueobjects.VSTSpeakerProperties (jVSTsYstem 1.0beta API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Uses of Class jvst.wrapper.valueobjects.VSTSpeakerProperties
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2012. All Rights Reserved.
+
+
diff --git a/docs/javadoc/jvstsystem/jvst/wrapper/valueobjects/class-use/VSTTimeInfo.html b/docs/javadoc/jvstsystem/jvst/wrapper/valueobjects/class-use/VSTTimeInfo.html
new file mode 100644
index 0000000..2053044
--- /dev/null
+++ b/docs/javadoc/jvstsystem/jvst/wrapper/valueobjects/class-use/VSTTimeInfo.html
@@ -0,0 +1,143 @@
+
+
+
+
+
+
+
+Uses of Class jvst.wrapper.valueobjects.VSTTimeInfo (jVSTsYstem 1.0beta API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Uses of Class jvst.wrapper.valueobjects.VSTTimeInfo
+
+No usage of jvst.wrapper.valueobjects.VSTTimeInfo
+
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2012. All Rights Reserved.
+
+
diff --git a/docs/javadoc/jvstsystem/jvst/wrapper/valueobjects/class-use/VSTVariableIO.html b/docs/javadoc/jvstsystem/jvst/wrapper/valueobjects/class-use/VSTVariableIO.html
new file mode 100644
index 0000000..f12f3a8
--- /dev/null
+++ b/docs/javadoc/jvstsystem/jvst/wrapper/valueobjects/class-use/VSTVariableIO.html
@@ -0,0 +1,143 @@
+
+
+
+
+
+
+
+Uses of Class jvst.wrapper.valueobjects.VSTVariableIO (jVSTsYstem 1.0beta API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Uses of Class jvst.wrapper.valueobjects.VSTVariableIO
+
+No usage of jvst.wrapper.valueobjects.VSTVariableIO
+
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2012. All Rights Reserved.
+
+
diff --git a/docs/javadoc/jvstsystem/jvst/wrapper/valueobjects/package-frame.html b/docs/javadoc/jvstsystem/jvst/wrapper/valueobjects/package-frame.html
new file mode 100644
index 0000000..1eaf5bc
--- /dev/null
+++ b/docs/javadoc/jvstsystem/jvst/wrapper/valueobjects/package-frame.html
@@ -0,0 +1,57 @@
+
+
+
+
+
+
+
+jvst.wrapper.valueobjects (jVSTsYstem 1.0beta API)
+
+
+
+
+
+
+
+
+
+
+
+jvst.wrapper.valueobjects
+
+
+
+
+
diff --git a/docs/javadoc/jvstsystem/jvst/wrapper/valueobjects/package-summary.html b/docs/javadoc/jvstsystem/jvst/wrapper/valueobjects/package-summary.html
new file mode 100644
index 0000000..79370d9
--- /dev/null
+++ b/docs/javadoc/jvstsystem/jvst/wrapper/valueobjects/package-summary.html
@@ -0,0 +1,207 @@
+
+
+
+
+
+
+
+jvst.wrapper.valueobjects (jVSTsYstem 1.0beta API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Package jvst.wrapper.valueobjects
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2012. All Rights Reserved.
+
+
diff --git a/docs/javadoc/jvstsystem/jvst/wrapper/valueobjects/package-tree.html b/docs/javadoc/jvstsystem/jvst/wrapper/valueobjects/package-tree.html
new file mode 100644
index 0000000..25e62f2
--- /dev/null
+++ b/docs/javadoc/jvstsystem/jvst/wrapper/valueobjects/package-tree.html
@@ -0,0 +1,151 @@
+
+
+
+
+
+
+
+jvst.wrapper.valueobjects Class Hierarchy (jVSTsYstem 1.0beta API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Hierarchy For Package jvst.wrapper.valueobjects
+
+
+
+Class Hierarchy
+
+
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2012. All Rights Reserved.
+
+
diff --git a/docs/javadoc/jvstsystem/jvst/wrapper/valueobjects/package-use.html b/docs/javadoc/jvstsystem/jvst/wrapper/valueobjects/package-use.html
new file mode 100644
index 0000000..e7e13a4
--- /dev/null
+++ b/docs/javadoc/jvstsystem/jvst/wrapper/valueobjects/package-use.html
@@ -0,0 +1,164 @@
+
+
+
+
+
+
+
+Uses of Package jvst.wrapper.valueobjects (jVSTsYstem 1.0beta API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Uses of Package jvst.wrapper.valueobjects
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2012. All Rights Reserved.
+
+
diff --git a/docs/javadoc/jvstsystem/options b/docs/javadoc/jvstsystem/options
new file mode 100644
index 0000000..310af88
--- /dev/null
+++ b/docs/javadoc/jvstsystem/options
@@ -0,0 +1,24 @@
+-classpath
+'C:/dev/github/opaz-java/src/jVSTsYstem/target/classes;C:/Users/drew/.m2/repository/junit/junit/3.8.2/junit-3.8.2.jar'
+-encoding
+'UTF-8'
+-protected
+-sourcepath
+'C:/dev/github/opaz-java/src/jVSTsYstem/src'
+-author
+-bottom
+'Copyright © 2012. All Rights Reserved.'
+-charset
+'UTF-8'
+-d
+'C:/dev/github/opaz-java/src/jVSTsYstem/target/site/apidocs'
+-docencoding
+'UTF-8'
+-doctitle
+'jVSTsYstem 1.0beta API'
+-linkoffline
+'http://download.oracle.com/javase/6/docs/api' 'C:/dev/github/opaz-java/src/jVSTsYstem/target/javadoc-bundle-options'
+-use
+-version
+-windowtitle
+'jVSTsYstem 1.0beta API'
\ No newline at end of file
diff --git a/docs/javadoc/jvstsystem/overview-tree.html b/docs/javadoc/jvstsystem/overview-tree.html
new file mode 100644
index 0000000..ed0f1be
--- /dev/null
+++ b/docs/javadoc/jvstsystem/overview-tree.html
@@ -0,0 +1,153 @@
+
+
+
+
+
+
+
+Class Hierarchy (jVSTsYstem 1.0beta API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Hierarchy For All Packages
+
+
+Package Hierarchies: jvst.wrapper.valueobjects
+
+
+Class Hierarchy
+
+
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2012. All Rights Reserved.
+
+
diff --git a/docs/javadoc/jvstsystem/package-list b/docs/javadoc/jvstsystem/package-list
new file mode 100644
index 0000000..8bd5327
--- /dev/null
+++ b/docs/javadoc/jvstsystem/package-list
@@ -0,0 +1 @@
+jvst.wrapper.valueobjects
diff --git a/docs/javadoc/jvstsystem/packages b/docs/javadoc/jvstsystem/packages
new file mode 100644
index 0000000..b75fc56
--- /dev/null
+++ b/docs/javadoc/jvstsystem/packages
@@ -0,0 +1 @@
+jvst.wrapper.valueobjects
\ No newline at end of file
diff --git a/docs/javadoc/jvstsystem/resources/inherit.gif b/docs/javadoc/jvstsystem/resources/inherit.gif
new file mode 100644
index 0000000..c814867
Binary files /dev/null and b/docs/javadoc/jvstsystem/resources/inherit.gif differ
diff --git a/docs/javadoc/jvstsystem/stylesheet.css b/docs/javadoc/jvstsystem/stylesheet.css
new file mode 100644
index 0000000..cbd3428
--- /dev/null
+++ b/docs/javadoc/jvstsystem/stylesheet.css
@@ -0,0 +1,29 @@
+/* Javadoc style sheet */
+
+/* Define colors, fonts and other style attributes here to override the defaults */
+
+/* Page background color */
+body { background-color: #FFFFFF; color:#000000 }
+
+/* Headings */
+h1 { font-size: 145% }
+
+/* Table colors */
+.TableHeadingColor { background: #CCCCFF; color:#000000 } /* Dark mauve */
+.TableSubHeadingColor { background: #EEEEFF; color:#000000 } /* Light mauve */
+.TableRowColor { background: #FFFFFF; color:#000000 } /* White */
+
+/* Font used in left-hand frame lists */
+.FrameTitleFont { font-size: 100%; font-family: Helvetica, Arial, sans-serif; color:#000000 }
+.FrameHeadingFont { font-size: 90%; font-family: Helvetica, Arial, sans-serif; color:#000000 }
+.FrameItemFont { font-size: 90%; font-family: Helvetica, Arial, sans-serif; color:#000000 }
+
+/* Navigation bar fonts and colors */
+.NavBarCell1 { background-color:#EEEEFF; color:#000000} /* Light mauve */
+.NavBarCell1Rev { background-color:#00008B; color:#FFFFFF} /* Dark Blue */
+.NavBarFont1 { font-family: Arial, Helvetica, sans-serif; color:#000000;color:#000000;}
+.NavBarFont1Rev { font-family: Arial, Helvetica, sans-serif; color:#FFFFFF;color:#FFFFFF;}
+
+.NavBarCell2 { font-family: Arial, Helvetica, sans-serif; background-color:#FFFFFF; color:#000000}
+.NavBarCell3 { font-family: Arial, Helvetica, sans-serif; background-color:#FFFFFF; color:#000000}
+
diff --git a/docs/javadoc/jvstwrapper/allclasses-frame.html b/docs/javadoc/jvstwrapper/allclasses-frame.html
new file mode 100644
index 0000000..44cc48c
--- /dev/null
+++ b/docs/javadoc/jvstwrapper/allclasses-frame.html
@@ -0,0 +1,68 @@
+
+
+
+
+
+
+
+All Classes (jVSTwRapper 1.0beta API)
+
+
+
+
+
+
+
+
+
+
+
+All Classes
+
+
+
+
+
+
diff --git a/docs/javadoc/jvstwrapper/allclasses-noframe.html b/docs/javadoc/jvstwrapper/allclasses-noframe.html
new file mode 100644
index 0000000..3b9ba54
--- /dev/null
+++ b/docs/javadoc/jvstwrapper/allclasses-noframe.html
@@ -0,0 +1,68 @@
+
+
+
+
+
+
+
+All Classes (jVSTwRapper 1.0beta API)
+
+
+
+
+
+
+
+
+
+
+
+All Classes
+
+
+
+
+
+
diff --git a/docs/javadoc/jvstwrapper/constant-values.html b/docs/javadoc/jvstwrapper/constant-values.html
new file mode 100644
index 0000000..2e5b288
--- /dev/null
+++ b/docs/javadoc/jvstwrapper/constant-values.html
@@ -0,0 +1,619 @@
+
+
+
+
+
+
+
+Constant Field Values (jVSTwRapper 1.0beta API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constant Field Values
+
+
+Contents
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2012. All Rights Reserved.
+
+
diff --git a/docs/javadoc/jvstwrapper/deprecated-list.html b/docs/javadoc/jvstwrapper/deprecated-list.html
new file mode 100644
index 0000000..1756339
--- /dev/null
+++ b/docs/javadoc/jvstwrapper/deprecated-list.html
@@ -0,0 +1,389 @@
+
+
+
+
+
+
+
+Deprecated List (jVSTwRapper 1.0beta API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Deprecated API
+
+
+Contents
+
+
+
+
+
+Deprecated Methods
+
+
+jvst.wrapper.communication.VSTV10ToHost.canMono(boolean)
+
+ deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+
+
+jvst.wrapper.communication.VSTV20ToPlug.copyProgram(int)
+
+ deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+
+
+jvst.wrapper.VSTPluginAdapter.copyProgram(int)
+
+ deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+
+
+jvst.wrapper.communication.VSTV20ToPlug.fxIdle()
+
+ deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+
+
+jvst.wrapper.VSTPluginAdapter.fxIdle()
+
+ deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+
+
+jvst.wrapper.communication.VSTV20ToPlug.getErrorText()
+
+ deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+
+
+jvst.wrapper.VSTPluginAdapter.getErrorText()
+
+ deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+
+
+jvst.wrapper.communication.VSTV20ToHost.getNumAutomatableParameters()
+
+ deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+
+
+jvst.wrapper.communication.VSTV20ToPlug.getNumCategories()
+
+ deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+
+
+jvst.wrapper.VSTPluginAdapter.getNumCategories()
+
+ deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+
+
+jvst.wrapper.communication.VSTV20ToHost.getParameterQuantization()
+
+ deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+
+
+jvst.wrapper.communication.VSTV10ToPlug.getVu()
+
+ deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+
+
+jvst.wrapper.VSTPluginAdapter.getVu()
+
+ deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+
+
+jvst.wrapper.communication.VSTV10ToHost.hasClip(boolean)
+
+ deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+
+
+jvst.wrapper.communication.VSTV20ToHost.hasExternalBuffer(boolean)
+
+ deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+
+
+jvst.wrapper.communication.VSTV10ToHost.hasVu(boolean)
+
+ deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+
+
+jvst.wrapper.communication.VSTV20ToPlug.inputConnected(int, boolean)
+
+ deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+
+
+jvst.wrapper.VSTPluginAdapter.inputConnected(int, boolean)
+
+ deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+
+
+jvst.wrapper.communication.VSTV20ToPlug.keysRequired()
+
+ deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+
+
+jvst.wrapper.VSTPluginAdapter.keysRequired()
+
+ deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+
+
+jvst.wrapper.communication.VSTV20ToHost.needIdle()
+
+ deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+
+
+jvst.wrapper.communication.VSTV20ToPlug.outputConnected(int, boolean)
+
+ deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+
+
+jvst.wrapper.VSTPluginAdapter.outputConnected(int, boolean)
+
+ deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+
+
+jvst.wrapper.communication.VSTV10ToPlug.process(float[][], float[][], int)
+
+ deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+
+ USE processReplacing() and/or processDoubleReplacing() INSTEAD!
+
+
+jvst.wrapper.VSTPluginAdapter.process(float[][], float[][], int)
+
+ deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+
+ USE processReplacing() and/or processDoubleReplacing() INSTEAD!
+
+
+jvst.wrapper.communication.VSTV20ToPlug.reportCurrentPosition()
+
+ deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+
+
+jvst.wrapper.VSTPluginAdapter.reportCurrentPosition()
+
+ deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+
+
+jvst.wrapper.communication.VSTV20ToPlug.reportDestinationBuffer()
+
+ deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+
+
+jvst.wrapper.VSTPluginAdapter.reportDestinationBuffer()
+
+ deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+
+
+jvst.wrapper.communication.VSTV20ToPlug.setBlockSizeAndSampleRate(int, float)
+
+ deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+
+
+jvst.wrapper.VSTPluginAdapter.setBlockSizeAndSampleRate(int, float)
+
+ deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+
+
+jvst.wrapper.communication.VSTV10ToHost.setOfflineQualities(int)
+
+ deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+
+
+jvst.wrapper.communication.VSTV20ToHost.setOutputSamplerate(float)
+
+ deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+
+
+jvst.wrapper.communication.VSTV10ToHost.setRealtimeQualities(int)
+
+ deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+
+
+jvst.wrapper.communication.VSTV20ToHost.tempoAt(int)
+
+ deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+
+
+jvst.wrapper.communication.VSTV20ToHost.wantAsyncOperation(boolean)
+
+ deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+
+
+jvst.wrapper.communication.VSTV20ToHost.wantEvents(int)
+
+ deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+
+
+jvst.wrapper.communication.VSTV20ToHost.willProcessReplacing()
+
+ deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2012. All Rights Reserved.
+
+
diff --git a/docs/javadoc/jvstwrapper/help-doc.html b/docs/javadoc/jvstwrapper/help-doc.html
new file mode 100644
index 0000000..6534d89
--- /dev/null
+++ b/docs/javadoc/jvstwrapper/help-doc.html
@@ -0,0 +1,224 @@
+
+
+
+
+
+
+
+API Help (jVSTwRapper 1.0beta API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+How This API Document Is Organized
+
+This API (Application Programming Interface) document has pages corresponding to the items in the navigation bar, described as follows.
+Overview
+
+
+
+The Overview page is the front page of this API document and provides a list of all packages with a summary for each. This page can also contain an overall description of the set of packages.
+
+Package
+
+
+
+Each package has a page that contains a list of its classes and interfaces, with a summary for each. This page can contain four categories:
+Interfaces (italic) Classes Enums Exceptions Errors Annotation Types
+
+
+Class/Interface
+
+
+
+Each class, interface, nested class and nested interface has its own separate page. Each of these pages has three sections consisting of a class/interface description, summary tables, and detailed member descriptions:
+Class inheritance diagram Direct Subclasses All Known Subinterfaces All Known Implementing Classes Class/interface declaration Class/interface description
+
+
Nested Class Summary Field Summary Constructor Summary Method Summary
+
+
Field Detail Constructor Detail Method Detail
+Each summary entry contains the first sentence from the detailed description for that item. The summary entries are alphabetical, while the detailed descriptions are in the order they appear in the source code. This preserves the logical groupings established by the programmer.
+
+
+Annotation Type
+
+
+
+Each annotation type has its own separate page with the following sections:
+Annotation Type declaration Annotation Type description Required Element Summary Optional Element Summary Element Detail
+
+
+
+Enum
+
+
+
+Each enum has its own separate page with the following sections:
+Enum declaration Enum description Enum Constant Summary Enum Constant Detail
+
+
+Use
+
+Each documented package, class and interface has its own Use page. This page describes what packages, classes, methods, constructors and fields use any part of the given class or package. Given a class or interface A, its Use page includes subclasses of A, fields declared as A, methods that return A, and methods and constructors with parameters of type A. You can access this page by first going to the package, class or interface, then clicking on the "Use" link in the navigation bar.
+
+Tree (Class Hierarchy)
+
+There is a Class Hierarchy page for all packages, plus a hierarchy for each package. Each hierarchy page contains a list of classes and a list of interfaces. The classes are organized by inheritance structure starting with java.lang.Object. The interfaces do not inherit from java.lang.Object.
+When viewing the Overview page, clicking on "Tree" displays the hierarchy for all packages. When viewing a particular package, class or interface page, clicking "Tree" displays the hierarchy for only that package.
+
+
+Deprecated API
+
+The Deprecated API page lists all of the API that have been deprecated. A deprecated API is not recommended for use, generally due to improvements, and a replacement API is usually given. Deprecated APIs may be removed in future implementations.
+
+Index
+
+The Index contains an alphabetic list of all classes, interfaces, constructors, methods, and fields.
+
+Prev/Next
+These links take you to the next or previous class, interface, package, or related page.
+Frames/No Frames
+These links show and hide the HTML frames. All pages are available with or without frames.
+
+
+Serialized Form
+Each serializable or externalizable class has a description of its serialization fields and methods. This information is of interest to re-implementors, not to developers using the API. While there is no link in the navigation bar, you can get to this information by going to any serialized class and clicking "Serialized Form" in the "See also" section of the class description.
+
+
+Constant Field Values
+The Constant Field Values page lists the static final fields and their values.
+
+
+
+This help file applies to API documentation generated using the standard doclet.
+
+
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2012. All Rights Reserved.
+
+
diff --git a/docs/javadoc/jvstwrapper/index-all.html b/docs/javadoc/jvstwrapper/index-all.html
new file mode 100644
index 0000000..b621ee3
--- /dev/null
+++ b/docs/javadoc/jvstwrapper/index-all.html
@@ -0,0 +1,1267 @@
+
+
+
+
+
+
+
+Index (jVSTwRapper 1.0beta API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+A B C D E F G H I J K L M N O P R S T U V W _
+
+A
+
+addChangeListener(ChangeListener) -
+Method in class jvst.wrapper.gui.JSliderPlusText
+
+ addChangeListener(ChangeListener) -
+Method in class jvst.wrapper.gui.RotaryKnob
+
+ addChangeListener(ChangeListener) -
+Method in class jvst.wrapper.gui.RotaryKnobPlusText
+
+
+
+
+B
+
+beginEdit(int) -
+Method in class jvst.wrapper.communication.VSTV21ToHost
+
+ beginLoadBank(VSTPatchChunkInfo) -
+Method in class jvst.wrapper.communication.VSTV23ToHost
+
+ beginLoadProgram(VSTPatchChunkInfo) -
+Method in class jvst.wrapper.communication.VSTV23ToHost
+
+ beginSetProgram() -
+Method in interface jvst.wrapper.communication.VSTV21ToPlug
+
+ beginSetProgram() -
+Method in class jvst.wrapper.VSTPluginAdapter
+
+
+
+
+C
+
+canDo(String) -
+Method in interface jvst.wrapper.communication.VSTV20ToPlug
+
+ CANDO_DONT_KNOW -
+Static variable in class jvst.wrapper.communication.VSTV20ToHost
+
+ CANDO_HOST_ACCEPT_IO_CHANGES -
+Static variable in interface jvst.wrapper.communication.VSTV20ToPlug
+
+ CANDO_HOST_ASYNC_PROCESSING -
+Static variable in interface jvst.wrapper.communication.VSTV20ToPlug
+
+ CANDO_HOST_CLOSE_FILE_SELECTOR -
+Static variable in interface jvst.wrapper.communication.VSTV20ToPlug
+
+ CANDO_HOST_EDIT_FILE -
+Static variable in interface jvst.wrapper.communication.VSTV20ToPlug
+
+ CANDO_HOST_OFFLINE -
+Static variable in interface jvst.wrapper.communication.VSTV20ToPlug
+
+ CANDO_HOST_OPEN_FILE_SELECTOR -
+Static variable in interface jvst.wrapper.communication.VSTV20ToPlug
+
+ CANDO_HOST_RECEIVE_VST_Events -
+Static variable in interface jvst.wrapper.communication.VSTV20ToPlug
+
+ CANDO_HOST_RECEIVE_VST_MIDI_EVENT -
+Static variable in interface jvst.wrapper.communication.VSTV20ToPlug
+
+ CANDO_HOST_RECEIVE_VST_TIME_INFO -
+Static variable in interface jvst.wrapper.communication.VSTV20ToPlug
+
+ CANDO_HOST_REPORT_CONNECTION_CHANGES -
+Static variable in interface jvst.wrapper.communication.VSTV20ToPlug
+
+ CANDO_HOST_SEND_VST_EVENTS -
+Static variable in interface jvst.wrapper.communication.VSTV20ToPlug
+
+ CANDO_HOST_SEND_VST_MIDI_EVENT -
+Static variable in interface jvst.wrapper.communication.VSTV20ToPlug
+
+ CANDO_HOST_SEND_VST_TIME_INFO -
+Static variable in interface jvst.wrapper.communication.VSTV20ToPlug
+
+ CANDO_HOST_SIZE_WINDOW -
+Static variable in interface jvst.wrapper.communication.VSTV20ToPlug
+
+ CANDO_HOST_START_STOP_PROCESS -
+Static variable in interface jvst.wrapper.communication.VSTV20ToPlug
+
+ CANDO_HOST_SUPPLY_IDLE -
+Static variable in interface jvst.wrapper.communication.VSTV20ToPlug
+
+ CANDO_HOST_SUPPORT_SHELL -
+Static variable in interface jvst.wrapper.communication.VSTV20ToPlug
+
+ CANDO_NO -
+Static variable in class jvst.wrapper.communication.VSTV20ToHost
+
+ CANDO_PLUG_1_IN_1_OUT -
+Static variable in class jvst.wrapper.communication.VSTV20ToHost
+
+ CANDO_PLUG_1_IN_2_OUT -
+Static variable in class jvst.wrapper.communication.VSTV20ToHost
+
+ CANDO_PLUG_2_IN_1_OUT -
+Static variable in class jvst.wrapper.communication.VSTV20ToHost
+
+ CANDO_PLUG_2_IN_2_OUT -
+Static variable in class jvst.wrapper.communication.VSTV20ToHost
+
+ CANDO_PLUG_2_IN_4_OUT -
+Static variable in class jvst.wrapper.communication.VSTV20ToHost
+
+ CANDO_PLUG_4_IN_2_OUT -
+Static variable in class jvst.wrapper.communication.VSTV20ToHost
+
+ CANDO_PLUG_4_IN_4_OUT -
+Static variable in class jvst.wrapper.communication.VSTV20ToHost
+
+ CANDO_PLUG_4_IN_8_OUT -
+Static variable in class jvst.wrapper.communication.VSTV20ToHost
+
+ CANDO_PLUG_8_IN_4_OUT -
+Static variable in class jvst.wrapper.communication.VSTV20ToHost
+
+ CANDO_PLUG_8_IN_8_OUT -
+Static variable in class jvst.wrapper.communication.VSTV20ToHost
+
+ CANDO_PLUG_BYPASS -
+Static variable in class jvst.wrapper.communication.VSTV20ToHost
+
+ CANDO_PLUG_CONFORMS_TO_WINDOW_RULES -
+Static variable in class jvst.wrapper.communication.VSTV20ToHost
+
+ CANDO_PLUG_METAPASS -
+Static variable in class jvst.wrapper.communication.VSTV20ToHost
+
+ CANDO_PLUG_MIDI_PROGRAM_NAMES -
+Static variable in class jvst.wrapper.communication.VSTV20ToHost
+
+ CANDO_PLUG_MIX_DRY_WET -
+Static variable in class jvst.wrapper.communication.VSTV20ToHost
+
+ CANDO_PLUG_MULTIPASS -
+Static variable in class jvst.wrapper.communication.VSTV20ToHost
+
+ CANDO_PLUG_NO_REAL_TIME -
+Static variable in class jvst.wrapper.communication.VSTV20ToHost
+
+ CANDO_PLUG_OFFLINE -
+Static variable in class jvst.wrapper.communication.VSTV20ToHost
+
+ CANDO_PLUG_PLUG_AS_CHANNEL_INSERT -
+Static variable in class jvst.wrapper.communication.VSTV20ToHost
+
+ CANDO_PLUG_PLUG_AS_SEND -
+Static variable in class jvst.wrapper.communication.VSTV20ToHost
+
+ CANDO_PLUG_RECEIVE_VST_EVENTS -
+Static variable in class jvst.wrapper.communication.VSTV20ToHost
+
+ CANDO_PLUG_RECEIVE_VST_MIDI_EVENT -
+Static variable in class jvst.wrapper.communication.VSTV20ToHost
+
+ CANDO_PLUG_RECEIVE_VST_TIME_INFO -
+Static variable in class jvst.wrapper.communication.VSTV20ToHost
+
+ CANDO_PLUG_REVEIVE_VST_MIDI_EVENT -
+Static variable in class jvst.wrapper.communication.VSTV20ToHost
+
+ CANDO_PLUG_SEND_VST_EVENTS -
+Static variable in class jvst.wrapper.communication.VSTV20ToHost
+
+ CANDO_PLUG_SEND_VST_MIDI_EVENT -
+Static variable in class jvst.wrapper.communication.VSTV20ToHost
+
+ CANDO_PLUG_SEND_VST_TIME_INFO -
+Static variable in class jvst.wrapper.communication.VSTV20ToHost
+
+ CANDO_YES -
+Static variable in class jvst.wrapper.communication.VSTV20ToHost
+
+ canDoubleReplacing(boolean) -
+Method in class jvst.wrapper.communication.VSTV24ToHost
+
+ canHostDo(String) -
+Method in class jvst.wrapper.communication.VSTV20ToHost
+
+ canMono(boolean) -
+Method in class jvst.wrapper.communication.VSTV10ToHost
+Deprecated. deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+canParameterBeAutomated(int) -
+Method in interface jvst.wrapper.communication.VSTV20ToPlug
+
+ canParameterBeAutomated(int) -
+Method in class jvst.wrapper.VSTPluginAdapter
+
+ canProcessReplacing(boolean) -
+Method in class jvst.wrapper.communication.VSTV10ToHost
+
+ close() -
+Method in interface jvst.wrapper.communication.VSTV10ToPlug
+
+ close() -
+Method in interface jvst.wrapper.gui.VSTPluginGUI
+Description of the Method
+ close() -
+Method in class jvst.wrapper.gui.VSTPluginGUIRunner
+
+ close() -
+Method in class jvst.wrapper.VSTPluginAdapter
+
+ close() -
+Method in class jvst.wrapper.VSTPluginGUIAdapter
+
+ copyProgram(int) -
+Method in interface jvst.wrapper.communication.VSTV20ToPlug
+Deprecated. deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+copyProgram(int) -
+Method in class jvst.wrapper.VSTPluginAdapter
+Deprecated. deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+copySpeaker(VSTSpeakerProperties, VSTSpeakerProperties) -
+Method in class jvst.wrapper.communication.VSTV23ToHost
+
+
+
+
+D
+
+dbToString(float) -
+Method in class jvst.wrapper.VSTPluginAdapter
+
+ destroy() -
+Method in interface jvst.wrapper.gui.VSTPluginGUI
+Description of the Method
+ destroy() -
+Method in class jvst.wrapper.gui.VSTPluginGUIRunner
+
+ destroy() -
+Method in class jvst.wrapper.VSTPluginGUIAdapter
+
+ DRAGTYPE_ROUND -
+Static variable in class jvst.wrapper.gui.RotaryKnob
+
+ DRAGTYPE_SIMPLE -
+Static variable in class jvst.wrapper.gui.RotaryKnob
+
+
+
+
+E
+
+endEdit(int) -
+Method in class jvst.wrapper.communication.VSTV21ToHost
+
+ endSetProgram() -
+Method in interface jvst.wrapper.communication.VSTV21ToPlug
+
+ endSetProgram() -
+Method in class jvst.wrapper.VSTPluginAdapter
+
+
+
+
+F
+
+fireChangeEvent() -
+Method in class jvst.wrapper.gui.RotaryKnob
+
+ formatFloatParam(float) -
+Method in class jvst.wrapper.VSTPluginAdapter
+
+ fxIdle() -
+Method in interface jvst.wrapper.communication.VSTV20ToPlug
+Deprecated. deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+fxIdle() -
+Method in class jvst.wrapper.VSTPluginAdapter
+Deprecated. deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+
+
+
+G
+
+getAutomationState() -
+Method in class jvst.wrapper.communication.VSTV20ToHost
+
+ getBlockSize() -
+Method in class jvst.wrapper.communication.VSTV10ToHost
+
+ getChannelParameter(int, int) -
+Method in interface jvst.wrapper.communication.VSTV20ToPlug
+
+ getChannelParameter(int, int) -
+Method in class jvst.wrapper.VSTPluginAdapter
+
+ getChunk(byte[][], boolean) -
+Method in interface jvst.wrapper.communication.VSTV10ToPlug
+
+ getChunk(byte[][], boolean) -
+Method in class jvst.wrapper.VSTPluginAdapter
+
+ getClickIncrement() -
+Method in class jvst.wrapper.gui.RotaryKnob
+
+ getCurrentMidiProgram(int, MidiProgramName) -
+Method in interface jvst.wrapper.communication.VSTV21ToPlug
+
+ getCurrentMidiProgram(int, MidiProgramName) -
+Method in class jvst.wrapper.VSTPluginAdapter
+
+ getCurrentProcessLevel() -
+Method in class jvst.wrapper.communication.VSTV20ToHost
+
+ getCurrentUniqueId() -
+Method in class jvst.wrapper.communication.VSTV10ToHost
+
+ getDirectory() -
+Method in class jvst.wrapper.communication.VSTV20ToHost
+
+ getDragIncrement() -
+Method in class jvst.wrapper.gui.RotaryKnob
+
+ getDragType() -
+Method in class jvst.wrapper.gui.RotaryKnob
+
+ getEffectName() -
+Method in interface jvst.wrapper.communication.VSTV20ToPlug
+
+ getEffectName() -
+Method in class jvst.wrapper.VSTPluginAdapter
+
+ getErrorText() -
+Method in interface jvst.wrapper.communication.VSTV20ToPlug
+Deprecated. deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+getErrorText() -
+Method in class jvst.wrapper.VSTPluginAdapter
+Deprecated. deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+getGetTailSize() -
+Method in interface jvst.wrapper.communication.VSTV20ToPlug
+
+ getGetTailSize() -
+Method in class jvst.wrapper.VSTPluginAdapter
+
+ getHeight() -
+Method in class jvst.wrapper.gui.VSTPluginGUIRunner
+
+ getHostLanguage() -
+Method in class jvst.wrapper.communication.VSTV20ToHost
+
+ getHostProductString() -
+Method in class jvst.wrapper.communication.VSTV20ToHost
+
+ getHostVendorString() -
+Method in class jvst.wrapper.communication.VSTV20ToHost
+
+ getHostVendorVersion() -
+Method in class jvst.wrapper.communication.VSTV20ToHost
+
+ getInputLatency() -
+Method in class jvst.wrapper.communication.VSTV20ToHost
+
+ getInputProperties(int) -
+Method in interface jvst.wrapper.communication.VSTV20ToPlug
+
+ getInputProperties(int) -
+Method in class jvst.wrapper.VSTPluginAdapter
+
+ getKnob() -
+Method in class jvst.wrapper.gui.RotaryKnobPlusText
+
+ getLogBasePath() -
+Static method in class jvst.wrapper.VSTPluginAdapter
+
+ getLogFileName() -
+Static method in class jvst.wrapper.VSTPluginAdapter
+
+ getMasterVersion() -
+Method in class jvst.wrapper.communication.VSTV10ToHost
+
+ getMidiKeyName(int, MidiKeyName) -
+Method in interface jvst.wrapper.communication.VSTV21ToPlug
+
+ getMidiKeyName(int, MidiKeyName) -
+Method in class jvst.wrapper.VSTPluginAdapter
+
+ getMidiProgramCategory(int, MidiProgramCategory) -
+Method in interface jvst.wrapper.communication.VSTV21ToPlug
+
+ getMidiProgramCategory(int, MidiProgramCategory) -
+Method in class jvst.wrapper.VSTPluginAdapter
+
+ getMidiProgramName(int, MidiProgramName) -
+Method in interface jvst.wrapper.communication.VSTV21ToPlug
+
+ getMidiProgramName(int, MidiProgramName) -
+Method in class jvst.wrapper.VSTPluginAdapter
+
+ getMinimumSize() -
+Method in class jvst.wrapper.gui.RotaryKnob
+
+ getName() -
+Method in class jvst.wrapper.gui.JSliderPlusText
+
+ getName() -
+Method in class jvst.wrapper.gui.RotaryKnobPlusText
+
+ getNextShellPlugin(String) -
+Method in interface jvst.wrapper.communication.VSTV23ToPlug
+
+ getNextShellPlugin(String) -
+Method in class jvst.wrapper.VSTPluginAdapter
+
+ getNumAutomatableParameters() -
+Method in class jvst.wrapper.communication.VSTV20ToHost
+Deprecated. deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+getNumCategories() -
+Method in interface jvst.wrapper.communication.VSTV20ToPlug
+Deprecated. deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+getNumCategories() -
+Method in class jvst.wrapper.VSTPluginAdapter
+Deprecated. deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+getNumMidiInputChannels() -
+Method in interface jvst.wrapper.communication.VSTV24ToPlug
+
+ getNumMidiInputChannels() -
+Method in class jvst.wrapper.VSTPluginAdapter
+
+ getNumMidiOutputChannels() -
+Method in interface jvst.wrapper.communication.VSTV24ToPlug
+
+ getNumMidiOutputChannels() -
+Method in class jvst.wrapper.VSTPluginAdapter
+
+ getNumParams() -
+Method in interface jvst.wrapper.communication.VSTV10ToPlug
+because setting this param in constructor is bad design!
+ getNumPrograms() -
+Method in interface jvst.wrapper.communication.VSTV10ToPlug
+because setting this param in constructor is bad design!
+ getOutputLatency() -
+Method in class jvst.wrapper.communication.VSTV20ToHost
+
+ getOutputProperties(int) -
+Method in interface jvst.wrapper.communication.VSTV20ToPlug
+
+ getOutputProperties(int) -
+Method in class jvst.wrapper.VSTPluginAdapter
+
+ getParameter(int) -
+Method in interface jvst.wrapper.communication.VSTV10ToPlug
+
+ getParameterDisplay(int) -
+Method in interface jvst.wrapper.communication.VSTV10ToPlug
+
+ getParameterLabel(int) -
+Method in interface jvst.wrapper.communication.VSTV10ToPlug
+
+ getParameterName(int) -
+Method in interface jvst.wrapper.communication.VSTV10ToPlug
+
+ getParameterProperties(int) -
+Method in interface jvst.wrapper.communication.VSTV20ToPlug
+
+ getParameterProperties(int) -
+Method in class jvst.wrapper.VSTPluginAdapter
+
+ getParameterQuantization() -
+Method in class jvst.wrapper.communication.VSTV20ToHost
+Deprecated. deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+getPlugCategory() -
+Method in interface jvst.wrapper.communication.VSTV20ToPlug
+
+ getProductString() -
+Method in interface jvst.wrapper.communication.VSTV20ToPlug
+
+ getProgram() -
+Method in interface jvst.wrapper.communication.VSTV10ToPlug
+
+ getProgramName() -
+Method in interface jvst.wrapper.communication.VSTV10ToPlug
+
+ getProgramNameIndexed(int, int) -
+Method in interface jvst.wrapper.communication.VSTV20ToPlug
+
+ getSampleRate() -
+Method in class jvst.wrapper.communication.VSTV10ToHost
+
+ getShadowSizeX() -
+Method in class jvst.wrapper.gui.RotaryKnob
+
+ getShadowSizeY() -
+Method in class jvst.wrapper.gui.RotaryKnob
+
+ getSlider() -
+Method in class jvst.wrapper.gui.JSliderPlusText
+
+ getSpeakerArrangement(VSTSpeakerArrangement, VSTSpeakerArrangement) -
+Method in interface jvst.wrapper.communication.VSTV20ToPlug
+
+ getSpeakerArrangement(VSTSpeakerArrangement, VSTSpeakerArrangement) -
+Method in class jvst.wrapper.VSTPluginAdapter
+
+ getTextField() -
+Method in class jvst.wrapper.gui.JSliderPlusText
+
+ getTextField() -
+Method in class jvst.wrapper.gui.RotaryKnobPlusText
+
+ getTimeInfo(int) -
+Method in class jvst.wrapper.communication.VSTV20ToHost
+
+ getValue() -
+Method in class jvst.wrapper.gui.RotaryKnob
+
+ getVendorString() -
+Method in interface jvst.wrapper.communication.VSTV20ToPlug
+
+ getVendorVersion() -
+Method in interface jvst.wrapper.communication.VSTV20ToPlug
+
+ getVendorVersion() -
+Method in class jvst.wrapper.VSTPluginAdapter
+
+ getVstVersion() -
+Method in interface jvst.wrapper.communication.VSTV20ToPlug
+
+ getVstVersion() -
+Method in class jvst.wrapper.VSTPluginAdapter
+
+ getVu() -
+Method in interface jvst.wrapper.communication.VSTV10ToPlug
+Deprecated. deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+getVu() -
+Method in class jvst.wrapper.VSTPluginAdapter
+Deprecated. deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+getWidth() -
+Method in class jvst.wrapper.gui.VSTPluginGUIRunner
+
+ gui -
+Variable in class jvst.wrapper.gui.VSTPluginGUIRunner
+
+
+
+
+H
+
+hasClip(boolean) -
+Method in class jvst.wrapper.communication.VSTV10ToHost
+Deprecated. deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+hasExternalBuffer(boolean) -
+Method in class jvst.wrapper.communication.VSTV20ToHost
+Deprecated. deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+hasMidiProgramsChanged(int) -
+Method in interface jvst.wrapper.communication.VSTV21ToPlug
+
+ hasMidiProgramsChanged(int) -
+Method in class jvst.wrapper.VSTPluginAdapter
+
+ hasVu(boolean) -
+Method in class jvst.wrapper.communication.VSTV10ToHost
+Deprecated. deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+hzToString(float, int) -
+Method in class jvst.wrapper.VSTPluginAdapter
+
+
+
+
+I
+
+idle() -
+Method in interface jvst.wrapper.gui.VSTPluginGUI
+This method runs in the context of the hosts GUI event loop
+ So this is the right place for plug-->host calls like beginEdit, endEdit, setParameterAutomated(), etc.
+ idle() -
+Method in class jvst.wrapper.gui.VSTPluginGUIRunner
+
+ idle() -
+Method in class jvst.wrapper.VSTPluginGUIAdapter
+
+ inputConnected(int, boolean) -
+Method in interface jvst.wrapper.communication.VSTV20ToPlug
+Deprecated. deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+inputConnected(int, boolean) -
+Method in class jvst.wrapper.VSTPluginAdapter
+Deprecated. deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+ioChanged() -
+Method in class jvst.wrapper.communication.VSTV20ToHost
+
+ isFocusTraversable() -
+Method in class jvst.wrapper.gui.RotaryKnob
+
+ isInputConnected(int) -
+Method in class jvst.wrapper.communication.VSTV10ToHost
+
+ isLogEnabled() -
+Static method in class jvst.wrapper.VSTPluginAdapter
+
+ isManagingFocus() -
+Method in class jvst.wrapper.gui.RotaryKnob
+
+ isOutputConnected(int) -
+Method in class jvst.wrapper.communication.VSTV10ToHost
+
+ isSynth(boolean) -
+Method in class jvst.wrapper.communication.VSTV20ToHost
+
+
+
+
+J
+
+JSliderPlusText - Class in jvst.wrapper.gui JSliderPlusText() -
+Constructor for class jvst.wrapper.gui.JSliderPlusText
+
+ JSliderPlusText(String) -
+Constructor for class jvst.wrapper.gui.JSliderPlusText
+
+ jvst.wrapper - package jvst.wrapper jvst.wrapper.communication - package jvst.wrapper.communication jvst.wrapper.gui - package jvst.wrapper.gui
+
+
+K
+
+keysRequired() -
+Method in interface jvst.wrapper.communication.VSTV20ToPlug
+Deprecated. deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+keysRequired() -
+Method in class jvst.wrapper.VSTPluginAdapter
+Deprecated. deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+
+
+
+L
+
+libraryOk -
+Variable in class jvst.wrapper.gui.VSTPluginGUIRunner
+
+ loadVSTGUI(String, VSTPluginAdapter) -
+Method in class jvst.wrapper.gui.VSTPluginGUIRunner
+
+ log(String) -
+Method in class jvst.wrapper.gui.VSTPluginGUIRunner
+
+ log(String) -
+Static method in class jvst.wrapper.VSTPluginAdapter
+logging
+ log(String) -
+Method in class jvst.wrapper.VSTPluginGUIAdapter
+
+
+
+
+M
+
+main(String[]) -
+Static method in class jvst.wrapper.gui.JSliderPlusText
+
+ main(String[]) -
+Static method in class jvst.wrapper.gui.RotaryKnob
+
+ main(String[]) -
+Static method in class jvst.wrapper.gui.RotaryKnobPlusText
+
+ masterIdle() -
+Method in class jvst.wrapper.communication.VSTV10ToHost
+
+ matchArrangement(VSTSpeakerArrangement, VSTSpeakerArrangement) -
+Method in class jvst.wrapper.communication.VSTV23ToHost
+
+ msToString(float, int) -
+Method in class jvst.wrapper.VSTPluginAdapter
+
+
+
+
+N
+
+needIdle() -
+Method in class jvst.wrapper.communication.VSTV20ToHost
+Deprecated. deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+noTail(boolean) -
+Method in class jvst.wrapper.communication.VSTV20ToHost
+
+
+
+
+O
+
+open() -
+Method in interface jvst.wrapper.communication.VSTV10ToPlug
+
+ open() -
+Method in interface jvst.wrapper.gui.VSTPluginGUI
+Description of the Method
+ open() -
+Method in class jvst.wrapper.gui.VSTPluginGUIRunner
+
+ open() -
+Method in class jvst.wrapper.VSTPluginAdapter
+
+ open() -
+Method in class jvst.wrapper.VSTPluginGUIAdapter
+
+ outputConnected(int, boolean) -
+Method in interface jvst.wrapper.communication.VSTV20ToPlug
+Deprecated. deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+outputConnected(int, boolean) -
+Method in class jvst.wrapper.VSTPluginAdapter
+Deprecated. deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+
+
+
+P
+
+paint(Graphics) -
+Method in class jvst.wrapper.gui.RotaryKnob
+
+ PAN_LAW_EQUAL_POWER -
+Static variable in class jvst.wrapper.VSTPluginAdapter
+
+ PAN_LAW_LINEAR -
+Static variable in class jvst.wrapper.VSTPluginAdapter
+
+ PLUG_CATEG_ANALYSIS -
+Static variable in interface jvst.wrapper.communication.VSTV20ToPlug
+
+ PLUG_CATEG_EFFECT -
+Static variable in interface jvst.wrapper.communication.VSTV20ToPlug
+
+ PLUG_CATEG_GENERATOR -
+Static variable in interface jvst.wrapper.communication.VSTV20ToPlug
+
+ PLUG_CATEG_MASTERING -
+Static variable in interface jvst.wrapper.communication.VSTV20ToPlug
+
+ PLUG_CATEG_OFFLINE_PROCESS -
+Static variable in interface jvst.wrapper.communication.VSTV20ToPlug
+
+ PLUG_CATEG_RESTORATION -
+Static variable in interface jvst.wrapper.communication.VSTV20ToPlug
+
+ PLUG_CATEG_ROOM_FX -
+Static variable in interface jvst.wrapper.communication.VSTV20ToPlug
+
+ PLUG_CATEG_SHELL -
+Static variable in interface jvst.wrapper.communication.VSTV20ToPlug
+
+ PLUG_CATEG_SPACIALIZER -
+Static variable in interface jvst.wrapper.communication.VSTV20ToPlug
+
+ PLUG_CATEG_SURROUND_FX -
+Static variable in interface jvst.wrapper.communication.VSTV20ToPlug
+
+ PLUG_CATEG_SYNTH -
+Static variable in interface jvst.wrapper.communication.VSTV20ToPlug
+
+ PLUG_CATEG_UNKNOWN -
+Static variable in interface jvst.wrapper.communication.VSTV20ToPlug
+
+ plugin -
+Variable in class jvst.wrapper.VSTPluginGUIAdapter
+
+ process(float[][], float[][], int) -
+Method in interface jvst.wrapper.communication.VSTV10ToPlug
+Deprecated. deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+
+ USE processReplacing() and/or processDoubleReplacing() INSTEAD!
+process(float[][], float[][], int) -
+Method in class jvst.wrapper.VSTPluginAdapter
+Deprecated. deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+
+ USE processReplacing() and/or processDoubleReplacing() INSTEAD!
+processDoubleReplacing(double[][], double[][], int) -
+Method in interface jvst.wrapper.communication.VSTV24ToPlug
+
+ processDoubleReplacing(double[][], double[][], int) -
+Method in class jvst.wrapper.VSTPluginAdapter
+
+ processEvents(VSTEvents) -
+Method in interface jvst.wrapper.communication.VSTV20ToPlug
+
+ processEvents(VSTEvents) -
+Method in class jvst.wrapper.VSTPluginAdapter
+
+ processReplacing(float[][], float[][], int) -
+Method in interface jvst.wrapper.communication.VSTV10ToPlug
+
+ processVariableIo(VSTVariableIO) -
+Method in interface jvst.wrapper.communication.VSTV20ToPlug
+
+ processVariableIo(VSTVariableIO) -
+Method in class jvst.wrapper.VSTPluginAdapter
+
+ programsAreChunks(boolean) -
+Method in class jvst.wrapper.communication.VSTV10ToHost
+
+
+
+
+R
+
+removeChangeListener(ChangeListener) -
+Method in class jvst.wrapper.gui.RotaryKnob
+
+ reportCurrentPosition() -
+Method in interface jvst.wrapper.communication.VSTV20ToPlug
+Deprecated. deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+reportCurrentPosition() -
+Method in class jvst.wrapper.VSTPluginAdapter
+Deprecated. deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+reportDestinationBuffer() -
+Method in interface jvst.wrapper.communication.VSTV20ToPlug
+Deprecated. deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+reportDestinationBuffer() -
+Method in class jvst.wrapper.VSTPluginAdapter
+Deprecated. deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+resume() -
+Method in interface jvst.wrapper.communication.VSTV10ToPlug
+
+ resume() -
+Method in class jvst.wrapper.VSTPluginAdapter
+
+ RotaryKnob - Class in jvst.wrapper.gui RotaryKnob() -
+Constructor for class jvst.wrapper.gui.RotaryKnob
+
+ RotaryKnobPlusText - Class in jvst.wrapper.gui RotaryKnobPlusText() -
+Constructor for class jvst.wrapper.gui.RotaryKnobPlusText
+
+ RotaryKnobPlusText(String) -
+Constructor for class jvst.wrapper.gui.RotaryKnobPlusText
+
+ runner -
+Variable in class jvst.wrapper.VSTPluginGUIAdapter
+
+ RUNNING_MAC_X -
+Static variable in class jvst.wrapper.VSTPluginGUIAdapter
+
+
+
+
+S
+
+sendVstEventsToHost(VSTEvents) -
+Method in class jvst.wrapper.communication.VSTV20ToHost
+
+ setBlockSize(int) -
+Method in interface jvst.wrapper.communication.VSTV10ToPlug
+
+ setBlockSize(int) -
+Method in class jvst.wrapper.VSTPluginAdapter
+
+ setBlockSizeAndSampleRate(int, float) -
+Method in interface jvst.wrapper.communication.VSTV20ToPlug
+Deprecated. deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+setBlockSizeAndSampleRate(int, float) -
+Method in class jvst.wrapper.VSTPluginAdapter
+Deprecated. deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+setBypass(boolean) -
+Method in interface jvst.wrapper.communication.VSTV20ToPlug
+
+ setChunk(byte[], int, boolean) -
+Method in interface jvst.wrapper.communication.VSTV10ToPlug
+
+ setChunk(byte[], int, boolean) -
+Method in class jvst.wrapper.VSTPluginAdapter
+
+ setClickIncrement(float) -
+Method in class jvst.wrapper.gui.RotaryKnob
+
+ setDragIncrement(float) -
+Method in class jvst.wrapper.gui.RotaryKnob
+
+ setDragType(int) -
+Method in class jvst.wrapper.gui.RotaryKnob
+
+ setInitialDelay(int) -
+Method in class jvst.wrapper.communication.VSTV10ToHost
+
+ setIsLogEnabled(boolean) -
+Static method in class jvst.wrapper.VSTPluginAdapter
+
+ setName(String) -
+Method in class jvst.wrapper.gui.JSliderPlusText
+
+ setName(String) -
+Method in class jvst.wrapper.gui.RotaryKnobPlusText
+
+ setNumInputs(int) -
+Method in class jvst.wrapper.communication.VSTV10ToHost
+
+ setNumOutputs(int) -
+Method in class jvst.wrapper.communication.VSTV10ToHost
+
+ setOfflineQualities(int) -
+Method in class jvst.wrapper.communication.VSTV10ToHost
+Deprecated. deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+setOutputSamplerate(float) -
+Method in class jvst.wrapper.communication.VSTV20ToHost
+Deprecated. deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+setPanLaw(int, float) -
+Method in class jvst.wrapper.communication.VSTV23ToHost
+
+ setParameter(int, float) -
+Method in interface jvst.wrapper.communication.VSTV10ToPlug
+
+ setParameterAutomated(int, float) -
+Method in class jvst.wrapper.communication.VSTV10ToHost
+
+ setProcessPrecision(int) -
+Method in interface jvst.wrapper.communication.VSTV24ToPlug
+
+ setProcessPrecision(int) -
+Method in class jvst.wrapper.VSTPluginAdapter
+
+ setProgram(int) -
+Method in interface jvst.wrapper.communication.VSTV10ToPlug
+
+ setProgramName(String) -
+Method in interface jvst.wrapper.communication.VSTV10ToPlug
+
+ setRealtimeQualities(int) -
+Method in class jvst.wrapper.communication.VSTV10ToHost
+Deprecated. deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+setSampleRate(float) -
+Method in interface jvst.wrapper.communication.VSTV10ToPlug
+
+ setSampleRate(float) -
+Method in class jvst.wrapper.VSTPluginAdapter
+
+ setShadowSizeX(int) -
+Method in class jvst.wrapper.gui.RotaryKnob
+
+ setShadowSizeY(int) -
+Method in class jvst.wrapper.gui.RotaryKnob
+
+ setSpeakerArrangement(VSTSpeakerArrangement, VSTSpeakerArrangement) -
+Method in interface jvst.wrapper.communication.VSTV20ToPlug
+
+ setSpeakerArrangement(VSTSpeakerArrangement, VSTSpeakerArrangement) -
+Method in class jvst.wrapper.VSTPluginAdapter
+
+ setTotalSampleToProcess(int) -
+Method in interface jvst.wrapper.communication.VSTV23ToPlug
+
+ setTotalSampleToProcess(int) -
+Method in class jvst.wrapper.VSTPluginAdapter
+
+ setUniqueID(int) -
+Method in class jvst.wrapper.communication.VSTV10ToHost
+
+ setValue(float) -
+Method in class jvst.wrapper.gui.RotaryKnob
+
+ sizeWindow(int, int) -
+Method in class jvst.wrapper.communication.VSTV20ToHost
+
+ startProcess() -
+Method in interface jvst.wrapper.communication.VSTV23ToPlug
+
+ startProcess() -
+Method in class jvst.wrapper.VSTPluginAdapter
+
+ stateChanged(ChangeEvent) -
+Method in class jvst.wrapper.gui.JSliderPlusText
+
+ stateChanged(ChangeEvent) -
+Method in class jvst.wrapper.gui.RotaryKnobPlusText
+
+ stopProcess() -
+Method in interface jvst.wrapper.communication.VSTV23ToPlug
+
+ stopProcess() -
+Method in class jvst.wrapper.VSTPluginAdapter
+
+ string2Parameter(int, String) -
+Method in interface jvst.wrapper.communication.VSTV20ToPlug
+
+ suspend() -
+Method in interface jvst.wrapper.communication.VSTV10ToPlug
+
+ suspend() -
+Method in class jvst.wrapper.VSTPluginAdapter
+
+
+
+
+T
+
+tempoAt(int) -
+Method in class jvst.wrapper.communication.VSTV20ToHost
+Deprecated. deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+
+
+
+U
+
+undecorate() -
+Method in class jvst.wrapper.gui.VSTPluginGUIRunner
+
+ undecorate() -
+Method in class jvst.wrapper.VSTPluginGUIAdapter
+
+ updateBlockSize() -
+Method in class jvst.wrapper.communication.VSTV20ToHost
+
+ updateDisplay() -
+Method in class jvst.wrapper.communication.VSTV20ToHost
+
+ updateSampleRate() -
+Method in class jvst.wrapper.communication.VSTV20ToHost
+
+
+
+
+V
+
+VST_LANG_ENGLISH -
+Static variable in class jvst.wrapper.communication.VSTV20ToHost
+
+ VST_LANG_FRENCH -
+Static variable in class jvst.wrapper.communication.VSTV20ToHost
+
+ VST_LANG_GERMAN -
+Static variable in class jvst.wrapper.communication.VSTV20ToHost
+
+ VST_LANG_ITALIAN -
+Static variable in class jvst.wrapper.communication.VSTV20ToHost
+
+ VST_LANG_JAPANESE -
+Static variable in class jvst.wrapper.communication.VSTV20ToHost
+
+ VST_LANG_SPANISH -
+Static variable in class jvst.wrapper.communication.VSTV20ToHost
+
+ VSTPluginAdapter - Class in jvst.wrapper Adapter to ignore VST 1.0, VST 2.0, VST 2.1, VST 2.2, VST 2.3, VST 2.4
+ OPTIONAL methods --> return defaults
+ and some utility methods (number conversions...) VSTPluginAdapter(long) -
+Constructor for class jvst.wrapper.VSTPluginAdapter
+
+ VSTPluginGUI - Interface in jvst.wrapper.gui Description of the Interface VSTPluginGUIAdapter - Class in jvst.wrapper VSTPluginGUIAdapter(VSTPluginGUIRunner, VSTPluginAdapter) -
+Constructor for class jvst.wrapper.VSTPluginGUIAdapter
+
+ VSTPluginGUIRunner - Class in jvst.wrapper.gui VSTPluginGUIRunner() -
+Constructor for class jvst.wrapper.gui.VSTPluginGUIRunner
+
+ VSTV10ToHost - Class in jvst.wrapper.communication VST 1.0 Plug -> Host Communication VSTV10ToHost() -
+Constructor for class jvst.wrapper.communication.VSTV10ToHost
+
+ VSTV10ToPlug - Interface in jvst.wrapper.communication VST 1.0 Host -> Plug Communication VSTV20ToHost - Class in jvst.wrapper.communication VST 2.0 Plug -> Host Communication VSTV20ToHost() -
+Constructor for class jvst.wrapper.communication.VSTV20ToHost
+
+ VSTV20ToPlug - Interface in jvst.wrapper.communication VST 2.0 Host -> Plug Communication VSTV21ToHost - Class in jvst.wrapper.communication VSTV21ToHost() -
+Constructor for class jvst.wrapper.communication.VSTV21ToHost
+
+ VSTV21ToPlug - Interface in jvst.wrapper.communication VSTV22ToHost - Class in jvst.wrapper.communication VSTV22ToHost() -
+Constructor for class jvst.wrapper.communication.VSTV22ToHost
+
+ VSTV22ToPlug - Interface in jvst.wrapper.communication VSTV23ToHost - Class in jvst.wrapper.communication VSTV23ToHost() -
+Constructor for class jvst.wrapper.communication.VSTV23ToHost
+
+ VSTV23ToPlug - Interface in jvst.wrapper.communication VSTV24ToHost - Class in jvst.wrapper.communication VSTV24ToHost() -
+Constructor for class jvst.wrapper.communication.VSTV24ToHost
+
+ VSTV24ToPlug - Interface in jvst.wrapper.communication
+
+
+W
+
+wantAsyncOperation(boolean) -
+Method in class jvst.wrapper.communication.VSTV20ToHost
+Deprecated. deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+wantEvents(int) -
+Method in class jvst.wrapper.communication.VSTV20ToHost
+Deprecated. deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+willProcessReplacing() -
+Method in class jvst.wrapper.communication.VSTV20ToHost
+Deprecated. deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+WindowAttached -
+Variable in class jvst.wrapper.gui.VSTPluginGUIRunner
+
+ WrapperInstance -
+Variable in class jvst.wrapper.VSTPluginAdapter
+
+
+
+
+_
+
+_initPlugFromNative(String, boolean) -
+Static method in class jvst.wrapper.VSTPluginAdapter
+is called by the plugin wrapper lib BEFORE plugins construktor!
+
+
+A B C D E F G H I J K L M N O P R S T U V W _
+
+
+
+
+
+
+
+
+
+Copyright © 2012. All Rights Reserved.
+
+
diff --git a/docs/javadoc/jvstwrapper/index.html b/docs/javadoc/jvstwrapper/index.html
new file mode 100644
index 0000000..f6833e6
--- /dev/null
+++ b/docs/javadoc/jvstwrapper/index.html
@@ -0,0 +1,40 @@
+
+
+
+
+
+
+
+jVSTwRapper 1.0beta API
+
+
+
+
+
+
+
+
+
+
+
+
+
+Frame Alert
+
+
+This document is designed to be viewed using the frames feature. If you see this message, you are using a non-frame-capable web client.
+
+Link toNon-frame version.
+
+
+
diff --git a/docs/javadoc/jvstwrapper/javadoc.bat b/docs/javadoc/jvstwrapper/javadoc.bat
new file mode 100644
index 0000000..56742f8
--- /dev/null
+++ b/docs/javadoc/jvstwrapper/javadoc.bat
@@ -0,0 +1 @@
+C:\dev\java\jdk6\jre\..\bin\javadoc.exe @options @packages
\ No newline at end of file
diff --git a/docs/javadoc/jvstwrapper/jvst/wrapper/VSTPluginAdapter.html b/docs/javadoc/jvstwrapper/jvst/wrapper/VSTPluginAdapter.html
new file mode 100644
index 0000000..8890dc1
--- /dev/null
+++ b/docs/javadoc/jvstwrapper/jvst/wrapper/VSTPluginAdapter.html
@@ -0,0 +1,1778 @@
+
+
+
+
+
+
+
+VSTPluginAdapter (jVSTwRapper 1.0beta API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+jvst.wrapper
+
+Class VSTPluginAdapter
+
+java.lang.Object
+ jvst.wrapper.communication.VSTV10ToHost
+ jvst.wrapper.communication.VSTV20ToHost
+ jvst.wrapper.communication.VSTV21ToHost
+ jvst.wrapper.communication.VSTV22ToHost
+ jvst.wrapper.communication.VSTV23ToHost
+ jvst.wrapper.communication.VSTV24ToHost
+ jvst.wrapper.VSTPluginAdapter
+
+
+All Implemented Interfaces: VSTV10ToPlug , VSTV20ToPlug , VSTV21ToPlug , VSTV22ToPlug , VSTV23ToPlug , VSTV24ToPlug
+
+
+
+public abstract class VSTPluginAdapter extends VSTV24ToHost implements VSTV24ToPlug
+
+
+
+Adapter to ignore VST 1.0, VST 2.0, VST 2.1, VST 2.2, VST 2.3, VST 2.4
+ OPTIONAL methods --> return defaults
+ and some utility methods (number conversions...)
+
+
+
+
+Author:
+ daniel
+
+
+
+
+
+
+
+
+
+
+
+Fields inherited from class jvst.wrapper.communication.VSTV20ToHost
+
+
+CANDO_DONT_KNOW , CANDO_NO , CANDO_PLUG_1_IN_1_OUT , CANDO_PLUG_1_IN_2_OUT , CANDO_PLUG_2_IN_1_OUT , CANDO_PLUG_2_IN_2_OUT , CANDO_PLUG_2_IN_4_OUT , CANDO_PLUG_4_IN_2_OUT , CANDO_PLUG_4_IN_4_OUT , CANDO_PLUG_4_IN_8_OUT , CANDO_PLUG_8_IN_4_OUT , CANDO_PLUG_8_IN_8_OUT , CANDO_PLUG_BYPASS , CANDO_PLUG_CONFORMS_TO_WINDOW_RULES , CANDO_PLUG_METAPASS , CANDO_PLUG_MIDI_PROGRAM_NAMES , CANDO_PLUG_MIX_DRY_WET , CANDO_PLUG_MULTIPASS , CANDO_PLUG_NO_REAL_TIME , CANDO_PLUG_OFFLINE , CANDO_PLUG_PLUG_AS_CHANNEL_INSERT , CANDO_PLUG_PLUG_AS_SEND , CANDO_PLUG_RECEIVE_VST_EVENTS , CANDO_PLUG_RECEIVE_VST_MIDI_EVENT , CANDO_PLUG_RECEIVE_VST_TIME_INFO , CANDO_PLUG_REVEIVE_VST_MIDI_EVENT , CANDO_PLUG_SEND_VST_EVENTS , CANDO_PLUG_SEND_VST_MIDI_EVENT , CANDO_PLUG_SEND_VST_TIME_INFO , CANDO_YES , VST_LANG_ENGLISH , VST_LANG_FRENCH , VST_LANG_GERMAN , VST_LANG_ITALIAN , VST_LANG_JAPANESE , VST_LANG_SPANISH
+
+
+
+
+
+Fields inherited from interface jvst.wrapper.communication.VSTV20ToPlug
+
+
+CANDO_HOST_ACCEPT_IO_CHANGES , CANDO_HOST_ASYNC_PROCESSING , CANDO_HOST_CLOSE_FILE_SELECTOR , CANDO_HOST_EDIT_FILE , CANDO_HOST_OFFLINE , CANDO_HOST_OPEN_FILE_SELECTOR , CANDO_HOST_RECEIVE_VST_Events , CANDO_HOST_RECEIVE_VST_MIDI_EVENT , CANDO_HOST_RECEIVE_VST_TIME_INFO , CANDO_HOST_REPORT_CONNECTION_CHANGES , CANDO_HOST_SEND_VST_EVENTS , CANDO_HOST_SEND_VST_MIDI_EVENT , CANDO_HOST_SEND_VST_TIME_INFO , CANDO_HOST_SIZE_WINDOW , CANDO_HOST_START_STOP_PROCESS , CANDO_HOST_SUPPLY_IDLE , CANDO_HOST_SUPPORT_SHELL , PLUG_CATEG_ANALYSIS , PLUG_CATEG_EFFECT , PLUG_CATEG_GENERATOR , PLUG_CATEG_MASTERING , PLUG_CATEG_OFFLINE_PROCESS , PLUG_CATEG_RESTORATION , PLUG_CATEG_ROOM_FX , PLUG_CATEG_SHELL , PLUG_CATEG_SPACIALIZER , PLUG_CATEG_SURROUND_FX , PLUG_CATEG_SYNTH , PLUG_CATEG_UNKNOWN
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+protected static void
+_initPlugFromNative (String dllLocation,
+ boolean log)
+
+
+ is called by the plugin wrapper lib BEFORE plugins construktor!
+
+
+
+ boolean
+beginSetProgram ()
+
+
+
+
+
+
+ boolean
+canParameterBeAutomated (int index)
+
+
+
+
+
+
+ void
+close ()
+
+
+
+
+
+
+ boolean
+copyProgram (int destination)
+
+
+ Deprecated. deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+
+
+
+protected String
+dbToString (float value)
+
+
+
+
+
+
+ boolean
+endSetProgram ()
+
+
+
+
+
+
+protected String
+formatFloatParam (float value)
+
+
+
+
+
+
+ int
+fxIdle ()
+
+
+ Deprecated. deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+
+
+
+ float
+getChannelParameter (int channel,
+ int index)
+
+
+
+
+
+
+ int
+getChunk (byte[][] data,
+ boolean isPreset)
+
+
+
+
+
+
+ int
+getCurrentMidiProgram (int channel,
+ jvst.wrapper.valueobjects.MidiProgramName currentProgram)
+
+
+
+
+
+
+ String
+getEffectName ()
+
+
+
+
+
+
+ String
+getErrorText ()
+
+
+ Deprecated. deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+
+
+
+ int
+getGetTailSize ()
+
+
+
+
+
+
+ jvst.wrapper.valueobjects.VSTPinProperties
+getInputProperties (int index)
+
+
+
+
+
+
+protected static String
+getLogBasePath ()
+
+
+
+
+
+
+protected static String
+getLogFileName ()
+
+
+
+
+
+
+ boolean
+getMidiKeyName (int channel,
+ jvst.wrapper.valueobjects.MidiKeyName keyName)
+
+
+
+
+
+
+ int
+getMidiProgramCategory (int channel,
+ jvst.wrapper.valueobjects.MidiProgramCategory category)
+
+
+
+
+
+
+ int
+getMidiProgramName (int channel,
+ jvst.wrapper.valueobjects.MidiProgramName midiProgramName)
+
+
+
+
+
+
+ int
+getNextShellPlugin (String name)
+
+
+
+
+
+
+ int
+getNumCategories ()
+
+
+ Deprecated. deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+
+
+
+ int
+getNumMidiInputChannels ()
+
+
+
+
+
+
+ int
+getNumMidiOutputChannels ()
+
+
+
+
+
+
+ jvst.wrapper.valueobjects.VSTPinProperties
+getOutputProperties (int index)
+
+
+
+
+
+
+ jvst.wrapper.valueobjects.VSTParameterProperties
+getParameterProperties (int index)
+
+
+
+
+
+
+ boolean
+getSpeakerArrangement (jvst.wrapper.valueobjects.VSTSpeakerArrangement pluginInput,
+ jvst.wrapper.valueobjects.VSTSpeakerArrangement pluginOutput)
+
+
+
+
+
+
+ int
+getVendorVersion ()
+
+
+
+
+
+
+ int
+getVstVersion ()
+
+
+
+
+
+
+ float
+getVu ()
+
+
+ Deprecated. deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+
+
+
+ boolean
+hasMidiProgramsChanged (int channel)
+
+
+
+
+
+
+protected String
+hzToString (float value,
+ int sampleRate)
+
+
+
+
+
+
+ void
+inputConnected (int index,
+ boolean state)
+
+
+ Deprecated. deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+
+
+
+protected static boolean
+isLogEnabled ()
+
+
+
+
+
+
+ boolean
+keysRequired ()
+
+
+ Deprecated. deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+
+
+
+static void
+log (String s)
+
+
+ logging
+
+
+
+protected String
+msToString (float value,
+ int sampleRate)
+
+
+
+
+
+
+ void
+open ()
+
+
+
+
+
+
+ void
+outputConnected (int index,
+ boolean state)
+
+
+ Deprecated. deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+
+
+
+ void
+process (float[][] inputs,
+ float[][] outputs,
+ int sampleFrames)
+
+
+ Deprecated. deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+
+ USE processReplacing() and/or processDoubleReplacing() INSTEAD!
+
+
+
+ void
+processDoubleReplacing (double[][] inputs,
+ double[][] outputs,
+ int sampleFrames)
+
+
+
+
+
+
+ int
+processEvents (jvst.wrapper.valueobjects.VSTEvents e)
+
+
+
+
+
+
+ boolean
+processVariableIo (jvst.wrapper.valueobjects.VSTVariableIO vario)
+
+
+
+
+
+
+ int
+reportCurrentPosition ()
+
+
+ Deprecated. deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+
+
+
+ float[]
+reportDestinationBuffer ()
+
+
+ Deprecated. deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+
+
+
+ void
+resume ()
+
+
+
+
+
+
+ void
+setBlockSize (int blockSize)
+
+
+
+
+
+
+ void
+setBlockSizeAndSampleRate (int blockSize,
+ float sampleRate)
+
+
+ Deprecated. deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+
+
+
+ int
+setChunk (byte[] data,
+ int byteSize,
+ boolean isPreset)
+
+
+
+
+
+
+protected static void
+setIsLogEnabled (boolean b)
+
+
+
+
+
+
+ boolean
+setProcessPrecision (int precision)
+
+
+
+
+
+
+ void
+setSampleRate (float sampleRate)
+
+
+
+
+
+
+ boolean
+setSpeakerArrangement (jvst.wrapper.valueobjects.VSTSpeakerArrangement pluginInput,
+ jvst.wrapper.valueobjects.VSTSpeakerArrangement pluginOutput)
+
+
+
+
+
+
+ int
+setTotalSampleToProcess (int value)
+
+
+
+
+
+
+ int
+startProcess ()
+
+
+
+
+
+
+ int
+stopProcess ()
+
+
+
+
+
+
+ void
+suspend ()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Methods inherited from class jvst.wrapper.communication.VSTV20ToHost
+
+
+canHostDo , getAutomationState , getCurrentProcessLevel , getDirectory , getHostLanguage , getHostProductString , getHostVendorString , getHostVendorVersion , getInputLatency , getNumAutomatableParameters , getOutputLatency , getParameterQuantization , getTimeInfo , hasExternalBuffer , ioChanged , isSynth , needIdle , noTail , sendVstEventsToHost , setOutputSamplerate , sizeWindow , tempoAt , updateBlockSize , updateDisplay , updateSampleRate , wantAsyncOperation , wantEvents , willProcessReplacing
+
+
+
+
+
+Methods inherited from class jvst.wrapper.communication.VSTV10ToHost
+
+
+canMono , canProcessReplacing , getBlockSize , getCurrentUniqueId , getMasterVersion , getSampleRate , hasClip , hasVu , isInputConnected , isOutputConnected , masterIdle , programsAreChunks , setInitialDelay , setNumInputs , setNumOutputs , setOfflineQualities , setParameterAutomated , setRealtimeQualities , setUniqueID
+
+
+
+
+
+Methods inherited from class java.lang.Object
+
+
+clone , equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait
+
+
+
+
+
+
+
+Methods inherited from interface jvst.wrapper.communication.VSTV10ToPlug
+
+
+getNumParams , getNumPrograms , getParameter , getParameterDisplay , getParameterLabel , getParameterName , getProgram , getProgramName , processReplacing , setParameter , setProgram , setProgramName
+
+
+
+
+
+
+
+
+
+
+
+PAN_LAW_EQUAL_POWER
+
+public static final int PAN_LAW_EQUAL_POWER
+
+
+See Also: Constant Field Values
+
+
+
+
+PAN_LAW_LINEAR
+
+public static final int PAN_LAW_LINEAR
+
+
+See Also: Constant Field Values
+
+
+
+
+WrapperInstance
+
+protected long WrapperInstance
+
+
+
+
+
+
+
+
+
+
+
+Constructor Detail
+
+
+
+
+VSTPluginAdapter
+
+public VSTPluginAdapter (long Wrapper)
+
+
+
+
+
+
+
+
+
+process
+
+public void process (float[][] inputs,
+ float[][] outputs,
+ int sampleFrames)
+
+Deprecated. deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+
+ USE processReplacing() and/or processDoubleReplacing() INSTEAD!
+
+
+Specified by: process in interface VSTV10ToPlug
+
+
+
+
+
+
+
+
+open
+
+public void open ()
+
+
+Specified by: open in interface VSTV10ToPlug
+
+
+
+
+
+
+
+
+close
+
+public void close ()
+
+
+Specified by: close in interface VSTV10ToPlug
+
+
+
+
+
+
+
+
+suspend
+
+public void suspend ()
+
+
+Specified by: suspend in interface VSTV10ToPlug
+
+
+
+
+
+
+
+
+resume
+
+public void resume ()
+
+
+Specified by: resume in interface VSTV10ToPlug
+
+
+
+
+
+
+
+
+getVu
+
+public float getVu ()
+
+Deprecated. deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+
+
+Specified by: getVu in interface VSTV10ToPlug
+
+
+
+
+
+
+
+
+getChunk
+
+public int getChunk (byte[][] data,
+ boolean isPreset)
+
+
+Specified by: getChunk in interface VSTV10ToPlug
+
+
+
+
+
+
+
+
+setChunk
+
+public int setChunk (byte[] data,
+ int byteSize,
+ boolean isPreset)
+
+
+Specified by: setChunk in interface VSTV10ToPlug
+
+
+
+
+
+
+
+
+setBlockSize
+
+public void setBlockSize (int blockSize)
+
+
+Specified by: setBlockSize in interface VSTV10ToPlug
+
+
+
+
+
+
+
+
+setSampleRate
+
+public void setSampleRate (float sampleRate)
+
+
+Specified by: setSampleRate in interface VSTV10ToPlug
+
+
+
+
+
+
+
+
+getEffectName
+
+public String getEffectName ()
+
+
+Specified by: getEffectName in interface VSTV20ToPlug
+
+
+
+
+
+
+
+
+getVendorVersion
+
+public int getVendorVersion ()
+
+
+Specified by: getVendorVersion in interface VSTV20ToPlug
+
+
+
+
+
+
+
+
+canParameterBeAutomated
+
+public boolean canParameterBeAutomated (int index)
+
+
+Specified by: canParameterBeAutomated in interface VSTV20ToPlug
+
+
+
+
+
+
+
+
+copyProgram
+
+public boolean copyProgram (int destination)
+
+Deprecated. deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+
+
+Specified by: copyProgram in interface VSTV20ToPlug
+
+
+
+
+
+
+
+
+fxIdle
+
+public int fxIdle ()
+
+Deprecated. deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+
+
+Specified by: fxIdle in interface VSTV20ToPlug
+
+
+
+
+
+
+
+
+getChannelParameter
+
+public float getChannelParameter (int channel,
+ int index)
+
+
+Specified by: getChannelParameter in interface VSTV20ToPlug
+
+
+
+
+
+
+
+
+getNumCategories
+
+public int getNumCategories ()
+
+Deprecated. deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+
+
+Specified by: getNumCategories in interface VSTV20ToPlug
+
+
+
+
+
+
+
+
+getInputProperties
+
+public jvst.wrapper.valueobjects.VSTPinProperties getInputProperties (int index)
+
+
+Specified by: getInputProperties in interface VSTV20ToPlug
+
+
+
+
+
+
+
+
+getOutputProperties
+
+public jvst.wrapper.valueobjects.VSTPinProperties getOutputProperties (int index)
+
+
+Specified by: getOutputProperties in interface VSTV20ToPlug
+
+
+
+
+
+
+
+
+getErrorText
+
+public String getErrorText ()
+
+Deprecated. deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+
+
+Specified by: getErrorText in interface VSTV20ToPlug
+
+
+
+
+
+
+
+
+getGetTailSize
+
+public int getGetTailSize ()
+
+
+Specified by: getGetTailSize in interface VSTV20ToPlug
+
+
+
+
+
+
+
+
+getParameterProperties
+
+public jvst.wrapper.valueobjects.VSTParameterProperties getParameterProperties (int index)
+
+
+Specified by: getParameterProperties in interface VSTV20ToPlug
+
+
+
+
+
+
+
+
+getVstVersion
+
+public int getVstVersion ()
+
+
+Specified by: getVstVersion in interface VSTV20ToPlug
+
+
+
+
+
+
+
+
+inputConnected
+
+public void inputConnected (int index,
+ boolean state)
+
+Deprecated. deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+
+
+Specified by: inputConnected in interface VSTV20ToPlug
+
+
+
+
+
+
+
+
+outputConnected
+
+public void outputConnected (int index,
+ boolean state)
+
+Deprecated. deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+
+
+Specified by: outputConnected in interface VSTV20ToPlug
+
+
+
+
+
+
+
+
+keysRequired
+
+public boolean keysRequired ()
+
+Deprecated. deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+
+
+Specified by: keysRequired in interface VSTV20ToPlug
+
+
+
+
+
+
+
+
+processEvents
+
+public int processEvents (jvst.wrapper.valueobjects.VSTEvents e)
+
+
+Specified by: processEvents in interface VSTV20ToPlug
+
+
+
+
+
+
+
+
+processVariableIo
+
+public boolean processVariableIo (jvst.wrapper.valueobjects.VSTVariableIO vario)
+
+
+Specified by: processVariableIo in interface VSTV20ToPlug
+
+
+
+
+
+
+
+
+reportCurrentPosition
+
+public int reportCurrentPosition ()
+
+Deprecated. deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+
+
+Specified by: reportCurrentPosition in interface VSTV20ToPlug
+
+
+
+
+
+
+
+
+reportDestinationBuffer
+
+public float[] reportDestinationBuffer ()
+
+Deprecated. deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+
+
+Specified by: reportDestinationBuffer in interface VSTV20ToPlug
+
+
+
+
+
+
+
+
+setBlockSizeAndSampleRate
+
+public void setBlockSizeAndSampleRate (int blockSize,
+ float sampleRate)
+
+Deprecated. deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+
+
+Specified by: setBlockSizeAndSampleRate in interface VSTV20ToPlug
+
+
+
+
+
+
+
+
+setSpeakerArrangement
+
+public boolean setSpeakerArrangement (jvst.wrapper.valueobjects.VSTSpeakerArrangement pluginInput,
+ jvst.wrapper.valueobjects.VSTSpeakerArrangement pluginOutput)
+
+
+Specified by: setSpeakerArrangement in interface VSTV20ToPlug
+
+
+
+
+
+
+
+
+getSpeakerArrangement
+
+public boolean getSpeakerArrangement (jvst.wrapper.valueobjects.VSTSpeakerArrangement pluginInput,
+ jvst.wrapper.valueobjects.VSTSpeakerArrangement pluginOutput)
+
+
+Specified by: getSpeakerArrangement in interface VSTV20ToPlug
+
+
+
+
+
+
+
+
+getMidiProgramName
+
+public int getMidiProgramName (int channel,
+ jvst.wrapper.valueobjects.MidiProgramName midiProgramName)
+
+
+Specified by: getMidiProgramName in interface VSTV21ToPlug
+
+
+
+
+
+
+
+
+getCurrentMidiProgram
+
+public int getCurrentMidiProgram (int channel,
+ jvst.wrapper.valueobjects.MidiProgramName currentProgram)
+
+
+Specified by: getCurrentMidiProgram in interface VSTV21ToPlug
+
+
+
+
+
+
+
+
+getMidiProgramCategory
+
+public int getMidiProgramCategory (int channel,
+ jvst.wrapper.valueobjects.MidiProgramCategory category)
+
+
+Specified by: getMidiProgramCategory in interface VSTV21ToPlug
+
+
+
+
+
+
+
+
+hasMidiProgramsChanged
+
+public boolean hasMidiProgramsChanged (int channel)
+
+
+Specified by: hasMidiProgramsChanged in interface VSTV21ToPlug
+
+
+
+
+
+
+
+
+getMidiKeyName
+
+public boolean getMidiKeyName (int channel,
+ jvst.wrapper.valueobjects.MidiKeyName keyName)
+
+
+Specified by: getMidiKeyName in interface VSTV21ToPlug
+
+
+
+
+
+
+
+
+beginSetProgram
+
+public boolean beginSetProgram ()
+
+
+Specified by: beginSetProgram in interface VSTV21ToPlug
+
+
+
+
+
+
+
+
+endSetProgram
+
+public boolean endSetProgram ()
+
+
+Specified by: endSetProgram in interface VSTV21ToPlug
+
+
+
+
+
+
+
+
+setTotalSampleToProcess
+
+public int setTotalSampleToProcess (int value)
+
+
+Specified by: setTotalSampleToProcess in interface VSTV23ToPlug
+
+
+
+
+
+
+
+
+getNextShellPlugin
+
+public int getNextShellPlugin (String name)
+
+
+Specified by: getNextShellPlugin in interface VSTV23ToPlug
+
+
+
+
+
+
+
+
+startProcess
+
+public int startProcess ()
+
+
+Specified by: startProcess in interface VSTV23ToPlug
+
+
+
+
+
+
+
+
+stopProcess
+
+public int stopProcess ()
+
+
+Specified by: stopProcess in interface VSTV23ToPlug
+
+
+
+
+
+
+
+
+processDoubleReplacing
+
+public void processDoubleReplacing (double[][] inputs,
+ double[][] outputs,
+ int sampleFrames)
+
+
+Specified by: processDoubleReplacing in interface VSTV24ToPlug
+
+
+
+
+
+
+
+
+setProcessPrecision
+
+public boolean setProcessPrecision (int precision)
+
+
+Specified by: setProcessPrecision in interface VSTV24ToPlug
+
+
+
+
+
+
+
+
+getNumMidiInputChannels
+
+public int getNumMidiInputChannels ()
+
+
+Specified by: getNumMidiInputChannels in interface VSTV24ToPlug
+
+
+
+
+
+
+
+
+getNumMidiOutputChannels
+
+public int getNumMidiOutputChannels ()
+
+
+Specified by: getNumMidiOutputChannels in interface VSTV24ToPlug
+
+
+
+
+
+
+
+
+dbToString
+
+protected String dbToString (float value)
+
+
+
+
+
+
+
+
+
+
+
+hzToString
+
+protected String hzToString (float value,
+ int sampleRate)
+
+
+
+
+
+
+
+
+
+
+
+msToString
+
+protected String msToString (float value,
+ int sampleRate)
+
+
+
+
+
+
+
+
+
+
+
+formatFloatParam
+
+protected String formatFloatParam (float value)
+
+
+
+
+
+
+
+
+
+
+
+_initPlugFromNative
+
+protected static void _initPlugFromNative (String dllLocation,
+ boolean log)
+
+is called by the plugin wrapper lib BEFORE plugins construktor!
+
+
+
+
+
+
+
+
+
+
+
+log
+
+public static void log (String s)
+
+logging
+
+
+
+
+
+
+
+
+
+
+
+isLogEnabled
+
+protected static boolean isLogEnabled ()
+
+
+
+
+
+
+
+
+
+
+
+setIsLogEnabled
+
+protected static void setIsLogEnabled (boolean b)
+
+
+
+
+
+
+
+
+
+
+
+getLogBasePath
+
+protected static String getLogBasePath ()
+
+
+
+
+
+
+
+
+
+
+
+getLogFileName
+
+protected static String getLogFileName ()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2012. All Rights Reserved.
+
+
diff --git a/docs/javadoc/jvstwrapper/jvst/wrapper/VSTPluginGUIAdapter.html b/docs/javadoc/jvstwrapper/jvst/wrapper/VSTPluginGUIAdapter.html
new file mode 100644
index 0000000..e1349d3
--- /dev/null
+++ b/docs/javadoc/jvstwrapper/jvst/wrapper/VSTPluginGUIAdapter.html
@@ -0,0 +1,626 @@
+
+
+
+
+
+
+
+VSTPluginGUIAdapter (jVSTwRapper 1.0beta API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+jvst.wrapper
+
+Class VSTPluginGUIAdapter
+
+java.lang.Object
+ java.awt.Component
+ java.awt.Container
+ java.awt.Window
+ java.awt.Frame
+ javax.swing.JFrame
+ jvst.wrapper.VSTPluginGUIAdapter
+
+
+All Implemented Interfaces: ImageObserver , MenuContainer , Serializable , Accessible , RootPaneContainer , WindowConstants , VSTPluginGUI
+
+
+
+public abstract class VSTPluginGUIAdapter extends JFrame implements VSTPluginGUI
+
+
+
+
+See Also: Serialized Form
+
+
+
+
+
+
+
+
+
+Nested Class Summary
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Fields inherited from class java.awt.Frame
+
+
+CROSSHAIR_CURSOR , DEFAULT_CURSOR , E_RESIZE_CURSOR , HAND_CURSOR , ICONIFIED , MAXIMIZED_BOTH , MAXIMIZED_HORIZ , MAXIMIZED_VERT , MOVE_CURSOR , N_RESIZE_CURSOR , NE_RESIZE_CURSOR , NORMAL , NW_RESIZE_CURSOR , S_RESIZE_CURSOR , SE_RESIZE_CURSOR , SW_RESIZE_CURSOR , TEXT_CURSOR , W_RESIZE_CURSOR , WAIT_CURSOR
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+ void
+close ()
+
+
+ Description of the Method
+
+
+
+ void
+destroy ()
+
+
+ Description of the Method
+
+
+
+ void
+idle ()
+
+
+ This method runs in the context of the hosts GUI event loop
+ So this is the right place for plug-->host calls like beginEdit, endEdit, setParameterAutomated(), etc.
+
+
+
+protected void
+log (String s)
+
+
+
+
+
+
+ void
+open ()
+
+
+ Description of the Method
+
+
+
+ void
+undecorate ()
+
+
+
+
+
+
+
+
+Methods inherited from class javax.swing.JFrame
+
+
+addImpl , createRootPane , frameInit , getAccessibleContext , getContentPane , getDefaultCloseOperation , getGlassPane , getGraphics , getJMenuBar , getLayeredPane , getRootPane , getTransferHandler , isDefaultLookAndFeelDecorated , isRootPaneCheckingEnabled , paramString , processWindowEvent , remove , repaint , setContentPane , setDefaultCloseOperation , setDefaultLookAndFeelDecorated , setGlassPane , setIconImage , setJMenuBar , setLayeredPane , setLayout , setRootPane , setRootPaneCheckingEnabled , setTransferHandler , update
+
+
+
+
+
+Methods inherited from class java.awt.Frame
+
+
+addNotify , getCursorType , getExtendedState , getFrames , getIconImage , getMaximizedBounds , getMenuBar , getState , getTitle , isResizable , isUndecorated , remove , removeNotify , setCursor , setExtendedState , setMaximizedBounds , setMenuBar , setResizable , setState , setTitle , setUndecorated
+
+
+
+
+
+Methods inherited from class java.awt.Window
+
+
+addPropertyChangeListener , addPropertyChangeListener , addWindowFocusListener , addWindowListener , addWindowStateListener , applyResourceBundle , applyResourceBundle , createBufferStrategy , createBufferStrategy , dispose , getBufferStrategy , getFocusableWindowState , getFocusCycleRootAncestor , getFocusOwner , getFocusTraversalKeys , getGraphicsConfiguration , getIconImages , getInputContext , getListeners , getLocale , getModalExclusionType , getMostRecentFocusOwner , getOwnedWindows , getOwner , getOwnerlessWindows , getToolkit , getWarningString , getWindowFocusListeners , getWindowListeners , getWindows , getWindowStateListeners , hide , isActive , isAlwaysOnTop , isAlwaysOnTopSupported , isFocusableWindow , isFocusCycleRoot , isFocused , isLocationByPlatform , isShowing , pack , paint , postEvent , processEvent , processWindowFocusEvent , processWindowStateEvent , removeWindowFocusListener , removeWindowListener , removeWindowStateListener , reshape , setAlwaysOnTop , setBounds , setBounds , setCursor , setFocusableWindowState , setFocusCycleRoot , setIconImages , setLocationByPlatform , setLocationRelativeTo , setMinimumSize , setModalExclusionType , setSize , setSize , setVisible , show , toBack , toFront
+
+
+
+
+
+Methods inherited from class java.awt.Container
+
+
+add , add , add , add , add , addContainerListener , applyComponentOrientation , areFocusTraversalKeysSet , countComponents , deliverEvent , doLayout , findComponentAt , findComponentAt , getAlignmentX , getAlignmentY , getComponent , getComponentAt , getComponentAt , getComponentCount , getComponents , getComponentZOrder , getContainerListeners , getFocusTraversalPolicy , getInsets , getLayout , getMaximumSize , getMinimumSize , getMousePosition , getPreferredSize , insets , invalidate , isAncestorOf , isFocusCycleRoot , isFocusTraversalPolicyProvider , isFocusTraversalPolicySet , layout , list , list , locate , minimumSize , paintComponents , preferredSize , print , printComponents , processContainerEvent , remove , removeAll , removeContainerListener , setComponentZOrder , setFocusTraversalKeys , setFocusTraversalPolicy , setFocusTraversalPolicyProvider , setFont , transferFocusBackward , transferFocusDownCycle , validate , validateTree
+
+
+
+
+
+Methods inherited from class java.awt.Component
+
+
+action , add , addComponentListener , addFocusListener , addHierarchyBoundsListener , addHierarchyListener , addInputMethodListener , addKeyListener , addMouseListener , addMouseMotionListener , addMouseWheelListener , bounds , checkImage , checkImage , coalesceEvents , contains , contains , createImage , createImage , createVolatileImage , createVolatileImage , disable , disableEvents , dispatchEvent , enable , enable , enableEvents , enableInputMethods , firePropertyChange , firePropertyChange , firePropertyChange , firePropertyChange , firePropertyChange , firePropertyChange , firePropertyChange , firePropertyChange , firePropertyChange , getBackground , getBaseline , getBaselineResizeBehavior , getBounds , getBounds , getColorModel , getComponentListeners , getComponentOrientation , getCursor , getDropTarget , getFocusListeners , getFocusTraversalKeysEnabled , getFont , getFontMetrics , getForeground , getHeight , getHierarchyBoundsListeners , getHierarchyListeners , getIgnoreRepaint , getInputMethodListeners , getInputMethodRequests , getKeyListeners , getLocation , getLocation , getLocationOnScreen , getMouseListeners , getMouseMotionListeners , getMousePosition , getMouseWheelListeners , getName , getParent , getPeer , getPropertyChangeListeners , getPropertyChangeListeners , getSize , getSize , getTreeLock , getWidth , getX , getY , gotFocus , handleEvent , hasFocus , imageUpdate , inside , isBackgroundSet , isCursorSet , isDisplayable , isDoubleBuffered , isEnabled , isFocusable , isFocusOwner , isFocusTraversable , isFontSet , isForegroundSet , isLightweight , isMaximumSizeSet , isMinimumSizeSet , isOpaque , isPreferredSizeSet , isValid , isVisible , keyDown , keyUp , list , list , list , location , lostFocus , mouseDown , mouseDrag , mouseEnter , mouseExit , mouseMove , mouseUp , move , nextFocus , paintAll , prepareImage , prepareImage , printAll , processComponentEvent , processFocusEvent , processHierarchyBoundsEvent , processHierarchyEvent , processInputMethodEvent , processKeyEvent , processMouseEvent , processMouseMotionEvent , processMouseWheelEvent , removeComponentListener , removeFocusListener , removeHierarchyBoundsListener , removeHierarchyListener , removeInputMethodListener , removeKeyListener , removeMouseListener , removeMouseMotionListener , removeMouseWheelListener , removePropertyChangeListener , removePropertyChangeListener , repaint , repaint , repaint , requestFocus , requestFocus , requestFocusInWindow , requestFocusInWindow , resize , resize , setBackground , setComponentOrientation , setDropTarget , setEnabled , setFocusable , setFocusTraversalKeysEnabled , setForeground , setIgnoreRepaint , setLocale , setLocation , setLocation , setMaximumSize , setName , setPreferredSize , show , size , toString , transferFocus , transferFocusUpCycle
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+RUNNING_MAC_X
+
+public static final boolean RUNNING_MAC_X
+
+
+
+
+
+
+
+plugin
+
+protected VSTPluginAdapter plugin
+
+
+
+
+
+
+
+runner
+
+public VSTPluginGUIRunner runner
+
+
+
+
+
+
+
+
+
+
+
+Constructor Detail
+
+
+
+
+VSTPluginGUIAdapter
+
+public VSTPluginGUIAdapter (VSTPluginGUIRunner r,
+ VSTPluginAdapter plugin)
+
+
+
+
+
+
+
+
+
+undecorate
+
+public void undecorate ()
+
+
+
+
+
+
+
+
+
+
+
+open
+
+public void open ()
+
+Description copied from interface: VSTPluginGUI
+Description of the Method
+
+
+Specified by: open in interface VSTPluginGUI
+
+
+
+
+
+
+
+
+close
+
+public void close ()
+
+Description copied from interface: VSTPluginGUI
+Description of the Method
+
+
+Specified by: close in interface VSTPluginGUI
+
+
+
+
+
+
+
+
+destroy
+
+public void destroy ()
+
+Description copied from interface: VSTPluginGUI
+Description of the Method
+
+
+Specified by: destroy in interface VSTPluginGUI
+
+
+
+
+
+
+
+
+idle
+
+public void idle ()
+
+Description copied from interface: VSTPluginGUI
+This method runs in the context of the hosts GUI event loop
+ So this is the right place for plug-->host calls like beginEdit, endEdit, setParameterAutomated(), etc.
+ WARNING: do not do any Swing related tasks or other long.running actions here.
+ This call blocks the host event thread and thus all GUI related things
+ Also, if Swing things are done here the plugin will deadlock on Mac
+ You can prevent this by wrapping everything EXCEPT plug-->host calls by using invokeLater()
+
+
+Specified by: idle in interface VSTPluginGUI
+
+
+
+
+
+
+
+
+log
+
+protected final void log (String s)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2012. All Rights Reserved.
+
+
diff --git a/docs/javadoc/jvstwrapper/jvst/wrapper/class-use/VSTPluginAdapter.html b/docs/javadoc/jvstwrapper/jvst/wrapper/class-use/VSTPluginAdapter.html
new file mode 100644
index 0000000..03ffa4b
--- /dev/null
+++ b/docs/javadoc/jvstwrapper/jvst/wrapper/class-use/VSTPluginAdapter.html
@@ -0,0 +1,226 @@
+
+
+
+
+
+
+
+Uses of Class jvst.wrapper.VSTPluginAdapter (jVSTwRapper 1.0beta API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Uses of Class jvst.wrapper.VSTPluginAdapter
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2012. All Rights Reserved.
+
+
diff --git a/docs/javadoc/jvstwrapper/jvst/wrapper/class-use/VSTPluginGUIAdapter.html b/docs/javadoc/jvstwrapper/jvst/wrapper/class-use/VSTPluginGUIAdapter.html
new file mode 100644
index 0000000..9444f73
--- /dev/null
+++ b/docs/javadoc/jvstwrapper/jvst/wrapper/class-use/VSTPluginGUIAdapter.html
@@ -0,0 +1,181 @@
+
+
+
+
+
+
+
+Uses of Class jvst.wrapper.VSTPluginGUIAdapter (jVSTwRapper 1.0beta API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Uses of Class jvst.wrapper.VSTPluginGUIAdapter
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2012. All Rights Reserved.
+
+
diff --git a/docs/javadoc/jvstwrapper/jvst/wrapper/communication/VSTV10ToHost.html b/docs/javadoc/jvstwrapper/jvst/wrapper/communication/VSTV10ToHost.html
new file mode 100644
index 0000000..935abfe
--- /dev/null
+++ b/docs/javadoc/jvstwrapper/jvst/wrapper/communication/VSTV10ToHost.html
@@ -0,0 +1,628 @@
+
+
+
+
+
+
+
+VSTV10ToHost (jVSTwRapper 1.0beta API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+jvst.wrapper.communication
+
+Class VSTV10ToHost
+
+java.lang.Object
+ jvst.wrapper.communication.VSTV10ToHost
+
+
+Direct Known Subclasses: VSTV20ToHost
+
+
+
+public abstract class VSTV10ToHost extends Object
+
+
+
+VST 1.0 Plug -> Host Communication
+
+
+
+
+Author:
+ daniel
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+ void
+canMono (boolean state)
+
+
+ Deprecated. deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+
+
+
+ void
+canProcessReplacing (boolean state)
+
+
+
+
+
+
+ int
+getBlockSize ()
+
+
+
+
+
+
+ int
+getCurrentUniqueId ()
+
+
+
+
+
+
+ int
+getMasterVersion ()
+
+
+
+
+
+
+ float
+getSampleRate ()
+
+
+
+
+
+
+ void
+hasClip (boolean state)
+
+
+ Deprecated. deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+
+
+
+ void
+hasVu (boolean state)
+
+
+ Deprecated. deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+
+
+
+ boolean
+isInputConnected (int input)
+
+
+
+
+
+
+ boolean
+isOutputConnected (int output)
+
+
+
+
+
+
+ void
+masterIdle ()
+
+
+
+
+
+
+ void
+programsAreChunks (boolean state)
+
+
+
+
+
+
+ void
+setInitialDelay (int delay)
+
+
+
+
+
+
+ void
+setNumInputs (int num)
+
+
+
+
+
+
+ void
+setNumOutputs (int num)
+
+
+
+
+
+
+ void
+setOfflineQualities (int qualities)
+
+
+ Deprecated. deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+
+
+
+ void
+setParameterAutomated (int index,
+ float value)
+
+
+
+
+
+
+ void
+setRealtimeQualities (int qualities)
+
+
+ Deprecated. deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+
+
+
+ void
+setUniqueID (int id)
+
+
+
+
+
+
+
+
+Methods inherited from class java.lang.Object
+
+
+clone , equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait
+
+
+
+
+
+
+
+
+
+
+
+Constructor Detail
+
+
+
+
+VSTV10ToHost
+
+public VSTV10ToHost ()
+
+
+
+
+
+
+
+
+
+setUniqueID
+
+public void setUniqueID (int id)
+
+
+
+
+
+
+
+
+setNumInputs
+
+public void setNumInputs (int num)
+
+
+
+
+
+
+
+
+setNumOutputs
+
+public void setNumOutputs (int num)
+
+
+
+
+
+
+
+
+hasVu
+
+public void hasVu (boolean state)
+
+Deprecated. deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+
+
+
+
+
+
+
+
+hasClip
+
+public void hasClip (boolean state)
+
+Deprecated. deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+
+
+
+
+
+
+
+
+canMono
+
+public void canMono (boolean state)
+
+Deprecated. deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+
+
+
+
+
+
+
+
+canProcessReplacing
+
+public void canProcessReplacing (boolean state)
+
+
+
+
+
+
+
+
+setRealtimeQualities
+
+public void setRealtimeQualities (int qualities)
+
+Deprecated. deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+
+
+
+
+
+
+
+
+setOfflineQualities
+
+public void setOfflineQualities (int qualities)
+
+Deprecated. deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+
+
+
+
+
+
+
+
+setInitialDelay
+
+public void setInitialDelay (int delay)
+
+
+
+
+
+
+
+
+programsAreChunks
+
+public void programsAreChunks (boolean state)
+
+
+
+
+
+
+
+
+getSampleRate
+
+public float getSampleRate ()
+
+
+
+
+
+
+
+
+getBlockSize
+
+public int getBlockSize ()
+
+
+
+
+
+
+
+
+setParameterAutomated
+
+public void setParameterAutomated (int index,
+ float value)
+
+
+
+
+
+
+
+
+getMasterVersion
+
+public int getMasterVersion ()
+
+
+
+
+
+
+
+
+getCurrentUniqueId
+
+public int getCurrentUniqueId ()
+
+
+
+
+
+
+
+
+masterIdle
+
+public void masterIdle ()
+
+
+
+
+
+
+
+
+isInputConnected
+
+public boolean isInputConnected (int input)
+
+
+
+
+
+
+
+
+isOutputConnected
+
+public boolean isOutputConnected (int output)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2012. All Rights Reserved.
+
+
diff --git a/docs/javadoc/jvstwrapper/jvst/wrapper/communication/VSTV10ToPlug.html b/docs/javadoc/jvstwrapper/jvst/wrapper/communication/VSTV10ToPlug.html
new file mode 100644
index 0000000..cd8b55e
--- /dev/null
+++ b/docs/javadoc/jvstwrapper/jvst/wrapper/communication/VSTV10ToPlug.html
@@ -0,0 +1,652 @@
+
+
+
+
+
+
+
+VSTV10ToPlug (jVSTwRapper 1.0beta API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+jvst.wrapper.communication
+
+Interface VSTV10ToPlug
+
+All Known Subinterfaces: VSTV20ToPlug , VSTV21ToPlug , VSTV22ToPlug , VSTV23ToPlug , VSTV24ToPlug
+
+
+All Known Implementing Classes: VSTPluginAdapter
+
+
+
+public interface VSTV10ToPlug
+
+
+
+VST 1.0 Host -> Plug Communication
+
+
+
+
+Author:
+ daniel
+
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+ void
+close ()
+
+
+
+
+
+
+ int
+getChunk (byte[][] data,
+ boolean isPreset)
+
+
+
+
+
+
+ int
+getNumParams ()
+
+
+ because setting this param in constructor is bad design!
+
+
+
+ int
+getNumPrograms ()
+
+
+ because setting this param in constructor is bad design!
+
+
+
+ float
+getParameter (int index)
+
+
+
+
+
+
+ String
+getParameterDisplay (int index)
+
+
+
+
+
+
+ String
+getParameterLabel (int index)
+
+
+
+
+
+
+ String
+getParameterName (int index)
+
+
+
+
+
+
+ int
+getProgram ()
+
+
+
+
+
+
+ String
+getProgramName ()
+
+
+
+
+
+
+ float
+getVu ()
+
+
+ Deprecated. deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+
+
+
+ void
+open ()
+
+
+
+
+
+
+ void
+process (float[][] inputs,
+ float[][] outputs,
+ int sampleFrames)
+
+
+ Deprecated. deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+
+ USE processReplacing() and/or processDoubleReplacing() INSTEAD!
+
+
+
+ void
+processReplacing (float[][] inputs,
+ float[][] outputs,
+ int sampleFrames)
+
+
+
+
+
+
+ void
+resume ()
+
+
+
+
+
+
+ void
+setBlockSize (int blockSize)
+
+
+
+
+
+
+ int
+setChunk (byte[] data,
+ int byteSize,
+ boolean isPreset)
+
+
+
+
+
+
+ void
+setParameter (int index,
+ float value)
+
+
+
+
+
+
+ void
+setProgram (int index)
+
+
+
+
+
+
+ void
+setProgramName (String name)
+
+
+
+
+
+
+ void
+setSampleRate (float sampleRate)
+
+
+
+
+
+
+ void
+suspend ()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+setParameter
+
+void setParameter (int index,
+ float value)
+
+
+
+
+
+
+
+
+getParameter
+
+float getParameter (int index)
+
+
+
+
+
+
+
+
+process
+
+void process (float[][] inputs,
+ float[][] outputs,
+ int sampleFrames)
+
+Deprecated. deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+
+ USE processReplacing() and/or processDoubleReplacing() INSTEAD!
+
+
+
+
+
+
+
+
+processReplacing
+
+void processReplacing (float[][] inputs,
+ float[][] outputs,
+ int sampleFrames)
+
+
+
+
+
+
+
+
+getProgram
+
+int getProgram ()
+
+
+
+
+
+
+
+
+setProgram
+
+void setProgram (int index)
+
+
+
+
+
+
+
+
+setProgramName
+
+void setProgramName (String name)
+
+
+
+
+
+
+
+
+getProgramName
+
+String getProgramName ()
+
+
+
+
+
+
+
+
+getParameterName
+
+String getParameterName (int index)
+
+
+
+
+
+
+
+
+getParameterDisplay
+
+String getParameterDisplay (int index)
+
+
+
+
+
+
+
+
+getParameterLabel
+
+String getParameterLabel (int index)
+
+
+
+
+
+
+
+
+open
+
+void open ()
+
+
+
+
+
+
+
+
+close
+
+void close ()
+
+
+
+
+
+
+
+
+suspend
+
+void suspend ()
+
+
+
+
+
+
+
+
+resume
+
+void resume ()
+
+
+
+
+
+
+
+
+getVu
+
+float getVu ()
+
+Deprecated. deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+
+
+
+
+
+
+
+
+getChunk
+
+int getChunk (byte[][] data,
+ boolean isPreset)
+
+
+
+
+
+
+
+
+setChunk
+
+int setChunk (byte[] data,
+ int byteSize,
+ boolean isPreset)
+
+
+
+
+
+
+
+
+setBlockSize
+
+void setBlockSize (int blockSize)
+
+
+
+
+
+
+
+
+setSampleRate
+
+void setSampleRate (float sampleRate)
+
+
+
+
+
+
+
+
+getNumPrograms
+
+int getNumPrograms ()
+
+because setting this param in constructor is bad design!
+
+
+
+
+
+
+
+
+getNumParams
+
+int getNumParams ()
+
+because setting this param in constructor is bad design!
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2012. All Rights Reserved.
+
+
diff --git a/docs/javadoc/jvstwrapper/jvst/wrapper/communication/VSTV20ToHost.html b/docs/javadoc/jvstwrapper/jvst/wrapper/communication/VSTV20ToHost.html
new file mode 100644
index 0000000..931e5ac
--- /dev/null
+++ b/docs/javadoc/jvstwrapper/jvst/wrapper/communication/VSTV20ToHost.html
@@ -0,0 +1,1491 @@
+
+
+
+
+
+
+
+VSTV20ToHost (jVSTwRapper 1.0beta API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+jvst.wrapper.communication
+
+Class VSTV20ToHost
+
+java.lang.Object
+ jvst.wrapper.communication.VSTV10ToHost
+ jvst.wrapper.communication.VSTV20ToHost
+
+
+Direct Known Subclasses: VSTV21ToHost
+
+
+
+public abstract class VSTV20ToHost extends VSTV10ToHost
+
+
+
+VST 2.0 Plug -> Host Communication
+
+
+
+
+Author:
+ daniel
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+ int
+canHostDo (String what)
+
+
+
+
+
+
+ int
+getAutomationState ()
+
+
+
+
+
+
+ int
+getCurrentProcessLevel ()
+
+
+
+
+
+
+ String
+getDirectory ()
+
+
+
+
+
+
+ int
+getHostLanguage ()
+
+
+
+
+
+
+ String
+getHostProductString ()
+
+
+
+
+
+
+ String
+getHostVendorString ()
+
+
+
+
+
+
+ int
+getHostVendorVersion ()
+
+
+
+
+
+
+ int
+getInputLatency ()
+
+
+
+
+
+
+ int
+getNumAutomatableParameters ()
+
+
+ Deprecated. deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+
+
+
+ int
+getOutputLatency ()
+
+
+
+
+
+
+ int
+getParameterQuantization ()
+
+
+ Deprecated. deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+
+
+
+ jvst.wrapper.valueobjects.VSTTimeInfo
+getTimeInfo (int filter)
+
+
+
+
+
+
+ void
+hasExternalBuffer (boolean state)
+
+
+ Deprecated. deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+
+
+
+ boolean
+ioChanged ()
+
+
+
+
+
+
+ void
+isSynth (boolean state)
+
+
+
+
+
+
+ boolean
+needIdle ()
+
+
+ Deprecated. deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+
+
+
+ void
+noTail (boolean state)
+
+
+
+
+
+
+ boolean
+sendVstEventsToHost (jvst.wrapper.valueobjects.VSTEvents events)
+
+
+
+
+
+
+ void
+setOutputSamplerate (float rate)
+
+
+ Deprecated. deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+
+
+
+ boolean
+sizeWindow (int width,
+ int height)
+
+
+
+
+
+
+ int
+tempoAt (int position)
+
+
+ Deprecated. deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+
+
+
+ int
+updateBlockSize ()
+
+
+
+
+
+
+ boolean
+updateDisplay ()
+
+
+
+
+
+
+ double
+updateSampleRate ()
+
+
+
+
+
+
+ void
+wantAsyncOperation (boolean state)
+
+
+ Deprecated. deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+
+
+
+ void
+wantEvents (int filter)
+
+
+ Deprecated. deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+
+
+
+ int
+willProcessReplacing ()
+
+
+ Deprecated. deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+
+
+
+
+
+Methods inherited from class jvst.wrapper.communication.VSTV10ToHost
+
+
+canMono , canProcessReplacing , getBlockSize , getCurrentUniqueId , getMasterVersion , getSampleRate , hasClip , hasVu , isInputConnected , isOutputConnected , masterIdle , programsAreChunks , setInitialDelay , setNumInputs , setNumOutputs , setOfflineQualities , setParameterAutomated , setRealtimeQualities , setUniqueID
+
+
+
+
+
+Methods inherited from class java.lang.Object
+
+
+clone , equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait
+
+
+
+
+
+
+
+
+
+
+
+CANDO_DONT_KNOW
+
+public static final int CANDO_DONT_KNOW
+
+
+See Also: Constant Field Values
+
+
+
+
+CANDO_NO
+
+public static final int CANDO_NO
+
+
+See Also: Constant Field Values
+
+
+
+
+CANDO_PLUG_1_IN_1_OUT
+
+public static final String CANDO_PLUG_1_IN_1_OUT
+
+
+See Also: Constant Field Values
+
+
+
+
+CANDO_PLUG_1_IN_2_OUT
+
+public static final String CANDO_PLUG_1_IN_2_OUT
+
+
+See Also: Constant Field Values
+
+
+
+
+CANDO_PLUG_2_IN_1_OUT
+
+public static final String CANDO_PLUG_2_IN_1_OUT
+
+
+See Also: Constant Field Values
+
+
+
+
+CANDO_PLUG_2_IN_2_OUT
+
+public static final String CANDO_PLUG_2_IN_2_OUT
+
+
+See Also: Constant Field Values
+
+
+
+
+CANDO_PLUG_2_IN_4_OUT
+
+public static final String CANDO_PLUG_2_IN_4_OUT
+
+
+See Also: Constant Field Values
+
+
+
+
+CANDO_PLUG_4_IN_2_OUT
+
+public static final String CANDO_PLUG_4_IN_2_OUT
+
+
+See Also: Constant Field Values
+
+
+
+
+CANDO_PLUG_4_IN_4_OUT
+
+public static final String CANDO_PLUG_4_IN_4_OUT
+
+
+See Also: Constant Field Values
+
+
+
+
+CANDO_PLUG_4_IN_8_OUT
+
+public static final String CANDO_PLUG_4_IN_8_OUT
+
+
+See Also: Constant Field Values
+
+
+
+
+CANDO_PLUG_8_IN_4_OUT
+
+public static final String CANDO_PLUG_8_IN_4_OUT
+
+
+See Also: Constant Field Values
+
+
+
+
+CANDO_PLUG_8_IN_8_OUT
+
+public static final String CANDO_PLUG_8_IN_8_OUT
+
+
+See Also: Constant Field Values
+
+
+
+
+CANDO_PLUG_BYPASS
+
+public static final String CANDO_PLUG_BYPASS
+
+
+See Also: Constant Field Values
+
+
+
+
+CANDO_PLUG_CONFORMS_TO_WINDOW_RULES
+
+public static final String CANDO_PLUG_CONFORMS_TO_WINDOW_RULES
+
+
+See Also: Constant Field Values
+
+
+
+
+CANDO_PLUG_METAPASS
+
+public static final String CANDO_PLUG_METAPASS
+
+
+See Also: Constant Field Values
+
+
+
+
+CANDO_PLUG_MIDI_PROGRAM_NAMES
+
+public static final String CANDO_PLUG_MIDI_PROGRAM_NAMES
+
+
+See Also: Constant Field Values
+
+
+
+
+CANDO_PLUG_MIX_DRY_WET
+
+public static final String CANDO_PLUG_MIX_DRY_WET
+
+
+See Also: Constant Field Values
+
+
+
+
+CANDO_PLUG_MULTIPASS
+
+public static final String CANDO_PLUG_MULTIPASS
+
+
+See Also: Constant Field Values
+
+
+
+
+CANDO_PLUG_NO_REAL_TIME
+
+public static final String CANDO_PLUG_NO_REAL_TIME
+
+
+See Also: Constant Field Values
+
+
+
+
+CANDO_PLUG_OFFLINE
+
+public static final String CANDO_PLUG_OFFLINE
+
+
+See Also: Constant Field Values
+
+
+
+
+CANDO_PLUG_PLUG_AS_CHANNEL_INSERT
+
+public static final String CANDO_PLUG_PLUG_AS_CHANNEL_INSERT
+
+
+See Also: Constant Field Values
+
+
+
+
+CANDO_PLUG_PLUG_AS_SEND
+
+public static final String CANDO_PLUG_PLUG_AS_SEND
+
+
+See Also: Constant Field Values
+
+
+
+
+CANDO_PLUG_RECEIVE_VST_EVENTS
+
+public static final String CANDO_PLUG_RECEIVE_VST_EVENTS
+
+
+See Also: Constant Field Values
+
+
+
+
+CANDO_PLUG_RECEIVE_VST_MIDI_EVENT
+
+public static final String CANDO_PLUG_RECEIVE_VST_MIDI_EVENT
+
+
+See Also: Constant Field Values
+
+
+
+
+CANDO_PLUG_RECEIVE_VST_TIME_INFO
+
+public static final String CANDO_PLUG_RECEIVE_VST_TIME_INFO
+
+
+See Also: Constant Field Values
+
+
+
+
+CANDO_PLUG_REVEIVE_VST_MIDI_EVENT
+
+public static final String CANDO_PLUG_REVEIVE_VST_MIDI_EVENT
+
+
+See Also: Constant Field Values
+
+
+
+
+CANDO_PLUG_SEND_VST_EVENTS
+
+public static final String CANDO_PLUG_SEND_VST_EVENTS
+
+
+See Also: Constant Field Values
+
+
+
+
+CANDO_PLUG_SEND_VST_MIDI_EVENT
+
+public static final String CANDO_PLUG_SEND_VST_MIDI_EVENT
+
+
+See Also: Constant Field Values
+
+
+
+
+CANDO_PLUG_SEND_VST_TIME_INFO
+
+public static final String CANDO_PLUG_SEND_VST_TIME_INFO
+
+
+See Also: Constant Field Values
+
+
+
+
+CANDO_YES
+
+public static final int CANDO_YES
+
+
+See Also: Constant Field Values
+
+
+
+
+VST_LANG_ENGLISH
+
+public static final int VST_LANG_ENGLISH
+
+
+See Also: Constant Field Values
+
+
+
+
+VST_LANG_FRENCH
+
+public static final int VST_LANG_FRENCH
+
+
+See Also: Constant Field Values
+
+
+
+
+VST_LANG_GERMAN
+
+public static final int VST_LANG_GERMAN
+
+
+See Also: Constant Field Values
+
+
+
+
+VST_LANG_ITALIAN
+
+public static final int VST_LANG_ITALIAN
+
+
+See Also: Constant Field Values
+
+
+
+
+VST_LANG_JAPANESE
+
+public static final int VST_LANG_JAPANESE
+
+
+See Also: Constant Field Values
+
+
+
+
+VST_LANG_SPANISH
+
+public static final int VST_LANG_SPANISH
+
+
+See Also: Constant Field Values
+
+
+
+
+
+
+
+
+Constructor Detail
+
+
+
+
+VSTV20ToHost
+
+public VSTV20ToHost ()
+
+
+
+
+
+
+
+
+
+canHostDo
+
+public int canHostDo (String what)
+
+
+
+
+
+
+
+
+sizeWindow
+
+public boolean sizeWindow (int width,
+ int height)
+
+
+
+
+
+
+
+
+ioChanged
+
+public boolean ioChanged ()
+
+
+
+
+
+
+
+
+getTimeInfo
+
+public jvst.wrapper.valueobjects.VSTTimeInfo getTimeInfo (int filter)
+
+
+
+
+
+
+
+
+sendVstEventsToHost
+
+public boolean sendVstEventsToHost (jvst.wrapper.valueobjects.VSTEvents events)
+
+
+
+
+
+
+
+
+needIdle
+
+public boolean needIdle ()
+
+Deprecated. deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+
+
+
+
+
+
+
+
+updateSampleRate
+
+public double updateSampleRate ()
+
+
+
+
+
+
+
+
+updateBlockSize
+
+public int updateBlockSize ()
+
+
+
+
+
+
+
+
+getAutomationState
+
+public int getAutomationState ()
+
+
+
+
+
+
+
+
+getCurrentProcessLevel
+
+public int getCurrentProcessLevel ()
+
+
+
+
+
+
+
+
+getDirectory
+
+public String getDirectory ()
+
+
+
+
+
+
+
+
+getHostProductString
+
+public String getHostProductString ()
+
+
+
+
+
+
+
+
+getHostVendorVersion
+
+public int getHostVendorVersion ()
+
+
+
+
+
+
+
+
+getHostVendorString
+
+public String getHostVendorString ()
+
+
+
+
+
+
+
+
+getHostLanguage
+
+public int getHostLanguage ()
+
+
+
+
+
+
+
+
+getInputLatency
+
+public int getInputLatency ()
+
+
+
+
+
+
+
+
+getOutputLatency
+
+public int getOutputLatency ()
+
+
+
+
+
+
+
+
+getNumAutomatableParameters
+
+public int getNumAutomatableParameters ()
+
+Deprecated. deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+
+
+
+
+
+
+
+
+getParameterQuantization
+
+public int getParameterQuantization ()
+
+Deprecated. deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+
+
+
+
+
+
+
+
+hasExternalBuffer
+
+public void hasExternalBuffer (boolean state)
+
+Deprecated. deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+
+
+
+
+
+
+
+
+isSynth
+
+public void isSynth (boolean state)
+
+
+
+
+
+
+
+
+noTail
+
+public void noTail (boolean state)
+
+
+
+
+
+
+
+
+setOutputSamplerate
+
+public void setOutputSamplerate (float rate)
+
+Deprecated. deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+
+
+
+
+
+
+
+
+tempoAt
+
+public int tempoAt (int position)
+
+Deprecated. deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+
+
+
+
+
+
+
+
+updateDisplay
+
+public boolean updateDisplay ()
+
+
+
+
+
+
+
+
+wantAsyncOperation
+
+public void wantAsyncOperation (boolean state)
+
+Deprecated. deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+
+
+
+
+
+
+
+
+wantEvents
+
+public void wantEvents (int filter)
+
+Deprecated. deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+
+
+
+
+
+
+
+
+willProcessReplacing
+
+public int willProcessReplacing ()
+
+Deprecated. deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2012. All Rights Reserved.
+
+
diff --git a/docs/javadoc/jvstwrapper/jvst/wrapper/communication/VSTV20ToPlug.html b/docs/javadoc/jvstwrapper/jvst/wrapper/communication/VSTV20ToPlug.html
new file mode 100644
index 0000000..b6c6ce9
--- /dev/null
+++ b/docs/javadoc/jvstwrapper/jvst/wrapper/communication/VSTV20ToPlug.html
@@ -0,0 +1,1470 @@
+
+
+
+
+
+
+
+VSTV20ToPlug (jVSTwRapper 1.0beta API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+jvst.wrapper.communication
+
+Interface VSTV20ToPlug
+
+All Superinterfaces: VSTV10ToPlug
+
+
+All Known Subinterfaces: VSTV21ToPlug , VSTV22ToPlug , VSTV23ToPlug , VSTV24ToPlug
+
+
+All Known Implementing Classes: VSTPluginAdapter
+
+
+
+public interface VSTV20ToPlug extends VSTV10ToPlug
+
+
+
+VST 2.0 Host -> Plug Communication
+
+
+
+
+Author:
+ daniel
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+ int
+canDo (String feature)
+
+
+
+
+
+
+ boolean
+canParameterBeAutomated (int index)
+
+
+
+
+
+
+ boolean
+copyProgram (int destination)
+
+
+ Deprecated. deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+
+
+
+ int
+fxIdle ()
+
+
+ Deprecated. deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+
+
+
+ float
+getChannelParameter (int channel,
+ int index)
+
+
+
+
+
+
+ String
+getEffectName ()
+
+
+
+
+
+
+ String
+getErrorText ()
+
+
+ Deprecated. deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+
+
+
+ int
+getGetTailSize ()
+
+
+
+
+
+
+ jvst.wrapper.valueobjects.VSTPinProperties
+getInputProperties (int index)
+
+
+
+
+
+
+ int
+getNumCategories ()
+
+
+ Deprecated. deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+
+
+
+ jvst.wrapper.valueobjects.VSTPinProperties
+getOutputProperties (int index)
+
+
+
+
+
+
+ jvst.wrapper.valueobjects.VSTParameterProperties
+getParameterProperties (int index)
+
+
+
+
+
+
+ int
+getPlugCategory ()
+
+
+
+
+
+
+ String
+getProductString ()
+
+
+
+
+
+
+ String
+getProgramNameIndexed (int category,
+ int index)
+
+
+
+
+
+
+ boolean
+getSpeakerArrangement (jvst.wrapper.valueobjects.VSTSpeakerArrangement inputs,
+ jvst.wrapper.valueobjects.VSTSpeakerArrangement outputs)
+
+
+
+
+
+
+ String
+getVendorString ()
+
+
+
+
+
+
+ int
+getVendorVersion ()
+
+
+
+
+
+
+ int
+getVstVersion ()
+
+
+
+
+
+
+ void
+inputConnected (int index,
+ boolean state)
+
+
+ Deprecated. deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+
+
+
+ boolean
+keysRequired ()
+
+
+ Deprecated. deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+
+
+
+ void
+outputConnected (int index,
+ boolean state)
+
+
+ Deprecated. deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+
+
+
+ int
+processEvents (jvst.wrapper.valueobjects.VSTEvents e)
+
+
+
+
+
+
+ boolean
+processVariableIo (jvst.wrapper.valueobjects.VSTVariableIO vario)
+
+
+
+
+
+
+ int
+reportCurrentPosition ()
+
+
+ Deprecated. deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+
+
+
+ float[]
+reportDestinationBuffer ()
+
+
+ Deprecated. deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+
+
+
+ void
+setBlockSizeAndSampleRate (int blockSize,
+ float sampleRate)
+
+
+ Deprecated. deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+
+
+
+ boolean
+setBypass (boolean value)
+
+
+
+
+
+
+ boolean
+setSpeakerArrangement (jvst.wrapper.valueobjects.VSTSpeakerArrangement pluginInput,
+ jvst.wrapper.valueobjects.VSTSpeakerArrangement pluginOutput)
+
+
+
+
+
+
+ boolean
+string2Parameter (int index,
+ String value)
+
+
+
+
+
+
+
+
+Methods inherited from interface jvst.wrapper.communication.VSTV10ToPlug
+
+
+close , getChunk , getNumParams , getNumPrograms , getParameter , getParameterDisplay , getParameterLabel , getParameterName , getProgram , getProgramName , getVu , open , process , processReplacing , resume , setBlockSize , setChunk , setParameter , setProgram , setProgramName , setSampleRate , suspend
+
+
+
+
+
+
+
+
+
+
+
+CANDO_HOST_ACCEPT_IO_CHANGES
+
+static final String CANDO_HOST_ACCEPT_IO_CHANGES
+
+
+See Also: Constant Field Values
+
+
+
+
+CANDO_HOST_ASYNC_PROCESSING
+
+static final String CANDO_HOST_ASYNC_PROCESSING
+
+
+See Also: Constant Field Values
+
+
+
+
+CANDO_HOST_CLOSE_FILE_SELECTOR
+
+static final String CANDO_HOST_CLOSE_FILE_SELECTOR
+
+
+See Also: Constant Field Values
+
+
+
+
+CANDO_HOST_EDIT_FILE
+
+static final String CANDO_HOST_EDIT_FILE
+
+
+See Also: Constant Field Values
+
+
+
+
+CANDO_HOST_OFFLINE
+
+static final String CANDO_HOST_OFFLINE
+
+
+See Also: Constant Field Values
+
+
+
+
+CANDO_HOST_OPEN_FILE_SELECTOR
+
+static final String CANDO_HOST_OPEN_FILE_SELECTOR
+
+
+See Also: Constant Field Values
+
+
+
+
+CANDO_HOST_RECEIVE_VST_Events
+
+static final String CANDO_HOST_RECEIVE_VST_Events
+
+
+See Also: Constant Field Values
+
+
+
+
+CANDO_HOST_RECEIVE_VST_MIDI_EVENT
+
+static final String CANDO_HOST_RECEIVE_VST_MIDI_EVENT
+
+
+See Also: Constant Field Values
+
+
+
+
+CANDO_HOST_RECEIVE_VST_TIME_INFO
+
+static final String CANDO_HOST_RECEIVE_VST_TIME_INFO
+
+
+See Also: Constant Field Values
+
+
+
+
+CANDO_HOST_REPORT_CONNECTION_CHANGES
+
+static final String CANDO_HOST_REPORT_CONNECTION_CHANGES
+
+
+See Also: Constant Field Values
+
+
+
+
+CANDO_HOST_SEND_VST_EVENTS
+
+static final String CANDO_HOST_SEND_VST_EVENTS
+
+
+See Also: Constant Field Values
+
+
+
+
+CANDO_HOST_SEND_VST_MIDI_EVENT
+
+static final String CANDO_HOST_SEND_VST_MIDI_EVENT
+
+
+See Also: Constant Field Values
+
+
+
+
+CANDO_HOST_SEND_VST_TIME_INFO
+
+static final String CANDO_HOST_SEND_VST_TIME_INFO
+
+
+See Also: Constant Field Values
+
+
+
+
+CANDO_HOST_SIZE_WINDOW
+
+static final String CANDO_HOST_SIZE_WINDOW
+
+
+See Also: Constant Field Values
+
+
+
+
+CANDO_HOST_START_STOP_PROCESS
+
+static final String CANDO_HOST_START_STOP_PROCESS
+
+
+See Also: Constant Field Values
+
+
+
+
+CANDO_HOST_SUPPLY_IDLE
+
+static final String CANDO_HOST_SUPPLY_IDLE
+
+
+See Also: Constant Field Values
+
+
+
+
+CANDO_HOST_SUPPORT_SHELL
+
+static final String CANDO_HOST_SUPPORT_SHELL
+
+
+See Also: Constant Field Values
+
+
+
+
+PLUG_CATEG_ANALYSIS
+
+static final int PLUG_CATEG_ANALYSIS
+
+
+See Also: Constant Field Values
+
+
+
+
+PLUG_CATEG_EFFECT
+
+static final int PLUG_CATEG_EFFECT
+
+
+See Also: Constant Field Values
+
+
+
+
+PLUG_CATEG_GENERATOR
+
+static final int PLUG_CATEG_GENERATOR
+
+
+See Also: Constant Field Values
+
+
+
+
+PLUG_CATEG_MASTERING
+
+static final int PLUG_CATEG_MASTERING
+
+
+See Also: Constant Field Values
+
+
+
+
+PLUG_CATEG_OFFLINE_PROCESS
+
+static final int PLUG_CATEG_OFFLINE_PROCESS
+
+
+See Also: Constant Field Values
+
+
+
+
+PLUG_CATEG_RESTORATION
+
+static final int PLUG_CATEG_RESTORATION
+
+
+See Also: Constant Field Values
+
+
+
+
+PLUG_CATEG_ROOM_FX
+
+static final int PLUG_CATEG_ROOM_FX
+
+
+See Also: Constant Field Values
+
+
+
+
+PLUG_CATEG_SHELL
+
+static final int PLUG_CATEG_SHELL
+
+
+See Also: Constant Field Values
+
+
+
+
+PLUG_CATEG_SPACIALIZER
+
+static final int PLUG_CATEG_SPACIALIZER
+
+
+See Also: Constant Field Values
+
+
+
+
+PLUG_CATEG_SURROUND_FX
+
+static final int PLUG_CATEG_SURROUND_FX
+
+
+See Also: Constant Field Values
+
+
+
+
+PLUG_CATEG_SYNTH
+
+static final int PLUG_CATEG_SYNTH
+
+
+See Also: Constant Field Values
+
+
+
+
+PLUG_CATEG_UNKNOWN
+
+static final int PLUG_CATEG_UNKNOWN
+
+
+See Also: Constant Field Values
+
+
+
+
+
+
+
+
+canDo
+
+int canDo (String feature)
+
+
+
+
+
+
+
+
+
+
+
+setBypass
+
+boolean setBypass (boolean value)
+
+
+
+
+
+
+
+
+
+
+
+string2Parameter
+
+boolean string2Parameter (int index,
+ String value)
+
+
+
+
+
+
+
+
+
+
+
+getProgramNameIndexed
+
+String getProgramNameIndexed (int category,
+ int index)
+
+
+
+
+
+
+
+
+
+
+
+getProductString
+
+String getProductString ()
+
+
+
+
+
+
+
+
+
+
+
+getVendorString
+
+String getVendorString ()
+
+
+
+
+
+
+
+
+
+
+
+getPlugCategory
+
+int getPlugCategory ()
+
+
+
+
+
+
+
+
+
+
+
+getEffectName
+
+String getEffectName ()
+
+
+
+
+
+
+
+
+
+
+
+getVendorVersion
+
+int getVendorVersion ()
+
+
+
+
+
+
+
+
+
+
+
+canParameterBeAutomated
+
+boolean canParameterBeAutomated (int index)
+
+
+
+
+
+
+
+
+
+
+
+copyProgram
+
+boolean copyProgram (int destination)
+
+Deprecated. deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+
+
+
+
+
+
+
+
+
+
+
+fxIdle
+
+int fxIdle ()
+
+Deprecated. deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+
+
+
+
+
+
+
+
+
+
+
+getChannelParameter
+
+float getChannelParameter (int channel,
+ int index)
+
+
+
+
+
+
+
+
+
+
+
+getNumCategories
+
+int getNumCategories ()
+
+Deprecated. deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+
+
+
+
+
+
+
+
+
+
+
+getInputProperties
+
+jvst.wrapper.valueobjects.VSTPinProperties getInputProperties (int index)
+
+
+
+
+
+
+
+
+
+
+
+getOutputProperties
+
+jvst.wrapper.valueobjects.VSTPinProperties getOutputProperties (int index)
+
+
+
+
+
+
+
+
+
+
+
+getErrorText
+
+String getErrorText ()
+
+Deprecated. deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+
+
+
+
+
+
+
+
+
+
+
+getGetTailSize
+
+int getGetTailSize ()
+
+
+
+
+
+
+
+
+
+
+
+getParameterProperties
+
+jvst.wrapper.valueobjects.VSTParameterProperties getParameterProperties (int index)
+
+
+
+
+
+
+
+
+
+
+
+getVstVersion
+
+int getVstVersion ()
+
+
+
+
+
+
+
+
+
+
+
+inputConnected
+
+void inputConnected (int index,
+ boolean state)
+
+Deprecated. deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+
+
+
+
+
+
+
+
+
+
+
+outputConnected
+
+void outputConnected (int index,
+ boolean state)
+
+Deprecated. deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+
+
+
+
+
+
+
+
+
+
+
+keysRequired
+
+boolean keysRequired ()
+
+Deprecated. deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+
+
+
+
+
+
+
+
+
+
+
+processEvents
+
+int processEvents (jvst.wrapper.valueobjects.VSTEvents e)
+
+
+
+
+
+
+
+
+
+
+
+processVariableIo
+
+boolean processVariableIo (jvst.wrapper.valueobjects.VSTVariableIO vario)
+
+
+
+
+
+
+
+
+
+
+
+reportCurrentPosition
+
+int reportCurrentPosition ()
+
+Deprecated. deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+
+
+
+
+
+
+
+
+
+
+
+reportDestinationBuffer
+
+float[] reportDestinationBuffer ()
+
+Deprecated. deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+
+
+
+
+
+
+
+
+
+
+
+setBlockSizeAndSampleRate
+
+void setBlockSizeAndSampleRate (int blockSize,
+ float sampleRate)
+
+Deprecated. deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+
+
+
+
+
+
+
+
+
+
+
+setSpeakerArrangement
+
+boolean setSpeakerArrangement (jvst.wrapper.valueobjects.VSTSpeakerArrangement pluginInput,
+ jvst.wrapper.valueobjects.VSTSpeakerArrangement pluginOutput)
+
+
+
+
+
+
+
+
+
+
+
+getSpeakerArrangement
+
+boolean getSpeakerArrangement (jvst.wrapper.valueobjects.VSTSpeakerArrangement inputs,
+ jvst.wrapper.valueobjects.VSTSpeakerArrangement outputs)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2012. All Rights Reserved.
+
+
diff --git a/docs/javadoc/jvstwrapper/jvst/wrapper/communication/VSTV21ToHost.html b/docs/javadoc/jvstwrapper/jvst/wrapper/communication/VSTV21ToHost.html
new file mode 100644
index 0000000..7714213
--- /dev/null
+++ b/docs/javadoc/jvstwrapper/jvst/wrapper/communication/VSTV21ToHost.html
@@ -0,0 +1,313 @@
+
+
+
+
+
+
+
+VSTV21ToHost (jVSTwRapper 1.0beta API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+jvst.wrapper.communication
+
+Class VSTV21ToHost
+
+java.lang.Object
+ jvst.wrapper.communication.VSTV10ToHost
+ jvst.wrapper.communication.VSTV20ToHost
+ jvst.wrapper.communication.VSTV21ToHost
+
+
+Direct Known Subclasses: VSTV22ToHost
+
+
+
+public abstract class VSTV21ToHost extends VSTV20ToHost
+
+
+
+
+
+
+
+
+
+
+
+
+
+Fields inherited from class jvst.wrapper.communication.VSTV20ToHost
+
+
+CANDO_DONT_KNOW , CANDO_NO , CANDO_PLUG_1_IN_1_OUT , CANDO_PLUG_1_IN_2_OUT , CANDO_PLUG_2_IN_1_OUT , CANDO_PLUG_2_IN_2_OUT , CANDO_PLUG_2_IN_4_OUT , CANDO_PLUG_4_IN_2_OUT , CANDO_PLUG_4_IN_4_OUT , CANDO_PLUG_4_IN_8_OUT , CANDO_PLUG_8_IN_4_OUT , CANDO_PLUG_8_IN_8_OUT , CANDO_PLUG_BYPASS , CANDO_PLUG_CONFORMS_TO_WINDOW_RULES , CANDO_PLUG_METAPASS , CANDO_PLUG_MIDI_PROGRAM_NAMES , CANDO_PLUG_MIX_DRY_WET , CANDO_PLUG_MULTIPASS , CANDO_PLUG_NO_REAL_TIME , CANDO_PLUG_OFFLINE , CANDO_PLUG_PLUG_AS_CHANNEL_INSERT , CANDO_PLUG_PLUG_AS_SEND , CANDO_PLUG_RECEIVE_VST_EVENTS , CANDO_PLUG_RECEIVE_VST_MIDI_EVENT , CANDO_PLUG_RECEIVE_VST_TIME_INFO , CANDO_PLUG_REVEIVE_VST_MIDI_EVENT , CANDO_PLUG_SEND_VST_EVENTS , CANDO_PLUG_SEND_VST_MIDI_EVENT , CANDO_PLUG_SEND_VST_TIME_INFO , CANDO_YES , VST_LANG_ENGLISH , VST_LANG_FRENCH , VST_LANG_GERMAN , VST_LANG_ITALIAN , VST_LANG_JAPANESE , VST_LANG_SPANISH
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+ boolean
+beginEdit (int index)
+
+
+
+
+
+
+ boolean
+endEdit (int index)
+
+
+
+
+
+
+
+
+Methods inherited from class jvst.wrapper.communication.VSTV20ToHost
+
+
+canHostDo , getAutomationState , getCurrentProcessLevel , getDirectory , getHostLanguage , getHostProductString , getHostVendorString , getHostVendorVersion , getInputLatency , getNumAutomatableParameters , getOutputLatency , getParameterQuantization , getTimeInfo , hasExternalBuffer , ioChanged , isSynth , needIdle , noTail , sendVstEventsToHost , setOutputSamplerate , sizeWindow , tempoAt , updateBlockSize , updateDisplay , updateSampleRate , wantAsyncOperation , wantEvents , willProcessReplacing
+
+
+
+
+
+Methods inherited from class jvst.wrapper.communication.VSTV10ToHost
+
+
+canMono , canProcessReplacing , getBlockSize , getCurrentUniqueId , getMasterVersion , getSampleRate , hasClip , hasVu , isInputConnected , isOutputConnected , masterIdle , programsAreChunks , setInitialDelay , setNumInputs , setNumOutputs , setOfflineQualities , setParameterAutomated , setRealtimeQualities , setUniqueID
+
+
+
+
+
+Methods inherited from class java.lang.Object
+
+
+clone , equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait
+
+
+
+
+
+
+
+
+
+
+
+Constructor Detail
+
+
+
+
+VSTV21ToHost
+
+public VSTV21ToHost ()
+
+
+
+
+
+
+
+
+
+beginEdit
+
+public boolean beginEdit (int index)
+
+
+
+
+
+
+
+
+endEdit
+
+public boolean endEdit (int index)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2012. All Rights Reserved.
+
+
diff --git a/docs/javadoc/jvstwrapper/jvst/wrapper/communication/VSTV21ToPlug.html b/docs/javadoc/jvstwrapper/jvst/wrapper/communication/VSTV21ToPlug.html
new file mode 100644
index 0000000..582b835
--- /dev/null
+++ b/docs/javadoc/jvstwrapper/jvst/wrapper/communication/VSTV21ToPlug.html
@@ -0,0 +1,395 @@
+
+
+
+
+
+
+
+VSTV21ToPlug (jVSTwRapper 1.0beta API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+jvst.wrapper.communication
+
+Interface VSTV21ToPlug
+
+All Superinterfaces: VSTV10ToPlug , VSTV20ToPlug
+
+
+All Known Subinterfaces: VSTV22ToPlug , VSTV23ToPlug , VSTV24ToPlug
+
+
+All Known Implementing Classes: VSTPluginAdapter
+
+
+
+public interface VSTV21ToPlug extends VSTV20ToPlug
+
+
+
+
+
+
+
+
+
+
+
+
+
+Fields inherited from interface jvst.wrapper.communication.VSTV20ToPlug
+
+
+CANDO_HOST_ACCEPT_IO_CHANGES , CANDO_HOST_ASYNC_PROCESSING , CANDO_HOST_CLOSE_FILE_SELECTOR , CANDO_HOST_EDIT_FILE , CANDO_HOST_OFFLINE , CANDO_HOST_OPEN_FILE_SELECTOR , CANDO_HOST_RECEIVE_VST_Events , CANDO_HOST_RECEIVE_VST_MIDI_EVENT , CANDO_HOST_RECEIVE_VST_TIME_INFO , CANDO_HOST_REPORT_CONNECTION_CHANGES , CANDO_HOST_SEND_VST_EVENTS , CANDO_HOST_SEND_VST_MIDI_EVENT , CANDO_HOST_SEND_VST_TIME_INFO , CANDO_HOST_SIZE_WINDOW , CANDO_HOST_START_STOP_PROCESS , CANDO_HOST_SUPPLY_IDLE , CANDO_HOST_SUPPORT_SHELL , PLUG_CATEG_ANALYSIS , PLUG_CATEG_EFFECT , PLUG_CATEG_GENERATOR , PLUG_CATEG_MASTERING , PLUG_CATEG_OFFLINE_PROCESS , PLUG_CATEG_RESTORATION , PLUG_CATEG_ROOM_FX , PLUG_CATEG_SHELL , PLUG_CATEG_SPACIALIZER , PLUG_CATEG_SURROUND_FX , PLUG_CATEG_SYNTH , PLUG_CATEG_UNKNOWN
+
+
+
+
+
+
+
+
+
+
+Methods inherited from interface jvst.wrapper.communication.VSTV20ToPlug
+
+
+canDo , canParameterBeAutomated , copyProgram , fxIdle , getChannelParameter , getEffectName , getErrorText , getGetTailSize , getInputProperties , getNumCategories , getOutputProperties , getParameterProperties , getPlugCategory , getProductString , getProgramNameIndexed , getSpeakerArrangement , getVendorString , getVendorVersion , getVstVersion , inputConnected , keysRequired , outputConnected , processEvents , processVariableIo , reportCurrentPosition , reportDestinationBuffer , setBlockSizeAndSampleRate , setBypass , setSpeakerArrangement , string2Parameter
+
+
+
+
+
+Methods inherited from interface jvst.wrapper.communication.VSTV10ToPlug
+
+
+close , getChunk , getNumParams , getNumPrograms , getParameter , getParameterDisplay , getParameterLabel , getParameterName , getProgram , getProgramName , getVu , open , process , processReplacing , resume , setBlockSize , setChunk , setParameter , setProgram , setProgramName , setSampleRate , suspend
+
+
+
+
+
+
+
+
+
+
+
+getMidiProgramName
+
+int getMidiProgramName (int channel,
+ jvst.wrapper.valueobjects.MidiProgramName midiProgramName)
+
+
+
+
+
+
+
+
+
+
+
+getCurrentMidiProgram
+
+int getCurrentMidiProgram (int channel,
+ jvst.wrapper.valueobjects.MidiProgramName currentProgram)
+
+
+
+
+
+
+
+
+
+
+
+getMidiProgramCategory
+
+int getMidiProgramCategory (int channel,
+ jvst.wrapper.valueobjects.MidiProgramCategory category)
+
+
+
+
+
+
+
+
+
+
+
+hasMidiProgramsChanged
+
+boolean hasMidiProgramsChanged (int channel)
+
+
+
+
+
+
+
+
+
+
+
+getMidiKeyName
+
+boolean getMidiKeyName (int channel,
+ jvst.wrapper.valueobjects.MidiKeyName keyName)
+
+
+
+
+
+
+
+
+
+
+
+beginSetProgram
+
+boolean beginSetProgram ()
+
+
+
+
+
+
+
+
+
+
+
+endSetProgram
+
+boolean endSetProgram ()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2012. All Rights Reserved.
+
+
diff --git a/docs/javadoc/jvstwrapper/jvst/wrapper/communication/VSTV22ToHost.html b/docs/javadoc/jvstwrapper/jvst/wrapper/communication/VSTV22ToHost.html
new file mode 100644
index 0000000..b8c69fd
--- /dev/null
+++ b/docs/javadoc/jvstwrapper/jvst/wrapper/communication/VSTV22ToHost.html
@@ -0,0 +1,276 @@
+
+
+
+
+
+
+
+VSTV22ToHost (jVSTwRapper 1.0beta API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+jvst.wrapper.communication
+
+Class VSTV22ToHost
+
+java.lang.Object
+ jvst.wrapper.communication.VSTV10ToHost
+ jvst.wrapper.communication.VSTV20ToHost
+ jvst.wrapper.communication.VSTV21ToHost
+ jvst.wrapper.communication.VSTV22ToHost
+
+
+Direct Known Subclasses: VSTV23ToHost
+
+
+
+public abstract class VSTV22ToHost extends VSTV21ToHost
+
+
+
+
+
+
+
+
+
+
+
+
+
+Fields inherited from class jvst.wrapper.communication.VSTV20ToHost
+
+
+CANDO_DONT_KNOW , CANDO_NO , CANDO_PLUG_1_IN_1_OUT , CANDO_PLUG_1_IN_2_OUT , CANDO_PLUG_2_IN_1_OUT , CANDO_PLUG_2_IN_2_OUT , CANDO_PLUG_2_IN_4_OUT , CANDO_PLUG_4_IN_2_OUT , CANDO_PLUG_4_IN_4_OUT , CANDO_PLUG_4_IN_8_OUT , CANDO_PLUG_8_IN_4_OUT , CANDO_PLUG_8_IN_8_OUT , CANDO_PLUG_BYPASS , CANDO_PLUG_CONFORMS_TO_WINDOW_RULES , CANDO_PLUG_METAPASS , CANDO_PLUG_MIDI_PROGRAM_NAMES , CANDO_PLUG_MIX_DRY_WET , CANDO_PLUG_MULTIPASS , CANDO_PLUG_NO_REAL_TIME , CANDO_PLUG_OFFLINE , CANDO_PLUG_PLUG_AS_CHANNEL_INSERT , CANDO_PLUG_PLUG_AS_SEND , CANDO_PLUG_RECEIVE_VST_EVENTS , CANDO_PLUG_RECEIVE_VST_MIDI_EVENT , CANDO_PLUG_RECEIVE_VST_TIME_INFO , CANDO_PLUG_REVEIVE_VST_MIDI_EVENT , CANDO_PLUG_SEND_VST_EVENTS , CANDO_PLUG_SEND_VST_MIDI_EVENT , CANDO_PLUG_SEND_VST_TIME_INFO , CANDO_YES , VST_LANG_ENGLISH , VST_LANG_FRENCH , VST_LANG_GERMAN , VST_LANG_ITALIAN , VST_LANG_JAPANESE , VST_LANG_SPANISH
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Methods inherited from class jvst.wrapper.communication.VSTV20ToHost
+
+
+canHostDo , getAutomationState , getCurrentProcessLevel , getDirectory , getHostLanguage , getHostProductString , getHostVendorString , getHostVendorVersion , getInputLatency , getNumAutomatableParameters , getOutputLatency , getParameterQuantization , getTimeInfo , hasExternalBuffer , ioChanged , isSynth , needIdle , noTail , sendVstEventsToHost , setOutputSamplerate , sizeWindow , tempoAt , updateBlockSize , updateDisplay , updateSampleRate , wantAsyncOperation , wantEvents , willProcessReplacing
+
+
+
+
+
+Methods inherited from class jvst.wrapper.communication.VSTV10ToHost
+
+
+canMono , canProcessReplacing , getBlockSize , getCurrentUniqueId , getMasterVersion , getSampleRate , hasClip , hasVu , isInputConnected , isOutputConnected , masterIdle , programsAreChunks , setInitialDelay , setNumInputs , setNumOutputs , setOfflineQualities , setParameterAutomated , setRealtimeQualities , setUniqueID
+
+
+
+
+
+Methods inherited from class java.lang.Object
+
+
+clone , equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait
+
+
+
+
+
+
+
+
+
+
+
+Constructor Detail
+
+
+
+
+VSTV22ToHost
+
+public VSTV22ToHost ()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2012. All Rights Reserved.
+
+
diff --git a/docs/javadoc/jvstwrapper/jvst/wrapper/communication/VSTV22ToPlug.html b/docs/javadoc/jvstwrapper/jvst/wrapper/communication/VSTV22ToPlug.html
new file mode 100644
index 0000000..c6cdd39
--- /dev/null
+++ b/docs/javadoc/jvstwrapper/jvst/wrapper/communication/VSTV22ToPlug.html
@@ -0,0 +1,233 @@
+
+
+
+
+
+
+
+VSTV22ToPlug (jVSTwRapper 1.0beta API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+jvst.wrapper.communication
+
+Interface VSTV22ToPlug
+
+All Superinterfaces: VSTV10ToPlug , VSTV20ToPlug , VSTV21ToPlug
+
+
+All Known Subinterfaces: VSTV23ToPlug , VSTV24ToPlug
+
+
+All Known Implementing Classes: VSTPluginAdapter
+
+
+
+public interface VSTV22ToPlug extends VSTV21ToPlug
+
+
+
+
+
+
+
+
+
+
+
+
+
+Fields inherited from interface jvst.wrapper.communication.VSTV20ToPlug
+
+
+CANDO_HOST_ACCEPT_IO_CHANGES , CANDO_HOST_ASYNC_PROCESSING , CANDO_HOST_CLOSE_FILE_SELECTOR , CANDO_HOST_EDIT_FILE , CANDO_HOST_OFFLINE , CANDO_HOST_OPEN_FILE_SELECTOR , CANDO_HOST_RECEIVE_VST_Events , CANDO_HOST_RECEIVE_VST_MIDI_EVENT , CANDO_HOST_RECEIVE_VST_TIME_INFO , CANDO_HOST_REPORT_CONNECTION_CHANGES , CANDO_HOST_SEND_VST_EVENTS , CANDO_HOST_SEND_VST_MIDI_EVENT , CANDO_HOST_SEND_VST_TIME_INFO , CANDO_HOST_SIZE_WINDOW , CANDO_HOST_START_STOP_PROCESS , CANDO_HOST_SUPPLY_IDLE , CANDO_HOST_SUPPORT_SHELL , PLUG_CATEG_ANALYSIS , PLUG_CATEG_EFFECT , PLUG_CATEG_GENERATOR , PLUG_CATEG_MASTERING , PLUG_CATEG_OFFLINE_PROCESS , PLUG_CATEG_RESTORATION , PLUG_CATEG_ROOM_FX , PLUG_CATEG_SHELL , PLUG_CATEG_SPACIALIZER , PLUG_CATEG_SURROUND_FX , PLUG_CATEG_SYNTH , PLUG_CATEG_UNKNOWN
+
+
+
+
+
+
+
+
+
+
+
+
+Methods inherited from interface jvst.wrapper.communication.VSTV20ToPlug
+
+
+canDo , canParameterBeAutomated , copyProgram , fxIdle , getChannelParameter , getEffectName , getErrorText , getGetTailSize , getInputProperties , getNumCategories , getOutputProperties , getParameterProperties , getPlugCategory , getProductString , getProgramNameIndexed , getSpeakerArrangement , getVendorString , getVendorVersion , getVstVersion , inputConnected , keysRequired , outputConnected , processEvents , processVariableIo , reportCurrentPosition , reportDestinationBuffer , setBlockSizeAndSampleRate , setBypass , setSpeakerArrangement , string2Parameter
+
+
+
+
+
+Methods inherited from interface jvst.wrapper.communication.VSTV10ToPlug
+
+
+close , getChunk , getNumParams , getNumPrograms , getParameter , getParameterDisplay , getParameterLabel , getParameterName , getProgram , getProgramName , getVu , open , process , processReplacing , resume , setBlockSize , setChunk , setParameter , setProgram , setProgramName , setSampleRate , suspend
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2012. All Rights Reserved.
+
+
diff --git a/docs/javadoc/jvstwrapper/jvst/wrapper/communication/VSTV23ToHost.html b/docs/javadoc/jvstwrapper/jvst/wrapper/communication/VSTV23ToHost.html
new file mode 100644
index 0000000..e7b5cab
--- /dev/null
+++ b/docs/javadoc/jvstwrapper/jvst/wrapper/communication/VSTV23ToHost.html
@@ -0,0 +1,387 @@
+
+
+
+
+
+
+
+VSTV23ToHost (jVSTwRapper 1.0beta API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+jvst.wrapper.communication
+
+Class VSTV23ToHost
+
+java.lang.Object
+ jvst.wrapper.communication.VSTV10ToHost
+ jvst.wrapper.communication.VSTV20ToHost
+ jvst.wrapper.communication.VSTV21ToHost
+ jvst.wrapper.communication.VSTV22ToHost
+ jvst.wrapper.communication.VSTV23ToHost
+
+
+Direct Known Subclasses: VSTV24ToHost
+
+
+
+public abstract class VSTV23ToHost extends VSTV22ToHost
+
+
+
+
+
+
+
+
+
+
+
+
+
+Fields inherited from class jvst.wrapper.communication.VSTV20ToHost
+
+
+CANDO_DONT_KNOW , CANDO_NO , CANDO_PLUG_1_IN_1_OUT , CANDO_PLUG_1_IN_2_OUT , CANDO_PLUG_2_IN_1_OUT , CANDO_PLUG_2_IN_2_OUT , CANDO_PLUG_2_IN_4_OUT , CANDO_PLUG_4_IN_2_OUT , CANDO_PLUG_4_IN_4_OUT , CANDO_PLUG_4_IN_8_OUT , CANDO_PLUG_8_IN_4_OUT , CANDO_PLUG_8_IN_8_OUT , CANDO_PLUG_BYPASS , CANDO_PLUG_CONFORMS_TO_WINDOW_RULES , CANDO_PLUG_METAPASS , CANDO_PLUG_MIDI_PROGRAM_NAMES , CANDO_PLUG_MIX_DRY_WET , CANDO_PLUG_MULTIPASS , CANDO_PLUG_NO_REAL_TIME , CANDO_PLUG_OFFLINE , CANDO_PLUG_PLUG_AS_CHANNEL_INSERT , CANDO_PLUG_PLUG_AS_SEND , CANDO_PLUG_RECEIVE_VST_EVENTS , CANDO_PLUG_RECEIVE_VST_MIDI_EVENT , CANDO_PLUG_RECEIVE_VST_TIME_INFO , CANDO_PLUG_REVEIVE_VST_MIDI_EVENT , CANDO_PLUG_SEND_VST_EVENTS , CANDO_PLUG_SEND_VST_MIDI_EVENT , CANDO_PLUG_SEND_VST_TIME_INFO , CANDO_YES , VST_LANG_ENGLISH , VST_LANG_FRENCH , VST_LANG_GERMAN , VST_LANG_ITALIAN , VST_LANG_JAPANESE , VST_LANG_SPANISH
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+ int
+beginLoadBank (jvst.wrapper.valueobjects.VSTPatchChunkInfo ptr)
+
+
+
+
+
+
+ int
+beginLoadProgram (jvst.wrapper.valueobjects.VSTPatchChunkInfo ptr)
+
+
+
+
+
+
+ boolean
+copySpeaker (jvst.wrapper.valueobjects.VSTSpeakerProperties to,
+ jvst.wrapper.valueobjects.VSTSpeakerProperties from)
+
+
+
+
+
+
+ boolean
+matchArrangement (jvst.wrapper.valueobjects.VSTSpeakerArrangement to,
+ jvst.wrapper.valueobjects.VSTSpeakerArrangement from)
+
+
+
+
+
+
+ boolean
+setPanLaw (int type,
+ float val)
+
+
+
+
+
+
+
+
+
+
+Methods inherited from class jvst.wrapper.communication.VSTV20ToHost
+
+
+canHostDo , getAutomationState , getCurrentProcessLevel , getDirectory , getHostLanguage , getHostProductString , getHostVendorString , getHostVendorVersion , getInputLatency , getNumAutomatableParameters , getOutputLatency , getParameterQuantization , getTimeInfo , hasExternalBuffer , ioChanged , isSynth , needIdle , noTail , sendVstEventsToHost , setOutputSamplerate , sizeWindow , tempoAt , updateBlockSize , updateDisplay , updateSampleRate , wantAsyncOperation , wantEvents , willProcessReplacing
+
+
+
+
+
+Methods inherited from class jvst.wrapper.communication.VSTV10ToHost
+
+
+canMono , canProcessReplacing , getBlockSize , getCurrentUniqueId , getMasterVersion , getSampleRate , hasClip , hasVu , isInputConnected , isOutputConnected , masterIdle , programsAreChunks , setInitialDelay , setNumInputs , setNumOutputs , setOfflineQualities , setParameterAutomated , setRealtimeQualities , setUniqueID
+
+
+
+
+
+Methods inherited from class java.lang.Object
+
+
+clone , equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait
+
+
+
+
+
+
+
+
+
+
+
+Constructor Detail
+
+
+
+
+VSTV23ToHost
+
+public VSTV23ToHost ()
+
+
+
+
+
+
+
+
+
+setPanLaw
+
+public boolean setPanLaw (int type,
+ float val)
+
+
+
+
+
+
+
+
+beginLoadBank
+
+public int beginLoadBank (jvst.wrapper.valueobjects.VSTPatchChunkInfo ptr)
+
+
+
+
+
+
+
+
+beginLoadProgram
+
+public int beginLoadProgram (jvst.wrapper.valueobjects.VSTPatchChunkInfo ptr)
+
+
+
+
+
+
+
+
+copySpeaker
+
+public boolean copySpeaker (jvst.wrapper.valueobjects.VSTSpeakerProperties to,
+ jvst.wrapper.valueobjects.VSTSpeakerProperties from)
+
+
+
+
+
+
+
+
+matchArrangement
+
+public boolean matchArrangement (jvst.wrapper.valueobjects.VSTSpeakerArrangement to,
+ jvst.wrapper.valueobjects.VSTSpeakerArrangement from)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2012. All Rights Reserved.
+
+
diff --git a/docs/javadoc/jvstwrapper/jvst/wrapper/communication/VSTV23ToPlug.html b/docs/javadoc/jvstwrapper/jvst/wrapper/communication/VSTV23ToPlug.html
new file mode 100644
index 0000000..ce6b741
--- /dev/null
+++ b/docs/javadoc/jvstwrapper/jvst/wrapper/communication/VSTV23ToPlug.html
@@ -0,0 +1,330 @@
+
+
+
+
+
+
+
+VSTV23ToPlug (jVSTwRapper 1.0beta API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+jvst.wrapper.communication
+
+Interface VSTV23ToPlug
+
+All Superinterfaces: VSTV10ToPlug , VSTV20ToPlug , VSTV21ToPlug , VSTV22ToPlug
+
+
+All Known Subinterfaces: VSTV24ToPlug
+
+
+All Known Implementing Classes: VSTPluginAdapter
+
+
+
+public interface VSTV23ToPlug extends VSTV22ToPlug
+
+
+
+
+
+
+
+
+
+
+
+
+
+Fields inherited from interface jvst.wrapper.communication.VSTV20ToPlug
+
+
+CANDO_HOST_ACCEPT_IO_CHANGES , CANDO_HOST_ASYNC_PROCESSING , CANDO_HOST_CLOSE_FILE_SELECTOR , CANDO_HOST_EDIT_FILE , CANDO_HOST_OFFLINE , CANDO_HOST_OPEN_FILE_SELECTOR , CANDO_HOST_RECEIVE_VST_Events , CANDO_HOST_RECEIVE_VST_MIDI_EVENT , CANDO_HOST_RECEIVE_VST_TIME_INFO , CANDO_HOST_REPORT_CONNECTION_CHANGES , CANDO_HOST_SEND_VST_EVENTS , CANDO_HOST_SEND_VST_MIDI_EVENT , CANDO_HOST_SEND_VST_TIME_INFO , CANDO_HOST_SIZE_WINDOW , CANDO_HOST_START_STOP_PROCESS , CANDO_HOST_SUPPLY_IDLE , CANDO_HOST_SUPPORT_SHELL , PLUG_CATEG_ANALYSIS , PLUG_CATEG_EFFECT , PLUG_CATEG_GENERATOR , PLUG_CATEG_MASTERING , PLUG_CATEG_OFFLINE_PROCESS , PLUG_CATEG_RESTORATION , PLUG_CATEG_ROOM_FX , PLUG_CATEG_SHELL , PLUG_CATEG_SPACIALIZER , PLUG_CATEG_SURROUND_FX , PLUG_CATEG_SYNTH , PLUG_CATEG_UNKNOWN
+
+
+
+
+
+
+
+
+
+
+
+
+Methods inherited from interface jvst.wrapper.communication.VSTV20ToPlug
+
+
+canDo , canParameterBeAutomated , copyProgram , fxIdle , getChannelParameter , getEffectName , getErrorText , getGetTailSize , getInputProperties , getNumCategories , getOutputProperties , getParameterProperties , getPlugCategory , getProductString , getProgramNameIndexed , getSpeakerArrangement , getVendorString , getVendorVersion , getVstVersion , inputConnected , keysRequired , outputConnected , processEvents , processVariableIo , reportCurrentPosition , reportDestinationBuffer , setBlockSizeAndSampleRate , setBypass , setSpeakerArrangement , string2Parameter
+
+
+
+
+
+Methods inherited from interface jvst.wrapper.communication.VSTV10ToPlug
+
+
+close , getChunk , getNumParams , getNumPrograms , getParameter , getParameterDisplay , getParameterLabel , getParameterName , getProgram , getProgramName , getVu , open , process , processReplacing , resume , setBlockSize , setChunk , setParameter , setProgram , setProgramName , setSampleRate , suspend
+
+
+
+
+
+
+
+
+
+
+
+setTotalSampleToProcess
+
+int setTotalSampleToProcess (int value)
+
+
+
+
+
+
+
+
+
+
+
+getNextShellPlugin
+
+int getNextShellPlugin (String name)
+
+
+
+
+
+
+
+
+
+
+
+startProcess
+
+int startProcess ()
+
+
+
+
+
+
+
+
+
+
+
+stopProcess
+
+int stopProcess ()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2012. All Rights Reserved.
+
+
diff --git a/docs/javadoc/jvstwrapper/jvst/wrapper/communication/VSTV24ToHost.html b/docs/javadoc/jvstwrapper/jvst/wrapper/communication/VSTV24ToHost.html
new file mode 100644
index 0000000..fafab64
--- /dev/null
+++ b/docs/javadoc/jvstwrapper/jvst/wrapper/communication/VSTV24ToHost.html
@@ -0,0 +1,315 @@
+
+
+
+
+
+
+
+VSTV24ToHost (jVSTwRapper 1.0beta API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+jvst.wrapper.communication
+
+Class VSTV24ToHost
+
+java.lang.Object
+ jvst.wrapper.communication.VSTV10ToHost
+ jvst.wrapper.communication.VSTV20ToHost
+ jvst.wrapper.communication.VSTV21ToHost
+ jvst.wrapper.communication.VSTV22ToHost
+ jvst.wrapper.communication.VSTV23ToHost
+ jvst.wrapper.communication.VSTV24ToHost
+
+
+Direct Known Subclasses: VSTPluginAdapter
+
+
+
+public abstract class VSTV24ToHost extends VSTV23ToHost
+
+
+
+
+
+
+
+
+
+
+
+
+
+Fields inherited from class jvst.wrapper.communication.VSTV20ToHost
+
+
+CANDO_DONT_KNOW , CANDO_NO , CANDO_PLUG_1_IN_1_OUT , CANDO_PLUG_1_IN_2_OUT , CANDO_PLUG_2_IN_1_OUT , CANDO_PLUG_2_IN_2_OUT , CANDO_PLUG_2_IN_4_OUT , CANDO_PLUG_4_IN_2_OUT , CANDO_PLUG_4_IN_4_OUT , CANDO_PLUG_4_IN_8_OUT , CANDO_PLUG_8_IN_4_OUT , CANDO_PLUG_8_IN_8_OUT , CANDO_PLUG_BYPASS , CANDO_PLUG_CONFORMS_TO_WINDOW_RULES , CANDO_PLUG_METAPASS , CANDO_PLUG_MIDI_PROGRAM_NAMES , CANDO_PLUG_MIX_DRY_WET , CANDO_PLUG_MULTIPASS , CANDO_PLUG_NO_REAL_TIME , CANDO_PLUG_OFFLINE , CANDO_PLUG_PLUG_AS_CHANNEL_INSERT , CANDO_PLUG_PLUG_AS_SEND , CANDO_PLUG_RECEIVE_VST_EVENTS , CANDO_PLUG_RECEIVE_VST_MIDI_EVENT , CANDO_PLUG_RECEIVE_VST_TIME_INFO , CANDO_PLUG_REVEIVE_VST_MIDI_EVENT , CANDO_PLUG_SEND_VST_EVENTS , CANDO_PLUG_SEND_VST_MIDI_EVENT , CANDO_PLUG_SEND_VST_TIME_INFO , CANDO_YES , VST_LANG_ENGLISH , VST_LANG_FRENCH , VST_LANG_GERMAN , VST_LANG_ITALIAN , VST_LANG_JAPANESE , VST_LANG_SPANISH
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Methods inherited from class jvst.wrapper.communication.VSTV20ToHost
+
+
+canHostDo , getAutomationState , getCurrentProcessLevel , getDirectory , getHostLanguage , getHostProductString , getHostVendorString , getHostVendorVersion , getInputLatency , getNumAutomatableParameters , getOutputLatency , getParameterQuantization , getTimeInfo , hasExternalBuffer , ioChanged , isSynth , needIdle , noTail , sendVstEventsToHost , setOutputSamplerate , sizeWindow , tempoAt , updateBlockSize , updateDisplay , updateSampleRate , wantAsyncOperation , wantEvents , willProcessReplacing
+
+
+
+
+
+Methods inherited from class jvst.wrapper.communication.VSTV10ToHost
+
+
+canMono , canProcessReplacing , getBlockSize , getCurrentUniqueId , getMasterVersion , getSampleRate , hasClip , hasVu , isInputConnected , isOutputConnected , masterIdle , programsAreChunks , setInitialDelay , setNumInputs , setNumOutputs , setOfflineQualities , setParameterAutomated , setRealtimeQualities , setUniqueID
+
+
+
+
+
+Methods inherited from class java.lang.Object
+
+
+clone , equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait
+
+
+
+
+
+
+
+
+
+
+
+Constructor Detail
+
+
+
+
+VSTV24ToHost
+
+public VSTV24ToHost ()
+
+
+
+
+
+
+
+
+
+canDoubleReplacing
+
+public void canDoubleReplacing (boolean state)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2012. All Rights Reserved.
+
+
diff --git a/docs/javadoc/jvstwrapper/jvst/wrapper/communication/VSTV24ToPlug.html b/docs/javadoc/jvstwrapper/jvst/wrapper/communication/VSTV24ToPlug.html
new file mode 100644
index 0000000..076b581
--- /dev/null
+++ b/docs/javadoc/jvstwrapper/jvst/wrapper/communication/VSTV24ToPlug.html
@@ -0,0 +1,340 @@
+
+
+
+
+
+
+
+VSTV24ToPlug (jVSTwRapper 1.0beta API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+jvst.wrapper.communication
+
+Interface VSTV24ToPlug
+
+All Superinterfaces: VSTV10ToPlug , VSTV20ToPlug , VSTV21ToPlug , VSTV22ToPlug , VSTV23ToPlug
+
+
+All Known Implementing Classes: VSTPluginAdapter
+
+
+
+public interface VSTV24ToPlug extends VSTV23ToPlug
+
+
+
+
+
+
+
+
+
+
+
+
+
+Fields inherited from interface jvst.wrapper.communication.VSTV20ToPlug
+
+
+CANDO_HOST_ACCEPT_IO_CHANGES , CANDO_HOST_ASYNC_PROCESSING , CANDO_HOST_CLOSE_FILE_SELECTOR , CANDO_HOST_EDIT_FILE , CANDO_HOST_OFFLINE , CANDO_HOST_OPEN_FILE_SELECTOR , CANDO_HOST_RECEIVE_VST_Events , CANDO_HOST_RECEIVE_VST_MIDI_EVENT , CANDO_HOST_RECEIVE_VST_TIME_INFO , CANDO_HOST_REPORT_CONNECTION_CHANGES , CANDO_HOST_SEND_VST_EVENTS , CANDO_HOST_SEND_VST_MIDI_EVENT , CANDO_HOST_SEND_VST_TIME_INFO , CANDO_HOST_SIZE_WINDOW , CANDO_HOST_START_STOP_PROCESS , CANDO_HOST_SUPPLY_IDLE , CANDO_HOST_SUPPORT_SHELL , PLUG_CATEG_ANALYSIS , PLUG_CATEG_EFFECT , PLUG_CATEG_GENERATOR , PLUG_CATEG_MASTERING , PLUG_CATEG_OFFLINE_PROCESS , PLUG_CATEG_RESTORATION , PLUG_CATEG_ROOM_FX , PLUG_CATEG_SHELL , PLUG_CATEG_SPACIALIZER , PLUG_CATEG_SURROUND_FX , PLUG_CATEG_SYNTH , PLUG_CATEG_UNKNOWN
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Methods inherited from interface jvst.wrapper.communication.VSTV20ToPlug
+
+
+canDo , canParameterBeAutomated , copyProgram , fxIdle , getChannelParameter , getEffectName , getErrorText , getGetTailSize , getInputProperties , getNumCategories , getOutputProperties , getParameterProperties , getPlugCategory , getProductString , getProgramNameIndexed , getSpeakerArrangement , getVendorString , getVendorVersion , getVstVersion , inputConnected , keysRequired , outputConnected , processEvents , processVariableIo , reportCurrentPosition , reportDestinationBuffer , setBlockSizeAndSampleRate , setBypass , setSpeakerArrangement , string2Parameter
+
+
+
+
+
+Methods inherited from interface jvst.wrapper.communication.VSTV10ToPlug
+
+
+close , getChunk , getNumParams , getNumPrograms , getParameter , getParameterDisplay , getParameterLabel , getParameterName , getProgram , getProgramName , getVu , open , process , processReplacing , resume , setBlockSize , setChunk , setParameter , setProgram , setProgramName , setSampleRate , suspend
+
+
+
+
+
+
+
+
+
+
+
+setProcessPrecision
+
+boolean setProcessPrecision (int precision)
+
+
+
+
+
+
+
+
+
+
+
+getNumMidiInputChannels
+
+int getNumMidiInputChannels ()
+
+
+
+
+
+
+
+
+
+
+
+getNumMidiOutputChannels
+
+int getNumMidiOutputChannels ()
+
+
+
+
+
+
+
+
+
+
+
+processDoubleReplacing
+
+void processDoubleReplacing (double[][] inputs,
+ double[][] outputs,
+ int sampleFrames)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2012. All Rights Reserved.
+
+
diff --git a/docs/javadoc/jvstwrapper/jvst/wrapper/communication/class-use/VSTV10ToHost.html b/docs/javadoc/jvstwrapper/jvst/wrapper/communication/class-use/VSTV10ToHost.html
new file mode 100644
index 0000000..67792af
--- /dev/null
+++ b/docs/javadoc/jvstwrapper/jvst/wrapper/communication/class-use/VSTV10ToHost.html
@@ -0,0 +1,244 @@
+
+
+
+
+
+
+
+Uses of Class jvst.wrapper.communication.VSTV10ToHost (jVSTwRapper 1.0beta API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Uses of Class jvst.wrapper.communication.VSTV10ToHost
+
+
+
+
+
+
+
+
+
+
+
+
+Subclasses of VSTV10ToHost in jvst.wrapper
+
+
+
+ class
+VSTPluginAdapter
+
+
+ Adapter to ignore VST 1.0, VST 2.0, VST 2.1, VST 2.2, VST 2.3, VST 2.4
+ OPTIONAL methods --> return defaults
+ and some utility methods (number conversions...)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2012. All Rights Reserved.
+
+
diff --git a/docs/javadoc/jvstwrapper/jvst/wrapper/communication/class-use/VSTV10ToPlug.html b/docs/javadoc/jvstwrapper/jvst/wrapper/communication/class-use/VSTV10ToPlug.html
new file mode 100644
index 0000000..ce3b503
--- /dev/null
+++ b/docs/javadoc/jvstwrapper/jvst/wrapper/communication/class-use/VSTV10ToPlug.html
@@ -0,0 +1,244 @@
+
+
+
+
+
+
+
+Uses of Interface jvst.wrapper.communication.VSTV10ToPlug (jVSTwRapper 1.0beta API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Uses of Interface jvst.wrapper.communication.VSTV10ToPlug
+
+
+
+
+
+
+
+
+
+
+
+
+Classes in jvst.wrapper that implement VSTV10ToPlug
+
+
+
+ class
+VSTPluginAdapter
+
+
+ Adapter to ignore VST 1.0, VST 2.0, VST 2.1, VST 2.2, VST 2.3, VST 2.4
+ OPTIONAL methods --> return defaults
+ and some utility methods (number conversions...)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2012. All Rights Reserved.
+
+
diff --git a/docs/javadoc/jvstwrapper/jvst/wrapper/communication/class-use/VSTV20ToHost.html b/docs/javadoc/jvstwrapper/jvst/wrapper/communication/class-use/VSTV20ToHost.html
new file mode 100644
index 0000000..c13ccdc
--- /dev/null
+++ b/docs/javadoc/jvstwrapper/jvst/wrapper/communication/class-use/VSTV20ToHost.html
@@ -0,0 +1,236 @@
+
+
+
+
+
+
+
+Uses of Class jvst.wrapper.communication.VSTV20ToHost (jVSTwRapper 1.0beta API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Uses of Class jvst.wrapper.communication.VSTV20ToHost
+
+
+
+
+
+
+
+
+
+
+
+
+Subclasses of VSTV20ToHost in jvst.wrapper
+
+
+
+ class
+VSTPluginAdapter
+
+
+ Adapter to ignore VST 1.0, VST 2.0, VST 2.1, VST 2.2, VST 2.3, VST 2.4
+ OPTIONAL methods --> return defaults
+ and some utility methods (number conversions...)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2012. All Rights Reserved.
+
+
diff --git a/docs/javadoc/jvstwrapper/jvst/wrapper/communication/class-use/VSTV20ToPlug.html b/docs/javadoc/jvstwrapper/jvst/wrapper/communication/class-use/VSTV20ToPlug.html
new file mode 100644
index 0000000..dfc8ca9
--- /dev/null
+++ b/docs/javadoc/jvstwrapper/jvst/wrapper/communication/class-use/VSTV20ToPlug.html
@@ -0,0 +1,236 @@
+
+
+
+
+
+
+
+Uses of Interface jvst.wrapper.communication.VSTV20ToPlug (jVSTwRapper 1.0beta API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Uses of Interface jvst.wrapper.communication.VSTV20ToPlug
+
+
+
+
+
+
+
+
+
+
+
+
+Classes in jvst.wrapper that implement VSTV20ToPlug
+
+
+
+ class
+VSTPluginAdapter
+
+
+ Adapter to ignore VST 1.0, VST 2.0, VST 2.1, VST 2.2, VST 2.3, VST 2.4
+ OPTIONAL methods --> return defaults
+ and some utility methods (number conversions...)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2012. All Rights Reserved.
+
+
diff --git a/docs/javadoc/jvstwrapper/jvst/wrapper/communication/class-use/VSTV21ToHost.html b/docs/javadoc/jvstwrapper/jvst/wrapper/communication/class-use/VSTV21ToHost.html
new file mode 100644
index 0000000..bae67ac
--- /dev/null
+++ b/docs/javadoc/jvstwrapper/jvst/wrapper/communication/class-use/VSTV21ToHost.html
@@ -0,0 +1,228 @@
+
+
+
+
+
+
+
+Uses of Class jvst.wrapper.communication.VSTV21ToHost (jVSTwRapper 1.0beta API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Uses of Class jvst.wrapper.communication.VSTV21ToHost
+
+
+
+
+
+
+
+
+
+
+
+
+Subclasses of VSTV21ToHost in jvst.wrapper
+
+
+
+ class
+VSTPluginAdapter
+
+
+ Adapter to ignore VST 1.0, VST 2.0, VST 2.1, VST 2.2, VST 2.3, VST 2.4
+ OPTIONAL methods --> return defaults
+ and some utility methods (number conversions...)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2012. All Rights Reserved.
+
+
diff --git a/docs/javadoc/jvstwrapper/jvst/wrapper/communication/class-use/VSTV21ToPlug.html b/docs/javadoc/jvstwrapper/jvst/wrapper/communication/class-use/VSTV21ToPlug.html
new file mode 100644
index 0000000..1755ac6
--- /dev/null
+++ b/docs/javadoc/jvstwrapper/jvst/wrapper/communication/class-use/VSTV21ToPlug.html
@@ -0,0 +1,228 @@
+
+
+
+
+
+
+
+Uses of Interface jvst.wrapper.communication.VSTV21ToPlug (jVSTwRapper 1.0beta API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Uses of Interface jvst.wrapper.communication.VSTV21ToPlug
+
+
+
+
+
+
+
+
+
+
+
+
+Classes in jvst.wrapper that implement VSTV21ToPlug
+
+
+
+ class
+VSTPluginAdapter
+
+
+ Adapter to ignore VST 1.0, VST 2.0, VST 2.1, VST 2.2, VST 2.3, VST 2.4
+ OPTIONAL methods --> return defaults
+ and some utility methods (number conversions...)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2012. All Rights Reserved.
+
+
diff --git a/docs/javadoc/jvstwrapper/jvst/wrapper/communication/class-use/VSTV22ToHost.html b/docs/javadoc/jvstwrapper/jvst/wrapper/communication/class-use/VSTV22ToHost.html
new file mode 100644
index 0000000..ef524c8
--- /dev/null
+++ b/docs/javadoc/jvstwrapper/jvst/wrapper/communication/class-use/VSTV22ToHost.html
@@ -0,0 +1,220 @@
+
+
+
+
+
+
+
+Uses of Class jvst.wrapper.communication.VSTV22ToHost (jVSTwRapper 1.0beta API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Uses of Class jvst.wrapper.communication.VSTV22ToHost
+
+
+
+
+
+
+
+
+
+
+
+
+Subclasses of VSTV22ToHost in jvst.wrapper
+
+
+
+ class
+VSTPluginAdapter
+
+
+ Adapter to ignore VST 1.0, VST 2.0, VST 2.1, VST 2.2, VST 2.3, VST 2.4
+ OPTIONAL methods --> return defaults
+ and some utility methods (number conversions...)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2012. All Rights Reserved.
+
+
diff --git a/docs/javadoc/jvstwrapper/jvst/wrapper/communication/class-use/VSTV22ToPlug.html b/docs/javadoc/jvstwrapper/jvst/wrapper/communication/class-use/VSTV22ToPlug.html
new file mode 100644
index 0000000..4f6a4bc
--- /dev/null
+++ b/docs/javadoc/jvstwrapper/jvst/wrapper/communication/class-use/VSTV22ToPlug.html
@@ -0,0 +1,220 @@
+
+
+
+
+
+
+
+Uses of Interface jvst.wrapper.communication.VSTV22ToPlug (jVSTwRapper 1.0beta API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Uses of Interface jvst.wrapper.communication.VSTV22ToPlug
+
+
+
+
+
+
+
+
+
+
+
+
+Classes in jvst.wrapper that implement VSTV22ToPlug
+
+
+
+ class
+VSTPluginAdapter
+
+
+ Adapter to ignore VST 1.0, VST 2.0, VST 2.1, VST 2.2, VST 2.3, VST 2.4
+ OPTIONAL methods --> return defaults
+ and some utility methods (number conversions...)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2012. All Rights Reserved.
+
+
diff --git a/docs/javadoc/jvstwrapper/jvst/wrapper/communication/class-use/VSTV23ToHost.html b/docs/javadoc/jvstwrapper/jvst/wrapper/communication/class-use/VSTV23ToHost.html
new file mode 100644
index 0000000..726ef41
--- /dev/null
+++ b/docs/javadoc/jvstwrapper/jvst/wrapper/communication/class-use/VSTV23ToHost.html
@@ -0,0 +1,212 @@
+
+
+
+
+
+
+
+Uses of Class jvst.wrapper.communication.VSTV23ToHost (jVSTwRapper 1.0beta API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Uses of Class jvst.wrapper.communication.VSTV23ToHost
+
+
+
+
+
+
+
+
+
+
+
+
+Subclasses of VSTV23ToHost in jvst.wrapper
+
+
+
+ class
+VSTPluginAdapter
+
+
+ Adapter to ignore VST 1.0, VST 2.0, VST 2.1, VST 2.2, VST 2.3, VST 2.4
+ OPTIONAL methods --> return defaults
+ and some utility methods (number conversions...)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2012. All Rights Reserved.
+
+
diff --git a/docs/javadoc/jvstwrapper/jvst/wrapper/communication/class-use/VSTV23ToPlug.html b/docs/javadoc/jvstwrapper/jvst/wrapper/communication/class-use/VSTV23ToPlug.html
new file mode 100644
index 0000000..6f56779
--- /dev/null
+++ b/docs/javadoc/jvstwrapper/jvst/wrapper/communication/class-use/VSTV23ToPlug.html
@@ -0,0 +1,212 @@
+
+
+
+
+
+
+
+Uses of Interface jvst.wrapper.communication.VSTV23ToPlug (jVSTwRapper 1.0beta API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Uses of Interface jvst.wrapper.communication.VSTV23ToPlug
+
+
+
+
+
+
+
+
+
+
+
+
+Classes in jvst.wrapper that implement VSTV23ToPlug
+
+
+
+ class
+VSTPluginAdapter
+
+
+ Adapter to ignore VST 1.0, VST 2.0, VST 2.1, VST 2.2, VST 2.3, VST 2.4
+ OPTIONAL methods --> return defaults
+ and some utility methods (number conversions...)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2012. All Rights Reserved.
+
+
diff --git a/docs/javadoc/jvstwrapper/jvst/wrapper/communication/class-use/VSTV24ToHost.html b/docs/javadoc/jvstwrapper/jvst/wrapper/communication/class-use/VSTV24ToHost.html
new file mode 100644
index 0000000..18b18b2
--- /dev/null
+++ b/docs/javadoc/jvstwrapper/jvst/wrapper/communication/class-use/VSTV24ToHost.html
@@ -0,0 +1,183 @@
+
+
+
+
+
+
+
+Uses of Class jvst.wrapper.communication.VSTV24ToHost (jVSTwRapper 1.0beta API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Uses of Class jvst.wrapper.communication.VSTV24ToHost
+
+
+
+
+
+
+
+
+
+
+
+
+Subclasses of VSTV24ToHost in jvst.wrapper
+
+
+
+ class
+VSTPluginAdapter
+
+
+ Adapter to ignore VST 1.0, VST 2.0, VST 2.1, VST 2.2, VST 2.3, VST 2.4
+ OPTIONAL methods --> return defaults
+ and some utility methods (number conversions...)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2012. All Rights Reserved.
+
+
diff --git a/docs/javadoc/jvstwrapper/jvst/wrapper/communication/class-use/VSTV24ToPlug.html b/docs/javadoc/jvstwrapper/jvst/wrapper/communication/class-use/VSTV24ToPlug.html
new file mode 100644
index 0000000..c4bbae8
--- /dev/null
+++ b/docs/javadoc/jvstwrapper/jvst/wrapper/communication/class-use/VSTV24ToPlug.html
@@ -0,0 +1,183 @@
+
+
+
+
+
+
+
+Uses of Interface jvst.wrapper.communication.VSTV24ToPlug (jVSTwRapper 1.0beta API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Uses of Interface jvst.wrapper.communication.VSTV24ToPlug
+
+
+
+
+
+
+
+
+
+
+
+
+Classes in jvst.wrapper that implement VSTV24ToPlug
+
+
+
+ class
+VSTPluginAdapter
+
+
+ Adapter to ignore VST 1.0, VST 2.0, VST 2.1, VST 2.2, VST 2.3, VST 2.4
+ OPTIONAL methods --> return defaults
+ and some utility methods (number conversions...)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2012. All Rights Reserved.
+
+
diff --git a/docs/javadoc/jvstwrapper/jvst/wrapper/communication/package-frame.html b/docs/javadoc/jvstwrapper/jvst/wrapper/communication/package-frame.html
new file mode 100644
index 0000000..be52acb
--- /dev/null
+++ b/docs/javadoc/jvstwrapper/jvst/wrapper/communication/package-frame.html
@@ -0,0 +1,64 @@
+
+
+
+
+
+
+
+jvst.wrapper.communication (jVSTwRapper 1.0beta API)
+
+
+
+
+
+
+
+
+
+
+
+jvst.wrapper.communication
+
+
+
+
+
+
+
+
diff --git a/docs/javadoc/jvstwrapper/jvst/wrapper/communication/package-summary.html b/docs/javadoc/jvstwrapper/jvst/wrapper/communication/package-summary.html
new file mode 100644
index 0000000..b13b28c
--- /dev/null
+++ b/docs/javadoc/jvstwrapper/jvst/wrapper/communication/package-summary.html
@@ -0,0 +1,212 @@
+
+
+
+
+
+
+
+jvst.wrapper.communication (jVSTwRapper 1.0beta API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Package jvst.wrapper.communication
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2012. All Rights Reserved.
+
+
diff --git a/docs/javadoc/jvstwrapper/jvst/wrapper/communication/package-tree.html b/docs/javadoc/jvstwrapper/jvst/wrapper/communication/package-tree.html
new file mode 100644
index 0000000..c023141
--- /dev/null
+++ b/docs/javadoc/jvstwrapper/jvst/wrapper/communication/package-tree.html
@@ -0,0 +1,179 @@
+
+
+
+
+
+
+
+jvst.wrapper.communication Class Hierarchy (jVSTwRapper 1.0beta API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Hierarchy For Package jvst.wrapper.communication
+
+
+
+Package Hierarchies: All Packages
+
+
+Class Hierarchy
+
+
+
+Interface Hierarchy
+
+
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2012. All Rights Reserved.
+
+
diff --git a/docs/javadoc/jvstwrapper/jvst/wrapper/communication/package-use.html b/docs/javadoc/jvstwrapper/jvst/wrapper/communication/package-use.html
new file mode 100644
index 0000000..fb77bcc
--- /dev/null
+++ b/docs/javadoc/jvstwrapper/jvst/wrapper/communication/package-use.html
@@ -0,0 +1,310 @@
+
+
+
+
+
+
+
+Uses of Package jvst.wrapper.communication (jVSTwRapper 1.0beta API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Uses of Package jvst.wrapper.communication
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2012. All Rights Reserved.
+
+
diff --git a/docs/javadoc/jvstwrapper/jvst/wrapper/gui/JSliderPlusText.html b/docs/javadoc/jvstwrapper/jvst/wrapper/gui/JSliderPlusText.html
new file mode 100644
index 0000000..196fb9c
--- /dev/null
+++ b/docs/javadoc/jvstwrapper/jvst/wrapper/gui/JSliderPlusText.html
@@ -0,0 +1,532 @@
+
+
+
+
+
+
+
+JSliderPlusText (jVSTwRapper 1.0beta API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+jvst.wrapper.gui
+
+Class JSliderPlusText
+
+java.lang.Object
+ java.awt.Component
+ java.awt.Container
+ javax.swing.JComponent
+ javax.swing.Box
+ jvst.wrapper.gui.JSliderPlusText
+
+
+All Implemented Interfaces: ImageObserver , MenuContainer , Serializable , EventListener , Accessible , ChangeListener
+
+
+
+public class JSliderPlusText extends Box implements ChangeListener
+
+
+
+
+See Also: Serialized Form
+
+
+
+
+
+
+
+
+
+Nested Class Summary
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Methods inherited from class javax.swing.Box
+
+
+createGlue , createHorizontalBox , createHorizontalGlue , createHorizontalStrut , createRigidArea , createVerticalBox , createVerticalGlue , createVerticalStrut , getAccessibleContext , paintComponent , setLayout
+
+
+
+
+
+Methods inherited from class javax.swing.JComponent
+
+
+addAncestorListener , addNotify , addVetoableChangeListener , computeVisibleRect , contains , createToolTip , disable , enable , firePropertyChange , firePropertyChange , firePropertyChange , fireVetoableChange , getActionForKeyStroke , getActionMap , getAlignmentX , getAlignmentY , getAncestorListeners , getAutoscrolls , getBaseline , getBaselineResizeBehavior , getBorder , getBounds , getClientProperty , getComponentGraphics , getComponentPopupMenu , getConditionForKeyStroke , getDebugGraphicsOptions , getDefaultLocale , getFontMetrics , getGraphics , getHeight , getInheritsPopupMenu , getInputMap , getInputMap , getInputVerifier , getInsets , getInsets , getListeners , getLocation , getMaximumSize , getMinimumSize , getNextFocusableComponent , getPopupLocation , getPreferredSize , getRegisteredKeyStrokes , getRootPane , getSize , getToolTipLocation , getToolTipText , getToolTipText , getTopLevelAncestor , getTransferHandler , getUIClassID , getVerifyInputWhenFocusTarget , getVetoableChangeListeners , getVisibleRect , getWidth , getX , getY , grabFocus , isDoubleBuffered , isLightweightComponent , isManagingFocus , isOpaque , isOptimizedDrawingEnabled , isPaintingForPrint , isPaintingTile , isRequestFocusEnabled , isValidateRoot , paint , paintBorder , paintChildren , paintImmediately , paintImmediately , paramString , print , printAll , printBorder , printChildren , printComponent , processComponentKeyEvent , processKeyBinding , processKeyEvent , processMouseEvent , processMouseMotionEvent , putClientProperty , registerKeyboardAction , registerKeyboardAction , removeAncestorListener , removeNotify , removeVetoableChangeListener , repaint , repaint , requestDefaultFocus , requestFocus , requestFocus , requestFocusInWindow , requestFocusInWindow , resetKeyboardActions , reshape , revalidate , scrollRectToVisible , setActionMap , setAlignmentX , setAlignmentY , setAutoscrolls , setBackground , setBorder , setComponentPopupMenu , setDebugGraphicsOptions , setDefaultLocale , setDoubleBuffered , setEnabled , setFocusTraversalKeys , setFont , setForeground , setInheritsPopupMenu , setInputMap , setInputVerifier , setMaximumSize , setMinimumSize , setNextFocusableComponent , setOpaque , setPreferredSize , setRequestFocusEnabled , setToolTipText , setTransferHandler , setUI , setVerifyInputWhenFocusTarget , setVisible , unregisterKeyboardAction , update , updateUI
+
+
+
+
+
+Methods inherited from class java.awt.Container
+
+
+add , add , add , add , add , addContainerListener , addImpl , addPropertyChangeListener , addPropertyChangeListener , applyComponentOrientation , areFocusTraversalKeysSet , countComponents , deliverEvent , doLayout , findComponentAt , findComponentAt , getComponent , getComponentAt , getComponentAt , getComponentCount , getComponents , getComponentZOrder , getContainerListeners , getFocusTraversalKeys , getFocusTraversalPolicy , getLayout , getMousePosition , insets , invalidate , isAncestorOf , isFocusCycleRoot , isFocusCycleRoot , isFocusTraversalPolicyProvider , isFocusTraversalPolicySet , layout , list , list , locate , minimumSize , paintComponents , preferredSize , printComponents , processContainerEvent , processEvent , remove , remove , removeAll , removeContainerListener , setComponentZOrder , setFocusCycleRoot , setFocusTraversalPolicy , setFocusTraversalPolicyProvider , transferFocusBackward , transferFocusDownCycle , validate , validateTree
+
+
+
+
+
+Methods inherited from class java.awt.Component
+
+
+action , add , addComponentListener , addFocusListener , addHierarchyBoundsListener , addHierarchyListener , addInputMethodListener , addKeyListener , addMouseListener , addMouseMotionListener , addMouseWheelListener , bounds , checkImage , checkImage , coalesceEvents , contains , createImage , createImage , createVolatileImage , createVolatileImage , disableEvents , dispatchEvent , enable , enableEvents , enableInputMethods , firePropertyChange , firePropertyChange , firePropertyChange , firePropertyChange , firePropertyChange , firePropertyChange , getBackground , getBounds , getColorModel , getComponentListeners , getComponentOrientation , getCursor , getDropTarget , getFocusCycleRootAncestor , getFocusListeners , getFocusTraversalKeysEnabled , getFont , getForeground , getGraphicsConfiguration , getHierarchyBoundsListeners , getHierarchyListeners , getIgnoreRepaint , getInputContext , getInputMethodListeners , getInputMethodRequests , getKeyListeners , getLocale , getLocation , getLocationOnScreen , getMouseListeners , getMouseMotionListeners , getMousePosition , getMouseWheelListeners , getParent , getPeer , getPropertyChangeListeners , getPropertyChangeListeners , getSize , getToolkit , getTreeLock , gotFocus , handleEvent , hasFocus , hide , imageUpdate , inside , isBackgroundSet , isCursorSet , isDisplayable , isEnabled , isFocusable , isFocusOwner , isFocusTraversable , isFontSet , isForegroundSet , isLightweight , isMaximumSizeSet , isMinimumSizeSet , isPreferredSizeSet , isShowing , isValid , isVisible , keyDown , keyUp , list , list , list , location , lostFocus , mouseDown , mouseDrag , mouseEnter , mouseExit , mouseMove , mouseUp , move , nextFocus , paintAll , postEvent , prepareImage , prepareImage , processComponentEvent , processFocusEvent , processHierarchyBoundsEvent , processHierarchyEvent , processInputMethodEvent , processMouseWheelEvent , remove , removeComponentListener , removeFocusListener , removeHierarchyBoundsListener , removeHierarchyListener , removeInputMethodListener , removeKeyListener , removeMouseListener , removeMouseMotionListener , removeMouseWheelListener , removePropertyChangeListener , removePropertyChangeListener , repaint , repaint , repaint , resize , resize , setBounds , setBounds , setComponentOrientation , setCursor , setDropTarget , setFocusable , setFocusTraversalKeysEnabled , setIgnoreRepaint , setLocale , setLocation , setLocation , setSize , setSize , show , show , size , toString , transferFocus , transferFocusUpCycle
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Detail
+
+
+
+
+JSliderPlusText
+
+public JSliderPlusText ()
+
+
+
+
+
+JSliderPlusText
+
+public JSliderPlusText (String name)
+
+
+
+
+
+
+
+
+
+stateChanged
+
+public void stateChanged (ChangeEvent e)
+
+
+Specified by: stateChanged in interface ChangeListener
+
+
+
+
+
+
+
+
+addChangeListener
+
+public void addChangeListener (ChangeListener cl)
+
+
+
+
+
+
+
+
+
+
+
+getSlider
+
+public JSlider getSlider ()
+
+
+
+
+
+
+
+
+
+
+
+getTextField
+
+public JTextField getTextField ()
+
+
+
+
+
+
+
+
+
+
+
+setName
+
+public void setName (String name)
+
+
+Overrides: setName in class Component
+
+
+
+
+
+
+
+
+getName
+
+public String getName ()
+
+
+Overrides: getName in class Component
+
+
+
+
+
+
+
+
+main
+
+public static void main (String [] args)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2012. All Rights Reserved.
+
+
diff --git a/docs/javadoc/jvstwrapper/jvst/wrapper/gui/RotaryKnob.html b/docs/javadoc/jvstwrapper/jvst/wrapper/gui/RotaryKnob.html
new file mode 100644
index 0000000..f0f7cf1
--- /dev/null
+++ b/docs/javadoc/jvstwrapper/jvst/wrapper/gui/RotaryKnob.html
@@ -0,0 +1,790 @@
+
+
+
+
+
+
+
+RotaryKnob (jVSTwRapper 1.0beta API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+jvst.wrapper.gui
+
+Class RotaryKnob
+
+java.lang.Object
+ java.awt.Component
+ java.awt.Container
+ javax.swing.JComponent
+ jvst.wrapper.gui.RotaryKnob
+
+
+All Implemented Interfaces: ImageObserver , MenuContainer , Serializable
+
+
+
+public class RotaryKnob extends JComponent
+
+
+
+
+See Also: Serialized Form
+
+
+
+
+
+
+
+
+
+Nested Class Summary
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Summary
+
+
+RotaryKnob ()
+
+
+
+
+
+
+
+
+
+
+
+
+
+Methods inherited from class javax.swing.JComponent
+
+
+addAncestorListener , addNotify , addVetoableChangeListener , computeVisibleRect , contains , createToolTip , disable , enable , firePropertyChange , firePropertyChange , firePropertyChange , fireVetoableChange , getAccessibleContext , getActionForKeyStroke , getActionMap , getAlignmentX , getAlignmentY , getAncestorListeners , getAutoscrolls , getBaseline , getBaselineResizeBehavior , getBorder , getBounds , getClientProperty , getComponentGraphics , getComponentPopupMenu , getConditionForKeyStroke , getDebugGraphicsOptions , getDefaultLocale , getFontMetrics , getGraphics , getHeight , getInheritsPopupMenu , getInputMap , getInputMap , getInputVerifier , getInsets , getInsets , getListeners , getLocation , getMaximumSize , getNextFocusableComponent , getPopupLocation , getPreferredSize , getRegisteredKeyStrokes , getRootPane , getSize , getToolTipLocation , getToolTipText , getToolTipText , getTopLevelAncestor , getTransferHandler , getUIClassID , getVerifyInputWhenFocusTarget , getVetoableChangeListeners , getVisibleRect , getWidth , getX , getY , grabFocus , isDoubleBuffered , isLightweightComponent , isOpaque , isOptimizedDrawingEnabled , isPaintingForPrint , isPaintingTile , isRequestFocusEnabled , isValidateRoot , paintBorder , paintChildren , paintComponent , paintImmediately , paintImmediately , paramString , print , printAll , printBorder , printChildren , printComponent , processComponentKeyEvent , processKeyBinding , processKeyEvent , processMouseEvent , processMouseMotionEvent , putClientProperty , registerKeyboardAction , registerKeyboardAction , removeAncestorListener , removeNotify , removeVetoableChangeListener , repaint , repaint , requestDefaultFocus , requestFocus , requestFocus , requestFocusInWindow , requestFocusInWindow , resetKeyboardActions , reshape , revalidate , scrollRectToVisible , setActionMap , setAlignmentX , setAlignmentY , setAutoscrolls , setBackground , setBorder , setComponentPopupMenu , setDebugGraphicsOptions , setDefaultLocale , setDoubleBuffered , setEnabled , setFocusTraversalKeys , setFont , setForeground , setInheritsPopupMenu , setInputMap , setInputVerifier , setMaximumSize , setMinimumSize , setNextFocusableComponent , setOpaque , setPreferredSize , setRequestFocusEnabled , setToolTipText , setTransferHandler , setUI , setVerifyInputWhenFocusTarget , setVisible , unregisterKeyboardAction , update , updateUI
+
+
+
+
+
+Methods inherited from class java.awt.Container
+
+
+add , add , add , add , add , addContainerListener , addImpl , addPropertyChangeListener , addPropertyChangeListener , applyComponentOrientation , areFocusTraversalKeysSet , countComponents , deliverEvent , doLayout , findComponentAt , findComponentAt , getComponent , getComponentAt , getComponentAt , getComponentCount , getComponents , getComponentZOrder , getContainerListeners , getFocusTraversalKeys , getFocusTraversalPolicy , getLayout , getMousePosition , insets , invalidate , isAncestorOf , isFocusCycleRoot , isFocusCycleRoot , isFocusTraversalPolicyProvider , isFocusTraversalPolicySet , layout , list , list , locate , minimumSize , paintComponents , preferredSize , printComponents , processContainerEvent , processEvent , remove , remove , removeAll , removeContainerListener , setComponentZOrder , setFocusCycleRoot , setFocusTraversalPolicy , setFocusTraversalPolicyProvider , setLayout , transferFocusBackward , transferFocusDownCycle , validate , validateTree
+
+
+
+
+
+Methods inherited from class java.awt.Component
+
+
+action , add , addComponentListener , addFocusListener , addHierarchyBoundsListener , addHierarchyListener , addInputMethodListener , addKeyListener , addMouseListener , addMouseMotionListener , addMouseWheelListener , bounds , checkImage , checkImage , coalesceEvents , contains , createImage , createImage , createVolatileImage , createVolatileImage , disableEvents , dispatchEvent , enable , enableEvents , enableInputMethods , firePropertyChange , firePropertyChange , firePropertyChange , firePropertyChange , firePropertyChange , firePropertyChange , getBackground , getBounds , getColorModel , getComponentListeners , getComponentOrientation , getCursor , getDropTarget , getFocusCycleRootAncestor , getFocusListeners , getFocusTraversalKeysEnabled , getFont , getForeground , getGraphicsConfiguration , getHierarchyBoundsListeners , getHierarchyListeners , getIgnoreRepaint , getInputContext , getInputMethodListeners , getInputMethodRequests , getKeyListeners , getLocale , getLocation , getLocationOnScreen , getMouseListeners , getMouseMotionListeners , getMousePosition , getMouseWheelListeners , getName , getParent , getPeer , getPropertyChangeListeners , getPropertyChangeListeners , getSize , getToolkit , getTreeLock , gotFocus , handleEvent , hasFocus , hide , imageUpdate , inside , isBackgroundSet , isCursorSet , isDisplayable , isEnabled , isFocusable , isFocusOwner , isFontSet , isForegroundSet , isLightweight , isMaximumSizeSet , isMinimumSizeSet , isPreferredSizeSet , isShowing , isValid , isVisible , keyDown , keyUp , list , list , list , location , lostFocus , mouseDown , mouseDrag , mouseEnter , mouseExit , mouseMove , mouseUp , move , nextFocus , paintAll , postEvent , prepareImage , prepareImage , processComponentEvent , processFocusEvent , processHierarchyBoundsEvent , processHierarchyEvent , processInputMethodEvent , processMouseWheelEvent , remove , removeComponentListener , removeFocusListener , removeHierarchyBoundsListener , removeHierarchyListener , removeInputMethodListener , removeKeyListener , removeMouseListener , removeMouseMotionListener , removeMouseWheelListener , removePropertyChangeListener , removePropertyChangeListener , repaint , repaint , repaint , resize , resize , setBounds , setBounds , setComponentOrientation , setCursor , setDropTarget , setFocusable , setFocusTraversalKeysEnabled , setIgnoreRepaint , setLocale , setLocation , setLocation , setName , setSize , setSize , show , show , size , toString , transferFocus , transferFocusUpCycle
+
+
+
+
+
+
+
+
+
+
+
+
+
+DRAGTYPE_SIMPLE
+
+public static final int DRAGTYPE_SIMPLE
+
+
+See Also: Constant Field Values
+
+
+
+
+DRAGTYPE_ROUND
+
+public static final int DRAGTYPE_ROUND
+
+
+See Also: Constant Field Values
+
+
+
+
+
+
+
+
+Constructor Detail
+
+
+
+
+RotaryKnob
+
+public RotaryKnob ()
+
+
+
+
+
+
+
+
+
+setDragType
+
+public void setDragType (int type)
+
+
+
+
+
+
+
+
+getDragType
+
+public int getDragType ()
+
+
+
+
+
+
+
+
+isManagingFocus
+
+public boolean isManagingFocus ()
+
+
+Overrides: isManagingFocus in class JComponent
+
+
+
+
+
+
+
+
+isFocusTraversable
+
+public boolean isFocusTraversable ()
+
+
+Overrides: isFocusTraversable in class Component
+
+
+
+
+
+
+
+
+getValue
+
+public float getValue ()
+
+
+
+
+
+
+
+
+setValue
+
+public void setValue (float val)
+
+
+
+
+
+
+
+
+getClickIncrement
+
+public float getClickIncrement ()
+
+
+
+
+
+
+
+
+setClickIncrement
+
+public void setClickIncrement (float clickIncrement)
+
+
+
+
+
+
+
+
+getDragIncrement
+
+public float getDragIncrement ()
+
+
+
+
+
+
+
+
+setDragIncrement
+
+public void setDragIncrement (float dragIncrement)
+
+
+
+
+
+
+
+
+getShadowSizeX
+
+public int getShadowSizeX ()
+
+
+
+
+
+
+
+
+setShadowSizeX
+
+public void setShadowSizeX (int shadowSizeX)
+
+
+
+
+
+
+
+
+getShadowSizeY
+
+public int getShadowSizeY ()
+
+
+
+
+
+
+
+
+setShadowSizeY
+
+public void setShadowSizeY (int shadowSizeY)
+
+
+
+
+
+
+
+
+addChangeListener
+
+public void addChangeListener (ChangeListener cl)
+
+
+
+
+
+
+
+
+removeChangeListener
+
+public void removeChangeListener (ChangeListener cl)
+
+
+
+
+
+
+
+
+getMinimumSize
+
+public Dimension getMinimumSize ()
+
+
+Overrides: getMinimumSize in class JComponent
+
+
+
+
+
+
+
+
+fireChangeEvent
+
+protected void fireChangeEvent ()
+
+
+
+
+
+
+
+
+paint
+
+public void paint (Graphics g)
+
+
+Overrides: paint in class JComponent
+
+
+
+
+
+
+
+
+main
+
+public static void main (String [] args)
+ throws ClassNotFoundException ,
+ InstantiationException ,
+ IllegalAccessException ,
+ UnsupportedLookAndFeelException
+
+
+
+Throws:
+ClassNotFoundException
+InstantiationException
+IllegalAccessException
+UnsupportedLookAndFeelException
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2012. All Rights Reserved.
+
+
diff --git a/docs/javadoc/jvstwrapper/jvst/wrapper/gui/RotaryKnobPlusText.html b/docs/javadoc/jvstwrapper/jvst/wrapper/gui/RotaryKnobPlusText.html
new file mode 100644
index 0000000..f5eee24
--- /dev/null
+++ b/docs/javadoc/jvstwrapper/jvst/wrapper/gui/RotaryKnobPlusText.html
@@ -0,0 +1,532 @@
+
+
+
+
+
+
+
+RotaryKnobPlusText (jVSTwRapper 1.0beta API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+jvst.wrapper.gui
+
+Class RotaryKnobPlusText
+
+java.lang.Object
+ java.awt.Component
+ java.awt.Container
+ javax.swing.JComponent
+ javax.swing.Box
+ jvst.wrapper.gui.RotaryKnobPlusText
+
+
+All Implemented Interfaces: ImageObserver , MenuContainer , Serializable , EventListener , Accessible , ChangeListener
+
+
+
+public class RotaryKnobPlusText extends Box implements ChangeListener
+
+
+
+
+See Also: Serialized Form
+
+
+
+
+
+
+
+
+
+Nested Class Summary
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Methods inherited from class javax.swing.Box
+
+
+createGlue , createHorizontalBox , createHorizontalGlue , createHorizontalStrut , createRigidArea , createVerticalBox , createVerticalGlue , createVerticalStrut , getAccessibleContext , paintComponent , setLayout
+
+
+
+
+
+Methods inherited from class javax.swing.JComponent
+
+
+addAncestorListener , addNotify , addVetoableChangeListener , computeVisibleRect , contains , createToolTip , disable , enable , firePropertyChange , firePropertyChange , firePropertyChange , fireVetoableChange , getActionForKeyStroke , getActionMap , getAlignmentX , getAlignmentY , getAncestorListeners , getAutoscrolls , getBaseline , getBaselineResizeBehavior , getBorder , getBounds , getClientProperty , getComponentGraphics , getComponentPopupMenu , getConditionForKeyStroke , getDebugGraphicsOptions , getDefaultLocale , getFontMetrics , getGraphics , getHeight , getInheritsPopupMenu , getInputMap , getInputMap , getInputVerifier , getInsets , getInsets , getListeners , getLocation , getMaximumSize , getMinimumSize , getNextFocusableComponent , getPopupLocation , getPreferredSize , getRegisteredKeyStrokes , getRootPane , getSize , getToolTipLocation , getToolTipText , getToolTipText , getTopLevelAncestor , getTransferHandler , getUIClassID , getVerifyInputWhenFocusTarget , getVetoableChangeListeners , getVisibleRect , getWidth , getX , getY , grabFocus , isDoubleBuffered , isLightweightComponent , isManagingFocus , isOpaque , isOptimizedDrawingEnabled , isPaintingForPrint , isPaintingTile , isRequestFocusEnabled , isValidateRoot , paint , paintBorder , paintChildren , paintImmediately , paintImmediately , paramString , print , printAll , printBorder , printChildren , printComponent , processComponentKeyEvent , processKeyBinding , processKeyEvent , processMouseEvent , processMouseMotionEvent , putClientProperty , registerKeyboardAction , registerKeyboardAction , removeAncestorListener , removeNotify , removeVetoableChangeListener , repaint , repaint , requestDefaultFocus , requestFocus , requestFocus , requestFocusInWindow , requestFocusInWindow , resetKeyboardActions , reshape , revalidate , scrollRectToVisible , setActionMap , setAlignmentX , setAlignmentY , setAutoscrolls , setBackground , setBorder , setComponentPopupMenu , setDebugGraphicsOptions , setDefaultLocale , setDoubleBuffered , setEnabled , setFocusTraversalKeys , setFont , setForeground , setInheritsPopupMenu , setInputMap , setInputVerifier , setMaximumSize , setMinimumSize , setNextFocusableComponent , setOpaque , setPreferredSize , setRequestFocusEnabled , setToolTipText , setTransferHandler , setUI , setVerifyInputWhenFocusTarget , setVisible , unregisterKeyboardAction , update , updateUI
+
+
+
+
+
+Methods inherited from class java.awt.Container
+
+
+add , add , add , add , add , addContainerListener , addImpl , addPropertyChangeListener , addPropertyChangeListener , applyComponentOrientation , areFocusTraversalKeysSet , countComponents , deliverEvent , doLayout , findComponentAt , findComponentAt , getComponent , getComponentAt , getComponentAt , getComponentCount , getComponents , getComponentZOrder , getContainerListeners , getFocusTraversalKeys , getFocusTraversalPolicy , getLayout , getMousePosition , insets , invalidate , isAncestorOf , isFocusCycleRoot , isFocusCycleRoot , isFocusTraversalPolicyProvider , isFocusTraversalPolicySet , layout , list , list , locate , minimumSize , paintComponents , preferredSize , printComponents , processContainerEvent , processEvent , remove , remove , removeAll , removeContainerListener , setComponentZOrder , setFocusCycleRoot , setFocusTraversalPolicy , setFocusTraversalPolicyProvider , transferFocusBackward , transferFocusDownCycle , validate , validateTree
+
+
+
+
+
+Methods inherited from class java.awt.Component
+
+
+action , add , addComponentListener , addFocusListener , addHierarchyBoundsListener , addHierarchyListener , addInputMethodListener , addKeyListener , addMouseListener , addMouseMotionListener , addMouseWheelListener , bounds , checkImage , checkImage , coalesceEvents , contains , createImage , createImage , createVolatileImage , createVolatileImage , disableEvents , dispatchEvent , enable , enableEvents , enableInputMethods , firePropertyChange , firePropertyChange , firePropertyChange , firePropertyChange , firePropertyChange , firePropertyChange , getBackground , getBounds , getColorModel , getComponentListeners , getComponentOrientation , getCursor , getDropTarget , getFocusCycleRootAncestor , getFocusListeners , getFocusTraversalKeysEnabled , getFont , getForeground , getGraphicsConfiguration , getHierarchyBoundsListeners , getHierarchyListeners , getIgnoreRepaint , getInputContext , getInputMethodListeners , getInputMethodRequests , getKeyListeners , getLocale , getLocation , getLocationOnScreen , getMouseListeners , getMouseMotionListeners , getMousePosition , getMouseWheelListeners , getParent , getPeer , getPropertyChangeListeners , getPropertyChangeListeners , getSize , getToolkit , getTreeLock , gotFocus , handleEvent , hasFocus , hide , imageUpdate , inside , isBackgroundSet , isCursorSet , isDisplayable , isEnabled , isFocusable , isFocusOwner , isFocusTraversable , isFontSet , isForegroundSet , isLightweight , isMaximumSizeSet , isMinimumSizeSet , isPreferredSizeSet , isShowing , isValid , isVisible , keyDown , keyUp , list , list , list , location , lostFocus , mouseDown , mouseDrag , mouseEnter , mouseExit , mouseMove , mouseUp , move , nextFocus , paintAll , postEvent , prepareImage , prepareImage , processComponentEvent , processFocusEvent , processHierarchyBoundsEvent , processHierarchyEvent , processInputMethodEvent , processMouseWheelEvent , remove , removeComponentListener , removeFocusListener , removeHierarchyBoundsListener , removeHierarchyListener , removeInputMethodListener , removeKeyListener , removeMouseListener , removeMouseMotionListener , removeMouseWheelListener , removePropertyChangeListener , removePropertyChangeListener , repaint , repaint , repaint , resize , resize , setBounds , setBounds , setComponentOrientation , setCursor , setDropTarget , setFocusable , setFocusTraversalKeysEnabled , setIgnoreRepaint , setLocale , setLocation , setLocation , setSize , setSize , show , show , size , toString , transferFocus , transferFocusUpCycle
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Detail
+
+
+
+
+RotaryKnobPlusText
+
+public RotaryKnobPlusText ()
+
+
+
+
+
+RotaryKnobPlusText
+
+public RotaryKnobPlusText (String name)
+
+
+
+
+
+
+
+
+
+stateChanged
+
+public void stateChanged (ChangeEvent e)
+
+
+Specified by: stateChanged in interface ChangeListener
+
+
+
+
+
+
+
+
+addChangeListener
+
+public void addChangeListener (ChangeListener cl)
+
+
+
+
+
+
+
+
+
+
+
+getKnob
+
+public RotaryKnob getKnob ()
+
+
+
+
+
+
+
+
+
+
+
+getTextField
+
+public JTextField getTextField ()
+
+
+
+
+
+
+
+
+
+
+
+setName
+
+public void setName (String name)
+
+
+Overrides: setName in class Component
+
+
+
+
+
+
+
+
+getName
+
+public String getName ()
+
+
+Overrides: getName in class Component
+
+
+
+
+
+
+
+
+main
+
+public static void main (String [] args)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2012. All Rights Reserved.
+
+
diff --git a/docs/javadoc/jvstwrapper/jvst/wrapper/gui/VSTPluginGUI.html b/docs/javadoc/jvstwrapper/jvst/wrapper/gui/VSTPluginGUI.html
new file mode 100644
index 0000000..631b1eb
--- /dev/null
+++ b/docs/javadoc/jvstwrapper/jvst/wrapper/gui/VSTPluginGUI.html
@@ -0,0 +1,289 @@
+
+
+
+
+
+
+
+VSTPluginGUI (jVSTwRapper 1.0beta API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+jvst.wrapper.gui
+
+Interface VSTPluginGUI
+
+All Known Implementing Classes: VSTPluginGUIAdapter , VSTPluginGUIRunner
+
+
+
+public interface VSTPluginGUI
+
+
+
+Description of the Interface
+
+
+
+
+Author:
+ daniel
+
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+ void
+close ()
+
+
+ Description of the Method
+
+
+
+ void
+destroy ()
+
+
+ Description of the Method
+
+
+
+ void
+idle ()
+
+
+ This method runs in the context of the hosts GUI event loop
+ So this is the right place for plug-->host calls like beginEdit, endEdit, setParameterAutomated(), etc.
+
+
+
+ void
+open ()
+
+
+ Description of the Method
+
+
+
+
+
+
+
+
+
+
+
+open
+
+void open ()
+
+Description of the Method
+
+
+
+
+
+
+
+
+close
+
+void close ()
+
+Description of the Method
+
+
+
+
+
+
+
+
+idle
+
+void idle ()
+
+This method runs in the context of the hosts GUI event loop
+ So this is the right place for plug-->host calls like beginEdit, endEdit, setParameterAutomated(), etc.
+ WARNING: do not do any Swing related tasks or other long.running actions here.
+ This call blocks the host event thread and thus all GUI related things
+ Also, if Swing things are done here the plugin will deadlock on Mac
+ You can prevent this by wrapping everything EXCEPT plug-->host calls by using invokeLater()
+
+
+
+
+
+
+
+
+destroy
+
+void destroy ()
+
+Description of the Method
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2012. All Rights Reserved.
+
+
diff --git a/docs/javadoc/jvstwrapper/jvst/wrapper/gui/VSTPluginGUIRunner.html b/docs/javadoc/jvstwrapper/jvst/wrapper/gui/VSTPluginGUIRunner.html
new file mode 100644
index 0000000..a652e9f
--- /dev/null
+++ b/docs/javadoc/jvstwrapper/jvst/wrapper/gui/VSTPluginGUIRunner.html
@@ -0,0 +1,530 @@
+
+
+
+
+
+
+
+VSTPluginGUIRunner (jVSTwRapper 1.0beta API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+jvst.wrapper.gui
+
+Class VSTPluginGUIRunner
+
+java.lang.Object
+ jvst.wrapper.gui.VSTPluginGUIRunner
+
+
+All Implemented Interfaces: VSTPluginGUI
+
+
+
+public class VSTPluginGUIRunner extends Object implements VSTPluginGUI
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+ void
+close ()
+
+
+ Description of the Method
+
+
+
+ void
+destroy ()
+
+
+ Description of the Method
+
+
+
+ int
+getHeight ()
+
+
+
+
+
+
+ int
+getWidth ()
+
+
+
+
+
+
+ void
+idle ()
+
+
+ This method runs in the context of the hosts GUI event loop
+ So this is the right place for plug-->host calls like beginEdit, endEdit, setParameterAutomated(), etc.
+
+
+
+ void
+loadVSTGUI (String clazzname,
+ VSTPluginAdapter p)
+
+
+
+
+
+
+protected void
+log (String s)
+
+
+
+
+
+
+ void
+open ()
+
+
+ Description of the Method
+
+
+
+ void
+undecorate ()
+
+
+
+
+
+
+
+
+Methods inherited from class java.lang.Object
+
+
+clone , equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait
+
+
+
+
+
+
+
+
+
+
+
+gui
+
+protected VSTPluginGUIAdapter gui
+
+
+
+
+
+
+
+libraryOk
+
+public boolean libraryOk
+
+
+
+
+
+
+
+WindowAttached
+
+public boolean WindowAttached
+
+
+
+
+
+
+
+
+
+
+
+Constructor Detail
+
+
+
+
+VSTPluginGUIRunner
+
+public VSTPluginGUIRunner ()
+
+
+
+
+
+
+
+
+
+loadVSTGUI
+
+public void loadVSTGUI (String clazzname,
+ VSTPluginAdapter p)
+ throws Exception
+
+
+
+
+
+
+Throws:
+Exception
+
+
+
+
+
+open
+
+public void open ()
+
+Description copied from interface: VSTPluginGUI
+Description of the Method
+
+
+Specified by: open in interface VSTPluginGUI
+
+
+
+
+
+
+
+
+close
+
+public void close ()
+
+Description copied from interface: VSTPluginGUI
+Description of the Method
+
+
+Specified by: close in interface VSTPluginGUI
+
+
+
+
+
+
+
+
+destroy
+
+public void destroy ()
+
+Description copied from interface: VSTPluginGUI
+Description of the Method
+
+
+Specified by: destroy in interface VSTPluginGUI
+
+
+
+
+
+
+
+
+undecorate
+
+public void undecorate ()
+
+
+
+
+
+
+
+
+
+
+
+getWidth
+
+public int getWidth ()
+
+
+
+
+
+
+
+
+
+
+
+getHeight
+
+public int getHeight ()
+
+
+
+
+
+
+
+
+
+
+
+idle
+
+public void idle ()
+
+Description copied from interface: VSTPluginGUI
+This method runs in the context of the hosts GUI event loop
+ So this is the right place for plug-->host calls like beginEdit, endEdit, setParameterAutomated(), etc.
+ WARNING: do not do any Swing related tasks or other long.running actions here.
+ This call blocks the host event thread and thus all GUI related things
+ Also, if Swing things are done here the plugin will deadlock on Mac
+ You can prevent this by wrapping everything EXCEPT plug-->host calls by using invokeLater()
+
+
+Specified by: idle in interface VSTPluginGUI
+
+
+
+
+
+
+
+
+log
+
+protected void log (String s)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2012. All Rights Reserved.
+
+
diff --git a/docs/javadoc/jvstwrapper/jvst/wrapper/gui/class-use/JSliderPlusText.html b/docs/javadoc/jvstwrapper/jvst/wrapper/gui/class-use/JSliderPlusText.html
new file mode 100644
index 0000000..7a48027
--- /dev/null
+++ b/docs/javadoc/jvstwrapper/jvst/wrapper/gui/class-use/JSliderPlusText.html
@@ -0,0 +1,145 @@
+
+
+
+
+
+
+
+Uses of Class jvst.wrapper.gui.JSliderPlusText (jVSTwRapper 1.0beta API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Uses of Class jvst.wrapper.gui.JSliderPlusText
+
+No usage of jvst.wrapper.gui.JSliderPlusText
+
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2012. All Rights Reserved.
+
+
diff --git a/docs/javadoc/jvstwrapper/jvst/wrapper/gui/class-use/RotaryKnob.html b/docs/javadoc/jvstwrapper/jvst/wrapper/gui/class-use/RotaryKnob.html
new file mode 100644
index 0000000..6ec7f43
--- /dev/null
+++ b/docs/javadoc/jvstwrapper/jvst/wrapper/gui/class-use/RotaryKnob.html
@@ -0,0 +1,181 @@
+
+
+
+
+
+
+
+Uses of Class jvst.wrapper.gui.RotaryKnob (jVSTwRapper 1.0beta API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Uses of Class jvst.wrapper.gui.RotaryKnob
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2012. All Rights Reserved.
+
+
diff --git a/docs/javadoc/jvstwrapper/jvst/wrapper/gui/class-use/RotaryKnobPlusText.html b/docs/javadoc/jvstwrapper/jvst/wrapper/gui/class-use/RotaryKnobPlusText.html
new file mode 100644
index 0000000..1cee45c
--- /dev/null
+++ b/docs/javadoc/jvstwrapper/jvst/wrapper/gui/class-use/RotaryKnobPlusText.html
@@ -0,0 +1,145 @@
+
+
+
+
+
+
+
+Uses of Class jvst.wrapper.gui.RotaryKnobPlusText (jVSTwRapper 1.0beta API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Uses of Class jvst.wrapper.gui.RotaryKnobPlusText
+
+No usage of jvst.wrapper.gui.RotaryKnobPlusText
+
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2012. All Rights Reserved.
+
+
diff --git a/docs/javadoc/jvstwrapper/jvst/wrapper/gui/class-use/VSTPluginGUI.html b/docs/javadoc/jvstwrapper/jvst/wrapper/gui/class-use/VSTPluginGUI.html
new file mode 100644
index 0000000..4c6d92e
--- /dev/null
+++ b/docs/javadoc/jvstwrapper/jvst/wrapper/gui/class-use/VSTPluginGUI.html
@@ -0,0 +1,210 @@
+
+
+
+
+
+
+
+Uses of Interface jvst.wrapper.gui.VSTPluginGUI (jVSTwRapper 1.0beta API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Uses of Interface jvst.wrapper.gui.VSTPluginGUI
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2012. All Rights Reserved.
+
+
diff --git a/docs/javadoc/jvstwrapper/jvst/wrapper/gui/class-use/VSTPluginGUIRunner.html b/docs/javadoc/jvstwrapper/jvst/wrapper/gui/class-use/VSTPluginGUIRunner.html
new file mode 100644
index 0000000..49c0cac
--- /dev/null
+++ b/docs/javadoc/jvstwrapper/jvst/wrapper/gui/class-use/VSTPluginGUIRunner.html
@@ -0,0 +1,196 @@
+
+
+
+
+
+
+
+Uses of Class jvst.wrapper.gui.VSTPluginGUIRunner (jVSTwRapper 1.0beta API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Uses of Class jvst.wrapper.gui.VSTPluginGUIRunner
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2012. All Rights Reserved.
+
+
diff --git a/docs/javadoc/jvstwrapper/jvst/wrapper/gui/package-frame.html b/docs/javadoc/jvstwrapper/jvst/wrapper/gui/package-frame.html
new file mode 100644
index 0000000..7002381
--- /dev/null
+++ b/docs/javadoc/jvstwrapper/jvst/wrapper/gui/package-frame.html
@@ -0,0 +1,50 @@
+
+
+
+
+
+
+
+jvst.wrapper.gui (jVSTwRapper 1.0beta API)
+
+
+
+
+
+
+
+
+
+
+
+jvst.wrapper.gui
+
+
+
+
+
+
+
+
diff --git a/docs/javadoc/jvstwrapper/jvst/wrapper/gui/package-summary.html b/docs/javadoc/jvstwrapper/jvst/wrapper/gui/package-summary.html
new file mode 100644
index 0000000..4d8fd32
--- /dev/null
+++ b/docs/javadoc/jvstwrapper/jvst/wrapper/gui/package-summary.html
@@ -0,0 +1,184 @@
+
+
+
+
+
+
+
+jvst.wrapper.gui (jVSTwRapper 1.0beta API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Package jvst.wrapper.gui
+
+
+
+
+
+Interface Summary
+
+
+VSTPluginGUI
+Description of the Interface
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2012. All Rights Reserved.
+
+
diff --git a/docs/javadoc/jvstwrapper/jvst/wrapper/gui/package-tree.html b/docs/javadoc/jvstwrapper/jvst/wrapper/gui/package-tree.html
new file mode 100644
index 0000000..7103249
--- /dev/null
+++ b/docs/javadoc/jvstwrapper/jvst/wrapper/gui/package-tree.html
@@ -0,0 +1,173 @@
+
+
+
+
+
+
+
+jvst.wrapper.gui Class Hierarchy (jVSTwRapper 1.0beta API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Hierarchy For Package jvst.wrapper.gui
+
+
+
+Package Hierarchies: All Packages
+
+
+Class Hierarchy
+
+
+
+Interface Hierarchy
+
+
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2012. All Rights Reserved.
+
+
diff --git a/docs/javadoc/jvstwrapper/jvst/wrapper/gui/package-use.html b/docs/javadoc/jvstwrapper/jvst/wrapper/gui/package-use.html
new file mode 100644
index 0000000..56a26db
--- /dev/null
+++ b/docs/javadoc/jvstwrapper/jvst/wrapper/gui/package-use.html
@@ -0,0 +1,202 @@
+
+
+
+
+
+
+
+Uses of Package jvst.wrapper.gui (jVSTwRapper 1.0beta API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Uses of Package jvst.wrapper.gui
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2012. All Rights Reserved.
+
+
diff --git a/docs/javadoc/jvstwrapper/jvst/wrapper/package-frame.html b/docs/javadoc/jvstwrapper/jvst/wrapper/package-frame.html
new file mode 100644
index 0000000..db835bf
--- /dev/null
+++ b/docs/javadoc/jvstwrapper/jvst/wrapper/package-frame.html
@@ -0,0 +1,35 @@
+
+
+
+
+
+
+
+jvst.wrapper (jVSTwRapper 1.0beta API)
+
+
+
+
+
+
+
+
+
+
+
+jvst.wrapper
+
+
+
+
+
diff --git a/docs/javadoc/jvstwrapper/jvst/wrapper/package-summary.html b/docs/javadoc/jvstwrapper/jvst/wrapper/package-summary.html
new file mode 100644
index 0000000..2a22ed7
--- /dev/null
+++ b/docs/javadoc/jvstwrapper/jvst/wrapper/package-summary.html
@@ -0,0 +1,164 @@
+
+
+
+
+
+
+
+jvst.wrapper (jVSTwRapper 1.0beta API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Package jvst.wrapper
+
+
+
+
+
+Class Summary
+
+
+VSTPluginAdapter
+Adapter to ignore VST 1.0, VST 2.0, VST 2.1, VST 2.2, VST 2.3, VST 2.4
+ OPTIONAL methods --> return defaults
+ and some utility methods (number conversions...)
+
+
+VSTPluginGUIAdapter
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2012. All Rights Reserved.
+
+
diff --git a/docs/javadoc/jvstwrapper/jvst/wrapper/package-tree.html b/docs/javadoc/jvstwrapper/jvst/wrapper/package-tree.html
new file mode 100644
index 0000000..4db2ad8
--- /dev/null
+++ b/docs/javadoc/jvstwrapper/jvst/wrapper/package-tree.html
@@ -0,0 +1,182 @@
+
+
+
+
+
+
+
+jvst.wrapper Class Hierarchy (jVSTwRapper 1.0beta API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Hierarchy For Package jvst.wrapper
+
+
+
+Package Hierarchies: All Packages
+
+
+Class Hierarchy
+
+
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2012. All Rights Reserved.
+
+
diff --git a/docs/javadoc/jvstwrapper/jvst/wrapper/package-use.html b/docs/javadoc/jvstwrapper/jvst/wrapper/package-use.html
new file mode 100644
index 0000000..770ce62
--- /dev/null
+++ b/docs/javadoc/jvstwrapper/jvst/wrapper/package-use.html
@@ -0,0 +1,200 @@
+
+
+
+
+
+
+
+Uses of Package jvst.wrapper (jVSTwRapper 1.0beta API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Uses of Package jvst.wrapper
+
+
+
+
+
+
+
+
+
+Classes in jvst.wrapper used by jvst.wrapper
+
+
+VSTPluginAdapter
+
+
+ Adapter to ignore VST 1.0, VST 2.0, VST 2.1, VST 2.2, VST 2.3, VST 2.4
+ OPTIONAL methods --> return defaults
+ and some utility methods (number conversions...)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2012. All Rights Reserved.
+
+
diff --git a/docs/javadoc/jvstwrapper/options b/docs/javadoc/jvstwrapper/options
new file mode 100644
index 0000000..a5a3d84
--- /dev/null
+++ b/docs/javadoc/jvstwrapper/options
@@ -0,0 +1,24 @@
+-classpath
+'C:/dev/github/opaz-java/src/jVSTwRapper/target/classes;C:/Users/drew/.m2/repository/net/sourceforge/jvstwrapper/jVSTsYstem/1.0beta/jVSTsYstem-1.0beta.jar;C:/Users/drew/.m2/repository/junit/junit/3.8.2/junit-3.8.2.jar'
+-encoding
+'UTF-8'
+-protected
+-sourcepath
+'C:/dev/github/opaz-java/src/jVSTwRapper/src'
+-author
+-bottom
+'Copyright © 2012. All Rights Reserved.'
+-charset
+'UTF-8'
+-d
+'C:/dev/github/opaz-java/src/jVSTwRapper/target/site/apidocs'
+-docencoding
+'UTF-8'
+-doctitle
+'jVSTwRapper 1.0beta API'
+-linkoffline
+'http://download.oracle.com/javase/6/docs/api' 'C:/dev/github/opaz-java/src/jVSTwRapper/target/javadoc-bundle-options'
+-use
+-version
+-windowtitle
+'jVSTwRapper 1.0beta API'
\ No newline at end of file
diff --git a/docs/javadoc/jvstwrapper/overview-frame.html b/docs/javadoc/jvstwrapper/overview-frame.html
new file mode 100644
index 0000000..f8e1926
--- /dev/null
+++ b/docs/javadoc/jvstwrapper/overview-frame.html
@@ -0,0 +1,47 @@
+
+
+
+
+
+
+
+Overview List (jVSTwRapper 1.0beta API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/javadoc/jvstwrapper/overview-summary.html b/docs/javadoc/jvstwrapper/overview-summary.html
new file mode 100644
index 0000000..53db679
--- /dev/null
+++ b/docs/javadoc/jvstwrapper/overview-summary.html
@@ -0,0 +1,165 @@
+
+
+
+
+
+
+
+Overview (jVSTwRapper 1.0beta API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+jVSTwRapper 1.0beta API
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2012. All Rights Reserved.
+
+
diff --git a/docs/javadoc/jvstwrapper/overview-tree.html b/docs/javadoc/jvstwrapper/overview-tree.html
new file mode 100644
index 0000000..0ac89b8
--- /dev/null
+++ b/docs/javadoc/jvstwrapper/overview-tree.html
@@ -0,0 +1,227 @@
+
+
+
+
+
+
+
+Class Hierarchy (jVSTwRapper 1.0beta API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Hierarchy For All Packages
+
+
+Package Hierarchies: jvst.wrapper , jvst.wrapper.communication , jvst.wrapper.gui
+
+
+Class Hierarchy
+
+
+
+Interface Hierarchy
+
+
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2012. All Rights Reserved.
+
+
diff --git a/docs/javadoc/jvstwrapper/package-list b/docs/javadoc/jvstwrapper/package-list
new file mode 100644
index 0000000..9021360
--- /dev/null
+++ b/docs/javadoc/jvstwrapper/package-list
@@ -0,0 +1,3 @@
+jvst.wrapper
+jvst.wrapper.communication
+jvst.wrapper.gui
diff --git a/docs/javadoc/jvstwrapper/packages b/docs/javadoc/jvstwrapper/packages
new file mode 100644
index 0000000..9f9b02a
--- /dev/null
+++ b/docs/javadoc/jvstwrapper/packages
@@ -0,0 +1,3 @@
+jvst.wrapper.communication
+jvst.wrapper.gui
+jvst.wrapper
\ No newline at end of file
diff --git a/docs/javadoc/jvstwrapper/resources/inherit.gif b/docs/javadoc/jvstwrapper/resources/inherit.gif
new file mode 100644
index 0000000..c814867
Binary files /dev/null and b/docs/javadoc/jvstwrapper/resources/inherit.gif differ
diff --git a/docs/javadoc/jvstwrapper/serialized-form.html b/docs/javadoc/jvstwrapper/serialized-form.html
new file mode 100644
index 0000000..35d1c7e
--- /dev/null
+++ b/docs/javadoc/jvstwrapper/serialized-form.html
@@ -0,0 +1,458 @@
+
+
+
+
+
+
+
+Serialized Form (jVSTwRapper 1.0beta API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Serialized Form
+
+
+
+
+
+
+Package jvst.wrapper
+
+
+
+
+
+
+
+
+
+
+
+
+Serialized Fields
+
+
+
+
+plugin
+
+VSTPluginAdapter plugin
+
+
+
+
+
+
+runner
+
+VSTPluginGUIRunner runner
+
+
+
+
+
+
+
+
+
+Package jvst.wrapper.gui
+
+
+
+
+
+
+
+
+serialVersionUID: 4797525904877917491L
+
+
+
+
+
+
+Serialized Fields
+
+
+
+
+label
+
+JLabel label
+
+
+
+
+
+
+slider
+
+JSlider slider
+
+
+
+
+
+
+text
+
+JTextField text
+
+
+
+
+
+
+
+
+
+
+serialVersionUID: -7625797152529235601L
+
+
+
+
+
+
+Serialized Fields
+
+
+
+
+changeEvent
+
+ChangeEvent changeEvent
+
+
+
+
+
+
+listenerList
+
+EventListenerList listenerList
+
+
+
+
+
+
+hitArc
+
+Arc2D hitArc
+
+
+
+
+
+
+ang
+
+float ang
+
+
+
+
+
+
+val
+
+float val
+
+
+
+
+
+
+dragpos
+
+int dragpos
+
+
+
+
+
+
+startVal
+
+float startVal
+
+
+
+
+
+
+focusColor
+
+Color focusColor
+
+
+
+
+
+
+lastAng
+
+double lastAng
+
+
+
+
+
+
+dragType
+
+int dragType
+
+
+
+
+
+
+shadowSizeX
+
+int shadowSizeX
+
+
+
+
+
+
+shadowSizeY
+
+int shadowSizeY
+
+
+
+
+
+
+dragIncrement
+
+float dragIncrement
+
+
+
+
+
+
+clickIncrement
+
+float clickIncrement
+
+
+
+
+
+
+size
+
+int size
+
+
+
+
+
+
+middle
+
+int middle
+
+
+
+
+
+
+
+
+
+
+serialVersionUID: -114796980764805052L
+
+
+
+
+
+
+Serialized Fields
+
+
+
+
+knob
+
+RotaryKnob knob
+
+
+
+
+
+
+label
+
+JLabel label
+
+
+
+
+
+
+text
+
+JTextField text
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2012. All Rights Reserved.
+
+
diff --git a/docs/javadoc/jvstwrapper/stylesheet.css b/docs/javadoc/jvstwrapper/stylesheet.css
new file mode 100644
index 0000000..cbd3428
--- /dev/null
+++ b/docs/javadoc/jvstwrapper/stylesheet.css
@@ -0,0 +1,29 @@
+/* Javadoc style sheet */
+
+/* Define colors, fonts and other style attributes here to override the defaults */
+
+/* Page background color */
+body { background-color: #FFFFFF; color:#000000 }
+
+/* Headings */
+h1 { font-size: 145% }
+
+/* Table colors */
+.TableHeadingColor { background: #CCCCFF; color:#000000 } /* Dark mauve */
+.TableSubHeadingColor { background: #EEEEFF; color:#000000 } /* Light mauve */
+.TableRowColor { background: #FFFFFF; color:#000000 } /* White */
+
+/* Font used in left-hand frame lists */
+.FrameTitleFont { font-size: 100%; font-family: Helvetica, Arial, sans-serif; color:#000000 }
+.FrameHeadingFont { font-size: 90%; font-family: Helvetica, Arial, sans-serif; color:#000000 }
+.FrameItemFont { font-size: 90%; font-family: Helvetica, Arial, sans-serif; color:#000000 }
+
+/* Navigation bar fonts and colors */
+.NavBarCell1 { background-color:#EEEEFF; color:#000000} /* Light mauve */
+.NavBarCell1Rev { background-color:#00008B; color:#FFFFFF} /* Dark Blue */
+.NavBarFont1 { font-family: Arial, Helvetica, sans-serif; color:#000000;color:#000000;}
+.NavBarFont1Rev { font-family: Arial, Helvetica, sans-serif; color:#FFFFFF;color:#FFFFFF;}
+
+.NavBarCell2 { font-family: Arial, Helvetica, sans-serif; background-color:#FFFFFF; color:#000000}
+.NavBarCell3 { font-family: Arial, Helvetica, sans-serif; background-color:#FFFFFF; color:#000000}
+
diff --git a/docs/javadoc/opaz-plugdk/allclasses-frame.html b/docs/javadoc/opaz-plugdk/allclasses-frame.html
new file mode 100644
index 0000000..8fa4279
--- /dev/null
+++ b/docs/javadoc/opaz-plugdk/allclasses-frame.html
@@ -0,0 +1,94 @@
+
+
+
+
+
+
+
+All Classes
+
+
+
+
+
+
+
+
+
+
+
+All Classes
+
+
+
+
+
+
diff --git a/docs/javadoc/opaz-plugdk/allclasses-noframe.html b/docs/javadoc/opaz-plugdk/allclasses-noframe.html
new file mode 100644
index 0000000..277a91f
--- /dev/null
+++ b/docs/javadoc/opaz-plugdk/allclasses-noframe.html
@@ -0,0 +1,94 @@
+
+
+
+
+
+
+
+All Classes
+
+
+
+
+
+
+
+
+
+
+
+All Classes
+
+
+
+
+
+
diff --git a/docs/javadoc/opaz-plugdk/constant-values.html b/docs/javadoc/opaz-plugdk/constant-values.html
new file mode 100644
index 0000000..6a036cb
--- /dev/null
+++ b/docs/javadoc/opaz-plugdk/constant-values.html
@@ -0,0 +1,1549 @@
+
+
+
+
+
+
+
+Constant Field Values
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constant Field Values
+
+
+Contents
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+jvst.wrapper.gui.RotaryKnob
+
+
+
+public static final int
+DRAGTYPE_ROUND
+2
+
+
+
+public static final int
+DRAGTYPE_SIMPLE
+1
+
+
+
+private static final float
+LENGTH
+270.0f
+
+
+
+private static final float
+LENGTH_ANG
+4.71238899230957f
+
+
+
+private static final float
+MULTIP
+57.2957763671875f
+
+
+
+private static final float
+PI
+3.1415927410125732f
+
+
+
+private static final long
+serialVersionUID
+-7625797152529235601L
+
+
+
+private static final float
+START
+225.0f
+
+
+
+private static final float
+START_ANG
+3.9269909858703613f
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+jvst.wrapper.gui.VSTPluginGUIRunner
+
+
+
+private static final int
+CLOSE
+1
+
+
+
+private static final int
+DESTROY
+2
+
+
+
+private static final int
+GETHEIGHT
+5
+
+
+
+private static final int
+GETWIDTH
+4
+
+
+
+private static final int
+OPEN
+0
+
+
+
+private static final int
+UNDECORATE
+3
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/javadoc/opaz-plugdk/deprecated-list.html b/docs/javadoc/opaz-plugdk/deprecated-list.html
new file mode 100644
index 0000000..9b4d72a
--- /dev/null
+++ b/docs/javadoc/opaz-plugdk/deprecated-list.html
@@ -0,0 +1,423 @@
+
+
+
+
+
+
+
+Deprecated List
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Deprecated API
+
+
+Contents
+
+
+
+
+
+
+
+
+
+Deprecated Methods
+
+
+jvst.wrapper.communication.VSTV10ToHost.canMono(boolean)
+
+ deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+
+
+jvst.wrapper.VSTPluginAdapter.copyProgram(int)
+
+ deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+
+
+jvst.wrapper.communication.VSTV20ToPlug.copyProgram(int)
+
+ deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+
+
+jvst.wrapper.VSTPluginAdapter.fxIdle()
+
+ deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+
+
+jvst.wrapper.communication.VSTV20ToPlug.fxIdle()
+
+ deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+
+
+jvst.wrapper.VSTPluginAdapter.getErrorText()
+
+ deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+
+
+jvst.wrapper.communication.VSTV20ToPlug.getErrorText()
+
+ deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+
+
+jvst.wrapper.communication.VSTV20ToHost.getNumAutomatableParameters()
+
+ deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+
+
+jvst.wrapper.VSTPluginAdapter.getNumCategories()
+
+ deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+
+
+jvst.wrapper.communication.VSTV20ToPlug.getNumCategories()
+
+ deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+
+
+jvst.wrapper.communication.VSTV20ToHost.getParameterQuantization()
+
+ deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+
+
+jvst.wrapper.VSTPluginAdapter.getVu()
+
+ deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+
+
+jvst.wrapper.communication.VSTV10ToPlug.getVu()
+
+ deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+
+
+jvst.wrapper.communication.VSTV10ToHost.hasClip(boolean)
+
+ deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+
+
+jvst.wrapper.communication.VSTV20ToHost.hasExternalBuffer(boolean)
+
+ deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+
+
+jvst.wrapper.communication.VSTV10ToHost.hasVu(boolean)
+
+ deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+
+
+jvst.wrapper.VSTPluginAdapter.inputConnected(int, boolean)
+
+ deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+
+
+jvst.wrapper.communication.VSTV20ToPlug.inputConnected(int, boolean)
+
+ deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+
+
+jvst.wrapper.VSTPluginAdapter.keysRequired()
+
+ deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+
+
+jvst.wrapper.communication.VSTV20ToPlug.keysRequired()
+
+ deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+
+
+jvst.wrapper.communication.VSTV20ToHost.needIdle()
+
+ deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+
+
+jvst.wrapper.VSTPluginAdapter.outputConnected(int, boolean)
+
+ deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+
+
+jvst.wrapper.communication.VSTV20ToPlug.outputConnected(int, boolean)
+
+ deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+
+
+jvst.wrapper.VSTPluginAdapter.process(float[][], float[][], int)
+
+ deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+
+ USE processReplacing() and/or processDoubleReplacing() INSTEAD!
+
+
+jvst.wrapper.communication.VSTV10ToPlug.process(float[][], float[][], int)
+
+ deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+
+ USE processReplacing() and/or processDoubleReplacing() INSTEAD!
+
+
+jvst.wrapper.VSTPluginAdapter.reportCurrentPosition()
+
+ deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+
+
+jvst.wrapper.communication.VSTV20ToPlug.reportCurrentPosition()
+
+ deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+
+
+jvst.wrapper.VSTPluginAdapter.reportDestinationBuffer()
+
+ deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+
+
+jvst.wrapper.communication.VSTV20ToPlug.reportDestinationBuffer()
+
+ deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+
+
+jvst.wrapper.VSTPluginAdapter.setBlockSizeAndSampleRate(int, float)
+
+ deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+
+
+jvst.wrapper.communication.VSTV20ToPlug.setBlockSizeAndSampleRate(int, float)
+
+ deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+
+
+jvst.wrapper.communication.VSTV10ToHost.setOfflineQualities(int)
+
+ deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+
+
+jvst.wrapper.communication.VSTV20ToHost.setOutputSamplerate(float)
+
+ deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+
+
+jvst.wrapper.communication.VSTV10ToHost.setRealtimeQualities(int)
+
+ deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+
+
+jvst.wrapper.communication.VSTV20ToHost.tempoAt(int)
+
+ deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+
+
+jvst.wrapper.communication.VSTV20ToHost.wantAsyncOperation(boolean)
+
+ deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+
+
+jvst.wrapper.communication.VSTV20ToHost.wantEvents(int)
+
+ deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+
+
+jvst.wrapper.communication.VSTV20ToHost.willProcessReplacing()
+
+ deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/javadoc/opaz-plugdk/help-doc.html b/docs/javadoc/opaz-plugdk/help-doc.html
new file mode 100644
index 0000000..5a51ed7
--- /dev/null
+++ b/docs/javadoc/opaz-plugdk/help-doc.html
@@ -0,0 +1,224 @@
+
+
+
+
+
+
+
+API Help
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+How This API Document Is Organized
+
+This API (Application Programming Interface) document has pages corresponding to the items in the navigation bar, described as follows.
+Overview
+
+
+
+The Overview page is the front page of this API document and provides a list of all packages with a summary for each. This page can also contain an overall description of the set of packages.
+
+Package
+
+
+
+Each package has a page that contains a list of its classes and interfaces, with a summary for each. This page can contain four categories:
+Interfaces (italic) Classes Enums Exceptions Errors Annotation Types
+
+
+Class/Interface
+
+
+
+Each class, interface, nested class and nested interface has its own separate page. Each of these pages has three sections consisting of a class/interface description, summary tables, and detailed member descriptions:
+Class inheritance diagram Direct Subclasses All Known Subinterfaces All Known Implementing Classes Class/interface declaration Class/interface description
+
+
Nested Class Summary Field Summary Constructor Summary Method Summary
+
+
Field Detail Constructor Detail Method Detail
+Each summary entry contains the first sentence from the detailed description for that item. The summary entries are alphabetical, while the detailed descriptions are in the order they appear in the source code. This preserves the logical groupings established by the programmer.
+
+
+Annotation Type
+
+
+
+Each annotation type has its own separate page with the following sections:
+Annotation Type declaration Annotation Type description Required Element Summary Optional Element Summary Element Detail
+
+
+
+Enum
+
+
+
+Each enum has its own separate page with the following sections:
+Enum declaration Enum description Enum Constant Summary Enum Constant Detail
+
+
+Use
+
+Each documented package, class and interface has its own Use page. This page describes what packages, classes, methods, constructors and fields use any part of the given class or package. Given a class or interface A, its Use page includes subclasses of A, fields declared as A, methods that return A, and methods and constructors with parameters of type A. You can access this page by first going to the package, class or interface, then clicking on the "Use" link in the navigation bar.
+
+Tree (Class Hierarchy)
+
+There is a Class Hierarchy page for all packages, plus a hierarchy for each package. Each hierarchy page contains a list of classes and a list of interfaces. The classes are organized by inheritance structure starting with java.lang.Object. The interfaces do not inherit from java.lang.Object.
+When viewing the Overview page, clicking on "Tree" displays the hierarchy for all packages. When viewing a particular package, class or interface page, clicking "Tree" displays the hierarchy for only that package.
+
+
+Deprecated API
+
+The Deprecated API page lists all of the API that have been deprecated. A deprecated API is not recommended for use, generally due to improvements, and a replacement API is usually given. Deprecated APIs may be removed in future implementations.
+
+Index
+
+The Index contains an alphabetic list of all classes, interfaces, constructors, methods, and fields.
+
+Prev/Next
+These links take you to the next or previous class, interface, package, or related page.
+Frames/No Frames
+These links show and hide the HTML frames. All pages are available with or without frames.
+
+
+Serialized Form
+Each serializable or externalizable class has a description of its serialization fields and methods. This information is of interest to re-implementors, not to developers using the API. While there is no link in the navigation bar, you can get to this information by going to any serialized class and clicking "Serialized Form" in the "See also" section of the class description.
+
+
+Constant Field Values
+The Constant Field Values page lists the static final fields and their values.
+
+
+
+This help file applies to API documentation generated using the standard doclet.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/javadoc/opaz-plugdk/index-files/index-1.html b/docs/javadoc/opaz-plugdk/index-files/index-1.html
new file mode 100644
index 0000000..abb8f80
--- /dev/null
+++ b/docs/javadoc/opaz-plugdk/index-files/index-1.html
@@ -0,0 +1,164 @@
+
+
+
+
+
+
+
+A-Index
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+A B C D E F G H I J K L M N O P R S T U V W _
+
+A
+
+AALIAS -
+Static variable in class jvst.wrapper.gui.RotaryKnob
+
+ addChangeListener(ChangeListener) -
+Method in class jvst.wrapper.gui.JSliderPlusText
+
+ addChangeListener(ChangeListener) -
+Method in class jvst.wrapper.gui.RotaryKnob
+
+ addChangeListener(ChangeListener) -
+Method in class jvst.wrapper.gui.RotaryKnobPlusText
+
+ ang -
+Variable in class jvst.wrapper.gui.RotaryKnob
+
+ ArrangementType -
+Variable in class jvst.wrapper.valueobjects.VSTPinProperties
+
+ azimuth -
+Variable in class jvst.wrapper.valueobjects.VSTSpeakerProperties
+
+
+
+
+
+
+
+
+
+
+
+
+A B C D E F G H I J K L M N O P R S T U V W _
+
+
+
diff --git a/docs/javadoc/opaz-plugdk/index-files/index-10.html b/docs/javadoc/opaz-plugdk/index-files/index-10.html
new file mode 100644
index 0000000..81daf8c
--- /dev/null
+++ b/docs/javadoc/opaz-plugdk/index-files/index-10.html
@@ -0,0 +1,149 @@
+
+
+
+
+
+
+
+J-Index
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+A B C D E F G H I J K L M N O P R S T U V W _
+
+J
+
+JSliderPlusText - Class in jvst.wrapper.gui JSliderPlusText() -
+Constructor for class jvst.wrapper.gui.JSliderPlusText
+
+ JSliderPlusText(String) -
+Constructor for class jvst.wrapper.gui.JSliderPlusText
+
+ jvst.wrapper - package jvst.wrapper jvst.wrapper.communication - package jvst.wrapper.communication jvst.wrapper.gui - package jvst.wrapper.gui jvst.wrapper.valueobjects - package jvst.wrapper.valueobjects
+
+
+
+
+
+
+
+
+
+
+A B C D E F G H I J K L M N O P R S T U V W _
+
+
+
diff --git a/docs/javadoc/opaz-plugdk/index-files/index-11.html b/docs/javadoc/opaz-plugdk/index-files/index-11.html
new file mode 100644
index 0000000..6aaa53e
--- /dev/null
+++ b/docs/javadoc/opaz-plugdk/index-files/index-11.html
@@ -0,0 +1,157 @@
+
+
+
+
+
+
+
+K-Index
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+A B C D E F G H I J K L M N O P R S T U V W _
+
+K
+
+keyName -
+Variable in class jvst.wrapper.valueobjects.MidiKeyName
+
+ keysRequired() -
+Method in interface jvst.wrapper.communication.VSTV20ToPlug
+Deprecated. deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+keysRequired() -
+Method in class jvst.wrapper.VSTPluginAdapter
+Deprecated. deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+knob -
+Variable in class jvst.wrapper.gui.RotaryKnobPlusText
+
+
+
+
+
+
+
+
+
+
+
+
+A B C D E F G H I J K L M N O P R S T U V W _
+
+
+
diff --git a/docs/javadoc/opaz-plugdk/index-files/index-12.html b/docs/javadoc/opaz-plugdk/index-files/index-12.html
new file mode 100644
index 0000000..4c6c0ec
--- /dev/null
+++ b/docs/javadoc/opaz-plugdk/index-files/index-12.html
@@ -0,0 +1,197 @@
+
+
+
+
+
+
+
+L-Index
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+A B C D E F G H I J K L M N O P R S T U V W _
+
+L
+
+label -
+Variable in class jvst.wrapper.gui.JSliderPlusText
+
+ label -
+Variable in class jvst.wrapper.gui.RotaryKnobPlusText
+
+ label -
+Variable in class jvst.wrapper.valueobjects.VSTParameterProperties
+
+ Label -
+Variable in class jvst.wrapper.valueobjects.VSTPinProperties
+
+ largeStepFloat -
+Variable in class jvst.wrapper.valueobjects.VSTParameterProperties
+
+ largeStepInteger -
+Variable in class jvst.wrapper.valueobjects.VSTParameterProperties
+
+ lastAng -
+Variable in class jvst.wrapper.gui.RotaryKnob
+
+ LENGTH -
+Static variable in class jvst.wrapper.gui.RotaryKnob
+
+ LENGTH_ANG -
+Static variable in class jvst.wrapper.gui.RotaryKnob
+
+ libraryOk -
+Variable in class jvst.wrapper.gui.VSTPluginGUIRunner
+
+ listenerList -
+Variable in class jvst.wrapper.gui.RotaryKnob
+
+ loadVSTGUI(String, VSTPluginAdapter) -
+Method in class jvst.wrapper.gui.VSTPluginGUIRunner
+
+ log(String) -
+Method in class jvst.wrapper.gui.VSTPluginGUIRunner
+
+ log(String) -
+Static method in class jvst.wrapper.VSTPluginAdapter
+logging
+ log(String) -
+Method in class jvst.wrapper.VSTPluginGUIAdapter
+
+ logBasePath -
+Static variable in class jvst.wrapper.VSTPluginAdapter
+
+ logEnabled -
+Static variable in class jvst.wrapper.VSTPluginAdapter
+
+ logFileName -
+Static variable in class jvst.wrapper.VSTPluginAdapter
+
+
+
+
+
+
+
+
+
+
+
+
+A B C D E F G H I J K L M N O P R S T U V W _
+
+
+
diff --git a/docs/javadoc/opaz-plugdk/index-files/index-13.html b/docs/javadoc/opaz-plugdk/index-files/index-13.html
new file mode 100644
index 0000000..52ff2a0
--- /dev/null
+++ b/docs/javadoc/opaz-plugdk/index-files/index-13.html
@@ -0,0 +1,197 @@
+
+
+
+
+
+
+
+M-Index
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+A B C D E F G H I J K L M N O P R S T U V W _
+
+M
+
+main(String[]) -
+Static method in class jvst.wrapper.gui.JSliderPlusText
+
+ main(String[]) -
+Static method in class jvst.wrapper.gui.RotaryKnob
+
+ main(String[]) -
+Static method in class jvst.wrapper.gui.RotaryKnobPlusText
+
+ masterIdle() -
+Method in class jvst.wrapper.communication.VSTV10ToHost
+
+ matchArrangement(VSTSpeakerArrangement, VSTSpeakerArrangement) -
+Method in class jvst.wrapper.communication.VSTV23ToHost
+
+ maxInteger -
+Variable in class jvst.wrapper.valueobjects.VSTParameterProperties
+
+ middle -
+Variable in class jvst.wrapper.gui.RotaryKnob
+
+ MIDI_IS_OMNI -
+Static variable in class jvst.wrapper.valueobjects.MidiProgramName
+
+ midiBankLsb -
+Variable in class jvst.wrapper.valueobjects.MidiProgramName
+
+ midiBankMsb -
+Variable in class jvst.wrapper.valueobjects.MidiProgramName
+
+ MidiKeyName - Class in jvst.wrapper.valueobjects MidiKeyName() -
+Constructor for class jvst.wrapper.valueobjects.MidiKeyName
+
+ midiProgram -
+Variable in class jvst.wrapper.valueobjects.MidiProgramName
+
+ MidiProgramCategory - Class in jvst.wrapper.valueobjects MidiProgramCategory() -
+Constructor for class jvst.wrapper.valueobjects.MidiProgramCategory
+
+ MidiProgramName - Class in jvst.wrapper.valueobjects MidiProgramName() -
+Constructor for class jvst.wrapper.valueobjects.MidiProgramName
+
+ MIN_SIZE -
+Static variable in class jvst.wrapper.gui.RotaryKnob
+
+ minInteger -
+Variable in class jvst.wrapper.valueobjects.VSTParameterProperties
+
+ msToString(float, int) -
+Method in class jvst.wrapper.VSTPluginAdapter
+
+ MULTIP -
+Static variable in class jvst.wrapper.gui.RotaryKnob
+
+
+
+
+
+
+
+
+
+
+
+
+A B C D E F G H I J K L M N O P R S T U V W _
+
+
+
diff --git a/docs/javadoc/opaz-plugdk/index-files/index-14.html b/docs/javadoc/opaz-plugdk/index-files/index-14.html
new file mode 100644
index 0000000..1b2ee68
--- /dev/null
+++ b/docs/javadoc/opaz-plugdk/index-files/index-14.html
@@ -0,0 +1,198 @@
+
+
+
+
+
+
+
+N-Index
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+A B C D E F G H I J K L M N O P R S T U V W _
+
+N
+
+name -
+Variable in class jvst.wrapper.valueobjects.MidiProgramCategory
+
+ name -
+Variable in class jvst.wrapper.valueobjects.MidiProgramName
+
+ name -
+Variable in class jvst.wrapper.valueobjects.VSTSpeakerProperties
+
+ nanoSeconds -
+Variable in class jvst.wrapper.valueobjects.VSTTimeInfo
+
+ needIdle() -
+Method in class jvst.wrapper.communication.VSTV20ToHost
+Deprecated. deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+noTail(boolean) -
+Method in class jvst.wrapper.communication.VSTV20ToHost
+
+ noteLength -
+Variable in class jvst.wrapper.valueobjects.VSTMidiEvent
+
+ noteOffset -
+Variable in class jvst.wrapper.valueobjects.VSTMidiEvent
+
+ noteOffVelocity -
+Variable in class jvst.wrapper.valueobjects.VSTMidiEvent
+
+ numChannels -
+Variable in class jvst.wrapper.valueobjects.VSTSpeakerArrangement
+
+ numElements -
+Variable in class jvst.wrapper.valueobjects.VSTPatchChunkInfo
+
+ numEvents -
+Variable in class jvst.wrapper.valueobjects.VSTEvents
+
+ numParametersInCategory -
+Variable in class jvst.wrapper.valueobjects.VSTParameterProperties
+
+ numSamplesInput -
+Variable in class jvst.wrapper.valueobjects.VSTVariableIO
+
+ numSamplesInputProcessed -
+Variable in class jvst.wrapper.valueobjects.VSTVariableIO
+
+ numSamplesOutput -
+Variable in class jvst.wrapper.valueobjects.VSTVariableIO
+
+ numSamplesOutputProcessed -
+Variable in class jvst.wrapper.valueobjects.VSTVariableIO
+
+ NumSpeakerArr -
+Static variable in class jvst.wrapper.valueobjects.VSTSpeakerArrangement
+
+
+
+
+
+
+
+
+
+
+
+
+A B C D E F G H I J K L M N O P R S T U V W _
+
+
+
diff --git a/docs/javadoc/opaz-plugdk/index-files/index-15.html b/docs/javadoc/opaz-plugdk/index-files/index-15.html
new file mode 100644
index 0000000..6f261d7
--- /dev/null
+++ b/docs/javadoc/opaz-plugdk/index-files/index-15.html
@@ -0,0 +1,172 @@
+
+
+
+
+
+
+
+O-Index
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+A B C D E F G H I J K L M N O P R S T U V W _
+
+O
+
+open() -
+Method in interface jvst.wrapper.communication.VSTV10ToPlug
+
+ open() -
+Method in interface jvst.wrapper.gui.VSTPluginGUI
+Description of the Method
+ OPEN -
+Static variable in class jvst.wrapper.gui.VSTPluginGUIRunner
+
+ open() -
+Method in class jvst.wrapper.gui.VSTPluginGUIRunner
+
+ open() -
+Method in class jvst.wrapper.VSTPluginAdapter
+
+ open() -
+Method in class jvst.wrapper.VSTPluginGUIAdapter
+
+ outputConnected(int, boolean) -
+Method in interface jvst.wrapper.communication.VSTV20ToPlug
+Deprecated. deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+outputConnected(int, boolean) -
+Method in class jvst.wrapper.VSTPluginAdapter
+Deprecated. deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+outputs -
+Variable in class jvst.wrapper.valueobjects.VSTVariableIO
+
+
+
+
+
+
+
+
+
+
+
+
+A B C D E F G H I J K L M N O P R S T U V W _
+
+
+
diff --git a/docs/javadoc/opaz-plugdk/index-files/index-16.html b/docs/javadoc/opaz-plugdk/index-files/index-16.html
new file mode 100644
index 0000000..d10bdcb
--- /dev/null
+++ b/docs/javadoc/opaz-plugdk/index-files/index-16.html
@@ -0,0 +1,248 @@
+
+
+
+
+
+
+
+P-Index
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+A B C D E F G H I J K L M N O P R S T U V W _
+
+P
+
+paint(Graphics) -
+Method in class jvst.wrapper.gui.RotaryKnob
+
+ PAN_LAW_EQUAL_POWER -
+Static variable in class jvst.wrapper.VSTPluginAdapter
+
+ PAN_LAW_LINEAR -
+Static variable in class jvst.wrapper.VSTPluginAdapter
+
+ parentCategoryIndex -
+Variable in class jvst.wrapper.valueobjects.MidiProgramCategory
+
+ parentCategoryIndex -
+Variable in class jvst.wrapper.valueobjects.MidiProgramName
+
+ PI -
+Static variable in class jvst.wrapper.gui.RotaryKnob
+
+ PLUG_CATEG_ANALYSIS -
+Static variable in interface jvst.wrapper.communication.VSTV20ToPlug
+
+ PLUG_CATEG_EFFECT -
+Static variable in interface jvst.wrapper.communication.VSTV20ToPlug
+
+ PLUG_CATEG_GENERATOR -
+Static variable in interface jvst.wrapper.communication.VSTV20ToPlug
+
+ PLUG_CATEG_MASTERING -
+Static variable in interface jvst.wrapper.communication.VSTV20ToPlug
+
+ PLUG_CATEG_OFFLINE_PROCESS -
+Static variable in interface jvst.wrapper.communication.VSTV20ToPlug
+
+ PLUG_CATEG_RESTORATION -
+Static variable in interface jvst.wrapper.communication.VSTV20ToPlug
+
+ PLUG_CATEG_ROOM_FX -
+Static variable in interface jvst.wrapper.communication.VSTV20ToPlug
+
+ PLUG_CATEG_SHELL -
+Static variable in interface jvst.wrapper.communication.VSTV20ToPlug
+
+ PLUG_CATEG_SPACIALIZER -
+Static variable in interface jvst.wrapper.communication.VSTV20ToPlug
+
+ PLUG_CATEG_SURROUND_FX -
+Static variable in interface jvst.wrapper.communication.VSTV20ToPlug
+
+ PLUG_CATEG_SYNTH -
+Static variable in interface jvst.wrapper.communication.VSTV20ToPlug
+
+ PLUG_CATEG_UNKNOWN -
+Static variable in interface jvst.wrapper.communication.VSTV20ToPlug
+
+ plugin -
+Variable in class jvst.wrapper.VSTPluginGUIAdapter
+
+ pluginUniqueID -
+Variable in class jvst.wrapper.valueobjects.VSTPatchChunkInfo
+
+ pluginVersion -
+Variable in class jvst.wrapper.valueobjects.VSTPatchChunkInfo
+
+ ppqPos -
+Variable in class jvst.wrapper.valueobjects.VSTTimeInfo
+
+ PREF_SIZE -
+Static variable in class jvst.wrapper.gui.RotaryKnob
+
+ process(float[][], float[][], int) -
+Method in interface jvst.wrapper.communication.VSTV10ToPlug
+Deprecated. deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+
+ USE processReplacing() and/or processDoubleReplacing() INSTEAD!
+process(float[][], float[][], int) -
+Method in class jvst.wrapper.VSTPluginAdapter
+Deprecated. deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+
+ USE processReplacing() and/or processDoubleReplacing() INSTEAD!
+processDoubleReplacing(double[][], double[][], int) -
+Method in interface jvst.wrapper.communication.VSTV24ToPlug
+
+ processDoubleReplacing(double[][], double[][], int) -
+Method in class jvst.wrapper.VSTPluginAdapter
+
+ processEvents(VSTEvents) -
+Method in interface jvst.wrapper.communication.VSTV20ToPlug
+
+ processEvents(VSTEvents) -
+Method in class jvst.wrapper.VSTPluginAdapter
+
+ processReplacing(float[][], float[][], int) -
+Method in interface jvst.wrapper.communication.VSTV10ToPlug
+
+ processVariableIo(VSTVariableIO) -
+Method in interface jvst.wrapper.communication.VSTV20ToPlug
+
+ processVariableIo(VSTVariableIO) -
+Method in class jvst.wrapper.VSTPluginAdapter
+
+ programsAreChunks(boolean) -
+Method in class jvst.wrapper.communication.VSTV10ToHost
+
+
+
+
+
+
+
+
+
+
+
+
+A B C D E F G H I J K L M N O P R S T U V W _
+
+
+
diff --git a/docs/javadoc/opaz-plugdk/index-files/index-17.html b/docs/javadoc/opaz-plugdk/index-files/index-17.html
new file mode 100644
index 0000000..9fb046c
--- /dev/null
+++ b/docs/javadoc/opaz-plugdk/index-files/index-17.html
@@ -0,0 +1,213 @@
+
+
+
+
+
+
+
+R-Index
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+A B C D E F G H I J K L M N O P R S T U V W _
+
+R
+
+radius -
+Variable in class jvst.wrapper.valueobjects.VSTSpeakerProperties
+
+ removeChangeListener(ChangeListener) -
+Method in class jvst.wrapper.gui.RotaryKnob
+
+ reportCurrentPosition() -
+Method in interface jvst.wrapper.communication.VSTV20ToPlug
+Deprecated. deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+reportCurrentPosition() -
+Method in class jvst.wrapper.VSTPluginAdapter
+Deprecated. deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+reportDestinationBuffer() -
+Method in interface jvst.wrapper.communication.VSTV20ToPlug
+Deprecated. deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+reportDestinationBuffer() -
+Method in class jvst.wrapper.VSTPluginAdapter
+Deprecated. deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+reserved -
+Variable in class jvst.wrapper.valueobjects.MidiKeyName
+
+ reserved -
+Variable in class jvst.wrapper.valueobjects.MidiProgramName
+
+ reserved -
+Variable in class jvst.wrapper.valueobjects.VSTEvents
+
+ reserved -
+Variable in class jvst.wrapper.valueobjects.VSTParameterProperties
+
+ reserved -
+Variable in class jvst.wrapper.valueobjects.VSTSpeakerProperties
+
+ reserved1 -
+Variable in class jvst.wrapper.valueobjects.VSTMidiEvent
+
+ reserved2 -
+Variable in class jvst.wrapper.valueobjects.VSTMidiEvent
+
+ resume() -
+Method in interface jvst.wrapper.communication.VSTV10ToPlug
+
+ resume() -
+Method in class jvst.wrapper.VSTPluginAdapter
+
+ RotaryKnob - Class in jvst.wrapper.gui RotaryKnob() -
+Constructor for class jvst.wrapper.gui.RotaryKnob
+
+ RotaryKnobPlusText - Class in jvst.wrapper.gui RotaryKnobPlusText() -
+Constructor for class jvst.wrapper.gui.RotaryKnobPlusText
+
+ RotaryKnobPlusText(String) -
+Constructor for class jvst.wrapper.gui.RotaryKnobPlusText
+
+ runAndWait(int) -
+Method in class jvst.wrapper.gui.VSTPluginGUIRunner
+
+ runLater(int) -
+Method in class jvst.wrapper.gui.VSTPluginGUIRunner
+
+ runner -
+Variable in class jvst.wrapper.VSTPluginGUIAdapter
+
+ RUNNING_MAC_X -
+Static variable in class jvst.wrapper.VSTPluginGUIAdapter
+
+
+
+
+
+
+
+
+
+
+
+
+A B C D E F G H I J K L M N O P R S T U V W _
+
+
+
diff --git a/docs/javadoc/opaz-plugdk/index-files/index-18.html b/docs/javadoc/opaz-plugdk/index-files/index-18.html
new file mode 100644
index 0000000..ce4e7aa
--- /dev/null
+++ b/docs/javadoc/opaz-plugdk/index-files/index-18.html
@@ -0,0 +1,808 @@
+
+
+
+
+
+
+
+S-Index
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+A B C D E F G H I J K L M N O P R S T U V W _
+
+S
+
+samplePos -
+Variable in class jvst.wrapper.valueobjects.VSTTimeInfo
+
+ sampleRate -
+Variable in class jvst.wrapper.valueobjects.VSTTimeInfo
+
+ samplesToNextClock -
+Variable in class jvst.wrapper.valueobjects.VSTTimeInfo
+
+ sendVstEventsToHost(VSTEvents) -
+Method in class jvst.wrapper.communication.VSTV20ToHost
+
+ serialVersionUID -
+Static variable in class jvst.wrapper.gui.JSliderPlusText
+
+ serialVersionUID -
+Static variable in class jvst.wrapper.gui.RotaryKnob
+
+ serialVersionUID -
+Static variable in class jvst.wrapper.gui.RotaryKnobPlusText
+
+ setArrangementType(int) -
+Method in class jvst.wrapper.valueobjects.VSTPinProperties
+
+ setAzimuth(float) -
+Method in class jvst.wrapper.valueobjects.VSTSpeakerProperties
+
+ setBlockSize(int) -
+Method in interface jvst.wrapper.communication.VSTV10ToPlug
+
+ setBlockSize(int) -
+Method in class jvst.wrapper.VSTPluginAdapter
+
+ setBlockSizeAndSampleRate(int, float) -
+Method in interface jvst.wrapper.communication.VSTV20ToPlug
+Deprecated. deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+setBlockSizeAndSampleRate(int, float) -
+Method in class jvst.wrapper.VSTPluginAdapter
+Deprecated. deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+setBypass(boolean) -
+Method in interface jvst.wrapper.communication.VSTV20ToPlug
+
+ setByteSize(int) -
+Method in class jvst.wrapper.valueobjects.VSTEvent
+
+ setCategory(int) -
+Method in class jvst.wrapper.valueobjects.VSTParameterProperties
+
+ setCategoryLabel(String) -
+Method in class jvst.wrapper.valueobjects.VSTParameterProperties
+
+ setChunk(byte[], int, boolean) -
+Method in interface jvst.wrapper.communication.VSTV10ToPlug
+
+ setChunk(byte[], int, boolean) -
+Method in class jvst.wrapper.VSTPluginAdapter
+
+ setClickIncrement(float) -
+Method in class jvst.wrapper.gui.RotaryKnob
+
+ setData(byte[]) -
+Method in class jvst.wrapper.valueobjects.VSTEvent
+
+ setDeltaFrames(int) -
+Method in class jvst.wrapper.valueobjects.VSTEvent
+
+ setDetune(byte) -
+Method in class jvst.wrapper.valueobjects.VSTMidiEvent
+
+ setDisplayIndex(int) -
+Method in class jvst.wrapper.valueobjects.VSTParameterProperties
+
+ setDragIncrement(float) -
+Method in class jvst.wrapper.gui.RotaryKnob
+
+ setDragType(int) -
+Method in class jvst.wrapper.gui.RotaryKnob
+
+ setElevation(float) -
+Method in class jvst.wrapper.valueobjects.VSTSpeakerProperties
+
+ setEvents(VSTEvent[]) -
+Method in class jvst.wrapper.valueobjects.VSTEvents
+
+ setFlags(int) -
+Method in class jvst.wrapper.valueobjects.MidiKeyName
+
+ setFlags(int) -
+Method in class jvst.wrapper.valueobjects.MidiProgramCategory
+
+ setFlags(int) -
+Method in class jvst.wrapper.valueobjects.MidiProgramName
+
+ setFlags(int) -
+Method in class jvst.wrapper.valueobjects.VSTEvent
+
+ setFlags(int) -
+Method in class jvst.wrapper.valueobjects.VSTParameterProperties
+
+ setFlags(int) -
+Method in class jvst.wrapper.valueobjects.VSTPinProperties
+
+ setFuture(char[]) -
+Method in class jvst.wrapper.valueobjects.VSTParameterProperties
+
+ setFuture(char[]) -
+Method in class jvst.wrapper.valueobjects.VSTSpeakerProperties
+
+ setInitialDelay(int) -
+Method in class jvst.wrapper.communication.VSTV10ToHost
+
+ setInputs(float[][]) -
+Method in class jvst.wrapper.valueobjects.VSTVariableIO
+
+ setIsLogEnabled(boolean) -
+Static method in class jvst.wrapper.VSTPluginAdapter
+
+ setKeyname(String) -
+Method in class jvst.wrapper.valueobjects.MidiKeyName
+
+ setLabel(String) -
+Method in class jvst.wrapper.valueobjects.VSTParameterProperties
+
+ setLabel(String) -
+Method in class jvst.wrapper.valueobjects.VSTPinProperties
+
+ setLargeStepFloat(float) -
+Method in class jvst.wrapper.valueobjects.VSTParameterProperties
+
+ setLargeStepInteger(int) -
+Method in class jvst.wrapper.valueobjects.VSTParameterProperties
+
+ setMaxInteger(int) -
+Method in class jvst.wrapper.valueobjects.VSTParameterProperties
+
+ setMidiBankLsb(byte) -
+Method in class jvst.wrapper.valueobjects.MidiProgramName
+
+ setMidiBankMsb(byte) -
+Method in class jvst.wrapper.valueobjects.MidiProgramName
+
+ setMidiProgram(byte) -
+Method in class jvst.wrapper.valueobjects.MidiProgramName
+
+ setMinInteger(int) -
+Method in class jvst.wrapper.valueobjects.VSTParameterProperties
+
+ setName(String) -
+Method in class jvst.wrapper.gui.JSliderPlusText
+
+ setName(String) -
+Method in class jvst.wrapper.gui.RotaryKnobPlusText
+
+ setName(String) -
+Method in class jvst.wrapper.valueobjects.MidiProgramCategory
+
+ setName(String) -
+Method in class jvst.wrapper.valueobjects.MidiProgramName
+
+ setName(String) -
+Method in class jvst.wrapper.valueobjects.VSTSpeakerProperties
+
+ setNoteLength(int) -
+Method in class jvst.wrapper.valueobjects.VSTMidiEvent
+
+ setNoteOffset(int) -
+Method in class jvst.wrapper.valueobjects.VSTMidiEvent
+
+ setNoteOffVelocity(byte) -
+Method in class jvst.wrapper.valueobjects.VSTMidiEvent
+
+ setNumChannels(int) -
+Method in class jvst.wrapper.valueobjects.VSTSpeakerArrangement
+
+ setNumEvents(int) -
+Method in class jvst.wrapper.valueobjects.VSTEvents
+
+ setNumInputs(int) -
+Method in class jvst.wrapper.communication.VSTV10ToHost
+
+ setNumOutputs(int) -
+Method in class jvst.wrapper.communication.VSTV10ToHost
+
+ setNumParametersInCategory(int) -
+Method in class jvst.wrapper.valueobjects.VSTParameterProperties
+
+ setNumSamplesInput(int) -
+Method in class jvst.wrapper.valueobjects.VSTVariableIO
+
+ setNumSamplesInputProcessed(int) -
+Method in class jvst.wrapper.valueobjects.VSTVariableIO
+
+ setNumSamplesOutput(int) -
+Method in class jvst.wrapper.valueobjects.VSTVariableIO
+
+ setNumSamplesOutputProcessed(int) -
+Method in class jvst.wrapper.valueobjects.VSTVariableIO
+
+ setOfflineQualities(int) -
+Method in class jvst.wrapper.communication.VSTV10ToHost
+Deprecated. deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+setOutputs(float[][]) -
+Method in class jvst.wrapper.valueobjects.VSTVariableIO
+
+ setOutputSamplerate(float) -
+Method in class jvst.wrapper.communication.VSTV20ToHost
+Deprecated. deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+setPanLaw(int, float) -
+Method in class jvst.wrapper.communication.VSTV23ToHost
+
+ setParameter(int, float) -
+Method in interface jvst.wrapper.communication.VSTV10ToPlug
+
+ setParameterAutomated(int, float) -
+Method in class jvst.wrapper.communication.VSTV10ToHost
+
+ setParentCategoryIndex(int) -
+Method in class jvst.wrapper.valueobjects.MidiProgramCategory
+
+ setParentCategoryIndex(int) -
+Method in class jvst.wrapper.valueobjects.MidiProgramName
+
+ setProcessPrecision(int) -
+Method in interface jvst.wrapper.communication.VSTV24ToPlug
+
+ setProcessPrecision(int) -
+Method in class jvst.wrapper.VSTPluginAdapter
+
+ setProgram(int) -
+Method in interface jvst.wrapper.communication.VSTV10ToPlug
+
+ setProgramName(String) -
+Method in interface jvst.wrapper.communication.VSTV10ToPlug
+
+ setRadius(float) -
+Method in class jvst.wrapper.valueobjects.VSTSpeakerProperties
+
+ setRealtimeQualities(int) -
+Method in class jvst.wrapper.communication.VSTV10ToHost
+Deprecated. deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+setReserved(int) -
+Method in class jvst.wrapper.valueobjects.MidiKeyName
+
+ setReserved(byte) -
+Method in class jvst.wrapper.valueobjects.MidiProgramName
+
+ setReserved(int) -
+Method in class jvst.wrapper.valueobjects.VSTEvents
+
+ setReserved(int) -
+Method in class jvst.wrapper.valueobjects.VSTParameterProperties
+
+ setReserved(float) -
+Method in class jvst.wrapper.valueobjects.VSTSpeakerProperties
+
+ setReserved1(byte) -
+Method in class jvst.wrapper.valueobjects.VSTMidiEvent
+
+ setReserved2(byte) -
+Method in class jvst.wrapper.valueobjects.VSTMidiEvent
+
+ setSampleRate(float) -
+Method in interface jvst.wrapper.communication.VSTV10ToPlug
+
+ setSampleRate(float) -
+Method in class jvst.wrapper.VSTPluginAdapter
+
+ setShadowSizeX(int) -
+Method in class jvst.wrapper.gui.RotaryKnob
+
+ setShadowSizeY(int) -
+Method in class jvst.wrapper.gui.RotaryKnob
+
+ setShortLabel(String) -
+Method in class jvst.wrapper.valueobjects.VSTParameterProperties
+
+ setShortLabel(String) -
+Method in class jvst.wrapper.valueobjects.VSTPinProperties
+
+ setSmallStepFloat(float) -
+Method in class jvst.wrapper.valueobjects.VSTParameterProperties
+
+ setSpeakerArrangement(VSTSpeakerArrangement, VSTSpeakerArrangement) -
+Method in interface jvst.wrapper.communication.VSTV20ToPlug
+
+ setSpeakerArrangement(VSTSpeakerArrangement, VSTSpeakerArrangement) -
+Method in class jvst.wrapper.VSTPluginAdapter
+
+ setSpeakers(VSTSpeakerProperties[]) -
+Method in class jvst.wrapper.valueobjects.VSTSpeakerArrangement
+
+ setStepFloat(float) -
+Method in class jvst.wrapper.valueobjects.VSTParameterProperties
+
+ setStepInteger(int) -
+Method in class jvst.wrapper.valueobjects.VSTParameterProperties
+
+ setThisCategoryIndex(int) -
+Method in class jvst.wrapper.valueobjects.MidiProgramCategory
+
+ setThisKeyNumber(int) -
+Method in class jvst.wrapper.valueobjects.MidiKeyName
+
+ setThisProgramIndex(int) -
+Method in class jvst.wrapper.valueobjects.MidiKeyName
+
+ setThisProgramIndex(int) -
+Method in class jvst.wrapper.valueobjects.MidiProgramName
+
+ setTotalSampleToProcess(int) -
+Method in interface jvst.wrapper.communication.VSTV23ToPlug
+
+ setTotalSampleToProcess(int) -
+Method in class jvst.wrapper.VSTPluginAdapter
+
+ setType(int) -
+Method in class jvst.wrapper.valueobjects.VSTEvent
+
+ setType(int) -
+Method in class jvst.wrapper.valueobjects.VSTSpeakerArrangement
+
+ setType(int) -
+Method in class jvst.wrapper.valueobjects.VSTSpeakerProperties
+
+ setUniqueID(int) -
+Method in class jvst.wrapper.communication.VSTV10ToHost
+
+ setValue(float) -
+Method in class jvst.wrapper.gui.RotaryKnob
+
+ shadowSizeX -
+Variable in class jvst.wrapper.gui.RotaryKnob
+
+ shadowSizeY -
+Variable in class jvst.wrapper.gui.RotaryKnob
+
+ shortLabel -
+Variable in class jvst.wrapper.valueobjects.VSTParameterProperties
+
+ ShortLabel -
+Variable in class jvst.wrapper.valueobjects.VSTPinProperties
+
+ size -
+Variable in class jvst.wrapper.gui.RotaryKnob
+
+ sizeWindow(int, int) -
+Method in class jvst.wrapper.communication.VSTV20ToHost
+
+ slider -
+Variable in class jvst.wrapper.gui.JSliderPlusText
+
+ smallStepFloat -
+Variable in class jvst.wrapper.valueobjects.VSTParameterProperties
+
+ smpteFrameRate -
+Variable in class jvst.wrapper.valueobjects.VSTTimeInfo
+
+ smpteOffset -
+Variable in class jvst.wrapper.valueobjects.VSTTimeInfo
+
+ SPEAKER_C -
+Static variable in class jvst.wrapper.valueobjects.VSTSpeakerProperties
+
+ SPEAKER_CS -
+Static variable in class jvst.wrapper.valueobjects.VSTSpeakerProperties
+
+ SPEAKER_L -
+Static variable in class jvst.wrapper.valueobjects.VSTSpeakerProperties
+
+ SPEAKER_LC -
+Static variable in class jvst.wrapper.valueobjects.VSTSpeakerProperties
+
+ SPEAKER_LFE -
+Static variable in class jvst.wrapper.valueobjects.VSTSpeakerProperties
+
+ SPEAKER_LFE2 -
+Static variable in class jvst.wrapper.valueobjects.VSTSpeakerProperties
+
+ SPEAKER_LS -
+Static variable in class jvst.wrapper.valueobjects.VSTSpeakerProperties
+
+ SPEAKER_M -
+Static variable in class jvst.wrapper.valueobjects.VSTSpeakerProperties
+
+ SPEAKER_R -
+Static variable in class jvst.wrapper.valueobjects.VSTSpeakerProperties
+
+ SPEAKER_RC -
+Static variable in class jvst.wrapper.valueobjects.VSTSpeakerProperties
+
+ SPEAKER_RS -
+Static variable in class jvst.wrapper.valueobjects.VSTSpeakerProperties
+
+ SPEAKER_S -
+Static variable in class jvst.wrapper.valueobjects.VSTSpeakerProperties
+
+ SPEAKER_SL -
+Static variable in class jvst.wrapper.valueobjects.VSTSpeakerProperties
+
+ SPEAKER_SR -
+Static variable in class jvst.wrapper.valueobjects.VSTSpeakerProperties
+
+ SPEAKER_TFC -
+Static variable in class jvst.wrapper.valueobjects.VSTSpeakerProperties
+
+ SPEAKER_TFL -
+Static variable in class jvst.wrapper.valueobjects.VSTSpeakerProperties
+
+ SPEAKER_TFR -
+Static variable in class jvst.wrapper.valueobjects.VSTSpeakerProperties
+
+ SPEAKER_TM -
+Static variable in class jvst.wrapper.valueobjects.VSTSpeakerProperties
+
+ SPEAKER_TRC -
+Static variable in class jvst.wrapper.valueobjects.VSTSpeakerProperties
+
+ SPEAKER_TRL -
+Static variable in class jvst.wrapper.valueobjects.VSTSpeakerProperties
+
+ SPEAKER_TRR -
+Static variable in class jvst.wrapper.valueobjects.VSTSpeakerProperties
+
+ SPEAKER_U1 -
+Static variable in class jvst.wrapper.valueobjects.VSTSpeakerProperties
+
+ SPEAKER_U10 -
+Static variable in class jvst.wrapper.valueobjects.VSTSpeakerProperties
+
+ SPEAKER_U11 -
+Static variable in class jvst.wrapper.valueobjects.VSTSpeakerProperties
+
+ SPEAKER_U12 -
+Static variable in class jvst.wrapper.valueobjects.VSTSpeakerProperties
+
+ SPEAKER_U13 -
+Static variable in class jvst.wrapper.valueobjects.VSTSpeakerProperties
+
+ SPEAKER_U14 -
+Static variable in class jvst.wrapper.valueobjects.VSTSpeakerProperties
+
+ SPEAKER_U15 -
+Static variable in class jvst.wrapper.valueobjects.VSTSpeakerProperties
+
+ SPEAKER_U16 -
+Static variable in class jvst.wrapper.valueobjects.VSTSpeakerProperties
+
+ SPEAKER_U17 -
+Static variable in class jvst.wrapper.valueobjects.VSTSpeakerProperties
+
+ SPEAKER_U18 -
+Static variable in class jvst.wrapper.valueobjects.VSTSpeakerProperties
+
+ SPEAKER_U19 -
+Static variable in class jvst.wrapper.valueobjects.VSTSpeakerProperties
+
+ SPEAKER_U2 -
+Static variable in class jvst.wrapper.valueobjects.VSTSpeakerProperties
+
+ SPEAKER_U20 -
+Static variable in class jvst.wrapper.valueobjects.VSTSpeakerProperties
+
+ SPEAKER_U21 -
+Static variable in class jvst.wrapper.valueobjects.VSTSpeakerProperties
+
+ SPEAKER_U22 -
+Static variable in class jvst.wrapper.valueobjects.VSTSpeakerProperties
+
+ SPEAKER_U23 -
+Static variable in class jvst.wrapper.valueobjects.VSTSpeakerProperties
+
+ SPEAKER_U24 -
+Static variable in class jvst.wrapper.valueobjects.VSTSpeakerProperties
+
+ SPEAKER_U25 -
+Static variable in class jvst.wrapper.valueobjects.VSTSpeakerProperties
+
+ SPEAKER_U26 -
+Static variable in class jvst.wrapper.valueobjects.VSTSpeakerProperties
+
+ SPEAKER_U27 -
+Static variable in class jvst.wrapper.valueobjects.VSTSpeakerProperties
+
+ SPEAKER_U28 -
+Static variable in class jvst.wrapper.valueobjects.VSTSpeakerProperties
+
+ SPEAKER_U29 -
+Static variable in class jvst.wrapper.valueobjects.VSTSpeakerProperties
+
+ SPEAKER_U3 -
+Static variable in class jvst.wrapper.valueobjects.VSTSpeakerProperties
+
+ SPEAKER_U30 -
+Static variable in class jvst.wrapper.valueobjects.VSTSpeakerProperties
+
+ SPEAKER_U31 -
+Static variable in class jvst.wrapper.valueobjects.VSTSpeakerProperties
+
+ SPEAKER_U32 -
+Static variable in class jvst.wrapper.valueobjects.VSTSpeakerProperties
+
+ SPEAKER_U4 -
+Static variable in class jvst.wrapper.valueobjects.VSTSpeakerProperties
+
+ SPEAKER_U5 -
+Static variable in class jvst.wrapper.valueobjects.VSTSpeakerProperties
+
+ SPEAKER_U6 -
+Static variable in class jvst.wrapper.valueobjects.VSTSpeakerProperties
+
+ SPEAKER_U7 -
+Static variable in class jvst.wrapper.valueobjects.VSTSpeakerProperties
+
+ SPEAKER_U8 -
+Static variable in class jvst.wrapper.valueobjects.VSTSpeakerProperties
+
+ SPEAKER_U9 -
+Static variable in class jvst.wrapper.valueobjects.VSTSpeakerProperties
+
+ SPEAKER_UNDEFINED -
+Static variable in class jvst.wrapper.valueobjects.VSTSpeakerProperties
+
+ SpeakerArr102 -
+Static variable in class jvst.wrapper.valueobjects.VSTSpeakerArrangement
+
+ SpeakerArr30Cine -
+Static variable in class jvst.wrapper.valueobjects.VSTSpeakerArrangement
+
+ SpeakerArr30Music -
+Static variable in class jvst.wrapper.valueobjects.VSTSpeakerArrangement
+
+ SpeakerArr31Cine -
+Static variable in class jvst.wrapper.valueobjects.VSTSpeakerArrangement
+
+ SpeakerArr31Music -
+Static variable in class jvst.wrapper.valueobjects.VSTSpeakerArrangement
+
+ SpeakerArr40Cine -
+Static variable in class jvst.wrapper.valueobjects.VSTSpeakerArrangement
+
+ SpeakerArr40Music -
+Static variable in class jvst.wrapper.valueobjects.VSTSpeakerArrangement
+
+ SpeakerArr41Cine -
+Static variable in class jvst.wrapper.valueobjects.VSTSpeakerArrangement
+
+ SpeakerArr41Music -
+Static variable in class jvst.wrapper.valueobjects.VSTSpeakerArrangement
+
+ SpeakerArr50 -
+Static variable in class jvst.wrapper.valueobjects.VSTSpeakerArrangement
+
+ SpeakerArr51 -
+Static variable in class jvst.wrapper.valueobjects.VSTSpeakerArrangement
+
+ SpeakerArr60Cine -
+Static variable in class jvst.wrapper.valueobjects.VSTSpeakerArrangement
+
+ SpeakerArr60Music -
+Static variable in class jvst.wrapper.valueobjects.VSTSpeakerArrangement
+
+ SpeakerArr61Cine -
+Static variable in class jvst.wrapper.valueobjects.VSTSpeakerArrangement
+
+ SpeakerArr61Music -
+Static variable in class jvst.wrapper.valueobjects.VSTSpeakerArrangement
+
+ SpeakerArr70Cine -
+Static variable in class jvst.wrapper.valueobjects.VSTSpeakerArrangement
+
+ SpeakerArr70Music -
+Static variable in class jvst.wrapper.valueobjects.VSTSpeakerArrangement
+
+ SpeakerArr71Cine -
+Static variable in class jvst.wrapper.valueobjects.VSTSpeakerArrangement
+
+ SpeakerArr71Music -
+Static variable in class jvst.wrapper.valueobjects.VSTSpeakerArrangement
+
+ SpeakerArr80Cine -
+Static variable in class jvst.wrapper.valueobjects.VSTSpeakerArrangement
+
+ SpeakerArr80Music -
+Static variable in class jvst.wrapper.valueobjects.VSTSpeakerArrangement
+
+ SpeakerArr81Cine -
+Static variable in class jvst.wrapper.valueobjects.VSTSpeakerArrangement
+
+ SpeakerArr81Music -
+Static variable in class jvst.wrapper.valueobjects.VSTSpeakerArrangement
+
+ SpeakerArrEmpty -
+Static variable in class jvst.wrapper.valueobjects.VSTSpeakerArrangement
+
+ SpeakerArrMono -
+Static variable in class jvst.wrapper.valueobjects.VSTSpeakerArrangement
+
+ SpeakerArrStereoCenter -
+Static variable in class jvst.wrapper.valueobjects.VSTSpeakerArrangement
+
+ SpeakerArrStereoCLfe -
+Static variable in class jvst.wrapper.valueobjects.VSTSpeakerArrangement
+
+ SpeakerArrStereoM -
+Static variable in class jvst.wrapper.valueobjects.VSTSpeakerArrangement
+
+ SpeakerArrStereoSide -
+Static variable in class jvst.wrapper.valueobjects.VSTSpeakerArrangement
+
+ SpeakerArrStereoSurround -
+Static variable in class jvst.wrapper.valueobjects.VSTSpeakerArrangement
+
+ SpeakerArrUserDefined -
+Static variable in class jvst.wrapper.valueobjects.VSTSpeakerArrangement
+
+ speakers -
+Variable in class jvst.wrapper.valueobjects.VSTSpeakerArrangement
+
+ START -
+Static variable in class jvst.wrapper.gui.RotaryKnob
+
+ START_ANG -
+Static variable in class jvst.wrapper.gui.RotaryKnob
+
+ startProcess() -
+Method in interface jvst.wrapper.communication.VSTV23ToPlug
+
+ startProcess() -
+Method in class jvst.wrapper.VSTPluginAdapter
+
+ startVal -
+Variable in class jvst.wrapper.gui.RotaryKnob
+
+ stateChanged(ChangeEvent) -
+Method in class jvst.wrapper.gui.JSliderPlusText
+
+ stateChanged(ChangeEvent) -
+Method in class jvst.wrapper.gui.RotaryKnobPlusText
+
+ stepFloat -
+Variable in class jvst.wrapper.valueobjects.VSTParameterProperties
+
+ stepInteger -
+Variable in class jvst.wrapper.valueobjects.VSTParameterProperties
+
+ stopProcess() -
+Method in interface jvst.wrapper.communication.VSTV23ToPlug
+
+ stopProcess() -
+Method in class jvst.wrapper.VSTPluginAdapter
+
+ string2Parameter(int, String) -
+Method in interface jvst.wrapper.communication.VSTV20ToPlug
+
+ suspend() -
+Method in interface jvst.wrapper.communication.VSTV10ToPlug
+
+ suspend() -
+Method in class jvst.wrapper.VSTPluginAdapter
+
+
+
+
+
+
+
+
+
+
+
+
+A B C D E F G H I J K L M N O P R S T U V W _
+
+
+
diff --git a/docs/javadoc/opaz-plugdk/index-files/index-19.html b/docs/javadoc/opaz-plugdk/index-files/index-19.html
new file mode 100644
index 0000000..22de9c5
--- /dev/null
+++ b/docs/javadoc/opaz-plugdk/index-files/index-19.html
@@ -0,0 +1,183 @@
+
+
+
+
+
+
+
+T-Index
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+A B C D E F G H I J K L M N O P R S T U V W _
+
+T
+
+tempo -
+Variable in class jvst.wrapper.valueobjects.VSTTimeInfo
+
+ tempoAt(int) -
+Method in class jvst.wrapper.communication.VSTV20ToHost
+Deprecated. deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+text -
+Variable in class jvst.wrapper.gui.JSliderPlusText
+
+ text -
+Variable in class jvst.wrapper.gui.RotaryKnobPlusText
+
+ thisCategoryIndex -
+Variable in class jvst.wrapper.valueobjects.MidiProgramCategory
+
+ thisKeyNumber -
+Variable in class jvst.wrapper.valueobjects.MidiKeyName
+
+ thisProgramIndex -
+Variable in class jvst.wrapper.valueobjects.MidiKeyName
+
+ thisProgramIndex -
+Variable in class jvst.wrapper.valueobjects.MidiProgramName
+
+ timeSigDenominator -
+Variable in class jvst.wrapper.valueobjects.VSTTimeInfo
+
+ timeSigNumerator -
+Variable in class jvst.wrapper.valueobjects.VSTTimeInfo
+
+ type -
+Variable in class jvst.wrapper.valueobjects.VSTEvent
+
+ type -
+Variable in class jvst.wrapper.valueobjects.VSTSpeakerArrangement
+
+ type -
+Variable in class jvst.wrapper.valueobjects.VSTSpeakerProperties
+
+
+
+
+
+
+
+
+
+
+
+
+A B C D E F G H I J K L M N O P R S T U V W _
+
+
+
diff --git a/docs/javadoc/opaz-plugdk/index-files/index-2.html b/docs/javadoc/opaz-plugdk/index-files/index-2.html
new file mode 100644
index 0000000..ead75d4
--- /dev/null
+++ b/docs/javadoc/opaz-plugdk/index-files/index-2.html
@@ -0,0 +1,164 @@
+
+
+
+
+
+
+
+B-Index
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+A B C D E F G H I J K L M N O P R S T U V W _
+
+B
+
+barStartPos -
+Variable in class jvst.wrapper.valueobjects.VSTTimeInfo
+
+ beginEdit(int) -
+Method in class jvst.wrapper.communication.VSTV21ToHost
+
+ beginLoadBank(VSTPatchChunkInfo) -
+Method in class jvst.wrapper.communication.VSTV23ToHost
+
+ beginLoadProgram(VSTPatchChunkInfo) -
+Method in class jvst.wrapper.communication.VSTV23ToHost
+
+ beginSetProgram() -
+Method in interface jvst.wrapper.communication.VSTV21ToPlug
+
+ beginSetProgram() -
+Method in class jvst.wrapper.VSTPluginAdapter
+
+ byteSize -
+Variable in class jvst.wrapper.valueobjects.VSTEvent
+
+
+
+
+
+
+
+
+
+
+
+
+A B C D E F G H I J K L M N O P R S T U V W _
+
+
+
diff --git a/docs/javadoc/opaz-plugdk/index-files/index-20.html b/docs/javadoc/opaz-plugdk/index-files/index-20.html
new file mode 100644
index 0000000..b8a28e6
--- /dev/null
+++ b/docs/javadoc/opaz-plugdk/index-files/index-20.html
@@ -0,0 +1,161 @@
+
+
+
+
+
+
+
+U-Index
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+A B C D E F G H I J K L M N O P R S T U V W _
+
+U
+
+UNDECORATE -
+Static variable in class jvst.wrapper.gui.VSTPluginGUIRunner
+
+ undecorate() -
+Method in class jvst.wrapper.gui.VSTPluginGUIRunner
+
+ undecorate() -
+Method in class jvst.wrapper.VSTPluginGUIAdapter
+
+ updateBlockSize() -
+Method in class jvst.wrapper.communication.VSTV20ToHost
+
+ updateDisplay() -
+Method in class jvst.wrapper.communication.VSTV20ToHost
+
+ updateSampleRate() -
+Method in class jvst.wrapper.communication.VSTV20ToHost
+
+
+
+
+
+
+
+
+
+
+
+
+A B C D E F G H I J K L M N O P R S T U V W _
+
+
+
diff --git a/docs/javadoc/opaz-plugdk/index-files/index-21.html b/docs/javadoc/opaz-plugdk/index-files/index-21.html
new file mode 100644
index 0000000..a132bd8
--- /dev/null
+++ b/docs/javadoc/opaz-plugdk/index-files/index-21.html
@@ -0,0 +1,329 @@
+
+
+
+
+
+
+
+V-Index
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+A B C D E F G H I J K L M N O P R S T U V W _
+
+V
+
+val -
+Variable in class jvst.wrapper.gui.RotaryKnob
+
+ version -
+Variable in class jvst.wrapper.valueobjects.VSTPatchChunkInfo
+
+ VST_EVENT_AUDIO_TYPE -
+Static variable in class jvst.wrapper.valueobjects.VSTEvent
+Deprecated. deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+VST_EVENT_MIDI_TYPE -
+Static variable in class jvst.wrapper.valueobjects.VSTEvent
+
+ VST_EVENT_PARAMETER_TYPE -
+Static variable in class jvst.wrapper.valueobjects.VSTEvent
+Deprecated. deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+VST_EVENT_SYSEX_TYPE -
+Static variable in class jvst.wrapper.valueobjects.VSTEvent
+
+ VST_EVENT_TRIGGER_TYPE -
+Static variable in class jvst.wrapper.valueobjects.VSTEvent
+Deprecated. deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+VST_EVENT_VIDEO_TYPE -
+Static variable in class jvst.wrapper.valueobjects.VSTEvent
+Deprecated. deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+VST_LANG_ENGLISH -
+Static variable in class jvst.wrapper.communication.VSTV20ToHost
+
+ VST_LANG_FRENCH -
+Static variable in class jvst.wrapper.communication.VSTV20ToHost
+
+ VST_LANG_GERMAN -
+Static variable in class jvst.wrapper.communication.VSTV20ToHost
+
+ VST_LANG_ITALIAN -
+Static variable in class jvst.wrapper.communication.VSTV20ToHost
+
+ VST_LANG_JAPANESE -
+Static variable in class jvst.wrapper.communication.VSTV20ToHost
+
+ VST_LANG_SPANISH -
+Static variable in class jvst.wrapper.communication.VSTV20ToHost
+
+ VST_PARAMETER_CAN_RAMP -
+Static variable in class jvst.wrapper.valueobjects.VSTParameterProperties
+
+ VST_PARAMETER_IS_SWITCH -
+Static variable in class jvst.wrapper.valueobjects.VSTParameterProperties
+
+ VST_PARAMETER_SUPPORTS_DISPLAY_CATEGORY -
+Static variable in class jvst.wrapper.valueobjects.VSTParameterProperties
+
+ VST_PARAMETER_SUPPORTS_DISPLAY_INDEX -
+Static variable in class jvst.wrapper.valueobjects.VSTParameterProperties
+
+ VST_PARAMETER_USES_FLOAT_STEP -
+Static variable in class jvst.wrapper.valueobjects.VSTParameterProperties
+
+ VST_PARAMETER_USES_INT_STEP -
+Static variable in class jvst.wrapper.valueobjects.VSTParameterProperties
+
+ VST_PARAMETER_USES_INTEGER_MIN_MAX -
+Static variable in class jvst.wrapper.valueobjects.VSTParameterProperties
+
+ VST_PIN_IS_ACTIVE -
+Static variable in class jvst.wrapper.valueobjects.VSTPinProperties
+
+ VST_PIN_IS_STEREO -
+Static variable in class jvst.wrapper.valueobjects.VSTPinProperties
+
+ VST_PIN_USE_SPEAKER -
+Static variable in class jvst.wrapper.valueobjects.VSTPinProperties
+
+ VST_TIME_AUTOMATION_READING -
+Static variable in class jvst.wrapper.valueobjects.VSTTimeInfo
+
+ VST_TIME_AUTOMATION_WRITING -
+Static variable in class jvst.wrapper.valueobjects.VSTTimeInfo
+
+ VST_TIME_BARS_VALID -
+Static variable in class jvst.wrapper.valueobjects.VSTTimeInfo
+
+ VST_TIME_CLOCK_VALID -
+Static variable in class jvst.wrapper.valueobjects.VSTTimeInfo
+
+ VST_TIME_CYCLE_POS_VALID -
+Static variable in class jvst.wrapper.valueobjects.VSTTimeInfo
+
+ VST_TIME_NANOS_VALID -
+Static variable in class jvst.wrapper.valueobjects.VSTTimeInfo
+
+ VST_TIME_PPQ_POS_VALID -
+Static variable in class jvst.wrapper.valueobjects.VSTTimeInfo
+
+ VST_TIME_SMPTE_VALID -
+Static variable in class jvst.wrapper.valueobjects.VSTTimeInfo
+
+ VST_TIME_TEMPO_VALID -
+Static variable in class jvst.wrapper.valueobjects.VSTTimeInfo
+
+ VST_TIME_TIME_SIG_VALID -
+Static variable in class jvst.wrapper.valueobjects.VSTTimeInfo
+
+ VST_TIME_TRANSPORT_CHANGED -
+Static variable in class jvst.wrapper.valueobjects.VSTTimeInfo
+
+ VST_TIME_TRANSPORT_CYCLE_ACTIVE -
+Static variable in class jvst.wrapper.valueobjects.VSTTimeInfo
+
+ VST_TIME_TRANSPORT_PLAYING -
+Static variable in class jvst.wrapper.valueobjects.VSTTimeInfo
+
+ VST_TIME_TRANSPORT_RECORDING -
+Static variable in class jvst.wrapper.valueobjects.VSTTimeInfo
+
+ VSTEvent - Class in jvst.wrapper.valueobjects VSTEvent() -
+Constructor for class jvst.wrapper.valueobjects.VSTEvent
+
+ VSTEvents - Class in jvst.wrapper.valueobjects VSTEvents() -
+Constructor for class jvst.wrapper.valueobjects.VSTEvents
+
+ VSTMidiEvent - Class in jvst.wrapper.valueobjects VSTMidiEvent() -
+Constructor for class jvst.wrapper.valueobjects.VSTMidiEvent
+
+ VSTParameterProperties - Class in jvst.wrapper.valueobjects VSTParameterProperties() -
+Constructor for class jvst.wrapper.valueobjects.VSTParameterProperties
+
+ VSTParameterProperties(float, float, float, String, int, int, int, int, int, String, int, int, int, int, String, char[]) -
+Constructor for class jvst.wrapper.valueobjects.VSTParameterProperties
+
+ VSTPatchChunkInfo - Class in jvst.wrapper.valueobjects VSTPatchChunkInfo() -
+Constructor for class jvst.wrapper.valueobjects.VSTPatchChunkInfo
+
+ VSTPinProperties - Class in jvst.wrapper.valueobjects VSTPinProperties() -
+Constructor for class jvst.wrapper.valueobjects.VSTPinProperties
+
+ VSTPinProperties(String, int, int, String) -
+Constructor for class jvst.wrapper.valueobjects.VSTPinProperties
+
+ VSTPluginAdapter - Class in jvst.wrapper Adapter to ignore VST 1.0, VST 2.0, VST 2.1, VST 2.2, VST 2.3, VST 2.4
+ OPTIONAL methods --> return defaults
+ and some utility methods (number conversions...) VSTPluginAdapter(long) -
+Constructor for class jvst.wrapper.VSTPluginAdapter
+
+ VSTPluginGUI - Interface in jvst.wrapper.gui Description of the Interface VSTPluginGUIAdapter - Class in jvst.wrapper VSTPluginGUIAdapter(VSTPluginGUIRunner, VSTPluginAdapter) -
+Constructor for class jvst.wrapper.VSTPluginGUIAdapter
+
+ VSTPluginGUIRunner - Class in jvst.wrapper.gui VSTPluginGUIRunner() -
+Constructor for class jvst.wrapper.gui.VSTPluginGUIRunner
+
+ VSTSpeakerArrangement - Class in jvst.wrapper.valueobjects VSTSpeakerArrangement() -
+Constructor for class jvst.wrapper.valueobjects.VSTSpeakerArrangement
+
+ VSTSpeakerProperties - Class in jvst.wrapper.valueobjects note: the origin for azimuth is right (as by math conventions dealing with radians);
+ the elevation origin is also right, visualizing a rotation of a circle across the
+ -pi/pi axis of the horizontal circle. VSTSpeakerProperties() -
+Constructor for class jvst.wrapper.valueobjects.VSTSpeakerProperties
+
+ VSTTimeInfo - Class in jvst.wrapper.valueobjects VstTimeInfo as requested via audioMasterGetTime (getTimeInfo())
+ refers to the current time slice. VSTTimeInfo() -
+Constructor for class jvst.wrapper.valueobjects.VSTTimeInfo
+
+ VSTV10ToHost - Class in jvst.wrapper.communication VST 1.0 Plug -> Host Communication VSTV10ToHost() -
+Constructor for class jvst.wrapper.communication.VSTV10ToHost
+
+ VSTV10ToPlug - Interface in jvst.wrapper.communication VST 1.0 Host -> Plug Communication VSTV20ToHost - Class in jvst.wrapper.communication VST 2.0 Plug -> Host Communication VSTV20ToHost() -
+Constructor for class jvst.wrapper.communication.VSTV20ToHost
+
+ VSTV20ToPlug - Interface in jvst.wrapper.communication VST 2.0 Host -> Plug Communication VSTV21ToHost - Class in jvst.wrapper.communication VSTV21ToHost() -
+Constructor for class jvst.wrapper.communication.VSTV21ToHost
+
+ VSTV21ToPlug - Interface in jvst.wrapper.communication VSTV22ToHost - Class in jvst.wrapper.communication VSTV22ToHost() -
+Constructor for class jvst.wrapper.communication.VSTV22ToHost
+
+ VSTV22ToPlug - Interface in jvst.wrapper.communication VSTV23ToHost - Class in jvst.wrapper.communication VSTV23ToHost() -
+Constructor for class jvst.wrapper.communication.VSTV23ToHost
+
+ VSTV23ToPlug - Interface in jvst.wrapper.communication VSTV24ToHost - Class in jvst.wrapper.communication VSTV24ToHost() -
+Constructor for class jvst.wrapper.communication.VSTV24ToHost
+
+ VSTV24ToPlug - Interface in jvst.wrapper.communication VSTVariableIO - Class in jvst.wrapper.valueobjects VSTVariableIO() -
+Constructor for class jvst.wrapper.valueobjects.VSTVariableIO
+
+
+
+
+
+
+
+
+
+
+
+
+A B C D E F G H I J K L M N O P R S T U V W _
+
+
+
diff --git a/docs/javadoc/opaz-plugdk/index-files/index-22.html b/docs/javadoc/opaz-plugdk/index-files/index-22.html
new file mode 100644
index 0000000..55e366b
--- /dev/null
+++ b/docs/javadoc/opaz-plugdk/index-files/index-22.html
@@ -0,0 +1,161 @@
+
+
+
+
+
+
+
+W-Index
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+A B C D E F G H I J K L M N O P R S T U V W _
+
+W
+
+wantAsyncOperation(boolean) -
+Method in class jvst.wrapper.communication.VSTV20ToHost
+Deprecated. deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+wantEvents(int) -
+Method in class jvst.wrapper.communication.VSTV20ToHost
+Deprecated. deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+willProcessReplacing() -
+Method in class jvst.wrapper.communication.VSTV20ToHost
+Deprecated. deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+WindowAttached -
+Variable in class jvst.wrapper.gui.VSTPluginGUIRunner
+
+ WrapperInstance -
+Variable in class jvst.wrapper.VSTPluginAdapter
+
+
+
+
+
+
+
+
+
+
+
+
+A B C D E F G H I J K L M N O P R S T U V W _
+
+
+
diff --git a/docs/javadoc/opaz-plugdk/index-files/index-23.html b/docs/javadoc/opaz-plugdk/index-files/index-23.html
new file mode 100644
index 0000000..32a26f9
--- /dev/null
+++ b/docs/javadoc/opaz-plugdk/index-files/index-23.html
@@ -0,0 +1,146 @@
+
+
+
+
+
+
+
+_-Index
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+A B C D E F G H I J K L M N O P R S T U V W _
+
+_
+
+_initPlugFromNative(String, boolean) -
+Static method in class jvst.wrapper.VSTPluginAdapter
+is called by the plugin wrapper lib BEFORE plugins construktor!
+
+
+
+
+
+
+
+
+
+
+
+A B C D E F G H I J K L M N O P R S T U V W _
+
+
+
diff --git a/docs/javadoc/opaz-plugdk/index-files/index-3.html b/docs/javadoc/opaz-plugdk/index-files/index-3.html
new file mode 100644
index 0000000..26fc447
--- /dev/null
+++ b/docs/javadoc/opaz-plugdk/index-files/index-3.html
@@ -0,0 +1,353 @@
+
+
+
+
+
+
+
+C-Index
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+A B C D E F G H I J K L M N O P R S T U V W _
+
+C
+
+canDo(String) -
+Method in interface jvst.wrapper.communication.VSTV20ToPlug
+
+ CANDO_DONT_KNOW -
+Static variable in class jvst.wrapper.communication.VSTV20ToHost
+
+ CANDO_HOST_ACCEPT_IO_CHANGES -
+Static variable in interface jvst.wrapper.communication.VSTV20ToPlug
+
+ CANDO_HOST_ASYNC_PROCESSING -
+Static variable in interface jvst.wrapper.communication.VSTV20ToPlug
+
+ CANDO_HOST_CLOSE_FILE_SELECTOR -
+Static variable in interface jvst.wrapper.communication.VSTV20ToPlug
+
+ CANDO_HOST_EDIT_FILE -
+Static variable in interface jvst.wrapper.communication.VSTV20ToPlug
+
+ CANDO_HOST_OFFLINE -
+Static variable in interface jvst.wrapper.communication.VSTV20ToPlug
+
+ CANDO_HOST_OPEN_FILE_SELECTOR -
+Static variable in interface jvst.wrapper.communication.VSTV20ToPlug
+
+ CANDO_HOST_RECEIVE_VST_Events -
+Static variable in interface jvst.wrapper.communication.VSTV20ToPlug
+
+ CANDO_HOST_RECEIVE_VST_MIDI_EVENT -
+Static variable in interface jvst.wrapper.communication.VSTV20ToPlug
+
+ CANDO_HOST_RECEIVE_VST_TIME_INFO -
+Static variable in interface jvst.wrapper.communication.VSTV20ToPlug
+
+ CANDO_HOST_REPORT_CONNECTION_CHANGES -
+Static variable in interface jvst.wrapper.communication.VSTV20ToPlug
+
+ CANDO_HOST_SEND_VST_EVENTS -
+Static variable in interface jvst.wrapper.communication.VSTV20ToPlug
+
+ CANDO_HOST_SEND_VST_MIDI_EVENT -
+Static variable in interface jvst.wrapper.communication.VSTV20ToPlug
+
+ CANDO_HOST_SEND_VST_TIME_INFO -
+Static variable in interface jvst.wrapper.communication.VSTV20ToPlug
+
+ CANDO_HOST_SIZE_WINDOW -
+Static variable in interface jvst.wrapper.communication.VSTV20ToPlug
+
+ CANDO_HOST_START_STOP_PROCESS -
+Static variable in interface jvst.wrapper.communication.VSTV20ToPlug
+
+ CANDO_HOST_SUPPLY_IDLE -
+Static variable in interface jvst.wrapper.communication.VSTV20ToPlug
+
+ CANDO_HOST_SUPPORT_SHELL -
+Static variable in interface jvst.wrapper.communication.VSTV20ToPlug
+
+ CANDO_NO -
+Static variable in class jvst.wrapper.communication.VSTV20ToHost
+
+ CANDO_PLUG_1_IN_1_OUT -
+Static variable in class jvst.wrapper.communication.VSTV20ToHost
+
+ CANDO_PLUG_1_IN_2_OUT -
+Static variable in class jvst.wrapper.communication.VSTV20ToHost
+
+ CANDO_PLUG_2_IN_1_OUT -
+Static variable in class jvst.wrapper.communication.VSTV20ToHost
+
+ CANDO_PLUG_2_IN_2_OUT -
+Static variable in class jvst.wrapper.communication.VSTV20ToHost
+
+ CANDO_PLUG_2_IN_4_OUT -
+Static variable in class jvst.wrapper.communication.VSTV20ToHost
+
+ CANDO_PLUG_4_IN_2_OUT -
+Static variable in class jvst.wrapper.communication.VSTV20ToHost
+
+ CANDO_PLUG_4_IN_4_OUT -
+Static variable in class jvst.wrapper.communication.VSTV20ToHost
+
+ CANDO_PLUG_4_IN_8_OUT -
+Static variable in class jvst.wrapper.communication.VSTV20ToHost
+
+ CANDO_PLUG_8_IN_4_OUT -
+Static variable in class jvst.wrapper.communication.VSTV20ToHost
+
+ CANDO_PLUG_8_IN_8_OUT -
+Static variable in class jvst.wrapper.communication.VSTV20ToHost
+
+ CANDO_PLUG_BYPASS -
+Static variable in class jvst.wrapper.communication.VSTV20ToHost
+
+ CANDO_PLUG_CONFORMS_TO_WINDOW_RULES -
+Static variable in class jvst.wrapper.communication.VSTV20ToHost
+
+ CANDO_PLUG_METAPASS -
+Static variable in class jvst.wrapper.communication.VSTV20ToHost
+
+ CANDO_PLUG_MIDI_PROGRAM_NAMES -
+Static variable in class jvst.wrapper.communication.VSTV20ToHost
+
+ CANDO_PLUG_MIX_DRY_WET -
+Static variable in class jvst.wrapper.communication.VSTV20ToHost
+
+ CANDO_PLUG_MULTIPASS -
+Static variable in class jvst.wrapper.communication.VSTV20ToHost
+
+ CANDO_PLUG_NO_REAL_TIME -
+Static variable in class jvst.wrapper.communication.VSTV20ToHost
+
+ CANDO_PLUG_OFFLINE -
+Static variable in class jvst.wrapper.communication.VSTV20ToHost
+
+ CANDO_PLUG_PLUG_AS_CHANNEL_INSERT -
+Static variable in class jvst.wrapper.communication.VSTV20ToHost
+
+ CANDO_PLUG_PLUG_AS_SEND -
+Static variable in class jvst.wrapper.communication.VSTV20ToHost
+
+ CANDO_PLUG_RECEIVE_VST_EVENTS -
+Static variable in class jvst.wrapper.communication.VSTV20ToHost
+
+ CANDO_PLUG_RECEIVE_VST_MIDI_EVENT -
+Static variable in class jvst.wrapper.communication.VSTV20ToHost
+
+ CANDO_PLUG_RECEIVE_VST_TIME_INFO -
+Static variable in class jvst.wrapper.communication.VSTV20ToHost
+
+ CANDO_PLUG_REVEIVE_VST_MIDI_EVENT -
+Static variable in class jvst.wrapper.communication.VSTV20ToHost
+
+ CANDO_PLUG_SEND_VST_EVENTS -
+Static variable in class jvst.wrapper.communication.VSTV20ToHost
+
+ CANDO_PLUG_SEND_VST_MIDI_EVENT -
+Static variable in class jvst.wrapper.communication.VSTV20ToHost
+
+ CANDO_PLUG_SEND_VST_TIME_INFO -
+Static variable in class jvst.wrapper.communication.VSTV20ToHost
+
+ CANDO_YES -
+Static variable in class jvst.wrapper.communication.VSTV20ToHost
+
+ canDoubleReplacing(boolean) -
+Method in class jvst.wrapper.communication.VSTV24ToHost
+
+ canHostDo(String) -
+Method in class jvst.wrapper.communication.VSTV20ToHost
+
+ canMono(boolean) -
+Method in class jvst.wrapper.communication.VSTV10ToHost
+Deprecated. deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+canParameterBeAutomated(int) -
+Method in interface jvst.wrapper.communication.VSTV20ToPlug
+
+ canParameterBeAutomated(int) -
+Method in class jvst.wrapper.VSTPluginAdapter
+
+ canProcessReplacing(boolean) -
+Method in class jvst.wrapper.communication.VSTV10ToHost
+
+ category -
+Variable in class jvst.wrapper.valueobjects.VSTParameterProperties
+
+ categoryLabel -
+Variable in class jvst.wrapper.valueobjects.VSTParameterProperties
+
+ changeEvent -
+Variable in class jvst.wrapper.gui.RotaryKnob
+
+ clickIncrement -
+Variable in class jvst.wrapper.gui.RotaryKnob
+
+ close() -
+Method in interface jvst.wrapper.communication.VSTV10ToPlug
+
+ close() -
+Method in interface jvst.wrapper.gui.VSTPluginGUI
+Description of the Method
+ CLOSE -
+Static variable in class jvst.wrapper.gui.VSTPluginGUIRunner
+
+ close() -
+Method in class jvst.wrapper.gui.VSTPluginGUIRunner
+
+ close() -
+Method in class jvst.wrapper.VSTPluginAdapter
+
+ close() -
+Method in class jvst.wrapper.VSTPluginGUIAdapter
+
+ copyProgram(int) -
+Method in interface jvst.wrapper.communication.VSTV20ToPlug
+Deprecated. deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+copyProgram(int) -
+Method in class jvst.wrapper.VSTPluginAdapter
+Deprecated. deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+copySpeaker(VSTSpeakerProperties, VSTSpeakerProperties) -
+Method in class jvst.wrapper.communication.VSTV23ToHost
+
+ cycleEndPos -
+Variable in class jvst.wrapper.valueobjects.VSTTimeInfo
+
+ cycleStartPos -
+Variable in class jvst.wrapper.valueobjects.VSTTimeInfo
+
+
+
+
+
+
+
+
+
+
+
+
+A B C D E F G H I J K L M N O P R S T U V W _
+
+
+
diff --git a/docs/javadoc/opaz-plugdk/index-files/index-4.html b/docs/javadoc/opaz-plugdk/index-files/index-4.html
new file mode 100644
index 0000000..dff3876
--- /dev/null
+++ b/docs/javadoc/opaz-plugdk/index-files/index-4.html
@@ -0,0 +1,191 @@
+
+
+
+
+
+
+
+D-Index
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+A B C D E F G H I J K L M N O P R S T U V W _
+
+D
+
+data -
+Variable in class jvst.wrapper.valueobjects.VSTEvent
+
+ dbToString(float) -
+Method in class jvst.wrapper.VSTPluginAdapter
+
+ decValue() -
+Method in class jvst.wrapper.gui.RotaryKnob
+
+ DEFAULT_FOCUS_COLOR -
+Static variable in class jvst.wrapper.gui.RotaryKnob
+
+ deltaFrames -
+Variable in class jvst.wrapper.valueobjects.VSTEvent
+
+ destroy() -
+Method in interface jvst.wrapper.gui.VSTPluginGUI
+Description of the Method
+ DESTROY -
+Static variable in class jvst.wrapper.gui.VSTPluginGUIRunner
+
+ destroy() -
+Method in class jvst.wrapper.gui.VSTPluginGUIRunner
+
+ destroy() -
+Method in class jvst.wrapper.VSTPluginGUIAdapter
+
+ detune -
+Variable in class jvst.wrapper.valueobjects.VSTMidiEvent
+
+ displayIndex -
+Variable in class jvst.wrapper.valueobjects.VSTParameterProperties
+
+ dragIncrement -
+Variable in class jvst.wrapper.gui.RotaryKnob
+
+ dragpos -
+Variable in class jvst.wrapper.gui.RotaryKnob
+
+ dragType -
+Variable in class jvst.wrapper.gui.RotaryKnob
+
+ DRAGTYPE_ROUND -
+Static variable in class jvst.wrapper.gui.RotaryKnob
+
+ DRAGTYPE_SIMPLE -
+Static variable in class jvst.wrapper.gui.RotaryKnob
+
+
+
+
+
+
+
+
+
+
+
+
+A B C D E F G H I J K L M N O P R S T U V W _
+
+
+
diff --git a/docs/javadoc/opaz-plugdk/index-files/index-5.html b/docs/javadoc/opaz-plugdk/index-files/index-5.html
new file mode 100644
index 0000000..d4b25da
--- /dev/null
+++ b/docs/javadoc/opaz-plugdk/index-files/index-5.html
@@ -0,0 +1,158 @@
+
+
+
+
+
+
+
+E-Index
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+A B C D E F G H I J K L M N O P R S T U V W _
+
+E
+
+elevation -
+Variable in class jvst.wrapper.valueobjects.VSTSpeakerProperties
+
+ endEdit(int) -
+Method in class jvst.wrapper.communication.VSTV21ToHost
+
+ endSetProgram() -
+Method in interface jvst.wrapper.communication.VSTV21ToPlug
+
+ endSetProgram() -
+Method in class jvst.wrapper.VSTPluginAdapter
+
+ events -
+Variable in class jvst.wrapper.valueobjects.VSTEvents
+
+
+
+
+
+
+
+
+
+
+
+
+A B C D E F G H I J K L M N O P R S T U V W _
+
+
+
diff --git a/docs/javadoc/opaz-plugdk/index-files/index-6.html b/docs/javadoc/opaz-plugdk/index-files/index-6.html
new file mode 100644
index 0000000..7d753bb
--- /dev/null
+++ b/docs/javadoc/opaz-plugdk/index-files/index-6.html
@@ -0,0 +1,193 @@
+
+
+
+
+
+
+
+F-Index
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+A B C D E F G H I J K L M N O P R S T U V W _
+
+F
+
+fireChangeEvent() -
+Method in class jvst.wrapper.gui.RotaryKnob
+
+ FLAG_MidiEventIsRealtime -
+Static variable in class jvst.wrapper.valueobjects.VSTMidiEvent
+
+ flags -
+Variable in class jvst.wrapper.valueobjects.MidiKeyName
+
+ flags -
+Variable in class jvst.wrapper.valueobjects.MidiProgramCategory
+
+ flags -
+Variable in class jvst.wrapper.valueobjects.MidiProgramName
+
+ flags -
+Variable in class jvst.wrapper.valueobjects.VSTEvent
+
+ flags -
+Variable in class jvst.wrapper.valueobjects.VSTParameterProperties
+
+ Flags -
+Variable in class jvst.wrapper.valueobjects.VSTPinProperties
+
+ flags -
+Variable in class jvst.wrapper.valueobjects.VSTTimeInfo
+
+ focusColor -
+Variable in class jvst.wrapper.gui.RotaryKnob
+
+ formatFloatParam(float) -
+Method in class jvst.wrapper.VSTPluginAdapter
+
+ future -
+Variable in class jvst.wrapper.valueobjects.VSTParameterProperties
+
+ future -
+Variable in class jvst.wrapper.valueobjects.VSTPatchChunkInfo
+
+ future -
+Variable in class jvst.wrapper.valueobjects.VSTSpeakerProperties
+
+ fxIdle() -
+Method in interface jvst.wrapper.communication.VSTV20ToPlug
+Deprecated. deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+fxIdle() -
+Method in class jvst.wrapper.VSTPluginAdapter
+Deprecated. deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+
+
+
+
+
+
+
+
+
+
+
+A B C D E F G H I J K L M N O P R S T U V W _
+
+
+
diff --git a/docs/javadoc/opaz-plugdk/index-files/index-7.html b/docs/javadoc/opaz-plugdk/index-files/index-7.html
new file mode 100644
index 0000000..c76bf3f
--- /dev/null
+++ b/docs/javadoc/opaz-plugdk/index-files/index-7.html
@@ -0,0 +1,658 @@
+
+
+
+
+
+
+
+G-Index
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+A B C D E F G H I J K L M N O P R S T U V W _
+
+G
+
+getArrangementType() -
+Method in class jvst.wrapper.valueobjects.VSTPinProperties
+
+ getAutomationState() -
+Method in class jvst.wrapper.communication.VSTV20ToHost
+
+ getAzimuth() -
+Method in class jvst.wrapper.valueobjects.VSTSpeakerProperties
+
+ getBarStartPos() -
+Method in class jvst.wrapper.valueobjects.VSTTimeInfo
+
+ getBlockSize() -
+Method in class jvst.wrapper.communication.VSTV10ToHost
+
+ getByteSize() -
+Method in class jvst.wrapper.valueobjects.VSTEvent
+
+ getCategory() -
+Method in class jvst.wrapper.valueobjects.VSTParameterProperties
+
+ getCategoryLabel() -
+Method in class jvst.wrapper.valueobjects.VSTParameterProperties
+
+ getChannelParameter(int, int) -
+Method in interface jvst.wrapper.communication.VSTV20ToPlug
+
+ getChannelParameter(int, int) -
+Method in class jvst.wrapper.VSTPluginAdapter
+
+ getChunk(byte[][], boolean) -
+Method in interface jvst.wrapper.communication.VSTV10ToPlug
+
+ getChunk(byte[][], boolean) -
+Method in class jvst.wrapper.VSTPluginAdapter
+
+ getClickIncrement() -
+Method in class jvst.wrapper.gui.RotaryKnob
+
+ getCurrentMidiProgram(int, MidiProgramName) -
+Method in interface jvst.wrapper.communication.VSTV21ToPlug
+
+ getCurrentMidiProgram(int, MidiProgramName) -
+Method in class jvst.wrapper.VSTPluginAdapter
+
+ getCurrentProcessLevel() -
+Method in class jvst.wrapper.communication.VSTV20ToHost
+
+ getCurrentUniqueId() -
+Method in class jvst.wrapper.communication.VSTV10ToHost
+
+ getCycleEndPos() -
+Method in class jvst.wrapper.valueobjects.VSTTimeInfo
+
+ getCycleStartPos() -
+Method in class jvst.wrapper.valueobjects.VSTTimeInfo
+
+ getData() -
+Method in class jvst.wrapper.valueobjects.VSTEvent
+
+ getDeltaFrames() -
+Method in class jvst.wrapper.valueobjects.VSTEvent
+
+ getDetune() -
+Method in class jvst.wrapper.valueobjects.VSTMidiEvent
+
+ getDirectory() -
+Method in class jvst.wrapper.communication.VSTV20ToHost
+
+ getDisplayIndex() -
+Method in class jvst.wrapper.valueobjects.VSTParameterProperties
+
+ getDragIncrement() -
+Method in class jvst.wrapper.gui.RotaryKnob
+
+ getDragType() -
+Method in class jvst.wrapper.gui.RotaryKnob
+
+ getEffectName() -
+Method in interface jvst.wrapper.communication.VSTV20ToPlug
+
+ getEffectName() -
+Method in class jvst.wrapper.VSTPluginAdapter
+
+ getElevation() -
+Method in class jvst.wrapper.valueobjects.VSTSpeakerProperties
+
+ getErrorText() -
+Method in interface jvst.wrapper.communication.VSTV20ToPlug
+Deprecated. deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+getErrorText() -
+Method in class jvst.wrapper.VSTPluginAdapter
+Deprecated. deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+getEvents() -
+Method in class jvst.wrapper.valueobjects.VSTEvents
+
+ getFlags() -
+Method in class jvst.wrapper.valueobjects.MidiKeyName
+
+ getFlags() -
+Method in class jvst.wrapper.valueobjects.MidiProgramCategory
+
+ getFlags() -
+Method in class jvst.wrapper.valueobjects.MidiProgramName
+
+ getFlags() -
+Method in class jvst.wrapper.valueobjects.VSTEvent
+
+ getFlags() -
+Method in class jvst.wrapper.valueobjects.VSTParameterProperties
+
+ getFlags() -
+Method in class jvst.wrapper.valueobjects.VSTPinProperties
+
+ getFlags() -
+Method in class jvst.wrapper.valueobjects.VSTTimeInfo
+
+ getFuture() -
+Method in class jvst.wrapper.valueobjects.VSTParameterProperties
+
+ getFuture() -
+Method in class jvst.wrapper.valueobjects.VSTSpeakerProperties
+
+ getGetTailSize() -
+Method in interface jvst.wrapper.communication.VSTV20ToPlug
+
+ getGetTailSize() -
+Method in class jvst.wrapper.VSTPluginAdapter
+
+ GETHEIGHT -
+Static variable in class jvst.wrapper.gui.VSTPluginGUIRunner
+
+ getHeight() -
+Method in class jvst.wrapper.gui.VSTPluginGUIRunner
+
+ getHostLanguage() -
+Method in class jvst.wrapper.communication.VSTV20ToHost
+
+ getHostProductString() -
+Method in class jvst.wrapper.communication.VSTV20ToHost
+
+ getHostVendorString() -
+Method in class jvst.wrapper.communication.VSTV20ToHost
+
+ getHostVendorVersion() -
+Method in class jvst.wrapper.communication.VSTV20ToHost
+
+ getInputLatency() -
+Method in class jvst.wrapper.communication.VSTV20ToHost
+
+ getInputProperties(int) -
+Method in interface jvst.wrapper.communication.VSTV20ToPlug
+
+ getInputProperties(int) -
+Method in class jvst.wrapper.VSTPluginAdapter
+
+ getInputs() -
+Method in class jvst.wrapper.valueobjects.VSTVariableIO
+
+ getKeyName() -
+Method in class jvst.wrapper.valueobjects.MidiKeyName
+
+ getKnob() -
+Method in class jvst.wrapper.gui.RotaryKnobPlusText
+
+ getLabel() -
+Method in class jvst.wrapper.valueobjects.VSTParameterProperties
+
+ getLabel() -
+Method in class jvst.wrapper.valueobjects.VSTPinProperties
+
+ getLargeStepFloat() -
+Method in class jvst.wrapper.valueobjects.VSTParameterProperties
+
+ getLargeStepInteger() -
+Method in class jvst.wrapper.valueobjects.VSTParameterProperties
+
+ getLogBasePath() -
+Static method in class jvst.wrapper.VSTPluginAdapter
+
+ getLogFileName() -
+Static method in class jvst.wrapper.VSTPluginAdapter
+
+ getMasterVersion() -
+Method in class jvst.wrapper.communication.VSTV10ToHost
+
+ getMaxInteger() -
+Method in class jvst.wrapper.valueobjects.VSTParameterProperties
+
+ getMidiBankLsb() -
+Method in class jvst.wrapper.valueobjects.MidiProgramName
+
+ getMidiBankMsb() -
+Method in class jvst.wrapper.valueobjects.MidiProgramName
+
+ getMidiKeyName(int, MidiKeyName) -
+Method in interface jvst.wrapper.communication.VSTV21ToPlug
+
+ getMidiKeyName(int, MidiKeyName) -
+Method in class jvst.wrapper.VSTPluginAdapter
+
+ getMidiProgram() -
+Method in class jvst.wrapper.valueobjects.MidiProgramName
+
+ getMidiProgramCategory(int, MidiProgramCategory) -
+Method in interface jvst.wrapper.communication.VSTV21ToPlug
+
+ getMidiProgramCategory(int, MidiProgramCategory) -
+Method in class jvst.wrapper.VSTPluginAdapter
+
+ getMidiProgramName(int, MidiProgramName) -
+Method in interface jvst.wrapper.communication.VSTV21ToPlug
+
+ getMidiProgramName(int, MidiProgramName) -
+Method in class jvst.wrapper.VSTPluginAdapter
+
+ getMinimumSize() -
+Method in class jvst.wrapper.gui.RotaryKnob
+
+ getMinInteger() -
+Method in class jvst.wrapper.valueobjects.VSTParameterProperties
+
+ getName() -
+Method in class jvst.wrapper.gui.JSliderPlusText
+
+ getName() -
+Method in class jvst.wrapper.gui.RotaryKnobPlusText
+
+ getName() -
+Method in class jvst.wrapper.valueobjects.MidiProgramCategory
+
+ getName() -
+Method in class jvst.wrapper.valueobjects.MidiProgramName
+
+ getName() -
+Method in class jvst.wrapper.valueobjects.VSTSpeakerProperties
+
+ getNanoSeconds() -
+Method in class jvst.wrapper.valueobjects.VSTTimeInfo
+
+ getNextShellPlugin(String) -
+Method in interface jvst.wrapper.communication.VSTV23ToPlug
+
+ getNextShellPlugin(String) -
+Method in class jvst.wrapper.VSTPluginAdapter
+
+ getNoteLength() -
+Method in class jvst.wrapper.valueobjects.VSTMidiEvent
+
+ getNoteOffset() -
+Method in class jvst.wrapper.valueobjects.VSTMidiEvent
+
+ getNoteOffVelocity() -
+Method in class jvst.wrapper.valueobjects.VSTMidiEvent
+
+ getNumAutomatableParameters() -
+Method in class jvst.wrapper.communication.VSTV20ToHost
+Deprecated. deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+getNumCategories() -
+Method in interface jvst.wrapper.communication.VSTV20ToPlug
+Deprecated. deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+getNumCategories() -
+Method in class jvst.wrapper.VSTPluginAdapter
+Deprecated. deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+getNumChannels() -
+Method in class jvst.wrapper.valueobjects.VSTSpeakerArrangement
+
+ getNumEvents() -
+Method in class jvst.wrapper.valueobjects.VSTEvents
+
+ getNumMidiInputChannels() -
+Method in interface jvst.wrapper.communication.VSTV24ToPlug
+
+ getNumMidiInputChannels() -
+Method in class jvst.wrapper.VSTPluginAdapter
+
+ getNumMidiOutputChannels() -
+Method in interface jvst.wrapper.communication.VSTV24ToPlug
+
+ getNumMidiOutputChannels() -
+Method in class jvst.wrapper.VSTPluginAdapter
+
+ getNumParametersInCategory() -
+Method in class jvst.wrapper.valueobjects.VSTParameterProperties
+
+ getNumParams() -
+Method in interface jvst.wrapper.communication.VSTV10ToPlug
+because setting this param in constructor is bad design!
+ getNumPrograms() -
+Method in interface jvst.wrapper.communication.VSTV10ToPlug
+because setting this param in constructor is bad design!
+ getNumSamplesInput() -
+Method in class jvst.wrapper.valueobjects.VSTVariableIO
+
+ getNumSamplesInputProcessed() -
+Method in class jvst.wrapper.valueobjects.VSTVariableIO
+
+ getNumSamplesOutput() -
+Method in class jvst.wrapper.valueobjects.VSTVariableIO
+
+ getNumSamplesOutputProcessed() -
+Method in class jvst.wrapper.valueobjects.VSTVariableIO
+
+ getOutputLatency() -
+Method in class jvst.wrapper.communication.VSTV20ToHost
+
+ getOutputProperties(int) -
+Method in interface jvst.wrapper.communication.VSTV20ToPlug
+
+ getOutputProperties(int) -
+Method in class jvst.wrapper.VSTPluginAdapter
+
+ getOutputs() -
+Method in class jvst.wrapper.valueobjects.VSTVariableIO
+
+ getParameter(int) -
+Method in interface jvst.wrapper.communication.VSTV10ToPlug
+
+ getParameterDisplay(int) -
+Method in interface jvst.wrapper.communication.VSTV10ToPlug
+
+ getParameterLabel(int) -
+Method in interface jvst.wrapper.communication.VSTV10ToPlug
+
+ getParameterName(int) -
+Method in interface jvst.wrapper.communication.VSTV10ToPlug
+
+ getParameterProperties(int) -
+Method in interface jvst.wrapper.communication.VSTV20ToPlug
+
+ getParameterProperties(int) -
+Method in class jvst.wrapper.VSTPluginAdapter
+
+ getParameterQuantization() -
+Method in class jvst.wrapper.communication.VSTV20ToHost
+Deprecated. deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+getParentCategoryIndex() -
+Method in class jvst.wrapper.valueobjects.MidiProgramCategory
+
+ getParentCategoryIndex() -
+Method in class jvst.wrapper.valueobjects.MidiProgramName
+
+ getPlugCategory() -
+Method in interface jvst.wrapper.communication.VSTV20ToPlug
+
+ getPPQPos() -
+Method in class jvst.wrapper.valueobjects.VSTTimeInfo
+
+ getProductString() -
+Method in interface jvst.wrapper.communication.VSTV20ToPlug
+
+ getProgram() -
+Method in interface jvst.wrapper.communication.VSTV10ToPlug
+
+ getProgramName() -
+Method in interface jvst.wrapper.communication.VSTV10ToPlug
+
+ getProgramNameIndexed(int, int) -
+Method in interface jvst.wrapper.communication.VSTV20ToPlug
+
+ getRadius() -
+Method in class jvst.wrapper.valueobjects.VSTSpeakerProperties
+
+ getReserved() -
+Method in class jvst.wrapper.valueobjects.MidiKeyName
+
+ getReserved() -
+Method in class jvst.wrapper.valueobjects.MidiProgramName
+
+ getReserved() -
+Method in class jvst.wrapper.valueobjects.VSTEvents
+
+ getReserved() -
+Method in class jvst.wrapper.valueobjects.VSTParameterProperties
+
+ getReserved() -
+Method in class jvst.wrapper.valueobjects.VSTSpeakerProperties
+
+ getReserved1() -
+Method in class jvst.wrapper.valueobjects.VSTMidiEvent
+
+ getReserved2() -
+Method in class jvst.wrapper.valueobjects.VSTMidiEvent
+
+ getSamplePos() -
+Method in class jvst.wrapper.valueobjects.VSTTimeInfo
+
+ getSampleRate() -
+Method in class jvst.wrapper.communication.VSTV10ToHost
+
+ getSampleRate() -
+Method in class jvst.wrapper.valueobjects.VSTTimeInfo
+
+ getSamplesToNextClock() -
+Method in class jvst.wrapper.valueobjects.VSTTimeInfo
+
+ getShadowSizeX() -
+Method in class jvst.wrapper.gui.RotaryKnob
+
+ getShadowSizeY() -
+Method in class jvst.wrapper.gui.RotaryKnob
+
+ getShortLabel() -
+Method in class jvst.wrapper.valueobjects.VSTParameterProperties
+
+ getShortLabel() -
+Method in class jvst.wrapper.valueobjects.VSTPinProperties
+
+ getSlider() -
+Method in class jvst.wrapper.gui.JSliderPlusText
+
+ getSmallStepFloat() -
+Method in class jvst.wrapper.valueobjects.VSTParameterProperties
+
+ getSMPTEFrameRate() -
+Method in class jvst.wrapper.valueobjects.VSTTimeInfo
+
+ getSMPTEOffset() -
+Method in class jvst.wrapper.valueobjects.VSTTimeInfo
+
+ getSpeakerArrangement(VSTSpeakerArrangement, VSTSpeakerArrangement) -
+Method in interface jvst.wrapper.communication.VSTV20ToPlug
+
+ getSpeakerArrangement(VSTSpeakerArrangement, VSTSpeakerArrangement) -
+Method in class jvst.wrapper.VSTPluginAdapter
+
+ getSpeakers() -
+Method in class jvst.wrapper.valueobjects.VSTSpeakerArrangement
+
+ getStepFloat() -
+Method in class jvst.wrapper.valueobjects.VSTParameterProperties
+
+ getStepInteger() -
+Method in class jvst.wrapper.valueobjects.VSTParameterProperties
+
+ getTempo() -
+Method in class jvst.wrapper.valueobjects.VSTTimeInfo
+
+ getTextField() -
+Method in class jvst.wrapper.gui.JSliderPlusText
+
+ getTextField() -
+Method in class jvst.wrapper.gui.RotaryKnobPlusText
+
+ getThisCategoryIndex() -
+Method in class jvst.wrapper.valueobjects.MidiProgramCategory
+
+ getThisKeyNumber() -
+Method in class jvst.wrapper.valueobjects.MidiKeyName
+
+ getThisProgramIndex() -
+Method in class jvst.wrapper.valueobjects.MidiKeyName
+
+ getThisProgramIndex() -
+Method in class jvst.wrapper.valueobjects.MidiProgramName
+
+ getTimeInfo(int) -
+Method in class jvst.wrapper.communication.VSTV20ToHost
+
+ getTimeSigDenominator() -
+Method in class jvst.wrapper.valueobjects.VSTTimeInfo
+
+ getTimeSigNumerator() -
+Method in class jvst.wrapper.valueobjects.VSTTimeInfo
+
+ getType() -
+Method in class jvst.wrapper.valueobjects.VSTEvent
+
+ getType() -
+Method in class jvst.wrapper.valueobjects.VSTSpeakerArrangement
+
+ getType() -
+Method in class jvst.wrapper.valueobjects.VSTSpeakerProperties
+
+ getValue() -
+Method in class jvst.wrapper.gui.RotaryKnob
+
+ getVendorString() -
+Method in interface jvst.wrapper.communication.VSTV20ToPlug
+
+ getVendorVersion() -
+Method in interface jvst.wrapper.communication.VSTV20ToPlug
+
+ getVendorVersion() -
+Method in class jvst.wrapper.VSTPluginAdapter
+
+ getVstVersion() -
+Method in interface jvst.wrapper.communication.VSTV20ToPlug
+
+ getVstVersion() -
+Method in class jvst.wrapper.VSTPluginAdapter
+
+ getVu() -
+Method in interface jvst.wrapper.communication.VSTV10ToPlug
+Deprecated. deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+getVu() -
+Method in class jvst.wrapper.VSTPluginAdapter
+Deprecated. deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+GETWIDTH -
+Static variable in class jvst.wrapper.gui.VSTPluginGUIRunner
+
+ getWidth() -
+Method in class jvst.wrapper.gui.VSTPluginGUIRunner
+
+ gui -
+Variable in class jvst.wrapper.gui.VSTPluginGUIRunner
+
+
+
+
+
+
+
+
+
+
+
+
+A B C D E F G H I J K L M N O P R S T U V W _
+
+
+
diff --git a/docs/javadoc/opaz-plugdk/index-files/index-8.html b/docs/javadoc/opaz-plugdk/index-files/index-8.html
new file mode 100644
index 0000000..cc77998
--- /dev/null
+++ b/docs/javadoc/opaz-plugdk/index-files/index-8.html
@@ -0,0 +1,167 @@
+
+
+
+
+
+
+
+H-Index
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+A B C D E F G H I J K L M N O P R S T U V W _
+
+H
+
+hasClip(boolean) -
+Method in class jvst.wrapper.communication.VSTV10ToHost
+Deprecated. deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+hasExternalBuffer(boolean) -
+Method in class jvst.wrapper.communication.VSTV20ToHost
+Deprecated. deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+hasMidiProgramsChanged(int) -
+Method in interface jvst.wrapper.communication.VSTV21ToPlug
+
+ hasMidiProgramsChanged(int) -
+Method in class jvst.wrapper.VSTPluginAdapter
+
+ hasVu(boolean) -
+Method in class jvst.wrapper.communication.VSTV10ToHost
+Deprecated. deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+hitArc -
+Variable in class jvst.wrapper.gui.RotaryKnob
+
+ hzToString(float, int) -
+Method in class jvst.wrapper.VSTPluginAdapter
+
+
+
+
+
+
+
+
+
+
+
+
+A B C D E F G H I J K L M N O P R S T U V W _
+
+
+
diff --git a/docs/javadoc/opaz-plugdk/index-files/index-9.html b/docs/javadoc/opaz-plugdk/index-files/index-9.html
new file mode 100644
index 0000000..b1bd8f2
--- /dev/null
+++ b/docs/javadoc/opaz-plugdk/index-files/index-9.html
@@ -0,0 +1,188 @@
+
+
+
+
+
+
+
+I-Index
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+A B C D E F G H I J K L M N O P R S T U V W _
+
+I
+
+idle() -
+Method in interface jvst.wrapper.gui.VSTPluginGUI
+This method runs in the context of the hosts GUI event loop
+ So this is the right place for plug-->host calls like beginEdit, endEdit, setParameterAutomated(), etc.
+ idle() -
+Method in class jvst.wrapper.gui.VSTPluginGUIRunner
+
+ idle() -
+Method in class jvst.wrapper.VSTPluginGUIAdapter
+
+ incValue() -
+Method in class jvst.wrapper.gui.RotaryKnob
+
+ inputConnected(int, boolean) -
+Method in interface jvst.wrapper.communication.VSTV20ToPlug
+Deprecated. deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+inputConnected(int, boolean) -
+Method in class jvst.wrapper.VSTPluginAdapter
+Deprecated. deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+inputs -
+Variable in class jvst.wrapper.valueobjects.VSTVariableIO
+
+ ioChanged() -
+Method in class jvst.wrapper.communication.VSTV20ToHost
+
+ isFocusTraversable() -
+Method in class jvst.wrapper.gui.RotaryKnob
+
+ isInputConnected(int) -
+Method in class jvst.wrapper.communication.VSTV10ToHost
+
+ isLogEnabled() -
+Static method in class jvst.wrapper.VSTPluginAdapter
+
+ isManagingFocus() -
+Method in class jvst.wrapper.gui.RotaryKnob
+
+ isOutputConnected(int) -
+Method in class jvst.wrapper.communication.VSTV10ToHost
+
+ isSynth(boolean) -
+Method in class jvst.wrapper.communication.VSTV20ToHost
+
+
+
+
+
+
+
+
+
+
+
+
+A B C D E F G H I J K L M N O P R S T U V W _
+
+
+
diff --git a/docs/javadoc/opaz-plugdk/index.html b/docs/javadoc/opaz-plugdk/index.html
new file mode 100644
index 0000000..41ce593
--- /dev/null
+++ b/docs/javadoc/opaz-plugdk/index.html
@@ -0,0 +1,40 @@
+
+
+
+
+
+
+
+Generated Documentation (Untitled)
+
+
+
+
+
+
+
+
+
+
+
+
+
+Frame Alert
+
+
+This document is designed to be viewed using the frames feature. If you see this message, you are using a non-frame-capable web client.
+
+Link toNon-frame version.
+
+
+
diff --git a/docs/javadoc/opaz-plugdk/jvst/wrapper/VSTPluginAdapter.html b/docs/javadoc/opaz-plugdk/jvst/wrapper/VSTPluginAdapter.html
new file mode 100644
index 0000000..d0a7287
--- /dev/null
+++ b/docs/javadoc/opaz-plugdk/jvst/wrapper/VSTPluginAdapter.html
@@ -0,0 +1,1828 @@
+
+
+
+
+
+
+
+VSTPluginAdapter
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+jvst.wrapper
+
+Class VSTPluginAdapter
+
+java.lang.Object
+ jvst.wrapper.communication.VSTV10ToHost
+ jvst.wrapper.communication.VSTV20ToHost
+ jvst.wrapper.communication.VSTV21ToHost
+ jvst.wrapper.communication.VSTV22ToHost
+ jvst.wrapper.communication.VSTV23ToHost
+ jvst.wrapper.communication.VSTV24ToHost
+ jvst.wrapper.VSTPluginAdapter
+
+
+All Implemented Interfaces: VSTV10ToPlug , VSTV20ToPlug , VSTV21ToPlug , VSTV22ToPlug , VSTV23ToPlug , VSTV24ToPlug
+
+
+
+public abstract class VSTPluginAdapter extends VSTV24ToHost implements VSTV24ToPlug
+
+
+
+Adapter to ignore VST 1.0, VST 2.0, VST 2.1, VST 2.2, VST 2.3, VST 2.4
+ OPTIONAL methods --> return defaults
+ and some utility methods (number conversions...)
+
+
+
+
+
+
+
+
+
+
+
+
+
+Fields inherited from class jvst.wrapper.communication.VSTV20ToHost
+
+
+CANDO_DONT_KNOW , CANDO_NO , CANDO_PLUG_1_IN_1_OUT , CANDO_PLUG_1_IN_2_OUT , CANDO_PLUG_2_IN_1_OUT , CANDO_PLUG_2_IN_2_OUT , CANDO_PLUG_2_IN_4_OUT , CANDO_PLUG_4_IN_2_OUT , CANDO_PLUG_4_IN_4_OUT , CANDO_PLUG_4_IN_8_OUT , CANDO_PLUG_8_IN_4_OUT , CANDO_PLUG_8_IN_8_OUT , CANDO_PLUG_BYPASS , CANDO_PLUG_CONFORMS_TO_WINDOW_RULES , CANDO_PLUG_METAPASS , CANDO_PLUG_MIDI_PROGRAM_NAMES , CANDO_PLUG_MIX_DRY_WET , CANDO_PLUG_MULTIPASS , CANDO_PLUG_NO_REAL_TIME , CANDO_PLUG_OFFLINE , CANDO_PLUG_PLUG_AS_CHANNEL_INSERT , CANDO_PLUG_PLUG_AS_SEND , CANDO_PLUG_RECEIVE_VST_EVENTS , CANDO_PLUG_RECEIVE_VST_MIDI_EVENT , CANDO_PLUG_RECEIVE_VST_TIME_INFO , CANDO_PLUG_REVEIVE_VST_MIDI_EVENT , CANDO_PLUG_SEND_VST_EVENTS , CANDO_PLUG_SEND_VST_MIDI_EVENT , CANDO_PLUG_SEND_VST_TIME_INFO , CANDO_YES , VST_LANG_ENGLISH , VST_LANG_FRENCH , VST_LANG_GERMAN , VST_LANG_ITALIAN , VST_LANG_JAPANESE , VST_LANG_SPANISH
+
+
+
+
+
+Fields inherited from interface jvst.wrapper.communication.VSTV20ToPlug
+
+
+CANDO_HOST_ACCEPT_IO_CHANGES , CANDO_HOST_ASYNC_PROCESSING , CANDO_HOST_CLOSE_FILE_SELECTOR , CANDO_HOST_EDIT_FILE , CANDO_HOST_OFFLINE , CANDO_HOST_OPEN_FILE_SELECTOR , CANDO_HOST_RECEIVE_VST_Events , CANDO_HOST_RECEIVE_VST_MIDI_EVENT , CANDO_HOST_RECEIVE_VST_TIME_INFO , CANDO_HOST_REPORT_CONNECTION_CHANGES , CANDO_HOST_SEND_VST_EVENTS , CANDO_HOST_SEND_VST_MIDI_EVENT , CANDO_HOST_SEND_VST_TIME_INFO , CANDO_HOST_SIZE_WINDOW , CANDO_HOST_START_STOP_PROCESS , CANDO_HOST_SUPPLY_IDLE , CANDO_HOST_SUPPORT_SHELL , PLUG_CATEG_ANALYSIS , PLUG_CATEG_EFFECT , PLUG_CATEG_GENERATOR , PLUG_CATEG_MASTERING , PLUG_CATEG_OFFLINE_PROCESS , PLUG_CATEG_RESTORATION , PLUG_CATEG_ROOM_FX , PLUG_CATEG_SHELL , PLUG_CATEG_SPACIALIZER , PLUG_CATEG_SURROUND_FX , PLUG_CATEG_SYNTH , PLUG_CATEG_UNKNOWN
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+protected static void
+_initPlugFromNative (java.lang.String dllLocation,
+ boolean log)
+
+
+ is called by the plugin wrapper lib BEFORE plugins construktor!
+
+
+
+ boolean
+beginSetProgram ()
+
+
+
+
+
+
+ boolean
+canParameterBeAutomated (int index)
+
+
+
+
+
+
+ void
+close ()
+
+
+
+
+
+
+ boolean
+copyProgram (int destination)
+
+
+ Deprecated. deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+
+
+
+protected java.lang.String
+dbToString (float value)
+
+
+
+
+
+
+ boolean
+endSetProgram ()
+
+
+
+
+
+
+protected java.lang.String
+formatFloatParam (float value)
+
+
+
+
+
+
+ int
+fxIdle ()
+
+
+ Deprecated. deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+
+
+
+ float
+getChannelParameter (int channel,
+ int index)
+
+
+
+
+
+
+ int
+getChunk (byte[][] data,
+ boolean isPreset)
+
+
+
+
+
+
+ int
+getCurrentMidiProgram (int channel,
+ MidiProgramName currentProgram)
+
+
+
+
+
+
+ java.lang.String
+getEffectName ()
+
+
+
+
+
+
+ java.lang.String
+getErrorText ()
+
+
+ Deprecated. deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+
+
+
+ int
+getGetTailSize ()
+
+
+
+
+
+
+ VSTPinProperties
+getInputProperties (int index)
+
+
+
+
+
+
+protected static java.lang.String
+getLogBasePath ()
+
+
+
+
+
+
+protected static java.lang.String
+getLogFileName ()
+
+
+
+
+
+
+ boolean
+getMidiKeyName (int channel,
+ MidiKeyName keyName)
+
+
+
+
+
+
+ int
+getMidiProgramCategory (int channel,
+ MidiProgramCategory category)
+
+
+
+
+
+
+ int
+getMidiProgramName (int channel,
+ MidiProgramName midiProgramName)
+
+
+
+
+
+
+ int
+getNextShellPlugin (java.lang.String name)
+
+
+
+
+
+
+ int
+getNumCategories ()
+
+
+ Deprecated. deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+
+
+
+ int
+getNumMidiInputChannels ()
+
+
+
+
+
+
+ int
+getNumMidiOutputChannels ()
+
+
+
+
+
+
+ VSTPinProperties
+getOutputProperties (int index)
+
+
+
+
+
+
+ VSTParameterProperties
+getParameterProperties (int index)
+
+
+
+
+
+
+ boolean
+getSpeakerArrangement (VSTSpeakerArrangement pluginInput,
+ VSTSpeakerArrangement pluginOutput)
+
+
+
+
+
+
+ int
+getVendorVersion ()
+
+
+
+
+
+
+ int
+getVstVersion ()
+
+
+
+
+
+
+ float
+getVu ()
+
+
+ Deprecated. deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+
+
+
+ boolean
+hasMidiProgramsChanged (int channel)
+
+
+
+
+
+
+protected java.lang.String
+hzToString (float value,
+ int sampleRate)
+
+
+
+
+
+
+ void
+inputConnected (int index,
+ boolean state)
+
+
+ Deprecated. deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+
+
+
+protected static boolean
+isLogEnabled ()
+
+
+
+
+
+
+ boolean
+keysRequired ()
+
+
+ Deprecated. deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+
+
+
+static void
+log (java.lang.String s)
+
+
+ logging
+
+
+
+protected java.lang.String
+msToString (float value,
+ int sampleRate)
+
+
+
+
+
+
+ void
+open ()
+
+
+
+
+
+
+ void
+outputConnected (int index,
+ boolean state)
+
+
+ Deprecated. deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+
+
+
+ void
+process (float[][] inputs,
+ float[][] outputs,
+ int sampleFrames)
+
+
+ Deprecated. deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+
+ USE processReplacing() and/or processDoubleReplacing() INSTEAD!
+
+
+
+ void
+processDoubleReplacing (double[][] inputs,
+ double[][] outputs,
+ int sampleFrames)
+
+
+
+
+
+
+ int
+processEvents (VSTEvents e)
+
+
+
+
+
+
+ boolean
+processVariableIo (VSTVariableIO vario)
+
+
+
+
+
+
+ int
+reportCurrentPosition ()
+
+
+ Deprecated. deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+
+
+
+ float[]
+reportDestinationBuffer ()
+
+
+ Deprecated. deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+
+
+
+ void
+resume ()
+
+
+
+
+
+
+ void
+setBlockSize (int blockSize)
+
+
+
+
+
+
+ void
+setBlockSizeAndSampleRate (int blockSize,
+ float sampleRate)
+
+
+ Deprecated. deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+
+
+
+ int
+setChunk (byte[] data,
+ int byteSize,
+ boolean isPreset)
+
+
+
+
+
+
+protected static void
+setIsLogEnabled (boolean b)
+
+
+
+
+
+
+ boolean
+setProcessPrecision (int precision)
+
+
+
+
+
+
+ void
+setSampleRate (float sampleRate)
+
+
+
+
+
+
+ boolean
+setSpeakerArrangement (VSTSpeakerArrangement pluginInput,
+ VSTSpeakerArrangement pluginOutput)
+
+
+
+
+
+
+ int
+setTotalSampleToProcess (int value)
+
+
+
+
+
+
+ int
+startProcess ()
+
+
+
+
+
+
+ int
+stopProcess ()
+
+
+
+
+
+
+ void
+suspend ()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Methods inherited from class jvst.wrapper.communication.VSTV20ToHost
+
+
+canHostDo , getAutomationState , getCurrentProcessLevel , getDirectory , getHostLanguage , getHostProductString , getHostVendorString , getHostVendorVersion , getInputLatency , getNumAutomatableParameters , getOutputLatency , getParameterQuantization , getTimeInfo , hasExternalBuffer , ioChanged , isSynth , needIdle , noTail , sendVstEventsToHost , setOutputSamplerate , sizeWindow , tempoAt , updateBlockSize , updateDisplay , updateSampleRate , wantAsyncOperation , wantEvents , willProcessReplacing
+
+
+
+
+
+Methods inherited from class jvst.wrapper.communication.VSTV10ToHost
+
+
+canMono , canProcessReplacing , getBlockSize , getCurrentUniqueId , getMasterVersion , getSampleRate , hasClip , hasVu , isInputConnected , isOutputConnected , masterIdle , programsAreChunks , setInitialDelay , setNumInputs , setNumOutputs , setOfflineQualities , setParameterAutomated , setRealtimeQualities , setUniqueID
+
+
+
+
+
+Methods inherited from class java.lang.Object
+
+
+clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+
+
+
+
+
+
+
+Methods inherited from interface jvst.wrapper.communication.VSTV10ToPlug
+
+
+getNumParams , getNumPrograms , getParameter , getParameterDisplay , getParameterLabel , getParameterName , getProgram , getProgramName , processReplacing , setParameter , setProgram , setProgramName
+
+
+
+
+
+
+
+
+
+
+
+PAN_LAW_EQUAL_POWER
+
+public static final int PAN_LAW_EQUAL_POWER
+
+
+See Also: Constant Field Values
+
+
+
+
+PAN_LAW_LINEAR
+
+public static final int PAN_LAW_LINEAR
+
+
+See Also: Constant Field Values
+
+
+
+
+logBasePath
+
+private static java.lang.String logBasePath
+
+
+
+
+
+
+
+logFileName
+
+private static java.lang.String logFileName
+
+
+
+
+
+
+
+logEnabled
+
+private static boolean logEnabled
+
+
+
+
+
+
+
+WrapperInstance
+
+protected long WrapperInstance
+
+
+
+
+
+
+
+
+
+
+
+Constructor Detail
+
+
+
+
+VSTPluginAdapter
+
+public VSTPluginAdapter (long Wrapper)
+
+
+
+
+
+
+
+
+
+process
+
+public void process (float[][] inputs,
+ float[][] outputs,
+ int sampleFrames)
+
+Deprecated. deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+
+ USE processReplacing() and/or processDoubleReplacing() INSTEAD!
+
+
+Specified by: process in interface VSTV10ToPlug
+
+
+
+
+
+
+
+
+open
+
+public void open ()
+
+
+Specified by: open in interface VSTV10ToPlug
+
+
+
+
+
+
+
+
+close
+
+public void close ()
+
+
+Specified by: close in interface VSTV10ToPlug
+
+
+
+
+
+
+
+
+suspend
+
+public void suspend ()
+
+
+Specified by: suspend in interface VSTV10ToPlug
+
+
+
+
+
+
+
+
+resume
+
+public void resume ()
+
+
+Specified by: resume in interface VSTV10ToPlug
+
+
+
+
+
+
+
+
+getVu
+
+public float getVu ()
+
+Deprecated. deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+
+
+Specified by: getVu in interface VSTV10ToPlug
+
+
+
+
+
+
+
+
+getChunk
+
+public int getChunk (byte[][] data,
+ boolean isPreset)
+
+
+Specified by: getChunk in interface VSTV10ToPlug
+
+
+
+
+
+
+
+
+setChunk
+
+public int setChunk (byte[] data,
+ int byteSize,
+ boolean isPreset)
+
+
+Specified by: setChunk in interface VSTV10ToPlug
+
+
+
+
+
+
+
+
+setBlockSize
+
+public void setBlockSize (int blockSize)
+
+
+Specified by: setBlockSize in interface VSTV10ToPlug
+
+
+
+
+
+
+
+
+setSampleRate
+
+public void setSampleRate (float sampleRate)
+
+
+Specified by: setSampleRate in interface VSTV10ToPlug
+
+
+
+
+
+
+
+
+getEffectName
+
+public java.lang.String getEffectName ()
+
+
+Specified by: getEffectName in interface VSTV20ToPlug
+
+
+
+
+
+
+
+
+getVendorVersion
+
+public int getVendorVersion ()
+
+
+Specified by: getVendorVersion in interface VSTV20ToPlug
+
+
+
+
+
+
+
+
+canParameterBeAutomated
+
+public boolean canParameterBeAutomated (int index)
+
+
+Specified by: canParameterBeAutomated in interface VSTV20ToPlug
+
+
+
+
+
+
+
+
+copyProgram
+
+public boolean copyProgram (int destination)
+
+Deprecated. deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+
+
+Specified by: copyProgram in interface VSTV20ToPlug
+
+
+
+
+
+
+
+
+fxIdle
+
+public int fxIdle ()
+
+Deprecated. deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+
+
+Specified by: fxIdle in interface VSTV20ToPlug
+
+
+
+
+
+
+
+
+getChannelParameter
+
+public float getChannelParameter (int channel,
+ int index)
+
+
+Specified by: getChannelParameter in interface VSTV20ToPlug
+
+
+
+
+
+
+
+
+getNumCategories
+
+public int getNumCategories ()
+
+Deprecated. deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+
+
+Specified by: getNumCategories in interface VSTV20ToPlug
+
+
+
+
+
+
+
+
+getInputProperties
+
+public VSTPinProperties getInputProperties (int index)
+
+
+Specified by: getInputProperties in interface VSTV20ToPlug
+
+
+
+
+
+
+
+
+getOutputProperties
+
+public VSTPinProperties getOutputProperties (int index)
+
+
+Specified by: getOutputProperties in interface VSTV20ToPlug
+
+
+
+
+
+
+
+
+getErrorText
+
+public java.lang.String getErrorText ()
+
+Deprecated. deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+
+
+Specified by: getErrorText in interface VSTV20ToPlug
+
+
+
+
+
+
+
+
+getGetTailSize
+
+public int getGetTailSize ()
+
+
+Specified by: getGetTailSize in interface VSTV20ToPlug
+
+
+
+
+
+
+
+
+getParameterProperties
+
+public VSTParameterProperties getParameterProperties (int index)
+
+
+Specified by: getParameterProperties in interface VSTV20ToPlug
+
+
+
+
+
+
+
+
+getVstVersion
+
+public int getVstVersion ()
+
+
+Specified by: getVstVersion in interface VSTV20ToPlug
+
+
+
+
+
+
+
+
+inputConnected
+
+public void inputConnected (int index,
+ boolean state)
+
+Deprecated. deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+
+
+Specified by: inputConnected in interface VSTV20ToPlug
+
+
+
+
+
+
+
+
+outputConnected
+
+public void outputConnected (int index,
+ boolean state)
+
+Deprecated. deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+
+
+Specified by: outputConnected in interface VSTV20ToPlug
+
+
+
+
+
+
+
+
+keysRequired
+
+public boolean keysRequired ()
+
+Deprecated. deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+
+
+Specified by: keysRequired in interface VSTV20ToPlug
+
+
+
+
+
+
+
+
+processEvents
+
+public int processEvents (VSTEvents e)
+
+
+Specified by: processEvents in interface VSTV20ToPlug
+
+
+
+
+
+
+
+
+processVariableIo
+
+public boolean processVariableIo (VSTVariableIO vario)
+
+
+Specified by: processVariableIo in interface VSTV20ToPlug
+
+
+
+
+
+
+
+
+reportCurrentPosition
+
+public int reportCurrentPosition ()
+
+Deprecated. deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+
+
+Specified by: reportCurrentPosition in interface VSTV20ToPlug
+
+
+
+
+
+
+
+
+reportDestinationBuffer
+
+public float[] reportDestinationBuffer ()
+
+Deprecated. deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+
+
+Specified by: reportDestinationBuffer in interface VSTV20ToPlug
+
+
+
+
+
+
+
+
+setBlockSizeAndSampleRate
+
+public void setBlockSizeAndSampleRate (int blockSize,
+ float sampleRate)
+
+Deprecated. deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+
+
+Specified by: setBlockSizeAndSampleRate in interface VSTV20ToPlug
+
+
+
+
+
+
+
+
+setSpeakerArrangement
+
+public boolean setSpeakerArrangement (VSTSpeakerArrangement pluginInput,
+ VSTSpeakerArrangement pluginOutput)
+
+
+Specified by: setSpeakerArrangement in interface VSTV20ToPlug
+
+
+
+
+
+
+
+
+getSpeakerArrangement
+
+public boolean getSpeakerArrangement (VSTSpeakerArrangement pluginInput,
+ VSTSpeakerArrangement pluginOutput)
+
+
+Specified by: getSpeakerArrangement in interface VSTV20ToPlug
+
+
+
+
+
+
+
+
+getMidiProgramName
+
+public int getMidiProgramName (int channel,
+ MidiProgramName midiProgramName)
+
+
+Specified by: getMidiProgramName in interface VSTV21ToPlug
+
+
+
+
+
+
+
+
+getCurrentMidiProgram
+
+public int getCurrentMidiProgram (int channel,
+ MidiProgramName currentProgram)
+
+
+Specified by: getCurrentMidiProgram in interface VSTV21ToPlug
+
+
+
+
+
+
+
+
+getMidiProgramCategory
+
+public int getMidiProgramCategory (int channel,
+ MidiProgramCategory category)
+
+
+Specified by: getMidiProgramCategory in interface VSTV21ToPlug
+
+
+
+
+
+
+
+
+hasMidiProgramsChanged
+
+public boolean hasMidiProgramsChanged (int channel)
+
+
+Specified by: hasMidiProgramsChanged in interface VSTV21ToPlug
+
+
+
+
+
+
+
+
+getMidiKeyName
+
+public boolean getMidiKeyName (int channel,
+ MidiKeyName keyName)
+
+
+Specified by: getMidiKeyName in interface VSTV21ToPlug
+
+
+
+
+
+
+
+
+beginSetProgram
+
+public boolean beginSetProgram ()
+
+
+Specified by: beginSetProgram in interface VSTV21ToPlug
+
+
+
+
+
+
+
+
+endSetProgram
+
+public boolean endSetProgram ()
+
+
+Specified by: endSetProgram in interface VSTV21ToPlug
+
+
+
+
+
+
+
+
+setTotalSampleToProcess
+
+public int setTotalSampleToProcess (int value)
+
+
+Specified by: setTotalSampleToProcess in interface VSTV23ToPlug
+
+
+
+
+
+
+
+
+getNextShellPlugin
+
+public int getNextShellPlugin (java.lang.String name)
+
+
+Specified by: getNextShellPlugin in interface VSTV23ToPlug
+
+
+
+
+
+
+
+
+startProcess
+
+public int startProcess ()
+
+
+Specified by: startProcess in interface VSTV23ToPlug
+
+
+
+
+
+
+
+
+stopProcess
+
+public int stopProcess ()
+
+
+Specified by: stopProcess in interface VSTV23ToPlug
+
+
+
+
+
+
+
+
+processDoubleReplacing
+
+public void processDoubleReplacing (double[][] inputs,
+ double[][] outputs,
+ int sampleFrames)
+
+
+Specified by: processDoubleReplacing in interface VSTV24ToPlug
+
+
+
+
+
+
+
+
+setProcessPrecision
+
+public boolean setProcessPrecision (int precision)
+
+
+Specified by: setProcessPrecision in interface VSTV24ToPlug
+
+
+
+
+
+
+
+
+getNumMidiInputChannels
+
+public int getNumMidiInputChannels ()
+
+
+Specified by: getNumMidiInputChannels in interface VSTV24ToPlug
+
+
+
+
+
+
+
+
+getNumMidiOutputChannels
+
+public int getNumMidiOutputChannels ()
+
+
+Specified by: getNumMidiOutputChannels in interface VSTV24ToPlug
+
+
+
+
+
+
+
+
+dbToString
+
+protected java.lang.String dbToString (float value)
+
+
+
+
+
+
+
+
+
+
+
+hzToString
+
+protected java.lang.String hzToString (float value,
+ int sampleRate)
+
+
+
+
+
+
+
+
+
+
+
+msToString
+
+protected java.lang.String msToString (float value,
+ int sampleRate)
+
+
+
+
+
+
+
+
+
+
+
+formatFloatParam
+
+protected java.lang.String formatFloatParam (float value)
+
+
+
+
+
+
+
+
+
+
+
+_initPlugFromNative
+
+protected static void _initPlugFromNative (java.lang.String dllLocation,
+ boolean log)
+
+is called by the plugin wrapper lib BEFORE plugins construktor!
+
+
+
+
+
+
+
+
+
+
+
+log
+
+public static void log (java.lang.String s)
+
+logging
+
+
+
+
+
+
+
+
+
+
+
+isLogEnabled
+
+protected static boolean isLogEnabled ()
+
+
+
+
+
+
+
+
+
+
+
+setIsLogEnabled
+
+protected static void setIsLogEnabled (boolean b)
+
+
+
+
+
+
+
+
+
+
+
+getLogBasePath
+
+protected static java.lang.String getLogBasePath ()
+
+
+
+
+
+
+
+
+
+
+
+getLogFileName
+
+protected static java.lang.String getLogFileName ()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/javadoc/opaz-plugdk/jvst/wrapper/VSTPluginGUIAdapter.html b/docs/javadoc/opaz-plugdk/jvst/wrapper/VSTPluginGUIAdapter.html
new file mode 100644
index 0000000..699cb17
--- /dev/null
+++ b/docs/javadoc/opaz-plugdk/jvst/wrapper/VSTPluginGUIAdapter.html
@@ -0,0 +1,626 @@
+
+
+
+
+
+
+
+VSTPluginGUIAdapter
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+jvst.wrapper
+
+Class VSTPluginGUIAdapter
+
+java.lang.Object
+ java.awt.Component
+ java.awt.Container
+ java.awt.Window
+ java.awt.Frame
+ javax.swing.JFrame
+ jvst.wrapper.VSTPluginGUIAdapter
+
+
+All Implemented Interfaces: java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, javax.accessibility.Accessible, javax.swing.RootPaneContainer, javax.swing.WindowConstants, VSTPluginGUI
+
+
+
+public abstract class VSTPluginGUIAdapter extends javax.swing.JFrameimplements VSTPluginGUI
+
+
+
+
+See Also: Serialized Form
+
+
+
+
+
+
+
+
+
+Nested Class Summary
+
+
+
+
+
+Nested classes/interfaces inherited from class javax.swing.JFrame
+
+
+javax.swing.JFrame.AccessibleJFrame
+
+
+
+
+
+
+Nested classes/interfaces inherited from class java.awt.Frame
+
+
+java.awt.Frame.AccessibleAWTFrame
+
+
+
+
+
+
+Nested classes/interfaces inherited from class java.awt.Window
+
+
+java.awt.Window.AccessibleAWTWindow
+
+
+
+
+
+
+Nested classes/interfaces inherited from class java.awt.Container
+
+
+java.awt.Container.AccessibleAWTContainer
+
+
+
+
+
+
+Nested classes/interfaces inherited from class java.awt.Component
+
+
+java.awt.Component.AccessibleAWTComponent, java.awt.Component.BaselineResizeBehavior, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
+
+
+
+
+
+
+
+
+
+
+Fields inherited from class javax.swing.JFrame
+
+
+accessibleContext, EXIT_ON_CLOSE, rootPane, rootPaneCheckingEnabled
+
+
+
+
+
+Fields inherited from class java.awt.Frame
+
+
+CROSSHAIR_CURSOR, DEFAULT_CURSOR, E_RESIZE_CURSOR, HAND_CURSOR, ICONIFIED, MAXIMIZED_BOTH, MAXIMIZED_HORIZ, MAXIMIZED_VERT, MOVE_CURSOR, N_RESIZE_CURSOR, NE_RESIZE_CURSOR, NORMAL, NW_RESIZE_CURSOR, S_RESIZE_CURSOR, SE_RESIZE_CURSOR, SW_RESIZE_CURSOR, TEXT_CURSOR, W_RESIZE_CURSOR, WAIT_CURSOR
+
+
+
+
+
+Fields inherited from class java.awt.Component
+
+
+BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
+
+
+
+
+
+Fields inherited from interface javax.swing.WindowConstants
+
+
+DISPOSE_ON_CLOSE, DO_NOTHING_ON_CLOSE, HIDE_ON_CLOSE
+
+
+
+
+
+Fields inherited from interface java.awt.image.ImageObserver
+
+
+ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+ void
+close ()
+
+
+ Description of the Method
+
+
+
+ void
+destroy ()
+
+
+ Description of the Method
+
+
+
+ void
+idle ()
+
+
+ This method runs in the context of the hosts GUI event loop
+ So this is the right place for plug-->host calls like beginEdit, endEdit, setParameterAutomated(), etc.
+
+
+
+protected void
+log (java.lang.String s)
+
+
+
+
+
+
+ void
+open ()
+
+
+ Description of the Method
+
+
+
+ void
+undecorate ()
+
+
+
+
+
+
+
+
+Methods inherited from class javax.swing.JFrame
+
+
+addImpl, createRootPane, frameInit, getAccessibleContext, getContentPane, getDefaultCloseOperation, getGlassPane, getGraphics, getJMenuBar, getLayeredPane, getRootPane, getTransferHandler, isDefaultLookAndFeelDecorated, isRootPaneCheckingEnabled, paramString, processWindowEvent, remove, repaint, setContentPane, setDefaultCloseOperation, setDefaultLookAndFeelDecorated, setGlassPane, setIconImage, setJMenuBar, setLayeredPane, setLayout, setRootPane, setRootPaneCheckingEnabled, setTransferHandler, update
+
+
+
+
+
+Methods inherited from class java.awt.Frame
+
+
+addNotify, getCursorType, getExtendedState, getFrames, getIconImage, getMaximizedBounds, getMenuBar, getState, getTitle, isResizable, isUndecorated, remove, removeNotify, setCursor, setExtendedState, setMaximizedBounds, setMenuBar, setResizable, setState, setTitle, setUndecorated
+
+
+
+
+
+Methods inherited from class java.awt.Window
+
+
+addPropertyChangeListener, addPropertyChangeListener, addWindowFocusListener, addWindowListener, addWindowStateListener, applyResourceBundle, applyResourceBundle, createBufferStrategy, createBufferStrategy, dispose, getBufferStrategy, getFocusableWindowState, getFocusCycleRootAncestor, getFocusOwner, getFocusTraversalKeys, getGraphicsConfiguration, getIconImages, getInputContext, getListeners, getLocale, getModalExclusionType, getMostRecentFocusOwner, getOwnedWindows, getOwner, getOwnerlessWindows, getToolkit, getWarningString, getWindowFocusListeners, getWindowListeners, getWindows, getWindowStateListeners, hide, isActive, isAlwaysOnTop, isAlwaysOnTopSupported, isFocusableWindow, isFocusCycleRoot, isFocused, isLocationByPlatform, isShowing, pack, paint, postEvent, processEvent, processWindowFocusEvent, processWindowStateEvent, removeWindowFocusListener, removeWindowListener, removeWindowStateListener, reshape, setAlwaysOnTop, setBounds, setBounds, setCursor, setFocusableWindowState, setFocusCycleRoot, setIconImages, setLocationByPlatform, setLocationRelativeTo, setMinimumSize, setModalExclusionType, setSize, setSize, setVisible, show, toBack, toFront
+
+
+
+
+
+Methods inherited from class java.awt.Container
+
+
+add, add, add, add, add, addContainerListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getAlignmentX, getAlignmentY, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalPolicy, getInsets, getLayout, getMaximumSize, getMinimumSize, getMousePosition, getPreferredSize, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, print, printComponents, processContainerEvent, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusTraversalKeys, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setFont, transferFocusBackward, transferFocusDownCycle, validate, validateTree
+
+
+
+
+
+Methods inherited from class java.awt.Component
+
+
+action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, contains, createImage, createImage, createVolatileImage, createVolatileImage, disable, disableEvents, dispatchEvent, enable, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBaseline, getBaselineResizeBehavior, getBounds, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getHeight, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocation, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getSize, getTreeLock, getWidth, getX, getY, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isDoubleBuffered, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isPreferredSizeSet, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, prepareImage, prepareImage, printAll, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processKeyEvent, processMouseEvent, processMouseMotionEvent, processMouseWheelEvent, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resize, resize, setBackground, setComponentOrientation, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setLocation, setLocation, setMaximumSize, setName, setPreferredSize, show, size, toString, transferFocus, transferFocusUpCycle
+
+
+
+
+
+Methods inherited from class java.lang.Object
+
+
+clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
+
+
+
+
+
+Methods inherited from interface java.awt.MenuContainer
+
+
+getFont, postEvent
+
+
+
+
+
+
+
+
+
+
+
+RUNNING_MAC_X
+
+public static final boolean RUNNING_MAC_X
+
+
+
+
+
+
+
+plugin
+
+protected VSTPluginAdapter plugin
+
+
+
+
+
+
+
+runner
+
+public VSTPluginGUIRunner runner
+
+
+
+
+
+
+
+
+
+
+
+Constructor Detail
+
+
+
+
+VSTPluginGUIAdapter
+
+public VSTPluginGUIAdapter (VSTPluginGUIRunner r,
+ VSTPluginAdapter plugin)
+
+
+
+
+
+
+
+
+
+undecorate
+
+public void undecorate ()
+
+
+
+
+
+
+
+
+
+
+
+open
+
+public void open ()
+
+Description copied from interface: VSTPluginGUI
+Description of the Method
+
+
+Specified by: open in interface VSTPluginGUI
+
+
+
+
+
+
+
+
+close
+
+public void close ()
+
+Description copied from interface: VSTPluginGUI
+Description of the Method
+
+
+Specified by: close in interface VSTPluginGUI
+
+
+
+
+
+
+
+
+destroy
+
+public void destroy ()
+
+Description copied from interface: VSTPluginGUI
+Description of the Method
+
+
+Specified by: destroy in interface VSTPluginGUI
+
+
+
+
+
+
+
+
+idle
+
+public void idle ()
+
+Description copied from interface: VSTPluginGUI
+This method runs in the context of the hosts GUI event loop
+ So this is the right place for plug-->host calls like beginEdit, endEdit, setParameterAutomated(), etc.
+ WARNING: do not do any Swing related tasks or other long.running actions here.
+ This call blocks the host event thread and thus all GUI related things
+ Also, if Swing things are done here the plugin will deadlock on Mac
+ You can prevent this by wrapping everything EXCEPT plug-->host calls by using invokeLater()
+
+
+Specified by: idle in interface VSTPluginGUI
+
+
+
+
+
+
+
+
+log
+
+protected final void log (java.lang.String s)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/javadoc/opaz-plugdk/jvst/wrapper/class-use/VSTPluginAdapter.html b/docs/javadoc/opaz-plugdk/jvst/wrapper/class-use/VSTPluginAdapter.html
new file mode 100644
index 0000000..2e675d0
--- /dev/null
+++ b/docs/javadoc/opaz-plugdk/jvst/wrapper/class-use/VSTPluginAdapter.html
@@ -0,0 +1,226 @@
+
+
+
+
+
+
+
+Uses of Class jvst.wrapper.VSTPluginAdapter
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Uses of Class jvst.wrapper.VSTPluginAdapter
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/javadoc/opaz-plugdk/jvst/wrapper/class-use/VSTPluginGUIAdapter.html b/docs/javadoc/opaz-plugdk/jvst/wrapper/class-use/VSTPluginGUIAdapter.html
new file mode 100644
index 0000000..4112478
--- /dev/null
+++ b/docs/javadoc/opaz-plugdk/jvst/wrapper/class-use/VSTPluginGUIAdapter.html
@@ -0,0 +1,181 @@
+
+
+
+
+
+
+
+Uses of Class jvst.wrapper.VSTPluginGUIAdapter
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Uses of Class jvst.wrapper.VSTPluginGUIAdapter
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/javadoc/opaz-plugdk/jvst/wrapper/communication/VSTV10ToHost.html b/docs/javadoc/opaz-plugdk/jvst/wrapper/communication/VSTV10ToHost.html
new file mode 100644
index 0000000..8524e2c
--- /dev/null
+++ b/docs/javadoc/opaz-plugdk/jvst/wrapper/communication/VSTV10ToHost.html
@@ -0,0 +1,624 @@
+
+
+
+
+
+
+
+VSTV10ToHost
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+jvst.wrapper.communication
+
+Class VSTV10ToHost
+
+java.lang.Object
+ jvst.wrapper.communication.VSTV10ToHost
+
+
+Direct Known Subclasses: VSTV20ToHost
+
+
+
+public abstract class VSTV10ToHost extends java.lang.Object
+
+
+
+VST 1.0 Plug -> Host Communication
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+ void
+canMono (boolean state)
+
+
+ Deprecated. deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+
+
+
+ void
+canProcessReplacing (boolean state)
+
+
+
+
+
+
+ int
+getBlockSize ()
+
+
+
+
+
+
+ int
+getCurrentUniqueId ()
+
+
+
+
+
+
+ int
+getMasterVersion ()
+
+
+
+
+
+
+ float
+getSampleRate ()
+
+
+
+
+
+
+ void
+hasClip (boolean state)
+
+
+ Deprecated. deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+
+
+
+ void
+hasVu (boolean state)
+
+
+ Deprecated. deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+
+
+
+ boolean
+isInputConnected (int input)
+
+
+
+
+
+
+ boolean
+isOutputConnected (int output)
+
+
+
+
+
+
+ void
+masterIdle ()
+
+
+
+
+
+
+ void
+programsAreChunks (boolean state)
+
+
+
+
+
+
+ void
+setInitialDelay (int delay)
+
+
+
+
+
+
+ void
+setNumInputs (int num)
+
+
+
+
+
+
+ void
+setNumOutputs (int num)
+
+
+
+
+
+
+ void
+setOfflineQualities (int qualities)
+
+
+ Deprecated. deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+
+
+
+ void
+setParameterAutomated (int index,
+ float value)
+
+
+
+
+
+
+ void
+setRealtimeQualities (int qualities)
+
+
+ Deprecated. deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+
+
+
+ void
+setUniqueID (int id)
+
+
+
+
+
+
+
+
+Methods inherited from class java.lang.Object
+
+
+clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+Constructor Detail
+
+
+
+
+VSTV10ToHost
+
+public VSTV10ToHost ()
+
+
+
+
+
+
+
+
+
+setUniqueID
+
+public void setUniqueID (int id)
+
+
+
+
+
+
+
+
+setNumInputs
+
+public void setNumInputs (int num)
+
+
+
+
+
+
+
+
+setNumOutputs
+
+public void setNumOutputs (int num)
+
+
+
+
+
+
+
+
+hasVu
+
+public void hasVu (boolean state)
+
+Deprecated. deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+
+
+
+
+
+
+
+
+hasClip
+
+public void hasClip (boolean state)
+
+Deprecated. deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+
+
+
+
+
+
+
+
+canMono
+
+public void canMono (boolean state)
+
+Deprecated. deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+
+
+
+
+
+
+
+
+canProcessReplacing
+
+public void canProcessReplacing (boolean state)
+
+
+
+
+
+
+
+
+setRealtimeQualities
+
+public void setRealtimeQualities (int qualities)
+
+Deprecated. deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+
+
+
+
+
+
+
+
+setOfflineQualities
+
+public void setOfflineQualities (int qualities)
+
+Deprecated. deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+
+
+
+
+
+
+
+
+setInitialDelay
+
+public void setInitialDelay (int delay)
+
+
+
+
+
+
+
+
+programsAreChunks
+
+public void programsAreChunks (boolean state)
+
+
+
+
+
+
+
+
+getSampleRate
+
+public float getSampleRate ()
+
+
+
+
+
+
+
+
+getBlockSize
+
+public int getBlockSize ()
+
+
+
+
+
+
+
+
+setParameterAutomated
+
+public void setParameterAutomated (int index,
+ float value)
+
+
+
+
+
+
+
+
+getMasterVersion
+
+public int getMasterVersion ()
+
+
+
+
+
+
+
+
+getCurrentUniqueId
+
+public int getCurrentUniqueId ()
+
+
+
+
+
+
+
+
+masterIdle
+
+public void masterIdle ()
+
+
+
+
+
+
+
+
+isInputConnected
+
+public boolean isInputConnected (int input)
+
+
+
+
+
+
+
+
+isOutputConnected
+
+public boolean isOutputConnected (int output)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/javadoc/opaz-plugdk/jvst/wrapper/communication/VSTV10ToPlug.html b/docs/javadoc/opaz-plugdk/jvst/wrapper/communication/VSTV10ToPlug.html
new file mode 100644
index 0000000..1579dd9
--- /dev/null
+++ b/docs/javadoc/opaz-plugdk/jvst/wrapper/communication/VSTV10ToPlug.html
@@ -0,0 +1,648 @@
+
+
+
+
+
+
+
+VSTV10ToPlug
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+jvst.wrapper.communication
+
+Interface VSTV10ToPlug
+
+All Known Subinterfaces: VSTV20ToPlug , VSTV21ToPlug , VSTV22ToPlug , VSTV23ToPlug , VSTV24ToPlug
+
+
+All Known Implementing Classes: VSTPluginAdapter
+
+
+
+public interface VSTV10ToPlug
+
+
+
+VST 1.0 Host -> Plug Communication
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+ void
+close ()
+
+
+
+
+
+
+ int
+getChunk (byte[][] data,
+ boolean isPreset)
+
+
+
+
+
+
+ int
+getNumParams ()
+
+
+ because setting this param in constructor is bad design!
+
+
+
+ int
+getNumPrograms ()
+
+
+ because setting this param in constructor is bad design!
+
+
+
+ float
+getParameter (int index)
+
+
+
+
+
+
+ java.lang.String
+getParameterDisplay (int index)
+
+
+
+
+
+
+ java.lang.String
+getParameterLabel (int index)
+
+
+
+
+
+
+ java.lang.String
+getParameterName (int index)
+
+
+
+
+
+
+ int
+getProgram ()
+
+
+
+
+
+
+ java.lang.String
+getProgramName ()
+
+
+
+
+
+
+ float
+getVu ()
+
+
+ Deprecated. deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+
+
+
+ void
+open ()
+
+
+
+
+
+
+ void
+process (float[][] inputs,
+ float[][] outputs,
+ int sampleFrames)
+
+
+ Deprecated. deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+
+ USE processReplacing() and/or processDoubleReplacing() INSTEAD!
+
+
+
+ void
+processReplacing (float[][] inputs,
+ float[][] outputs,
+ int sampleFrames)
+
+
+
+
+
+
+ void
+resume ()
+
+
+
+
+
+
+ void
+setBlockSize (int blockSize)
+
+
+
+
+
+
+ int
+setChunk (byte[] data,
+ int byteSize,
+ boolean isPreset)
+
+
+
+
+
+
+ void
+setParameter (int index,
+ float value)
+
+
+
+
+
+
+ void
+setProgram (int index)
+
+
+
+
+
+
+ void
+setProgramName (java.lang.String name)
+
+
+
+
+
+
+ void
+setSampleRate (float sampleRate)
+
+
+
+
+
+
+ void
+suspend ()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+setParameter
+
+void setParameter (int index,
+ float value)
+
+
+
+
+
+
+
+
+getParameter
+
+float getParameter (int index)
+
+
+
+
+
+
+
+
+process
+
+void process (float[][] inputs,
+ float[][] outputs,
+ int sampleFrames)
+
+Deprecated. deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+
+ USE processReplacing() and/or processDoubleReplacing() INSTEAD!
+
+
+
+
+
+
+
+
+processReplacing
+
+void processReplacing (float[][] inputs,
+ float[][] outputs,
+ int sampleFrames)
+
+
+
+
+
+
+
+
+getProgram
+
+int getProgram ()
+
+
+
+
+
+
+
+
+setProgram
+
+void setProgram (int index)
+
+
+
+
+
+
+
+
+setProgramName
+
+void setProgramName (java.lang.String name)
+
+
+
+
+
+
+
+
+getProgramName
+
+java.lang.String getProgramName ()
+
+
+
+
+
+
+
+
+getParameterName
+
+java.lang.String getParameterName (int index)
+
+
+
+
+
+
+
+
+getParameterDisplay
+
+java.lang.String getParameterDisplay (int index)
+
+
+
+
+
+
+
+
+getParameterLabel
+
+java.lang.String getParameterLabel (int index)
+
+
+
+
+
+
+
+
+open
+
+void open ()
+
+
+
+
+
+
+
+
+close
+
+void close ()
+
+
+
+
+
+
+
+
+suspend
+
+void suspend ()
+
+
+
+
+
+
+
+
+resume
+
+void resume ()
+
+
+
+
+
+
+
+
+getVu
+
+float getVu ()
+
+Deprecated. deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+
+
+
+
+
+
+
+
+getChunk
+
+int getChunk (byte[][] data,
+ boolean isPreset)
+
+
+
+
+
+
+
+
+setChunk
+
+int setChunk (byte[] data,
+ int byteSize,
+ boolean isPreset)
+
+
+
+
+
+
+
+
+setBlockSize
+
+void setBlockSize (int blockSize)
+
+
+
+
+
+
+
+
+setSampleRate
+
+void setSampleRate (float sampleRate)
+
+
+
+
+
+
+
+
+getNumPrograms
+
+int getNumPrograms ()
+
+because setting this param in constructor is bad design!
+
+
+
+
+
+
+
+
+getNumParams
+
+int getNumParams ()
+
+because setting this param in constructor is bad design!
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/javadoc/opaz-plugdk/jvst/wrapper/communication/VSTV20ToHost.html b/docs/javadoc/opaz-plugdk/jvst/wrapper/communication/VSTV20ToHost.html
new file mode 100644
index 0000000..dbdd472
--- /dev/null
+++ b/docs/javadoc/opaz-plugdk/jvst/wrapper/communication/VSTV20ToHost.html
@@ -0,0 +1,1487 @@
+
+
+
+
+
+
+
+VSTV20ToHost
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+jvst.wrapper.communication
+
+Class VSTV20ToHost
+
+java.lang.Object
+ jvst.wrapper.communication.VSTV10ToHost
+ jvst.wrapper.communication.VSTV20ToHost
+
+
+Direct Known Subclasses: VSTV21ToHost
+
+
+
+public abstract class VSTV20ToHost extends VSTV10ToHost
+
+
+
+VST 2.0 Plug -> Host Communication
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+ int
+canHostDo (java.lang.String what)
+
+
+
+
+
+
+ int
+getAutomationState ()
+
+
+
+
+
+
+ int
+getCurrentProcessLevel ()
+
+
+
+
+
+
+ java.lang.String
+getDirectory ()
+
+
+
+
+
+
+ int
+getHostLanguage ()
+
+
+
+
+
+
+ java.lang.String
+getHostProductString ()
+
+
+
+
+
+
+ java.lang.String
+getHostVendorString ()
+
+
+
+
+
+
+ int
+getHostVendorVersion ()
+
+
+
+
+
+
+ int
+getInputLatency ()
+
+
+
+
+
+
+ int
+getNumAutomatableParameters ()
+
+
+ Deprecated. deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+
+
+
+ int
+getOutputLatency ()
+
+
+
+
+
+
+ int
+getParameterQuantization ()
+
+
+ Deprecated. deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+
+
+
+ VSTTimeInfo
+getTimeInfo (int filter)
+
+
+
+
+
+
+ void
+hasExternalBuffer (boolean state)
+
+
+ Deprecated. deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+
+
+
+ boolean
+ioChanged ()
+
+
+
+
+
+
+ void
+isSynth (boolean state)
+
+
+
+
+
+
+ boolean
+needIdle ()
+
+
+ Deprecated. deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+
+
+
+ void
+noTail (boolean state)
+
+
+
+
+
+
+ boolean
+sendVstEventsToHost (VSTEvents events)
+
+
+
+
+
+
+ void
+setOutputSamplerate (float rate)
+
+
+ Deprecated. deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+
+
+
+ boolean
+sizeWindow (int width,
+ int height)
+
+
+
+
+
+
+ int
+tempoAt (int position)
+
+
+ Deprecated. deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+
+
+
+ int
+updateBlockSize ()
+
+
+
+
+
+
+ boolean
+updateDisplay ()
+
+
+
+
+
+
+ double
+updateSampleRate ()
+
+
+
+
+
+
+ void
+wantAsyncOperation (boolean state)
+
+
+ Deprecated. deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+
+
+
+ void
+wantEvents (int filter)
+
+
+ Deprecated. deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+
+
+
+ int
+willProcessReplacing ()
+
+
+ Deprecated. deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+
+
+
+
+
+Methods inherited from class jvst.wrapper.communication.VSTV10ToHost
+
+
+canMono , canProcessReplacing , getBlockSize , getCurrentUniqueId , getMasterVersion , getSampleRate , hasClip , hasVu , isInputConnected , isOutputConnected , masterIdle , programsAreChunks , setInitialDelay , setNumInputs , setNumOutputs , setOfflineQualities , setParameterAutomated , setRealtimeQualities , setUniqueID
+
+
+
+
+
+Methods inherited from class java.lang.Object
+
+
+clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+CANDO_DONT_KNOW
+
+public static final int CANDO_DONT_KNOW
+
+
+See Also: Constant Field Values
+
+
+
+
+CANDO_NO
+
+public static final int CANDO_NO
+
+
+See Also: Constant Field Values
+
+
+
+
+CANDO_PLUG_1_IN_1_OUT
+
+public static final java.lang.String CANDO_PLUG_1_IN_1_OUT
+
+
+See Also: Constant Field Values
+
+
+
+
+CANDO_PLUG_1_IN_2_OUT
+
+public static final java.lang.String CANDO_PLUG_1_IN_2_OUT
+
+
+See Also: Constant Field Values
+
+
+
+
+CANDO_PLUG_2_IN_1_OUT
+
+public static final java.lang.String CANDO_PLUG_2_IN_1_OUT
+
+
+See Also: Constant Field Values
+
+
+
+
+CANDO_PLUG_2_IN_2_OUT
+
+public static final java.lang.String CANDO_PLUG_2_IN_2_OUT
+
+
+See Also: Constant Field Values
+
+
+
+
+CANDO_PLUG_2_IN_4_OUT
+
+public static final java.lang.String CANDO_PLUG_2_IN_4_OUT
+
+
+See Also: Constant Field Values
+
+
+
+
+CANDO_PLUG_4_IN_2_OUT
+
+public static final java.lang.String CANDO_PLUG_4_IN_2_OUT
+
+
+See Also: Constant Field Values
+
+
+
+
+CANDO_PLUG_4_IN_4_OUT
+
+public static final java.lang.String CANDO_PLUG_4_IN_4_OUT
+
+
+See Also: Constant Field Values
+
+
+
+
+CANDO_PLUG_4_IN_8_OUT
+
+public static final java.lang.String CANDO_PLUG_4_IN_8_OUT
+
+
+See Also: Constant Field Values
+
+
+
+
+CANDO_PLUG_8_IN_4_OUT
+
+public static final java.lang.String CANDO_PLUG_8_IN_4_OUT
+
+
+See Also: Constant Field Values
+
+
+
+
+CANDO_PLUG_8_IN_8_OUT
+
+public static final java.lang.String CANDO_PLUG_8_IN_8_OUT
+
+
+See Also: Constant Field Values
+
+
+
+
+CANDO_PLUG_BYPASS
+
+public static final java.lang.String CANDO_PLUG_BYPASS
+
+
+See Also: Constant Field Values
+
+
+
+
+CANDO_PLUG_CONFORMS_TO_WINDOW_RULES
+
+public static final java.lang.String CANDO_PLUG_CONFORMS_TO_WINDOW_RULES
+
+
+See Also: Constant Field Values
+
+
+
+
+CANDO_PLUG_METAPASS
+
+public static final java.lang.String CANDO_PLUG_METAPASS
+
+
+See Also: Constant Field Values
+
+
+
+
+CANDO_PLUG_MIDI_PROGRAM_NAMES
+
+public static final java.lang.String CANDO_PLUG_MIDI_PROGRAM_NAMES
+
+
+See Also: Constant Field Values
+
+
+
+
+CANDO_PLUG_MIX_DRY_WET
+
+public static final java.lang.String CANDO_PLUG_MIX_DRY_WET
+
+
+See Also: Constant Field Values
+
+
+
+
+CANDO_PLUG_MULTIPASS
+
+public static final java.lang.String CANDO_PLUG_MULTIPASS
+
+
+See Also: Constant Field Values
+
+
+
+
+CANDO_PLUG_NO_REAL_TIME
+
+public static final java.lang.String CANDO_PLUG_NO_REAL_TIME
+
+
+See Also: Constant Field Values
+
+
+
+
+CANDO_PLUG_OFFLINE
+
+public static final java.lang.String CANDO_PLUG_OFFLINE
+
+
+See Also: Constant Field Values
+
+
+
+
+CANDO_PLUG_PLUG_AS_CHANNEL_INSERT
+
+public static final java.lang.String CANDO_PLUG_PLUG_AS_CHANNEL_INSERT
+
+
+See Also: Constant Field Values
+
+
+
+
+CANDO_PLUG_PLUG_AS_SEND
+
+public static final java.lang.String CANDO_PLUG_PLUG_AS_SEND
+
+
+See Also: Constant Field Values
+
+
+
+
+CANDO_PLUG_RECEIVE_VST_EVENTS
+
+public static final java.lang.String CANDO_PLUG_RECEIVE_VST_EVENTS
+
+
+See Also: Constant Field Values
+
+
+
+
+CANDO_PLUG_RECEIVE_VST_MIDI_EVENT
+
+public static final java.lang.String CANDO_PLUG_RECEIVE_VST_MIDI_EVENT
+
+
+See Also: Constant Field Values
+
+
+
+
+CANDO_PLUG_RECEIVE_VST_TIME_INFO
+
+public static final java.lang.String CANDO_PLUG_RECEIVE_VST_TIME_INFO
+
+
+See Also: Constant Field Values
+
+
+
+
+CANDO_PLUG_REVEIVE_VST_MIDI_EVENT
+
+public static final java.lang.String CANDO_PLUG_REVEIVE_VST_MIDI_EVENT
+
+
+See Also: Constant Field Values
+
+
+
+
+CANDO_PLUG_SEND_VST_EVENTS
+
+public static final java.lang.String CANDO_PLUG_SEND_VST_EVENTS
+
+
+See Also: Constant Field Values
+
+
+
+
+CANDO_PLUG_SEND_VST_MIDI_EVENT
+
+public static final java.lang.String CANDO_PLUG_SEND_VST_MIDI_EVENT
+
+
+See Also: Constant Field Values
+
+
+
+
+CANDO_PLUG_SEND_VST_TIME_INFO
+
+public static final java.lang.String CANDO_PLUG_SEND_VST_TIME_INFO
+
+
+See Also: Constant Field Values
+
+
+
+
+CANDO_YES
+
+public static final int CANDO_YES
+
+
+See Also: Constant Field Values
+
+
+
+
+VST_LANG_ENGLISH
+
+public static final int VST_LANG_ENGLISH
+
+
+See Also: Constant Field Values
+
+
+
+
+VST_LANG_FRENCH
+
+public static final int VST_LANG_FRENCH
+
+
+See Also: Constant Field Values
+
+
+
+
+VST_LANG_GERMAN
+
+public static final int VST_LANG_GERMAN
+
+
+See Also: Constant Field Values
+
+
+
+
+VST_LANG_ITALIAN
+
+public static final int VST_LANG_ITALIAN
+
+
+See Also: Constant Field Values
+
+
+
+
+VST_LANG_JAPANESE
+
+public static final int VST_LANG_JAPANESE
+
+
+See Also: Constant Field Values
+
+
+
+
+VST_LANG_SPANISH
+
+public static final int VST_LANG_SPANISH
+
+
+See Also: Constant Field Values
+
+
+
+
+
+
+
+
+Constructor Detail
+
+
+
+
+VSTV20ToHost
+
+public VSTV20ToHost ()
+
+
+
+
+
+
+
+
+
+canHostDo
+
+public int canHostDo (java.lang.String what)
+
+
+
+
+
+
+
+
+sizeWindow
+
+public boolean sizeWindow (int width,
+ int height)
+
+
+
+
+
+
+
+
+ioChanged
+
+public boolean ioChanged ()
+
+
+
+
+
+
+
+
+getTimeInfo
+
+public VSTTimeInfo getTimeInfo (int filter)
+
+
+
+
+
+
+
+
+sendVstEventsToHost
+
+public boolean sendVstEventsToHost (VSTEvents events)
+
+
+
+
+
+
+
+
+needIdle
+
+public boolean needIdle ()
+
+Deprecated. deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+
+
+
+
+
+
+
+
+updateSampleRate
+
+public double updateSampleRate ()
+
+
+
+
+
+
+
+
+updateBlockSize
+
+public int updateBlockSize ()
+
+
+
+
+
+
+
+
+getAutomationState
+
+public int getAutomationState ()
+
+
+
+
+
+
+
+
+getCurrentProcessLevel
+
+public int getCurrentProcessLevel ()
+
+
+
+
+
+
+
+
+getDirectory
+
+public java.lang.String getDirectory ()
+
+
+
+
+
+
+
+
+getHostProductString
+
+public java.lang.String getHostProductString ()
+
+
+
+
+
+
+
+
+getHostVendorVersion
+
+public int getHostVendorVersion ()
+
+
+
+
+
+
+
+
+getHostVendorString
+
+public java.lang.String getHostVendorString ()
+
+
+
+
+
+
+
+
+getHostLanguage
+
+public int getHostLanguage ()
+
+
+
+
+
+
+
+
+getInputLatency
+
+public int getInputLatency ()
+
+
+
+
+
+
+
+
+getOutputLatency
+
+public int getOutputLatency ()
+
+
+
+
+
+
+
+
+getNumAutomatableParameters
+
+public int getNumAutomatableParameters ()
+
+Deprecated. deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+
+
+
+
+
+
+
+
+getParameterQuantization
+
+public int getParameterQuantization ()
+
+Deprecated. deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+
+
+
+
+
+
+
+
+hasExternalBuffer
+
+public void hasExternalBuffer (boolean state)
+
+Deprecated. deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+
+
+
+
+
+
+
+
+isSynth
+
+public void isSynth (boolean state)
+
+
+
+
+
+
+
+
+noTail
+
+public void noTail (boolean state)
+
+
+
+
+
+
+
+
+setOutputSamplerate
+
+public void setOutputSamplerate (float rate)
+
+Deprecated. deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+
+
+
+
+
+
+
+
+tempoAt
+
+public int tempoAt (int position)
+
+Deprecated. deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+
+
+
+
+
+
+
+
+updateDisplay
+
+public boolean updateDisplay ()
+
+
+
+
+
+
+
+
+wantAsyncOperation
+
+public void wantAsyncOperation (boolean state)
+
+Deprecated. deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+
+
+
+
+
+
+
+
+wantEvents
+
+public void wantEvents (int filter)
+
+Deprecated. deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+
+
+
+
+
+
+
+
+willProcessReplacing
+
+public int willProcessReplacing ()
+
+Deprecated. deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/javadoc/opaz-plugdk/jvst/wrapper/communication/VSTV20ToPlug.html b/docs/javadoc/opaz-plugdk/jvst/wrapper/communication/VSTV20ToPlug.html
new file mode 100644
index 0000000..c8cc62f
--- /dev/null
+++ b/docs/javadoc/opaz-plugdk/jvst/wrapper/communication/VSTV20ToPlug.html
@@ -0,0 +1,1466 @@
+
+
+
+
+
+
+
+VSTV20ToPlug
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+jvst.wrapper.communication
+
+Interface VSTV20ToPlug
+
+All Superinterfaces: VSTV10ToPlug
+
+
+All Known Subinterfaces: VSTV21ToPlug , VSTV22ToPlug , VSTV23ToPlug , VSTV24ToPlug
+
+
+All Known Implementing Classes: VSTPluginAdapter
+
+
+
+public interface VSTV20ToPlug extends VSTV10ToPlug
+
+
+
+VST 2.0 Host -> Plug Communication
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Methods inherited from interface jvst.wrapper.communication.VSTV10ToPlug
+
+
+close , getChunk , getNumParams , getNumPrograms , getParameter , getParameterDisplay , getParameterLabel , getParameterName , getProgram , getProgramName , getVu , open , process , processReplacing , resume , setBlockSize , setChunk , setParameter , setProgram , setProgramName , setSampleRate , suspend
+
+
+
+
+
+
+
+
+
+
+
+CANDO_HOST_ACCEPT_IO_CHANGES
+
+static final java.lang.String CANDO_HOST_ACCEPT_IO_CHANGES
+
+
+See Also: Constant Field Values
+
+
+
+
+CANDO_HOST_ASYNC_PROCESSING
+
+static final java.lang.String CANDO_HOST_ASYNC_PROCESSING
+
+
+See Also: Constant Field Values
+
+
+
+
+CANDO_HOST_CLOSE_FILE_SELECTOR
+
+static final java.lang.String CANDO_HOST_CLOSE_FILE_SELECTOR
+
+
+See Also: Constant Field Values
+
+
+
+
+CANDO_HOST_EDIT_FILE
+
+static final java.lang.String CANDO_HOST_EDIT_FILE
+
+
+See Also: Constant Field Values
+
+
+
+
+CANDO_HOST_OFFLINE
+
+static final java.lang.String CANDO_HOST_OFFLINE
+
+
+See Also: Constant Field Values
+
+
+
+
+CANDO_HOST_OPEN_FILE_SELECTOR
+
+static final java.lang.String CANDO_HOST_OPEN_FILE_SELECTOR
+
+
+See Also: Constant Field Values
+
+
+
+
+CANDO_HOST_RECEIVE_VST_Events
+
+static final java.lang.String CANDO_HOST_RECEIVE_VST_Events
+
+
+See Also: Constant Field Values
+
+
+
+
+CANDO_HOST_RECEIVE_VST_MIDI_EVENT
+
+static final java.lang.String CANDO_HOST_RECEIVE_VST_MIDI_EVENT
+
+
+See Also: Constant Field Values
+
+
+
+
+CANDO_HOST_RECEIVE_VST_TIME_INFO
+
+static final java.lang.String CANDO_HOST_RECEIVE_VST_TIME_INFO
+
+
+See Also: Constant Field Values
+
+
+
+
+CANDO_HOST_REPORT_CONNECTION_CHANGES
+
+static final java.lang.String CANDO_HOST_REPORT_CONNECTION_CHANGES
+
+
+See Also: Constant Field Values
+
+
+
+
+CANDO_HOST_SEND_VST_EVENTS
+
+static final java.lang.String CANDO_HOST_SEND_VST_EVENTS
+
+
+See Also: Constant Field Values
+
+
+
+
+CANDO_HOST_SEND_VST_MIDI_EVENT
+
+static final java.lang.String CANDO_HOST_SEND_VST_MIDI_EVENT
+
+
+See Also: Constant Field Values
+
+
+
+
+CANDO_HOST_SEND_VST_TIME_INFO
+
+static final java.lang.String CANDO_HOST_SEND_VST_TIME_INFO
+
+
+See Also: Constant Field Values
+
+
+
+
+CANDO_HOST_SIZE_WINDOW
+
+static final java.lang.String CANDO_HOST_SIZE_WINDOW
+
+
+See Also: Constant Field Values
+
+
+
+
+CANDO_HOST_START_STOP_PROCESS
+
+static final java.lang.String CANDO_HOST_START_STOP_PROCESS
+
+
+See Also: Constant Field Values
+
+
+
+
+CANDO_HOST_SUPPLY_IDLE
+
+static final java.lang.String CANDO_HOST_SUPPLY_IDLE
+
+
+See Also: Constant Field Values
+
+
+
+
+CANDO_HOST_SUPPORT_SHELL
+
+static final java.lang.String CANDO_HOST_SUPPORT_SHELL
+
+
+See Also: Constant Field Values
+
+
+
+
+PLUG_CATEG_ANALYSIS
+
+static final int PLUG_CATEG_ANALYSIS
+
+
+See Also: Constant Field Values
+
+
+
+
+PLUG_CATEG_EFFECT
+
+static final int PLUG_CATEG_EFFECT
+
+
+See Also: Constant Field Values
+
+
+
+
+PLUG_CATEG_GENERATOR
+
+static final int PLUG_CATEG_GENERATOR
+
+
+See Also: Constant Field Values
+
+
+
+
+PLUG_CATEG_MASTERING
+
+static final int PLUG_CATEG_MASTERING
+
+
+See Also: Constant Field Values
+
+
+
+
+PLUG_CATEG_OFFLINE_PROCESS
+
+static final int PLUG_CATEG_OFFLINE_PROCESS
+
+
+See Also: Constant Field Values
+
+
+
+
+PLUG_CATEG_RESTORATION
+
+static final int PLUG_CATEG_RESTORATION
+
+
+See Also: Constant Field Values
+
+
+
+
+PLUG_CATEG_ROOM_FX
+
+static final int PLUG_CATEG_ROOM_FX
+
+
+See Also: Constant Field Values
+
+
+
+
+PLUG_CATEG_SHELL
+
+static final int PLUG_CATEG_SHELL
+
+
+See Also: Constant Field Values
+
+
+
+
+PLUG_CATEG_SPACIALIZER
+
+static final int PLUG_CATEG_SPACIALIZER
+
+
+See Also: Constant Field Values
+
+
+
+
+PLUG_CATEG_SURROUND_FX
+
+static final int PLUG_CATEG_SURROUND_FX
+
+
+See Also: Constant Field Values
+
+
+
+
+PLUG_CATEG_SYNTH
+
+static final int PLUG_CATEG_SYNTH
+
+
+See Also: Constant Field Values
+
+
+
+
+PLUG_CATEG_UNKNOWN
+
+static final int PLUG_CATEG_UNKNOWN
+
+
+See Also: Constant Field Values
+
+
+
+
+
+
+
+
+canDo
+
+int canDo (java.lang.String feature)
+
+
+
+
+
+
+
+
+
+
+
+setBypass
+
+boolean setBypass (boolean value)
+
+
+
+
+
+
+
+
+
+
+
+string2Parameter
+
+boolean string2Parameter (int index,
+ java.lang.String value)
+
+
+
+
+
+
+
+
+
+
+
+getProgramNameIndexed
+
+java.lang.String getProgramNameIndexed (int category,
+ int index)
+
+
+
+
+
+
+
+
+
+
+
+getProductString
+
+java.lang.String getProductString ()
+
+
+
+
+
+
+
+
+
+
+
+getVendorString
+
+java.lang.String getVendorString ()
+
+
+
+
+
+
+
+
+
+
+
+getPlugCategory
+
+int getPlugCategory ()
+
+
+
+
+
+
+
+
+
+
+
+getEffectName
+
+java.lang.String getEffectName ()
+
+
+
+
+
+
+
+
+
+
+
+getVendorVersion
+
+int getVendorVersion ()
+
+
+
+
+
+
+
+
+
+
+
+canParameterBeAutomated
+
+boolean canParameterBeAutomated (int index)
+
+
+
+
+
+
+
+
+
+
+
+copyProgram
+
+boolean copyProgram (int destination)
+
+Deprecated. deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+
+
+
+
+
+
+
+
+
+
+
+fxIdle
+
+int fxIdle ()
+
+Deprecated. deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+
+
+
+
+
+
+
+
+
+
+
+getChannelParameter
+
+float getChannelParameter (int channel,
+ int index)
+
+
+
+
+
+
+
+
+
+
+
+getNumCategories
+
+int getNumCategories ()
+
+Deprecated. deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+
+
+
+
+
+
+
+
+
+
+
+getInputProperties
+
+VSTPinProperties getInputProperties (int index)
+
+
+
+
+
+
+
+
+
+
+
+getOutputProperties
+
+VSTPinProperties getOutputProperties (int index)
+
+
+
+
+
+
+
+
+
+
+
+getErrorText
+
+java.lang.String getErrorText ()
+
+Deprecated. deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+
+
+
+
+
+
+
+
+
+
+
+getGetTailSize
+
+int getGetTailSize ()
+
+
+
+
+
+
+
+
+
+
+
+getParameterProperties
+
+VSTParameterProperties getParameterProperties (int index)
+
+
+
+
+
+
+
+
+
+
+
+getVstVersion
+
+int getVstVersion ()
+
+
+
+
+
+
+
+
+
+
+
+inputConnected
+
+void inputConnected (int index,
+ boolean state)
+
+Deprecated. deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+
+
+
+
+
+
+
+
+
+
+
+outputConnected
+
+void outputConnected (int index,
+ boolean state)
+
+Deprecated. deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+
+
+
+
+
+
+
+
+
+
+
+keysRequired
+
+boolean keysRequired ()
+
+Deprecated. deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+
+
+
+
+
+
+
+
+
+
+
+processEvents
+
+int processEvents (VSTEvents e)
+
+
+
+
+
+
+
+
+
+
+
+processVariableIo
+
+boolean processVariableIo (VSTVariableIO vario)
+
+
+
+
+
+
+
+
+
+
+
+reportCurrentPosition
+
+int reportCurrentPosition ()
+
+Deprecated. deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+
+
+
+
+
+
+
+
+
+
+
+reportDestinationBuffer
+
+float[] reportDestinationBuffer ()
+
+Deprecated. deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+
+
+
+
+
+
+
+
+
+
+
+setBlockSizeAndSampleRate
+
+void setBlockSizeAndSampleRate (int blockSize,
+ float sampleRate)
+
+Deprecated. deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+
+
+
+
+
+
+
+
+
+
+
+setSpeakerArrangement
+
+boolean setSpeakerArrangement (VSTSpeakerArrangement pluginInput,
+ VSTSpeakerArrangement pluginOutput)
+
+
+
+
+
+
+
+
+
+
+
+getSpeakerArrangement
+
+boolean getSpeakerArrangement (VSTSpeakerArrangement inputs,
+ VSTSpeakerArrangement outputs)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/javadoc/opaz-plugdk/jvst/wrapper/communication/VSTV21ToHost.html b/docs/javadoc/opaz-plugdk/jvst/wrapper/communication/VSTV21ToHost.html
new file mode 100644
index 0000000..73e0d82
--- /dev/null
+++ b/docs/javadoc/opaz-plugdk/jvst/wrapper/communication/VSTV21ToHost.html
@@ -0,0 +1,313 @@
+
+
+
+
+
+
+
+VSTV21ToHost
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+jvst.wrapper.communication
+
+Class VSTV21ToHost
+
+java.lang.Object
+ jvst.wrapper.communication.VSTV10ToHost
+ jvst.wrapper.communication.VSTV20ToHost
+ jvst.wrapper.communication.VSTV21ToHost
+
+
+Direct Known Subclasses: VSTV22ToHost
+
+
+
+public abstract class VSTV21ToHost extends VSTV20ToHost
+
+
+
+
+
+
+
+
+
+
+
+
+
+Fields inherited from class jvst.wrapper.communication.VSTV20ToHost
+
+
+CANDO_DONT_KNOW , CANDO_NO , CANDO_PLUG_1_IN_1_OUT , CANDO_PLUG_1_IN_2_OUT , CANDO_PLUG_2_IN_1_OUT , CANDO_PLUG_2_IN_2_OUT , CANDO_PLUG_2_IN_4_OUT , CANDO_PLUG_4_IN_2_OUT , CANDO_PLUG_4_IN_4_OUT , CANDO_PLUG_4_IN_8_OUT , CANDO_PLUG_8_IN_4_OUT , CANDO_PLUG_8_IN_8_OUT , CANDO_PLUG_BYPASS , CANDO_PLUG_CONFORMS_TO_WINDOW_RULES , CANDO_PLUG_METAPASS , CANDO_PLUG_MIDI_PROGRAM_NAMES , CANDO_PLUG_MIX_DRY_WET , CANDO_PLUG_MULTIPASS , CANDO_PLUG_NO_REAL_TIME , CANDO_PLUG_OFFLINE , CANDO_PLUG_PLUG_AS_CHANNEL_INSERT , CANDO_PLUG_PLUG_AS_SEND , CANDO_PLUG_RECEIVE_VST_EVENTS , CANDO_PLUG_RECEIVE_VST_MIDI_EVENT , CANDO_PLUG_RECEIVE_VST_TIME_INFO , CANDO_PLUG_REVEIVE_VST_MIDI_EVENT , CANDO_PLUG_SEND_VST_EVENTS , CANDO_PLUG_SEND_VST_MIDI_EVENT , CANDO_PLUG_SEND_VST_TIME_INFO , CANDO_YES , VST_LANG_ENGLISH , VST_LANG_FRENCH , VST_LANG_GERMAN , VST_LANG_ITALIAN , VST_LANG_JAPANESE , VST_LANG_SPANISH
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+ boolean
+beginEdit (int index)
+
+
+
+
+
+
+ boolean
+endEdit (int index)
+
+
+
+
+
+
+
+
+Methods inherited from class jvst.wrapper.communication.VSTV20ToHost
+
+
+canHostDo , getAutomationState , getCurrentProcessLevel , getDirectory , getHostLanguage , getHostProductString , getHostVendorString , getHostVendorVersion , getInputLatency , getNumAutomatableParameters , getOutputLatency , getParameterQuantization , getTimeInfo , hasExternalBuffer , ioChanged , isSynth , needIdle , noTail , sendVstEventsToHost , setOutputSamplerate , sizeWindow , tempoAt , updateBlockSize , updateDisplay , updateSampleRate , wantAsyncOperation , wantEvents , willProcessReplacing
+
+
+
+
+
+Methods inherited from class jvst.wrapper.communication.VSTV10ToHost
+
+
+canMono , canProcessReplacing , getBlockSize , getCurrentUniqueId , getMasterVersion , getSampleRate , hasClip , hasVu , isInputConnected , isOutputConnected , masterIdle , programsAreChunks , setInitialDelay , setNumInputs , setNumOutputs , setOfflineQualities , setParameterAutomated , setRealtimeQualities , setUniqueID
+
+
+
+
+
+Methods inherited from class java.lang.Object
+
+
+clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+Constructor Detail
+
+
+
+
+VSTV21ToHost
+
+public VSTV21ToHost ()
+
+
+
+
+
+
+
+
+
+beginEdit
+
+public boolean beginEdit (int index)
+
+
+
+
+
+
+
+
+endEdit
+
+public boolean endEdit (int index)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/javadoc/opaz-plugdk/jvst/wrapper/communication/VSTV21ToPlug.html b/docs/javadoc/opaz-plugdk/jvst/wrapper/communication/VSTV21ToPlug.html
new file mode 100644
index 0000000..4625d9b
--- /dev/null
+++ b/docs/javadoc/opaz-plugdk/jvst/wrapper/communication/VSTV21ToPlug.html
@@ -0,0 +1,395 @@
+
+
+
+
+
+
+
+VSTV21ToPlug
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+jvst.wrapper.communication
+
+Interface VSTV21ToPlug
+
+All Superinterfaces: VSTV10ToPlug , VSTV20ToPlug
+
+
+All Known Subinterfaces: VSTV22ToPlug , VSTV23ToPlug , VSTV24ToPlug
+
+
+All Known Implementing Classes: VSTPluginAdapter
+
+
+
+public interface VSTV21ToPlug extends VSTV20ToPlug
+
+
+
+
+
+
+
+
+
+
+
+
+
+Fields inherited from interface jvst.wrapper.communication.VSTV20ToPlug
+
+
+CANDO_HOST_ACCEPT_IO_CHANGES , CANDO_HOST_ASYNC_PROCESSING , CANDO_HOST_CLOSE_FILE_SELECTOR , CANDO_HOST_EDIT_FILE , CANDO_HOST_OFFLINE , CANDO_HOST_OPEN_FILE_SELECTOR , CANDO_HOST_RECEIVE_VST_Events , CANDO_HOST_RECEIVE_VST_MIDI_EVENT , CANDO_HOST_RECEIVE_VST_TIME_INFO , CANDO_HOST_REPORT_CONNECTION_CHANGES , CANDO_HOST_SEND_VST_EVENTS , CANDO_HOST_SEND_VST_MIDI_EVENT , CANDO_HOST_SEND_VST_TIME_INFO , CANDO_HOST_SIZE_WINDOW , CANDO_HOST_START_STOP_PROCESS , CANDO_HOST_SUPPLY_IDLE , CANDO_HOST_SUPPORT_SHELL , PLUG_CATEG_ANALYSIS , PLUG_CATEG_EFFECT , PLUG_CATEG_GENERATOR , PLUG_CATEG_MASTERING , PLUG_CATEG_OFFLINE_PROCESS , PLUG_CATEG_RESTORATION , PLUG_CATEG_ROOM_FX , PLUG_CATEG_SHELL , PLUG_CATEG_SPACIALIZER , PLUG_CATEG_SURROUND_FX , PLUG_CATEG_SYNTH , PLUG_CATEG_UNKNOWN
+
+
+
+
+
+
+
+
+
+
+Methods inherited from interface jvst.wrapper.communication.VSTV20ToPlug
+
+
+canDo , canParameterBeAutomated , copyProgram , fxIdle , getChannelParameter , getEffectName , getErrorText , getGetTailSize , getInputProperties , getNumCategories , getOutputProperties , getParameterProperties , getPlugCategory , getProductString , getProgramNameIndexed , getSpeakerArrangement , getVendorString , getVendorVersion , getVstVersion , inputConnected , keysRequired , outputConnected , processEvents , processVariableIo , reportCurrentPosition , reportDestinationBuffer , setBlockSizeAndSampleRate , setBypass , setSpeakerArrangement , string2Parameter
+
+
+
+
+
+Methods inherited from interface jvst.wrapper.communication.VSTV10ToPlug
+
+
+close , getChunk , getNumParams , getNumPrograms , getParameter , getParameterDisplay , getParameterLabel , getParameterName , getProgram , getProgramName , getVu , open , process , processReplacing , resume , setBlockSize , setChunk , setParameter , setProgram , setProgramName , setSampleRate , suspend
+
+
+
+
+
+
+
+
+
+
+
+getMidiProgramName
+
+int getMidiProgramName (int channel,
+ MidiProgramName midiProgramName)
+
+
+
+
+
+
+
+
+
+
+
+getCurrentMidiProgram
+
+int getCurrentMidiProgram (int channel,
+ MidiProgramName currentProgram)
+
+
+
+
+
+
+
+
+
+
+
+getMidiProgramCategory
+
+int getMidiProgramCategory (int channel,
+ MidiProgramCategory category)
+
+
+
+
+
+
+
+
+
+
+
+hasMidiProgramsChanged
+
+boolean hasMidiProgramsChanged (int channel)
+
+
+
+
+
+
+
+
+
+
+
+getMidiKeyName
+
+boolean getMidiKeyName (int channel,
+ MidiKeyName keyName)
+
+
+
+
+
+
+
+
+
+
+
+beginSetProgram
+
+boolean beginSetProgram ()
+
+
+
+
+
+
+
+
+
+
+
+endSetProgram
+
+boolean endSetProgram ()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/javadoc/opaz-plugdk/jvst/wrapper/communication/VSTV22ToHost.html b/docs/javadoc/opaz-plugdk/jvst/wrapper/communication/VSTV22ToHost.html
new file mode 100644
index 0000000..05d829a
--- /dev/null
+++ b/docs/javadoc/opaz-plugdk/jvst/wrapper/communication/VSTV22ToHost.html
@@ -0,0 +1,276 @@
+
+
+
+
+
+
+
+VSTV22ToHost
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+jvst.wrapper.communication
+
+Class VSTV22ToHost
+
+java.lang.Object
+ jvst.wrapper.communication.VSTV10ToHost
+ jvst.wrapper.communication.VSTV20ToHost
+ jvst.wrapper.communication.VSTV21ToHost
+ jvst.wrapper.communication.VSTV22ToHost
+
+
+Direct Known Subclasses: VSTV23ToHost
+
+
+
+public abstract class VSTV22ToHost extends VSTV21ToHost
+
+
+
+
+
+
+
+
+
+
+
+
+
+Fields inherited from class jvst.wrapper.communication.VSTV20ToHost
+
+
+CANDO_DONT_KNOW , CANDO_NO , CANDO_PLUG_1_IN_1_OUT , CANDO_PLUG_1_IN_2_OUT , CANDO_PLUG_2_IN_1_OUT , CANDO_PLUG_2_IN_2_OUT , CANDO_PLUG_2_IN_4_OUT , CANDO_PLUG_4_IN_2_OUT , CANDO_PLUG_4_IN_4_OUT , CANDO_PLUG_4_IN_8_OUT , CANDO_PLUG_8_IN_4_OUT , CANDO_PLUG_8_IN_8_OUT , CANDO_PLUG_BYPASS , CANDO_PLUG_CONFORMS_TO_WINDOW_RULES , CANDO_PLUG_METAPASS , CANDO_PLUG_MIDI_PROGRAM_NAMES , CANDO_PLUG_MIX_DRY_WET , CANDO_PLUG_MULTIPASS , CANDO_PLUG_NO_REAL_TIME , CANDO_PLUG_OFFLINE , CANDO_PLUG_PLUG_AS_CHANNEL_INSERT , CANDO_PLUG_PLUG_AS_SEND , CANDO_PLUG_RECEIVE_VST_EVENTS , CANDO_PLUG_RECEIVE_VST_MIDI_EVENT , CANDO_PLUG_RECEIVE_VST_TIME_INFO , CANDO_PLUG_REVEIVE_VST_MIDI_EVENT , CANDO_PLUG_SEND_VST_EVENTS , CANDO_PLUG_SEND_VST_MIDI_EVENT , CANDO_PLUG_SEND_VST_TIME_INFO , CANDO_YES , VST_LANG_ENGLISH , VST_LANG_FRENCH , VST_LANG_GERMAN , VST_LANG_ITALIAN , VST_LANG_JAPANESE , VST_LANG_SPANISH
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Methods inherited from class jvst.wrapper.communication.VSTV20ToHost
+
+
+canHostDo , getAutomationState , getCurrentProcessLevel , getDirectory , getHostLanguage , getHostProductString , getHostVendorString , getHostVendorVersion , getInputLatency , getNumAutomatableParameters , getOutputLatency , getParameterQuantization , getTimeInfo , hasExternalBuffer , ioChanged , isSynth , needIdle , noTail , sendVstEventsToHost , setOutputSamplerate , sizeWindow , tempoAt , updateBlockSize , updateDisplay , updateSampleRate , wantAsyncOperation , wantEvents , willProcessReplacing
+
+
+
+
+
+Methods inherited from class jvst.wrapper.communication.VSTV10ToHost
+
+
+canMono , canProcessReplacing , getBlockSize , getCurrentUniqueId , getMasterVersion , getSampleRate , hasClip , hasVu , isInputConnected , isOutputConnected , masterIdle , programsAreChunks , setInitialDelay , setNumInputs , setNumOutputs , setOfflineQualities , setParameterAutomated , setRealtimeQualities , setUniqueID
+
+
+
+
+
+Methods inherited from class java.lang.Object
+
+
+clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+Constructor Detail
+
+
+
+
+VSTV22ToHost
+
+public VSTV22ToHost ()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/javadoc/opaz-plugdk/jvst/wrapper/communication/VSTV22ToPlug.html b/docs/javadoc/opaz-plugdk/jvst/wrapper/communication/VSTV22ToPlug.html
new file mode 100644
index 0000000..f41a926
--- /dev/null
+++ b/docs/javadoc/opaz-plugdk/jvst/wrapper/communication/VSTV22ToPlug.html
@@ -0,0 +1,233 @@
+
+
+
+
+
+
+
+VSTV22ToPlug
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+jvst.wrapper.communication
+
+Interface VSTV22ToPlug
+
+All Superinterfaces: VSTV10ToPlug , VSTV20ToPlug , VSTV21ToPlug
+
+
+All Known Subinterfaces: VSTV23ToPlug , VSTV24ToPlug
+
+
+All Known Implementing Classes: VSTPluginAdapter
+
+
+
+public interface VSTV22ToPlug extends VSTV21ToPlug
+
+
+
+
+
+
+
+
+
+
+
+
+
+Fields inherited from interface jvst.wrapper.communication.VSTV20ToPlug
+
+
+CANDO_HOST_ACCEPT_IO_CHANGES , CANDO_HOST_ASYNC_PROCESSING , CANDO_HOST_CLOSE_FILE_SELECTOR , CANDO_HOST_EDIT_FILE , CANDO_HOST_OFFLINE , CANDO_HOST_OPEN_FILE_SELECTOR , CANDO_HOST_RECEIVE_VST_Events , CANDO_HOST_RECEIVE_VST_MIDI_EVENT , CANDO_HOST_RECEIVE_VST_TIME_INFO , CANDO_HOST_REPORT_CONNECTION_CHANGES , CANDO_HOST_SEND_VST_EVENTS , CANDO_HOST_SEND_VST_MIDI_EVENT , CANDO_HOST_SEND_VST_TIME_INFO , CANDO_HOST_SIZE_WINDOW , CANDO_HOST_START_STOP_PROCESS , CANDO_HOST_SUPPLY_IDLE , CANDO_HOST_SUPPORT_SHELL , PLUG_CATEG_ANALYSIS , PLUG_CATEG_EFFECT , PLUG_CATEG_GENERATOR , PLUG_CATEG_MASTERING , PLUG_CATEG_OFFLINE_PROCESS , PLUG_CATEG_RESTORATION , PLUG_CATEG_ROOM_FX , PLUG_CATEG_SHELL , PLUG_CATEG_SPACIALIZER , PLUG_CATEG_SURROUND_FX , PLUG_CATEG_SYNTH , PLUG_CATEG_UNKNOWN
+
+
+
+
+
+
+
+
+
+
+
+
+Methods inherited from interface jvst.wrapper.communication.VSTV20ToPlug
+
+
+canDo , canParameterBeAutomated , copyProgram , fxIdle , getChannelParameter , getEffectName , getErrorText , getGetTailSize , getInputProperties , getNumCategories , getOutputProperties , getParameterProperties , getPlugCategory , getProductString , getProgramNameIndexed , getSpeakerArrangement , getVendorString , getVendorVersion , getVstVersion , inputConnected , keysRequired , outputConnected , processEvents , processVariableIo , reportCurrentPosition , reportDestinationBuffer , setBlockSizeAndSampleRate , setBypass , setSpeakerArrangement , string2Parameter
+
+
+
+
+
+Methods inherited from interface jvst.wrapper.communication.VSTV10ToPlug
+
+
+close , getChunk , getNumParams , getNumPrograms , getParameter , getParameterDisplay , getParameterLabel , getParameterName , getProgram , getProgramName , getVu , open , process , processReplacing , resume , setBlockSize , setChunk , setParameter , setProgram , setProgramName , setSampleRate , suspend
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/javadoc/opaz-plugdk/jvst/wrapper/communication/VSTV23ToHost.html b/docs/javadoc/opaz-plugdk/jvst/wrapper/communication/VSTV23ToHost.html
new file mode 100644
index 0000000..e008030
--- /dev/null
+++ b/docs/javadoc/opaz-plugdk/jvst/wrapper/communication/VSTV23ToHost.html
@@ -0,0 +1,387 @@
+
+
+
+
+
+
+
+VSTV23ToHost
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+jvst.wrapper.communication
+
+Class VSTV23ToHost
+
+java.lang.Object
+ jvst.wrapper.communication.VSTV10ToHost
+ jvst.wrapper.communication.VSTV20ToHost
+ jvst.wrapper.communication.VSTV21ToHost
+ jvst.wrapper.communication.VSTV22ToHost
+ jvst.wrapper.communication.VSTV23ToHost
+
+
+Direct Known Subclasses: VSTV24ToHost
+
+
+
+public abstract class VSTV23ToHost extends VSTV22ToHost
+
+
+
+
+
+
+
+
+
+
+
+
+
+Fields inherited from class jvst.wrapper.communication.VSTV20ToHost
+
+
+CANDO_DONT_KNOW , CANDO_NO , CANDO_PLUG_1_IN_1_OUT , CANDO_PLUG_1_IN_2_OUT , CANDO_PLUG_2_IN_1_OUT , CANDO_PLUG_2_IN_2_OUT , CANDO_PLUG_2_IN_4_OUT , CANDO_PLUG_4_IN_2_OUT , CANDO_PLUG_4_IN_4_OUT , CANDO_PLUG_4_IN_8_OUT , CANDO_PLUG_8_IN_4_OUT , CANDO_PLUG_8_IN_8_OUT , CANDO_PLUG_BYPASS , CANDO_PLUG_CONFORMS_TO_WINDOW_RULES , CANDO_PLUG_METAPASS , CANDO_PLUG_MIDI_PROGRAM_NAMES , CANDO_PLUG_MIX_DRY_WET , CANDO_PLUG_MULTIPASS , CANDO_PLUG_NO_REAL_TIME , CANDO_PLUG_OFFLINE , CANDO_PLUG_PLUG_AS_CHANNEL_INSERT , CANDO_PLUG_PLUG_AS_SEND , CANDO_PLUG_RECEIVE_VST_EVENTS , CANDO_PLUG_RECEIVE_VST_MIDI_EVENT , CANDO_PLUG_RECEIVE_VST_TIME_INFO , CANDO_PLUG_REVEIVE_VST_MIDI_EVENT , CANDO_PLUG_SEND_VST_EVENTS , CANDO_PLUG_SEND_VST_MIDI_EVENT , CANDO_PLUG_SEND_VST_TIME_INFO , CANDO_YES , VST_LANG_ENGLISH , VST_LANG_FRENCH , VST_LANG_GERMAN , VST_LANG_ITALIAN , VST_LANG_JAPANESE , VST_LANG_SPANISH
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Methods inherited from class jvst.wrapper.communication.VSTV20ToHost
+
+
+canHostDo , getAutomationState , getCurrentProcessLevel , getDirectory , getHostLanguage , getHostProductString , getHostVendorString , getHostVendorVersion , getInputLatency , getNumAutomatableParameters , getOutputLatency , getParameterQuantization , getTimeInfo , hasExternalBuffer , ioChanged , isSynth , needIdle , noTail , sendVstEventsToHost , setOutputSamplerate , sizeWindow , tempoAt , updateBlockSize , updateDisplay , updateSampleRate , wantAsyncOperation , wantEvents , willProcessReplacing
+
+
+
+
+
+Methods inherited from class jvst.wrapper.communication.VSTV10ToHost
+
+
+canMono , canProcessReplacing , getBlockSize , getCurrentUniqueId , getMasterVersion , getSampleRate , hasClip , hasVu , isInputConnected , isOutputConnected , masterIdle , programsAreChunks , setInitialDelay , setNumInputs , setNumOutputs , setOfflineQualities , setParameterAutomated , setRealtimeQualities , setUniqueID
+
+
+
+
+
+Methods inherited from class java.lang.Object
+
+
+clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+Constructor Detail
+
+
+
+
+VSTV23ToHost
+
+public VSTV23ToHost ()
+
+
+
+
+
+
+
+
+
+setPanLaw
+
+public boolean setPanLaw (int type,
+ float val)
+
+
+
+
+
+
+
+
+beginLoadBank
+
+public int beginLoadBank (VSTPatchChunkInfo ptr)
+
+
+
+
+
+
+
+
+beginLoadProgram
+
+public int beginLoadProgram (VSTPatchChunkInfo ptr)
+
+
+
+
+
+
+
+
+copySpeaker
+
+public boolean copySpeaker (VSTSpeakerProperties to,
+ VSTSpeakerProperties from)
+
+
+
+
+
+
+
+
+matchArrangement
+
+public boolean matchArrangement (VSTSpeakerArrangement to,
+ VSTSpeakerArrangement from)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/javadoc/opaz-plugdk/jvst/wrapper/communication/VSTV23ToPlug.html b/docs/javadoc/opaz-plugdk/jvst/wrapper/communication/VSTV23ToPlug.html
new file mode 100644
index 0000000..e5b17d0
--- /dev/null
+++ b/docs/javadoc/opaz-plugdk/jvst/wrapper/communication/VSTV23ToPlug.html
@@ -0,0 +1,330 @@
+
+
+
+
+
+
+
+VSTV23ToPlug
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+jvst.wrapper.communication
+
+Interface VSTV23ToPlug
+
+All Superinterfaces: VSTV10ToPlug , VSTV20ToPlug , VSTV21ToPlug , VSTV22ToPlug
+
+
+All Known Subinterfaces: VSTV24ToPlug
+
+
+All Known Implementing Classes: VSTPluginAdapter
+
+
+
+public interface VSTV23ToPlug extends VSTV22ToPlug
+
+
+
+
+
+
+
+
+
+
+
+
+
+Fields inherited from interface jvst.wrapper.communication.VSTV20ToPlug
+
+
+CANDO_HOST_ACCEPT_IO_CHANGES , CANDO_HOST_ASYNC_PROCESSING , CANDO_HOST_CLOSE_FILE_SELECTOR , CANDO_HOST_EDIT_FILE , CANDO_HOST_OFFLINE , CANDO_HOST_OPEN_FILE_SELECTOR , CANDO_HOST_RECEIVE_VST_Events , CANDO_HOST_RECEIVE_VST_MIDI_EVENT , CANDO_HOST_RECEIVE_VST_TIME_INFO , CANDO_HOST_REPORT_CONNECTION_CHANGES , CANDO_HOST_SEND_VST_EVENTS , CANDO_HOST_SEND_VST_MIDI_EVENT , CANDO_HOST_SEND_VST_TIME_INFO , CANDO_HOST_SIZE_WINDOW , CANDO_HOST_START_STOP_PROCESS , CANDO_HOST_SUPPLY_IDLE , CANDO_HOST_SUPPORT_SHELL , PLUG_CATEG_ANALYSIS , PLUG_CATEG_EFFECT , PLUG_CATEG_GENERATOR , PLUG_CATEG_MASTERING , PLUG_CATEG_OFFLINE_PROCESS , PLUG_CATEG_RESTORATION , PLUG_CATEG_ROOM_FX , PLUG_CATEG_SHELL , PLUG_CATEG_SPACIALIZER , PLUG_CATEG_SURROUND_FX , PLUG_CATEG_SYNTH , PLUG_CATEG_UNKNOWN
+
+
+
+
+
+
+
+
+
+
+
+
+Methods inherited from interface jvst.wrapper.communication.VSTV20ToPlug
+
+
+canDo , canParameterBeAutomated , copyProgram , fxIdle , getChannelParameter , getEffectName , getErrorText , getGetTailSize , getInputProperties , getNumCategories , getOutputProperties , getParameterProperties , getPlugCategory , getProductString , getProgramNameIndexed , getSpeakerArrangement , getVendorString , getVendorVersion , getVstVersion , inputConnected , keysRequired , outputConnected , processEvents , processVariableIo , reportCurrentPosition , reportDestinationBuffer , setBlockSizeAndSampleRate , setBypass , setSpeakerArrangement , string2Parameter
+
+
+
+
+
+Methods inherited from interface jvst.wrapper.communication.VSTV10ToPlug
+
+
+close , getChunk , getNumParams , getNumPrograms , getParameter , getParameterDisplay , getParameterLabel , getParameterName , getProgram , getProgramName , getVu , open , process , processReplacing , resume , setBlockSize , setChunk , setParameter , setProgram , setProgramName , setSampleRate , suspend
+
+
+
+
+
+
+
+
+
+
+
+setTotalSampleToProcess
+
+int setTotalSampleToProcess (int value)
+
+
+
+
+
+
+
+
+
+
+
+getNextShellPlugin
+
+int getNextShellPlugin (java.lang.String name)
+
+
+
+
+
+
+
+
+
+
+
+startProcess
+
+int startProcess ()
+
+
+
+
+
+
+
+
+
+
+
+stopProcess
+
+int stopProcess ()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/javadoc/opaz-plugdk/jvst/wrapper/communication/VSTV24ToHost.html b/docs/javadoc/opaz-plugdk/jvst/wrapper/communication/VSTV24ToHost.html
new file mode 100644
index 0000000..1ec04bd
--- /dev/null
+++ b/docs/javadoc/opaz-plugdk/jvst/wrapper/communication/VSTV24ToHost.html
@@ -0,0 +1,315 @@
+
+
+
+
+
+
+
+VSTV24ToHost
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+jvst.wrapper.communication
+
+Class VSTV24ToHost
+
+java.lang.Object
+ jvst.wrapper.communication.VSTV10ToHost
+ jvst.wrapper.communication.VSTV20ToHost
+ jvst.wrapper.communication.VSTV21ToHost
+ jvst.wrapper.communication.VSTV22ToHost
+ jvst.wrapper.communication.VSTV23ToHost
+ jvst.wrapper.communication.VSTV24ToHost
+
+
+Direct Known Subclasses: VSTPluginAdapter
+
+
+
+public abstract class VSTV24ToHost extends VSTV23ToHost
+
+
+
+
+
+
+
+
+
+
+
+
+
+Fields inherited from class jvst.wrapper.communication.VSTV20ToHost
+
+
+CANDO_DONT_KNOW , CANDO_NO , CANDO_PLUG_1_IN_1_OUT , CANDO_PLUG_1_IN_2_OUT , CANDO_PLUG_2_IN_1_OUT , CANDO_PLUG_2_IN_2_OUT , CANDO_PLUG_2_IN_4_OUT , CANDO_PLUG_4_IN_2_OUT , CANDO_PLUG_4_IN_4_OUT , CANDO_PLUG_4_IN_8_OUT , CANDO_PLUG_8_IN_4_OUT , CANDO_PLUG_8_IN_8_OUT , CANDO_PLUG_BYPASS , CANDO_PLUG_CONFORMS_TO_WINDOW_RULES , CANDO_PLUG_METAPASS , CANDO_PLUG_MIDI_PROGRAM_NAMES , CANDO_PLUG_MIX_DRY_WET , CANDO_PLUG_MULTIPASS , CANDO_PLUG_NO_REAL_TIME , CANDO_PLUG_OFFLINE , CANDO_PLUG_PLUG_AS_CHANNEL_INSERT , CANDO_PLUG_PLUG_AS_SEND , CANDO_PLUG_RECEIVE_VST_EVENTS , CANDO_PLUG_RECEIVE_VST_MIDI_EVENT , CANDO_PLUG_RECEIVE_VST_TIME_INFO , CANDO_PLUG_REVEIVE_VST_MIDI_EVENT , CANDO_PLUG_SEND_VST_EVENTS , CANDO_PLUG_SEND_VST_MIDI_EVENT , CANDO_PLUG_SEND_VST_TIME_INFO , CANDO_YES , VST_LANG_ENGLISH , VST_LANG_FRENCH , VST_LANG_GERMAN , VST_LANG_ITALIAN , VST_LANG_JAPANESE , VST_LANG_SPANISH
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Methods inherited from class jvst.wrapper.communication.VSTV20ToHost
+
+
+canHostDo , getAutomationState , getCurrentProcessLevel , getDirectory , getHostLanguage , getHostProductString , getHostVendorString , getHostVendorVersion , getInputLatency , getNumAutomatableParameters , getOutputLatency , getParameterQuantization , getTimeInfo , hasExternalBuffer , ioChanged , isSynth , needIdle , noTail , sendVstEventsToHost , setOutputSamplerate , sizeWindow , tempoAt , updateBlockSize , updateDisplay , updateSampleRate , wantAsyncOperation , wantEvents , willProcessReplacing
+
+
+
+
+
+Methods inherited from class jvst.wrapper.communication.VSTV10ToHost
+
+
+canMono , canProcessReplacing , getBlockSize , getCurrentUniqueId , getMasterVersion , getSampleRate , hasClip , hasVu , isInputConnected , isOutputConnected , masterIdle , programsAreChunks , setInitialDelay , setNumInputs , setNumOutputs , setOfflineQualities , setParameterAutomated , setRealtimeQualities , setUniqueID
+
+
+
+
+
+Methods inherited from class java.lang.Object
+
+
+clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+Constructor Detail
+
+
+
+
+VSTV24ToHost
+
+public VSTV24ToHost ()
+
+
+
+
+
+
+
+
+
+canDoubleReplacing
+
+public void canDoubleReplacing (boolean state)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/javadoc/opaz-plugdk/jvst/wrapper/communication/VSTV24ToPlug.html b/docs/javadoc/opaz-plugdk/jvst/wrapper/communication/VSTV24ToPlug.html
new file mode 100644
index 0000000..0a93e8e
--- /dev/null
+++ b/docs/javadoc/opaz-plugdk/jvst/wrapper/communication/VSTV24ToPlug.html
@@ -0,0 +1,340 @@
+
+
+
+
+
+
+
+VSTV24ToPlug
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+jvst.wrapper.communication
+
+Interface VSTV24ToPlug
+
+All Superinterfaces: VSTV10ToPlug , VSTV20ToPlug , VSTV21ToPlug , VSTV22ToPlug , VSTV23ToPlug
+
+
+All Known Implementing Classes: VSTPluginAdapter
+
+
+
+public interface VSTV24ToPlug extends VSTV23ToPlug
+
+
+
+
+
+
+
+
+
+
+
+
+
+Fields inherited from interface jvst.wrapper.communication.VSTV20ToPlug
+
+
+CANDO_HOST_ACCEPT_IO_CHANGES , CANDO_HOST_ASYNC_PROCESSING , CANDO_HOST_CLOSE_FILE_SELECTOR , CANDO_HOST_EDIT_FILE , CANDO_HOST_OFFLINE , CANDO_HOST_OPEN_FILE_SELECTOR , CANDO_HOST_RECEIVE_VST_Events , CANDO_HOST_RECEIVE_VST_MIDI_EVENT , CANDO_HOST_RECEIVE_VST_TIME_INFO , CANDO_HOST_REPORT_CONNECTION_CHANGES , CANDO_HOST_SEND_VST_EVENTS , CANDO_HOST_SEND_VST_MIDI_EVENT , CANDO_HOST_SEND_VST_TIME_INFO , CANDO_HOST_SIZE_WINDOW , CANDO_HOST_START_STOP_PROCESS , CANDO_HOST_SUPPLY_IDLE , CANDO_HOST_SUPPORT_SHELL , PLUG_CATEG_ANALYSIS , PLUG_CATEG_EFFECT , PLUG_CATEG_GENERATOR , PLUG_CATEG_MASTERING , PLUG_CATEG_OFFLINE_PROCESS , PLUG_CATEG_RESTORATION , PLUG_CATEG_ROOM_FX , PLUG_CATEG_SHELL , PLUG_CATEG_SPACIALIZER , PLUG_CATEG_SURROUND_FX , PLUG_CATEG_SYNTH , PLUG_CATEG_UNKNOWN
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Methods inherited from interface jvst.wrapper.communication.VSTV20ToPlug
+
+
+canDo , canParameterBeAutomated , copyProgram , fxIdle , getChannelParameter , getEffectName , getErrorText , getGetTailSize , getInputProperties , getNumCategories , getOutputProperties , getParameterProperties , getPlugCategory , getProductString , getProgramNameIndexed , getSpeakerArrangement , getVendorString , getVendorVersion , getVstVersion , inputConnected , keysRequired , outputConnected , processEvents , processVariableIo , reportCurrentPosition , reportDestinationBuffer , setBlockSizeAndSampleRate , setBypass , setSpeakerArrangement , string2Parameter
+
+
+
+
+
+Methods inherited from interface jvst.wrapper.communication.VSTV10ToPlug
+
+
+close , getChunk , getNumParams , getNumPrograms , getParameter , getParameterDisplay , getParameterLabel , getParameterName , getProgram , getProgramName , getVu , open , process , processReplacing , resume , setBlockSize , setChunk , setParameter , setProgram , setProgramName , setSampleRate , suspend
+
+
+
+
+
+
+
+
+
+
+
+setProcessPrecision
+
+boolean setProcessPrecision (int precision)
+
+
+
+
+
+
+
+
+
+
+
+getNumMidiInputChannels
+
+int getNumMidiInputChannels ()
+
+
+
+
+
+
+
+
+
+
+
+getNumMidiOutputChannels
+
+int getNumMidiOutputChannels ()
+
+
+
+
+
+
+
+
+
+
+
+processDoubleReplacing
+
+void processDoubleReplacing (double[][] inputs,
+ double[][] outputs,
+ int sampleFrames)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/javadoc/opaz-plugdk/jvst/wrapper/communication/class-use/VSTV10ToHost.html b/docs/javadoc/opaz-plugdk/jvst/wrapper/communication/class-use/VSTV10ToHost.html
new file mode 100644
index 0000000..0cbe442
--- /dev/null
+++ b/docs/javadoc/opaz-plugdk/jvst/wrapper/communication/class-use/VSTV10ToHost.html
@@ -0,0 +1,244 @@
+
+
+
+
+
+
+
+Uses of Class jvst.wrapper.communication.VSTV10ToHost
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Uses of Class jvst.wrapper.communication.VSTV10ToHost
+
+
+
+
+
+
+
+
+
+
+
+
+Subclasses of VSTV10ToHost in jvst.wrapper
+
+
+
+ class
+VSTPluginAdapter
+
+
+ Adapter to ignore VST 1.0, VST 2.0, VST 2.1, VST 2.2, VST 2.3, VST 2.4
+ OPTIONAL methods --> return defaults
+ and some utility methods (number conversions...)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/javadoc/opaz-plugdk/jvst/wrapper/communication/class-use/VSTV10ToPlug.html b/docs/javadoc/opaz-plugdk/jvst/wrapper/communication/class-use/VSTV10ToPlug.html
new file mode 100644
index 0000000..fc5d135
--- /dev/null
+++ b/docs/javadoc/opaz-plugdk/jvst/wrapper/communication/class-use/VSTV10ToPlug.html
@@ -0,0 +1,244 @@
+
+
+
+
+
+
+
+Uses of Interface jvst.wrapper.communication.VSTV10ToPlug
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Uses of Interface jvst.wrapper.communication.VSTV10ToPlug
+
+
+
+
+
+
+
+
+
+
+
+
+Classes in jvst.wrapper that implement VSTV10ToPlug
+
+
+
+ class
+VSTPluginAdapter
+
+
+ Adapter to ignore VST 1.0, VST 2.0, VST 2.1, VST 2.2, VST 2.3, VST 2.4
+ OPTIONAL methods --> return defaults
+ and some utility methods (number conversions...)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/javadoc/opaz-plugdk/jvst/wrapper/communication/class-use/VSTV20ToHost.html b/docs/javadoc/opaz-plugdk/jvst/wrapper/communication/class-use/VSTV20ToHost.html
new file mode 100644
index 0000000..0eb32c0
--- /dev/null
+++ b/docs/javadoc/opaz-plugdk/jvst/wrapper/communication/class-use/VSTV20ToHost.html
@@ -0,0 +1,236 @@
+
+
+
+
+
+
+
+Uses of Class jvst.wrapper.communication.VSTV20ToHost
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Uses of Class jvst.wrapper.communication.VSTV20ToHost
+
+
+
+
+
+
+
+
+
+
+
+
+Subclasses of VSTV20ToHost in jvst.wrapper
+
+
+
+ class
+VSTPluginAdapter
+
+
+ Adapter to ignore VST 1.0, VST 2.0, VST 2.1, VST 2.2, VST 2.3, VST 2.4
+ OPTIONAL methods --> return defaults
+ and some utility methods (number conversions...)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/javadoc/opaz-plugdk/jvst/wrapper/communication/class-use/VSTV20ToPlug.html b/docs/javadoc/opaz-plugdk/jvst/wrapper/communication/class-use/VSTV20ToPlug.html
new file mode 100644
index 0000000..3b0b368
--- /dev/null
+++ b/docs/javadoc/opaz-plugdk/jvst/wrapper/communication/class-use/VSTV20ToPlug.html
@@ -0,0 +1,236 @@
+
+
+
+
+
+
+
+Uses of Interface jvst.wrapper.communication.VSTV20ToPlug
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Uses of Interface jvst.wrapper.communication.VSTV20ToPlug
+
+
+
+
+
+
+
+
+
+
+
+
+Classes in jvst.wrapper that implement VSTV20ToPlug
+
+
+
+ class
+VSTPluginAdapter
+
+
+ Adapter to ignore VST 1.0, VST 2.0, VST 2.1, VST 2.2, VST 2.3, VST 2.4
+ OPTIONAL methods --> return defaults
+ and some utility methods (number conversions...)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/javadoc/opaz-plugdk/jvst/wrapper/communication/class-use/VSTV21ToHost.html b/docs/javadoc/opaz-plugdk/jvst/wrapper/communication/class-use/VSTV21ToHost.html
new file mode 100644
index 0000000..814e244
--- /dev/null
+++ b/docs/javadoc/opaz-plugdk/jvst/wrapper/communication/class-use/VSTV21ToHost.html
@@ -0,0 +1,228 @@
+
+
+
+
+
+
+
+Uses of Class jvst.wrapper.communication.VSTV21ToHost
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Uses of Class jvst.wrapper.communication.VSTV21ToHost
+
+
+
+
+
+
+
+
+
+
+
+
+Subclasses of VSTV21ToHost in jvst.wrapper
+
+
+
+ class
+VSTPluginAdapter
+
+
+ Adapter to ignore VST 1.0, VST 2.0, VST 2.1, VST 2.2, VST 2.3, VST 2.4
+ OPTIONAL methods --> return defaults
+ and some utility methods (number conversions...)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/javadoc/opaz-plugdk/jvst/wrapper/communication/class-use/VSTV21ToPlug.html b/docs/javadoc/opaz-plugdk/jvst/wrapper/communication/class-use/VSTV21ToPlug.html
new file mode 100644
index 0000000..e1b63fb
--- /dev/null
+++ b/docs/javadoc/opaz-plugdk/jvst/wrapper/communication/class-use/VSTV21ToPlug.html
@@ -0,0 +1,228 @@
+
+
+
+
+
+
+
+Uses of Interface jvst.wrapper.communication.VSTV21ToPlug
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Uses of Interface jvst.wrapper.communication.VSTV21ToPlug
+
+
+
+
+
+
+
+
+
+
+
+
+Classes in jvst.wrapper that implement VSTV21ToPlug
+
+
+
+ class
+VSTPluginAdapter
+
+
+ Adapter to ignore VST 1.0, VST 2.0, VST 2.1, VST 2.2, VST 2.3, VST 2.4
+ OPTIONAL methods --> return defaults
+ and some utility methods (number conversions...)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/javadoc/opaz-plugdk/jvst/wrapper/communication/class-use/VSTV22ToHost.html b/docs/javadoc/opaz-plugdk/jvst/wrapper/communication/class-use/VSTV22ToHost.html
new file mode 100644
index 0000000..9583e00
--- /dev/null
+++ b/docs/javadoc/opaz-plugdk/jvst/wrapper/communication/class-use/VSTV22ToHost.html
@@ -0,0 +1,220 @@
+
+
+
+
+
+
+
+Uses of Class jvst.wrapper.communication.VSTV22ToHost
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Uses of Class jvst.wrapper.communication.VSTV22ToHost
+
+
+
+
+
+
+
+
+
+
+
+
+Subclasses of VSTV22ToHost in jvst.wrapper
+
+
+
+ class
+VSTPluginAdapter
+
+
+ Adapter to ignore VST 1.0, VST 2.0, VST 2.1, VST 2.2, VST 2.3, VST 2.4
+ OPTIONAL methods --> return defaults
+ and some utility methods (number conversions...)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/javadoc/opaz-plugdk/jvst/wrapper/communication/class-use/VSTV22ToPlug.html b/docs/javadoc/opaz-plugdk/jvst/wrapper/communication/class-use/VSTV22ToPlug.html
new file mode 100644
index 0000000..f9c5736
--- /dev/null
+++ b/docs/javadoc/opaz-plugdk/jvst/wrapper/communication/class-use/VSTV22ToPlug.html
@@ -0,0 +1,220 @@
+
+
+
+
+
+
+
+Uses of Interface jvst.wrapper.communication.VSTV22ToPlug
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Uses of Interface jvst.wrapper.communication.VSTV22ToPlug
+
+
+
+
+
+
+
+
+
+
+
+
+Classes in jvst.wrapper that implement VSTV22ToPlug
+
+
+
+ class
+VSTPluginAdapter
+
+
+ Adapter to ignore VST 1.0, VST 2.0, VST 2.1, VST 2.2, VST 2.3, VST 2.4
+ OPTIONAL methods --> return defaults
+ and some utility methods (number conversions...)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/javadoc/opaz-plugdk/jvst/wrapper/communication/class-use/VSTV23ToHost.html b/docs/javadoc/opaz-plugdk/jvst/wrapper/communication/class-use/VSTV23ToHost.html
new file mode 100644
index 0000000..91bd26f
--- /dev/null
+++ b/docs/javadoc/opaz-plugdk/jvst/wrapper/communication/class-use/VSTV23ToHost.html
@@ -0,0 +1,212 @@
+
+
+
+
+
+
+
+Uses of Class jvst.wrapper.communication.VSTV23ToHost
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Uses of Class jvst.wrapper.communication.VSTV23ToHost
+
+
+
+
+
+
+
+
+
+
+
+
+Subclasses of VSTV23ToHost in jvst.wrapper
+
+
+
+ class
+VSTPluginAdapter
+
+
+ Adapter to ignore VST 1.0, VST 2.0, VST 2.1, VST 2.2, VST 2.3, VST 2.4
+ OPTIONAL methods --> return defaults
+ and some utility methods (number conversions...)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/javadoc/opaz-plugdk/jvst/wrapper/communication/class-use/VSTV23ToPlug.html b/docs/javadoc/opaz-plugdk/jvst/wrapper/communication/class-use/VSTV23ToPlug.html
new file mode 100644
index 0000000..c58df37
--- /dev/null
+++ b/docs/javadoc/opaz-plugdk/jvst/wrapper/communication/class-use/VSTV23ToPlug.html
@@ -0,0 +1,212 @@
+
+
+
+
+
+
+
+Uses of Interface jvst.wrapper.communication.VSTV23ToPlug
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Uses of Interface jvst.wrapper.communication.VSTV23ToPlug
+
+
+
+
+
+
+
+
+
+
+
+
+Classes in jvst.wrapper that implement VSTV23ToPlug
+
+
+
+ class
+VSTPluginAdapter
+
+
+ Adapter to ignore VST 1.0, VST 2.0, VST 2.1, VST 2.2, VST 2.3, VST 2.4
+ OPTIONAL methods --> return defaults
+ and some utility methods (number conversions...)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/javadoc/opaz-plugdk/jvst/wrapper/communication/class-use/VSTV24ToHost.html b/docs/javadoc/opaz-plugdk/jvst/wrapper/communication/class-use/VSTV24ToHost.html
new file mode 100644
index 0000000..0b24445
--- /dev/null
+++ b/docs/javadoc/opaz-plugdk/jvst/wrapper/communication/class-use/VSTV24ToHost.html
@@ -0,0 +1,183 @@
+
+
+
+
+
+
+
+Uses of Class jvst.wrapper.communication.VSTV24ToHost
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Uses of Class jvst.wrapper.communication.VSTV24ToHost
+
+
+
+
+
+
+
+
+
+
+
+
+Subclasses of VSTV24ToHost in jvst.wrapper
+
+
+
+ class
+VSTPluginAdapter
+
+
+ Adapter to ignore VST 1.0, VST 2.0, VST 2.1, VST 2.2, VST 2.3, VST 2.4
+ OPTIONAL methods --> return defaults
+ and some utility methods (number conversions...)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/javadoc/opaz-plugdk/jvst/wrapper/communication/class-use/VSTV24ToPlug.html b/docs/javadoc/opaz-plugdk/jvst/wrapper/communication/class-use/VSTV24ToPlug.html
new file mode 100644
index 0000000..6aa1382
--- /dev/null
+++ b/docs/javadoc/opaz-plugdk/jvst/wrapper/communication/class-use/VSTV24ToPlug.html
@@ -0,0 +1,183 @@
+
+
+
+
+
+
+
+Uses of Interface jvst.wrapper.communication.VSTV24ToPlug
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Uses of Interface jvst.wrapper.communication.VSTV24ToPlug
+
+
+
+
+
+
+
+
+
+
+
+
+Classes in jvst.wrapper that implement VSTV24ToPlug
+
+
+
+ class
+VSTPluginAdapter
+
+
+ Adapter to ignore VST 1.0, VST 2.0, VST 2.1, VST 2.2, VST 2.3, VST 2.4
+ OPTIONAL methods --> return defaults
+ and some utility methods (number conversions...)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/javadoc/opaz-plugdk/jvst/wrapper/communication/package-frame.html b/docs/javadoc/opaz-plugdk/jvst/wrapper/communication/package-frame.html
new file mode 100644
index 0000000..aaf6faf
--- /dev/null
+++ b/docs/javadoc/opaz-plugdk/jvst/wrapper/communication/package-frame.html
@@ -0,0 +1,64 @@
+
+
+
+
+
+
+
+jvst.wrapper.communication
+
+
+
+
+
+
+
+
+
+
+
+jvst.wrapper.communication
+
+
+
+
+
+
+
+
diff --git a/docs/javadoc/opaz-plugdk/jvst/wrapper/communication/package-summary.html b/docs/javadoc/opaz-plugdk/jvst/wrapper/communication/package-summary.html
new file mode 100644
index 0000000..540fd71
--- /dev/null
+++ b/docs/javadoc/opaz-plugdk/jvst/wrapper/communication/package-summary.html
@@ -0,0 +1,212 @@
+
+
+
+
+
+
+
+jvst.wrapper.communication
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Package jvst.wrapper.communication
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/javadoc/opaz-plugdk/jvst/wrapper/communication/package-tree.html b/docs/javadoc/opaz-plugdk/jvst/wrapper/communication/package-tree.html
new file mode 100644
index 0000000..4c448d6
--- /dev/null
+++ b/docs/javadoc/opaz-plugdk/jvst/wrapper/communication/package-tree.html
@@ -0,0 +1,179 @@
+
+
+
+
+
+
+
+jvst.wrapper.communication Class Hierarchy
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Hierarchy For Package jvst.wrapper.communication
+
+
+
+Package Hierarchies: All Packages
+
+
+Class Hierarchy
+
+
+
+Interface Hierarchy
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/javadoc/opaz-plugdk/jvst/wrapper/communication/package-use.html b/docs/javadoc/opaz-plugdk/jvst/wrapper/communication/package-use.html
new file mode 100644
index 0000000..d2ba1d9
--- /dev/null
+++ b/docs/javadoc/opaz-plugdk/jvst/wrapper/communication/package-use.html
@@ -0,0 +1,310 @@
+
+
+
+
+
+
+
+Uses of Package jvst.wrapper.communication
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Uses of Package jvst.wrapper.communication
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/javadoc/opaz-plugdk/jvst/wrapper/gui/JSliderPlusText.html b/docs/javadoc/opaz-plugdk/jvst/wrapper/gui/JSliderPlusText.html
new file mode 100644
index 0000000..3fb1727
--- /dev/null
+++ b/docs/javadoc/opaz-plugdk/jvst/wrapper/gui/JSliderPlusText.html
@@ -0,0 +1,613 @@
+
+
+
+
+
+
+
+JSliderPlusText
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+jvst.wrapper.gui
+
+Class JSliderPlusText
+
+java.lang.Object
+ java.awt.Component
+ java.awt.Container
+ javax.swing.JComponent
+ javax.swing.Box
+ jvst.wrapper.gui.JSliderPlusText
+
+
+All Implemented Interfaces: java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, java.util.EventListener, javax.accessibility.Accessible, javax.swing.event.ChangeListener
+
+
+
+public class JSliderPlusText extends javax.swing.Boximplements javax.swing.event.ChangeListener
+
+
+
+
+See Also: Serialized Form
+
+
+
+
+
+
+
+
+
+Nested Class Summary
+
+
+
+
+
+Nested classes/interfaces inherited from class javax.swing.Box
+
+
+javax.swing.Box.AccessibleBox, javax.swing.Box.Filler
+
+
+
+
+
+
+Nested classes/interfaces inherited from class javax.swing.JComponent
+
+
+javax.swing.JComponent.AccessibleJComponent
+
+
+
+
+
+
+Nested classes/interfaces inherited from class java.awt.Container
+
+
+java.awt.Container.AccessibleAWTContainer
+
+
+
+
+
+
+Nested classes/interfaces inherited from class java.awt.Component
+
+
+java.awt.Component.AccessibleAWTComponent, java.awt.Component.BaselineResizeBehavior, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
+
+
+
+
+
+
+
+
+
+Field Summary
+
+
+
+private javax.swing.JLabel
+label
+
+
+
+
+
+
+private static long
+serialVersionUID
+
+
+
+
+
+
+private javax.swing.JSlider
+slider
+
+
+
+
+
+
+private javax.swing.JTextField
+text
+
+
+
+
+
+
+
+
+Fields inherited from class javax.swing.JComponent
+
+
+accessibleContext, listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
+
+
+
+
+
+Fields inherited from class java.awt.Component
+
+
+BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
+
+
+
+
+
+Fields inherited from interface java.awt.image.ImageObserver
+
+
+ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+ void
+addChangeListener (javax.swing.event.ChangeListener cl)
+
+
+
+
+
+
+ java.lang.String
+getName ()
+
+
+
+
+
+
+ javax.swing.JSlider
+getSlider ()
+
+
+
+
+
+
+ javax.swing.JTextField
+getTextField ()
+
+
+
+
+
+
+static void
+main (java.lang.String[] args)
+
+
+
+
+
+
+ void
+setName (java.lang.String name)
+
+
+
+
+
+
+ void
+stateChanged (javax.swing.event.ChangeEvent e)
+
+
+
+
+
+
+
+
+Methods inherited from class javax.swing.Box
+
+
+createGlue, createHorizontalBox, createHorizontalGlue, createHorizontalStrut, createRigidArea, createVerticalBox, createVerticalGlue, createVerticalStrut, getAccessibleContext, paintComponent, setLayout
+
+
+
+
+
+Methods inherited from class javax.swing.JComponent
+
+
+addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBaseline, getBaselineResizeBehavior, getBorder, getBounds, getClientProperty, getComponentGraphics, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPopupLocation, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getUIClassID, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintImmediately, paintImmediately, paramString, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update, updateUI
+
+
+
+
+
+Methods inherited from class java.awt.Container
+
+
+add, add, add, add, add, addContainerListener, addImpl, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, getMousePosition, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, transferFocusBackward, transferFocusDownCycle, validate, validateTree
+
+
+
+
+
+Methods inherited from class java.awt.Component
+
+
+action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setSize, setSize, show, show, size, toString, transferFocus, transferFocusUpCycle
+
+
+
+
+
+Methods inherited from class java.lang.Object
+
+
+clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+serialVersionUID
+
+private static final long serialVersionUID
+
+
+See Also: Constant Field Values
+
+
+
+
+label
+
+private javax.swing.JLabel label
+
+
+
+
+
+
+
+slider
+
+private javax.swing.JSlider slider
+
+
+
+
+
+
+
+text
+
+private javax.swing.JTextField text
+
+
+
+
+
+
+
+
+
+
+
+Constructor Detail
+
+
+
+
+JSliderPlusText
+
+public JSliderPlusText ()
+
+
+
+
+
+JSliderPlusText
+
+public JSliderPlusText (java.lang.String name)
+
+
+
+
+
+
+
+
+
+stateChanged
+
+public void stateChanged (javax.swing.event.ChangeEvent e)
+
+
+Specified by: stateChanged in interface javax.swing.event.ChangeListener
+
+
+
+
+
+
+
+
+addChangeListener
+
+public void addChangeListener (javax.swing.event.ChangeListener cl)
+
+
+
+
+
+
+
+
+
+
+
+getSlider
+
+public javax.swing.JSlider getSlider ()
+
+
+
+
+
+
+
+
+
+
+
+getTextField
+
+public javax.swing.JTextField getTextField ()
+
+
+
+
+
+
+
+
+
+
+
+setName
+
+public void setName (java.lang.String name)
+
+
+Overrides: setName in class java.awt.Component
+
+
+
+
+
+
+
+
+getName
+
+public java.lang.String getName ()
+
+
+Overrides: getName in class java.awt.Component
+
+
+
+
+
+
+
+
+main
+
+public static void main (java.lang.String[] args)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/javadoc/opaz-plugdk/jvst/wrapper/gui/RotaryKnob.html b/docs/javadoc/opaz-plugdk/jvst/wrapper/gui/RotaryKnob.html
new file mode 100644
index 0000000..6a97818
--- /dev/null
+++ b/docs/javadoc/opaz-plugdk/jvst/wrapper/gui/RotaryKnob.html
@@ -0,0 +1,1314 @@
+
+
+
+
+
+
+
+RotaryKnob
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+jvst.wrapper.gui
+
+Class RotaryKnob
+
+java.lang.Object
+ java.awt.Component
+ java.awt.Container
+ javax.swing.JComponent
+ jvst.wrapper.gui.RotaryKnob
+
+
+All Implemented Interfaces: java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable
+
+
+
+public class RotaryKnob extends javax.swing.JComponent
+
+
+
+
+See Also: Serialized Form
+
+
+
+
+
+
+
+
+
+Nested Class Summary
+
+
+
+
+
+Nested classes/interfaces inherited from class javax.swing.JComponent
+
+
+javax.swing.JComponent.AccessibleJComponent
+
+
+
+
+
+
+Nested classes/interfaces inherited from class java.awt.Container
+
+
+java.awt.Container.AccessibleAWTContainer
+
+
+
+
+
+
+Nested classes/interfaces inherited from class java.awt.Component
+
+
+java.awt.Component.AccessibleAWTComponent, java.awt.Component.BaselineResizeBehavior, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
+
+
+
+
+
+
+
+
+
+Field Summary
+
+
+
+private static java.awt.RenderingHints
+AALIAS
+
+
+
+
+
+
+private float
+ang
+
+
+
+
+
+
+private javax.swing.event.ChangeEvent
+changeEvent
+
+
+
+
+
+
+private float
+clickIncrement
+
+
+
+
+
+
+private static java.awt.Color
+DEFAULT_FOCUS_COLOR
+
+
+
+
+
+
+private float
+dragIncrement
+
+
+
+
+
+
+private int
+dragpos
+
+
+
+
+
+
+private int
+dragType
+
+
+
+
+
+
+static int
+DRAGTYPE_ROUND
+
+
+
+
+
+
+static int
+DRAGTYPE_SIMPLE
+
+
+
+
+
+
+private java.awt.Color
+focusColor
+
+
+
+
+
+
+private java.awt.geom.Arc2D
+hitArc
+
+
+
+
+
+
+private double
+lastAng
+
+
+
+
+
+
+private static float
+LENGTH
+
+
+
+
+
+
+private static float
+LENGTH_ANG
+
+
+
+
+
+
+private javax.swing.event.EventListenerList
+listenerList
+
+
+
+
+
+
+private int
+middle
+
+
+
+
+
+
+private static java.awt.Dimension
+MIN_SIZE
+
+
+
+
+
+
+private static float
+MULTIP
+
+
+
+
+
+
+private static float
+PI
+
+
+
+
+
+
+private static java.awt.Dimension
+PREF_SIZE
+
+
+
+
+
+
+private static long
+serialVersionUID
+
+
+
+
+
+
+private int
+shadowSizeX
+
+
+
+
+
+
+private int
+shadowSizeY
+
+
+
+
+
+
+private int
+size
+
+
+
+
+
+
+private static float
+START
+
+
+
+
+
+
+private static float
+START_ANG
+
+
+
+
+
+
+private float
+startVal
+
+
+
+
+
+
+private float
+val
+
+
+
+
+
+
+
+
+Fields inherited from class javax.swing.JComponent
+
+
+accessibleContext, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
+
+
+
+
+
+Fields inherited from class java.awt.Component
+
+
+BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
+
+
+
+
+
+Fields inherited from interface java.awt.image.ImageObserver
+
+
+ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
+
+
+
+
+
+
+
+
+
+Constructor Summary
+
+
+RotaryKnob ()
+
+
+
+
+
+
+
+
+
+
+
+
+
+Methods inherited from class javax.swing.JComponent
+
+
+addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getAccessibleContext, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBaseline, getBaselineResizeBehavior, getBorder, getBounds, getClientProperty, getComponentGraphics, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getNextFocusableComponent, getPopupLocation, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getUIClassID, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, paramString, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update, updateUI
+
+
+
+
+
+Methods inherited from class java.awt.Container
+
+
+add, add, add, add, add, addContainerListener, addImpl, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, getMousePosition, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setLayout, transferFocusBackward, transferFocusDownCycle, validate, validateTree
+
+
+
+
+
+Methods inherited from class java.awt.Component
+
+
+action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusUpCycle
+
+
+
+
+
+Methods inherited from class java.lang.Object
+
+
+clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+DRAGTYPE_SIMPLE
+
+public static final int DRAGTYPE_SIMPLE
+
+
+See Also: Constant Field Values
+
+
+
+
+DRAGTYPE_ROUND
+
+public static final int DRAGTYPE_ROUND
+
+
+See Also: Constant Field Values
+
+
+
+
+serialVersionUID
+
+private static final long serialVersionUID
+
+
+See Also: Constant Field Values
+
+
+
+
+START
+
+private static final float START
+
+
+See Also: Constant Field Values
+
+
+
+
+LENGTH
+
+private static final float LENGTH
+
+
+See Also: Constant Field Values
+
+
+
+
+PI
+
+private static final float PI
+
+
+See Also: Constant Field Values
+
+
+
+
+START_ANG
+
+private static final float START_ANG
+
+
+See Also: Constant Field Values
+
+
+
+
+LENGTH_ANG
+
+private static final float LENGTH_ANG
+
+
+See Also: Constant Field Values
+
+
+
+
+MULTIP
+
+private static final float MULTIP
+
+
+See Also: Constant Field Values
+
+
+
+
+DEFAULT_FOCUS_COLOR
+
+private static final java.awt.Color DEFAULT_FOCUS_COLOR
+
+
+
+
+
+
+
+MIN_SIZE
+
+private static final java.awt.Dimension MIN_SIZE
+
+
+
+
+
+
+
+PREF_SIZE
+
+private static final java.awt.Dimension PREF_SIZE
+
+
+
+
+
+
+
+AALIAS
+
+private static final java.awt.RenderingHints AALIAS
+
+
+
+
+
+
+
+changeEvent
+
+private javax.swing.event.ChangeEvent changeEvent
+
+
+
+
+
+
+
+listenerList
+
+private javax.swing.event.EventListenerList listenerList
+
+
+
+
+
+
+
+hitArc
+
+private java.awt.geom.Arc2D hitArc
+
+
+
+
+
+
+
+ang
+
+private float ang
+
+
+
+
+
+
+
+val
+
+private float val
+
+
+
+
+
+
+
+dragpos
+
+private int dragpos
+
+
+
+
+
+
+
+startVal
+
+private float startVal
+
+
+
+
+
+
+
+focusColor
+
+private java.awt.Color focusColor
+
+
+
+
+
+
+
+lastAng
+
+private double lastAng
+
+
+
+
+
+
+
+dragType
+
+private int dragType
+
+
+
+
+
+
+
+shadowSizeX
+
+private int shadowSizeX
+
+
+
+
+
+
+
+shadowSizeY
+
+private int shadowSizeY
+
+
+
+
+
+
+
+dragIncrement
+
+private float dragIncrement
+
+
+
+
+
+
+
+clickIncrement
+
+private float clickIncrement
+
+
+
+
+
+
+
+size
+
+private int size
+
+
+
+
+
+
+
+middle
+
+private int middle
+
+
+
+
+
+
+
+
+
+
+
+Constructor Detail
+
+
+
+
+RotaryKnob
+
+public RotaryKnob ()
+
+
+
+
+
+
+
+
+
+setDragType
+
+public void setDragType (int type)
+
+
+
+
+
+
+
+
+getDragType
+
+public int getDragType ()
+
+
+
+
+
+
+
+
+isManagingFocus
+
+public boolean isManagingFocus ()
+
+
+Overrides: isManagingFocus in class javax.swing.JComponent
+
+
+
+
+
+
+
+
+isFocusTraversable
+
+public boolean isFocusTraversable ()
+
+
+Overrides: isFocusTraversable in class java.awt.Component
+
+
+
+
+
+
+
+
+incValue
+
+private void incValue ()
+
+
+
+
+
+
+
+
+decValue
+
+private void decValue ()
+
+
+
+
+
+
+
+
+getValue
+
+public float getValue ()
+
+
+
+
+
+
+
+
+setValue
+
+public void setValue (float val)
+
+
+
+
+
+
+
+
+getClickIncrement
+
+public float getClickIncrement ()
+
+
+
+
+
+
+
+
+setClickIncrement
+
+public void setClickIncrement (float clickIncrement)
+
+
+
+
+
+
+
+
+getDragIncrement
+
+public float getDragIncrement ()
+
+
+
+
+
+
+
+
+setDragIncrement
+
+public void setDragIncrement (float dragIncrement)
+
+
+
+
+
+
+
+
+getShadowSizeX
+
+public int getShadowSizeX ()
+
+
+
+
+
+
+
+
+setShadowSizeX
+
+public void setShadowSizeX (int shadowSizeX)
+
+
+
+
+
+
+
+
+getShadowSizeY
+
+public int getShadowSizeY ()
+
+
+
+
+
+
+
+
+setShadowSizeY
+
+public void setShadowSizeY (int shadowSizeY)
+
+
+
+
+
+
+
+
+addChangeListener
+
+public void addChangeListener (javax.swing.event.ChangeListener cl)
+
+
+
+
+
+
+
+
+removeChangeListener
+
+public void removeChangeListener (javax.swing.event.ChangeListener cl)
+
+
+
+
+
+
+
+
+getMinimumSize
+
+public java.awt.Dimension getMinimumSize ()
+
+
+Overrides: getMinimumSize in class javax.swing.JComponent
+
+
+
+
+
+
+
+
+fireChangeEvent
+
+protected void fireChangeEvent ()
+
+
+
+
+
+
+
+
+paint
+
+public void paint (java.awt.Graphics g)
+
+
+Overrides: paint in class javax.swing.JComponent
+
+
+
+
+
+
+
+
+main
+
+public static void main (java.lang.String[] args)
+ throws java.lang.ClassNotFoundException,
+ java.lang.InstantiationException,
+ java.lang.IllegalAccessException,
+ javax.swing.UnsupportedLookAndFeelException
+
+
+
+Throws:
+java.lang.ClassNotFoundException
+java.lang.InstantiationException
+java.lang.IllegalAccessException
+javax.swing.UnsupportedLookAndFeelException
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/javadoc/opaz-plugdk/jvst/wrapper/gui/RotaryKnobPlusText.html b/docs/javadoc/opaz-plugdk/jvst/wrapper/gui/RotaryKnobPlusText.html
new file mode 100644
index 0000000..cabfe34
--- /dev/null
+++ b/docs/javadoc/opaz-plugdk/jvst/wrapper/gui/RotaryKnobPlusText.html
@@ -0,0 +1,613 @@
+
+
+
+
+
+
+
+RotaryKnobPlusText
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+jvst.wrapper.gui
+
+Class RotaryKnobPlusText
+
+java.lang.Object
+ java.awt.Component
+ java.awt.Container
+ javax.swing.JComponent
+ javax.swing.Box
+ jvst.wrapper.gui.RotaryKnobPlusText
+
+
+All Implemented Interfaces: java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, java.util.EventListener, javax.accessibility.Accessible, javax.swing.event.ChangeListener
+
+
+
+public class RotaryKnobPlusText extends javax.swing.Boximplements javax.swing.event.ChangeListener
+
+
+
+
+See Also: Serialized Form
+
+
+
+
+
+
+
+
+
+Nested Class Summary
+
+
+
+
+
+Nested classes/interfaces inherited from class javax.swing.Box
+
+
+javax.swing.Box.AccessibleBox, javax.swing.Box.Filler
+
+
+
+
+
+
+Nested classes/interfaces inherited from class javax.swing.JComponent
+
+
+javax.swing.JComponent.AccessibleJComponent
+
+
+
+
+
+
+Nested classes/interfaces inherited from class java.awt.Container
+
+
+java.awt.Container.AccessibleAWTContainer
+
+
+
+
+
+
+Nested classes/interfaces inherited from class java.awt.Component
+
+
+java.awt.Component.AccessibleAWTComponent, java.awt.Component.BaselineResizeBehavior, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
+
+
+
+
+
+
+
+
+
+Field Summary
+
+
+
+private RotaryKnob
+knob
+
+
+
+
+
+
+private javax.swing.JLabel
+label
+
+
+
+
+
+
+private static long
+serialVersionUID
+
+
+
+
+
+
+private javax.swing.JTextField
+text
+
+
+
+
+
+
+
+
+Fields inherited from class javax.swing.JComponent
+
+
+accessibleContext, listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
+
+
+
+
+
+Fields inherited from class java.awt.Component
+
+
+BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
+
+
+
+
+
+Fields inherited from interface java.awt.image.ImageObserver
+
+
+ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+ void
+addChangeListener (javax.swing.event.ChangeListener cl)
+
+
+
+
+
+
+ RotaryKnob
+getKnob ()
+
+
+
+
+
+
+ java.lang.String
+getName ()
+
+
+
+
+
+
+ javax.swing.JTextField
+getTextField ()
+
+
+
+
+
+
+static void
+main (java.lang.String[] args)
+
+
+
+
+
+
+ void
+setName (java.lang.String name)
+
+
+
+
+
+
+ void
+stateChanged (javax.swing.event.ChangeEvent e)
+
+
+
+
+
+
+
+
+Methods inherited from class javax.swing.Box
+
+
+createGlue, createHorizontalBox, createHorizontalGlue, createHorizontalStrut, createRigidArea, createVerticalBox, createVerticalGlue, createVerticalStrut, getAccessibleContext, paintComponent, setLayout
+
+
+
+
+
+Methods inherited from class javax.swing.JComponent
+
+
+addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBaseline, getBaselineResizeBehavior, getBorder, getBounds, getClientProperty, getComponentGraphics, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPopupLocation, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getUIClassID, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintImmediately, paintImmediately, paramString, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update, updateUI
+
+
+
+
+
+Methods inherited from class java.awt.Container
+
+
+add, add, add, add, add, addContainerListener, addImpl, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, getMousePosition, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, transferFocusBackward, transferFocusDownCycle, validate, validateTree
+
+
+
+
+
+Methods inherited from class java.awt.Component
+
+
+action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setSize, setSize, show, show, size, toString, transferFocus, transferFocusUpCycle
+
+
+
+
+
+Methods inherited from class java.lang.Object
+
+
+clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+serialVersionUID
+
+private static final long serialVersionUID
+
+
+See Also: Constant Field Values
+
+
+
+
+knob
+
+private RotaryKnob knob
+
+
+
+
+
+
+
+label
+
+private javax.swing.JLabel label
+
+
+
+
+
+
+
+text
+
+private javax.swing.JTextField text
+
+
+
+
+
+
+
+
+
+
+
+Constructor Detail
+
+
+
+
+RotaryKnobPlusText
+
+public RotaryKnobPlusText ()
+
+
+
+
+
+RotaryKnobPlusText
+
+public RotaryKnobPlusText (java.lang.String name)
+
+
+
+
+
+
+
+
+
+stateChanged
+
+public void stateChanged (javax.swing.event.ChangeEvent e)
+
+
+Specified by: stateChanged in interface javax.swing.event.ChangeListener
+
+
+
+
+
+
+
+
+addChangeListener
+
+public void addChangeListener (javax.swing.event.ChangeListener cl)
+
+
+
+
+
+
+
+
+
+
+
+getKnob
+
+public RotaryKnob getKnob ()
+
+
+
+
+
+
+
+
+
+
+
+getTextField
+
+public javax.swing.JTextField getTextField ()
+
+
+
+
+
+
+
+
+
+
+
+setName
+
+public void setName (java.lang.String name)
+
+
+Overrides: setName in class java.awt.Component
+
+
+
+
+
+
+
+
+getName
+
+public java.lang.String getName ()
+
+
+Overrides: getName in class java.awt.Component
+
+
+
+
+
+
+
+
+main
+
+public static void main (java.lang.String[] args)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/javadoc/opaz-plugdk/jvst/wrapper/gui/VSTPluginGUI.html b/docs/javadoc/opaz-plugdk/jvst/wrapper/gui/VSTPluginGUI.html
new file mode 100644
index 0000000..3720cb2
--- /dev/null
+++ b/docs/javadoc/opaz-plugdk/jvst/wrapper/gui/VSTPluginGUI.html
@@ -0,0 +1,285 @@
+
+
+
+
+
+
+
+VSTPluginGUI
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+jvst.wrapper.gui
+
+Interface VSTPluginGUI
+
+All Known Implementing Classes: VSTPluginGUIAdapter , VSTPluginGUIRunner
+
+
+
+public interface VSTPluginGUI
+
+
+
+Description of the Interface
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+ void
+close ()
+
+
+ Description of the Method
+
+
+
+ void
+destroy ()
+
+
+ Description of the Method
+
+
+
+ void
+idle ()
+
+
+ This method runs in the context of the hosts GUI event loop
+ So this is the right place for plug-->host calls like beginEdit, endEdit, setParameterAutomated(), etc.
+
+
+
+ void
+open ()
+
+
+ Description of the Method
+
+
+
+
+
+
+
+
+
+
+
+open
+
+void open ()
+
+Description of the Method
+
+
+
+
+
+
+
+
+close
+
+void close ()
+
+Description of the Method
+
+
+
+
+
+
+
+
+idle
+
+void idle ()
+
+This method runs in the context of the hosts GUI event loop
+ So this is the right place for plug-->host calls like beginEdit, endEdit, setParameterAutomated(), etc.
+ WARNING: do not do any Swing related tasks or other long.running actions here.
+ This call blocks the host event thread and thus all GUI related things
+ Also, if Swing things are done here the plugin will deadlock on Mac
+ You can prevent this by wrapping everything EXCEPT plug-->host calls by using invokeLater()
+
+
+
+
+
+
+
+
+destroy
+
+void destroy ()
+
+Description of the Method
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/javadoc/opaz-plugdk/jvst/wrapper/gui/VSTPluginGUIRunner.html b/docs/javadoc/opaz-plugdk/jvst/wrapper/gui/VSTPluginGUIRunner.html
new file mode 100644
index 0000000..8a5acd9
--- /dev/null
+++ b/docs/javadoc/opaz-plugdk/jvst/wrapper/gui/VSTPluginGUIRunner.html
@@ -0,0 +1,682 @@
+
+
+
+
+
+
+
+VSTPluginGUIRunner
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+jvst.wrapper.gui
+
+Class VSTPluginGUIRunner
+
+java.lang.Object
+ jvst.wrapper.gui.VSTPluginGUIRunner
+
+
+All Implemented Interfaces: VSTPluginGUI
+
+
+
+public class VSTPluginGUIRunner extends java.lang.Objectimplements VSTPluginGUI
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+ void
+close ()
+
+
+ Description of the Method
+
+
+
+ void
+destroy ()
+
+
+ Description of the Method
+
+
+
+ int
+getHeight ()
+
+
+
+
+
+
+ int
+getWidth ()
+
+
+
+
+
+
+ void
+idle ()
+
+
+ This method runs in the context of the hosts GUI event loop
+ So this is the right place for plug-->host calls like beginEdit, endEdit, setParameterAutomated(), etc.
+
+
+
+ void
+loadVSTGUI (java.lang.String clazzname,
+ VSTPluginAdapter p)
+
+
+
+
+
+
+protected void
+log (java.lang.String s)
+
+
+
+
+
+
+ void
+open ()
+
+
+ Description of the Method
+
+
+
+private int
+runAndWait (int method)
+
+
+
+
+
+
+private void
+runLater (int method)
+
+
+
+
+
+
+ void
+undecorate ()
+
+
+
+
+
+
+
+
+Methods inherited from class java.lang.Object
+
+
+clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+CLOSE
+
+private static final int CLOSE
+
+
+See Also: Constant Field Values
+
+
+
+
+DESTROY
+
+private static final int DESTROY
+
+
+See Also: Constant Field Values
+
+
+
+
+GETHEIGHT
+
+private static final int GETHEIGHT
+
+
+See Also: Constant Field Values
+
+
+
+
+GETWIDTH
+
+private static final int GETWIDTH
+
+
+See Also: Constant Field Values
+
+
+
+
+OPEN
+
+private static final int OPEN
+
+
+See Also: Constant Field Values
+
+
+
+
+UNDECORATE
+
+private static final int UNDECORATE
+
+
+See Also: Constant Field Values
+
+
+
+
+gui
+
+protected VSTPluginGUIAdapter gui
+
+
+
+
+
+
+
+libraryOk
+
+public boolean libraryOk
+
+
+
+
+
+
+
+WindowAttached
+
+public boolean WindowAttached
+
+
+
+
+
+
+
+
+
+
+
+Constructor Detail
+
+
+
+
+VSTPluginGUIRunner
+
+public VSTPluginGUIRunner ()
+
+
+
+
+
+
+
+
+
+loadVSTGUI
+
+public void loadVSTGUI (java.lang.String clazzname,
+ VSTPluginAdapter p)
+ throws java.lang.Exception
+
+
+
+
+
+
+Throws:
+java.lang.Exception
+
+
+
+
+
+open
+
+public void open ()
+
+Description copied from interface: VSTPluginGUI
+Description of the Method
+
+
+Specified by: open in interface VSTPluginGUI
+
+
+
+
+
+
+
+
+close
+
+public void close ()
+
+Description copied from interface: VSTPluginGUI
+Description of the Method
+
+
+Specified by: close in interface VSTPluginGUI
+
+
+
+
+
+
+
+
+destroy
+
+public void destroy ()
+
+Description copied from interface: VSTPluginGUI
+Description of the Method
+
+
+Specified by: destroy in interface VSTPluginGUI
+
+
+
+
+
+
+
+
+undecorate
+
+public void undecorate ()
+
+
+
+
+
+
+
+
+
+
+
+getWidth
+
+public int getWidth ()
+
+
+
+
+
+
+
+
+
+
+
+getHeight
+
+public int getHeight ()
+
+
+
+
+
+
+
+
+
+
+
+idle
+
+public void idle ()
+
+Description copied from interface: VSTPluginGUI
+This method runs in the context of the hosts GUI event loop
+ So this is the right place for plug-->host calls like beginEdit, endEdit, setParameterAutomated(), etc.
+ WARNING: do not do any Swing related tasks or other long.running actions here.
+ This call blocks the host event thread and thus all GUI related things
+ Also, if Swing things are done here the plugin will deadlock on Mac
+ You can prevent this by wrapping everything EXCEPT plug-->host calls by using invokeLater()
+
+
+Specified by: idle in interface VSTPluginGUI
+
+
+
+
+
+
+
+
+runLater
+
+private void runLater (int method)
+
+
+
+
+
+
+
+
+
+
+
+runAndWait
+
+private int runAndWait (int method)
+
+
+
+
+
+
+
+
+
+
+
+log
+
+protected void log (java.lang.String s)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/javadoc/opaz-plugdk/jvst/wrapper/gui/class-use/JSliderPlusText.html b/docs/javadoc/opaz-plugdk/jvst/wrapper/gui/class-use/JSliderPlusText.html
new file mode 100644
index 0000000..ab830dc
--- /dev/null
+++ b/docs/javadoc/opaz-plugdk/jvst/wrapper/gui/class-use/JSliderPlusText.html
@@ -0,0 +1,145 @@
+
+
+
+
+
+
+
+Uses of Class jvst.wrapper.gui.JSliderPlusText
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Uses of Class jvst.wrapper.gui.JSliderPlusText
+
+No usage of jvst.wrapper.gui.JSliderPlusText
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/javadoc/opaz-plugdk/jvst/wrapper/gui/class-use/RotaryKnob.html b/docs/javadoc/opaz-plugdk/jvst/wrapper/gui/class-use/RotaryKnob.html
new file mode 100644
index 0000000..551de86
--- /dev/null
+++ b/docs/javadoc/opaz-plugdk/jvst/wrapper/gui/class-use/RotaryKnob.html
@@ -0,0 +1,197 @@
+
+
+
+
+
+
+
+Uses of Class jvst.wrapper.gui.RotaryKnob
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Uses of Class jvst.wrapper.gui.RotaryKnob
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/javadoc/opaz-plugdk/jvst/wrapper/gui/class-use/RotaryKnobPlusText.html b/docs/javadoc/opaz-plugdk/jvst/wrapper/gui/class-use/RotaryKnobPlusText.html
new file mode 100644
index 0000000..3d6ca4b
--- /dev/null
+++ b/docs/javadoc/opaz-plugdk/jvst/wrapper/gui/class-use/RotaryKnobPlusText.html
@@ -0,0 +1,145 @@
+
+
+
+
+
+
+
+Uses of Class jvst.wrapper.gui.RotaryKnobPlusText
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Uses of Class jvst.wrapper.gui.RotaryKnobPlusText
+
+No usage of jvst.wrapper.gui.RotaryKnobPlusText
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/javadoc/opaz-plugdk/jvst/wrapper/gui/class-use/VSTPluginGUI.html b/docs/javadoc/opaz-plugdk/jvst/wrapper/gui/class-use/VSTPluginGUI.html
new file mode 100644
index 0000000..d91290d
--- /dev/null
+++ b/docs/javadoc/opaz-plugdk/jvst/wrapper/gui/class-use/VSTPluginGUI.html
@@ -0,0 +1,210 @@
+
+
+
+
+
+
+
+Uses of Interface jvst.wrapper.gui.VSTPluginGUI
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Uses of Interface jvst.wrapper.gui.VSTPluginGUI
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/javadoc/opaz-plugdk/jvst/wrapper/gui/class-use/VSTPluginGUIRunner.html b/docs/javadoc/opaz-plugdk/jvst/wrapper/gui/class-use/VSTPluginGUIRunner.html
new file mode 100644
index 0000000..fe4a02d
--- /dev/null
+++ b/docs/javadoc/opaz-plugdk/jvst/wrapper/gui/class-use/VSTPluginGUIRunner.html
@@ -0,0 +1,196 @@
+
+
+
+
+
+
+
+Uses of Class jvst.wrapper.gui.VSTPluginGUIRunner
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Uses of Class jvst.wrapper.gui.VSTPluginGUIRunner
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/javadoc/opaz-plugdk/jvst/wrapper/gui/package-frame.html b/docs/javadoc/opaz-plugdk/jvst/wrapper/gui/package-frame.html
new file mode 100644
index 0000000..77ac778
--- /dev/null
+++ b/docs/javadoc/opaz-plugdk/jvst/wrapper/gui/package-frame.html
@@ -0,0 +1,50 @@
+
+
+
+
+
+
+
+jvst.wrapper.gui
+
+
+
+
+
+
+
+
+
+
+
+jvst.wrapper.gui
+
+
+
+
+
+
+
+
diff --git a/docs/javadoc/opaz-plugdk/jvst/wrapper/gui/package-summary.html b/docs/javadoc/opaz-plugdk/jvst/wrapper/gui/package-summary.html
new file mode 100644
index 0000000..2154087
--- /dev/null
+++ b/docs/javadoc/opaz-plugdk/jvst/wrapper/gui/package-summary.html
@@ -0,0 +1,184 @@
+
+
+
+
+
+
+
+jvst.wrapper.gui
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Package jvst.wrapper.gui
+
+
+
+
+
+Interface Summary
+
+
+VSTPluginGUI
+Description of the Interface
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/javadoc/opaz-plugdk/jvst/wrapper/gui/package-tree.html b/docs/javadoc/opaz-plugdk/jvst/wrapper/gui/package-tree.html
new file mode 100644
index 0000000..b4b78e0
--- /dev/null
+++ b/docs/javadoc/opaz-plugdk/jvst/wrapper/gui/package-tree.html
@@ -0,0 +1,173 @@
+
+
+
+
+
+
+
+jvst.wrapper.gui Class Hierarchy
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Hierarchy For Package jvst.wrapper.gui
+
+
+
+Package Hierarchies: All Packages
+
+
+Class Hierarchy
+
+
+java.lang.Object
+java.awt.Component (implements java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable)
+
+java.awt.Container
+javax.swing.JComponent (implements java.io.Serializable)
+
+javax.swing.Box (implements javax.accessibility.Accessible)
+
+ jvst.wrapper.gui.RotaryKnob
+
+
+ jvst.wrapper.gui.VSTPluginGUIRunner (implements jvst.wrapper.gui.VSTPluginGUI )
+
+
+
+Interface Hierarchy
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/javadoc/opaz-plugdk/jvst/wrapper/gui/package-use.html b/docs/javadoc/opaz-plugdk/jvst/wrapper/gui/package-use.html
new file mode 100644
index 0000000..22c6121
--- /dev/null
+++ b/docs/javadoc/opaz-plugdk/jvst/wrapper/gui/package-use.html
@@ -0,0 +1,202 @@
+
+
+
+
+
+
+
+Uses of Package jvst.wrapper.gui
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Uses of Package jvst.wrapper.gui
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/javadoc/opaz-plugdk/jvst/wrapper/package-frame.html b/docs/javadoc/opaz-plugdk/jvst/wrapper/package-frame.html
new file mode 100644
index 0000000..92d9f37
--- /dev/null
+++ b/docs/javadoc/opaz-plugdk/jvst/wrapper/package-frame.html
@@ -0,0 +1,35 @@
+
+
+
+
+
+
+
+jvst.wrapper
+
+
+
+
+
+
+
+
+
+
+
+jvst.wrapper
+
+
+
+
+
diff --git a/docs/javadoc/opaz-plugdk/jvst/wrapper/package-summary.html b/docs/javadoc/opaz-plugdk/jvst/wrapper/package-summary.html
new file mode 100644
index 0000000..9c7d85b
--- /dev/null
+++ b/docs/javadoc/opaz-plugdk/jvst/wrapper/package-summary.html
@@ -0,0 +1,164 @@
+
+
+
+
+
+
+
+jvst.wrapper
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Package jvst.wrapper
+
+
+
+
+
+Class Summary
+
+
+VSTPluginAdapter
+Adapter to ignore VST 1.0, VST 2.0, VST 2.1, VST 2.2, VST 2.3, VST 2.4
+ OPTIONAL methods --> return defaults
+ and some utility methods (number conversions...)
+
+
+VSTPluginGUIAdapter
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/javadoc/opaz-plugdk/jvst/wrapper/package-tree.html b/docs/javadoc/opaz-plugdk/jvst/wrapper/package-tree.html
new file mode 100644
index 0000000..7bfe602
--- /dev/null
+++ b/docs/javadoc/opaz-plugdk/jvst/wrapper/package-tree.html
@@ -0,0 +1,182 @@
+
+
+
+
+
+
+
+jvst.wrapper Class Hierarchy
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Hierarchy For Package jvst.wrapper
+
+
+
+Package Hierarchies: All Packages
+
+
+Class Hierarchy
+
+
+java.lang.Object
+java.awt.Component (implements java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable)
+
+java.awt.Container
+java.awt.Window (implements javax.accessibility.Accessible)
+
+java.awt.Frame (implements java.awt.MenuContainer)
+
+javax.swing.JFrame (implements javax.accessibility.Accessible, javax.swing.RootPaneContainer, javax.swing.WindowConstants)
+
+
+
+
+
+ jvst.wrapper.communication.VSTV10ToHost
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/javadoc/opaz-plugdk/jvst/wrapper/package-use.html b/docs/javadoc/opaz-plugdk/jvst/wrapper/package-use.html
new file mode 100644
index 0000000..121facf
--- /dev/null
+++ b/docs/javadoc/opaz-plugdk/jvst/wrapper/package-use.html
@@ -0,0 +1,200 @@
+
+
+
+
+
+
+
+Uses of Package jvst.wrapper
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Uses of Package jvst.wrapper
+
+
+
+
+
+
+
+
+
+Classes in jvst.wrapper used by jvst.wrapper
+
+
+VSTPluginAdapter
+
+
+ Adapter to ignore VST 1.0, VST 2.0, VST 2.1, VST 2.2, VST 2.3, VST 2.4
+ OPTIONAL methods --> return defaults
+ and some utility methods (number conversions...)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/javadoc/opaz-plugdk/jvst/wrapper/valueobjects/MidiKeyName.html b/docs/javadoc/opaz-plugdk/jvst/wrapper/valueobjects/MidiKeyName.html
new file mode 100644
index 0000000..229991f
--- /dev/null
+++ b/docs/javadoc/opaz-plugdk/jvst/wrapper/valueobjects/MidiKeyName.html
@@ -0,0 +1,532 @@
+
+
+
+
+
+
+
+MidiKeyName
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+jvst.wrapper.valueobjects
+
+Class MidiKeyName
+
+java.lang.Object
+ jvst.wrapper.valueobjects.MidiKeyName
+
+
+
+public class MidiKeyName extends java.lang.Object
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Methods inherited from class java.lang.Object
+
+
+clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+flags
+
+private int flags
+
+
+
+
+
+
+
+keyName
+
+private java.lang.String keyName
+
+
+
+
+
+
+
+reserved
+
+private int reserved
+
+
+
+
+
+
+
+thisKeyNumber
+
+private int thisKeyNumber
+
+
+
+
+
+
+
+thisProgramIndex
+
+private int thisProgramIndex
+
+
+
+
+
+
+
+
+
+
+
+Constructor Detail
+
+
+
+
+MidiKeyName
+
+public MidiKeyName ()
+
+
+
+
+
+
+
+
+
+getThisProgramIndex
+
+public int getThisProgramIndex ()
+
+
+
+
+
+
+
+
+getThisKeyNumber
+
+public int getThisKeyNumber ()
+
+
+
+
+
+
+
+
+getReserved
+
+public int getReserved ()
+
+
+
+
+
+
+
+
+getFlags
+
+public int getFlags ()
+
+
+
+
+
+
+
+
+getKeyName
+
+public java.lang.String getKeyName ()
+
+
+
+
+
+
+
+
+setThisProgramIndex
+
+public void setThisProgramIndex (int p)
+
+
+
+
+
+
+
+
+setThisKeyNumber
+
+public void setThisKeyNumber (int p)
+
+
+
+
+
+
+
+
+setReserved
+
+public void setReserved (int p)
+
+
+
+
+
+
+
+
+setFlags
+
+public void setFlags (int p)
+
+
+
+
+
+
+
+
+setKeyname
+
+public void setKeyname (java.lang.String n)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/javadoc/opaz-plugdk/jvst/wrapper/valueobjects/MidiProgramCategory.html b/docs/javadoc/opaz-plugdk/jvst/wrapper/valueobjects/MidiProgramCategory.html
new file mode 100644
index 0000000..97eb0ae
--- /dev/null
+++ b/docs/javadoc/opaz-plugdk/jvst/wrapper/valueobjects/MidiProgramCategory.html
@@ -0,0 +1,476 @@
+
+
+
+
+
+
+
+MidiProgramCategory
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+jvst.wrapper.valueobjects
+
+Class MidiProgramCategory
+
+java.lang.Object
+ jvst.wrapper.valueobjects.MidiProgramCategory
+
+
+
+public class MidiProgramCategory extends java.lang.Object
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Methods inherited from class java.lang.Object
+
+
+clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+flags
+
+private int flags
+
+
+
+
+
+
+
+name
+
+private java.lang.String name
+
+
+
+
+
+
+
+parentCategoryIndex
+
+private int parentCategoryIndex
+
+
+
+
+
+
+
+thisCategoryIndex
+
+private int thisCategoryIndex
+
+
+
+
+
+
+
+
+
+
+
+Constructor Detail
+
+
+
+
+MidiProgramCategory
+
+public MidiProgramCategory ()
+
+
+
+
+
+
+
+
+
+getThisCategoryIndex
+
+public int getThisCategoryIndex ()
+
+
+
+
+
+
+
+
+getParentCategoryIndex
+
+public int getParentCategoryIndex ()
+
+
+
+
+
+
+
+
+getFlags
+
+public int getFlags ()
+
+
+
+
+
+
+
+
+getName
+
+public java.lang.String getName ()
+
+
+
+
+
+
+
+
+setThisCategoryIndex
+
+public void setThisCategoryIndex (int p)
+
+
+
+
+
+
+
+
+setParentCategoryIndex
+
+public void setParentCategoryIndex (int p)
+
+
+
+
+
+
+
+
+setFlags
+
+public void setFlags (int p)
+
+
+
+
+
+
+
+
+setName
+
+public void setName (java.lang.String p)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/javadoc/opaz-plugdk/jvst/wrapper/valueobjects/MidiProgramName.html b/docs/javadoc/opaz-plugdk/jvst/wrapper/valueobjects/MidiProgramName.html
new file mode 100644
index 0000000..0a2671b
--- /dev/null
+++ b/docs/javadoc/opaz-plugdk/jvst/wrapper/valueobjects/MidiProgramName.html
@@ -0,0 +1,718 @@
+
+
+
+
+
+
+
+MidiProgramName
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+jvst.wrapper.valueobjects
+
+Class MidiProgramName
+
+java.lang.Object
+ jvst.wrapper.valueobjects.MidiProgramName
+
+
+
+public class MidiProgramName extends java.lang.Object
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Methods inherited from class java.lang.Object
+
+
+clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+MIDI_IS_OMNI
+
+public static final int MIDI_IS_OMNI
+
+
+See Also: Constant Field Values
+
+
+
+
+flags
+
+private int flags
+
+
+
+
+
+
+
+midiBankLsb
+
+private byte midiBankLsb
+
+
+
+
+
+
+
+midiBankMsb
+
+private byte midiBankMsb
+
+
+
+
+
+
+
+midiProgram
+
+private byte midiProgram
+
+
+
+
+
+
+
+name
+
+private java.lang.String name
+
+
+
+
+
+
+
+parentCategoryIndex
+
+private int parentCategoryIndex
+
+
+
+
+
+
+
+reserved
+
+private byte reserved
+
+
+
+
+
+
+
+thisProgramIndex
+
+private int thisProgramIndex
+
+
+
+
+
+
+
+
+
+
+
+Constructor Detail
+
+
+
+
+MidiProgramName
+
+public MidiProgramName ()
+
+
+
+
+
+
+
+
+
+getThisProgramIndex
+
+public int getThisProgramIndex ()
+
+
+
+
+
+
+
+
+getParentCategoryIndex
+
+public int getParentCategoryIndex ()
+
+
+
+
+
+
+
+
+getFlags
+
+public int getFlags ()
+
+
+
+
+
+
+
+
+getName
+
+public java.lang.String getName ()
+
+
+
+
+
+
+
+
+getReserved
+
+public byte getReserved ()
+
+
+
+
+
+
+
+
+getMidiProgram
+
+public byte getMidiProgram ()
+
+
+
+
+
+
+
+
+getMidiBankMsb
+
+public byte getMidiBankMsb ()
+
+
+
+
+
+
+
+
+getMidiBankLsb
+
+public byte getMidiBankLsb ()
+
+
+
+
+
+
+
+
+setReserved
+
+public void setReserved (byte p)
+
+
+
+
+
+
+
+
+setThisProgramIndex
+
+public void setThisProgramIndex (int p)
+
+
+
+
+
+
+
+
+setParentCategoryIndex
+
+public void setParentCategoryIndex (int p)
+
+
+
+
+
+
+
+
+setFlags
+
+public void setFlags (int p)
+
+
+
+
+
+
+
+
+setName
+
+public void setName (java.lang.String p)
+
+
+
+
+
+
+
+
+setMidiProgram
+
+public void setMidiProgram (byte p)
+
+
+
+
+
+
+
+
+setMidiBankMsb
+
+public void setMidiBankMsb (byte p)
+
+
+
+
+
+
+
+
+setMidiBankLsb
+
+public void setMidiBankLsb (byte p)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/javadoc/opaz-plugdk/jvst/wrapper/valueobjects/VSTEvent.html b/docs/javadoc/opaz-plugdk/jvst/wrapper/valueobjects/VSTEvent.html
new file mode 100644
index 0000000..17178c1
--- /dev/null
+++ b/docs/javadoc/opaz-plugdk/jvst/wrapper/valueobjects/VSTEvent.html
@@ -0,0 +1,651 @@
+
+
+
+
+
+
+
+VSTEvent
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+jvst.wrapper.valueobjects
+
+Class VSTEvent
+
+java.lang.Object
+ jvst.wrapper.valueobjects.VSTEvent
+
+
+Direct Known Subclasses: VSTMidiEvent
+
+
+
+public class VSTEvent extends java.lang.Object
+
+
+
+
+
+
+
+
+
+
+
+
+Field Summary
+
+
+
+protected int
+byteSize
+
+
+
+
+
+
+protected byte[]
+data
+
+
+
+
+
+
+protected int
+deltaFrames
+
+
+
+
+
+
+protected int
+flags
+
+
+
+
+
+
+protected int
+type
+
+
+
+
+
+
+static int
+VST_EVENT_AUDIO_TYPE
+
+
+ Deprecated. deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+
+
+
+static int
+VST_EVENT_MIDI_TYPE
+
+
+
+
+
+
+static int
+VST_EVENT_PARAMETER_TYPE
+
+
+ Deprecated. deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+
+
+
+static int
+VST_EVENT_SYSEX_TYPE
+
+
+
+
+
+
+static int
+VST_EVENT_TRIGGER_TYPE
+
+
+ Deprecated. deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+
+
+
+static int
+VST_EVENT_VIDEO_TYPE
+
+
+ Deprecated. deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+
+
+
+
+
+
+
+
+
+Constructor Summary
+
+
+VSTEvent ()
+
+
+
+
+
+
+
+
+
+
+
+
+
+Methods inherited from class java.lang.Object
+
+
+clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+VST_EVENT_AUDIO_TYPE
+
+public static final int VST_EVENT_AUDIO_TYPE
+
+Deprecated. deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+See Also: Constant Field Values
+
+
+
+
+VST_EVENT_MIDI_TYPE
+
+public static final int VST_EVENT_MIDI_TYPE
+
+
+See Also: Constant Field Values
+
+
+
+
+VST_EVENT_PARAMETER_TYPE
+
+public static final int VST_EVENT_PARAMETER_TYPE
+
+Deprecated. deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+See Also: Constant Field Values
+
+
+
+
+VST_EVENT_SYSEX_TYPE
+
+public static final int VST_EVENT_SYSEX_TYPE
+
+
+See Also: Constant Field Values
+
+
+
+
+VST_EVENT_TRIGGER_TYPE
+
+public static final int VST_EVENT_TRIGGER_TYPE
+
+Deprecated. deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+See Also: Constant Field Values
+
+
+
+
+VST_EVENT_VIDEO_TYPE
+
+public static final int VST_EVENT_VIDEO_TYPE
+
+Deprecated. deprecated as of vst sdk version 2.4
+ please see the original vst documenation for details
+See Also: Constant Field Values
+
+
+
+
+data
+
+protected byte[] data
+
+
+
+
+
+
+
+byteSize
+
+protected int byteSize
+
+
+
+
+
+
+
+deltaFrames
+
+protected int deltaFrames
+
+
+
+
+
+
+
+flags
+
+protected int flags
+
+
+
+
+
+
+
+type
+
+protected int type
+
+
+
+
+
+
+
+
+
+
+
+Constructor Detail
+
+
+
+
+VSTEvent
+
+public VSTEvent ()
+
+
+
+
+
+
+
+
+
+getType
+
+public int getType ()
+
+
+
+
+
+
+
+
+setType
+
+public void setType (int type)
+
+
+
+
+
+
+
+
+getByteSize
+
+public int getByteSize ()
+
+
+
+
+
+
+
+
+setByteSize
+
+public void setByteSize (int byteSize)
+
+
+
+
+
+
+
+
+getDeltaFrames
+
+public int getDeltaFrames ()
+
+
+
+
+
+
+
+
+setDeltaFrames
+
+public void setDeltaFrames (int deltaFrames)
+
+
+
+
+
+
+
+
+getFlags
+
+public int getFlags ()
+
+
+
+
+
+
+
+
+setFlags
+
+public void setFlags (int flags)
+
+
+
+
+
+
+
+
+getData
+
+public byte[] getData ()
+
+
+
+
+
+
+
+
+setData
+
+public void setData (byte[] data)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/javadoc/opaz-plugdk/jvst/wrapper/valueobjects/VSTEvents.html b/docs/javadoc/opaz-plugdk/jvst/wrapper/valueobjects/VSTEvents.html
new file mode 100644
index 0000000..d12bc74
--- /dev/null
+++ b/docs/javadoc/opaz-plugdk/jvst/wrapper/valueobjects/VSTEvents.html
@@ -0,0 +1,420 @@
+
+
+
+
+
+
+
+VSTEvents
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+jvst.wrapper.valueobjects
+
+Class VSTEvents
+
+java.lang.Object
+ jvst.wrapper.valueobjects.VSTEvents
+
+
+
+public class VSTEvents extends java.lang.Object
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Summary
+
+
+VSTEvents ()
+
+
+
+
+
+
+
+
+
+
+
+
+
+Methods inherited from class java.lang.Object
+
+
+clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+events
+
+private VSTEvent [] events
+
+
+
+
+
+
+
+numEvents
+
+private int numEvents
+
+
+
+
+
+
+
+reserved
+
+private int reserved
+
+
+
+
+
+
+
+
+
+
+
+Constructor Detail
+
+
+
+
+VSTEvents
+
+public VSTEvents ()
+
+
+
+
+
+
+
+
+
+getNumEvents
+
+public int getNumEvents ()
+
+
+
+
+
+
+
+
+setNumEvents
+
+public void setNumEvents (int numEvents)
+
+
+
+
+
+
+
+
+getReserved
+
+public int getReserved ()
+
+
+
+
+
+
+
+
+setReserved
+
+public void setReserved (int reserved)
+
+
+
+
+
+
+
+
+getEvents
+
+public VSTEvent [] getEvents ()
+
+
+
+
+
+
+
+
+setEvents
+
+public void setEvents (VSTEvent [] events)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/javadoc/opaz-plugdk/jvst/wrapper/valueobjects/VSTMidiEvent.html b/docs/javadoc/opaz-plugdk/jvst/wrapper/valueobjects/VSTMidiEvent.html
new file mode 100644
index 0000000..f9669dd
--- /dev/null
+++ b/docs/javadoc/opaz-plugdk/jvst/wrapper/valueobjects/VSTMidiEvent.html
@@ -0,0 +1,625 @@
+
+
+
+
+
+
+
+VSTMidiEvent
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+jvst.wrapper.valueobjects
+
+Class VSTMidiEvent
+
+java.lang.Object
+ jvst.wrapper.valueobjects.VSTEvent
+ jvst.wrapper.valueobjects.VSTMidiEvent
+
+
+
+public class VSTMidiEvent extends VSTEvent
+
+
+
+
+
+
+
+
+
+
+
+
+
+Fields inherited from class jvst.wrapper.valueobjects.VSTEvent
+
+
+byteSize , data , deltaFrames , flags , type , VST_EVENT_AUDIO_TYPE , VST_EVENT_MIDI_TYPE , VST_EVENT_PARAMETER_TYPE , VST_EVENT_SYSEX_TYPE , VST_EVENT_TRIGGER_TYPE , VST_EVENT_VIDEO_TYPE
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Methods inherited from class java.lang.Object
+
+
+clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+FLAG_MidiEventIsRealtime
+
+public static final int FLAG_MidiEventIsRealtime
+
+
+See Also: Constant Field Values
+
+
+
+
+detune
+
+protected byte detune
+
+
+
+
+
+
+
+noteLength
+
+protected int noteLength
+
+
+
+
+
+
+
+noteOffVelocity
+
+protected byte noteOffVelocity
+
+
+
+
+
+
+
+noteOffset
+
+protected int noteOffset
+
+
+
+
+
+
+
+reserved1
+
+protected byte reserved1
+
+
+
+
+
+
+
+reserved2
+
+protected byte reserved2
+
+
+
+
+
+
+
+
+
+
+
+Constructor Detail
+
+
+
+
+VSTMidiEvent
+
+public VSTMidiEvent ()
+
+
+
+
+
+
+
+
+
+getNoteLength
+
+public int getNoteLength ()
+
+
+
+
+
+
+
+
+setNoteLength
+
+public void setNoteLength (int noteLength)
+
+
+
+
+
+
+
+
+getNoteOffset
+
+public int getNoteOffset ()
+
+
+
+
+
+
+
+
+setNoteOffset
+
+public void setNoteOffset (int noteOffset)
+
+
+
+
+
+
+
+
+getDetune
+
+public byte getDetune ()
+
+
+
+
+
+
+
+
+setDetune
+
+public void setDetune (byte detune)
+
+
+
+
+
+
+
+
+getNoteOffVelocity
+
+public byte getNoteOffVelocity ()
+
+
+
+
+
+
+
+
+setNoteOffVelocity
+
+public void setNoteOffVelocity (byte noteOffVelocity)
+
+
+
+
+
+
+
+
+getReserved1
+
+public byte getReserved1 ()
+
+
+
+
+
+
+
+
+setReserved1
+
+public void setReserved1 (byte reserved1)
+
+
+
+
+
+
+
+
+getReserved2
+
+public byte getReserved2 ()
+
+
+
+
+
+
+
+
+setReserved2
+
+public void setReserved2 (byte reserved2)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/javadoc/opaz-plugdk/jvst/wrapper/valueobjects/VSTParameterProperties.html b/docs/javadoc/opaz-plugdk/jvst/wrapper/valueobjects/VSTParameterProperties.html
new file mode 100644
index 0000000..85cfaeb
--- /dev/null
+++ b/docs/javadoc/opaz-plugdk/jvst/wrapper/valueobjects/VSTParameterProperties.html
@@ -0,0 +1,1318 @@
+
+
+
+
+
+
+
+VSTParameterProperties
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+jvst.wrapper.valueobjects
+
+Class VSTParameterProperties
+
+java.lang.Object
+ jvst.wrapper.valueobjects.VSTParameterProperties
+
+
+
+public class VSTParameterProperties extends java.lang.Object
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Summary
+
+
+VSTParameterProperties ()
+
+
+
+
+
+VSTParameterProperties (float stepfl,
+ float smallstepfl,
+ float largestepfl,
+ java.lang.String lab,
+ int fl,
+ int minInt,
+ int maxInt,
+ int stepInt,
+ int largeStepInt,
+ java.lang.String shortLab,
+ int displayIdx,
+ int cat,
+ int numParamsInCat,
+ int res,
+ java.lang.String catLabel,
+ char[] fut)
+
+
+
+
+
+
+
+
+
+
+
+
+
+Methods inherited from class java.lang.Object
+
+
+clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+VST_PARAMETER_CAN_RAMP
+
+public static final int VST_PARAMETER_CAN_RAMP
+
+
+See Also: Constant Field Values
+
+
+
+
+VST_PARAMETER_IS_SWITCH
+
+public static final int VST_PARAMETER_IS_SWITCH
+
+
+See Also: Constant Field Values
+
+
+
+
+VST_PARAMETER_SUPPORTS_DISPLAY_CATEGORY
+
+public static final int VST_PARAMETER_SUPPORTS_DISPLAY_CATEGORY
+
+
+See Also: Constant Field Values
+
+
+
+
+VST_PARAMETER_SUPPORTS_DISPLAY_INDEX
+
+public static final int VST_PARAMETER_SUPPORTS_DISPLAY_INDEX
+
+
+See Also: Constant Field Values
+
+
+
+
+VST_PARAMETER_USES_FLOAT_STEP
+
+public static final int VST_PARAMETER_USES_FLOAT_STEP
+
+
+See Also: Constant Field Values
+
+
+
+
+VST_PARAMETER_USES_INTEGER_MIN_MAX
+
+public static final int VST_PARAMETER_USES_INTEGER_MIN_MAX
+
+
+See Also: Constant Field Values
+
+
+
+
+VST_PARAMETER_USES_INT_STEP
+
+public static final int VST_PARAMETER_USES_INT_STEP
+
+
+See Also: Constant Field Values
+
+
+
+
+categoryLabel
+
+private java.lang.String categoryLabel
+
+
+
+
+
+
+
+future
+
+private char[] future
+
+
+
+
+
+
+
+label
+
+private java.lang.String label
+
+
+
+
+
+
+
+shortLabel
+
+private java.lang.String shortLabel
+
+
+
+
+
+
+
+category
+
+private int category
+
+
+
+
+
+
+
+displayIndex
+
+private int displayIndex
+
+
+
+
+
+
+
+flags
+
+private int flags
+
+
+
+
+
+
+
+largeStepFloat
+
+private float largeStepFloat
+
+
+
+
+
+
+
+largeStepInteger
+
+private int largeStepInteger
+
+
+
+
+
+
+
+maxInteger
+
+private int maxInteger
+
+
+
+
+
+
+
+minInteger
+
+private int minInteger
+
+
+
+
+
+
+
+numParametersInCategory
+
+private int numParametersInCategory
+
+
+
+
+
+
+
+reserved
+
+private int reserved
+
+
+
+
+
+
+
+smallStepFloat
+
+private float smallStepFloat
+
+
+
+
+
+
+
+stepFloat
+
+private float stepFloat
+
+
+
+
+
+
+
+stepInteger
+
+private int stepInteger
+
+
+
+
+
+
+
+
+
+
+
+Constructor Detail
+
+
+
+
+VSTParameterProperties
+
+public VSTParameterProperties ()
+
+
+
+
+
+VSTParameterProperties
+
+public VSTParameterProperties (float stepfl,
+ float smallstepfl,
+ float largestepfl,
+ java.lang.String lab,
+ int fl,
+ int minInt,
+ int maxInt,
+ int stepInt,
+ int largeStepInt,
+ java.lang.String shortLab,
+ int displayIdx,
+ int cat,
+ int numParamsInCat,
+ int res,
+ java.lang.String catLabel,
+ char[] fut)
+
+
+
+
+
+
+
+
+
+getStepFloat
+
+public float getStepFloat ()
+
+
+
+
+
+
+
+
+setStepFloat
+
+public void setStepFloat (float stepFloat)
+
+
+
+
+
+
+
+
+getSmallStepFloat
+
+public float getSmallStepFloat ()
+
+
+
+
+
+
+
+
+setSmallStepFloat
+
+public void setSmallStepFloat (float smallStepFloat)
+
+
+
+
+
+
+
+
+getLargeStepFloat
+
+public float getLargeStepFloat ()
+
+
+
+
+
+
+
+
+setLargeStepFloat
+
+public void setLargeStepFloat (float largeStepFloat)
+
+
+
+
+
+
+
+
+getLabel
+
+public java.lang.String getLabel ()
+
+
+
+
+
+
+
+
+setLabel
+
+public void setLabel (java.lang.String label)
+
+
+
+
+
+
+
+
+getFlags
+
+public int getFlags ()
+
+
+
+
+
+
+
+
+setFlags
+
+public void setFlags (int flags)
+
+
+
+
+
+
+
+
+getMinInteger
+
+public int getMinInteger ()
+
+
+
+
+
+
+
+
+setMinInteger
+
+public void setMinInteger (int minInteger)
+
+
+
+
+
+
+
+
+getMaxInteger
+
+public int getMaxInteger ()
+
+
+
+
+
+
+
+
+setMaxInteger
+
+public void setMaxInteger (int maxInteger)
+
+
+
+
+
+
+
+
+getStepInteger
+
+public int getStepInteger ()
+
+
+
+
+
+
+
+
+setStepInteger
+
+public void setStepInteger (int stepInteger)
+
+
+
+
+
+
+
+
+getLargeStepInteger
+
+public int getLargeStepInteger ()
+
+
+
+
+
+
+
+
+setLargeStepInteger
+
+public void setLargeStepInteger (int largeStepInteger)
+
+
+
+
+
+
+
+
+getShortLabel
+
+public java.lang.String getShortLabel ()
+
+
+
+
+
+
+
+
+setShortLabel
+
+public void setShortLabel (java.lang.String shortLabel)
+
+
+
+
+
+
+
+
+getDisplayIndex
+
+public int getDisplayIndex ()
+
+
+
+
+
+
+
+
+setDisplayIndex
+
+public void setDisplayIndex (int displayIndex)
+
+
+
+
+
+
+
+
+getCategory
+
+public int getCategory ()
+
+
+
+
+
+
+
+
+setCategory
+
+public void setCategory (int category)
+
+
+
+
+
+
+
+
+getNumParametersInCategory
+
+public int getNumParametersInCategory ()
+
+
+
+
+
+
+
+
+setNumParametersInCategory
+
+public void setNumParametersInCategory (int numParametersInCategory)
+
+
+
+
+
+
+
+
+getReserved
+
+public int getReserved ()
+
+
+
+
+
+
+
+
+setReserved
+
+public void setReserved (int reserved)
+
+
+
+
+
+
+
+
+getCategoryLabel
+
+public java.lang.String getCategoryLabel ()
+
+
+
+
+
+
+
+
+setCategoryLabel
+
+public void setCategoryLabel (java.lang.String categoryLabel)
+
+
+
+
+
+
+
+
+getFuture
+
+public char[] getFuture ()
+
+
+
+
+
+
+
+
+setFuture
+
+public void setFuture (char[] future)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/javadoc/opaz-plugdk/jvst/wrapper/valueobjects/VSTPatchChunkInfo.html b/docs/javadoc/opaz-plugdk/jvst/wrapper/valueobjects/VSTPatchChunkInfo.html
new file mode 100644
index 0000000..013aa08
--- /dev/null
+++ b/docs/javadoc/opaz-plugdk/jvst/wrapper/valueobjects/VSTPatchChunkInfo.html
@@ -0,0 +1,333 @@
+
+
+
+
+
+
+
+VSTPatchChunkInfo
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+jvst.wrapper.valueobjects
+
+Class VSTPatchChunkInfo
+
+java.lang.Object
+ jvst.wrapper.valueobjects.VSTPatchChunkInfo
+
+
+
+public class VSTPatchChunkInfo extends java.lang.Object
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Methods inherited from class java.lang.Object
+
+
+clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+future
+
+private char[] future
+
+
+
+
+
+
+
+numElements
+
+private int numElements
+
+
+
+
+
+
+
+pluginUniqueID
+
+private int pluginUniqueID
+
+
+
+
+
+
+
+pluginVersion
+
+private int pluginVersion
+
+
+
+
+
+
+
+version
+
+private int version
+
+
+
+
+
+
+
+
+
+
+
+Constructor Detail
+
+
+
+
+VSTPatchChunkInfo
+
+public VSTPatchChunkInfo ()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/javadoc/opaz-plugdk/jvst/wrapper/valueobjects/VSTPinProperties.html b/docs/javadoc/opaz-plugdk/jvst/wrapper/valueobjects/VSTPinProperties.html
new file mode 100644
index 0000000..c60f80b
--- /dev/null
+++ b/docs/javadoc/opaz-plugdk/jvst/wrapper/valueobjects/VSTPinProperties.html
@@ -0,0 +1,550 @@
+
+
+
+
+
+
+
+VSTPinProperties
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+jvst.wrapper.valueobjects
+
+Class VSTPinProperties
+
+java.lang.Object
+ jvst.wrapper.valueobjects.VSTPinProperties
+
+
+
+public class VSTPinProperties extends java.lang.Object
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Methods inherited from class java.lang.Object
+
+
+clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+VST_PIN_IS_ACTIVE
+
+public static final int VST_PIN_IS_ACTIVE
+
+
+See Also: Constant Field Values
+
+
+
+
+VST_PIN_IS_STEREO
+
+public static final int VST_PIN_IS_STEREO
+
+
+See Also: Constant Field Values
+
+
+
+
+VST_PIN_USE_SPEAKER
+
+public static final int VST_PIN_USE_SPEAKER
+
+
+See Also: Constant Field Values
+
+
+
+
+Label
+
+private java.lang.String Label
+
+
+
+
+
+
+
+ShortLabel
+
+private java.lang.String ShortLabel
+
+
+
+
+
+
+
+ArrangementType
+
+private int ArrangementType
+
+
+
+
+
+
+
+Flags
+
+private int Flags
+
+
+
+
+
+
+
+
+
+
+
+Constructor Detail
+
+
+
+
+VSTPinProperties
+
+public VSTPinProperties ()
+
+
+
+
+
+VSTPinProperties
+
+public VSTPinProperties (java.lang.String lab,
+ int fla,
+ int arr,
+ java.lang.String sho)
+
+
+
+
+
+
+
+
+
+getShortLabel
+
+public java.lang.String getShortLabel ()
+
+
+
+
+
+
+
+
+setShortLabel
+
+public void setShortLabel (java.lang.String shortLabel)
+
+
+
+
+
+
+
+
+getArrangementType
+
+public int getArrangementType ()
+
+
+
+
+
+
+
+
+setArrangementType
+
+public void setArrangementType (int ArrangementType)
+
+
+
+
+
+
+
+
+getFlags
+
+public int getFlags ()
+
+
+
+
+
+
+
+
+setFlags
+
+public void setFlags (int Flags)
+
+
+
+
+
+
+
+
+getLabel
+
+public java.lang.String getLabel ()
+
+
+
+
+
+
+
+
+setLabel
+
+public void setLabel (java.lang.String label)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/javadoc/opaz-plugdk/jvst/wrapper/valueobjects/VSTSpeakerArrangement.html b/docs/javadoc/opaz-plugdk/jvst/wrapper/valueobjects/VSTSpeakerArrangement.html
new file mode 100644
index 0000000..0697390
--- /dev/null
+++ b/docs/javadoc/opaz-plugdk/jvst/wrapper/valueobjects/VSTSpeakerArrangement.html
@@ -0,0 +1,996 @@
+
+
+
+
+
+
+
+VSTSpeakerArrangement
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+jvst.wrapper.valueobjects
+
+Class VSTSpeakerArrangement
+
+java.lang.Object
+ jvst.wrapper.valueobjects.VSTSpeakerArrangement
+
+
+
+public class VSTSpeakerArrangement extends java.lang.Object
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Methods inherited from class java.lang.Object
+
+
+clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+NumSpeakerArr
+
+public static final int NumSpeakerArr
+
+
+See Also: Constant Field Values
+
+
+
+
+SpeakerArr102
+
+public static final int SpeakerArr102
+
+
+See Also: Constant Field Values
+
+
+
+
+SpeakerArr30Cine
+
+public static final int SpeakerArr30Cine
+
+
+See Also: Constant Field Values
+
+
+
+
+SpeakerArr30Music
+
+public static final int SpeakerArr30Music
+
+
+See Also: Constant Field Values
+
+
+
+
+SpeakerArr31Cine
+
+public static final int SpeakerArr31Cine
+
+
+See Also: Constant Field Values
+
+
+
+
+SpeakerArr31Music
+
+public static final int SpeakerArr31Music
+
+
+See Also: Constant Field Values
+
+
+
+
+SpeakerArr40Cine
+
+public static final int SpeakerArr40Cine
+
+
+See Also: Constant Field Values
+
+
+
+
+SpeakerArr40Music
+
+public static final int SpeakerArr40Music
+
+
+See Also: Constant Field Values
+
+
+
+
+SpeakerArr41Cine
+
+public static final int SpeakerArr41Cine
+
+
+See Also: Constant Field Values
+
+
+
+
+SpeakerArr41Music
+
+public static final int SpeakerArr41Music
+
+
+See Also: Constant Field Values
+
+
+
+
+SpeakerArr50
+
+public static final int SpeakerArr50
+
+
+See Also: Constant Field Values
+
+
+
+
+SpeakerArr51
+
+public static final int SpeakerArr51
+
+
+See Also: Constant Field Values
+
+
+
+
+SpeakerArr60Cine
+
+public static final int SpeakerArr60Cine
+
+
+See Also: Constant Field Values
+
+
+
+
+SpeakerArr60Music
+
+public static final int SpeakerArr60Music
+
+
+See Also: Constant Field Values
+
+
+
+
+SpeakerArr61Cine
+
+public static final int SpeakerArr61Cine
+
+
+See Also: Constant Field Values
+
+
+
+
+SpeakerArr61Music
+
+public static final int SpeakerArr61Music
+
+
+See Also: Constant Field Values
+
+
+
+
+SpeakerArr70Cine
+
+public static final int SpeakerArr70Cine
+
+
+See Also: Constant Field Values
+
+
+
+
+SpeakerArr70Music
+
+public static final int SpeakerArr70Music
+
+
+See Also: Constant Field Values
+
+
+
+
+SpeakerArr71Cine
+
+public static final int SpeakerArr71Cine
+
+
+See Also: Constant Field Values
+
+
+
+
+SpeakerArr71Music
+
+public static final int SpeakerArr71Music
+
+
+See Also: Constant Field Values
+
+
+
+
+SpeakerArr80Cine
+
+public static final int SpeakerArr80Cine
+
+
+See Also: Constant Field Values
+
+
+
+
+SpeakerArr80Music
+
+public static final int SpeakerArr80Music
+
+
+See Also: Constant Field Values
+
+
+
+
+SpeakerArr81Cine
+
+public static final int SpeakerArr81Cine
+
+
+See Also: Constant Field Values
+
+
+
+
+SpeakerArr81Music
+
+public static final int SpeakerArr81Music
+
+
+See Also: Constant Field Values
+
+
+
+
+SpeakerArrEmpty
+
+public static final int SpeakerArrEmpty
+
+
+See Also: Constant Field Values
+
+
+
+
+SpeakerArrMono
+
+public static final int SpeakerArrMono
+
+
+See Also: Constant Field Values
+
+
+
+
+SpeakerArrStereoCLfe
+
+public static final int SpeakerArrStereoCLfe
+
+
+See Also: Constant Field Values
+
+
+
+
+SpeakerArrStereoCenter
+
+public static final int SpeakerArrStereoCenter
+
+
+See Also: Constant Field Values
+
+
+
+
+SpeakerArrStereoM
+
+public static final int SpeakerArrStereoM
+
+
+See Also: Constant Field Values
+
+
+
+
+SpeakerArrStereoSide
+
+public static final int SpeakerArrStereoSide
+
+
+See Also: Constant Field Values
+
+
+
+
+SpeakerArrStereoSurround
+
+public static final int SpeakerArrStereoSurround
+
+
+See Also: Constant Field Values
+
+
+
+
+SpeakerArrUserDefined
+
+public static final int SpeakerArrUserDefined
+
+
+See Also: Constant Field Values
+
+
+
+
+numChannels
+
+private int numChannels
+
+
+
+
+
+
+
+speakers
+
+private VSTSpeakerProperties [] speakers
+
+
+
+
+
+
+
+type
+
+private int type
+
+
+
+
+
+
+
+
+
+
+
+Constructor Detail
+
+
+
+
+VSTSpeakerArrangement
+
+public VSTSpeakerArrangement ()
+
+
+
+
+
+
+
+
+
+getType
+
+public int getType ()
+
+
+
+
+
+
+
+
+setType
+
+public void setType (int type)
+
+
+
+
+
+
+
+
+getNumChannels
+
+public int getNumChannels ()
+
+
+
+
+
+
+
+
+setNumChannels
+
+public void setNumChannels (int numChannels)
+
+
+
+
+
+
+
+
+getSpeakers
+
+public VSTSpeakerProperties [] getSpeakers ()
+
+
+
+
+
+
+
+
+setSpeakers
+
+public void setSpeakers (VSTSpeakerProperties [] speakers)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/javadoc/opaz-plugdk/jvst/wrapper/valueobjects/VSTSpeakerProperties.html b/docs/javadoc/opaz-plugdk/jvst/wrapper/valueobjects/VSTSpeakerProperties.html
new file mode 100644
index 0000000..1f88277
--- /dev/null
+++ b/docs/javadoc/opaz-plugdk/jvst/wrapper/valueobjects/VSTSpeakerProperties.html
@@ -0,0 +1,1626 @@
+
+
+
+
+
+
+
+VSTSpeakerProperties
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+jvst.wrapper.valueobjects
+
+Class VSTSpeakerProperties
+
+java.lang.Object
+ jvst.wrapper.valueobjects.VSTSpeakerProperties
+
+
+
+public class VSTSpeakerProperties extends java.lang.Object
+
+
+
+note: the origin for azimuth is right (as by math conventions dealing with radians);
+ the elevation origin is also right, visualizing a rotation of a circle across the
+ -pi/pi axis of the horizontal circle. thus, an elevation of -pi/2 corresponds
+ to bottom, and a speaker standing on the left, and 'beaming' upwards would have
+ an azimuth of -pi, and an elevation of pi/2.
+ for user interface representation, grads are more likely to be used, and the
+ origins will obviously 'shift' accordingly.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Methods inherited from class java.lang.Object
+
+
+clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+SPEAKER_C
+
+public static final int SPEAKER_C
+
+
+See Also: Constant Field Values
+
+
+
+
+SPEAKER_L
+
+public static final int SPEAKER_L
+
+
+See Also: Constant Field Values
+
+
+
+
+SPEAKER_LC
+
+public static final int SPEAKER_LC
+
+
+See Also: Constant Field Values
+
+
+
+
+SPEAKER_LFE
+
+public static final int SPEAKER_LFE
+
+
+See Also: Constant Field Values
+
+
+
+
+SPEAKER_LFE2
+
+public static final int SPEAKER_LFE2
+
+
+See Also: Constant Field Values
+
+
+
+
+SPEAKER_LS
+
+public static final int SPEAKER_LS
+
+
+See Also: Constant Field Values
+
+
+
+
+SPEAKER_M
+
+public static final int SPEAKER_M
+
+
+See Also: Constant Field Values
+
+
+
+
+SPEAKER_R
+
+public static final int SPEAKER_R
+
+
+See Also: Constant Field Values
+
+
+
+
+SPEAKER_RC
+
+public static final int SPEAKER_RC
+
+
+See Also: Constant Field Values
+
+
+
+
+SPEAKER_RS
+
+public static final int SPEAKER_RS
+
+
+See Also: Constant Field Values
+
+
+
+
+SPEAKER_S
+
+public static final int SPEAKER_S
+
+
+See Also: Constant Field Values
+
+
+
+
+SPEAKER_SL
+
+public static final int SPEAKER_SL
+
+
+See Also: Constant Field Values
+
+
+
+
+SPEAKER_SR
+
+public static final int SPEAKER_SR
+
+
+See Also: Constant Field Values
+
+
+
+
+SPEAKER_TFC
+
+public static final int SPEAKER_TFC
+
+
+See Also: Constant Field Values
+
+
+
+
+SPEAKER_TFL
+
+public static final int SPEAKER_TFL
+
+
+See Also: Constant Field Values
+
+
+
+
+SPEAKER_TFR
+
+public static final int SPEAKER_TFR
+
+
+See Also: Constant Field Values
+
+
+
+
+SPEAKER_TM
+
+public static final int SPEAKER_TM
+
+
+See Also: Constant Field Values
+
+
+
+
+SPEAKER_TRC
+
+public static final int SPEAKER_TRC
+
+
+See Also: Constant Field Values
+
+
+
+
+SPEAKER_TRL
+
+public static final int SPEAKER_TRL
+
+
+See Also: Constant Field Values
+
+
+
+
+SPEAKER_TRR
+
+public static final int SPEAKER_TRR
+
+
+See Also: Constant Field Values
+
+
+
+
+SPEAKER_U1
+
+public static final int SPEAKER_U1
+
+
+See Also: Constant Field Values
+
+
+
+
+SPEAKER_U10
+
+public static final int SPEAKER_U10
+
+
+See Also: Constant Field Values
+
+
+
+
+SPEAKER_U11
+
+public static final int SPEAKER_U11
+
+
+See Also: Constant Field Values
+
+
+
+
+SPEAKER_U12
+
+public static final int SPEAKER_U12
+
+
+See Also: Constant Field Values
+
+
+
+
+SPEAKER_U13
+
+public static final int SPEAKER_U13
+
+
+See Also: Constant Field Values
+
+
+
+
+SPEAKER_U14
+
+public static final int SPEAKER_U14
+
+
+See Also: Constant Field Values
+
+
+
+
+SPEAKER_U15
+
+public static final int SPEAKER_U15
+
+
+See Also: Constant Field Values
+
+
+
+
+SPEAKER_U16
+
+public static final int SPEAKER_U16
+
+
+See Also: Constant Field Values
+
+
+
+
+SPEAKER_U17
+
+public static final int SPEAKER_U17
+
+
+See Also: Constant Field Values
+
+
+
+
+SPEAKER_U18
+
+public static final int SPEAKER_U18
+
+
+See Also: Constant Field Values
+
+
+
+
+SPEAKER_U19
+
+public static final int SPEAKER_U19
+
+
+See Also: Constant Field Values
+
+
+
+
+SPEAKER_U2
+
+public static final int SPEAKER_U2
+
+
+See Also: Constant Field Values
+
+
+
+
+SPEAKER_U20
+
+public static final int SPEAKER_U20
+
+
+See Also: Constant Field Values
+
+
+
+
+SPEAKER_U21
+
+public static final int SPEAKER_U21
+
+
+See Also: Constant Field Values
+
+
+
+
+SPEAKER_U22
+
+public static final int SPEAKER_U22
+
+
+See Also: Constant Field Values
+
+
+
+
+SPEAKER_U23
+
+public static final int SPEAKER_U23
+
+
+See Also: Constant Field Values
+
+
+
+
+SPEAKER_U24
+
+public static final int SPEAKER_U24
+
+
+See Also: Constant Field Values
+
+
+
+
+SPEAKER_U25
+
+public static final int SPEAKER_U25
+
+
+See Also: Constant Field Values
+
+
+
+
+SPEAKER_U26
+
+public static final int SPEAKER_U26
+
+
+See Also: Constant Field Values
+
+
+
+
+SPEAKER_U27
+
+public static final int SPEAKER_U27
+
+
+See Also: Constant Field Values
+
+
+
+
+SPEAKER_U28
+
+public static final int SPEAKER_U28
+
+
+See Also: Constant Field Values
+
+
+
+
+SPEAKER_U29
+
+public static final int SPEAKER_U29
+
+
+See Also: Constant Field Values
+
+
+
+
+SPEAKER_U3
+
+public static final int SPEAKER_U3
+
+
+See Also: Constant Field Values
+
+
+
+
+SPEAKER_U30
+
+public static final int SPEAKER_U30
+
+
+See Also: Constant Field Values
+
+
+
+
+SPEAKER_U31
+
+public static final int SPEAKER_U31
+
+
+See Also: Constant Field Values
+
+
+
+
+SPEAKER_U32
+
+public static final int SPEAKER_U32
+
+
+See Also: Constant Field Values
+
+
+
+
+SPEAKER_U4
+
+public static final int SPEAKER_U4
+
+
+See Also: Constant Field Values
+
+
+
+
+SPEAKER_U5
+
+public static final int SPEAKER_U5
+
+
+See Also: Constant Field Values
+
+
+
+
+SPEAKER_U6
+
+public static final int SPEAKER_U6
+
+
+See Also: Constant Field Values
+
+
+
+
+SPEAKER_U7
+
+public static final int SPEAKER_U7
+
+
+See Also: Constant Field Values
+
+
+
+
+SPEAKER_U8
+
+public static final int SPEAKER_U8
+
+
+See Also: Constant Field Values
+
+
+
+
+SPEAKER_U9
+
+public static final int SPEAKER_U9
+
+
+See Also: Constant Field Values
+
+
+
+
+SPEAKER_UNDEFINED
+
+public static final int SPEAKER_UNDEFINED
+
+
+See Also: Constant Field Values
+
+
+
+
+SPEAKER_CS
+
+public static final int SPEAKER_CS
+
+
+See Also: Constant Field Values
+
+
+
+
+future
+
+private char[] future
+
+
+
+
+
+
+
+name
+
+private java.lang.String name
+
+
+
+
+
+
+
+azimuth
+
+private float azimuth
+
+
+
+
+
+
+
+elevation
+
+private float elevation
+
+
+
+
+
+
+
+radius
+
+private float radius
+
+
+
+
+
+
+
+reserved
+
+private float reserved
+
+
+
+
+
+
+
+type
+
+private int type
+
+
+
+
+
+
+
+
+
+
+
+Constructor Detail
+
+
+
+
+VSTSpeakerProperties
+
+public VSTSpeakerProperties ()
+
+
+
+
+
+
+
+
+
+getAzimuth
+
+public float getAzimuth ()
+
+
+
+
+
+
+
+
+setAzimuth
+
+public void setAzimuth (float azimuth)
+
+
+
+
+
+
+
+
+getElevation
+
+public float getElevation ()
+
+
+
+
+
+
+
+
+setElevation
+
+public void setElevation (float elevation)
+
+
+
+
+
+
+
+
+getRadius
+
+public float getRadius ()
+
+
+
+
+
+
+
+
+setRadius
+
+public void setRadius (float radius)
+
+
+
+
+
+
+
+
+getReserved
+
+public float getReserved ()
+
+
+
+
+
+
+
+
+setReserved
+
+public void setReserved (float reserved)
+
+
+
+
+
+
+
+
+getName
+
+public java.lang.String getName ()
+
+
+
+
+
+
+
+
+setName
+
+public void setName (java.lang.String name)
+
+
+
+
+
+
+
+
+getType
+
+public int getType ()
+
+
+
+
+
+
+
+
+setType
+
+public void setType (int type)
+
+
+
+
+
+
+
+
+getFuture
+
+public char[] getFuture ()
+
+
+
+
+
+
+
+
+setFuture
+
+public void setFuture (char[] future)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/javadoc/opaz-plugdk/jvst/wrapper/valueobjects/VSTTimeInfo.html b/docs/javadoc/opaz-plugdk/jvst/wrapper/valueobjects/VSTTimeInfo.html
new file mode 100644
index 0000000..4b81f01
--- /dev/null
+++ b/docs/javadoc/opaz-plugdk/jvst/wrapper/valueobjects/VSTTimeInfo.html
@@ -0,0 +1,1028 @@
+
+
+
+
+
+
+
+VSTTimeInfo
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+jvst.wrapper.valueobjects
+
+Class VSTTimeInfo
+
+java.lang.Object
+ jvst.wrapper.valueobjects.VSTTimeInfo
+
+
+
+public class VSTTimeInfo extends java.lang.Object
+
+
+
+VstTimeInfo as requested via audioMasterGetTime (getTimeInfo())
+ refers to the current time slice. note the new slice is
+ already started when processEvents() is called
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Methods inherited from class java.lang.Object
+
+
+clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+VST_TIME_AUTOMATION_READING
+
+public static final int VST_TIME_AUTOMATION_READING
+
+
+See Also: Constant Field Values
+
+
+
+
+VST_TIME_AUTOMATION_WRITING
+
+public static final int VST_TIME_AUTOMATION_WRITING
+
+
+See Also: Constant Field Values
+
+
+
+
+VST_TIME_BARS_VALID
+
+public static final int VST_TIME_BARS_VALID
+
+
+See Also: Constant Field Values
+
+
+
+
+VST_TIME_CLOCK_VALID
+
+public static final int VST_TIME_CLOCK_VALID
+
+
+See Also: Constant Field Values
+
+
+
+
+VST_TIME_CYCLE_POS_VALID
+
+public static final int VST_TIME_CYCLE_POS_VALID
+
+
+See Also: Constant Field Values
+
+
+
+
+VST_TIME_NANOS_VALID
+
+public static final int VST_TIME_NANOS_VALID
+
+
+See Also: Constant Field Values
+
+
+
+
+VST_TIME_PPQ_POS_VALID
+
+public static final int VST_TIME_PPQ_POS_VALID
+
+
+See Also: Constant Field Values
+
+
+
+
+VST_TIME_SMPTE_VALID
+
+public static final int VST_TIME_SMPTE_VALID
+
+
+See Also: Constant Field Values
+
+
+
+
+VST_TIME_TEMPO_VALID
+
+public static final int VST_TIME_TEMPO_VALID
+
+
+See Also: Constant Field Values
+
+
+
+
+VST_TIME_TIME_SIG_VALID
+
+public static final int VST_TIME_TIME_SIG_VALID
+
+
+See Also: Constant Field Values
+
+
+
+
+VST_TIME_TRANSPORT_CHANGED
+
+public static final int VST_TIME_TRANSPORT_CHANGED
+
+
+See Also: Constant Field Values
+
+
+
+
+VST_TIME_TRANSPORT_CYCLE_ACTIVE
+
+public static final int VST_TIME_TRANSPORT_CYCLE_ACTIVE
+
+
+See Also: Constant Field Values
+
+
+
+
+VST_TIME_TRANSPORT_PLAYING
+
+public static final int VST_TIME_TRANSPORT_PLAYING
+
+
+See Also: Constant Field Values
+
+
+
+
+VST_TIME_TRANSPORT_RECORDING
+
+public static final int VST_TIME_TRANSPORT_RECORDING
+
+
+See Also: Constant Field Values
+
+
+
+
+barStartPos
+
+private double barStartPos
+
+
+
+
+
+
+
+cycleEndPos
+
+private double cycleEndPos
+
+
+
+
+
+
+
+cycleStartPos
+
+private double cycleStartPos
+
+
+
+
+
+
+
+flags
+
+private int flags
+
+
+
+
+
+
+
+nanoSeconds
+
+private double nanoSeconds
+
+
+
+
+
+
+
+ppqPos
+
+private double ppqPos
+
+
+
+
+
+
+
+samplePos
+
+private double samplePos
+
+
+
+
+
+
+
+sampleRate
+
+private double sampleRate
+
+
+
+
+
+
+
+samplesToNextClock
+
+private int samplesToNextClock
+
+
+
+
+
+
+
+smpteFrameRate
+
+private int smpteFrameRate
+
+
+
+
+
+
+
+smpteOffset
+
+private int smpteOffset
+
+
+
+
+
+
+
+tempo
+
+private double tempo
+
+
+
+
+
+
+
+timeSigDenominator
+
+private int timeSigDenominator
+
+
+
+
+
+
+
+timeSigNumerator
+
+private int timeSigNumerator
+
+
+
+
+
+
+
+
+
+
+
+Constructor Detail
+
+
+
+
+VSTTimeInfo
+
+public VSTTimeInfo ()
+
+
+
+
+
+
+
+
+
+getSamplePos
+
+public double getSamplePos ()
+
+
+
+
+
+
+
+
+getSampleRate
+
+public double getSampleRate ()
+
+
+
+
+
+
+
+
+getNanoSeconds
+
+public double getNanoSeconds ()
+
+
+
+
+
+
+
+
+getPPQPos
+
+public double getPPQPos ()
+
+
+
+
+
+
+
+
+getTempo
+
+public double getTempo ()
+
+
+
+
+
+
+
+
+getBarStartPos
+
+public double getBarStartPos ()
+
+
+
+
+
+
+
+
+getCycleStartPos
+
+public double getCycleStartPos ()
+
+
+
+
+
+
+
+
+getCycleEndPos
+
+public double getCycleEndPos ()
+
+
+
+
+
+
+
+
+getTimeSigNumerator
+
+public int getTimeSigNumerator ()
+
+
+
+
+
+
+
+
+getTimeSigDenominator
+
+public int getTimeSigDenominator ()
+
+
+
+
+
+
+
+
+getSMPTEOffset
+
+public int getSMPTEOffset ()
+
+
+
+
+
+
+
+
+getSMPTEFrameRate
+
+public int getSMPTEFrameRate ()
+
+
+
+
+
+
+
+
+getSamplesToNextClock
+
+public int getSamplesToNextClock ()
+
+
+
+
+
+
+
+
+getFlags
+
+public int getFlags ()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/javadoc/opaz-plugdk/jvst/wrapper/valueobjects/VSTVariableIO.html b/docs/javadoc/opaz-plugdk/jvst/wrapper/valueobjects/VSTVariableIO.html
new file mode 100644
index 0000000..37aeecb
--- /dev/null
+++ b/docs/javadoc/opaz-plugdk/jvst/wrapper/valueobjects/VSTVariableIO.html
@@ -0,0 +1,588 @@
+
+
+
+
+
+
+
+VSTVariableIO
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+jvst.wrapper.valueobjects
+
+Class VSTVariableIO
+
+java.lang.Object
+ jvst.wrapper.valueobjects.VSTVariableIO
+
+
+
+public class VSTVariableIO extends java.lang.Object
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Methods inherited from class java.lang.Object
+
+
+clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+inputs
+
+private float[][] inputs
+
+
+
+
+
+
+
+outputs
+
+private float[][] outputs
+
+
+
+
+
+
+
+numSamplesInput
+
+private int numSamplesInput
+
+
+
+
+
+
+
+numSamplesInputProcessed
+
+private int numSamplesInputProcessed
+
+
+
+
+
+
+
+numSamplesOutput
+
+private int numSamplesOutput
+
+
+
+
+
+
+
+numSamplesOutputProcessed
+
+private int numSamplesOutputProcessed
+
+
+
+
+
+
+
+
+
+
+
+Constructor Detail
+
+
+
+
+VSTVariableIO
+
+public VSTVariableIO ()
+
+
+
+
+
+
+
+
+
+getInputs
+
+public float[][] getInputs ()
+
+
+
+
+
+
+
+
+setInputs
+
+public void setInputs (float[][] inputs)
+
+
+
+
+
+
+
+
+getOutputs
+
+public float[][] getOutputs ()
+
+
+
+
+
+
+
+
+setOutputs
+
+public void setOutputs (float[][] outputs)
+
+
+
+
+
+
+
+
+getNumSamplesInput
+
+public int getNumSamplesInput ()
+
+
+
+
+
+
+
+
+setNumSamplesInput
+
+public void setNumSamplesInput (int numSamplesInput)
+
+
+
+
+
+
+
+
+getNumSamplesOutput
+
+public int getNumSamplesOutput ()
+
+
+
+
+
+
+
+
+setNumSamplesOutput
+
+public void setNumSamplesOutput (int numSamplesOutput)
+
+
+
+
+
+
+
+
+getNumSamplesInputProcessed
+
+public int getNumSamplesInputProcessed ()
+
+
+
+
+
+
+
+
+setNumSamplesInputProcessed
+
+public void setNumSamplesInputProcessed (int numSamplesInputProcessed)
+
+
+
+
+
+
+
+
+getNumSamplesOutputProcessed
+
+public int getNumSamplesOutputProcessed ()
+
+
+
+
+
+
+
+
+setNumSamplesOutputProcessed
+
+public void setNumSamplesOutputProcessed (int numSamplesOutputProcessed)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/javadoc/opaz-plugdk/jvst/wrapper/valueobjects/class-use/MidiKeyName.html b/docs/javadoc/opaz-plugdk/jvst/wrapper/valueobjects/class-use/MidiKeyName.html
new file mode 100644
index 0000000..dfe7ec4
--- /dev/null
+++ b/docs/javadoc/opaz-plugdk/jvst/wrapper/valueobjects/class-use/MidiKeyName.html
@@ -0,0 +1,212 @@
+
+
+
+
+
+
+
+Uses of Class jvst.wrapper.valueobjects.MidiKeyName
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Uses of Class jvst.wrapper.valueobjects.MidiKeyName
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/javadoc/opaz-plugdk/jvst/wrapper/valueobjects/class-use/MidiProgramCategory.html b/docs/javadoc/opaz-plugdk/jvst/wrapper/valueobjects/class-use/MidiProgramCategory.html
new file mode 100644
index 0000000..ed5cf4d
--- /dev/null
+++ b/docs/javadoc/opaz-plugdk/jvst/wrapper/valueobjects/class-use/MidiProgramCategory.html
@@ -0,0 +1,212 @@
+
+
+
+
+
+
+
+Uses of Class jvst.wrapper.valueobjects.MidiProgramCategory
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Uses of Class jvst.wrapper.valueobjects.MidiProgramCategory
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/javadoc/opaz-plugdk/jvst/wrapper/valueobjects/class-use/MidiProgramName.html b/docs/javadoc/opaz-plugdk/jvst/wrapper/valueobjects/class-use/MidiProgramName.html
new file mode 100644
index 0000000..6e83dc9
--- /dev/null
+++ b/docs/javadoc/opaz-plugdk/jvst/wrapper/valueobjects/class-use/MidiProgramName.html
@@ -0,0 +1,230 @@
+
+
+
+
+
+
+
+Uses of Class jvst.wrapper.valueobjects.MidiProgramName
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Uses of Class jvst.wrapper.valueobjects.MidiProgramName
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/javadoc/opaz-plugdk/jvst/wrapper/valueobjects/class-use/VSTEvent.html b/docs/javadoc/opaz-plugdk/jvst/wrapper/valueobjects/class-use/VSTEvent.html
new file mode 100644
index 0000000..4b7e316
--- /dev/null
+++ b/docs/javadoc/opaz-plugdk/jvst/wrapper/valueobjects/class-use/VSTEvent.html
@@ -0,0 +1,229 @@
+
+
+
+
+
+
+
+Uses of Class jvst.wrapper.valueobjects.VSTEvent
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Uses of Class jvst.wrapper.valueobjects.VSTEvent
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/javadoc/opaz-plugdk/jvst/wrapper/valueobjects/class-use/VSTEvents.html b/docs/javadoc/opaz-plugdk/jvst/wrapper/valueobjects/class-use/VSTEvents.html
new file mode 100644
index 0000000..e93e601
--- /dev/null
+++ b/docs/javadoc/opaz-plugdk/jvst/wrapper/valueobjects/class-use/VSTEvents.html
@@ -0,0 +1,218 @@
+
+
+
+
+
+
+
+Uses of Class jvst.wrapper.valueobjects.VSTEvents
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Uses of Class jvst.wrapper.valueobjects.VSTEvents
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/javadoc/opaz-plugdk/jvst/wrapper/valueobjects/class-use/VSTMidiEvent.html b/docs/javadoc/opaz-plugdk/jvst/wrapper/valueobjects/class-use/VSTMidiEvent.html
new file mode 100644
index 0000000..58e21f6
--- /dev/null
+++ b/docs/javadoc/opaz-plugdk/jvst/wrapper/valueobjects/class-use/VSTMidiEvent.html
@@ -0,0 +1,145 @@
+
+
+
+
+
+
+
+Uses of Class jvst.wrapper.valueobjects.VSTMidiEvent
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Uses of Class jvst.wrapper.valueobjects.VSTMidiEvent
+
+No usage of jvst.wrapper.valueobjects.VSTMidiEvent
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/javadoc/opaz-plugdk/jvst/wrapper/valueobjects/class-use/VSTParameterProperties.html b/docs/javadoc/opaz-plugdk/jvst/wrapper/valueobjects/class-use/VSTParameterProperties.html
new file mode 100644
index 0000000..ebc5e41
--- /dev/null
+++ b/docs/javadoc/opaz-plugdk/jvst/wrapper/valueobjects/class-use/VSTParameterProperties.html
@@ -0,0 +1,210 @@
+
+
+
+
+
+
+
+Uses of Class jvst.wrapper.valueobjects.VSTParameterProperties
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Uses of Class jvst.wrapper.valueobjects.VSTParameterProperties
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/javadoc/opaz-plugdk/jvst/wrapper/valueobjects/class-use/VSTPatchChunkInfo.html b/docs/javadoc/opaz-plugdk/jvst/wrapper/valueobjects/class-use/VSTPatchChunkInfo.html
new file mode 100644
index 0000000..449ea05
--- /dev/null
+++ b/docs/javadoc/opaz-plugdk/jvst/wrapper/valueobjects/class-use/VSTPatchChunkInfo.html
@@ -0,0 +1,189 @@
+
+
+
+
+
+
+
+Uses of Class jvst.wrapper.valueobjects.VSTPatchChunkInfo
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Uses of Class jvst.wrapper.valueobjects.VSTPatchChunkInfo
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/javadoc/opaz-plugdk/jvst/wrapper/valueobjects/class-use/VSTPinProperties.html b/docs/javadoc/opaz-plugdk/jvst/wrapper/valueobjects/class-use/VSTPinProperties.html
new file mode 100644
index 0000000..a0b60df
--- /dev/null
+++ b/docs/javadoc/opaz-plugdk/jvst/wrapper/valueobjects/class-use/VSTPinProperties.html
@@ -0,0 +1,226 @@
+
+
+
+
+
+
+
+Uses of Class jvst.wrapper.valueobjects.VSTPinProperties
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Uses of Class jvst.wrapper.valueobjects.VSTPinProperties
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/javadoc/opaz-plugdk/jvst/wrapper/valueobjects/class-use/VSTSpeakerArrangement.html b/docs/javadoc/opaz-plugdk/jvst/wrapper/valueobjects/class-use/VSTSpeakerArrangement.html
new file mode 100644
index 0000000..2dc6cd5
--- /dev/null
+++ b/docs/javadoc/opaz-plugdk/jvst/wrapper/valueobjects/class-use/VSTSpeakerArrangement.html
@@ -0,0 +1,239 @@
+
+
+
+
+
+
+
+Uses of Class jvst.wrapper.valueobjects.VSTSpeakerArrangement
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Uses of Class jvst.wrapper.valueobjects.VSTSpeakerArrangement
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/javadoc/opaz-plugdk/jvst/wrapper/valueobjects/class-use/VSTSpeakerProperties.html b/docs/javadoc/opaz-plugdk/jvst/wrapper/valueobjects/class-use/VSTSpeakerProperties.html
new file mode 100644
index 0000000..2080ccf
--- /dev/null
+++ b/docs/javadoc/opaz-plugdk/jvst/wrapper/valueobjects/class-use/VSTSpeakerProperties.html
@@ -0,0 +1,243 @@
+
+
+
+
+
+
+
+Uses of Class jvst.wrapper.valueobjects.VSTSpeakerProperties
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Uses of Class jvst.wrapper.valueobjects.VSTSpeakerProperties
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/javadoc/opaz-plugdk/jvst/wrapper/valueobjects/class-use/VSTTimeInfo.html b/docs/javadoc/opaz-plugdk/jvst/wrapper/valueobjects/class-use/VSTTimeInfo.html
new file mode 100644
index 0000000..e7506c7
--- /dev/null
+++ b/docs/javadoc/opaz-plugdk/jvst/wrapper/valueobjects/class-use/VSTTimeInfo.html
@@ -0,0 +1,181 @@
+
+
+
+
+
+
+
+Uses of Class jvst.wrapper.valueobjects.VSTTimeInfo
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Uses of Class jvst.wrapper.valueobjects.VSTTimeInfo
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/javadoc/opaz-plugdk/jvst/wrapper/valueobjects/class-use/VSTVariableIO.html b/docs/javadoc/opaz-plugdk/jvst/wrapper/valueobjects/class-use/VSTVariableIO.html
new file mode 100644
index 0000000..88b183a
--- /dev/null
+++ b/docs/javadoc/opaz-plugdk/jvst/wrapper/valueobjects/class-use/VSTVariableIO.html
@@ -0,0 +1,210 @@
+
+
+
+
+
+
+
+Uses of Class jvst.wrapper.valueobjects.VSTVariableIO
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Uses of Class jvst.wrapper.valueobjects.VSTVariableIO
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/javadoc/opaz-plugdk/jvst/wrapper/valueobjects/package-frame.html b/docs/javadoc/opaz-plugdk/jvst/wrapper/valueobjects/package-frame.html
new file mode 100644
index 0000000..0aba06c
--- /dev/null
+++ b/docs/javadoc/opaz-plugdk/jvst/wrapper/valueobjects/package-frame.html
@@ -0,0 +1,57 @@
+
+
+
+
+
+
+
+jvst.wrapper.valueobjects
+
+
+
+
+
+
+
+
+
+
+
+jvst.wrapper.valueobjects
+
+
+
+
+
diff --git a/docs/javadoc/opaz-plugdk/jvst/wrapper/valueobjects/package-summary.html b/docs/javadoc/opaz-plugdk/jvst/wrapper/valueobjects/package-summary.html
new file mode 100644
index 0000000..d933a57
--- /dev/null
+++ b/docs/javadoc/opaz-plugdk/jvst/wrapper/valueobjects/package-summary.html
@@ -0,0 +1,209 @@
+
+
+
+
+
+
+
+jvst.wrapper.valueobjects
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Package jvst.wrapper.valueobjects
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/javadoc/opaz-plugdk/jvst/wrapper/valueobjects/package-tree.html b/docs/javadoc/opaz-plugdk/jvst/wrapper/valueobjects/package-tree.html
new file mode 100644
index 0000000..c4e4f04
--- /dev/null
+++ b/docs/javadoc/opaz-plugdk/jvst/wrapper/valueobjects/package-tree.html
@@ -0,0 +1,156 @@
+
+
+
+
+
+
+
+jvst.wrapper.valueobjects Class Hierarchy
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Hierarchy For Package jvst.wrapper.valueobjects
+
+
+
+Package Hierarchies: All Packages
+
+
+Class Hierarchy
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/javadoc/opaz-plugdk/jvst/wrapper/valueobjects/package-use.html b/docs/javadoc/opaz-plugdk/jvst/wrapper/valueobjects/package-use.html
new file mode 100644
index 0000000..2fe6ed4
--- /dev/null
+++ b/docs/javadoc/opaz-plugdk/jvst/wrapper/valueobjects/package-use.html
@@ -0,0 +1,322 @@
+
+
+
+
+
+
+
+Uses of Package jvst.wrapper.valueobjects
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Uses of Package jvst.wrapper.valueobjects
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/javadoc/opaz-plugdk/overview-frame.html b/docs/javadoc/opaz-plugdk/overview-frame.html
new file mode 100644
index 0000000..5198473
--- /dev/null
+++ b/docs/javadoc/opaz-plugdk/overview-frame.html
@@ -0,0 +1,49 @@
+
+
+
+
+
+
+
+Overview List
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/javadoc/opaz-plugdk/overview-summary.html b/docs/javadoc/opaz-plugdk/overview-summary.html
new file mode 100644
index 0000000..761798b
--- /dev/null
+++ b/docs/javadoc/opaz-plugdk/overview-summary.html
@@ -0,0 +1,164 @@
+
+
+
+
+
+
+
+Overview
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/javadoc/opaz-plugdk/overview-tree.html b/docs/javadoc/opaz-plugdk/overview-tree.html
new file mode 100644
index 0000000..e4eea62
--- /dev/null
+++ b/docs/javadoc/opaz-plugdk/overview-tree.html
@@ -0,0 +1,229 @@
+
+
+
+
+
+
+
+Class Hierarchy
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Hierarchy For All Packages
+
+
+Package Hierarchies: jvst.wrapper , jvst.wrapper.communication , jvst.wrapper.gui , jvst.wrapper.valueobjects
+
+
+Class Hierarchy
+
+
+
+Interface Hierarchy
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/javadoc/opaz-plugdk/package-list b/docs/javadoc/opaz-plugdk/package-list
new file mode 100644
index 0000000..840ffb4
--- /dev/null
+++ b/docs/javadoc/opaz-plugdk/package-list
@@ -0,0 +1,4 @@
+jvst.wrapper
+jvst.wrapper.communication
+jvst.wrapper.gui
+jvst.wrapper.valueobjects
diff --git a/docs/javadoc/opaz-plugdk/resources/inherit.gif b/docs/javadoc/opaz-plugdk/resources/inherit.gif
new file mode 100644
index 0000000..c814867
Binary files /dev/null and b/docs/javadoc/opaz-plugdk/resources/inherit.gif differ
diff --git a/docs/javadoc/opaz-plugdk/serialized-form.html b/docs/javadoc/opaz-plugdk/serialized-form.html
new file mode 100644
index 0000000..1fc4c92
--- /dev/null
+++ b/docs/javadoc/opaz-plugdk/serialized-form.html
@@ -0,0 +1,458 @@
+
+
+
+
+
+
+
+Serialized Form
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Serialized Form
+
+
+
+
+
+
+Package jvst.wrapper
+
+
+
+
+
+
+
+
+
+
+
+
+Serialized Fields
+
+
+
+
+plugin
+
+VSTPluginAdapter plugin
+
+
+
+
+
+
+runner
+
+VSTPluginGUIRunner runner
+
+
+
+
+
+
+
+
+
+Package jvst.wrapper.gui
+
+
+
+
+
+
+
+
+serialVersionUID: 4797525904877917491L
+
+
+
+
+
+
+Serialized Fields
+
+
+
+
+label
+
+javax.swing.JLabel label
+
+
+
+
+
+
+slider
+
+javax.swing.JSlider slider
+
+
+
+
+
+
+text
+
+javax.swing.JTextField text
+
+
+
+
+
+
+
+
+
+
+serialVersionUID: -7625797152529235601L
+
+
+
+
+
+
+Serialized Fields
+
+
+
+
+changeEvent
+
+javax.swing.event.ChangeEvent changeEvent
+
+
+
+
+
+
+listenerList
+
+javax.swing.event.EventListenerList listenerList
+
+
+
+
+
+
+hitArc
+
+java.awt.geom.Arc2D hitArc
+
+
+
+
+
+
+ang
+
+float ang
+
+
+
+
+
+
+val
+
+float val
+
+
+
+
+
+
+dragpos
+
+int dragpos
+
+
+
+
+
+
+startVal
+
+float startVal
+
+
+
+
+
+
+focusColor
+
+java.awt.Color focusColor
+
+
+
+
+
+
+lastAng
+
+double lastAng
+
+
+
+
+
+
+dragType
+
+int dragType
+
+
+
+
+
+
+shadowSizeX
+
+int shadowSizeX
+
+
+
+
+
+
+shadowSizeY
+
+int shadowSizeY
+
+
+
+
+
+
+dragIncrement
+
+float dragIncrement
+
+
+
+
+
+
+clickIncrement
+
+float clickIncrement
+
+
+
+
+
+
+size
+
+int size
+
+
+
+
+
+
+middle
+
+int middle
+
+
+
+
+
+
+
+
+
+
+serialVersionUID: -114796980764805052L
+
+
+
+
+
+
+Serialized Fields
+
+
+
+
+knob
+
+RotaryKnob knob
+
+
+
+
+
+
+label
+
+javax.swing.JLabel label
+
+
+
+
+
+
+text
+
+javax.swing.JTextField text
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/javadoc/opaz-plugdk/stylesheet.css b/docs/javadoc/opaz-plugdk/stylesheet.css
new file mode 100644
index 0000000..cbd3428
--- /dev/null
+++ b/docs/javadoc/opaz-plugdk/stylesheet.css
@@ -0,0 +1,29 @@
+/* Javadoc style sheet */
+
+/* Define colors, fonts and other style attributes here to override the defaults */
+
+/* Page background color */
+body { background-color: #FFFFFF; color:#000000 }
+
+/* Headings */
+h1 { font-size: 145% }
+
+/* Table colors */
+.TableHeadingColor { background: #CCCCFF; color:#000000 } /* Dark mauve */
+.TableSubHeadingColor { background: #EEEEFF; color:#000000 } /* Light mauve */
+.TableRowColor { background: #FFFFFF; color:#000000 } /* White */
+
+/* Font used in left-hand frame lists */
+.FrameTitleFont { font-size: 100%; font-family: Helvetica, Arial, sans-serif; color:#000000 }
+.FrameHeadingFont { font-size: 90%; font-family: Helvetica, Arial, sans-serif; color:#000000 }
+.FrameItemFont { font-size: 90%; font-family: Helvetica, Arial, sans-serif; color:#000000 }
+
+/* Navigation bar fonts and colors */
+.NavBarCell1 { background-color:#EEEEFF; color:#000000} /* Light mauve */
+.NavBarCell1Rev { background-color:#00008B; color:#FFFFFF} /* Dark Blue */
+.NavBarFont1 { font-family: Arial, Helvetica, sans-serif; color:#000000;color:#000000;}
+.NavBarFont1Rev { font-family: Arial, Helvetica, sans-serif; color:#FFFFFF;color:#FFFFFF;}
+
+.NavBarCell2 { font-family: Arial, Helvetica, sans-serif; background-color:#FFFFFF; color:#000000}
+.NavBarCell3 { font-family: Arial, Helvetica, sans-serif; background-color:#FFFFFF; color:#000000}
+
diff --git a/docs/rdoc/ArrayExtensions.html b/docs/rdoc/ArrayExtensions.html
new file mode 100644
index 0000000..b940b40
--- /dev/null
+++ b/docs/rdoc/ArrayExtensions.html
@@ -0,0 +1,327 @@
+
+
+
+
+
+
+module ArrayExtensions - RDoc Documentation
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
module ArrayExtensions
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ full_of (val, num)
+ click to toggle source
+
+
+
+
+
+
+
+
+
+
+
+def full_of (val , num )
+ [].fill (val , 0 ... num )
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+ zeros (num)
+ click to toggle source
+
+
+
+
+
+
+
+
+
+
+
+def zeros (num )
+ full_of (0 , num )
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/rdoc/AudioDSP.html b/docs/rdoc/AudioDSP.html
new file mode 100644
index 0000000..13c19b9
--- /dev/null
+++ b/docs/rdoc/AudioDSP.html
@@ -0,0 +1,374 @@
+
+
+
+
+
+
+class AudioDSP - RDoc Documentation
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
class AudioDSP
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ sampleRate ()
+ click to toggle source
+
+
+
+
+
+
noinspection RubyClassMethodNamingConvention
+
+
+
+
+
+def self .sampleRate
+ @@srate
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+ sampleRate= (srate)
+ click to toggle source
+
+
+
+
+
+
noinspection RubyClassMethodNamingConvention
+
+
+
+
+
+def self .sampleRate= srate
+ @@srate = srate
+ @@inv_srate = 1.0 / @@srate
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ sampleRate ()
+ click to toggle source
+
+
+
+
+
+
noinspection RubyInstanceMethodNamingConvention
+
+
+
+
+
+def sampleRate
+ @@srate
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/rdoc/BextChunk.html b/docs/rdoc/BextChunk.html
new file mode 100644
index 0000000..1d74e5d
--- /dev/null
+++ b/docs/rdoc/BextChunk.html
@@ -0,0 +1,525 @@
+
+
+
+
+
+
+class BextChunk - RDoc Documentation
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
class BextChunk
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ PACK_FMT
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ coding_history [RW]
+
+
+
+
+
+
+
+
+
+
+
+ description [RW]
+
+
+
+
+
+
+
+
+
+
+
+ origination_date [RW]
+
+
+
+
+
+
+
+
+
+
+
+ origination_time [RW]
+
+
+
+
+
+
+
+
+
+
+
+ originator [RW]
+
+
+
+
+
+
+
+
+
+
+
+ originator_reference [RW]
+
+
+
+
+
+
+
+
+
+
+
+ reserved [RW]
+
+
+
+
+
+
+
+
+
+
+
+ time_reference [RW]
+
+
+
+
+
+
+
+
+
+
+
+ umid [RW]
+
+
+
+
+
+
+
+
+
+
+
+ version [RW]
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ new (*binary_data)
+ click to toggle source
+
+
+
+
+
+
+
+
+
+
+
+def initialize (*binary_data )
+ unpack_bext_data (binary_data [0 ]) if ! binary_data .empty?
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ calc_time_offset (sample_rate)
+ click to toggle source
+
+
+
+
+
+
+
+
+
+
+
+def calc_time_offset (sample_rate )
+ time = @time_reference / sample_rate
+ [time / 3600 , time / 60 % 60 , time % 60 ].map { | t | t .to_s .rjust (2 , '0' ) }.join (':' )
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+ unpack_bext_data (binary_data)
+ click to toggle source
+
+
+
+
+
+
+
+
+
+
+
+def unpack_bext_data (binary_data )
+ @description , @originator , @originator_reference , @origination_date , @origination_time ,
+ @time_reference , @version , @umid , @reserved , @coding_history = binary_data .unpack (PACK_FMT )
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/rdoc/Biquad.html b/docs/rdoc/Biquad.html
new file mode 100644
index 0000000..6c668d4
--- /dev/null
+++ b/docs/rdoc/Biquad.html
@@ -0,0 +1,591 @@
+
+
+
+
+
+
+class Biquad - RDoc Documentation
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
class Biquad
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ new (a=[1.0, 0, 0], b=[1.0, 0, 0], norm=false)
+ click to toggle source
+
+
+
+
+
+
+
+
+
+
+
+def initialize (a =[1.0 , 0 , 0 ], b =[1.0 , 0 , 0 ], norm =false )
+ update (Vector [*a ], Vector [*b ])
+ normalize if norm
+ clear
+ self
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ clear ()
+ click to toggle source
+
+
+
+
+
+
+
+
+
+
+
+def clear
+ @input = [0 , 0 , 0 ]
+ @output = [0 , 0 , 0 ]
+ stop_interpolation
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+ interpolate ()
+ click to toggle source
+
+
+
+
+
+
+
+
+
+
+
+def interpolate
+ @interp_period = (@@srate * 1e-3 ).floor
+ t = 1.0 / @interp_period
+ @delta_a = (@a - @_a ) * t
+ @delta_b = (@b - @_b ) * t
+ @interp_ticks = 0
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+ interpolating? ()
+ click to toggle source
+
+
+
+
+
+
+
+
+
+
+
+def interpolating?
+ @_a && @_b
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+ normalize ()
+ click to toggle source
+
+
+
+
+
+
+
+
+
+
+
+def normalize
+ inv_a0 = 1.0 / a0
+ @a *= inv_a0
+ @b *= inv_a0
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+ process (input, a=@a, b=@b)
+ click to toggle source
+
+
+
+
+
+
+
+
+
+
+
+def process input , a =@a , b =@b
+ output = a [0 ]*input + a [1 ]*@input [1 ] + a [2 ]*@input [2 ]
+ output -= b [1 ]*@output [1 ] + b [2 ]*@output [2 ]
+ @input [2 ] = @input [1 ]
+ @input [1 ] = input
+ @output [2 ] = @output [1 ]
+ @output [1 ] = output
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+ stop_interpolation ()
+ click to toggle source
+
+
+
+
+
+
+
+
+
+
+
+def stop_interpolation
+ @_a = @_b = nil
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+ tick (input)
+ click to toggle source
+
+
+
+
+
+
+
+
+
+
+
+def tick input
+ if interpolating?
+ @_a += @delta_a
+ @_b += @delta_b
+ process (input , @_a , @_b ).tap do
+ stop_interpolation if (@interp_ticks += 1 ) >= @interp_period
+ end
+ else
+ process (input )
+ end
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+ update (a, b)
+ click to toggle source
+
+
+
+
+
+
noinspection RubyInstanceVariableNamingConvention
+
+
+
+
+
+def update a , b
+ @_a , @_b = @a , @b
+ @a , @b = a , b
+ interpolate if interpolating?
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/rdoc/ButterHpf.html b/docs/rdoc/ButterHpf.html
new file mode 100644
index 0000000..e50162d
--- /dev/null
+++ b/docs/rdoc/ButterHpf.html
@@ -0,0 +1,388 @@
+
+
+
+
+
+
+class ButterHpf - RDoc Documentation
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
class ButterHpf
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ new (f)
+ click to toggle source
+
+
+
+
+
+
+
+
+
+
+
+def initialize f
+ self .freq = f
+ clear
+ self
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ freq= (arg)
+ click to toggle source
+
+
+
+
+
+
+
+
+
+
+
+def freq= arg
+ @w = arg * @@inv_srate
+ recalc
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+ recalc ()
+ click to toggle source
+
+
+
+
+
+
+
+
+
+
+
+def recalc
+
+ k = Math .tan (Math :: PI * @w )
+ kk = k *k ;
+ g = Dsp :: SQRT2 *k + kk
+ d_inv = 1.0 / (1 + g );
+
+ a0 = d_inv
+ a1 = -2 * d_inv
+ a2 = d_inv
+ b0 = 1.0
+ b1 = 2 *kk - 1 * d_inv
+ b2 = (1 - g ) * d_inv
+ update (Vector [a0 , a1 , a2 ], Vector [b0 , b1 , b2 ])
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/rdoc/Classifier.html b/docs/rdoc/Classifier.html
new file mode 100644
index 0000000..c4dd634
--- /dev/null
+++ b/docs/rdoc/Classifier.html
@@ -0,0 +1,298 @@
+
+
+
+
+
+
+module Classifier - RDoc Documentation
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
module Classifier
+
+
+
+
ability to transform from snake_case (ruby) to CamelCase (.Net) maybe there
+is an IronRuby built-in we could rely on for that ?
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ classify (string)
+ click to toggle source
+
+
+
+
+
+
+
+
+
+
+
+def classify (string )
+ string .gsub (%r(^|_)(.)/ ) { $2 .upcase }
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/rdoc/CompilationError.html b/docs/rdoc/CompilationError.html
new file mode 100644
index 0000000..7e7d530
--- /dev/null
+++ b/docs/rdoc/CompilationError.html
@@ -0,0 +1,255 @@
+
+
+
+
+
+
+class CompilationError - RDoc Documentation
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
class CompilationError
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/rdoc/Dir.html b/docs/rdoc/Dir.html
new file mode 100644
index 0000000..f3b4eef
--- /dev/null
+++ b/docs/rdoc/Dir.html
@@ -0,0 +1,315 @@
+
+
+
+
+
+
+class Dir - RDoc Documentation
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
class Dir
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ assert_secure (path)
+ click to toggle source
+
+
+
+
+
+
assert_secure checks that if a path exists it has
+minimally writable permissions. If not, it prints an error and exits. It
+only works on POSIX systems. Patches for other systems are
+welcome.
+
+
+
+
+
+def self .assert_secure (path )
+ mode = File .stat (path ).mode
+ unless ((mode % 01000 ) & 0022 ) == 0 then
+ if $TESTING then
+ raise SecurityError , "Directory #{path} is insecure"
+ else
+ abort "#{path} is insecure (#{'%o' % mode}). It may not be group or world writable. Exiting."
+ end
+ end
+rescue Errno :: ENOENT
+
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/rdoc/Dsp.html b/docs/rdoc/Dsp.html
new file mode 100644
index 0000000..965dcf1
--- /dev/null
+++ b/docs/rdoc/Dsp.html
@@ -0,0 +1,490 @@
+
+
+
+
+
+
+module Dsp - RDoc Documentation
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
module Dsp
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ PI_2
+
+
+
+
+ SQRT2
+
+
+
+
+ SQRT2_2
+
+
+
+
+ TWO_PI
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bipolar (x)
+ click to toggle source
+
+
+
+
+
+
+
+
+
+
+
+def bipolar (x )
+ 2.0 *x - 1.0
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+ clamp (x, min, max)
+ click to toggle source
+
+
+
+
+
+
+
+
+
+
+
+def clamp (x , min , max )
+ [min , x , max ].sort [1 ]
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+ noise ()
+ click to toggle source
+
+
+
+
+
+
+
+
+
+
+
+def noise
+ bipolar (random )
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+ random ()
+ click to toggle source
+
+
+
+
+
+
+
+
+
+
+
+def random
+ rand
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+ to_wav (gen, seconds, filename=nil)
+ click to toggle source
+
+
+
+
+
+
+
+
+
+
+
+def to_wav (gen , seconds , filename =nil )
+ filename ||= "#{gen.class}.wav"
+ filename += ".wav" unless filename =~ %r\.wav^/
+ RiffFile .new (filename , "wb+" ) do | wav |
+ data = gen .ticks (gen .sampleRate * seconds )
+ rescale = calc_sample_value (-0.5 , 16 ) / data .max
+ data .map! { | d | (d *rescale ).round .to_f .to_i }
+ wav .write (1 , gen .sampleRate , 16 , [data ])
+ end
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+ xfade (a, b, x)
+ click to toggle source
+
+
+
+
+
+
+
+
+
+
+
+def xfade (a , b , x )
+ (b - a )*x + a
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/rdoc/Dsp/LookupTable.html b/docs/rdoc/Dsp/LookupTable.html
new file mode 100644
index 0000000..9842253
--- /dev/null
+++ b/docs/rdoc/Dsp/LookupTable.html
@@ -0,0 +1,345 @@
+
+
+
+
+
+
+class Dsp::LookupTable - RDoc Documentation
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
class Dsp::LookupTable
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ new (bits=7) { |scale| ... }
+ click to toggle source
+
+
+
+
+
+
+
+
+
+
+
+def initialize (bits =7 )
+ @size = 2 ** bits
+ scale = 1.0 / (@size )
+ @table = (0 .. @size ).map { | x | yield (scale * x ) }
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ [] (arg)
+ click to toggle source
+
+
+
+
+
+
+
+
+
+
+
+def [] (arg )
+ offset = arg * @size
+ idx = offset .floor
+ frac = offset - idx
+ return @table .last if idx >= @size
+ Dsp .xfade (@table [idx ], @table [idx + 1 ], frac )
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/rdoc/DummyEditor.html b/docs/rdoc/DummyEditor.html
new file mode 100644
index 0000000..c0e3eca
--- /dev/null
+++ b/docs/rdoc/DummyEditor.html
@@ -0,0 +1,255 @@
+
+
+
+
+
+
+class DummyEditor - RDoc Documentation
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
class DummyEditor
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/rdoc/DummyPlug.html b/docs/rdoc/DummyPlug.html
new file mode 100644
index 0000000..250e7e2
--- /dev/null
+++ b/docs/rdoc/DummyPlug.html
@@ -0,0 +1,345 @@
+
+
+
+
+
+
+class DummyPlug - RDoc Documentation
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
class DummyPlug
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ new (wrapper)
+ click to toggle source
+
+
+
+
+
+
for tests only
+
+
+
+
+
+def initialize (wrapper )
+ ;
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ process (inputs, outputs, sampleFrames)
+ click to toggle source
+
+
+
+
+
+
+
+
+
+
+
+def process (inputs , outputs , sampleFrames )
+ inBuffer = inputs [0 ]
+ outBuffer = outputs [0 ]
+ for i in (0 .. sampleFrames - 1 )
+ outBuffer [i ] = inBuffer [i ]
+ end
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/rdoc/DummyPlugWithoutEditor.html b/docs/rdoc/DummyPlugWithoutEditor.html
new file mode 100644
index 0000000..cbd0ece
--- /dev/null
+++ b/docs/rdoc/DummyPlugWithoutEditor.html
@@ -0,0 +1,301 @@
+
+
+
+
+
+
+class DummyPlugWithoutEditor - RDoc Documentation
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
class DummyPlugWithoutEditor
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ new (wrapper)
+ click to toggle source
+
+
+
+
+
+
+
+
+
+
+
+def initialize (wrapper )
+ @wrapper = wrapper
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/rdoc/EnumSupport.html b/docs/rdoc/EnumSupport.html
new file mode 100644
index 0000000..53f9eb3
--- /dev/null
+++ b/docs/rdoc/EnumSupport.html
@@ -0,0 +1,333 @@
+
+
+
+
+
+
+module EnumSupport - RDoc Documentation
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
module EnumSupport
+
+
+
+
temporary code to support flagged enums (AnchorStyles.Bottom |
+AnchorStyles.Top) this code will be removed when | is implemented on enums
+in IronRuby
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ enum_to_int (enval)
+ click to toggle source
+
+
+
+
+
+
noinspection RubyResolve
+
+
+
+
+
+def enum_to_int (enval )
+ entype = enval .GetType ()
+ undertype = Enum .GetUnderlyingType (entype )
+ Convert .ChangeType (enval , undertype )
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+ int_to_enum (entype, value)
+ click to toggle source
+
+
+
+
+
+
noinspection RubyResolve
+
+
+
+
+
+def int_to_enum (entype , value )
+ Enum .ToObject (entype , value )
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/rdoc/File.html b/docs/rdoc/File.html
new file mode 100644
index 0000000..512ceea
--- /dev/null
+++ b/docs/rdoc/File.html
@@ -0,0 +1,314 @@
+
+
+
+
+
+
+class Inline::Java::JFile - RDoc Documentation
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
class Inline::Java::JFile
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ write_with_backup (path) { |io| ... }
+ click to toggle source
+
+
+
+
+
+
Equivalent to +File::open+ with an associated block, but moves any existing
+file with the same name to the side first.
+
+
+
+
+
+def self .write_with_backup (path )
+
+
+ renamed = false
+ if test ff , path
+ renamed = true
+ File .rename path , path + ".old"
+ end
+
+ File .open (path , "w" ) do | io |
+ yield (io )
+ end
+
+ return renamed
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/rdoc/Float.html b/docs/rdoc/Float.html
new file mode 100644
index 0000000..7bb9f4b
--- /dev/null
+++ b/docs/rdoc/Float.html
@@ -0,0 +1,365 @@
+
+
+
+
+
+
+class Float - RDoc Documentation
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
class Float
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ceil_to (x)
+ click to toggle source
+
+
+
+
+
+
+
+
+
+
+
+def ceil_to (x )
+ (self * 10 ** x ).ceil .to_f / 10 ** x
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+ floor_to (x)
+ click to toggle source
+
+
+
+
+
+
+
+
+
+
+
+def floor_to (x )
+ (self * 10 ** x ).floor .to_f / 10 ** x
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+ round_to (x)
+ click to toggle source
+
+
+
+
+
+
+
+
+
+
+
+def round_to (x )
+ (self * 10 ** x ).round .to_f / 10 ** x
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/rdoc/Generator.html b/docs/rdoc/Generator.html
new file mode 100644
index 0000000..fb42983
--- /dev/null
+++ b/docs/rdoc/Generator.html
@@ -0,0 +1,333 @@
+
+
+
+
+
+
+class Generator - RDoc Documentation
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
class Generator
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ tick ()
+ click to toggle source
+
+
+
+
+
+
+
+
+
+
+
+def tick
+ raise "not implemented!"
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ticks (samples)
+ click to toggle source
+
+
+
+
+
+
+
+
+
+
+
+def ticks (samples )
+ (1 .. samples ).map { tick }
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/rdoc/Hpf.html b/docs/rdoc/Hpf.html
new file mode 100644
index 0000000..0f67c46
--- /dev/null
+++ b/docs/rdoc/Hpf.html
@@ -0,0 +1,419 @@
+
+
+
+
+
+
+class Hpf - RDoc Documentation
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
class Hpf
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ new (f, q=nil)
+ click to toggle source
+
+
+
+
+
+
+
+
+
+
+
+def initialize (f , q =nil )
+ @inv_q = q ? 1.0 / q : Math .sqrt (2 )
+ self .freq = f
+ clear
+ self
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ freq= (arg)
+ click to toggle source
+
+
+
+
+
+
+
+
+
+
+
+def freq= arg
+ @w = arg * Dsp :: TWO_PI * @@inv_srate
+ recalc
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+ q= (arg)
+ click to toggle source
+
+
+
+
+
+
+
+
+
+
+
+def q= arg
+ @inv_q = 1.0 / arg
+ recalc
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+ recalc ()
+ click to toggle source
+
+
+
+
+
+
+
+
+
+
+
+def recalc
+ alpha = 0.5 * @inv_q * Math .sin (@w )
+ cw = Math .cos (@w )
+ ocw = 1 + cw
+ b0 = b2 = 0.5 *ocw
+ b1 = - ocw
+
+ a0 = 1 + alpha
+ a1 = -2.0 *cw
+ a2 = 1 - alpha
+ update (Vector [a0 , a1 , a2 ], Vector [b0 , b1 , b2 ])
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/rdoc/HybridFilta.html b/docs/rdoc/HybridFilta.html
new file mode 100644
index 0000000..4ef72f7
--- /dev/null
+++ b/docs/rdoc/HybridFilta.html
@@ -0,0 +1,368 @@
+
+
+
+
+
+
+class HybridFilta - RDoc Documentation
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
class HybridFilta
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ filter ()
+ click to toggle source
+
+
+
+
+
+
+
+
+
+
+
+def filter
+ @filter ||= FilterTools .new
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+ process (inputs, outputs, sampleFrames)
+ click to toggle source
+
+
+
+
+
+
+
+
+
+
+
+def process (inputs , outputs , sampleFrames )
+ filter .recomputeParameters (cut_off , resonance , use_low_pass? , sample_rate )
+ filter .apply (inputs , outputs , sampleFrames )
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+ use_low_pass? ()
+ click to toggle source
+
+
+
+
+
+
+
+
+
+
+
+def use_low_pass?
+ mode < 0.5
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/rdoc/HybridGain.html b/docs/rdoc/HybridGain.html
new file mode 100644
index 0000000..8583fd9
--- /dev/null
+++ b/docs/rdoc/HybridGain.html
@@ -0,0 +1,303 @@
+
+
+
+
+
+
+class HybridGain - RDoc Documentation
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
class HybridGain
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ process (inputs, outputs, sampleFrames)
+ click to toggle source
+
+
+
+
+
+
+
+
+
+
+
+def process (inputs , outputs , sampleFrames )
+ HybridGainTools .applyGain (inputs [0 ], outputs [0 ], sampleFrames , gain )
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/rdoc/HybridSynth.html b/docs/rdoc/HybridSynth.html
new file mode 100644
index 0000000..ab9e2bf
--- /dev/null
+++ b/docs/rdoc/HybridSynth.html
@@ -0,0 +1,636 @@
+
+
+
+
+
+
+class HybridSynth - RDoc Documentation
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
class HybridSynth
+
+
+
+
TODOS:
+- allow to tweak getParameterDisplay from the plugin
+ for instance here we need to display Sawtooth for 0.0 or Pulse for 1.0 (waveform1)
+ and volume strings in Db using dbToString
+
+
noinspection ALL
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ NUM_FREQUENCIES
+
+
+
+
+ NUM_OUTPUTS
+
+
+
+
+ WAVE_SIZE
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ new (wrapper)
+ click to toggle source
+
+
+
+
+
+
+
+
+
+
+
+def initialize (wrapper )
+ super (wrapper )
+ setNumInputs (0 )
+ setNumOutputs (NUM_OUTPUTS )
+ canProcessReplacing (true )
+ isSynth (true )
+ suspend
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ frequency_table ()
+ click to toggle source
+
+
+
+
+
+
+
+
+
+
+
+def frequency_table
+ @frequency_table ||= begin
+ k = 1.059463094359
+ a = 6.875 *k *k *k
+
+ result = []
+ for i in (0 .. NUM_FREQUENCIES - 1 )
+ result [i ] = a ; a *= k
+ end
+ result
+ end
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+ getOutputProperties (index)
+ click to toggle source
+
+
+
+
+
+
no idea what's the purpose of this. anyone ???
+
+
noinspection RubyInstanceMethodNamingConvention
+
+
+
+
+
+def getOutputProperties (index )
+ ret = nil
+
+ if index < NUM_OUTPUTS
+ ret = VSTPinProperties .new
+ ret .setLabel ("jVSTx #{index+1}d" )
+ ret .setFlags (VSTPinProperties :: VST_PIN_IS_ACTIVE )
+ if (index < 2 )
+
+ ret .setFlags (ret .getFlags () | VSTPinProperties :: VST_PIN_IS_STEREO )
+ end
+ end
+
+ ret
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+ process (inputs, outputs, sampleFrames)
+ click to toggle source
+
+
+
+
+
+
+
+
+
+
+
+def process (inputs , outputs , sampleFrames )
+ tools .processReplacing (inputs , outputs , sampleFrames , volume , volume1 , volume2 , frequency1 , frequency2 , waveform1 , waveform2 )
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+ processEvents (events)
+ click to toggle source
+
+
+
+
+
+
TODO - create an "each" friendly wrapper around VSTEvents ?
+
+
noinspection RubyInstanceMethodNamingConvention
+
+
+
+
+
+def processEvents (events )
+ notes (events ) do | type , note , velocity , delta |
+ case type
+ when :all_notes_off ;
+ tools .note_off
+ when :note_on ;
+ if velocity == 0 && note == tools .currentNote
+ tools .note_off
+ else
+ tools .note_on (note , velocity , delta )
+ end
+ end
+ end
+ 1
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+ pulse ()
+ click to toggle source
+
+
+
+
+
+
+
+
+
+
+
+def pulse
+ @pulse ||= (0 .. WAVE_SIZE - 1 ).map { | i | i < WAVE_SIZE / 4 ? -1.0 : 1.0 }
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+ sawtooth ()
+ click to toggle source
+
+
+
+
+
+
+
+
+
+
+
+def sawtooth
+ @sawtooth ||= (0 .. WAVE_SIZE - 1 ).map { | i | -1.0 + (2.0 * i .to_f / WAVE_SIZE ) }
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+ setSampleRate (sample_rate)
+ click to toggle source
+
+
+
+
+
+
noinspection RubyInstanceMethodNamingConvention
+
+
+
+
+
+def setSampleRate (sample_rate )
+ super (sample_rate )
+ self .tools .scaler = WAVE_SIZE .to_f / sample_rate
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/rdoc/IRB.html b/docs/rdoc/IRB.html
new file mode 100644
index 0000000..724c7a3
--- /dev/null
+++ b/docs/rdoc/IRB.html
@@ -0,0 +1,308 @@
+
+
+
+
+
+
+module IRB - RDoc Documentation
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
module IRB
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ save_session (filename="irb-session.rb", hide_IRB=true)
+ click to toggle source
+
+
+
+
+
+
From : http :/ %rblade.nagaokaut.ac.jp/ cgi - bin / scat .rb / ruby / ruby - talk / 110924
+An extension to IRB to save the session to a file
+filename : is the name of the file to save the session in
+hide_IRB : is a command to suppress output of IRB class method calls .
+to prevent execution of the session in Ruby from giving errors .
+
+
+
noinspection RubyParameterNamingConvention,RubyResolve
+
+
+
+
+
+def IRB .save_session (filename ="irb-session.rb" , hide_IRB =true )
+ file = File .open (filename , "w" )
+ file .puts "# Saved IRB session for #{Time.now}" , ""
+ Readline :: HISTORY .each do | line |
+ next if line =~ %r^\s*IRB\./ && hide_IRB
+ file .puts line
+ end
+ file .close
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/rdoc/Inline.html b/docs/rdoc/Inline.html
new file mode 100644
index 0000000..88f3e2e
--- /dev/null
+++ b/docs/rdoc/Inline.html
@@ -0,0 +1,406 @@
+
+
+
+
+
+
+module Inline - RDoc Documentation
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
module Inline
+
+
+
+
The Inline module is the top-level module used.
+It is responsible for instantiating the builder for the right language
+used, compilation/linking when needed, and loading the inlined code into
+the current namespace.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ DEV_NULL
+
+
+
+
+ GEM
+
+
+
+
+ RAKE
+
+
+
+
+ RUBINIUS
+
+ noinspection RubyResolve
+
+
+ VERSION
+
+
+
+
+ WINDOZE
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ directory ()
+ click to toggle source
+
+
+
+
+
+
noinspection RubyClassVariableUsageInspection
+
+
+
+
+
+def self .directory
+
+ @@directory = ENV ['TEMP' ]
+ @@directory
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+ register (cls)
+ click to toggle source
+
+
+
+
+
+
+
+
+
+
+
+def self .register cls
+ registered_inline_classes << cls
+ registered_inline_classes .uniq!
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+ registered_inline_classes ()
+ click to toggle source
+
+
+
+
+
+
noinspection RubyClassVariableUsageInspection
+
+
+
+
+
+def self .registered_inline_classes
+ @@registered_inline_classes ||= []
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/rdoc/Inline/C.html b/docs/rdoc/Inline/C.html
new file mode 100644
index 0000000..c95d053
--- /dev/null
+++ b/docs/rdoc/Inline/C.html
@@ -0,0 +1,1789 @@
+
+
+
+
+
+
+class Inline::C - RDoc Documentation
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
class Inline::C
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ MAGIC_ARITY
+
+
+
+
+ MAGIC_ARITY_THRESHOLD
+
+ include ZenTestMapping
+
+
+ TYPE_MAP
+
+ Default C to ruby and ruby to C
+type map
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ flags [RW]
+
+
+
+
+
+
+
+
+
+
+
+
+
+ libs [RW]
+
+
+
+
+
+
+
+
+
+
+
+ mod [RW]
+
+
+
+
+
+
+
+
+
+
+
+ rb_file [R]
+
+
+
+
+
+
+
+
+
+
+
+ sig [RW]
+
+
+
+
+
+
+
+
+
+
+
+ src [RW]
+
+
+
+
+
+
+
+
+
+
+
+ struct_name [RW]
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ new (mod)
+ click to toggle source
+
+
+
+
+
+
+
+
+
+
+
+def initialize (mod )
+ raise ArgumentError , "Class/Module arg is required" unless Module === mod
+
+ stack = caller
+ meth = stack .shift until meth =~ %rin .(inline|test_|setup)/ or stack .empty?
+ raise "Couldn't discover caller" if stack .empty?
+ real_caller = stack .first
+ real_caller = stack [3 ] if real_caller =~ %r\(eval\)/
+ real_caller =~ %r(.*):(\d+)/
+ real_caller = $1
+ @rb_file = File .expand_path real_caller
+
+ @mod = mod
+ @src = []
+ @inc = []
+ @sig = {}
+ @flags = []
+ @libs = []
+ @init_extra = []
+ @include_ruby_first = true
+ @inherited_methods = {}
+ @struct_name = nil
+
+ @type_map = TYPE_MAP .dup
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ accessor (method, type, member = method)
+ click to toggle source
+
+
+
+
+
+
Adds a reader and writer for a C
+struct member wrapped via Data_Wrap_Struct. method is the
+ruby name to give the accessor, type is the C type. Unless the C member name is
+overridden with member, the method name is used as the struct
+member.
+
+
builder.struct_name = 'MyStruct'
+builder.accessor :title, 'char *'
+builder.accessor :stream_index, 'int', :index
+
+
The latter accesses MyStruct->index via the stream_index method.
+
+
+
+
+
+def accessor (method , type , member = method )
+ reader method , type , member
+ writer method , type , member
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+ add_compile_flags (*flags)
+ click to toggle source
+
+
+
+
+
+
Adds compiler options to the compiler command line. No preprocessing is
+done, so you must have all your dashes and everything.
+
+
+
+
+
+def add_compile_flags (*flags )
+ @flags .push (*flags )
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+ add_link_flags (*flags)
+ click to toggle source
+
+
+
+
+
+
Adds linker flags to the link command line. No preprocessing is done, so
+you must have all your dashes and everything.
+
+
+
+
+
+def add_link_flags (*flags )
+ @libs .push (*flags )
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+ add_to_init (*src)
+ click to toggle source
+
+
+
+
+
+
Adds custom content to the end of the init function.
+
+
+
+
+
+def add_to_init (*src )
+ @init_extra .push (*src )
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+ add_type_converter (type, r2c, c2r)
+ click to toggle source
+
+
+
+
+
+
Registers C type-casts r2c and
+c2r for type.
+
+
+
+
+
+def add_type_converter (type , r2c , c2r )
+ warn "WAR\NING: overridding #{type} on #{caller[0]}" if @type_map .has_key? type
+ @type_map [type ] = [r2c , c2r ]
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+ alias_type_converter (existing_type, alias_type)
+ click to toggle source
+
+
+
+
+
+
Registers C type alias_type as an alias
+of existing_type
+
+
+
+
+
+def alias_type_converter (existing_type , alias_type )
+ warn "WAR\NING: overridding #{type} on #{caller[0]}" if @type_map .has_key? alias_type
+
+ @type_map [alias_type ] = @type_map [existing_type ]
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+ build ()
+ click to toggle source
+
+
+
+
+
+
Builds the source file, if needed, and attempts to compile it.
+
+
+
+
+
+def build
+ so_name = self .so_name
+ so_exists = File .file? so_name
+ if so_exists and File .mtime (rb_file ) < File .mtime (so_name )
+ warn "#{so_name} is up to date" if $DEBUG
+ else
+
+ unless File .directory? Inline .directory
+ warn "NOTE: creating #{Inline.directory} for RubyInline" if $DEBUG
+ Dir .mkdir Inline .directory , 0700
+ end
+
+ src_name = "#{Inline.directory}/#{module_name}.c"
+ old_src_name = "#{src_name}.old"
+ should_compare = File .write_with_backup (src_name ) do | io |
+ io .puts generate_ext
+ end
+
+
+ recompile = true
+ if so_exists and should_compare and
+ FileUtils .compare_file (old_src_name , src_name )
+ recompile = false
+
+
+
+
+ t = Time .now
+ File .utime (t , t , src_name , old_src_name , so_name )
+ end
+
+ if recompile
+
+ hdrdir = %w(srcdir archdir rubyhdrdir) .map { | name |
+ Config :: CONFIG [name ]
+ }.find { | dir |
+ dir and File .exist? File .join (dir , "/ruby.h" )
+ } or abort "ERROR: Can't find header dir for ruby. Exiting..."
+
+ flags = @flags .join (' ' )
+ libs = @libs .join (' ' )
+
+ config_hdrdir = if RUBY_VERSION > '1.9' then
+ "-I #{File.join hdrdir, RbConfig::CONFIG['arch']}"
+ else
+ nil
+ end
+
+ cmd = [Config :: CONFIG ['LDSHARED' ],
+ flags ,
+ Config :: CONFIG ['CCDLFLAGS' ],
+ Config :: CONFIG ['CFLAGS' ],
+ '-I' , hdrdir ,
+ config_hdrdir ,
+ '-I' , Config :: CONFIG ['includedir' ],
+ "-L#{Config::CONFIG['libdir']}" ,
+ '-o' , so_name .inspect ,
+ File .expand_path (src_name ).inspect ,
+ libs ,
+ crap_for_windoze ].join (' ' )
+
+
+ cmd += ' -flat_namespace -undefined suppress' if RUBY_PLATFORM =~ %rdarwin9\.[01]/
+ cmd += " 2> #{DEV_NULL}" if $TESTING and not $DEBUG
+
+ warn "Building #{so_name} with '#{cmd}'" if $DEBUG
+ result = %x#{cmd}`
+ warn "Output:\n#{result}" if $DEBUG
+ if $? != 0
+ bad_src_name = src_name + ".bad"
+ File .rename src_name , bad_src_name
+ raise CompilationError , "error executing #{cmd.inspect}: #{$?}\nRenamed #{src_name} to #{bad_src_name}"
+ end
+
+
+
+
+
+ if WINDOZE and RUBY_PLATFORM =~ %r_80$/ then
+ Dir .chdir Inline .directory do
+ cmd = "mt /manifest lib.so.manifest /outputresource:so.dll;#2"
+ warn "Embedding manifest with '#{cmd}'" if $DEBUG
+ result = %x#{cmd}`
+ warn "Output:\n#{result}" if $DEBUG
+ if $? != 0 then
+ raise CompilationError , "error executing #{cmd}: #{$?}"
+ end
+ end
+ end
+
+ warn "Built successfully" if $DEBUG
+ end
+
+ end
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+ c (src, options = {})
+ click to toggle source
+
+
+
+
+
+
noinspection RubyInstanceMethodNamingConvention
+
+
+
+
+
+def c (src , options = {})
+ options = {
+ :expand_types => true ,
+ }.merge options
+ self .generate src , options
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+ c2ruby (type)
+ click to toggle source
+
+
+
+
+
+
Converts C type type to a ruby type
+
+
+
+
+
+def c2ruby (type )
+ raise ArgumentError , "Unknown type #{type.inspect}" unless @type_map .has_key? type
+ @type_map [type ].last
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+ c_raw (src, options = {})
+ click to toggle source
+
+
+
+
+
+
Adds a raw C function to the source. This version does
+not perform any type conversion and must conform to the ruby/C coding
+conventions. The Ruby method name can be overridden by providing
+method_name.
+
+
+
+
+
+def c_raw (src , options = {})
+ self .generate src , options
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+ c_raw_singleton (src, options = {})
+ click to toggle source
+
+
+
+
+
+
Same as c_raw, but adds a class function.
+
+
+
+
+
+def c_raw_singleton (src , options = {})
+ options = {
+ :singleton => true ,
+ }.merge options
+ self .generate src , options
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+ c_singleton (src, options = {})
+ click to toggle source
+
+
+
+
+
+
Same as c, but adds a class function.
+
+
+
+
+
+def c_singleton (src , options = {})
+ options = {
+ :expand_types => true ,
+ :singleton => true ,
+ }.merge options
+ self .generate src , options
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+ crap_for_windoze ()
+ click to toggle source
+
+
+
+
+
+
Returns extra compilation flags for windoze platforms. Ugh.
+
+
+
+
+
+def crap_for_windoze
+
+ case RUBY_PLATFORM
+ when %rmswin32/ then
+ " -link /LIBPATH:\"#{Config::CONFIG['libdir']}\" /DEFAULTLIB:\"#{Config::CONFIG['LIBRUBY']}\" /INCREMENTAL:no /EXPORT:Init_#{module_name}"
+ when %rmingw32/ then
+ " -Wl,--enable-auto-import -L#{Config::CONFIG['libdir']} -lmsvcrt-ruby18"
+ when %ri386-cygwin/ then
+ ' -L/usr/local/lib -lruby.dll'
+ else
+ ''
+ end
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+ generate (src, options={})
+ click to toggle source
+
+
+
+
+
+
def #parse_signature
+
+
+
+
+
+def generate (src , options ={})
+ options = {:expand_types => options } unless Hash === options
+
+ expand_types = options [:expand_types ]
+ singleton = options [:singleton ]
+ result = self .strip_comments (src )
+
+ signature = parse_signature (src , ! expand_types )
+ function_name = signature ['name' ]
+ method_name = options [:method_name ]
+ method_name ||= test_to_normal function_name
+ return_type = signature ['return' ]
+ arity = signature ['arity' ]
+
+ raise ArgumentError , "too many arguments" if arity > MAGIC_ARITY_THRESHOLD
+
+ if expand_types
+ prefix = "static VALUE #{function_name}("
+ if arity == MAGIC_ARITY then
+ prefix += "int argc, VALUE *argv, VALUE self"
+ else
+ prefix += "VALUE self"
+ prefix += signature ['args' ].map { | arg , type | ", VALUE _#{arg}" }.join
+ end
+ prefix += ") {\n"
+ prefix += signature ['args' ].map { | arg , type |
+ " #{type} #{arg} = #{ruby2c(type)}(_#{arg});\n"
+ }.join
+
+
+ result .sub! (%r[^;\/\"\>]+#{function_name}\s*\([^\{]+\{/ , "\n" + prefix )
+ result .sub! (%r\A\n/ , '' )
+ if return_type == "void"
+ result .sub! (%r\s*\}\s*\Z/ , "\nreturn Qnil;\n}" )
+ else
+ raise SyntaxError , "Couldn't find return statement for #{function_name}" unless result =~ %rreturn/
+ result .gsub! (%rreturn\s+([^\;\}]+)/ ) do
+ "return #{c2ruby(return_type)}(#{$1})"
+ end
+ end
+ else
+ prefix = "static #{return_type} #{function_name}("
+ result .sub! (%r[^;\/\"\>]+#{function_name}\s*\(/ , prefix )
+ result .sub! (%r\A\n/ , '' )
+ end
+
+ delta = if result =~ %r\A(static.*?\{)/ then
+ $1 .split (%r\n/ ).size
+ else
+ warn "WAR\NING: Can't find signature in #{result.inspect}\n" unless $TESTING
+ 0
+ end
+
+ file , line = caller [1 ].split (%r:/ )
+ result = "# line #{line.to_i + delta} \"#{file}\"\n" + result unless $DEBUG and not $TESTING
+
+ @src << result
+ @sig [function_name ] = [arity , singleton , method_name ]
+
+ result if $TESTING
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+ generate_ext ()
+ click to toggle source
+
+
+
+
+
+
Builds a complete C extension suitable for writing to
+a file and compiling.
+
+
+
+
+
+def generate_ext
+ ext = []
+
+ if @include_ruby_first
+ @inc .unshift "#include \"ruby.h\""
+ else
+ @inc .push "#include \"ruby.h\""
+ end
+
+ ext << @inc
+ ext << nil
+ ext << @src .join ("\n\n" )
+ ext << nil
+ ext << nil
+ ext << "#ifdef __cplusplus"
+ ext << "extern \"C\" {"
+ ext << "#endif"
+ ext << " __declspec(dllexport)" if WINDOZE
+ ext << " void Init_#{module_name}() {"
+ ext << " VALUE c = rb_cObject;"
+
+
+
+ ext << @mod .name .split ("::" ).map { | n |
+ " c = rb_const_get(c, rb_intern(\"#{n}\"));"
+ }.join ("\n" )
+
+ ext << nil
+
+ @sig .keys .sort .each do | name |
+ method = ''
+ arity , singleton , method_name = @sig [name ]
+ if singleton
+ if method_name == 'allocate'
+ raise "#{@mod}::allocate must have an arity of zero" if arity > 0
+ ext << " rb_define_alloc_func(c, (VALUE(*)(VALUE))#{name});"
+ next
+ end
+ method << " rb_define_singleton_method(c, \"#{method_name}\", "
+ else
+ method << " rb_define_method(c, \"#{method_name}\", "
+ end
+ method << "(VALUE(*)(ANYARGS))#{name}, #{arity});"
+ ext << method
+ end
+
+ ext << @init_extra .join ("\n" ) unless @init_extra .empty?
+
+ ext << nil
+ ext << " }"
+ ext << "#ifdef __cplusplus"
+ ext << "}"
+ ext << "#endif"
+ ext << nil
+
+ ext .join "\n"
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+ include (header)
+ click to toggle source
+
+
+
+
+
+
Adds an include to the top of the file. Don’t forget to use quotes or
+angle brackets.
+
+
+
+
+
+def include (header )
+ @inc << "#include #{header}"
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+ include_ruby_last ()
+ click to toggle source
+
+
+
+
+
+
Specifies that the the ruby.h header should be included
+after custom header(s) instead of before them.
+
+
+
+
+
+def include_ruby_last
+ @include_ruby_first = false
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+ load ()
+ click to toggle source
+
+
+
+
+
+
Loads the generated code back into ruby
+
+
+
+
+
+def load
+ require "#{so_name}" or raise LoadError , "require on #{so_name} failed"
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+ load_cache ()
+ click to toggle source
+
+
+
+
+
+
Attempts to load pre-generated code returning true if it succeeds.
+
+
+
+
+
+def load_cache
+ begin
+ file = File .join ("inline" , File .basename (so_name ))
+ if require file
+ dir = Inline .directory
+ warn "WAR\NING: #{dir} exists but is not being used" if test dd , dir and $VERBOSE
+ return true
+ end
+ rescue LoadError
+
+ end
+ false
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+ map_c_const (names_and_types)
+ click to toggle source
+
+
+
+
+
+
Maps a C constant to ruby.
+names_and_types is a hash that maps the name of the constant
+to its C type.
+
+
builder .map_c_const :C_NAME => :int
+
+
+
If you wish to give the constant a different ruby name:
+
+
builder .map_c_const :C_NAME => [:int , :RUBY_NAME ]
+
+
+
+
+
+
+def map_c_const (names_and_types )
+ names_and_types .each do | name , typ |
+ typ , ruby_name = Array === typ ? typ : [typ , name ]
+ self .add_to_init " rb_define_const(c, #{ruby_name.to_s.inspect}, #{c2ruby(typ.to_s)}(#{name}));"
+ end
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+ map_ruby_const (*names)
+ click to toggle source
+
+
+
+
+
+
Maps a ruby constant to C (with the same name)
+
+
+
+
+
+def map_ruby_const (*names )
+ names .each do | name |
+ self .prefix "static VALUE #{name};"
+ self .add_to_init " #{name} = rb_const_get(c, rb_intern(#{name.to_s.inspect}));"
+ end
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+ module_name ()
+ click to toggle source
+
+
+
+
+
+
+
+
+
+
+
+def module_name
+ unless defined? @module_name
+ module_name = @mod .name .gsub ('::' , '__' )
+ md5 = Digest :: MD5 .new
+ @sig .keys .sort_by { | x | x .to_s }.each { | m | md5 << m .to_s }
+ @module_name = "Inline_#{module_name}_#{md5.to_s[0, 4]}"
+ end
+ @module_name
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+ parse_signature (src, raw=false)
+ click to toggle source
+
+
+
+
+
+
+
+
+
+
+
+def parse_signature (src , raw =false )
+
+ sig = self .strip_comments (src )
+
+ sig .gsub! (%r^\s*\#.*(\\\n.*)*/ , '' )
+
+ sig .gsub! (%r\{[^\}]*\}/ , '{ }' )
+
+ sig .gsub! (%r\s+/ , ' ' )
+
+ unless defined? @types then
+ @types = 'void|' + @type_map .keys .map { | x | Regexp .escape (x ) }.join ('|' )
+ end
+
+ if %r(#{@types})\s*(\w+)\s*\(([^)]*)\)/ =~ sig
+ return_type , function_name , arg_string = $1 , $2 , $3
+ args = []
+ arg_string .split (',' ).each do | arg |
+
+
+ arg = arg .gsub (%r\s*\*\s*/ , ' * ' ).strip
+
+ if %r(((#{@types})\s*\*?)+)\s+(\w+)\s*$/ =~ arg then
+ args .push ([$4 , $1 ])
+ elsif arg != "void" then
+ warn "WAR\NING: '#{arg}' not understood"
+ end
+ end
+
+ arity = args .size
+ arity = MAGIC_ARITY if raw
+
+ return {
+ 'return' => return_type ,
+ 'name' => function_name ,
+ 'args' => args ,
+ 'arity' => arity
+ }
+ end
+
+ raise SyntaxError , "Can't parse signature: #{sig}"
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+ prefix (code)
+ click to toggle source
+
+
+
+
+
+
Adds any amount of text/code to the source
+
+
+
+
+
+def prefix (code )
+ @src << code
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+ reader (method, type, member = method)
+ click to toggle source
+
+
+
+
+
+
Adds a reader for a C struct member wrapped via
+Data_Wrap_Struct. method is the ruby name to give the reader,
+type is the C type. Unless the C member name is overridden with member, the
+method name is used as the struct member. See accessor for an example.
+
+
+
+
+
+ def reader (method , type , member = method )
+ raise "struct name not set for reader #{method} #{type}" unless @struct_name
+
+ c "VALUE #{method}() {
+ #{@struct_name} *pointer;
+
+ Data_Get_Struct(self, #{@struct_name}, pointer);
+
+ return #{c2ruby type}(pointer->#{member});
+}
+"
+ end
+
+
+
+
+
+
+
+
+
+
+
+
+
+ remove_type_converter (type)
+ click to toggle source
+
+
+
+
+
+
Unregisters C type-casts for type.
+
+
+
+
+
+def remove_type_converter (type )
+ @type_map .delete type
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ruby2c (type)
+ click to toggle source
+
+
+
+
+
+
Converts ruby type type to a C type
+
+
+
+
+
+def ruby2c (type )
+ raise ArgumentError , "Unknown type #{type.inspect}" unless @type_map .has_key? type
+ @type_map [type ].first
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+ so_name ()
+ click to toggle source
+
+
+
+
+
+
+
+
+
+
+
+def so_name
+ unless defined? @so_name then
+ @so_name = "#{Inline.directory}/#{module_name}.#{Config::CONFIG["DLEXT"]}"
+ end
+ @so_name
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ writer (method, type, member = method)
+ click to toggle source
+
+
+
+
+
+
Adds a writer for a C struct member wrapped via
+Data_Get_Struct. method is the ruby name to give the writer,
+type is the C type. Unless the C member name is overridden with member, the
+method name is used as the struct member. See accessor for an example.
+
+
+
+
+
+ def writer (method , type , member = method )
+ raise "struct name not set for writer #{method} #{type}" unless @struct_name
+
+ c "VALUE #{method}_equals(VALUE value) {
+ #{@struct_name} *pointer;
+
+ Data_Get_Struct(self, #{@struct_name}, pointer);
+
+ pointer->#{member} = #{ruby2c type}(value);
+
+ return value;
+}
+"
+ end
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/rdoc/Inline/Java.html b/docs/rdoc/Inline/Java.html
new file mode 100644
index 0000000..4c909ee
--- /dev/null
+++ b/docs/rdoc/Inline/Java.html
@@ -0,0 +1,573 @@
+
+
+
+
+
+
+class Inline::Java - RDoc Documentation
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
class Inline::Java
+
+
+
+
A Java builder for RubyInline . Provides the basic methods needed to
+allow assembling a set of Java methods that compile into a class and
+get bound to the same names in the containing module .
+
+
+
noinspection ALL
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ JFile
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ new (mod)
+ click to toggle source
+
+
+
+
+
+
+
+
+
+
+
+def initialize (mod )
+ @context = mod
+ @src = ""
+ @imports = []
+ @sigs = []
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ build ()
+ click to toggle source
+
+
+
+
+
+
+
+
+
+
+
+def build
+ compiler = ToolProvider .system_java_compiler
+ raise "No Java compiler found, JDK >= 1.6 installed on system?" unless compiler
+ file_mgr = compiler .get_standard_file_manager (nil , nil , nil )
+ file_mgr .set_location (StandardLocation :: CLASS_OUTPUT , [JFile .new (Inline .directory )])
+
+ if @pkg
+ directory = "#{Inline.directory}/#{@pkg.gsub('.', '/')}"
+ unless File .directory? directory
+ $stderr .puts "NOTE: creating #{directory} for RubyInline" if $DEBUG
+ FileUtils .mkdir_p directory
+ end
+
+ @name = "Java#{@src.hash.abs}"
+ @load_name = "#{@pkg}.#{@name}"
+ filename = "#{directory}/#{@name}.java"
+
+ imports = "import " + @imports .join (";\nimport " ) + ";" if @imports .size > 0
+ full_src = "
+ package #{@pkg};
+ #{imports}
+ public class #{@name} {
+ #{@src}
+ }
+ "
+ else
+ @load_name = @name = "Java#{@src.hash.abs}"
+ filename = "#{Inline.directory}/#{@name}.java"
+
+ imports = "import " + @imports .join (";\nimport " ) + ";" if @imports .size > 0
+ full_src = "
+ #{imports}
+ public class #{@name} {
+ #{@src}
+ }
+ "
+ end
+
+ File .open (filename , "w" ) { | file | file .write (full_src ) }
+ file_objs = file_mgr .get_java_file_objects_from_strings ([filename ])
+
+ compiler .get_task (nil , file_mgr , nil , nil , nil , file_objs ).call
+ file_mgr .close
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+ import (cls)
+ click to toggle source
+
+
+
+
+
+
Add an “import” line with the given class, as in builder.import
+“java.util.ArrayList”. The imports will be composed into an appropriate
+block of code and added to the top of the source.
+
+
+
+
+
+def import (cls )
+ @imports << cls
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+ java (src)
+ click to toggle source
+
+
+
+
+
+
Add a Java method to the built Java source. This expects the method to be public and
+static, so it can be called as a function.
+
+
+
+
+
+def java (src )
+ @src << src << "\n"
+ signature = src .match (%rpublic static\W+(\w+)\W+([a-zA-Z0-9_]+)\((.*)\)/ )
+ raise "Could not parse method signature" unless signature
+ @sigs << [signature [1 ], signature [2 ], signature [3 ]]
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+ load ()
+ click to toggle source
+
+
+
+
+
+
+
+
+
+
+
+def load
+ @sigs .each do | sig |
+ @context .module_eval "const_set :#{@name}, ::Java::#{@load_name}; p '#{@load_name}'; def #{sig[1]}(*args); #{@name}.#{sig[1]}(*args); end"
+ end
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+ load_cache ()
+ click to toggle source
+
+
+
+
+
+
+
+
+
+
+
+def load_cache
+ false
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+ package (pkg)
+ click to toggle source
+
+
+
+
+
+
Set the package to use for the Java class being
+generated, as in builder.package “org.foo.bar”
+
+
+
+
+
+def package (pkg )
+ @pkg = pkg
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/rdoc/InlineGain.html b/docs/rdoc/InlineGain.html
new file mode 100644
index 0000000..eeb2f46
--- /dev/null
+++ b/docs/rdoc/InlineGain.html
@@ -0,0 +1,343 @@
+
+
+
+
+
+
+class InlineGain - RDoc Documentation
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
class InlineGain
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ new (wrapper)
+ click to toggle source
+
+
+
+
+
+
make stereo
+
+
+
+
+
+def initialize (wrapper )
+ super (wrapper )
+ setNumInputs (2 )
+ setNumOutputs (2 )
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ process (inputs, outputs, sampleFrames)
+ click to toggle source
+
+
+
+
+
+
+
+
+
+
+
+def process (inputs , outputs , sampleFrames )
+ process_gain (inputs , outputs , sampleFrames , gain )
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/rdoc/InstanceCreator.html b/docs/rdoc/InstanceCreator.html
new file mode 100644
index 0000000..3696e32
--- /dev/null
+++ b/docs/rdoc/InstanceCreator.html
@@ -0,0 +1,469 @@
+
+
+
+
+
+
+module InstanceCreator - RDoc Documentation
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
module InstanceCreator
+
+
+
+
internal sugar to instanciate a given CLR type - apart from enum handling, the code is not CLR specific
+
+
noinspection ALL
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ build_instance_with_properties (klass, *args)
+ click to toggle source
+
+
+
+
+
+
instanciate the given class and set the properties passed as options
+support both values and procs for options
+
+
+
+
+
+def build_instance_with_properties (klass , *args )
+ properties = args .last .is_a? (Hash ) ? args .delete_at (args .size - 1 ) : {}
+ instance = klass .new (*args )
+ properties .keys .inject (instance ) { | instance , k | set_property (instance , k , properties [k ]) }
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+ parse_enum (type, value)
+ click to toggle source
+
+
+
+
+
+
+
+
+
+
+
+def parse_enum (type , value )
+ System :: Enum .parse (type , classify (value .to_s ))
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+ parse_enum_if_enum (klass, property_name, value)
+ click to toggle source
+
+
+
+
+
+
if klass.property_name is a CLR enum, parse the value to translate it into
+the CLR enum value
+
+
+
+
+
+def parse_enum_if_enum (klass , property_name , value )
+ is_dotnet_enum = klass .respond_to? (:to_clr_type ) && (type = klass .to_clr_type .get_property (classify (property_name .to_s )).property_type ) && (type .is_enum )
+ if is_dotnet_enum
+ if value .is_a? (Array )
+ int_values = value .map { | e | enum_to_int (parse_enum (type , e )) }
+ or_combination = int_values .inject { | result , e | result | e }
+ int_to_enum (type , or_combination )
+ elsif value .is_a? (Symbol )
+ parse_enum (type , value )
+ else
+ value
+ end
+ else
+ value
+ end
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+ set_property (instance, k, v)
+ click to toggle source
+
+
+
+
+
+
sugarized property setter - allows symbols for enums
+
+
+
+
+
+def set_property (instance , k , v )
+ setter = setter? (instance , k )
+ v .is_a? (Proc ) ? instance .send (k , &v ) : instance .send (setter , *parse_enum_if_enum (instance .class , k , v ))
+ instance
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+ setter? (instance, property_name)
+ click to toggle source
+
+
+
+
+
+
return the method name to call to set the property, if there is one. Can be
+either:
+
+
+
+
+
+
+def setter? (instance , property_name )
+
+ ["set_#{property_name}" , "#{property_name}=" ].find { | m | instance .respond_to? (m ) }
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/rdoc/IxmlChunk.html b/docs/rdoc/IxmlChunk.html
new file mode 100644
index 0000000..ac92f11
--- /dev/null
+++ b/docs/rdoc/IxmlChunk.html
@@ -0,0 +1,624 @@
+
+
+
+
+
+
+class IxmlChunk - RDoc Documentation
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
class IxmlChunk
+
+
+
+
noinspection ALL,RubyUnusedLocalVariable
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ PACK_FMT
+
+ :project, :scene, :take, :tape, :circled, :no_good, :false_start,
+:wild_track, :file_uid, :ubits, :note,
+
+:sync_point_count, :sync_points,
+
+:speed_note, :speed_master, :speed_current, :speed_timecode_rate,
+:speed_timecode_flag, :speed_file_sample_rate, :speed_bit_depth,
+:speed_digitizer_sample_rate, :speed_timestamp_samples_since_midnight,
+:speed_timestamp_sample_rate,
+
+:history_original_filename, :history_parent_filename, :history_parent_uid,
+
+:fileset_total_files, :fileset_family_uid, :fileset_family_name,
+:fileset_index,
+
+:tracklist_count, :tracklist_tracks,
+
+:dep_pre_record_samplecount,
+
+:bwf_description, :bwf_originator, :bwf_originator_reference,
+:bwf_origination_date, :bwf_origination_time, :bwf_time_reference,
+:bwf_version, :bwf_umid, :bwf_reserved, :bwf_coding_history,
+
+:user
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ new (*binary_data)
+ click to toggle source
+
+
+
+
+
+
+
+
+
+
+
+def initialize (*binary_data )
+ unpack_ixml_data (binary_data [0 ]) if ! binary_data .empty?
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ read_pre_record_samplecount ()
+ click to toggle source
+
+
+
+
+
+
+
+
+
+
+
+def read_pre_record_samplecount
+
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+ read_sync_points ()
+ click to toggle source
+
+
+
+
+
+
+
+
+
+
+
+def read_sync_points
+
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+ read_tracklist ()
+ click to toggle source
+
+
+
+
+
+
+
+
+
+
+
+def read_tracklist
+
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+ read_xml_values ()
+ click to toggle source
+
+
+
+
+
+
noinspection RubyInstanceVariableNamingConvention
+
+
+
+
+
+def read_xml_values
+ bwfxml = @raw_xml .elements ["BWFXML" ]
+
+ @ixml_version = bwfxml .elements ["IXML_VERSION" ].text
+ @project = bwfxml .elements ["PROJECT" ].text
+ @scene = bwfxml .elements ["SCENE" ].text
+ @take = bwfxml .elements ["TAKE" ].text
+ @tape = bwfxml .elements ["TAPE" ].text
+ @circled = bwfxml .elements ["CIRCLED" ].text
+ @file_uid = bwfxml .elements ["FILE_UID" ].text
+ @ubits = bwfxml .elements ["UBITS" ].text
+ @note = bwfxml .elements ["NOTE" ].text
+
+ @speed_note = bwfxml .elements ["SPEED" ].elements ["NOTE" ].text
+ @speed_master = bwfxml .elements ["SPEED" ].elements ["MASTER_SPEED" ].text
+ @speed_current = bwfxml .elements ["SPEED" ].elements ["CURRENT_SPEED" ].text
+ @speed_timecode_rate = bwfxml .elements ["SPEED" ].elements ["TIMECODE_RATE" ].text
+ @speed_timecode_flag = bwfxml .elements ["SPEED" ].elements ["TIMECODE_FLAG" ].text
+
+ @history_original_filename = bwfxml .elements ["HISTORY" ].elements ["ORIGINAL_FILENAME" ].text
+ @history_parent_filename = bwfxml .elements ["HISTORY" ].elements ["PARENT_FILENAME" ].text
+ @history_parent_uid = bwfxml .elements ["HISTORY" ].elements ["PARENT_UID" ].text
+
+ @fileset_total_files = bwfxml .elements ["FILE_SET" ].elements ["TOTAL_FILES" ].text
+ @fileset_family_uid = bwfxml .elements ["FILE_SET" ].elements ["FAMILY_UID" ].text
+ @fileset_family_name = bwfxml .elements ["FILE_SET" ].elements ["FAMILY_NAME" ].text
+ @fileset_index = bwfxml .elements ["FILE_SET" ].elements ["FILE_SET_INDEX" ].text
+
+ @tracklist_count , @tracklist_tracks = read_tracklist
+
+ @bwf_description = bwfxml .elements ["BEXT" ].elements ["BWF_DESCRIPTION" ].text
+ @bwf_originator = bwfxml .elements ["BEXT" ].elements ["BWF_ORIGINATOR" ].text
+ @bwf_originator_reference = bwfxml .elements ["BEXT" ].elements ["BWF_ORIGINATOR_REFERENCE" ].text
+ @bwf_origination_date = bwfxml .elements ["BEXT" ].elements ["BWF_ORIGINATION_DATE" ].text
+ @bwf_origination_time = bwfxml .elements ["BEXT" ].elements ["BWF_ORIGINATION_TIME" ].text
+ @bwf_time_reference = bwfxml .elements ["BEXT" ].elements ["BWF_TIME_REFERENCE_HIGH" ].text + bwfxml .elements ["BEXT" ].elements ["BWF_TIME_REFERENCE_LOW" ].text
+ @bwf_version = bwfxml .elements ["BEXT" ].elements ["BWF_VERSION" ].text
+ @bwf_umid = bwfxml .elements ["BEXT" ].elements ["BWF_UMID" ].text
+ @bwf_reserved = bwfxml .elements ["BEXT" ].elements ["BWF_RESERVED" ].text
+ @bwf_coding_history = bwfxml .elements ["BEXT" ].elements ["BWF_CODING_HISTORY" ].text
+
+ @user = bwfxml .elements ["USER" ].text
+
+
+ if @ixml_version >= "1.52"
+ @no_good = bwfxml .elements ["NO_GOOD" ].text
+ @false_start = bwfxml .elements ["FALSE_START" ].text
+ @wild_track = bwfxml .elements ["WILD_TRACK" ].text
+
+
+ elsif @ixml_version >= "1.5"
+
+
+ @speed_file_sample_rate = bwfxml .elements ["SPEED" ].elements ["FILE_SAMPLE_RATE" ].text
+ @speed_bit_depth = bwfxml .elements ["SPEED" ].elements ["AUDIO_BIT_DEPTH" ].text
+ @speed_digitizer_sample_rate = bwfxml .elements ["SPEED" ].elements ["DIGITIZER_SAMPLE_RATE" ].text
+ @speed_timestamp_samples_since_midnight = bwfxml .elements ["SPEED" ].elements ["TIMESTAMP_SAMPLES_SINCE_MIDNIGHT_HI" ].text + bwfxml .elements ["SPEED" ].elements ["TIMESTAMP_SAMPLES_SINCE_MIDNIGHT_HI" ].text
+ @speed_timestamp_sample_rate = bwfxml .elements ["SPEED" ].elements ["TIMESTAMP_SAMPLE_RATE" ].text
+
+
+ elsif @ixml_version >= "1.4"
+ @sync_point_count , @sync_points = read_sync_points
+
+
+ elsif @ixml_version == "1.3"
+ @dep_pre_record_samplecount = read_pre_record_samplecount
+ end
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+ translate_frame_rates (frame_rate)
+ click to toggle source
+
+
+
+
+
+
+
+
+
+
+
+def translate_frame_rates (frame_rate )
+
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+ unpack_ixml_data (binary_data)
+ click to toggle source
+
+
+
+
+
+
+
+
+
+
+
+def unpack_ixml_data (binary_data )
+ @raw_xml = Document .new (binary_data .unpack (PACK_FMT )[0 ])
+
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/rdoc/JavaIO.html b/docs/rdoc/JavaIO.html
new file mode 100644
index 0000000..14e672c
--- /dev/null
+++ b/docs/rdoc/JavaIO.html
@@ -0,0 +1,251 @@
+
+
+
+
+
+
+module JavaIO - RDoc Documentation
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
module JavaIO
+
+
+
+
trick to bypass Ruby File shadowing java.io.File
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/rdoc/Magic.html b/docs/rdoc/Magic.html
new file mode 100644
index 0000000..d281097
--- /dev/null
+++ b/docs/rdoc/Magic.html
@@ -0,0 +1,393 @@
+
+
+
+
+
+
+class Magic - RDoc Documentation
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
class Magic
+
+
+
+
DSL-like object creation. Not that much .Net related, except for the Control/MenuItem specifics
+which could be extracted and made configurable. This is likely to happen.
+
+
noinspection RubyResolve
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ build (&description)
+ click to toggle source
+
+
+
+
+
+
+
+
+
+
+
+def build (&description )
+ self .new .instance_eval (&description )
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ method_missing (method, *args) { |instance| ... }
+ click to toggle source
+
+
+
+
+
+
+
+
+
+
+
+def method_missing (method , *args )
+
+ @stack ||= []
+ parent = @stack .last
+
+ if setter? (parent , method )
+ set_property (parent , method , args )
+ else
+ clazz = Object .const_get (classify (method .to_s ))
+ instance = build_instance_with_properties (clazz , *args )
+
+
+ if parent
+
+ parent .send (method , args ) if parent .respond_to? (method )
+
+ parent .controls .add (instance ) if (defined? (System :: Windows :: Forms :: Control ) && instance .is_a? (System :: Windows :: Forms :: Control ))
+ parent .menu_items .add (instance ) if (defined? (System :: Windows :: Forms :: MenuItem ) && instance .is_a? (System :: Windows :: Forms :: MenuItem ))
+
+ if defined? (System :: Windows :: UIElement )
+ if instance .is_a? (System :: Windows :: UIElement )
+ if parent .respond_to? (:content )
+ parent .content = instance
+ else
+ parent .children .add (instance )
+ end
+ end
+ end
+
+ parent .add (instance ) if (defined? (Java :: JavaAwt :: Component ) && instance .is_a? (Java :: JavaAwt :: Component ))
+ end
+ @stack .push (instance )
+ yield instance if block_given?
+ @stack .pop
+ end
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/rdoc/Midi.html b/docs/rdoc/Midi.html
new file mode 100644
index 0000000..f0bf844
--- /dev/null
+++ b/docs/rdoc/Midi.html
@@ -0,0 +1,392 @@
+
+
+
+
+
+
+module Midi - RDoc Documentation
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
module Midi
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ A
+
+ noinspection RubyConstantNamingConvention
+
+
+ KRYSTAL
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ krystal_freq (note)
+ click to toggle source
+
+
+
+
+
+
+
+
+
+
+
+def krystal_freq (note )
+ KRYSTAL [note % 12 ] * 2.0 ** (note / 12 - 5 )
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+ note_to_freq (note, a = A)
+ click to toggle source
+
+
+
+
+
+
+
+
+
+
+
+def note_to_freq (note , a = A )
+ a * 2.0 ** ((note - 69 )/ 12.0 )
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+ process (events) { |:note_on, note, velocity, getDeltaFrames| ... }
+ click to toggle source
+
+
+
+
+
+
+
+
+
+
+
+def process (events )
+ events .get_events ().each do | event |
+ next unless event .getType == VSTEvent :: VST_EVENT_MIDI_TYPE
+ midiData = event .getData
+ channel = midiData [0 ] & 0x0f
+
+ case status = midiData [0 ] & 0xf0
+ when 0x90 , 0x80
+ note = midiData [1 ] & 0x7f
+ velocity = (status == 0x80 ) ? 0 : midiData [2 ] & 0x7f
+ yield : note_on , note , velocity , event .getDeltaFrames
+ when 0xb0
+ yield : all_notes_off if [0x7e , 0x7b ].include? (midiData [1 ])
+ end
+ end
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/rdoc/MidiTools.html b/docs/rdoc/MidiTools.html
new file mode 100644
index 0000000..2e040ce
--- /dev/null
+++ b/docs/rdoc/MidiTools.html
@@ -0,0 +1,311 @@
+
+
+
+
+
+
+module MidiTools - RDoc Documentation
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
module MidiTools
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ notes (ev) { |:note_on, note, velocity, getDeltaFrames()| ... }
+ click to toggle source
+
+
+
+
+
+
+
+
+
+
+
+def notes (ev )
+ for i in (0 .. ev .getNumEvents ()- 1 )
+ next if (ev .getEvents ()[i ].getType () != VSTEvent :: VST_EVENT_MIDI_TYPE )
+
+ event = ev .getEvents ()[i ]
+ midiData = event .getData ()
+ status = midiData [0 ] & 0xf0
+
+ if (status == 0x90 || status == 0x80 )
+ note = midiData [1 ] & 0x7f
+ velocity = (status == 0x80 ) ? 0 : midiData [2 ] & 0x7f
+ yield : note_on , note , velocity , event .getDeltaFrames ()
+ elsif (status == 0xb0 ) && (midiData [1 ] == 0x7e || midiData [1 ] == 0x7b )
+ yield : all_notes_off
+ end
+ end
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/rdoc/MirahFilta.html b/docs/rdoc/MirahFilta.html
new file mode 100644
index 0000000..aebde9c
--- /dev/null
+++ b/docs/rdoc/MirahFilta.html
@@ -0,0 +1,336 @@
+
+
+
+
+
+
+class MirahFilta - RDoc Documentation
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
class MirahFilta
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ filter ()
+ click to toggle source
+
+
+
+
+
+
+
+
+
+
+
+def filter
+ @filter ||= MirahTools .new
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+ process (inputs, outputs, sampleFrames)
+ click to toggle source
+
+
+
+
+
+
+
+
+
+
+
+def process (inputs , outputs , sampleFrames )
+ filter .recompute_parameters (cut_off , resonance , (mode < 0.5 ? +1 : -1 ), sample_rate )
+ filter .apply (inputs [0 ], outputs [0 ], sampleFrames )
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/rdoc/MirahFreeComp.html b/docs/rdoc/MirahFreeComp.html
new file mode 100644
index 0000000..5b81db9
--- /dev/null
+++ b/docs/rdoc/MirahFreeComp.html
@@ -0,0 +1,336 @@
+
+
+
+
+
+
+class MirahFreeComp - RDoc Documentation
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
class MirahFreeComp
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ process (inputs, outputs, sampleFrames)
+ click to toggle source
+
+
+
+
+
+
+
+
+
+
+
+def process (inputs , outputs , sampleFrames )
+ tools .slider (threshold , ratio , attack , release , output , sample_rate )
+ tools .process (inputs [0 ], outputs [0 ], sampleFrames )
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/rdoc/MirahGain.html b/docs/rdoc/MirahGain.html
new file mode 100644
index 0000000..23142e5
--- /dev/null
+++ b/docs/rdoc/MirahGain.html
@@ -0,0 +1,303 @@
+
+
+
+
+
+
+class MirahGain - RDoc Documentation
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
class MirahGain
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ process (inputs, outputs, sampleFrames)
+ click to toggle source
+
+
+
+
+
+
+
+
+
+
+
+def process (inputs , outputs , sampleFrames )
+ MirahGainTools .process (inputs [0 ], outputs [0 ], sampleFrames , gain )
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/rdoc/Module.html b/docs/rdoc/Module.html
new file mode 100644
index 0000000..a46c4c0
--- /dev/null
+++ b/docs/rdoc/Module.html
@@ -0,0 +1,355 @@
+
+
+
+
+
+
+class Module - RDoc Documentation
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
class Module
+
+
+
+
noinspection RubyResolve
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ options [R]
+
+
+
+
+
options is a hash that allows you to pass extra data to your builder. The
+only key that is guaranteed to exist is :testing.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ inline (lang = :C, options={}) { |builder| ... }
+ click to toggle source
+
+
+
+
+
+
Extends the Module class to have an inline
+method. The default language/builder used is C, but can be specified with
+the lang parameter.
+
+
+
+
+
+def inline (lang = :C , options ={})
+ Inline .register self
+
+ case options
+ when TrueClass , FalseClass then
+ warn "WAR\NING: 2nd argument to inline is now a hash, changing to {:testing=>#{options}}" unless options
+ options = {:testing => options }
+ when Hash
+ options [:testing ] ||= false
+ else
+ raise ArgumentError , "BLAH"
+ end
+
+ builder_class = begin
+ Inline .const_get (lang )
+ rescue NameError
+ require "inline/#{lang}"
+ Inline .const_get (lang )
+ end
+
+ @options = options
+ builder = builder_class .new self
+
+ yield builder
+
+ unless options [:testing ] then
+ unless builder .load_cache
+ builder .build
+ builder .load
+ end
+ end
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/rdoc/MyRubyGUI.html b/docs/rdoc/MyRubyGUI.html
new file mode 100644
index 0000000..91c42dd
--- /dev/null
+++ b/docs/rdoc/MyRubyGUI.html
@@ -0,0 +1,312 @@
+
+
+
+
+
+
+class MyRubyGUI - RDoc Documentation
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
class MyRubyGUI
+
+
+
+
noinspection RubyResolve
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ new (plugin, frame)
+ click to toggle source
+
+
+
+
+
+
+
+
+
+
+
+def initialize (plugin , frame )
+ @frame = frame
+ @plugin = plugin
+
+ scene = SceneToJComponent .loadScene ("ToneMatrixGUI" )
+ frame .setTitle ("The Tone Matrix" )
+
+ frame .setSize (300 , 300 )
+ frame .setResizable (false )
+ frame .setLayout (BorderLayout .new (10 , 10 ))
+ frame .add (scene , BorderLayout :: CENTER )
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/rdoc/Object.html b/docs/rdoc/Object.html
new file mode 100644
index 0000000..a5ba532
--- /dev/null
+++ b/docs/rdoc/Object.html
@@ -0,0 +1,663 @@
+
+
+
+
+
+
+class Object - RDoc Documentation
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
class Object
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ PLUG
+
+ create an instance of plugin
+store it in PLUG for later reference (eg: IRB)
+last evaluated statement must be PLUG (TODO: learn how to read scope variables properly)
+
+noinspection RubyResolve
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ calc_dbfs (sample_value, bit_depth)
+ click to toggle source
+
+
+
+
+
+
+
+
+
+
+
+def calc_dbfs (sample_value , bit_depth )
+ range = (2 ** bit_depth ) / 2
+ (20 *Math .log10 (sample_value .to_f / range )).round_to (2 )
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+ calc_peak (audio_samples, format)
+ click to toggle source
+
+
+
+
+
+
+
+
+
+
+
+def calc_peak (audio_samples , format )
+ calc_dbfs (audio_samples .max .to_f , format .bit_depth )
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+ calc_rms (audio_samples, format)
+ click to toggle source
+
+
+
+
+
+
Standalone methods
+
+
+
+
+
+def calc_rms (audio_samples , format )
+
+
+
+ sample_rms = Math .sqrt ((audio_samples .inject { | sum , item | sum + (item ** 2 ) }) / audio_samples .length )
+
+ calc_dbfs (sample_rms , format .bit_depth )
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+ calc_sample_value (dbfs_value, bit_depth)
+ click to toggle source
+
+
+
+
+
+
+
+
+
+
+
+def calc_sample_value (dbfs_value , bit_depth )
+ range = (2 ** bit_depth / 2 )
+ (range * Math :: E ** (1 / 20.0 * dbfs_value * (Math .log (2 ) + Math .log (5 )))) - 1
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+ generate_pink_noise (length_secs, peak_db, sample_rate, bit_depth)
+ click to toggle source
+
+
+
+
+
+
noinspection RubyUnusedLocalVariable
+
+
+
+
+
+def generate_pink_noise (length_secs , peak_db , sample_rate , bit_depth )
+ num_samples = (length_secs * sample_rate ).to_i
+ peak_samples = calc_sample_value (peak_db , bit_depth )
+ output = []
+ amplitude_scaling = [3.8024 , 2.9694 , 2.5970 , 3.0870 , 3.4006 ]
+ update_probability = [0.00198 , 0.01280 , 0.04900 , 0.17000 , 0.68200 ]
+ probability_sum = [0.00198 , 0.01478 , 0.06378 , 0.23378 , 0.91578 ]
+
+ contributed_values = [0 , 0 , 0 , 0 , 0 ]
+
+ num_samples .times do
+
+ ur1 = rand
+ 5 .times do | stage |
+ if ur1 <= probability_sum [stage ]
+ ur2 = rand
+ contributed_values [stage ] = 2 * (ur2 - 0.5 ) * amplitude_scaling [stage ]
+ break
+ end
+ end
+
+ sample = contributed_values .inject (0 ) { | sum , item | sum + item }
+
+ output << sample
+ end
+
+ scale_amount = peak_samples / output .max
+ output .map! { | item | (item * scale_amount ).round_to (0 ).to_i }
+
+ output
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+ generate_sine_wave (length_secs, peak_db, freq, sample_rate, bit_depth)
+ click to toggle source
+
+
+
+
+
+
+
+
+
+
+
+def generate_sine_wave (length_secs , peak_db , freq , sample_rate , bit_depth )
+ peak_samples = calc_sample_value (peak_db , bit_depth )
+ output = []
+ period = 1.0 / freq
+ angular_freq = (2 * Math :: PI ) / period
+
+ time = 0
+ while time <= length_secs do
+ output << (Math .sin (angular_freq * time ) * peak_samples ).round_to (0 ).to_i
+ time += (1.0 / sample_rate )
+ end
+ output .slice (0 .. -2 )
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+ generate_white_noise (length_secs, peak_db, sample_rate, bit_depth)
+ click to toggle source
+
+
+
+
+
+
+
+
+
+
+
+def generate_white_noise (length_secs , peak_db , sample_rate , bit_depth )
+ num_samples = (length_secs * sample_rate ).to_i
+ peak_samples = calc_sample_value (peak_db , bit_depth )
+ output = []
+ num_samples .times do
+ output << (rand (65536 ) - 32768 ) * peak_samples
+ end
+ output
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+ load_plugin ()
+ click to toggle source
+
+
+
+
+
+
noinspection RubyInstanceVariableToStringInspection,RubyResolve
+
+
+
+
+
+def load_plugin
+
+ platform = :osx
+
+
+ platform_folder = File .expand_path (File .dirname (__FILE__ )) + "/../#{@plugin_folder}/build/#{platform}"
+ resources_folder = platform_folder + "/#{@plugin_name}.vst" + (platform == :osx ? "/Contents/Resources" : "" )
+ native_lib = %w(dll jnilib) .map { | ext | Dir [platform_folder + "/**/*.#{ext}" ] }.flatten .first
+
+
+
+ require 'java'
+
+ $CLASSPATH << resources_folder
+
+ require 'jVSTwRapper-1.0beta.jar'
+
+ require 'jVSTsYstem-1.0beta.jar'
+
+
+ include_class Java :: JRubyVSTPluginProxy
+
+
+ JRubyVSTPluginProxy ._hackishInit (native_lib , true )
+
+ JRubyVSTPluginProxy .new (0 )
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+ log (msg)
+ click to toggle source
+
+
+
+
+
+
noinspection RubyResolve
+
+
+
+
+
+def log (msg )
+ VSTPluginAdapter .log ("JRuby: #{msg}" )
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/rdoc/Opaz.html b/docs/rdoc/Opaz.html
new file mode 100644
index 0000000..f92e6b9
--- /dev/null
+++ b/docs/rdoc/Opaz.html
@@ -0,0 +1,249 @@
+
+
+
+
+
+
+module Opaz - RDoc Documentation
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
module Opaz
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/rdoc/Opaz/Tools.html b/docs/rdoc/Opaz/Tools.html
new file mode 100644
index 0000000..5c94421
--- /dev/null
+++ b/docs/rdoc/Opaz/Tools.html
@@ -0,0 +1,769 @@
+
+
+
+
+
+
+module Opaz::Tools - RDoc Documentation
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
module Opaz::Tools
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ JVSTWRAPPER_VERSION
+
+
+
+
+ PLATFORMS
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ build_folder (plugin_folder)
+ click to toggle source
+
+
+
+
+
+
+
+
+
+
+
+def build_folder (plugin_folder )
+ plugin_folder + "/build"
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bundle_url (platform)
+ click to toggle source
+
+
+
+
+
+
+
+
+
+
+
+def bundle_url (platform )
+ "http://freefr.dl.sourceforge.net/sourceforge/jvstwrapper/jVSTwRapper-Release-#{JVSTWRAPPER_VERSION}-#{platform}.zip"
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+ download_and_unpack (platform, unzip_folder)
+ click to toggle source
+
+
+
+
+
+
+
+
+
+
+
+def download_and_unpack (platform , unzip_folder )
+ url = bundle_url (platform )
+ zip_file = unzip_folder + "/" + url .split ('/' ).last
+ system! ("curl #{url} -o #{zip_file} --silent --show-error --location" )
+ system! ("unzip -q #{zip_file} -d #{unzip_folder}" )
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+ in_folder (folder) { || ... }
+ click to toggle source
+
+
+
+
+
+
for mirah compilation
+
+
+
+
+
+def in_folder (folder )
+ old_dir = Dir .pwd
+ Dir .chdir (folder )
+ yield
+ensure
+ Dir .chdir (old_dir )
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+ jar_separator (platform)
+ click to toggle source
+
+
+
+
+
+
javac -classpath jar1:jar2:jar3 works on unix, but need ; for separator on
+windows
+
+
+
+
+
+def jar_separator (platform )
+ (platform =~ %rmswin/ || platform == :win ) ? ';' : ':'
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+ mirahc_command ()
+ click to toggle source
+
+
+
+
+
+
+
+
+
+
+
+def mirahc_command
+ cmd = 'mirahc'
+ cmd << '.bat' if Config :: CONFIG ['host_os' ] =~ %rmswin/
+ cmd
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+ opaz_jars ()
+ click to toggle source
+
+
+
+
+
+
+
+
+
+
+
+def opaz_jars
+ Dir [File .dirname (__FILE__ ) + "/../libs/*.jar" ]
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+ package_plugin (plugin_name, plugin_folder, platforms=PLATFORMS) { |content| ... }
+ click to toggle source
+
+
+
+
+
+
noinspection RubyLiteralArrayInspection
+
+
+
+
+
+def package_plugin (plugin_name , plugin_folder , platforms =PLATFORMS )
+ platforms .each do | platform |
+ platform_build_folder = build_folder (plugin_folder ) + "/#{platform}"
+ resources_folder = platform_build_folder + "/wrapper.vst" + (platform == :osx ? "/Contents/Resources" : "" )
+
+
+
+ cp_r template (platform ), build_folder (plugin_folder )
+
+
+ ini_file = resources_folder + "/" + (platform == :osx ? "wrapper.jnilib.ini" : "wrapper.ini" )
+ File .open (ini_file , "w" ) do | output |
+ content = []
+
+
+ jars = opaz_jars .find_all { | e | e =~ %rjruby|jvst/ }.map { | e | e .split ('/' ).last }
+ class_path = jars .find_all { | e | e =~ %rjVSTwRapper/ } + ['Plugin.jar' ]
+
+ system_class_path = jars + ['javafx-ui-swing.jar' , 'javafx-sg-swing.jar' ,
+ 'javafxrt.jar' , 'javafx-ui-common.jar' , 'javafx-geom.jar' ,
+ 'javafx-sg-common.jar' , 'javafx-anim.jar' , 'javafx-ui-desktop.jar' ,
+ 'decora-runtime.jar' , 'OpazPlug.jar' ]
+
+ content << "ClassPath=" + class_path .map { | jar | "{WrapperPath}/#{jar}" }.join (jar_separator (platform ))
+
+
+
+ content << "SystemClassPath=" + system_class_path .map { | jar | "{WrapperPath}/#{jar}" }.join (jar_separator (platform )) + jar_separator (platform ) + "{WrapperPath}/"
+ content << "IsLoggingEnabled=1"
+ content << "JVMOption1=-Djruby.objectspace.enabled=false"
+ content << ""
+ content << "# JRuby Performance tweaks, enable all for best performance"
+ content << "#JVMOption1=-Djruby.compile.fastsend"
+ content << "#JVMOption2=-Djruby.compile.fastest"
+ content << "#JVMOption3=-Djruby.indexed.methods=true"
+ content << "#JVMOption4=-Djruby.compile.mode=FORCE"
+ content << "#JVMOption5=-Djruby.compile.fastcase"
+ content << ""
+ content << "# This UI class will ask the JRuby plugin if it has an editor or not."
+ content << "# If there is no editor defined, the GUI will be an empty frame and a separate"
+ content << "# IRB window will open so that you can add GUI elements at runtime"
+ content << "# Commenting this out means that the plugin UI will be rendered by the host application"
+ content << "PluginUIClass=JRubyVSTPluginGUIProxy"
+
+ content << ""
+ content << "# Alternatively, you can only open the IRB debugging GUI by uncommenting the appropriate line below."
+ content << "# No separate plugin GUI will be shown. "
+ content << "#PluginUIClass=IRBPluginGUI"
+ content << ""
+ content << "AttachToNativePluginWindow=1"
+ content << ""
+ content << "# Reload .rb files when they have changed, while the plugin is running"
+ content << "# --> ctrl-s in your editor changes the running plugin :-)"
+ content << "ReloadRubyOnChanges=1"
+ content << ""
+ yield content
+ content .each { | e | output << e + "\n" }
+ end
+
+
+ resources = opaz_jars
+ resources << Dir [build_folder (plugin_folder ) + "/common/*" ]
+ resources .flatten .each { | f | cp f , resources_folder }
+
+
+ if platform == :osx
+ plist_file = platform_build_folder + "/wrapper.vst/Contents/Info.plist"
+ plist_content = IO .read (plist_file ).gsub! (%r<key>(\w*)<\/key>\s+<string>([^<]+)<\/string>/ ) do
+ key , value = $1 , $2
+ value = plugin_name + ".jnilib" if key == 'CFBundleExecutable'
+ value = plugin_name if key == 'CFBundleName'
+ "<key>#{key}</key>\n <string>#{value}</string>"
+ end
+ File .open (plist_file , "w" ) { | output | output << plist_content }
+ end
+
+
+ (0 .. 1 ).each do | pass |
+ Dir [platform_build_folder + "/**/wrapper*" ].partition { | f | File .directory? (f ) }[pass ].each do | file |
+ File .rename (file , file .gsub (%rwrapper/ , plugin_name ))
+ end
+ end
+ end
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ system! (cmd)
+ click to toggle source
+
+
+
+
+
+
+
+
+
+
+
+def system! (cmd )
+ puts "Launching #{cmd}"
+ raise "Failed to launch #{cmd}" unless system (cmd )
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+ template (platform)
+ click to toggle source
+
+
+
+
+
+
+
+
+
+
+
+def template (platform )
+ "templates/#{platform}"
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+ templatized_file (source, target) { |line| ... }
+ click to toggle source
+
+
+
+
+
+
+
+
+
+
+
+def templatized_file (source , target )
+ File .open (target , "w" ) do | output |
+ IO .readlines (source ).each do | line |
+ line = yield line
+ output << line
+ end
+ end
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/rdoc/OpazPlug.html b/docs/rdoc/OpazPlug.html
new file mode 100644
index 0000000..fd17956
--- /dev/null
+++ b/docs/rdoc/OpazPlug.html
@@ -0,0 +1,367 @@
+
+
+
+
+
+
+class OpazPlug - RDoc Documentation
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
class OpazPlug
+
+
+
+
noinspection RubyResolve
+
+
carry on with regular class definition
+
+
+
noinspection ALL
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ new (wrapper)
+ click to toggle source
+
+
+
+
+
+
+
+
+
+
+
+def initialize (wrapper )
+ super
+ log ("Booting #{getEffectName}:#{getProductString}:#{getVendorString}" )
+ setNumInputs (1 )
+ setNumOutputs (1 )
+ canProcessReplacing (true )
+ setUniqueID (unique_id )
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ processReplacing (inputs, outputs, sampleFrames)
+ click to toggle source
+
+
+
+
+
+
forward calls
+
+
noinspection RubyInstanceMethodNamingConvention
+
+
+
+
+
+def processReplacing (inputs , outputs , sampleFrames )
+ if $PLUGIN_IS_RELOADING == false
+ process (inputs , outputs , sampleFrames )
+ end
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/rdoc/Oscillator.html b/docs/rdoc/Oscillator.html
new file mode 100644
index 0000000..7ba4639
--- /dev/null
+++ b/docs/rdoc/Oscillator.html
@@ -0,0 +1,337 @@
+
+
+
+
+
+
+class Oscillator - RDoc Documentation
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
class Oscillator
+
+
+
+
noinspection RubyResolve
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ DEFAULT_FREQ
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ freq [RW]
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ new (freq=DEFAULT_FREQ)
+ click to toggle source
+
+
+
+
+
+
+
+
+
+
+
+def initialize (freq =DEFAULT_FREQ )
+ self .freq = freq
+ self
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/rdoc/Phasor.html b/docs/rdoc/Phasor.html
new file mode 100644
index 0000000..94d8e88
--- /dev/null
+++ b/docs/rdoc/Phasor.html
@@ -0,0 +1,409 @@
+
+
+
+
+
+
+class Phasor - RDoc Documentation
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
class Phasor
+
+
+
+
noinspection RubyClassVariableUsageInspection
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ OFFSET
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ phase [RW]
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ new (freq = DEFAULT_FREQ, phase = Dsp.noise)
+ click to toggle source
+
+
+
+
+
+
+
+
+
+
+
+def initialize (freq = DEFAULT_FREQ , phase = Dsp .noise )
+ @phase = phase
+ super freq
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ freq= (arg)
+ click to toggle source
+
+
+
+
+
+
+
+
+
+
+
+def freq= (arg )
+ @freq = arg
+ @inc = @freq * @@inv_srate
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+ tick ()
+ click to toggle source
+
+
+
+
+
+
+
+
+
+
+
+def tick
+ @phase += @inc
+ @phase -= OFFSET [@phase <= 1.0 ]
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/rdoc/PhasorOscillator.html b/docs/rdoc/PhasorOscillator.html
new file mode 100644
index 0000000..f94af02
--- /dev/null
+++ b/docs/rdoc/PhasorOscillator.html
@@ -0,0 +1,437 @@
+
+
+
+
+
+
+class PhasorOscillator - RDoc Documentation
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
class PhasorOscillator
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ new (freq = DEFAULT_FREQ, phase=0)
+ click to toggle source
+
+
+
+
+
+
+
+
+
+
+
+def initialize (freq = DEFAULT_FREQ , phase =0 )
+ @phasor = Phasor .new (srate , phase )
+ super srate
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ freq= (arg)
+ click to toggle source
+
+
+
+
+
+
+
+
+
+
+
+def freq= (arg )
+ @phasor .freq = arg
+ super
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+ phase ()
+ click to toggle source
+
+
+
+
+
+
+
+
+
+
+
+def phase
+ @phasor .phase
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+ phase= (arg)
+ click to toggle source
+
+
+
+
+
+
+
+
+
+
+
+def phase= (arg )
+ @phasor .phase = Dsp .clamp (arg , 0.0 , 1.0 )
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+ tock ()
+ click to toggle source
+
+
+
+
+
+
+
+
+
+
+
+def tock
+ @phasor .phase .tap { @phasor .tick }
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/rdoc/Plug.html b/docs/rdoc/Plug.html
new file mode 100644
index 0000000..200c200
--- /dev/null
+++ b/docs/rdoc/Plug.html
@@ -0,0 +1,1577 @@
+
+
+
+
+
+
+module Plug - RDoc Documentation
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
module Plug
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ VST_PARAM_RANGE
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ abilities ()
+ click to toggle source
+
+
+
+
+
+
+
+
+
+
+
+def abilities
+ @abilities ||= []
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+ can_do (*abilities)
+ click to toggle source
+
+
+
+
+
+
+
+
+
+
+
+def can_do (*abilities )
+ @abilities = abilities
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+ editor (editor_class)
+ click to toggle source
+
+
+
+
+
+
+
+
+
+
+
+def editor (editor_class )
+ @editor_class = editor_class
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+ editor_class ()
+ click to toggle source
+
+
+
+
+
+
+
+
+
+
+
+def editor_class
+ @editor_class
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+ included (base)
+ click to toggle source
+
+
+
+
+
+
+
+
+
+
+
+def self .included (base )
+
+ base .class_eval do
+ class << self
+ def plugin (effect , product , vendor )
+ define_method :getEffectName do
+ effect
+ end
+ define_method :getProductString do
+ product
+ end
+ define_method :getVendorString do
+ vendor
+ end
+ end
+
+ def unique_id (unique_id )
+ if unique_id .is_a? (String )
+ raise "unique_id must be a 4-characters string, or an int" unless unique_id .size == 4
+ unique_id = (unique_id [0 ] << 24 ) | (unique_id [1 ] << 16 ) | (unique_id [2 ] << 8 ) | unique_id [3 ]
+ end
+ define_method :unique_id do
+ unique_id
+ end
+ end
+
+ VST_PARAM_RANGE = (0.0 .. 1.0 )
+
+
+
+
+
+
+ def param (name , display_name , initial_value , unit = "" , range = VST_PARAM_RANGE )
+ params << Struct .new (:name , :display_name , :initial_value , :unit , :range ).new (name .to_s , display_name , initial_value , unit , range )
+ param_index = params .size - 1
+ if range == VST_PARAM_RANGE
+ define_method (name ) do
+ values [param_index ]
+ end
+ define_method ("#{name}=" ) do | value |
+ setParameter (param_index , value )
+ end
+ else
+ define_method (name ) do
+ to_range_value (values [param_index ], ranges [param_index ])
+ end
+ define_method ("#{name}=" ) do | value |
+ setParameter (param_index , to_float_value (value , ranges [param_index ]))
+ end
+ end
+ end
+
+ def editor (editor_class )
+ @editor_class = editor_class
+ end
+
+ def editor_class
+ @editor_class
+ end
+
+ def can_do (*abilities )
+ @abilities = abilities
+ end
+
+ def abilities
+ @abilities ||= []
+ end
+
+ def params
+ @params ||= []
+ end
+
+ end
+
+ def editor
+ self .class .editor_class
+ end
+
+ attr_reader :editor_instance
+
+ def set_gui_instance (inst )
+ @editor_instance = inst
+ end
+
+
+ def to_range_value (float_value , range )
+ range .begin + float_value * (range .end - range .begin )
+ end
+
+
+ def to_float_value (range_value , range )
+ (range_value - range .begin ) / (range .end - range .begin ).to_f
+ end
+
+
+ def values
+ @values ||= self .class .params .map { | e | to_float_value (e .initial_value , e .range ) }
+ end
+
+ def ranges
+ @ranges ||= self .class .params .map { | e | e .range }
+ end
+
+
+ def canDo (feature )
+ self .class .abilities .include? (feature ) ? +1 : -1
+ end
+
+ def getParameter (index )
+ values [index ]
+ end
+
+ def getParameterRange (index )
+ ranges [index ]
+ end
+
+ def getProgramNameIndexed (category , index )
+ "Prog: cat #{category}, #{index}"
+ end
+
+ def getParameterDisplay (index )
+ sprintf ("%1.2f" , to_range_value (getParameter (index ), ranges [index ]))
+ end
+
+ def setParameter (index , value )
+ values [index ] = value
+
+ if editor_instance! =nil && defined? (editor_instance .setParameter )
+ editor_instance .setParameter (index , value )
+ end
+ end
+
+ def string2Parameter (index , value )
+ begin
+ setParameter (index , Float (value )) unless value .nil?
+ return true
+ rescue
+ return false
+ end
+ end
+
+
+ def getParameterLabel (index )
+ self .class .params [index ].unit
+ end
+
+
+
+ def getParameterName (index )
+ self .class .params [index ].display_name
+ end
+
+ def getNumParams
+ self .class .params .size
+ end
+
+ def getNumPrograms
+ 0
+ end
+
+ def getProgram
+ 0
+ end
+
+ def getProgramName
+ "Default"
+ end
+
+ attr_accessor :sample_rate
+
+ def setSampleRate (sample_rate )
+ @sample_rate = sample_rate
+ end
+
+
+ def setBypass (value )
+ false
+ end
+
+
+
+
+ def setProgramName (name )
+ end
+
+
+
+
+
+ def getPlugCategory
+ VSTV20ToPlug :: PLUG_CATEG_EFFECT
+ end
+ end
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+ param (name, display_name, initial_value, unit = "", range = VST_PARAM_RANGE)
+ click to toggle source
+
+
+
+
+
+
name: ruby symbol for the parameter - a corresponding attr_accessor will be
+created display_name: the name as shown in the vst host initial_value: the
+value the parameter will have at plugin startup unit: the unit (eg: %, dB,
+ms) to display aside the value range: the range of accepted values - will
+be mapped to 0 -> 1 for vst host
+
+
+
+
+
+def param (name , display_name , initial_value , unit = "" , range = VST_PARAM_RANGE )
+ params << Struct .new (:name , :display_name , :initial_value , :unit , :range ).new (name .to_s , display_name , initial_value , unit , range )
+ param_index = params .size - 1
+ if range == VST_PARAM_RANGE
+ define_method (name ) do
+ values [param_index ]
+ end
+ define_method ("#{name}=" ) do | value |
+ setParameter (param_index , value )
+ end
+ else
+ define_method (name ) do
+ to_range_value (values [param_index ], ranges [param_index ])
+ end
+ define_method ("#{name}=" ) do | value |
+ setParameter (param_index , to_float_value (value , ranges [param_index ]))
+ end
+ end
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+ params ()
+ click to toggle source
+
+
+
+
+
+
+
+
+
+
+
+def params
+ @params ||= []
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+ plugin (effect, product, vendor)
+ click to toggle source
+
+
+
+
+
+
+
+
+
+
+
+def plugin (effect , product , vendor )
+ define_method :getEffectName do
+ effect
+ end
+ define_method :getProductString do
+ product
+ end
+ define_method :getVendorString do
+ vendor
+ end
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+ unique_id (unique_id)
+ click to toggle source
+
+
+
+
+
+
+
+
+
+
+
+def unique_id (unique_id )
+ if unique_id .is_a? (String )
+ raise "unique_id must be a 4-characters string, or an int" unless unique_id .size == 4
+ unique_id = (unique_id [0 ] << 24 ) | (unique_id [1 ] << 16 ) | (unique_id [2 ] << 8 ) | unique_id [3 ]
+ end
+ define_method :unique_id do
+ unique_id
+ end
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ canDo (feature)
+ click to toggle source
+
+
+
+
+
+
noinspection RubyInstanceMethodNamingConvention
+
+
+
+
+
+def canDo (feature )
+ self .class .abilities .include? (feature ) ? +1 : -1
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+ editor ()
+ click to toggle source
+
+
+
+
+
+
+
+
+
+
+
+def editor
+ self .class .editor_class
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+ getNumParams ()
+ click to toggle source
+
+
+
+
+
+
+
+
+
+
+
+def getNumParams
+ self .class .params .size
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+ getNumPrograms ()
+ click to toggle source
+
+
+
+
+
+
+
+
+
+
+
+def getNumPrograms
+ 0
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+ getParameter (index)
+ click to toggle source
+
+
+
+
+
+
+
+
+
+
+
+def getParameter (index )
+ values [index ]
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+ getParameterDisplay (index)
+ click to toggle source
+
+
+
+
+
+
+
+
+
+
+
+def getParameterDisplay (index )
+ sprintf ("%1.2f" , to_range_value (getParameter (index ), ranges [index ]))
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+ getParameterLabel (index)
+ click to toggle source
+
+
+
+
+
+
vst “label” is the unit to be displayed aside the value
+
+
+
+
+
+def getParameterLabel (index )
+ self .class .params [index ].unit
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+ getParameterName (index)
+ click to toggle source
+
+
+
+
+
+
name is the display name TODO: rename those things
+
+
+
+
+
+def getParameterName (index )
+ self .class .params [index ].display_name
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+ getParameterRange (index)
+ click to toggle source
+
+
+
+
+
+
+
+
+
+
+
+def getParameterRange (index )
+ ranges [index ]
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+ getPlugCategory ()
+ click to toggle source
+
+
+
+
+
+
TODO - see how we can inherit static fields like PLUG_CATEG_EFFECT
+Or (other idea) - recreate these with an idiomatic port (symbols ?)
+
+
noinspection RubyResolve
+
+
+
+
+
+def getPlugCategory
+ VSTV20ToPlug :: PLUG_CATEG_EFFECT
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+ getProgram ()
+ click to toggle source
+
+
+
+
+
+
+
+
+
+
+
+def getProgram
+ 0
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+ getProgramName ()
+ click to toggle source
+
+
+
+
+
+
+
+
+
+
+
+def getProgramName
+ "Default"
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+ getProgramNameIndexed (category, index)
+ click to toggle source
+
+
+
+
+
+
+
+
+
+
+
+def getProgramNameIndexed (category , index )
+ "Prog: cat #{category}, #{index}"
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+ log (msg)
+ click to toggle source
+
+
+
+
+
+
noinspection RubyResolve
+
+
+
+
+
+def log (msg )
+ VSTPluginAdapter .log ("JRuby: #{msg}" )
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ranges ()
+ click to toggle source
+
+
+
+
+
+
+
+
+
+
+
+def ranges
+ @ranges ||= self .class .params .map { | e | e .range }
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+ setBypass (value)
+ click to toggle source
+
+
+
+
+
+
noinspection RubyResolve
+
+
+
+
+
+def setBypass (value )
+ false
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+ setParameter (index, value)
+ click to toggle source
+
+
+
+
+
+
+
+
+
+
+
+def setParameter (index , value )
+ values [index ] = value
+
+ if editor_instance! =nil && defined? (editor_instance .setParameter )
+ editor_instance .setParameter (index , value )
+ end
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+ setProgramName (name)
+ click to toggle source
+
+
+
+
+
+
dummy implementation - avoids error when I reload a set under Live
+
+
noinspection RubyResolve
+
+
+
+
+
+def setProgramName (name )
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+ setSampleRate (sample_rate)
+ click to toggle source
+
+
+
+
+
+
+
+
+
+
+
+def setSampleRate (sample_rate )
+ @sample_rate = sample_rate
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+ set_gui_instance (inst)
+ click to toggle source
+
+
+
+
+
+
+
+
+
+
+
+def set_gui_instance (inst )
+ @editor_instance = inst
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+ string2Parameter (index, value)
+ click to toggle source
+
+
+
+
+
+
+
+
+
+
+
+def string2Parameter (index , value )
+ begin
+ setParameter (index , Float (value )) unless value .nil?
+ return true
+ rescue
+ return false
+ end
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+ to_float_value (range_value, range)
+ click to toggle source
+
+
+
+
+
+
convert plugin range to 0..1 float space
+
+
+
+
+
+def to_float_value (range_value , range )
+ (range_value - range .begin ) / (range .end - range .begin ).to_f
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+ to_range_value (float_value, range)
+ click to toggle source
+
+
+
+
+
+
convert 0..1 float value to plugin range
+
+
+
+
+
+def to_range_value (float_value , range )
+ range .begin + float_value * (range .end - range .begin )
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+ values ()
+ click to toggle source
+
+
+
+
+
+
noinspection RubyResolve
+
+
+
+
+
+def values
+ @values ||= self .class .params .map { | e | to_float_value (e .initial_value , e .range ) }
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/rdoc/PolyphonicSynth.html b/docs/rdoc/PolyphonicSynth.html
new file mode 100644
index 0000000..bad0cc2
--- /dev/null
+++ b/docs/rdoc/PolyphonicSynth.html
@@ -0,0 +1,534 @@
+
+
+
+
+
+
+class PolyphonicSynth - RDoc Documentation
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
class PolyphonicSynth
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ srate [RW]
+
+
+
+
+
noinspection RubyResolve
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ new (synth, num_voices=8, synth_opts={})
+ click to toggle source
+
+
+
+
+
+
+
+
+
+
+
+def initialize (synth , num_voices =8 , synth_opts ={})
+ synth_opts = {:srate => 44.1e3 }.merge! (synth_opts )
+ @voice_scaling = (1 .. num_voices ).map { | i | 1.0 / Math .sqrt (i ) }
+ @voice_pool = (1 .. num_voices ).map { Voice .new (self , synth , synth_opts ) }
+ @notes_playing = {}
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ all_notes_off ()
+ click to toggle source
+
+
+
+
+
+
+
+
+
+
+
+def all_notes_off
+ active_voices .each (&:stop )
+ @notes_playing = {}
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+ free_voice (voice)
+ click to toggle source
+
+
+
+
+
+
+
+
+
+
+
+def free_voice (voice )
+
+ if voice == @notes_playing .delete (note )
+ @voice_pool << voice
+ end
+ @voice = voice
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+ note_off (note)
+ click to toggle source
+
+
+
+
+
+
+
+
+
+
+
+def note_off (note )
+
+ @notes_playing [note ].try (&:release )
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+ note_on (note, velocity=100, delta=0)
+ click to toggle source
+
+
+
+
+
+
+
+
+
+
+
+def note_on (note , velocity =100 , delta =0 )
+ return note_off (note ) if velocity .zero?
+ voice = @notes_playing .delete [note ] || allocate_voice
+ @notes_playing [note ] = voice .play (note , velocity , delta )
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+ tick ()
+ click to toggle source
+
+
+
+
+
+
+
+
+
+
+
+def tick
+ voices = active_voices
+ @voice_scaling [voices .count ] * voices .inject (0 ) { | sum , voice | sum + voice .tick }
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ticks (samples)
+ click to toggle source
+
+
+
+
+
+
+
+
+
+
+
+def ticks (samples )
+ voices = active_voices
+ zeros = Vector [*Array .zeros (samples )]
+ output = voices .inject (zeros ) { | sum , voice | sum + voice .ticks (samples ) }
+ (@voice_scaling [voices .count ] * output ).to_a
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/rdoc/PolyphonicSynth/Voice.html b/docs/rdoc/PolyphonicSynth/Voice.html
new file mode 100644
index 0000000..c462b56
--- /dev/null
+++ b/docs/rdoc/PolyphonicSynth/Voice.html
@@ -0,0 +1,480 @@
+
+
+
+
+
+
+class PolyphonicSynth::Voice - RDoc Documentation
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
class PolyphonicSynth::Voice
+
+
+
+
noinspection RubyResolve,RubyUnusedLocalVariable
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ new (voicer, synth, opts={})
+ click to toggle source
+
+
+
+
+
+
attr_accessor :note #, :velocity, :delta
+
+
+
+
+
+def initialize (voicer , synth , opts ={})
+ @voicer = voicer
+ @synth = synth .new (opts [:srate ])
+ self
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ play (note, velocity, delta=0)
+ click to toggle source
+
+
+
+
+
+
+
+
+
+
+
+def play (note , velocity , delta =0 )
+ @note , @velocity , @delta = note , velocity , delta
+ @synth .freq = Midi .note_to_freq (note )
+ @synth .trigger (:attack )
+ self
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+ release ()
+ click to toggle source
+
+
+
+
+
+
+
+
+
+
+
+def release
+ @synth .trigger (:release )
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+ stop ()
+ click to toggle source
+
+
+
+
+
+
+
+
+
+
+
+def stop
+ @voicer .free_voice self
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+ tick ()
+ click to toggle source
+
+
+
+
+
+
+
+
+
+
+
+def tick
+ @synth .tick
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ticks (samples)
+ click to toggle source
+
+
+
+
+
+
+
+
+
+
+
+def ticks (samples )
+ if @delta > 0
+ @delta -= samples if @delta >= samples
+ output = Array .zeros (@delta )
+ zeros (@delta ) + (@delta + 1 .. samples ).map { @synth .tick }
+ else
+ (1 .. samples ).map { @synth .tick }
+ end
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/rdoc/Processor.html b/docs/rdoc/Processor.html
new file mode 100644
index 0000000..37b87f9
--- /dev/null
+++ b/docs/rdoc/Processor.html
@@ -0,0 +1,335 @@
+
+
+
+
+
+
+class Processor - RDoc Documentation
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
class Processor
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ tick (s)
+ click to toggle source
+
+
+
+
+
+
+
+
+
+
+
+def tick (s )
+ raise "not implemented!"
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ticks (inputs)
+ click to toggle source
+
+
+
+
+
+
+
+
+
+
+
+def ticks (inputs )
+ inputs .map { | s | tick (s ) }
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/rdoc/Pulse.html b/docs/rdoc/Pulse.html
new file mode 100644
index 0000000..facdb0e
--- /dev/null
+++ b/docs/rdoc/Pulse.html
@@ -0,0 +1,385 @@
+
+
+
+
+
+
+class Pulse - RDoc Documentation
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
class Pulse
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ FACTOR
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ new (freq=DEFAULT_FREQ, phase=0)
+ click to toggle source
+
+
+
+
+
+
+
+
+
+
+
+def initialize (freq =DEFAULT_FREQ , phase =0 )
+ @duty = 0.5
+ super
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ duty= (arg)
+ click to toggle source
+
+
+
+
+
+
+
+
+
+
+
+def duty= (arg )
+ @duty = Dsp .clamp (arg , 0.0 , 1.0 )
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+ tick ()
+ click to toggle source
+
+
+
+
+
+
+
+
+
+
+
+def tick
+ FACTOR [tock <= @duty ]
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/rdoc/Rakefile.html b/docs/rdoc/Rakefile.html
new file mode 100644
index 0000000..a03a6dc
--- /dev/null
+++ b/docs/rdoc/Rakefile.html
@@ -0,0 +1,401 @@
+
+
+
+
+
+
+Rakefile - RDoc Documentation
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
noinspection RubyResolve require ‘rake/clean’ require ‘tasks/tools’
+require ‘tasks/prepare’
+
+
include Opaz::Tools plugin_name = ENV message = “Specify a plugin with ‘rake
+compile package deploy plugin=Delay’” noinspection RubyArgCount
+abort(message) unless plugin_name || ARGV == [] puts “Remember:
+#{message}” PLUGIN_NAME = plugin_name || “”
+
+
noinspection RubyResolve JAR_SEP = jar_separator(RbConfig::CONFIG ) BASE_JARS = FileList .map { |e| File.expand_path(e) }
+BASE_CLASSPATH = BASE_JARS.join(JAR_SEP)
+
+
PLUGIN_FOLDER = File.join(‘plugins’, PLUGIN_NAME)
+
+
noinspection RubyArgCount abort(“Plugin folder #{PLUGIN_FOLDER} does not
+exist!”) unless File.exist?(PLUGIN_FOLDER)
+
+
PLUGIN_BUILD_FOLDER = File.join(PLUGIN_FOLDER, ‘build’) PLUGIN_TYPE =
+Dir .empty? ? ‘java’ :
+‘ruby’
+
+
noinspection RubyResolve CLEAN.include “src/build” noinspection
+RubyResolve CLEAN.include PLUGIN_BUILD_FOLDER noinspection RubyResolve
+CLEAN.include Dir[File.join(PLUGIN_FOLDER, “*.mirah”)].map { |e|
+e.gsub(‘.mirah’, ‘.java’) } noinspection RubyResolve CLEAN.include
+File.join(PLUGIN_FOLDER, “compiled”) noinspection RubyResolve
+CLEAN.include File.join(PLUGIN_FOLDER, “*.class”) # legacy - no more
+.class will be here once clean upgrade
+
+
# ====================== common =======================
+
+
file ‘src/build’ do |t|
+
+
FileUtils.mkdir t.name
+
+
end
+
+
file ‘src/build/*.class’ => ‘src/build’ do
+
+
in_folder('src') { system! "javac *.java -classpath #{BASE_CLASSPATH} -d build" }
+
+
end
+
+
file ‘src/build/OpazPlug.jar’ => ‘src/build/*.class’ do
+
+
in_folder ('src/build' ) { system! "jar -cf OpazPlug.jar *.class" }
+
+
+
end
+
+
# ====================== plugin =======================
+
+
file PLUGIN_BUILD_FOLDER + ‘/common’ do |t|
+
+
FileUtils.mkdir_p t.name
+
+
end
+
+
file “#{PLUGIN_FOLDER}/*.mirah” do |t|
+
+
Dir [t .name ].each do | file |
+ in_folder (File .dirname (file )) { system! ("#{mirahc_command} --java #{File.basename(file)}" ) }
+end
+
+
+
end
+
+
file “#{PLUGIN_FOLDER}/*.java” =>
+[PLUGIN_BUILD_FOLDER+‘/common’, ‘src/build/OpazPlug.jar’] do |t|
+
+
unless Dir[t.name].empty?
+ #noinspection RubyLiteralArrayInspection
+ classpath = (BASE_JARS + ['src/build/OpazPlug.jar']).join(JAR_SEP)
+ system! "javac #{t.name} -classpath #{classpath} -d #{PLUGIN_BUILD_FOLDER}/common"
+end
+
+
end
+
+
file “#{PLUGIN_FOLDER}/*.fx” => PLUGIN_BUILD_FOLDER+‘/common’ do
+|t|
+
+
Dir [t .name ].each do | file |
+ in_folder (File .dirname (file )) { system! ("javafxc #{File.basename(file)} -d build/common" ) }
+end
+
+
+
end
+
+
file “#{PLUGIN_FOLDER}/*.rb” => PLUGIN_BUILD_FOLDER+‘/common’ do
+|t|
+
+
Dir [t .name ].each do | file |
+ cp (file , PLUGIN_BUILD_FOLDER + '/common' )
+end
+
+
+
end
+
+
noinspection RubyLiteralArrayInspection file
+“#{PLUGIN_BUILD_FOLDER}/common/Plugin.jar” =>
+[“#{PLUGIN_FOLDER}/*.mirah”, “#{PLUGIN_FOLDER}/*.java”,
+“#{PLUGIN_FOLDER}/*.fx”] do |_|
+
+
unless Dir [PLUGIN_BUILD_FOLDER + '/common/*.class' ].empty?
+ in_folder (PLUGIN_BUILD_FOLDER + '/common' ) do
+ system! "jar -cf Plugin.jar *.class"
+ Dir ["*.class" ].each { | f | rm f }
+ end
+end
+
+
+
end
+
+
noinspection RubyResolve task :default => :compile
+
+
noinspection RubyResolve task :compile =>
+[“#{PLUGIN_BUILD_FOLDER}/common/Plugin.jar”, PLUGIN_FOLDER+“/*.rb”]
+do
+
+
cp "src/build/OpazPlug.jar" , PLUGIN_BUILD_FOLDER + '/common'
+Dir ["src/*.rb" ].each { | f | cp f , PLUGIN_BUILD_FOLDER + '/common' }
+
+
+
end
+
+
desc “Package the plugin for each platform” noinspection RubyResolve
+task :package => [‘src/build/OpazPlug.jar’, :compile] do
+
+
package_plugin (PLUGIN_NAME , PLUGIN_FOLDER , [running_platform ]) do | config |
+ if PLUGIN_TYPE == 'ruby'
+ config << "# Do not change"
+ config << "PluginClass=JRubyVSTPluginProxy"
+ config << "RubyPlugin=#{PLUGIN_NAME}"
+ else
+ config << "PluginClass=#{PLUGIN_NAME}"
+
+ config << "PluginUIClass=#{PLUGIN_NAME}GUI"
+ end
+end
+
+
+
end
+
+
desc “Deploy the plugin to ./deploy with others - point your vst host to
+./deploy or symlink” noinspection RubyResolve task :deploy => [:clean,
+:package] do
+
+
target_folder = File .dirname (__FILE__ ) + '/deploy'
+Dir ["#{PLUGIN_FOLDER}/build/#{running_platform}/*" ].each do | plugin |
+ target_plugin = "#{target_folder}/#{plugin.split('/').last}"
+ rm_rf (target_plugin ) if File .exist? (target_plugin )
+ cp_r plugin , target_plugin
+end
+
+
+
end
+
+
noinspection RubyResolve task :default => :spec
+
+
desc “Launch OpazPlugDK tests” noinspection RubyResolve task :spec do
+
+
system!("jruby -S rspec -fs specs/opaz_plug_spec.rb")
+
+
end
+
+
desc “Start a console” noinspection RubyResolve task :console do
+
+
+abort "Please run this task using jrake" unless defined? (RUBY_ENGINE ) && RUBY_ENGINE == "jruby"
+ARGV .clear
+
+require 'java'
+
+$CLASSPATH << 'libs'
+$LOAD_PATH << 'src'
+
+require 'jVSTwRapper-1.0beta.jar'
+
+require 'jVSTsYstem-1.0beta.jar'
+
+require 'opaz_plug'
+require 'irb'
+require 'irb/completion'
+IRB .start
+
+
+
end
+
+
+
+
+
+
+
diff --git a/docs/rdoc/RiffFile.html b/docs/rdoc/RiffFile.html
new file mode 100644
index 0000000..58ced5f
--- /dev/null
+++ b/docs/rdoc/RiffFile.html
@@ -0,0 +1,1205 @@
+
+
+
+
+
+
+class RiffFile - RDoc Documentation
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
class RiffFile
+
+
+
+
noinspection RubyLiteralArrayInspection
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ AUDIO_PACK_FORMAT_16
+
+
+
+
+
+
+
+ VALID_RIFF_TYPES
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ found_chunks [RW]
+
+
+
+
+
noinspection RubyResolve
+
+
+
+
+
+
+
+
+ raw_audio_data [RW]
+
+
+
+
+
noinspection RubyResolve
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ new (file, mode) { |self| ... }
+ click to toggle source
+
+
+
+
+
+
+
+
+
+
+
+def initialize (file , mode )
+ @file = File .open (file , mode )
+ @file .binmode
+ if mode == 'r'
+ read_chunks if riff? && VALID_RIFF_TYPES .include? (riff_type )
+ end
+ if block_given?
+ yield self
+ close
+ end
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ close ()
+ click to toggle source
+
+
+
+
+
+
+
+
+
+
+
+def close
+ @file .close
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+ duration ()
+ click to toggle source
+
+
+
+
+
+
+
+
+
+
+
+def duration
+ (@data_end - @data_begin ) / @format .byte_rate
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+ identify_chunk (chunk_name, chunk_position, chunk_length)
+ click to toggle source
+
+
+
+
+
+
+
+
+
+
+
+def identify_chunk (chunk_name , chunk_position , chunk_length )
+ @found_chunks << chunk_name
+ case chunk_name
+ when 'fmt' then
+ process_fmt_chunk (chunk_position , chunk_length )
+ when 'bext' then
+ process_bext_chunk (chunk_position , chunk_length )
+ when 'data' then
+ process_data_chunk (chunk_position , chunk_length )
+ when 'iXML' then
+ process_ixml_chunk (chunk_position , chunk_length )
+ else
+
+ end
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+ pack_samples (samples, bit_depth)
+ click to toggle source
+
+
+
+
+
+
+
+
+
+
+
+def pack_samples (samples , bit_depth )
+ if bit_depth == 24
+ samples .map { | s | [s ].pack ("VX" ) }.join
+ else
+ samples .pack (AUDIO_PACK_FORMAT_16 )
+ end
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+ process_bext_chunk (chunk_position, chunk_length)
+ click to toggle source
+
+
+
+
+
+
+
+
+
+
+
+def process_bext_chunk (chunk_position , chunk_length )
+ @file .seek (chunk_position )
+ @bext_meta = BextChunk .new (@file .read (chunk_length ))
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+ process_data_chunk (chunk_position, chunk_length)
+ click to toggle source
+
+
+
+
+
+
+
+
+
+
+
+def process_data_chunk (chunk_position , chunk_length )
+ @data_begin , @data_end = chunk_position , chunk_position + chunk_length
+
+
+
+
+
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+ process_fmt_chunk (chunk_position, chunk_length)
+ click to toggle source
+
+
+
+
+
+
+
+
+
+
+
+def process_fmt_chunk (chunk_position , chunk_length )
+ @file .seek (chunk_position )
+ @format = WaveFmtChunk .new (@file .read (chunk_length ))
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+ process_ixml_chunk (chunk_position, chunk_length)
+ click to toggle source
+
+
+
+
+
+
+
+
+
+
+
+def process_ixml_chunk (chunk_position , chunk_length )
+ @file .seek (chunk_position )
+ @ixml_meta = IxmlChunk .new (@file .read (chunk_length ))
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ read_chunks ()
+ click to toggle source
+
+
+
+
+
+
+
+
+
+
+
+def read_chunks
+ @found_chunks = []
+ while @file .tell < @file_end
+ @file .seek (@file .tell + @file .tell % 2 )
+ chunk_name , chunk_length = read_chunk_header
+ chunk_position = @file .tell
+ identify_chunk (chunk_name , chunk_position , chunk_length )
+ @file .seek (chunk_position + chunk_length )
+ end
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+ read_sample (sample_number, channel)
+ click to toggle source
+
+
+
+
+
+
+
+
+
+
+
+def read_sample (sample_number , channel )
+
+ @file .seek (@data_begin + (sample_number * @format .block_align ) + (channel * (@format .block_align / @format .num_channels )))
+
+ @file .read (@format .block_align / @format .num_channels )
+
+
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+ read_samples_by_channel (channel)
+ click to toggle source
+
+
+
+
+
+
+
+
+
+
+
+def read_samples_by_channel (channel )
+ samples = []
+ (0 .. total_samples ).each { | sample |
+ samples << read_sample (sample , channel )
+ }
+
+ samples .collect! { | samp | unpack_samples (samp , @format .bit_depth ).join .to_i }
+ samples
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+ riff? ()
+ click to toggle source
+
+
+
+
+
+
+
+
+
+
+
+def riff?
+ @file .seek (0 )
+ riff , @file_end = read_chunk_header
+ true if riff == 'RIFF'
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+ riff_type ()
+ click to toggle source
+
+
+
+
+
+
+
+
+
+
+
+def riff_type
+ if riff?
+ @file .seek (8 )
+ @file .read (4 )
+ end
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+ simple_read ()
+ click to toggle source
+
+
+
+
+
+
+
+
+
+
+
+def simple_read
+ @file .seek (@data_begin )
+
+ unpack_samples (@file .read (@data_end - @data_begin ), @format .bit_depth )
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+ total_samples ()
+ click to toggle source
+
+
+
+
+
+
+
+
+
+
+
+def total_samples
+ (@data_end - @data_begin ) / @format .block_align
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+ unpack_samples (samples, bit_depth)
+ click to toggle source
+
+
+
+
+
+
+
+
+
+
+
+def unpack_samples (samples , bit_depth )
+ if bit_depth == 24
+
+ samples .scan (%r.../ ).map { | s | (s + 0 .chr ).unpack ("V" ) }.flatten
+ else
+ samples .unpack (AUDIO_PACK_FORMAT_16 )
+ end
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+ write (channels, sample_rate, bit_depth, audio_data)
+ click to toggle source
+
+
+
+
+
+
+
+
+
+
+
+def write (channels , sample_rate , bit_depth , audio_data )
+ write_riff_type
+ write_fmt_chunk (channels , sample_rate , bit_depth )
+ write_data_chunk audio_data
+ write_riff_header
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+ write_data_chunk (audio_data)
+ click to toggle source
+
+
+
+
+
+
+
+
+
+
+
+def write_data_chunk (audio_data )
+ data_chunk_begin = @file .tell
+ @file .seek (8 , IO :: SEEK_CUR )
+ @data_begin = @file .tell
+
+
+ if @write_format .num_channels > 1 && audio_data .length > 1
+ interleaved_audio_data = audio_data [0 ].zip (*audio_data [1 .. -1 ]).flatten
+ else
+ interleaved_audio_data = audio_data [0 ]
+ end
+
+ puts interleaved_audio_data .length
+ interleaved_audio_data .each_index do | sample |
+ if interleaved_audio_data [sample ].nil?
+ puts "Sample number #{sample.to_s} is nil"
+ end
+ end
+
+ @file .print (pack_samples (interleaved_audio_data , @write_format .bit_depth ))
+ @data_end = @file .tell
+ @file_end = @file .tell
+ @file .seek (data_chunk_begin )
+ @file .print (["data" , @data_end - @data_begin ].pack (HEADER_PACK_FORMAT ))
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+ write_fmt_chunk (num_channels, sample_rate, bit_depth)
+ click to toggle source
+
+
+
+
+
+
+
+
+
+
+
+def write_fmt_chunk (num_channels , sample_rate , bit_depth )
+ @file .seek (12 )
+ @write_format = WaveFmtChunk .new
+ @write_format .audio_format = 1
+ @write_format .num_channels = num_channels
+ @write_format .bit_depth = bit_depth
+ @write_format .set_sample_rate (sample_rate )
+
+ @file .print (["fmt " , 16 ].pack (HEADER_PACK_FORMAT ))
+ @file .print (@write_format .pack_header_data )
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ write_riff_type ()
+ click to toggle source
+
+
+
+
+
+
+
+
+
+
+
+def write_riff_type
+ @file .seek (8 )
+ @file .print (["WAVE" ].pack ("A4" ))
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/rdoc/RpmSaw.html b/docs/rdoc/RpmSaw.html
new file mode 100644
index 0000000..5b4499e
--- /dev/null
+++ b/docs/rdoc/RpmSaw.html
@@ -0,0 +1,376 @@
+
+
+
+
+
+
+class RpmSaw - RDoc Documentation
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
class RpmSaw
+
+
+
+
noinspection RubyResolve
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ new (freq=MIDI::A, phase=0)
+ click to toggle source
+
+
+
+
+
+
+
+
+
+
+
+def initialize (freq =MIDI :: A , phase =0 )
+ @beta = 1.0
+ @state = @last_out = 0
+ super
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ beta= (arg)
+ click to toggle source
+
+
+
+
+
+
+
+
+
+
+
+def beta= (arg )
+ @beta = Dsp .clamp (arg , 0.0 , 2.0 )
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+ tick ()
+ click to toggle source
+
+
+
+
+
+
+
+
+
+
+
+def tick
+ @state = 0.5 *(@state + @last_out )
+ @last_out = Math .sin (Dsp :: WO_PI * tock + @beta * @state )
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/rdoc/RpmSquare.html b/docs/rdoc/RpmSquare.html
new file mode 100644
index 0000000..9a65769
--- /dev/null
+++ b/docs/rdoc/RpmSquare.html
@@ -0,0 +1,302 @@
+
+
+
+
+
+
+class RpmSquare - RDoc Documentation
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
class RpmSquare
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ tick ()
+ click to toggle source
+
+
+
+
+
+
+
+
+
+
+
+def tick
+ @state = 0.5 *(@state + @last_out *@last_out )
+ @last_out = Math .sin (Dsp :: TWO_PI * tock - @beta * @state )
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/rdoc/RubyDelay.html b/docs/rdoc/RubyDelay.html
new file mode 100644
index 0000000..da15181
--- /dev/null
+++ b/docs/rdoc/RubyDelay.html
@@ -0,0 +1,1253 @@
+
+
+
+
+
+
+class RubyDelay - RDoc Documentation
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
class RubyDelay
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ NUM_PARAMS
+
+
+
+
+ PARAM_LABELS
+
+
+
+
+ PARAM_NAMES
+
+
+
+
+ PARAM_PRINT_MUL
+
+
+
+
+ PROGRAMS
+
+
+
+
+ P_DELAY_TIME
+
+
+
+
+ P_FEEDBACK
+
+
+
+
+ P_LFO_DEPTH
+
+
+
+
+ P_LFO_FREQUENCY
+
+
+
+
+ P_WET_DRY_MIX
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ new (wrapper)
+ click to toggle source
+
+
+
+
+
+
noinspection RubyInstanceVariableNamingConvention
+
+
+
+
+
+def initialize (wrapper )
+ super
+
+ @echo = []
+ @echoSize = 0
+ @echoPos = 0
+ @echoLFODiff = 0
+ @echoLFODiffMax = 0
+ @echoLFODepth = 0.8
+ @echoFeedback = 0
+ @echoLFOSpeed = 0
+ @echoLFOPos = 0
+ @echoDW = 0.8
+ @sampleRate = 44100
+ @currentProgramIndex = 0
+
+ update
+
+ setNumInputs (1 )
+ setNumOutputs (1 )
+ canProcessReplacing (true )
+ setUniqueID (9876543 )
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ canDo (feature)
+ click to toggle source
+
+
+
+
+
+
noinspection RubyInstanceMethodNamingConvention
+
+
+
+
+
+def canDo (feature )
+ ret = CANDO_NO
+ ret = CANDO_YES if feature == CANDO_PLUG_1_IN_1_OUT
+ ret = CANDO_YES if feature == CANDO_PLUG_PLUG_AS_CHANNEL_INSERT
+ ret = CANDO_YES if feature == CANDO_PLUG_PLUG_AS_SEND
+
+ log ("canDo: #{feature} = #{ret}" )
+ ret
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+ currentProgram ()
+ click to toggle source
+
+
+
+
+
+
noinspection RubyInstanceMethodNamingConvention
+
+
+
+
+
+def currentProgram
+ PROGRAMS [@currentProgramIndex ]
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+ getEffectname ()
+ click to toggle source
+
+
+
+
+
+
noinspection RubyInstanceMethodNamingConvention
+
+
+
+
+
+def getEffectname
+ "Delay"
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+ getNumParams ()
+ click to toggle source
+
+
+
+
+
+
noinspection RubyInstanceMethodNamingConvention
+
+
+
+
+
+def getNumParams
+ NUM_PARAMS
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+ getNumPrograms ()
+ click to toggle source
+
+
+
+
+
+
noinspection RubyInstanceMethodNamingConvention
+
+
+
+
+
+def getNumPrograms
+ PROGRAMS .size
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+ getParameter (index)
+ click to toggle source
+
+
+
+
+
+
noinspection RubyInstanceMethodNamingConvention
+
+
+
+
+
+def getParameter (index )
+ if index < currentProgram .size
+ return currentProgram [index ]
+ else
+ return 0.0
+ end
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+ getParameterDisplay (index)
+ click to toggle source
+
+
+
+
+
+
noinspection RubyInstanceMethodNamingConvention
+
+
+
+
+
+def getParameterDisplay (index )
+ if index < currentProgram .size
+ return ((100 * PARAM_PRINT_MUL [index ] * currentProgram [index ]) / 100.0 ).to_s
+ else
+ return "0.0"
+ end
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+ getParameterLabel (index)
+ click to toggle source
+
+
+
+
+
+
noinspection RubyInstanceMethodNamingConvention
+
+
+
+
+
+def getParameterLabel (index )
+ if index < currentProgram .size
+ return PARAM_LABELS [index ]
+ else
+ return ""
+ end
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+ getParameterName (index)
+ click to toggle source
+
+
+
+
+
+
noinspection RubyInstanceMethodNamingConvention
+
+
+
+
+
+def getParameterName (index )
+ if index < currentProgram .size
+ return PARAM_NAMES [index ]
+ else
+ return "param: #{index}"
+ end
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+ getPlugCategory ()
+ click to toggle source
+
+
+
+
+
+
noinspection RubyInstanceMethodNamingConvention
+
+
+
+
+
+def getPlugCategory
+ log ("getPlugCategory" )
+ PLUG_CATEG_EFFECT
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+ getProductString ()
+ click to toggle source
+
+
+
+
+
+
noinspection RubyInstanceMethodNamingConvention
+
+
+
+
+
+def getProductString
+ "Opaz"
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+ getProgram ()
+ click to toggle source
+
+
+
+
+
+
noinspection RubyInstanceMethodNamingConvention
+
+
+
+
+
+def getProgram
+ @currentProgramIndex
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+ getProgramName ()
+ click to toggle source
+
+
+
+
+
+
noinspection RubyInstanceMethodNamingConvention
+
+
+
+
+
+def getProgramName
+ "program #{@currentProgramIndex}"
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+ getProgramNameIndexed (category, index)
+ click to toggle source
+
+
+
+
+
+
noinspection RubyInstanceMethodNamingConvention
+
+
+
+
+
+def getProgramNameIndexed (category , index )
+ "Prog: cat #{category}, #{index}"
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+ getVendorString ()
+ click to toggle source
+
+
+
+
+
+
noinspection RubyInstanceMethodNamingConvention
+
+
+
+
+
+def getVendorString
+ "LoGeek"
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+ log (msg)
+ click to toggle source
+
+
+
+
+
+
convenience
+
+
+
+
+
+def log (msg )
+ VSTPluginAdapter .log ("JRuby: #{msg}" )
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+ processReplacing (inputs, outputs, sampleFrames)
+ click to toggle source
+
+
+
+
+
+
noinspection RubyInstanceMethodNamingConvention
+
+
+
+
+
+def processReplacing (inputs , outputs , sampleFrames )
+ inBuffer = inputs [0 ]
+ outBuffer = outputs [0 ]
+ for i in (0 .. sampleFrames - 1 )
+ exVal = inBuffer [i ]
+ echoRead = @echoPos + @echoLFODiff
+ if (echoRead >= @echoSize - 1 )
+ echoRead -= @echoSize
+ end
+
+
+
+
+
+
+ out = inBuffer [i ]
+ outBuffer [i ] = out *@echoDW
+
+
+
+
+ @echo [@echoPos ] = exVal
+ @echoPos += 1
+ if (@echoPos >= @echoSize )
+ @echoPos = 0
+ end
+ end
+
+ @echoLFODiff = @echoLFODiffMax * (1.0 + Math .sin (@echoLFOPos ))
+ @echoLFOPos += @echoLFOSpeed * sampleFrames
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+ setBypass (value)
+ click to toggle source
+
+
+
+
+
+
noinspection RubyInstanceMethodNamingConvention
+
+
+
+
+
+def setBypass (value )
+ false
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+ setEchoTime (millisDelay)
+ click to toggle source
+
+
+
+
+
+
noinspection RubyInstanceMethodNamingConvention
+
+
+
+
+
+def setEchoTime (millisDelay )
+ @echoSize = millisDelay * (@sampleRate / 1000 )
+ @echo = Array .new (@echoSize ) { | i | 0.0 } unless @echo .size == @echoSize
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+ setParameter (index, value)
+ click to toggle source
+
+
+
+
+
+
noinspection RubyInstanceMethodNamingConvention
+
+
+
+
+
+def setParameter (index , value )
+ currentProgram [index ] = value
+ update
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+ setProgram (index)
+ click to toggle source
+
+
+
+
+
+
noinspection RubyInstanceMethodNamingConvention
+
+
+
+
+
+def setProgram (index )
+ @currentProgramIndex = index
+ update
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+ setProgramName (name)
+ click to toggle source
+
+
+
+
+
+
noinspection RubyInstanceMethodNamingConvention
+
+
+
+
+
+def setProgramName (name )
+
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+ setSampleRate (sampleRate)
+ click to toggle source
+
+
+
+
+
+
noinspection RubyInstanceMethodNamingConvention
+
+
+
+
+
+def setSampleRate (sampleRate )
+ @sampleRate = sampleRate
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+ string2Parameter (index, value)
+ click to toggle source
+
+
+
+
+
+
noinspection RubyInstanceMethodNamingConvention
+
+
+
+
+
+def string2Parameter (index , value )
+ begin
+ setParameter (index , Float (value )) unless value .nil?
+ return true
+ rescue
+ return false
+ end
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+ update ()
+ click to toggle source
+
+
+
+
+
+
+
+
+
+
+
+def update
+ setEchoTime (currentProgram [P_DELAY_TIME ] * 1000 )
+ @echoFeedback = currentProgram [P_FEEDBACK ]
+ @echoLFOSpeed = currentProgram [P_LFO_FREQUENCY ] * 2 * 3.1415 / @sampleRate
+ @echoLFODepth = currentProgram [P_LFO_DEPTH ]
+ @echoLFODiffMax = (@echoSize / 2.0 ) * @echoLFODepth
+ @echoLFODiff = 0
+ @echoDW = currentProgram [P_WET_DRY_MIX ]
+ @echoPos = 0
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/rdoc/RubyFreeComp.html b/docs/rdoc/RubyFreeComp.html
new file mode 100644
index 0000000..412c9d5
--- /dev/null
+++ b/docs/rdoc/RubyFreeComp.html
@@ -0,0 +1,424 @@
+
+
+
+
+
+
+class RubyFreeComp - RDoc Documentation
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
class RubyFreeComp
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ init ()
+ click to toggle source
+
+
+
+
+
+
+
+
+
+
+
+def init
+ @final_gain = 1.0
+ @env = 0.0
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+ process (inputs, outputs, sampleFrames)
+ click to toggle source
+
+
+
+
+
+
+
+
+
+
+
+def process (inputs , outputs , sampleFrames )
+
+ init if @final_gain .nil?
+ slider
+
+
+ inBuffer , outBuffer = inputs [0 ], outputs [0 ]
+ for i in (0 .. sampleFrames - 1 )
+ outBuffer [i ] = sample (inBuffer [i ])
+ end
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+ sample (spl0)
+ click to toggle source
+
+
+
+
+
+
mono version to get started
+
+
+
+
+
+def sample (spl0 )
+ det = spl0 .abs
+ det += 10e-30
+
+ @env = det >= @env ? det : det + @env_rel *(@env - det )
+ gain = @env > @thresh ? (@env ** @transA )*@transB : @output_gain
+
+ @final_gain = gain < @final_gain ? gain + @att_coef *(@final_gain - gain ) : gain + @rel_coef *(@final_gain - gain )
+ spl0 *= @final_gain
+
+
+ spl0
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+ slider ()
+ click to toggle source
+
+
+
+
+
+
noinspection RubyInstanceVariableNamingConvention
+
+
+
+
+
+def slider
+ @env_rel = Math .exp (-1 / (0.25 *release *sample_rate ))
+ @thresh = 10 ** (threshold / 20.0 )
+ @transA = (1 / ratio ) - 1
+ @transB = 10 ** (output / 20.0 ) * (@thresh ** (1 - (1 / ratio )))
+ @output_gain = 10 ** (output / 20.0 )
+ @att_coef = Math .exp (-1 / (attack / 1000.0 *sample_rate ))
+ @rel_coef = Math .exp (-1 / (release / 1000.0 *sample_rate ))
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/rdoc/RubyGain.html b/docs/rdoc/RubyGain.html
new file mode 100644
index 0000000..d43cc12
--- /dev/null
+++ b/docs/rdoc/RubyGain.html
@@ -0,0 +1,306 @@
+
+
+
+
+
+
+class RubyGain - RDoc Documentation
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
class RubyGain
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ process (inputs, outputs, sampleFrames)
+ click to toggle source
+
+
+
+
+
+
+
+
+
+
+
+def process (inputs , outputs , sampleFrames )
+ inBuffer , outBuffer = inputs [0 ], outputs [0 ]
+ for i in (0 .. sampleFrames - 1 )
+ outBuffer [i ] = inBuffer [i ] * gain
+ end
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/rdoc/RubyGainGUI.html b/docs/rdoc/RubyGainGUI.html
new file mode 100644
index 0000000..f413a47
--- /dev/null
+++ b/docs/rdoc/RubyGainGUI.html
@@ -0,0 +1,427 @@
+
+
+
+
+
+
+class RubyGainGUI - RDoc Documentation
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
class RubyGainGUI
+
+
+
+
noinspection
+RubyInstanceMethodNamingConvention,RubyUnusedLocalVariable,RubyResolve
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ frame [R]
+
+
+
+
+
+
+
+
+
+
+
+ plugin [R]
+
+
+
+
+
+
+
+
+
+
+
+ slider [R]
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ new (plugin, frame)
+ click to toggle source
+
+
+
+
+
+
+
+
+
+
+
+def initialize (plugin , frame )
+ @frame = frame
+ @plugin = plugin
+
+
+
+
+ irb = IRBPluginGUI .new (JRuby .runtime )
+
+ frame .setTitle ("RubyGain GUI" )
+ frame .setSize (400 , 300 )
+
+ puts "gain=#{plugin.gain*100}"
+ @slider = javax .swing .JSlider .new (0 , 100 , plugin .gain *100 )
+
+ listener = javax .swing .event .ChangeListener .impl { | method , *args |
+
+
+
+
+
+
+ unless args [0 ].source .getValueIsAdjusting
+ newval = args [0 ].source .value / 100.0
+ plugin .setParameterAutomated (0 , newval )
+ puts "value changed=#{newval}"
+ end
+ }
+ @slider .addChangeListener (listener )
+ frame .add (@slider )
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ setParameter (index, value)
+ click to toggle source
+
+
+
+
+
+
plug changed param value --> update GUI
+
+
noinspection RubyInstanceMethodNamingConvention
+
+
+
+
+
+def setParameter (index , value )
+ puts "GUI param idx=#{index} val=#{value}"
+ case index
+ when 0
+ java .awt .EventQueue .invoke_later (java .lang .Runnable .impl { | method , *args |
+ slider .setValueIsAdjusting (true );
+ slider .setValue (value *100 )
+ })
+ else
+
+ end
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/rdoc/SimplePlugin.html b/docs/rdoc/SimplePlugin.html
new file mode 100644
index 0000000..a041320
--- /dev/null
+++ b/docs/rdoc/SimplePlugin.html
@@ -0,0 +1,361 @@
+
+
+
+
+
+
+class SimplePlugin - RDoc Documentation
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
class SimplePlugin
+
+
+
+
noinspection ALL
+
+
noinspection ALL
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ new (wrapper)
+ click to toggle source
+
+
+
+
+
+
+
+
+
+
+
+def initialize (wrapper )
+ @in11 = @in12 = @out11 = @out12 = 0.0
+ @p1smooth = 1.0
+ @p1filtercoeff = 0.0007
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ process (inputs, outputs, sampleFrames)
+ click to toggle source
+
+
+
+
+
+
+
+
+
+
+
+def process (inputs , outputs , sampleFrames )
+ in1 , out1 = inputs [0 ], outputs [0 ]
+ for i in (0 .. sampleFrames - 1 )
+ if i % 20 == 0
+ @p1smooth = @p1filtercoeff * p1 + (1.0 - @p1filtercoeff ) * @p1smooth ;
+ c = 1.0 / (Math .tan (Math :: PI * ((0.001 + @p1smooth * p3 ) / 2.15 )));
+ csq = c * c ;
+ q = Math .sqrt (2.0 ) * (1 - p2 ) * (1 - p4 );
+ a0 = 1.0 / (1.0 + (q * c ) + csq );
+ a1 = 2.0 * a0 ;
+ a2 = a0 ;
+ b1 = (2.0 * a0 ) * (1.0 - csq );
+ b2 = a0 * (1.0 - (q * c ) + csq );
+ end
+ out1 [i ] = in1 [i ] * a0 + @in11 * a1 + @in12 * a2 - @out11 * b1 - @out12 * b2 ;
+ @out12 = @out11 ; @out11 = out1 [i ]; @in12 = @in11 ; @in11 = in1 [i ];
+ end
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/rdoc/SimplePluginGUI.html b/docs/rdoc/SimplePluginGUI.html
new file mode 100644
index 0000000..4e6b320
--- /dev/null
+++ b/docs/rdoc/SimplePluginGUI.html
@@ -0,0 +1,346 @@
+
+
+
+
+
+
+class SimplePluginGUI - RDoc Documentation
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
class SimplePluginGUI
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ frame [R]
+
+
+
+
+
+
+
+
+
+
+
+ plugin [R]
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ new (plugin, frame)
+ click to toggle source
+
+
+
+
+
+
+
+
+
+
+
+def initialize (plugin , frame )
+ @frame = frame
+ @plugin = plugin
+
+
+
+
+
+ irb = IRBPluginGUI .new (JRuby .runtime )
+
+ frame .setTitle ("SimplePlugin GUI" )
+ frame .setSize (200 , 120 )
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/rdoc/SuperSaw.html b/docs/rdoc/SuperSaw.html
new file mode 100644
index 0000000..012c5a8
--- /dev/null
+++ b/docs/rdoc/SuperSaw.html
@@ -0,0 +1,502 @@
+
+
+
+
+
+
+class SuperSaw - RDoc Documentation
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
class SuperSaw
+
+
+
+
noinspection RubyClassVariableUsageInspection
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ phat [RW]
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ new (freq = DEFAULT_FREQ, spread=0.5, num=7)
+ click to toggle source
+
+
+
+
+
+
+
+
+
+
+
+def initialize (freq = DEFAULT_FREQ , spread =0.5 , num =7 )
+ @master = Phasor .new
+ @phasors = (1 .. num - 1 ).map { Phasor .new }
+ @phat = spread
+ setup_tables
+ @hpf = ButterHpf .new (@master .freq )
+ randomize_phase
+ self .freq = freq
+ self
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ clear ()
+ click to toggle source
+
+
+
+
+
+
+
+
+
+
+
+def clear
+ @hpf .clear
+ randomize_phase
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+ freq= (f)
+ click to toggle source
+
+
+
+
+
+
+
+
+
+
+
+def freq= (f )
+ @hpf .freq = @master .freq = @freq = f
+ @phasors .each_with_index { | p , i | p .freq = (1 + @@detune [@phat ] * @@offsets [i ]) * f ; puts "#{i+1}: #{p.freq}" }
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+ randomize_phase ()
+ click to toggle source
+
+
+
+
+
+
+
+
+
+
+
+def randomize_phase
+ @phasors .each { | p | p .phase = Dsp .random }
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+ tick ()
+ click to toggle source
+
+
+
+
+
+
+
+
+
+
+
+def tick
+ osc = @@center [@phat ] * @master .tick
+ osc += @@side [@phat ] * @phasors .inject (0 ) { | sum , p | sum + p .tick }
+ @hpf .tick (osc )
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ticks (samples)
+ click to toggle source
+
+
+
+
+
+
+
+
+
+
+
+def ticks (samples )
+ osc = @@center [@phat ] * Vector [*@master .ticks (samples )]
+ osc = @@side [@phat ] * @phasors .inject (osc ) { | sum , p | sum + Vector [*p .ticks (samples )] }
+ @hpf .ticks (osc .to_a )
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/rdoc/SuperSynth.html b/docs/rdoc/SuperSynth.html
new file mode 100644
index 0000000..c4e19ea
--- /dev/null
+++ b/docs/rdoc/SuperSynth.html
@@ -0,0 +1,550 @@
+
+
+
+
+
+
+class SuperSynth - RDoc Documentation
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
class SuperSynth
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ new (wrapper, opts={:bus => "0x1", :synth => true})
+ click to toggle source
+
+
+
+
+
+
+
+
+
+
+
+def initialize wrapper , opts ={:bus => "0x1" , :synth => true }
+ super wrapper
+ log "Booting #{getEffectName}:#{getProductString}:#{getVendorString}\n with opts=#{opts.inspect}"
+ opts [:in ], opts [:out ] = opts [:bus ].split ("x" ).map (&:to_i ) if opts [:bus ]
+ opts = {:in => 1 , :out => 1 }.merge (opts )
+ setNumInputs opts [:in ]
+ setNumOutputs opts [:out ]
+ canProcessReplacing (true )
+ setUniqueID (unique_id )
+ if opts [:synth ]
+ isSynth (@synth = true )
+
+ end
+
+ @osc = Phasor .new (@@samplerate )
+ canProcessReplacing (true );
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+ sampleRate ()
+ click to toggle source
+
+
+
+
+
+
noinspection RubyClassMethodNamingConvention
+
+
+
+
+
+def self .sampleRate
+
+
+
+
+ @@sampleRate
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+ sampleRate= (srate)
+ click to toggle source
+
+
+
+
+
+
noinspection RubyClassMethodNamingConvention
+
+
+
+
+
+def self .sampleRate= srate
+
+ @@sampleRate = srate
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ getPlugCategory ()
+ click to toggle source
+
+
+
+
+
+
noinspection RubyInstanceMethodNamingConvention
+
+
+
+
+
+def getPlugCategory
+ VSTPluginAdapter .PLUG_CATEG_SYNTH
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+ processEvents (events)
+ click to toggle source
+
+
+
+
+
+
noinspection
+RubyInstanceMethodNamingConvention,RubyInstanceMethodNamingConvention
+
+
+
+
+
+def processEvents (events )
+ Midi .process (events ) do | type , note , velocity , delta |
+ case type
+ when :all_notes_off
+ log "all notes off"
+ @silence = true
+ when :note_on
+ if velocity .zero? && note == @currentNote
+ log "note on zero"
+ @silence = true
+ else
+ log "note on"
+ @silence = false
+ @osc .freq = Midi .krystal_freq (note )
+ @amp = velocity / 127.0
+ @delta = delta
+ end
+ end
+ end
+ 1
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+ processReplacing (inputs, outputs, sampleFrames)
+ click to toggle source
+
+
+
+
+
+
TODO: move this to Java/Mirah
+
+
noinspection RubyInstanceMethodNamingConvention
+
+
+
+
+
+def processReplacing (inputs , outputs , sampleFrames )
+
+ outBuffer = outputs [0 ]
+ if @silence
+ outBuffer .fill (0 , 0 ... sampleFrames )
+ else
+ sampleFrames .times do | i |
+ outBuffer [i ] = 0.99 * gain * @amp * @osc .tick ()
+ end
+ end
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+ setSampleRate (srate)
+ click to toggle source
+
+
+
+
+
+
noinspection RubyInstanceMethodNamingConvention
+
+
+
+
+
+def setSampleRate (srate )
+ super
+ self .sampleRate = srate
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/rdoc/SuperSynthGUI.html b/docs/rdoc/SuperSynthGUI.html
new file mode 100644
index 0000000..f3b4c51
--- /dev/null
+++ b/docs/rdoc/SuperSynthGUI.html
@@ -0,0 +1,345 @@
+
+
+
+
+
+
+class SuperSynthGUI - RDoc Documentation
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
class SuperSynthGUI
+
+
+
+
noinspection RubyResolve
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ frame [R]
+
+
+
+
+
+
+
+
+
+
+
+ plugin [R]
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ new (plugin, frame)
+ click to toggle source
+
+
+
+
+
+
+
+
+
+
+
+def initialize (plugin , frame )
+ @frame = frame
+ @plugin = plugin
+
+
+
+
+
+
+ frame .setTitle ("SuperSynth GUI" )
+ frame .setSize (200 , 120 )
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/rdoc/ToneMatrix.html b/docs/rdoc/ToneMatrix.html
new file mode 100644
index 0000000..9ddf0ec
--- /dev/null
+++ b/docs/rdoc/ToneMatrix.html
@@ -0,0 +1,377 @@
+
+
+
+
+
+
+class ToneMatrix - RDoc Documentation
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
class ToneMatrix
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ new (wrapper)
+ click to toggle source
+
+
+
+
+
+
+
+
+
+
+
+def initialize (wrapper )
+ super (wrapper )
+ setNumInputs (0 )
+ setNumOutputs (1 )
+ canProcessReplacing (true )
+ isSynth (true )
+ suspend
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ process (inputs, outputs, sampleFrames)
+ click to toggle source
+
+
+
+
+
+
+
+
+
+
+
+def process (inputs , outputs , sampleFrames )
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+ processEvents (events)
+ click to toggle source
+
+
+
+
+
+
noinspection RubyInstanceMethodNamingConvention
+
+
+
+
+
+def processEvents (events )
+ 1
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/rdoc/Tri.html b/docs/rdoc/Tri.html
new file mode 100644
index 0000000..6d6e9fe
--- /dev/null
+++ b/docs/rdoc/Tri.html
@@ -0,0 +1,315 @@
+
+
+
+
+
+
+class Tri - RDoc Documentation
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
class Tri
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ FACTOR
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ tick ()
+ click to toggle source
+
+
+
+
+
+
+
+
+
+
+
+def tick
+ idx = phase < 0.5
+ 4 *(FACTOR [idx ]*tock + Phasor :: OFFSET [idx ]) - 1
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/rdoc/WaveFmtChunk.html b/docs/rdoc/WaveFmtChunk.html
new file mode 100644
index 0000000..1e7d8bc
--- /dev/null
+++ b/docs/rdoc/WaveFmtChunk.html
@@ -0,0 +1,571 @@
+
+
+
+
+
+
+class WaveFmtChunk - RDoc Documentation
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
class WaveFmtChunk
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ PACK_FMT
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bit_depth [RW]
+
+
+
+
+
+
+
+
+
+
+
+ block_align [RW]
+
+
+
+
+
+
+
+
+
+
+
+ byte_rate [RW]
+
+
+
+
+
+
+
+
+
+
+
+ num_channels [RW]
+
+
+
+
+
+
+
+
+
+
+
+ sample_rate [RW]
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ new (*binary_data)
+ click to toggle source
+
+
+
+
+
+
+
+
+
+
+
+def initialize (*binary_data )
+ unpack_header_data (binary_data [0 ]) if ! binary_data .empty?
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ calc_block_align ()
+ click to toggle source
+
+
+
+
+
+
+
+
+
+
+
+def calc_block_align
+ @num_channels * (@bit_depth )
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+ calc_byte_rate (sample_rate, num_channels = @num_channels, bit_depth = @bit_depth)
+ click to toggle source
+
+
+
+
+
+
+
+
+
+
+
+def calc_byte_rate (sample_rate , num_channels = @num_channels , bit_depth = @bit_depth )
+ sample_rate * num_channels * (bit_depth / 8 )
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ set_sample_rate (rate)
+ click to toggle source
+
+
+
+
+
+
+
+
+
+
+
+def set_sample_rate (rate )
+ @byte_rate = calc_byte_rate (rate )
+ @sample_rate = rate
+ @block_align = calc_block_align
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/rdoc/created.rid b/docs/rdoc/created.rid
new file mode 100644
index 0000000..94a7cbf
--- /dev/null
+++ b/docs/rdoc/created.rid
@@ -0,0 +1,35 @@
+Wed, 29 Aug 2012 13:07:53 -0400
+./specs/opaz_plug_spec.rb Tue, 21 Aug 2012 11:44:01 -0400
+./plugins/SuperSynth/SuperSynth.rb Tue, 21 Aug 2012 12:16:55 -0400
+./plugins/SuperSynth/midi.rb Tue, 21 Aug 2012 12:16:54 -0400
+./plugins/SimplePlugin/SimplePlugin.rb Tue, 21 Aug 2012 12:16:55 -0400
+./plugins/RubyGain/RubyGain.rb Tue, 21 Aug 2012 12:16:54 -0400
+./plugins/RubyFreeComp/RubyFreeComp.rb Tue, 21 Aug 2012 12:16:55 -0400
+./plugins/RubyDelay/RubyDelay.rb Tue, 21 Aug 2012 12:16:55 -0400
+./plugins/MirahFilta/MirahFilta.rb Tue, 21 Aug 2012 12:16:55 -0400
+./plugins/HybridSynth/magic.rb Tue, 21 Aug 2012 12:16:54 -0400
+./plugins/HybridFilta/HybridFilta.rb Tue, 21 Aug 2012 12:16:55 -0400
+./plugins/SuperSynth/phasor.rb Tue, 21 Aug 2012 12:16:54 -0400
+./plugins/InlineGain/InlineGain.rb Tue, 21 Aug 2012 12:16:55 -0400
+./plugins/HybridGain/HybridGain.rb Tue, 21 Aug 2012 12:16:55 -0400
+./specs/dummy_plug.rb Tue, 21 Aug 2012 12:16:54 -0400
+./plugins/MirahFreeComp/MirahFreeComp.rb Tue, 21 Aug 2012 12:16:54 -0400
+./tasks/prepare.rb Tue, 21 Aug 2012 12:16:54 -0400
+./src/opaz_plug.rb Tue, 21 Aug 2012 12:16:54 -0400
+./plugins/SuperSynth/super_saw.rb Tue, 21 Aug 2012 12:16:54 -0400
+./plugins/SuperSynth/dsp.rb Tue, 21 Aug 2012 12:16:54 -0400
+./plugins/HybridSynth/MidiTools.rb Mon, 20 Aug 2012 11:08:04 -0400
+./plugins/InlineGain/inline.rb Tue, 21 Aug 2012 12:16:54 -0400
+./tasks/benchmark.rb Tue, 21 Aug 2012 12:16:55 -0400
+./tasks/tools.rb Tue, 21 Aug 2012 12:16:54 -0400
+./src/opaz_bootstrap.rb Tue, 21 Aug 2012 12:16:54 -0400
+./plugins/ToneMatrix/ToneMatrix.rb Tue, 21 Aug 2012 12:16:54 -0400
+./plugins/SimplePlugin/live-demo.rb Tue, 21 Aug 2012 12:16:55 -0400
+./plugins/MirahGain/MirahGain.rb Tue, 21 Aug 2012 12:16:55 -0400
+./plugins/HybridSynth/HybridSynth.rb Tue, 21 Aug 2012 12:16:54 -0400
+./Rakefile Tue, 21 Aug 2012 12:16:54 -0400
+./plugins/SuperSynth/tri.rb Sun, 19 Aug 2012 20:12:08 -0400
+./plugins/SuperSynth/RAFL_wav.rb Tue, 21 Aug 2012 12:16:54 -0400
+./plugins/SuperSynth/polyphonic_synth.rb Tue, 21 Aug 2012 12:16:54 -0400
+./plugins/SimplePlugin/README Sun, 19 Aug 2012 20:12:08 -0400
+./plugins/InlineGain/java_inline.rb Tue, 21 Aug 2012 12:16:54 -0400
diff --git a/docs/rdoc/images/add.png b/docs/rdoc/images/add.png
new file mode 100644
index 0000000..6332fef
Binary files /dev/null and b/docs/rdoc/images/add.png differ
diff --git a/docs/rdoc/images/brick.png b/docs/rdoc/images/brick.png
new file mode 100644
index 0000000..7851cf3
Binary files /dev/null and b/docs/rdoc/images/brick.png differ
diff --git a/docs/rdoc/images/brick_link.png b/docs/rdoc/images/brick_link.png
new file mode 100644
index 0000000..9ebf013
Binary files /dev/null and b/docs/rdoc/images/brick_link.png differ
diff --git a/docs/rdoc/images/bug.png b/docs/rdoc/images/bug.png
new file mode 100644
index 0000000..2d5fb90
Binary files /dev/null and b/docs/rdoc/images/bug.png differ
diff --git a/docs/rdoc/images/bullet_black.png b/docs/rdoc/images/bullet_black.png
new file mode 100644
index 0000000..5761970
Binary files /dev/null and b/docs/rdoc/images/bullet_black.png differ
diff --git a/docs/rdoc/images/bullet_toggle_minus.png b/docs/rdoc/images/bullet_toggle_minus.png
new file mode 100644
index 0000000..b47ce55
Binary files /dev/null and b/docs/rdoc/images/bullet_toggle_minus.png differ
diff --git a/docs/rdoc/images/bullet_toggle_plus.png b/docs/rdoc/images/bullet_toggle_plus.png
new file mode 100644
index 0000000..9ab4a89
Binary files /dev/null and b/docs/rdoc/images/bullet_toggle_plus.png differ
diff --git a/docs/rdoc/images/date.png b/docs/rdoc/images/date.png
new file mode 100644
index 0000000..783c833
Binary files /dev/null and b/docs/rdoc/images/date.png differ
diff --git a/docs/rdoc/images/delete.png b/docs/rdoc/images/delete.png
new file mode 100644
index 0000000..08f2493
Binary files /dev/null and b/docs/rdoc/images/delete.png differ
diff --git a/docs/rdoc/images/find.png b/docs/rdoc/images/find.png
new file mode 100644
index 0000000..1547479
Binary files /dev/null and b/docs/rdoc/images/find.png differ
diff --git a/docs/rdoc/images/loadingAnimation.gif b/docs/rdoc/images/loadingAnimation.gif
new file mode 100644
index 0000000..82290f4
Binary files /dev/null and b/docs/rdoc/images/loadingAnimation.gif differ
diff --git a/docs/rdoc/images/macFFBgHack.png b/docs/rdoc/images/macFFBgHack.png
new file mode 100644
index 0000000..c6473b3
Binary files /dev/null and b/docs/rdoc/images/macFFBgHack.png differ
diff --git a/docs/rdoc/images/package.png b/docs/rdoc/images/package.png
new file mode 100644
index 0000000..da3c2a2
Binary files /dev/null and b/docs/rdoc/images/package.png differ
diff --git a/docs/rdoc/images/page_green.png b/docs/rdoc/images/page_green.png
new file mode 100644
index 0000000..de8e003
Binary files /dev/null and b/docs/rdoc/images/page_green.png differ
diff --git a/docs/rdoc/images/page_white_text.png b/docs/rdoc/images/page_white_text.png
new file mode 100644
index 0000000..813f712
Binary files /dev/null and b/docs/rdoc/images/page_white_text.png differ
diff --git a/docs/rdoc/images/page_white_width.png b/docs/rdoc/images/page_white_width.png
new file mode 100644
index 0000000..1eb8809
Binary files /dev/null and b/docs/rdoc/images/page_white_width.png differ
diff --git a/docs/rdoc/images/plugin.png b/docs/rdoc/images/plugin.png
new file mode 100644
index 0000000..6187b15
Binary files /dev/null and b/docs/rdoc/images/plugin.png differ
diff --git a/docs/rdoc/images/ruby.png b/docs/rdoc/images/ruby.png
new file mode 100644
index 0000000..f763a16
Binary files /dev/null and b/docs/rdoc/images/ruby.png differ
diff --git a/docs/rdoc/images/tag_blue.png b/docs/rdoc/images/tag_blue.png
new file mode 100644
index 0000000..3f02b5f
Binary files /dev/null and b/docs/rdoc/images/tag_blue.png differ
diff --git a/docs/rdoc/images/tag_green.png b/docs/rdoc/images/tag_green.png
new file mode 100644
index 0000000..83ec984
Binary files /dev/null and b/docs/rdoc/images/tag_green.png differ
diff --git a/docs/rdoc/images/transparent.png b/docs/rdoc/images/transparent.png
new file mode 100644
index 0000000..d665e17
Binary files /dev/null and b/docs/rdoc/images/transparent.png differ
diff --git a/docs/rdoc/images/wrench.png b/docs/rdoc/images/wrench.png
new file mode 100644
index 0000000..5c8213f
Binary files /dev/null and b/docs/rdoc/images/wrench.png differ
diff --git a/docs/rdoc/images/wrench_orange.png b/docs/rdoc/images/wrench_orange.png
new file mode 100644
index 0000000..565a933
Binary files /dev/null and b/docs/rdoc/images/wrench_orange.png differ
diff --git a/docs/rdoc/images/zoom.png b/docs/rdoc/images/zoom.png
new file mode 100644
index 0000000..908612e
Binary files /dev/null and b/docs/rdoc/images/zoom.png differ
diff --git a/docs/rdoc/index.html b/docs/rdoc/index.html
new file mode 100644
index 0000000..b816bc6
--- /dev/null
+++ b/docs/rdoc/index.html
@@ -0,0 +1,208 @@
+
+
+
+
+
+
+RDoc Documentation
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+This is the API documentation for RDoc Documentation.
+
+
+
+
diff --git a/docs/rdoc/js/darkfish.js b/docs/rdoc/js/darkfish.js
new file mode 100644
index 0000000..4be722f
--- /dev/null
+++ b/docs/rdoc/js/darkfish.js
@@ -0,0 +1,153 @@
+/**
+ *
+ * Darkfish Page Functions
+ * $Id: darkfish.js 53 2009-01-07 02:52:03Z deveiant $
+ *
+ * Author: Michael Granger
+ *
+ */
+
+/* Provide console simulation for firebug-less environments */
+if (!("console" in window) || !("firebug" in console)) {
+ var names = ["log", "debug", "info", "warn", "error", "assert", "dir", "dirxml",
+ "group", "groupEnd", "time", "timeEnd", "count", "trace", "profile", "profileEnd"];
+
+ window.console = {};
+ for (var i = 0; i < names.length; ++i)
+ window.console[names[i]] = function() {};
+};
+
+
+/**
+ * Unwrap the first element that matches the given @expr@ from the targets and return them.
+ */
+$.fn.unwrap = function( expr ) {
+ return this.each( function() {
+ $(this).parents( expr ).eq( 0 ).after( this ).remove();
+ });
+};
+
+
+function showSource( e ) {
+ var target = e.target;
+ var codeSections = $(target).
+ parents('.method-detail').
+ find('.method-source-code');
+
+ $(target).
+ parents('.method-detail').
+ find('.method-source-code').
+ slideToggle();
+};
+
+function hookSourceViews() {
+ $('.method-heading').click( showSource );
+};
+
+function toggleDebuggingSection() {
+ $('.debugging-section').slideToggle();
+};
+
+function hookDebuggingToggle() {
+ $('#debugging-toggle img').click( toggleDebuggingSection );
+};
+
+function hookTableOfContentsToggle() {
+ $('.indexpage li .toc-toggle').each( function() {
+ $(this).click( function() {
+ $(this).toggleClass('open');
+ });
+
+ var section = $(this).next();
+
+ $(this).click( function() {
+ section.slideToggle();
+ });
+ });
+}
+
+function hookSearch() {
+ var input = $('#search-field').eq(0);
+ var result = $('#search-results').eq(0);
+ $(result).show();
+
+ var search_section = $('#search-section').get(0);
+ $(search_section).show();
+
+ var search = new Search(search_data, input, result);
+
+ search.renderItem = function(result) {
+ var li = document.createElement('li');
+ var html = '';
+
+ // TODO add relative path to
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
An simple plugin that can be used as a starting point for development (very
+similar to RubyGain for the moment, but
+with additional comments)
+
+
+
+
+
+
+
diff --git a/docs/rdoc/rdoc.css b/docs/rdoc/rdoc.css
new file mode 100644
index 0000000..755b546
--- /dev/null
+++ b/docs/rdoc/rdoc.css
@@ -0,0 +1,543 @@
+/*
+ * "Darkfish" Rdoc CSS
+ * $Id: rdoc.css 54 2009-01-27 01:09:48Z deveiant $
+ *
+ * Author: Michael Granger
+ *
+ */
+
+/* Base Green is: #6C8C22 */
+
+* { padding: 0; margin: 0; }
+
+body {
+ background: #efefef;
+ font: 14px "Helvetica Neue", Helvetica, Tahoma, sans-serif;
+ margin-left: 40px;
+}
+body.file-popup {
+ font-size: 90%;
+ margin-left: 0;
+}
+
+h1 {
+ font-size: 300%;
+ text-shadow: rgba(135,145,135,0.65) 2px 2px 3px;
+ color: #6C8C22;
+}
+h2,h3,h4 { margin-top: 1.5em; }
+
+:link,
+:visited {
+ color: #6C8C22;
+ text-decoration: none;
+}
+:link:hover,
+:visited:hover {
+ border-bottom: 1px dotted #6C8C22;
+}
+
+pre {
+ background: #ddd;
+ padding: 0.5em 0;
+}
+
+/* @group Generic Classes */
+
+.initially-hidden {
+ display: none;
+}
+
+#search-field {
+ width: 98%;
+ background: #eee;
+ border: none;
+ height: 1.5em;
+ -webkit-border-radius: 4px;
+}
+#search-field:focus {
+ background: #f1edba;
+}
+#search-field:-moz-placeholder,
+#search-field::-webkit-input-placeholder {
+ font-weight: bold;
+ color: #666;
+}
+
+.missing-docs {
+ font-size: 120%;
+ background: white url(images/wrench_orange.png) no-repeat 4px center;
+ color: #ccc;
+ line-height: 2em;
+ border: 1px solid #d00;
+ opacity: 1;
+ padding-left: 20px;
+ text-indent: 24px;
+ letter-spacing: 3px;
+ font-weight: bold;
+ -webkit-border-radius: 5px;
+ -moz-border-radius: 5px;
+}
+
+.target-section {
+ border: 2px solid #dcce90;
+ border-left-width: 8px;
+ padding: 0 1em;
+ background: #fff3c2;
+}
+
+/* @end */
+
+/* @group Index Page, Standalone file pages */
+.indexpage ul {
+ line-height: 160%;
+ list-style: none;
+}
+.indexpage ul :link,
+.indexpage ul :visited {
+ font-size: 16px;
+}
+
+.indexpage li {
+ padding-left: 20px;
+}
+
+.indexpage ul > li {
+ background: url(images/bullet_black.png) no-repeat left 4px;
+}
+.indexpage li.method {
+ background: url(images/plugin.png) no-repeat left 4px;
+}
+.indexpage li.module {
+ background: url(images/package.png) no-repeat left 4px;
+}
+.indexpage li.class {
+ background: url(images/ruby.png) no-repeat left 4px;
+}
+.indexpage li.file {
+ background: url(images/page_white_text.png) no-repeat left 4px;
+}
+.indexpage li li {
+ background: url(images/tag_blue.png) no-repeat left 4px;
+}
+.indexpage li .toc-toggle {
+ width: 16px;
+ height: 16px;
+ background: url(images/add.png) no-repeat;
+}
+
+.indexpage li .toc-toggle.open {
+ background: url(images/delete.png) no-repeat;
+}
+
+/* @end */
+
+/* @group Top-Level Structure */
+
+#metadata {
+ float: left;
+ width: 260px;
+}
+
+#documentation {
+ margin: 2em 1em 5em 300px;
+ min-width: 340px;
+}
+
+#validator-badges {
+ clear: both;
+ margin: 1em 1em 2em;
+ font-size: smaller;
+}
+
+/* @end */
+
+/* @group Metadata Section */
+#metadata .section {
+ background-color: #dedede;
+ -moz-border-radius: 5px;
+ -webkit-border-radius: 5px;
+ border: 1px solid #aaa;
+ margin: 0 8px 8px;
+ font-size: 90%;
+ overflow: hidden;
+}
+#metadata h3.section-header {
+ margin: 0;
+ padding: 2px 8px;
+ background: #ccc;
+ color: #666;
+ -moz-border-radius-topleft: 4px;
+ -moz-border-radius-topright: 4px;
+ -webkit-border-top-left-radius: 4px;
+ -webkit-border-top-right-radius: 4px;
+ border-bottom: 1px solid #aaa;
+}
+#metadata #home-section h3.section-header {
+ border-bottom: 0;
+}
+
+#metadata ul,
+#metadata dl,
+#metadata p {
+ padding: 8px;
+ list-style: none;
+}
+
+#file-metadata {
+ margin-top: 2em;
+}
+
+#file-metadata ul {
+ padding-left: 28px;
+ list-style-image: url(images/page_green.png);
+}
+
+dl.svninfo {
+ color: #666;
+ margin: 0;
+}
+dl.svninfo dt {
+ font-weight: bold;
+}
+
+ul.link-list li {
+ white-space: nowrap;
+}
+ul.link-list .type {
+ font-size: 8px;
+ text-transform: uppercase;
+ color: white;
+ background: #969696;
+ padding: 2px 4px;
+ -webkit-border-radius: 5px;
+}
+
+/* @end */
+
+/* @group Class Metadata Section */
+#class-metadata {
+ margin-top: 2em;
+}
+/* @end */
+
+/* @group Project Metadata Section */
+#project-metadata {
+ margin-top: 2em;
+}
+
+#project-metadata .section {
+ border: 1px solid #aaa;
+}
+#project-metadata h3.section-header {
+ border-bottom: 1px solid #aaa;
+ position: relative;
+}
+
+#project-metadata form {
+ color: #777;
+ background: #ccc;
+}
+
+/* @end */
+
+/* @group Documentation Section */
+.description {
+ font-size: 100%;
+ color: #333;
+}
+
+.description p {
+ margin: 1em 0.4em;
+}
+
+.description li p {
+ margin: 0;
+}
+
+.description ol,
+.description ul {
+ margin-left: 1.5em;
+}
+.description ol li,
+.description ul li {
+ line-height: 1.4em;
+}
+
+.note-list {
+ margin: 8px 0;
+}
+
+.label-list {
+ margin: 8px 1.5em;
+ border: 1px solid #ccc;
+}
+.description .label-list {
+ font-size: 14px;
+}
+
+.note-list dt {
+ font-weight: bold;
+}
+.note-list dd {
+ padding: 0 12px;
+}
+
+.label-list dt {
+ padding: 2px 4px;
+ font-weight: bold;
+ background: #ddd;
+}
+.label-list dd {
+ padding: 2px 12px;
+}
+.label-list dd + dt,
+.note-list dd + dt {
+ margin-top: 0.7em;
+}
+
+#documentation .section {
+ font-size: 90%;
+}
+
+#documentation h2.section-header {
+ margin-top: 1em;
+ padding: 0.25em 0.5em;
+ background: #ccc;
+ color: #333;
+ font-size: 175%;
+ border: 1px solid #bbb;
+ -moz-border-radius: 3px;
+ -webkit-border-radius: 3px;
+}
+
+.documentation-section-title {
+ position: relative;
+}
+.documentation-section-title .section-click-top {
+ position: absolute;
+ top: 6px;
+ right: 12px;
+ font-size: 10px;
+ color: #9b9877;
+ visibility: hidden;
+ padding-right: 0.5px;
+}
+
+.documentation-section-title:hover .section-click-top {
+ visibility: visible;
+}
+
+#documentation h3.section-header {
+ margin-top: 1em;
+ padding: 0.25em 0.5em;
+ background-color: #dedede;
+ color: #333;
+ font-size: 150%;
+ border: 1px solid #bbb;
+ -moz-border-radius: 3px;
+ -webkit-border-radius: 3px;
+}
+
+#constants-list > dl,
+#attributes-list > dl {
+ margin: 1em 0 2em;
+ border: 0;
+}
+#constants-list > dl dt,
+#attributes-list > dl dt {
+ padding-left: 0;
+ font-weight: bold;
+ font-family: Monaco, "Andale Mono";
+ background: inherit;
+}
+#constants-list > dl dt a,
+#attributes-list > dl dt a {
+ color: inherit;
+}
+#constants-list > dl dd,
+#attributes-list > dl dd {
+ margin: 0 0 1em 0;
+ padding: 0;
+ color: #666;
+}
+
+.documentation-section h2 {
+ position: relative;
+}
+
+.documentation-section h2 a {
+ position: absolute;
+ top: 8px;
+ right: 10px;
+ font-size: 12px;
+ color: #9b9877;
+ visibility: hidden;
+}
+
+.documentation-section h2:hover a {
+ visibility: visible;
+}
+
+/* @group Method Details */
+
+#documentation .method-source-code {
+ display: none;
+}
+
+#documentation .method-detail {
+ margin: 0.5em 0;
+ padding: 0.5em 0;
+ cursor: pointer;
+}
+#documentation .method-detail:hover {
+ background-color: #f1edba;
+}
+#documentation .method-heading {
+ position: relative;
+ padding: 2px 4px 0 20px;
+ font-size: 125%;
+ font-weight: bold;
+ color: #333;
+ background: url(images/brick.png) no-repeat left bottom;
+}
+#documentation .method-heading :link,
+#documentation .method-heading :visited {
+ color: inherit;
+}
+#documentation .method-click-advice {
+ position: absolute;
+ top: 2px;
+ right: 5px;
+ font-size: 10px;
+ color: #9b9877;
+ visibility: hidden;
+ padding-right: 20px;
+ line-height: 20px;
+ background: url(images/zoom.png) no-repeat right top;
+}
+#documentation .method-heading:hover .method-click-advice {
+ visibility: visible;
+}
+
+#documentation .method-alias .method-heading {
+ color: #666;
+ background: url(images/brick_link.png) no-repeat left bottom;
+}
+
+#documentation .method-description,
+#documentation .aliases {
+ margin: 0 20px;
+ color: #666;
+}
+
+#documentation .method-description p,
+#documentation .aliases p {
+ line-height: 1.2em;
+}
+
+#documentation .aliases {
+ padding-top: 4px;
+ font-style: italic;
+ cursor: default;
+}
+#documentation .method-description p {
+ margin-bottom: 0.5em;
+}
+#documentation .method-description ul {
+ margin-left: 1.5em;
+}
+pre {
+ margin: 0.5em 0;
+}
+
+#documentation .attribute-method-heading {
+ background: url(images/tag_green.png) no-repeat left bottom;
+}
+#documentation #attribute-method-details .method-detail:hover {
+ background-color: transparent;
+ cursor: default;
+}
+#documentation .attribute-access-type {
+ font-size: 60%;
+ text-transform: uppercase;
+ vertical-align: super;
+ padding: 0 2px;
+}
+/* @end */
+
+/* @end */
+
+/* @group Source Code */
+
+pre {
+ overflow: auto;
+ background: #262626;
+ color: white;
+ border: 1px dashed #999;
+ padding: 0.5em;
+}
+
+.description pre {
+ margin: 0 0.4em;
+}
+
+.ruby-constant { color: #7fffd4; background: transparent; }
+.ruby-keyword { color: #00ffff; background: transparent; }
+.ruby-ivar { color: #eedd82; background: transparent; }
+.ruby-operator { color: #00ffee; background: transparent; }
+.ruby-identifier { color: #ffdead; background: transparent; }
+.ruby-node { color: #ffa07a; background: transparent; }
+.ruby-comment { color: #dc0000; font-weight: bold; background: transparent; }
+.ruby-regexp { color: #ffa07a; background: transparent; }
+.ruby-value { color: #7fffd4; background: transparent; }
+
+/* @end */
+
+
+/* @group search results */
+#search-results h1 {
+ font-size: 1em;
+ font-weight: normal;
+ text-shadow: none;
+}
+
+#search-results .current {
+ background: #ccc;
+ border-bottom: 1px solid transparent;
+}
+
+#search-results li {
+ list-style: none;
+ border-bottom: 1px solid #aaa;
+ -moz-border-radius: 4px;
+ -webkit-border-radius: 4px;
+ border-radius: 4px;
+ margin-bottom: 0.5em;
+}
+
+#search-results li:last-child {
+ border-bottom: none;
+ margin-bottom: 0;
+}
+
+#search-results li p {
+ padding: 0;
+ margin: 0.5em;
+}
+
+#search-results .search-namespace {
+ font-weight: bold;
+}
+
+#search-results li em {
+ background: yellow;
+ font-style: normal;
+}
+
+#search-results pre {
+ margin: 0.5em;
+}
+
+/* @end */
+
diff --git a/docs/rdoc/table_of_contents.html b/docs/rdoc/table_of_contents.html
new file mode 100644
index 0000000..22bd182
--- /dev/null
+++ b/docs/rdoc/table_of_contents.html
@@ -0,0 +1,842 @@
+
+
+
+
+
+
+Table of Contents - RDoc Documentation
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Table of Contents - RDoc Documentation
+
+Pages
+
+
+Classes/Modules
+
+
+Methods
+
+
+
+
+
diff --git a/libs/.gitignore b/libs/.gitignore
deleted file mode 100644
index f0f491f..0000000
--- a/libs/.gitignore
+++ /dev/null
@@ -1,2 +0,0 @@
-*.jar
-temp
\ No newline at end of file
diff --git a/libs/jVSTsYstem-1.0beta.jar b/libs/jVSTsYstem-1.0beta.jar
deleted file mode 100755
index 7907d0e..0000000
Binary files a/libs/jVSTsYstem-1.0beta.jar and /dev/null differ
diff --git a/libs/jVSTwRapper-1.0beta.jar b/libs/jVSTwRapper-1.0beta.jar
deleted file mode 100755
index 70cc48e..0000000
Binary files a/libs/jVSTwRapper-1.0beta.jar and /dev/null differ
diff --git a/libs/jruby-complete-1.6.1.jar b/libs/jruby-complete-1.6.1.jar
deleted file mode 100644
index 822d3d1..0000000
Binary files a/libs/jruby-complete-1.6.1.jar and /dev/null differ
diff --git a/plugins/DubyFilta/DubyFilta.rb b/plugins/DubyFilta/DubyFilta.rb
deleted file mode 100644
index e2215e7..0000000
--- a/plugins/DubyFilta/DubyFilta.rb
+++ /dev/null
@@ -1,20 +0,0 @@
-include_class Java::DubyTools
-
-class DubyFilta < OpazPlug
- plugin "DubyFilta", "Opaz", "LoGeek"
- can_do "1in1out", "plugAsChannelInsert", "plugAsSend"
- unique_id "dflt"
-
- param :cut_off, "Cut Off", 1.0
- param :resonance, "Resonance", 0.1
- param :mode, "Mode (LP or HP)", 0
-
- def filter
- @filter ||= DubyTools.new
- end
-
- def process(inputs, outputs, sampleFrames)
- filter.recompute_parameters(cut_off, resonance, (mode < 0.5 ? +1 : -1), sample_rate)
- filter.apply(inputs[0], outputs[0], sampleFrames)
- end
-end
diff --git a/plugins/DubyFilta/README b/plugins/DubyFilta/README
deleted file mode 100644
index 496e633..0000000
--- a/plugins/DubyFilta/README
+++ /dev/null
@@ -1 +0,0 @@
-Work in progress of filter implemented in JRuby + Duby
\ No newline at end of file
diff --git a/plugins/DubyFreeComp/DubyFreeComp.rb b/plugins/DubyFreeComp/DubyFreeComp.rb
deleted file mode 100644
index 25f1be3..0000000
--- a/plugins/DubyFreeComp/DubyFreeComp.rb
+++ /dev/null
@@ -1,22 +0,0 @@
-include_class Java::DubyFreeCompTools
-
-class DubyFreeComp < OpazPlug
- plugin "DubyFreeComp", "Opaz", "LoGeek"
- can_do "1in1out", "plugAsChannelInsert", "plugAsSend"
- unique_id "dfcp"
-
- param :threshold, "Threshold", 0, "dB", (-60.0..6.0)
- param :ratio, "Ratio", 1, "n:1", (1.0..100.0)
- param :attack, "Attack", 20, "ms", (0.0..250.0)
- param :release, "Release", 200, "ms", (25.0..2500.0)
- param :output, "Output", 0, "dB", (0.0..30.0)
-
- def tools
- @tools ||= DubyFreeCompTools.new
- end
-
- def process(inputs, outputs, sampleFrames)
- tools.slider(threshold,ratio,attack,release,output,sample_rate)
- tools.process(inputs[0],outputs[0], sampleFrames)
- end
-end
diff --git a/plugins/DubyGain/DubyGain.rb b/plugins/DubyGain/DubyGain.rb
deleted file mode 100644
index 5066054..0000000
--- a/plugins/DubyGain/DubyGain.rb
+++ /dev/null
@@ -1,13 +0,0 @@
-include_class Java::DubyGainTools
-
-class DubyGain < OpazPlug
- plugin "DubyGain", "Opaz", "LoGeek"
- can_do "1in1out", "plugAsChannelInsert", "plugAsSend"
- unique_id "DGaN"
-
- param :gain, "Gain", 1.0, "dB"
-
- def process(inputs, outputs, sampleFrames)
- DubyGainTools.process(inputs[0], outputs[0], sampleFrames, gain)
- end
-end
diff --git a/plugins/HybridFilta/FilterTools.java b/plugins/HybridFilta/FilterTools.java
index 0fa7d0b..59ecab0 100644
--- a/plugins/HybridFilta/FilterTools.java
+++ b/plugins/HybridFilta/FilterTools.java
@@ -1,62 +1,74 @@
-// ahh, the irony. Java is now the assembler of JRuby.
-// this code has been inspired by existing code, then translated to C# and Java.
-// sorry I cannot credit the original author.
+
+//ahh, the irony. Java is now the assembler of JRuby.
+//this code has been inspired by existing code, then translated to C# and Java.
+//sorry I cannot credit the original author.
public class FilterTools {
- float f,r,c,a1,a2,a3,b1,b2;
-
- public void recomputeParameters(float cutoff, float resonance, boolean lowPassMode, float sampleRate) {
- r = (1-resonance) * 10f; // r = rez amount, from sqrt(2) to ~ 0.1
- if (r<0.1f)
- r=0.1f;
- f = cutoff * sampleRate/4; // replace 44100 by context.samplerate later (or /4 ?)
- if (f<40f)
- f=40f;
-
- if (lowPassMode) // lowpass mode
- {
- c = (float)(1.0 / Math.tan(Math.PI * f / sampleRate));
-
- a1 = 1.0f / ( 1.0f + r * c + c * c);
- a2 = 2* a1;
- a3 = a1;
- b1 = 2.0f * ( 1.0f - c*c) * a1;
- b2 = ( 1.0f - r * c + c * c) * a1;
- }
- else // hipass mode
- {
- c = (float)Math.tan(Math.PI * f / sampleRate);
-
- a1 = 1.0f / ( 1.0f + r * c + c * c);
- a2 = -2*a1;
- a3 = a1;
- b1 = 2.0f * ( c*c - 1.0f) * a1;
- b2 = ( 1.0f - r * c + c * c) * a1;
- }
- }
-
- // history elements ih(x)_(y) : input sample n-y on voice x, oh(x)_y : output sample n-y on voice x
- float ih1_1=0,ih1_2=0,oh1_1=0,oh1_2=0;
-
- float computeFilter(float inp0,float inp1,float inp2,float outp1,float outp2)
- {
- return a1 * inp0 + a2 * inp1 + a3 * inp2 - b1*outp1 - b2*outp2;
- }
-
- public void apply(float[][] inputs, float[][] outputs, int sampleFrames) {
- // one channel only for the moment
- float[] input0 = inputs[0];
- float[] output0 = outputs[0];
-
- // TODO: move the whole following code to some more functional-styled code, if possible
- output0[0] = computeFilter( input0[0], ih1_1, ih1_2, oh1_1,oh1_2);
- output0[1] = computeFilter( input0[1], input0[0], ih1_1, output0[0], oh1_1);
- for (int sample=2;sample 0) {
- if (this.currentDelta >= sampleFrames) { //future
- this.currentDelta -= sampleFrames;
- return;
- }
- zeroFill(outputs, this.currentDelta);
- start = this.currentDelta;
- sampleFrames -= this.currentDelta;
- this.currentDelta = 0;
- }
+ public void zeroFill(float[][] outputs, int count) {
+ float[] output0 = outputs[0x0];
+ float[] output1 = outputs[0x1];
- computeWave(outputs, wave1, wave2, mask, start, freq1, freq2, vol, volume1, volume);
- }
- else {
- zeroFill(outputs, outputs[0].length); //note off
- }
- }
-}
\ No newline at end of file
+ for (int i = 0x0; i < count; i++) {
+ output0[i] = 0x0;
+ output1[i] = 0x0;
+ }
+ }
+
+ public void computeWave(float[][] outputs, float[] wave1, float[] wave2, int mask, int start, float freq1,
+ float freq2, float vol, float volume1, float volume2) {
+ float[] output0 = outputs[0x0];
+ float[] output1 = outputs[0x1];
+
+ for (int i = start, j = output0.length; i < j; i++) {
+
+ // this is all very raw, there is no means of interpolation,
+ // and we will certainly get aliasing due to non-bandlimited
+ // waveforms. don't use this for serious projects...
+ output0[i] = wave1[(int) phase1 & mask] * volume1 * vol;
+ output1[i] = wave2[(int) phase2 & mask] * volume2 * vol;
+ this.phase1 += freq1;
+ this.phase2 += freq2;
+ }
+ }
+
+ public void processReplacing(float[][] inputs, float[][] outputs, int sampleFrames, float volume, float volume1,
+ float volume2, float frequency1, float frequency2, float waveform1, float waveform2) {
+ if (this.noteIsOn) {
+ float[] out1 = outputs[0x0];
+ float[] out2 = outputs[0x1];
+ float baseFreq = this.frequency_table[this.currentNote & 127] * this.scaler;
+ float freq1 = baseFreq + frequency1; // not really linear...
+ float freq2 = baseFreq + frequency2;
+ float wave1[] = (waveform1 < .5)
+ ? sawtooth
+ : pulse;
+ float wave2[] = (waveform2 < .5)
+ ? sawtooth
+ : pulse;
+ float wsf = (float) waveSize;
+ float vol = (float) (volume * (double) this.currentVelocity * MIDI_SCALER);
+ int mask = waveSize - 0x1;
+ int start = 0x0;
+
+ if (this.currentDelta > 0x0) {
+ if (this.currentDelta >= sampleFrames) { // future
+ this.currentDelta -= sampleFrames;
+
+ return;
+ }
+
+ zeroFill(outputs, this.currentDelta);
+ start = this.currentDelta;
+ sampleFrames -= this.currentDelta;
+ this.currentDelta = 0x0;
+ }
+
+ computeWave(outputs, wave1, wave2, mask, start, freq1, freq2, vol, volume1, volume);
+ } else {
+ zeroFill(outputs, outputs[0x0].length); // note off
+ }
+ }
+}
+
+
+//~ Formatted by Jindent --- http://www.jindent.com
diff --git a/plugins/HybridSynth/MidiTools.rb b/plugins/HybridSynth/MidiTools.rb
index 3b54691..564cb7f 100644
--- a/plugins/HybridSynth/MidiTools.rb
+++ b/plugins/HybridSynth/MidiTools.rb
@@ -1,3 +1,4 @@
+#noinspection ALL
module MidiTools
def notes(ev)
for i in (0..ev.getNumEvents()-1)
diff --git a/plugins/HybridSynth/magic.rb b/plugins/HybridSynth/magic.rb
index cb7303e..574cda5 100644
--- a/plugins/HybridSynth/magic.rb
+++ b/plugins/HybridSynth/magic.rb
@@ -16,12 +16,14 @@ def classify(string)
# temporary code to support flagged enums (AnchorStyles.Bottom | AnchorStyles.Top)
# this code will be removed when | is implemented on enums in IronRuby
module EnumSupport
+ #noinspection RubyResolve
def enum_to_int(enval)
entype = enval.GetType()
undertype = Enum.GetUnderlyingType(entype)
Convert.ChangeType(enval, undertype)
end
-
+
+ #noinspection RubyResolve
def int_to_enum(entype, value)
Enum.ToObject(entype, value)
end
@@ -33,20 +35,21 @@ def int_to_enum(entype, value)
# disabled: require 'magic/enum_support'
# internal sugar to instanciate a given CLR type - apart from enum handling, the code is not CLR specific
+#noinspection ALL
module InstanceCreator
include Classifier
include EnumSupport
-
+
# if klass.property_name is a CLR enum, parse the value to translate it into the CLR enum value
- def parse_enum_if_enum(klass,property_name,value)
+ def parse_enum_if_enum(klass, property_name, value)
is_dotnet_enum = klass.respond_to?(:to_clr_type) && (type = klass.to_clr_type.get_property(classify(property_name.to_s)).property_type) && (type.is_enum)
if is_dotnet_enum
if value.is_a?(Array)
- int_values = value.map { |e| enum_to_int(parse_enum(type,e)) }
- or_combination = int_values.inject { |result,e| result | e }
+ int_values = value.map { |e| enum_to_int(parse_enum(type, e)) }
+ or_combination = int_values.inject { |result, e| result | e }
int_to_enum(type, or_combination)
elsif value.is_a?(Symbol)
- parse_enum(type,value)
+ parse_enum(type, value)
else
value
end
@@ -54,11 +57,11 @@ def parse_enum_if_enum(klass,property_name,value)
value
end
end
-
- def parse_enum(type,value)
+
+ def parse_enum(type, value)
System::Enum.parse(type, classify(value.to_s))
end
-
+
# return the method name to call to set the property, if there is one. Can be either:
# - a .Net property setter
# - or a Java setProperty(x) setter
@@ -66,19 +69,19 @@ def setter?(instance, property_name)
# detect set_x first for java - the second one seems to be detected but fails to work, for some reason
["set_#{property_name}", "#{property_name}="].find { |m| instance.respond_to?(m) }
end
-
+
# instanciate the given class and set the properties passed as options
# support both values and procs for options
- def build_instance_with_properties(klass,*args)
+ def build_instance_with_properties(klass, *args)
properties = args.last.is_a?(Hash) ? args.delete_at(args.size-1) : {}
instance = klass.new(*args)
- properties.keys.inject(instance) { |instance,k| set_property(instance, k, properties[k]) }
+ properties.keys.inject(instance) { |instance, k| set_property(instance, k, properties[k]) }
end
-
+
# sugarized property setter - allows symbols for enums
def set_property(instance, k, v)
setter = setter?(instance, k)
- v.is_a?(Proc) ? instance.send(k,&v) : instance.send(setter, *parse_enum_if_enum(instance.class,k,v))
+ v.is_a?(Proc) ? instance.send(k, &v) : instance.send(setter, *parse_enum_if_enum(instance.class, k, v))
instance
end
@@ -92,6 +95,7 @@ def set_property(instance, k, v)
# DSL-like object creation. Not that much .Net related, except for the Control/MenuItem specifics
# which could be extracted and made configurable. This is likely to happen.
+#noinspection RubyResolve
class Magic
include InstanceCreator
include Classifier
@@ -102,7 +106,7 @@ def build(&description)
end
end
- def method_missing(method,*args)
+ def method_missing(method, *args)
# push stuff recursively on a stack so that we can add the item to its parents children collection
@stack ||= []
parent = @stack.last
@@ -116,7 +120,7 @@ def method_missing(method,*args)
# todo - extract configurable mappings ?
if parent
# serve ourselves, first
- parent.send(method,args) if parent.respond_to?(method)
+ parent.send(method, args) if parent.respond_to?(method)
# Windows Forms Control and MenuItem support
parent.controls.add(instance) if (defined?(System::Windows::Forms::Control) && instance.is_a?(System::Windows::Forms::Control))
parent.menu_items.add(instance) if (defined?(System::Windows::Forms::MenuItem) && instance.is_a?(System::Windows::Forms::MenuItem))
diff --git a/plugins/InlineGain/InlineGain.rb b/plugins/InlineGain/InlineGain.rb
old mode 100755
new mode 100644
index 8f3603c..ea9339d
--- a/plugins/InlineGain/InlineGain.rb
+++ b/plugins/InlineGain/InlineGain.rb
@@ -1,6 +1,6 @@
-
require 'java_inline'
+#noinspection ALL
class InlineGain < OpazPlug
#make stereo
def initialize(wrapper)
@@ -12,13 +12,13 @@ def initialize(wrapper)
plugin "InlineGain", "Opaz", "daniel309"
can_do "2in2out", "plugAsChannelInsert", "plugAsSend" #stereo (2in2out)
unique_id "IlG1"
-
+
param :gain, "Gain", 1.0
-
+
def process(inputs, outputs, sampleFrames)
process_gain(inputs, outputs, sampleFrames, gain)
end
-
+
# inline java code here
inline :Java do |builder|
builder.java "
@@ -30,5 +30,5 @@ def process(inputs, outputs, sampleFrames)
}
"
end
-
+
end
diff --git a/plugins/InlineGain/README b/plugins/InlineGain/README
old mode 100755
new mode 100644
index 01cb603..95733ba
--- a/plugins/InlineGain/README
+++ b/plugins/InlineGain/README
@@ -1,6 +1,6 @@
-Simple example VST plug that uses inline Java for processing, and Ruby for the rest.
-We use the best of both worlds: Java for raw performance where needed and elegant and efficient Ruby code for the rest.
-
-TODO: for now, tools.jar needs to be manually added to SystemClassPath in the .ini
-
+Simple example VST plug that uses inline Java for processing, and Ruby for the rest.
+We use the best of both worlds: Java for raw performance where needed and elegant and efficient Ruby code for the rest.
+
+TODO: for now, tools.jar needs to be manually added to SystemClassPath in the .ini
+
*** Requires JDK 1.6 to be installed on the system (JRE is not enough) ***
\ No newline at end of file
diff --git a/plugins/InlineGain/inline.rb b/plugins/InlineGain/inline.rb
old mode 100755
new mode 100644
index b7bdf73..db32d08
--- a/plugins/InlineGain/inline.rb
+++ b/plugins/InlineGain/inline.rb
@@ -47,16 +47,20 @@
# See hoe for more details.
#
+#noinspection RubyResolve
require "rbconfig"
+#noinspection RubyResolve
require "digest/md5"
require 'fileutils'
require 'rubygems'
#require 'zentest_mapping'
+#noinspection RubyGlobalVariableNamingConvention
$TESTING = false unless defined? $TESTING
-class CompilationError < RuntimeError; end
+class CompilationError < RuntimeError;
+end
##
# The Inline module is the top-level module used. It is responsible
@@ -67,17 +71,18 @@ class CompilationError < RuntimeError; end
module Inline
VERSION = '3.8.1'
- WINDOZE = /mswin|mingw/ =~ RUBY_PLATFORM
+ WINDOZE = /mswin|mingw/ =~ RUBY_PLATFORM
+ #noinspection RubyResolve
RUBINIUS = defined? RUBY_ENGINE
- DEV_NULL = (WINDOZE ? 'nul' : '/dev/null')
- GEM = (WINDOZE ? 'gem.bat' : 'gem')
- RAKE = if WINDOZE then
- 'rake.bat'
- elsif RUBINIUS then
- File.join(Gem.bindir, 'rake')
- else
- "#{Gem.ruby} -S rake"
- end
+ DEV_NULL = (WINDOZE ? 'nul' : '/dev/null')
+ GEM = (WINDOZE ? 'gem.bat' : 'gem')
+ RAKE = if WINDOZE then
+ 'rake.bat'
+ elsif RUBINIUS then
+ File.join(Gem.bindir, 'rake')
+ else
+ "#{Gem.ruby} -S rake"
+ end
warn "RubyInline v #{VERSION}" if $DEBUG
@@ -86,6 +91,7 @@ def self.register cls
registered_inline_classes.uniq!
end
+ #noinspection RubyClassVariableUsageInspection
def self.registered_inline_classes
@@registered_inline_classes ||= []
end
@@ -103,6 +109,7 @@ def self.registered_inline_classes
# Perform a check in that other to see if the environment is defined
# and if so, use it. only try this on Windows.
+ #noinspection RubyClassVariableUsageInspection
def self.directory
#@@directory = "c:/temp"
@@directory = ENV['TEMP']
@@ -116,6 +123,7 @@ def self.directory
# can be extended as needed using #add_type_converter, #alias_type_converter
# and #remove_type_converter.
+ #noinspection ALL
class C
#include ZenTestMapping
@@ -127,27 +135,27 @@ class C
# Default C to ruby and ruby to C type map
TYPE_MAP = {
- 'char' => [ 'NUM2CHR', 'CHR2FIX' ],
+ 'char' => ['NUM2CHR', 'CHR2FIX'],
- 'char *' => [ 'StringValuePtr', 'rb_str_new2' ],
+ 'char *' => ['StringValuePtr', 'rb_str_new2'],
- 'double' => [ 'NUM2DBL', 'rb_float_new' ],
+ 'double' => ['NUM2DBL', 'rb_float_new'],
- 'int' => [ "FI\X2INT", 'INT2FIX' ],
- 'unsigned int' => [ 'NUM2UINT', 'UINT2NUM' ],
- 'unsigned' => [ 'NUM2UINT', 'UINT2NUM' ],
+ 'int' => ["FI\X2INT", 'INT2FIX'],
+ 'unsigned int' => ['NUM2UINT', 'UINT2NUM'],
+ 'unsigned' => ['NUM2UINT', 'UINT2NUM'],
- 'long' => [ 'NUM2LONG', 'LONG2NUM' ],
- 'unsigned long' => [ 'NUM2ULONG', 'ULONG2NUM' ],
+ 'long' => ['NUM2LONG', 'LONG2NUM'],
+ 'unsigned long' => ['NUM2ULONG', 'ULONG2NUM'],
- 'long long' => [ 'NUM2LL', 'LL2NUM' ],
- 'unsigned long long' => [ 'NUM2ULL', 'ULL2NUM' ],
+ 'long long' => ['NUM2LL', 'LL2NUM'],
+ 'unsigned long long' => ['NUM2ULL', 'ULL2NUM'],
- 'off_t' => [ 'NUM2OFFT', 'OFFT2NUM' ],
+ 'off_t' => ['NUM2OFFT', 'OFFT2NUM'],
- 'VALUE' => [ '', '' ],
- # Can't do these converters because they conflict with the above:
- # ID2SYM(x), SYM2ID(x), F\IX2UINT(x)
+ 'VALUE' => ['', ''],
+ # Can't do these converters because they conflict with the above:
+ # ID2SYM(x), SYM2ID(x), F\IX2UINT(x)
}
def strip_comments(src)
@@ -156,7 +164,6 @@ def strip_comments(src)
# strip cpp-comments
src = src.gsub(%r%^\s*//.*?\n%, '')
src = src.gsub(%r%[ \t]*//[^\n]*%, '')
- src
end
def parse_signature(src, raw=false)
@@ -170,10 +177,10 @@ def parse_signature(src, raw=false)
sig.gsub!(/\s+/, ' ')
unless defined? @types then
- @types = 'void|' + @type_map.keys.map{|x| Regexp.escape(x)}.join('|')
+ @types = 'void|' + @type_map.keys.map { |x| Regexp.escape(x) }.join('|')
end
- if /(#{@types})\s*(\w+)\s*\(([^)]*)\)/ =~ sig then
+ if /(#{@types})\s*(\w+)\s*\(([^)]*)\)/ =~ sig
return_type, function_name, arg_string = $1, $2, $3
args = []
arg_string.split(',').each do |arg|
@@ -192,18 +199,20 @@ def parse_signature(src, raw=false)
arity = MAGIC_ARITY if raw
return {
- 'return' => return_type,
- 'name' => function_name,
- 'args' => args,
- 'arity' => arity
+ 'return' => return_type,
+ 'name' => function_name,
+ 'args' => args,
+ 'arity' => arity
}
end
raise SyntaxError, "Can't parse signature: #{sig}"
- end # def parse_signature
+ end
+
+ # def parse_signature
def generate(src, options={})
- options = {:expand_types=>options} unless Hash === options
+ options = {:expand_types => options} unless Hash === options
expand_types = options[:expand_types]
singleton = options[:singleton]
@@ -218,13 +227,13 @@ def generate(src, options={})
raise ArgumentError, "too many arguments" if arity > MAGIC_ARITY_THRESHOLD
- if expand_types then
+ if expand_types
prefix = "static VALUE #{function_name}("
if arity == MAGIC_ARITY then
prefix += "int argc, VALUE *argv, VALUE self"
else
prefix += "VALUE self"
- prefix += signature['args'].map { |arg, type| ", VALUE _#{arg}"}.join
+ prefix += signature['args'].map { |arg, type| ", VALUE _#{arg}" }.join
end
prefix += ") {\n"
prefix += signature['args'].map { |arg, type|
@@ -234,14 +243,13 @@ def generate(src, options={})
# replace the function signature (hopefully) with new sig (prefix)
result.sub!(/[^;\/\"\>]+#{function_name}\s*\([^\{]+\{/, "\n" + prefix)
result.sub!(/\A\n/, '') # strip off the \n in front in case we added it
- unless return_type == "void" then
- raise SyntaxError, "Couldn't find return statement for #{function_name}" unless
- result =~ /return/
+ if return_type == "void"
+ result.sub!(/\s*\}\s*\Z/, "\nreturn Qnil;\n}")
+ else
+ raise SyntaxError, "Couldn't find return statement for #{function_name}" unless result =~ /return/
result.gsub!(/return\s+([^\;\}]+)/) do
"return #{c2ruby(return_type)}(#{$1})"
end
- else
- result.sub!(/\s*\}\s*\Z/, "\nreturn Qnil;\n}")
end
else
prefix = "static #{return_type} #{function_name}("
@@ -260,10 +268,12 @@ def generate(src, options={})
result = "# line #{line.to_i + delta} \"#{file}\"\n" + result unless $DEBUG and not $TESTING
@src << result
- @sig[function_name] = [arity,singleton,method_name]
+ @sig[function_name] = [arity, singleton, method_name]
- return result if $TESTING
- end # def generate
+ result if $TESTING
+ end
+
+ # def generate
##
# Builds a complete C extension suitable for writing to a file and
@@ -301,8 +311,8 @@ def generate_ext
@sig.keys.sort.each do |name|
method = ''
arity, singleton, method_name = @sig[name]
- if singleton then
- if method_name == 'allocate' then
+ if singleton
+ if method_name == 'allocate'
raise "#{@mod}::allocate must have an arity of zero" if arity > 0
ext << " rb_define_alloc_func(c, (VALUE(*)(VALUE))#{name});"
next
@@ -328,11 +338,11 @@ def generate_ext
end
def module_name
- unless defined? @module_name then
- module_name = @mod.name.gsub('::','__')
+ unless defined? @module_name
+ module_name = @mod.name.gsub('::', '__')
md5 = Digest::MD5.new
@sig.keys.sort_by { |x| x.to_s }.each { |m| md5 << m.to_s }
- @module_name = "Inline_#{module_name}_#{md5.to_s[0,4]}"
+ @module_name = "Inline_#{module_name}_#{md5.to_s[0, 4]}"
end
@module_name
end
@@ -404,8 +414,7 @@ def accessor(method, type, member = method)
# name is used as the struct member. See #accessor for an example.
def reader(method, type, member = method)
- raise "struct name not set for reader #{method} #{type}" unless
- @struct_name
+ raise "struct name not set for reader #{method} #{type}" unless @struct_name
c <<-C
VALUE #{method}() {
@@ -425,8 +434,7 @@ def reader(method, type, member = method)
# name is used as the struct member. See #accessor for an example.
def writer(method, type, member = method)
- raise "struct name not set for writer #{method} #{type}" unless
- @struct_name
+ raise "struct name not set for writer #{method} #{type}" unless @struct_name
c <<-C
VALUE #{method}_equals(VALUE value) {
@@ -463,14 +471,15 @@ def c2ruby(type)
def load_cache
begin
file = File.join("inline", File.basename(so_name))
- if require file then
+ if require file
dir = Inline.directory
warn "WAR\NING: #{dir} exists but is not being used" if test ?d, dir and $VERBOSE
return true
end
rescue LoadError
+ # ignored
end
- return false
+ false
end
##
@@ -486,9 +495,11 @@ def load
def build
so_name = self.so_name
so_exists = File.file? so_name
- unless so_exists and File.mtime(rb_file) < File.mtime(so_name) then
+ if so_exists and File.mtime(rb_file) < File.mtime(so_name)
+ warn "#{so_name} is up to date" if $DEBUG
+ else
- unless File.directory? Inline.directory then
+ unless File.directory? Inline.directory
warn "NOTE: creating #{Inline.directory} for RubyInline" if $DEBUG
Dir.mkdir Inline.directory, 0700
end
@@ -502,7 +513,7 @@ def build
# recompile only if the files are different
recompile = true
if so_exists and should_compare and
- FileUtils.compare_file(old_src_name, src_name) then
+ FileUtils.compare_file(old_src_name, src_name)
recompile = false
# Updates the timestamps on all the generated/compiled files.
@@ -512,7 +523,7 @@ def build
File.utime(t, t, src_name, old_src_name, so_name)
end
- if recompile then
+ if recompile
hdrdir = %w(srcdir archdir rubyhdrdir).map { |name|
Config::CONFIG[name]
@@ -521,7 +532,7 @@ def build
} or abort "ERROR: Can't find header dir for ruby. Exiting..."
flags = @flags.join(' ')
- libs = @libs.join(' ')
+ libs = @libs.join(' ')
config_hdrdir = if RUBY_VERSION > '1.9' then
"-I #{File.join hdrdir, RbConfig::CONFIG['arch']}"
@@ -529,28 +540,27 @@ def build
nil
end
- cmd = [ Config::CONFIG['LDSHARED'],
- flags,
- Config::CONFIG['CCDLFLAGS'],
- Config::CONFIG['CFLAGS'],
- '-I', hdrdir,
- config_hdrdir,
- '-I', Config::CONFIG['includedir'],
- "-L#{Config::CONFIG['libdir']}",
- '-o', so_name.inspect,
- File.expand_path(src_name).inspect,
- libs,
- crap_for_windoze ].join(' ')
+ cmd = [Config::CONFIG['LDSHARED'],
+ flags,
+ Config::CONFIG['CCDLFLAGS'],
+ Config::CONFIG['CFLAGS'],
+ '-I', hdrdir,
+ config_hdrdir,
+ '-I', Config::CONFIG['includedir'],
+ "-L#{Config::CONFIG['libdir']}",
+ '-o', so_name.inspect,
+ File.expand_path(src_name).inspect,
+ libs,
+ crap_for_windoze].join(' ')
# TODO: remove after osx 10.5.2
- cmd += ' -flat_namespace -undefined suppress' if
- RUBY_PLATFORM =~ /darwin9\.[01]/
+ cmd += ' -flat_namespace -undefined suppress' if RUBY_PLATFORM =~ /darwin9\.[01]/
cmd += " 2> #{DEV_NULL}" if $TESTING and not $DEBUG
warn "Building #{so_name} with '#{cmd}'" if $DEBUG
result = `#{cmd}`
warn "Output:\n#{result}" if $DEBUG
- if $? != 0 then
+ if $? != 0
bad_src_name = src_name + ".bad"
File.rename src_name, bad_src_name
raise CompilationError, "error executing #{cmd.inspect}: #{$?}\nRenamed #{src_name} to #{bad_src_name}"
@@ -575,10 +585,10 @@ def build
warn "Built successfully" if $DEBUG
end
- else
- warn "#{so_name} is up to date" if $DEBUG
end # unless (file is out of date)
- end # def build
+ end
+
+ # def build
##
# Returns extra compilation flags for windoze platforms. Ugh.
@@ -586,14 +596,14 @@ def build
def crap_for_windoze
# gawd windoze land sucks
case RUBY_PLATFORM
- when /mswin32/ then
- " -link /LIBPATH:\"#{Config::CONFIG['libdir']}\" /DEFAULTLIB:\"#{Config::CONFIG['LIBRUBY']}\" /INCREMENTAL:no /EXPORT:Init_#{module_name}"
- when /mingw32/ then
- " -Wl,--enable-auto-import -L#{Config::CONFIG['libdir']} -lmsvcrt-ruby18"
- when /i386-cygwin/ then
- ' -L/usr/local/lib -lruby.dll'
- else
- ''
+ when /mswin32/ then
+ " -link /LIBPATH:\"#{Config::CONFIG['libdir']}\" /DEFAULTLIB:\"#{Config::CONFIG['LIBRUBY']}\" /INCREMENTAL:no /EXPORT:Init_#{module_name}"
+ when /mingw32/ then
+ " -Wl,--enable-auto-import -L#{Config::CONFIG['libdir']} -lmsvcrt-ruby18"
+ when /i386-cygwin/ then
+ ' -L/usr/local/lib -lruby.dll'
+ else
+ ''
end
end
@@ -633,8 +643,7 @@ def add_type_converter(type, r2c, c2r)
# Registers C type +alias_type+ as an alias of +existing_type+
def alias_type_converter(existing_type, alias_type)
- warn "WAR\NING: overridding #{type} on #{caller[0]}" if
- @type_map.has_key? alias_type
+ warn "WAR\NING: overridding #{type} on #{caller[0]}" if @type_map.has_key? alias_type
@type_map[alias_type] = @type_map[existing_type]
end
@@ -702,9 +711,10 @@ def prefix(code)
# method name can be overridden by providing method_name. Unknown
# type conversions can be extended by using +add_type_converter+.
- def c src, options = {}
+ #noinspection RubyInstanceMethodNamingConvention
+ def c (src, options = {})
options = {
- :expand_types => true,
+ :expand_types => true,
}.merge options
self.generate src, options
end
@@ -712,10 +722,10 @@ def c src, options = {}
##
# Same as +c+, but adds a class function.
- def c_singleton src, options = {}
+ def c_singleton (src, options = {})
options = {
- :expand_types => true,
- :singleton => true,
+ :expand_types => true,
+ :singleton => true,
}.merge options
self.generate src, options
end
@@ -726,16 +736,16 @@ def c_singleton src, options = {}
# coding conventions. The Ruby method name can be overridden
# by providing method_name.
- def c_raw src, options = {}
+ def c_raw (src, options = {})
self.generate src, options
end
##
# Same as +c_raw+, but adds a class function.
- def c_raw_singleton src, options = {}
+ def c_raw_singleton (src, options = {})
options = {
- :singleton => true,
+ :singleton => true,
}.merge options
self.generate src, options
end
@@ -743,6 +753,7 @@ def c_raw_singleton src, options = {}
end # class Inline::C
end # module Inline
+#noinspection RubyResolve
class Module
##
@@ -760,21 +771,21 @@ def inline(lang = :C, options={})
Inline.register self
case options
- when TrueClass, FalseClass then
- warn "WAR\NING: 2nd argument to inline is now a hash, changing to {:testing=>#{options}}" unless options
- options = { :testing => options }
- when Hash
- options[:testing] ||= false
- else
- raise ArgumentError, "BLAH"
+ when TrueClass, FalseClass then
+ warn "WAR\NING: 2nd argument to inline is now a hash, changing to {:testing=>#{options}}" unless options
+ options = {:testing => options}
+ when Hash
+ options[:testing] ||= false
+ else
+ raise ArgumentError, "BLAH"
end
builder_class = begin
- Inline.const_get(lang)
- rescue NameError
- require "inline/#{lang}"
- Inline.const_get(lang)
- end
+ Inline.const_get(lang)
+ rescue NameError
+ require "inline/#{lang}"
+ Inline.const_get(lang)
+ end
@options = options
builder = builder_class.new self
@@ -782,7 +793,7 @@ def inline(lang = :C, options={})
yield builder
unless options[:testing] then
- unless builder.load_cache then
+ unless builder.load_cache
builder.build
builder.load
end
@@ -798,9 +809,9 @@ class File
def self.write_with_backup(path) # returns true if file already existed
- # move previous version to the side if it exists
+ # move previous version to the side if it exists
renamed = false
- if test ?f, path then
+ if test ?f, path
renamed = true
File.rename path, path + ".old"
end
@@ -813,6 +824,7 @@ def self.write_with_backup(path) # returns true if file already existed
end
end # class File
+#noinspection ALL
class Dir
##
diff --git a/plugins/InlineGain/java_inline.rb b/plugins/InlineGain/java_inline.rb
old mode 100755
new mode 100644
index c481151..00fa224
--- a/plugins/InlineGain/java_inline.rb
+++ b/plugins/InlineGain/java_inline.rb
@@ -1,15 +1,18 @@
require 'rubygems'
require 'inline'
+#noinspection RubyResolve
require 'java'
# Add the inline cache dir to CLASSPATH
+#noinspection RubyResolve
$CLASSPATH << Inline.directory
module Inline
-
+
# A Java builder for RubyInline. Provides the basic methods needed to
# allow assembling a set of Java methods that compile into a class and
# get bound to the same names in the containing module.
+ #noinspection ALL
class Java
JFile = java.io.File
import javax.tools.ToolProvider
@@ -22,11 +25,11 @@ def initialize(mod)
@imports = []
@sigs = []
end
-
+
def load_cache
false
end
-
+
# Set the package to use for the Java class being generated, as in
# builder.package "org.foo.bar"
def package(pkg)
@@ -54,18 +57,18 @@ def build
raise "No Java compiler found, JDK >= 1.6 installed on system?" unless compiler
file_mgr = compiler.get_standard_file_manager(nil, nil, nil)
file_mgr.set_location(StandardLocation::CLASS_OUTPUT, [JFile.new(Inline.directory)])
-
+
if @pkg
directory = "#{Inline.directory}/#{@pkg.gsub('.', '/')}"
- unless File.directory? directory then
+ unless File.directory? directory
$stderr.puts "NOTE: creating #{directory} for RubyInline" if $DEBUG
FileUtils.mkdir_p directory
end
-
+
@name = "Java#{@src.hash.abs}"
@load_name = "#{@pkg}.#{@name}"
filename = "#{directory}/#{@name}.java"
-
+
imports = "import " + @imports.join(";\nimport ") + ";" if @imports.size > 0
full_src = "
package #{@pkg};
@@ -77,19 +80,19 @@ def build
else
@load_name = @name = "Java#{@src.hash.abs}"
filename = "#{Inline.directory}/#{@name}.java"
-
+
imports = "import " + @imports.join(";\nimport ") + ";" if @imports.size > 0
full_src = "
- #{imports}
+ #{imports}
public class #{@name} {
#{@src}
}
"
end
-
- File.open(filename, "w") {|file| file.write(full_src)}
+
+ File.open(filename, "w") { |file| file.write(full_src) }
file_objs = file_mgr.get_java_file_objects_from_strings([filename])
-
+
compiler.get_task(nil, file_mgr, nil, nil, nil, file_objs).call
file_mgr.close
end
diff --git a/plugins/JavaDelay/JavaDelay.java b/plugins/JavaDelay/JavaDelay.java
index 6d07ff1..d761706 100644
--- a/plugins/JavaDelay/JavaDelay.java
+++ b/plugins/JavaDelay/JavaDelay.java
@@ -1,15 +1,15 @@
-/*
+/*
* jVSTwRapper - The Java way into VST world!
- *
- * jVSTwRapper is an easy and reliable Java Wrapper for the Steinberg VST interface.
- * It enables you to develop VST 2.4 compatible audio plugins and virtual instruments
+ *
+ * jVSTwRapper is an easy and reliable Java Wrapper for the Steinberg VST interface.
+ * It enables you to develop VST 2.4 compatible audio plugins and virtual instruments
* plus user interfaces with the Java Programming Language.
- *
- * jVSTwRapper
- * Copyright (C) 2006 Daniel Martin [daniel309@users.sourceforge.net]
+ *
+ * jVSTwRapper
+ * Copyright (C) 2006 Daniel Martin [daniel309@users.sourceforge.net]
* and many others, see CREDITS.txt
*
- * DDelay - Delay Unit
+ * DDelay - Delay Unit
* Copyright (C) 2007 Joakim Eriksson [joakime@sics.se]
*
* This library is free software; you can redistribute it and/or
@@ -27,228 +27,268 @@
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*/
-import jvst.wrapper.*;
-public class JavaDelay extends VSTPluginAdapter {
- public static int P_DELAY_TIME = 0;
- public static int P_FEEDBACK = 1;
- public static int P_LFO_FREQUENCY = 2;
- public static int P_LFO_DEPTH = 3;
- public static int P_WET_DRY_MIX = 4;
-
- public static int NUM_PARAMS = P_WET_DRY_MIX + 1;
-
- public static String[] PARAM_NAMES = new String[] { "Delay Time",
- "Feedback", "LFO Frq", "LFO Depth", "Wet/Dry Mix" };
-
- public static String[] PARAM_LABELS = new String[] { "ms", "%", "Hz", "",
- "%" };
-
- public static float[] PARAM_PRINT_MUL = new float[] { 1000, 100, 1, 1, 100 };
-
- // Some default programs
- private float[][] programs = new float[][] {
- { 0.45f, 0.50f, 0.0f, 0f, 0.5f },
- { 0.01f, 0.85f, 0.2f, 0.5f, 0.65f },
- { 0.99f, 0.7f, 0.0f, 0.02f, 0.50f },
- { 0.3f, 0.9f, 0.0f, 0.0f, 0.50f },
- { 0.004f, 0.80f, 0.1f, 0.8f, 0.50f },
- { 0.4f, 0.50f, 0.1f, 0.5f, 0.50f },
- { 0.1f, 0.50f, 0.1f, 0.6f, 0.50f },
- { 0.1f, 0.50f, 0.1f, 0.7f, 0.50f } };
-
- private float[] echo;
- private int echoSize = 0;
- private int echoPos = 0;
- private long echoLFODiff = 0;
- private long echoLFODiffMax = 0;
- private float echoLFODepth = 0.8f;
- private float echoFeedback = 0;
- private float echoLFOSpeed = 0;
- private float echoLFOPos = 0;
- private float echoDW = 0.8f;
- private float sampleRate = 44100;
-
- private int currentProgram = 0;
-
- public JavaDelay(long wrapper) {
- super(wrapper);
- currentProgram = 0;
- update();
-
- // communicate with the host
- this.setNumInputs(1);// mono input
- this.setNumOutputs(1);// mono output
- // this.hasVu(false); //deprecated as of vst2.4
- this.canProcessReplacing(true);// mandatory for vst 2.4!
- this.setUniqueID(9876543);// random unique number registered at
- // steinberg (4 byte)
-
- this.canMono(true);
-
- log("Construktor DDelay() INVOKED!");
- }
-
- public void setSampleRate(float sampleRate) {
- this.sampleRate = sampleRate;
- }
-
- // Allocate new buffer when modifying buffer size!
- private void setEchoTime(float millisDelay) {
- int sampleSize = (int) (millisDelay * sampleRate / 1000);
- echoSize = sampleSize;
- if (echo == null || echo.length != echoSize) {
- echo = new float[echoSize];
- }
- }
-
- private void update() {
- setEchoTime(programs[currentProgram][P_DELAY_TIME] * 1000);
- echoFeedback = programs[currentProgram][P_FEEDBACK];
- // Speed of 1 Hz => 2xPI for one revolution!
- // But - depending on number of samples this will be differently large
- // chunks of updates!?
- echoLFOSpeed = (float) (programs[currentProgram][P_LFO_FREQUENCY] * 2 * 3.1415 / sampleRate);
- echoLFODepth = programs[currentProgram][P_LFO_DEPTH];
- echoLFODiffMax = (long) ((echoSize / 2.0) * echoLFODepth);
- echoLFODiff = 0;
- echoDW = programs[currentProgram][P_WET_DRY_MIX];
- echoPos = 0;
- }
-
- public int canDo(String feature) {
- // the host asks us here what we are able to do
- int ret = CANDO_NO;
- if (feature.equals(CANDO_PLUG_1_IN_1_OUT))
- ret = CANDO_YES;
- if (feature.equals(CANDO_PLUG_PLUG_AS_CHANNEL_INSERT))
- ret = CANDO_YES;
- if (feature.equals(CANDO_PLUG_PLUG_AS_SEND))
- ret = CANDO_YES;
-
- log("canDo: " + feature + " = " + ret);
- return ret;
- }
-
- public String getProductString() {
- return "DDelay";
- }
-
- public String getEffectName() {
- return "DDelay";
- }
-
- public String getProgramNameIndexed(int category, int index) {
- return "program: cat: " + category + ", " + index;
- }
-
- public String getVendorString() {
- return "http://jvstwrapper.sourceforge.net/";
- }
-
- public boolean setBypass(boolean value) {
- // do not support soft bypass!
- return false;
- }
-
- public boolean string2Parameter(int index, String value) {
- try {
- if (value != null)
- this.setParameter(index, Float.parseFloat(value));
- return true;
- } catch (Exception e) { // ignore
- return false;
- }
- }
-
- public int getNumParams() {
- return NUM_PARAMS;
- }
-
- public int getNumPrograms() {
- return programs.length;
- }
-
- public float getParameter(int index) {
- if (index < programs[currentProgram].length)
- return programs[currentProgram][index];
- return 0.0f;
- }
-
- public String getParameterDisplay(int index) {
- if (index < programs[currentProgram].length) {
- return ""
- + ((int) (100 * PARAM_PRINT_MUL[index] * programs[currentProgram][index]))
- / 100.0;
- }
- return "0.0";
- }
-
- public String getParameterLabel(int index) {
- if (index < PARAM_LABELS.length)
- return PARAM_LABELS[index];
- return "";
- }
-
- public String getParameterName(int index) {
- if (index < PARAM_NAMES.length)
- return PARAM_NAMES[index];
- return "param: " + index;
- }
-
- public int getProgram() {
- return currentProgram;
- }
-
- public String getProgramName() {
- return "program " + currentProgram;
- }
-
- public void setParameter(int index, float value) {
- programs[currentProgram][index] = value;
- update();
- }
-
- public void setProgram(int index) {
- currentProgram = index;
- update();
- }
-
- public void setProgramName(String name) {
- // Ignore so far...
- }
-
- public int getPlugCategory() {
- log("getPlugCategory");
- return PLUG_CATEG_EFFECT;
- }
-
- // Generate / Process the sound!
- public void processReplacing(float[][] inputs, float[][] outputs,
- int sampleFrames) {
- float[] inBuffer = inputs[0];
- float[] outBuffer = outputs[0];
- for (int i = 0, n = sampleFrames; i < n; i++) {
- float exVal = inBuffer[i];
- int echoRead = (int) (echoPos + echoLFODiff);
-
- if (echoRead >= echoSize) {
- echoRead -= echoSize;
- }
-
- float out = (exVal * (1.0f - echoDW) + echo[echoRead] * echoDW);
- outBuffer[i] = out;
-
- exVal = exVal + echo[echoRead] * echoFeedback;
-
- echo[echoPos] = exVal;
- echoPos = (echoPos + 1);
- if (echoPos >= echoSize)
- echoPos = 0;
- }
- // Update LFO - which is a sine!
- echoLFODiff = (int) (echoLFODiffMax * (1.0 + Math.sin(echoLFOPos)));
- echoLFOPos += echoLFOSpeed * sampleFrames;
- }
+//~--- non-JDK imports --------------------------------------------------------
+
+import jvst.wrapper.VSTPluginAdapter;
+
+public class JavaDelay extends VSTPluginAdapter {
+ public static String[] PARAM_LABELS = new String[] { "ms", "%", "Hz", "", "%" };
+ public static String[] PARAM_NAMES = new String[] { "Delay Time", "Feedback", "LFO Frq", "LFO Depth",
+ "Wet/Dry Mix" };
+ public static float[] PARAM_PRINT_MUL = new float[] { 0x3e8, 0x64, 0x1, 0x1, 0x64 };
+ public static int P_DELAY_TIME = 0x0;
+ public static int P_FEEDBACK = 0x1;
+ public static int P_LFO_DEPTH = 0x3;
+ public static int P_LFO_FREQUENCY = 0x2;
+ public static int P_WET_DRY_MIX = 0x4;
+ public static int NUM_PARAMS = P_WET_DRY_MIX + 0x1;
+ private int currentProgram = 0x0;
+ private float echoDW = 0.8f;
+ private float echoFeedback = 0x0;
+ private float echoLFODepth = 0.8f;
+ private long echoLFODiff = 0x0;
+ private long echoLFODiffMax = 0x0;
+ private float echoLFOPos = 0x0;
+ private float echoLFOSpeed = 0x0;
+ private int echoPos = 0x0;
+ private int echoSize = 0x0;
+
+ // Some default programs
+ private float[][] programs = new float[][] {
+ { 0.45f, 0.50f, 0.0f, 0f, 0.5f }, { 0.01f, 0.85f, 0.2f, 0.5f, 0.65f }, { 0.99f, 0.7f, 0.0f, 0.02f, 0.50f },
+ { 0.3f, 0.9f, 0.0f, 0.0f, 0.50f }, { 0.004f, 0.80f, 0.1f, 0.8f, 0.50f }, { 0.4f, 0.50f, 0.1f, 0.5f, 0.50f },
+ { 0.1f, 0.50f, 0.1f, 0.6f, 0.50f }, { 0.1f, 0.50f, 0.1f, 0.7f, 0.50f }
+ };
+ private float sampleRate = 0xac44;
+ private float[] echo;
+
+ @SuppressWarnings("deprecation")
+ public JavaDelay(long wrapper) {
+ super(wrapper);
+ currentProgram = 0x0;
+ update();
+
+ // communicate with the host
+ this.setNumInputs(0x1); // mono input
+ this.setNumOutputs(0x1); // mono output
+
+ // this.hasVu(false); //deprecated as of vst2.4
+ this.canProcessReplacing(true); // mandatory for vst 2.4!
+ this.setUniqueID(0x96b43f); // random unique number registered at
+
+ // steinberg (4 byte)
+ this.canMono(true);
+ log("Construktor DDelay() INVOKED!");
+ }
+
+ @Override
+ public void setSampleRate(float sampleRate) {
+ this.sampleRate = sampleRate;
+ }
+
+ // Allocate new buffer when modifying buffer size!
+ private void setEchoTime(float millisDelay) {
+ int sampleSize = (int) (millisDelay * sampleRate / 0x3e8);
+
+ echoSize = sampleSize;
+
+ if ((echo == null) || (echo.length != echoSize)) {
+ echo = new float[echoSize];
+ }
+ }
+
+ private void update() {
+ setEchoTime(programs[currentProgram][P_DELAY_TIME] * 0x3e8);
+ echoFeedback = programs[currentProgram][P_FEEDBACK];
+
+ // Speed of 1 Hz => 2xPI for one revolution!
+ // But - depending on number of samples this will be differently large
+ // chunks of updates!?
+ echoLFOSpeed = (float) (programs[currentProgram][P_LFO_FREQUENCY] * 0x2 * 3.1415 / sampleRate);
+ echoLFODepth = programs[currentProgram][P_LFO_DEPTH];
+ echoLFODiffMax = (long) ((echoSize / 2.0) * echoLFODepth);
+ echoLFODiff = 0x0;
+ echoDW = programs[currentProgram][P_WET_DRY_MIX];
+ echoPos = 0x0;
+ }
+
+ @Override
+ public int canDo(String feature) {
+
+ // the host asks us here what we are able to do
+ int ret = CANDO_NO;
+
+ if (feature.equals(CANDO_PLUG_1_IN_1_OUT)) {
+ ret = CANDO_YES;
+ }
+
+ if (feature.equals(CANDO_PLUG_PLUG_AS_CHANNEL_INSERT)) {
+ ret = CANDO_YES;
+ }
+
+ if (feature.equals(CANDO_PLUG_PLUG_AS_SEND)) {
+ ret = CANDO_YES;
+ }
+
+ log("canDo: " + feature + " = " + ret);
+
+ return ret;
+ }
+
+ @Override
+ public String getProductString() {
+ return "DDelay";
+ }
+
+ @Override
+ public String getEffectName() {
+ return "DDelay";
+ }
+
+ @Override
+ public String getProgramNameIndexed(int category, int index) {
+ return "program: cat: " + category + ", " + index;
+ }
+
+ @Override
+ public String getVendorString() {
+ return "http://jvstwrapper.sourceforge.net/";
+ }
+
+ @Override
+ public boolean setBypass(boolean value) {
+
+ // do not support soft bypass!
+ return false;
+ }
+
+ @Override
+ public boolean string2Parameter(int index, String value) {
+ try {
+ if (value != null) {
+ this.setParameter(index, Float.parseFloat(value));
+ }
+
+ return true;
+ } catch (Exception e) { // ignore
+ return false;
+ }
+ }
+
+ @Override
+ public int getNumParams() {
+ return NUM_PARAMS;
+ }
+
+ @Override
+ public int getNumPrograms() {
+ return programs.length;
+ }
+
+ @Override
+ public float getParameter(int index) {
+ if (index < programs[currentProgram].length) {
+ return programs[currentProgram][index];
+ }
+
+ return 0.0f;
+ }
+
+ @Override
+ public String getParameterDisplay(int index) {
+ if (index < programs[currentProgram].length) {
+ return "" + ((int) (0x64 * PARAM_PRINT_MUL[index] * programs[currentProgram][index])) / 100.0;
+ }
+
+ return "0.0";
+ }
+
+ @Override
+ public String getParameterLabel(int index) {
+ if (index < PARAM_LABELS.length) {
+ return PARAM_LABELS[index];
+ }
+
+ return "";
+ }
+
+ @Override
+ public String getParameterName(int index) {
+ if (index < PARAM_NAMES.length) {
+ return PARAM_NAMES[index];
+ }
+
+ return "param: " + index;
+ }
+
+ @Override
+ public int getProgram() {
+ return currentProgram;
+ }
+
+ @Override
+ public String getProgramName() {
+ return "program " + currentProgram;
+ }
+
+ @Override
+ public void setParameter(int index, float value) {
+ programs[currentProgram][index] = value;
+ update();
+ }
+
+ @Override
+ public void setProgram(int index) {
+ currentProgram = index;
+ update();
+ }
+
+ @Override
+ public void setProgramName(String name) {
+
+ // Ignore so far...
+ }
+
+ @Override
+ public int getPlugCategory() {
+ log("getPlugCategory");
+
+ return PLUG_CATEG_EFFECT;
+ }
+
+ // Generate / Process the sound!
+ @Override
+ public void processReplacing(float[][] inputs, float[][] outputs, int sampleFrames) {
+ float[] inBuffer = inputs[0x0];
+ float[] outBuffer = outputs[0x0];
+
+ for (int i = 0x0, n = sampleFrames; i < n; i++) {
+ float exVal = inBuffer[i];
+ int echoRead = (int) (echoPos + echoLFODiff);
+
+ if (echoRead >= echoSize) {
+ echoRead -= echoSize;
+ }
+
+ float out = (exVal * (1.0f - echoDW) + echo[echoRead] * echoDW);
+
+ outBuffer[i] = out;
+ exVal += echo[echoRead] * echoFeedback;
+ echo[echoPos] = exVal;
+ echoPos = (echoPos + 0x1);
+
+ if (echoPos >= echoSize) {
+ echoPos = 0x0;
+ }
+ }
+
+ // Update LFO - which is a sine!
+ echoLFODiff = (int) (echoLFODiffMax * (1.0 + Math.sin(echoLFOPos)));
+ echoLFOPos += echoLFOSpeed * sampleFrames;
+ }
}
+
+
+//~ Formatted by Jindent --- http://www.jindent.com
diff --git a/plugins/JayVSTxSynth/GMNames.java b/plugins/JayVSTxSynth/GMNames.java
index d8f7852..7ebf7df 100644
--- a/plugins/JayVSTxSynth/GMNames.java
+++ b/plugins/JayVSTxSynth/GMNames.java
@@ -1,12 +1,12 @@
-/*
+/*
* jVSTwRapper - The Java way into VST world!
- *
- * jVSTwRapper is an easy and reliable Java Wrapper for the Steinberg VST interface.
- * It enables you to develop VST 2.3 compatible audio plugins and virtual instruments
+ *
+ * jVSTwRapper is an easy and reliable Java Wrapper for the Steinberg VST interface.
+ * It enables you to develop VST 2.3 compatible audio plugins and virtual instruments
* plus user interfaces with the Java Programming Language. 3 Demo Plugins(+src) are included!
- *
- * Copyright (C) 2006 Daniel Martin [daniel309@users.sourceforge.net]
- * and many others, see CREDITS.txt
+ *
+ * Copyright (C) 2006 Daniel Martin [daniel309@users.sourceforge.net]
+ * and many others, see CREDITS.txt
*
*
* This library is free software; you can redistribute it and/or
@@ -24,208 +24,93 @@
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*/
-public class GMNames {
- public static final int NUM_GM_CATEGORIES = 17;
-
- public static final String[] GM_CATEGORIES = new String[] {
- "Piano",
- "Percussion",
- "Organ",
- "Guitar",
- "Bass",
- "Strings",
- "Ensemble",
- "Brass",
- "Reed",
- "Pipe",
- "Synth Lead",
- "SynthPad",
- "Synth Effects",
- "Ethnic",
- "Percussive",
- "Effects",
- "DrumSets"
- };
-
- public static final int GM_CATEGORIES_FIRST_INDICES[] = new int[] {
- 0, 7, 16, 24, 32, 40, 48, 56, 64, 72, 80, 88, 96, 104, 112, 120, 128
- };
-
- public static final String[] GM_NAMES = new String[] {
- // Piano
- "Acoustic Grand Piano",
- "Bright Acoustic Piano",
- "Electric Grand Piano",
- "Honky-tonk Piano",
- "Electric Piano 1",
- "Electric Piano 2",
- "Harpsichord",
-
- // Percussion
- "Clavi", // 7
- "Celesta",
- "Glockenspiel",
- "Music Box",
- "Vibraphone",
- "Marimba",
- "Xylophone",
- "Tubular Bells",
- "Dulcimer",
-
- // Organ
- "Drawbar Organ", // 16
- "Percussive Organ",
- "Rock Organ",
- "Church Organ",
- "Reed Organ",
- "Accordion",
- "Harmonica",
- "Tango Accordion",
-
- // Gitar
- "Acoustic Guitar (nylon)", // 24
- "Acoustic Guitar (steel)",
- "Electric Guitar (jazz)",
- "Electric Guitar (clean)",
- "Electric Guitar (muted)",
- "Overdriven Guitar",
- "Distortion Guitar",
- "Guitar harmonics",
-
- // Bass
- "Acoustic Bass", // 32
- "Electric Bass (finger)",
- "Electric Bass (pick)",
- "Fretless Bass",
- "Slap Bass 1",
- "Slap Bass 2",
- "Synth Bass 1",
- "Synth Bass 2",
-
- // strings
- "Violin", // 40
- "Viola",
- "Cello",
- "Contrabass",
- "Tremolo Strings",
- "Pizzicato Strings",
- "Orchestral Harp",
- "Timpani",
-
- // Ensemble
- "String Ensemble 1", // 48
- "String Ensemble 2",
- "SynthStrings 1",
- "SynthStrings 2",
- "Choir Aahs",
- "Voice Oohs",
- "Synth Voice",
- "Orchestra Hit",
-
- // Brass
- "Trumpet", // 56
- "Trombone",
- "Tuba",
- "Muted Trumpet",
- "French Horn",
- "Brass Section",
- "SynthBrass 1",
- "SynthBrass 2",
-
- // Reed
- "Soprano Sax", // 64
- "Alto Sax",
- "Tenor Sax",
- "Baritone Sax",
- "Oboe",
- "English Horn",
- "Bassoon",
- "Clarinet",
-
- // Pipe
- "Piccolo", // 72
- "Flute",
- "Recorder",
- "Pan Flute",
- "Blown Bottle",
- "Shakuhachi",
- "Whistle",
- "Ocarina",
-
- // Synth Lead
- "Lead 1 (square)", // 80
- "Lead 2 (sawtooth)",
- "Lead 3 (calliope)",
- "Lead 4 (chiff)",
- "Lead 5 (charang)",
- "Lead 6 (voice)",
- "Lead 7 (fifths)",
- "Lead 8 (bass + lead)",
-
- // Synth Pad
- "Pad 1 (new age)", // 88
- "Pad 2 (warm)",
- "Pad 3 (polysynth)",
- "Pad 4 (choir)",
- "Pad 5 (bowed)",
- "Pad 6 (metallic)",
- "Pad 7 (halo)",
- "Pad 8 (sweep)",
-
- // Synth Fx
- "FX 1 (rain)", // 96
- "FX 2 (soundtrack)",
- "FX 3 (crystal)",
- "FX 4 (atmosphere)",
- "FX 5 (brightness)",
- "FX 6 (goblins)",
- "FX 7 (echoes)",
- "FX 8 (sci-fi)",
-
- // Ethnic
- "Sitar", // 104
- "Banjo",
- "Shamisen",
- "Koto",
- "Kalimba",
- "Bag pipe",
- "Fiddle",
- "Shanai",
-
- // Percussive
- "Tinkle Bell", // 112
- "Agogo",
- "Steel Drums",
- "Woodblock",
- "Taiko Drum",
- "Melodic Tom",
- "Synth Drum",
- "Reverse Cymbal",
-
- // Effects
- "Guitar Fret Noise", // 120
- "Breath Noise",
- "Seashore",
- "Bird Tweet",
- "Telephone Ring",
- "Helicopter",
- "Applause",
- "Gunshot"
- };
-
- public static final String[] GM_DRUMSETS = new String[] {
- "Standard",
- "Room",
- "Power",
- "Electronic",
- "Analog",
- "Jazz",
- "Brush",
- "Orchestra",
- "Clavinova",
- "RX",
- "C/M"
- };
-
-
-}
\ No newline at end of file
+
+
+public interface GMNames {
+ public static final String[] GM_CATEGORIES = new String[] {
+ "Piano", "Percussion", "Organ", "Guitar", "Bass", "Strings", "Ensemble", "Brass", "Reed", "Pipe", "Synth Lead",
+ "SynthPad", "Synth Effects", "Ethnic", "Percussive", "Effects", "DrumSets"
+ };
+ public static final int GM_CATEGORIES_FIRST_INDICES[] = new int[] {
+ 0x0, 0x7, 0x10, 0x18, 0x20, 0x28, 0x30, 0x38, 0x40, 0x48, 0x50, 0x58, 0x60, 0x68, 0x70, 0x78, 0x80
+ };
+ public static final String[] GM_DRUMSETS = new String[] {
+ "Standard", "Room", "Power", "Electronic", "Analog", "Jazz", "Brush", "Orchestra", "Clavinova", "RX", "C/M"
+ };
+ public static final String[] GM_NAMES = new String[] {
+
+ // Piano
+ "Acoustic Grand Piano", "Bright Acoustic Piano", "Electric Grand Piano", "Honky-tonk Piano", "Electric Piano 1",
+ "Electric Piano 2", "Harpsichord",
+
+ // Percussion
+ "Clavi", // 7
+ "Celesta", "Glockenspiel", "Music Box", "Vibraphone", "Marimba", "Xylophone", "Tubular Bells", "Dulcimer",
+
+ // Organ
+ "Drawbar Organ", // 16
+ "Percussive Organ", "Rock Organ", "Church Organ", "Reed Organ", "Accordion", "Harmonica", "Tango Accordion",
+
+ // Gitar
+ "Acoustic Guitar (nylon)", // 24
+ "Acoustic Guitar (steel)", "Electric Guitar (jazz)", "Electric Guitar (clean)", "Electric Guitar (muted)",
+ "Overdriven Guitar", "Distortion Guitar", "Guitar harmonics",
+
+ // Bass
+ "Acoustic Bass", // 32
+ "Electric Bass (finger)", "Electric Bass (pick)", "Fretless Bass", "Slap Bass 1", "Slap Bass 2", "Synth Bass 1",
+ "Synth Bass 2",
+
+ // strings
+ "Violin", // 40
+ "Viola", "Cello", "Contrabass", "Tremolo Strings", "Pizzicato Strings", "Orchestral Harp", "Timpani",
+
+ // Ensemble
+ "String Ensemble 1", // 48
+ "String Ensemble 2", "SynthStrings 1", "SynthStrings 2", "Choir Aahs", "Voice Oohs", "Synth Voice",
+ "Orchestra Hit",
+
+ // Brass
+ "Trumpet", // 56
+ "Trombone", "Tuba", "Muted Trumpet", "French Horn", "Brass Section", "SynthBrass 1", "SynthBrass 2",
+
+ // Reed
+ "Soprano Sax", // 64
+ "Alto Sax", "Tenor Sax", "Baritone Sax", "Oboe", "English Horn", "Bassoon", "Clarinet",
+
+ // Pipe
+ "Piccolo", // 72
+ "Flute", "Recorder", "Pan Flute", "Blown Bottle", "Shakuhachi", "Whistle", "Ocarina",
+
+ // Synth Lead
+ "Lead 1 (square)", // 80
+ "Lead 2 (sawtooth)", "Lead 3 (calliope)", "Lead 4 (chiff)", "Lead 5 (charang)", "Lead 6 (voice)",
+ "Lead 7 (fifths)", "Lead 8 (bass + lead)",
+
+ // Synth Pad
+ "Pad 1 (new age)", // 88
+ "Pad 2 (warm)", "Pad 3 (polysynth)", "Pad 4 (choir)", "Pad 5 (bowed)", "Pad 6 (metallic)", "Pad 7 (halo)",
+ "Pad 8 (sweep)",
+
+ // Synth Fx
+ "FX 1 (rain)", // 96
+ "FX 2 (soundtrack)", "FX 3 (crystal)", "FX 4 (atmosphere)", "FX 5 (brightness)", "FX 6 (goblins)",
+ "FX 7 (echoes)", "FX 8 (sci-fi)",
+
+ // Ethnic
+ "Sitar", // 104
+ "Banjo", "Shamisen", "Koto", "Kalimba", "Bag pipe", "Fiddle", "Shanai",
+
+ // Percussive
+ "Tinkle Bell", // 112
+ "Agogo", "Steel Drums", "Woodblock", "Taiko Drum", "Melodic Tom", "Synth Drum", "Reverse Cymbal",
+
+ // Effects
+ "Guitar Fret Noise", // 120
+ "Breath Noise", "Seashore", "Bird Tweet", "Telephone Ring", "Helicopter", "Applause", "Gunshot"
+ };
+ public static final int NUM_GM_CATEGORIES = 0x11;
+}
+
+
+//~ Formatted by Jindent --- http://www.jindent.com
diff --git a/plugins/JayVSTxSynth/JayVSTxSynth.java b/plugins/JayVSTxSynth/JayVSTxSynth.java
index d3481a1..d48f3e6 100644
--- a/plugins/JayVSTxSynth/JayVSTxSynth.java
+++ b/plugins/JayVSTxSynth/JayVSTxSynth.java
@@ -24,17 +24,17 @@
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*/
-import jvst.wrapper.*;
+import jvst.wrapper.VSTPluginAdapter;
import jvst.wrapper.valueobjects.*;
-public class JayVSTxSynth extends VSTPluginAdapter {
- private static final int NUM_FREQUENCIES = 128; // 128 midi notes
- private static final int WAVE_SIZE = 4096; // samples (must be power of 2 here)
+public final class JayVSTxSynth extends VSTPluginAdapter {
+ private static final int NUM_FREQUENCIES = 0x80; // 128 midi notes
+ private static final int WAVE_SIZE = 0x1000; // samples (must be power of 2 here)
private static final double MIDI_SCALER = 1.0D / 127.0D;
- private static final int NUM_PROGRAMS = 16;
- private static final int NUM_OUTPUTS = 2;
+ private static final int NUM_PROGRAMS = 0x10;
+ private static final int NUM_OUTPUTS = 0x2;
private JayVSTxSynthProgram[] programs = new JayVSTxSynthProgram[NUM_PROGRAMS];
@@ -66,8 +66,8 @@ public class JayVSTxSynth extends VSTPluginAdapter {
static {
// make waveforms
- long wh = WAVE_SIZE / 4; // 1:3 pulse
- for (int i = 0; i < WAVE_SIZE; i++) {
+ long wh = WAVE_SIZE / 0x4; // 1:3 pulse
+ for (int i = 0x0; i < WAVE_SIZE; i++) {
SAWTOOTH[i] = (float)(-1. + (2. * ((double)i / (double)WAVE_SIZE)));
PULSE[i] = (i < wh) ? -1.f : 1.f;
}
@@ -78,7 +78,7 @@ public class JayVSTxSynth extends VSTPluginAdapter {
a *= k; // b
a *= k; // bb
a *= k; // c, frequency of midi note 0
- for (int i = 0; i < NUM_FREQUENCIES; i++) { // 128 midi notes
+ for (int i = 0x0; i < NUM_FREQUENCIES; i++) { // 128 midi notes
FREQ_TAB[i] = (float) a;
a *= k;
}
@@ -90,26 +90,30 @@ public JayVSTxSynth(long wrapper) {
super(wrapper);
log("Construktor jVSTxSynth() START!");
- for (int i = 0; i < this.programs.length; i++) this.programs[i] = new JayVSTxSynthProgram();
- for (int i = 0; i < this.channelPrograms.length; i++) this.channelPrograms[i] = i;
+ for (int i = 0x0; i < this.programs.length; i++) {
+ this.programs[i] = new JayVSTxSynthProgram();
+ }
+ for (int i = 0x0; i < this.channelPrograms.length; i++) {
+ this.channelPrograms[i] = i;
+ }
- this.setProgram(0);
+ this.setProgram(0x0);
- this.setNumInputs(0);// no input
- this.setNumOutputs(2);// 2 outputs, 1 for each oscillator
+ this.setNumInputs(0x0);// no input
+ this.setNumOutputs(0x2);// 2 outputs, 1 for each oscillator
//this.hasVu(false); //deprecated as of vst2.4
//this.hasClip(false); //deprecated as of vst2.4
this.canProcessReplacing(true);
this.isSynth(true);
- this.setUniqueID('j'<<24 | 'X'<<16 | 's'<<8 | 'y');
+ this.setUniqueID('j'<<0x18 | 'X'<<0x10 | 's'<<0x8 | 'y');
this.fPhase1 = this.fPhase2 = 0.f;
this.fScaler = (float)((double)WAVE_SIZE / 44100.0D); // we don't know the sample rate yet
this.noteIsOn = false;
- this.currentDelta = 0;
+ this.currentDelta = 0x0;
this.suspend();
@@ -117,17 +121,23 @@ public JayVSTxSynth(long wrapper) {
}
+ @Override
+ @SuppressWarnings("deprecation")
public void resume() {
- this.wantEvents(1); //deprecated as of vst2.4
+ this.wantEvents(0x1); //deprecated as of vst2.4
//keep it anyways to be backward compatible...
}
+ @Override
public void setSampleRate(float sampleRate) {
this.fScaler = (float)((double)WAVE_SIZE / (double)sampleRate);
}
+ @Override
public void setProgram(int index) {
- if (index < 0 || index >= NUM_PROGRAMS) return;
+ if (index < 0x0 || index >= NUM_PROGRAMS) {
+ return;
+ }
JayVSTxSynthProgram dp = this.programs[index];
this.currentProgram = index;
@@ -143,15 +153,17 @@ public void setProgram(int index) {
this.setParameter(JayVSTxSynthProgram.PARAM_ID_VOLUME2, dp.getVolume2());
}
+ @Override
public void setProgramName(String name) {
this.programs[this.currentProgram].setName(name);
}
+ @Override
public String getProgramName() {
String name;
if (this.programs[this.currentProgram].getName().equals("Init")) {
- name = this.programs[this.currentProgram].getName() + " " + (this.currentProgram + 1);
+ name = this.programs[this.currentProgram].getName() + " " + (this.currentProgram + 0x1);
}
else {
name = this.programs[this.currentProgram].getName();
@@ -160,6 +172,7 @@ public String getProgramName() {
return name;
}
+ @Override
public String getParameterLabel(int index) {
String label = "";
@@ -182,18 +195,27 @@ public String getParameterLabel(int index) {
return label;
}
+ @Override
public String getParameterDisplay(int index) {
String text = "";
switch (index) {
case JayVSTxSynthProgram.PARAM_ID_WAVEFORM1: {
- if (this.fWaveform1 < 0.5f) text = "Sawtooth";
- else text = "Pulse ";
+ if (this.fWaveform1 < 0.5f) {
+ text = "Sawtooth";
+ }
+ else {
+ text = "Pulse ";
+ }
break;
}
case JayVSTxSynthProgram.PARAM_ID_WAVEFORM2:{
- if (this.fWaveform2 < 0.5f) text = "Sawtooth";
- else text = "Pulse ";
+ if (this.fWaveform2 < 0.5f) {
+ text = "Sawtooth";
+ }
+ else {
+ text = "Pulse ";
+ }
break;
}
case JayVSTxSynthProgram.PARAM_ID_FREQ1: {
@@ -221,6 +243,7 @@ public String getParameterDisplay(int index) {
return text;
}
+ @Override
public String getParameterName(int index) {
String label = "";
@@ -237,6 +260,7 @@ public String getParameterName(int index) {
return label;
}
+ @Override
public void setParameter(int index, float value) {
JayVSTxSynthProgram dp = this.programs[this.currentProgram];
@@ -280,8 +304,9 @@ public void setParameter(int index, float value) {
}
+ @Override
public float getParameter(int index) {
- float v = 0;
+ float v = 0x0;
switch (index) {
case JayVSTxSynthProgram.PARAM_ID_WAVEFORM1: v = this.fWaveform1; break;
@@ -295,14 +320,15 @@ public float getParameter(int index) {
return v;
}
+ @Override
public VSTPinProperties getOutputProperties (int index) {
VSTPinProperties ret = null;
if (index < NUM_OUTPUTS) {
ret = new VSTPinProperties();
- ret.setLabel("jVSTx " + (index + 1) + "d");
+ ret.setLabel("jVSTx " + (index + 0x1) + "d");
ret.setFlags(VSTPinProperties.VST_PIN_IS_ACTIVE);
- if (index < 2) {
+ if (index < 0x2) {
// make channel 1+2 stereo
ret.setFlags(ret.getFlags() | VSTPinProperties.VST_PIN_IS_STEREO);
}
@@ -311,13 +337,20 @@ public VSTPinProperties getOutputProperties (int index) {
return ret;
}
+ @Override
public String getProgramNameIndexed(int category, int index) {
String text = "";
- if (index < this.programs.length) text = this.programs[index].getName();
- if ("Init".equals(text)) text = text + " " + index;
+ if (index < this.programs.length) {
+ text = this.programs[index].getName();
+ }
+ if ("Init".equals(text)) {
+ text = text + " " + index;
+ }
return text;
}
+ @SuppressWarnings("deprecation")
+ @Override
public boolean copyProgram (int destination) {
if (destination < NUM_PROGRAMS) {
this.programs[destination] = this.programs[this.currentProgram];
@@ -326,30 +359,48 @@ public boolean copyProgram (int destination) {
return false;
}
+ @Override
public String getEffectName() { return "jVSTxSynth"; }
+ @Override
public String getVendorString() { return "jVSTwRapper"; }
+ @Override
public String getProductString() { return "jVSTxSynth"; }
+ @Override
public int getNumPrograms() { return NUM_PROGRAMS; }
+ @Override
public int getNumParams() { return JayVSTxSynthProgram.NUM_PARAMS; }
+ @Override
public boolean setBypass(boolean value) { return false; }
+ @Override
public int getProgram() { return this.currentProgram; }
+ @Override
public int getPlugCategory() { return VSTPluginAdapter.PLUG_CATEG_SYNTH; }
+ @Override
public int canDo(String feature) {
int ret = JayVSTxSynth.CANDO_NO;
- if (JayVSTxSynth.CANDO_PLUG_RECEIVE_VST_EVENTS.equals(feature)) ret = JayVSTxSynth.CANDO_YES;
- if (JayVSTxSynth.CANDO_PLUG_RECEIVE_VST_MIDI_EVENT.equals(feature)) ret = JayVSTxSynth.CANDO_YES;
- if (JayVSTxSynth.CANDO_PLUG_MIDI_PROGRAM_NAMES.equals(feature)) ret = JayVSTxSynth.CANDO_YES;
+ if (JayVSTxSynth.CANDO_PLUG_RECEIVE_VST_EVENTS.equals(feature)) {
+ ret = JayVSTxSynth.CANDO_YES;
+ }
+ if (JayVSTxSynth.CANDO_PLUG_RECEIVE_VST_MIDI_EVENT.equals(feature)) {
+ ret = JayVSTxSynth.CANDO_YES;
+ }
+ if (JayVSTxSynth.CANDO_PLUG_MIDI_PROGRAM_NAMES.equals(feature)) {
+ ret = JayVSTxSynth.CANDO_YES;
+ }
return ret;
}
+ @Override
public boolean string2Parameter(int index, String value) {
boolean ret = false;
try {
- if (value != null) this.setParameter(index, Float.parseFloat(value));
+ if (value != null) {
+ this.setParameter(index, Float.parseFloat(value));
+ }
ret=true;
} catch(Exception e) {log(e.toString());}
@@ -364,18 +415,26 @@ public boolean string2Parameter(int index, String value) {
// programs[channelProgram[channel]] parameters when it receives
// a note on message.
+ @Override
public int getMidiProgramName(int channel, MidiProgramName mpn) {
int prg = mpn.getThisProgramIndex();
- if (prg < 0 || prg >= 128) return 0;
+ if (prg < 0x0 || prg >= 0x80) {
+ return 0x0;
+ }
this.fillProgram(channel, prg, mpn);
- if (channel == 9) return 1;
+ if (channel == 0x9) {
+ return 0x1;
+ }
- return 128;
+ return 0x80;
}
+ @Override
public int getCurrentMidiProgram (int channel, MidiProgramName mpn) {
- if (channel < 0 || channel >= 16 || mpn==null) return -1;
+ if (channel < 0x0 || channel >= 0x10 || mpn==null) {
+ return 0xffffffff;
+ }
int prg = this.channelPrograms[channel];
mpn.setThisProgramIndex(prg);
@@ -384,21 +443,24 @@ public int getCurrentMidiProgram (int channel, MidiProgramName mpn) {
return prg;
}
+ @Override
public int getMidiProgramCategory (int channel, MidiProgramCategory cat) {
- cat.setParentCategoryIndex(-1); // -1:no parent category
- cat.setFlags(0); // reserved, none defined yet, zero.
+ cat.setParentCategoryIndex(0xffffffff); // -1:no parent category
+ cat.setFlags(0x0); // reserved, none defined yet, zero.
int category = cat.getThisCategoryIndex();
- if (channel == 9) {
+ if (channel == 0x9) {
cat.setName("Drums");
- return 1;
+ return 0x1;
}
- if (category >= 0 && category < GMNames.NUM_GM_CATEGORIES)
- cat.setName(GMNames.GM_CATEGORIES[category]);
+ if (category >= 0x0 && category < GMNames.NUM_GM_CATEGORIES) {
+ cat.setName(GMNames.GM_CATEGORIES[category]);
+ }
return GMNames.NUM_GM_CATEGORIES;
}
+ @Override
public boolean hasMidiProgramsChanged (int channel) {
return false;
//this.updateDisplay()
@@ -417,37 +479,39 @@ public boolean getMidiKeyName (long channel, MidiKeyName key) {
//process is ACCUMULATING the calculated floats to the output
//BUT STILL, leave it there for backward compatibility (some hosts only call this one
//and are not aware of processReplacing...)
+ @SuppressWarnings("deprecation")
+ @Override
public void process(float[][] inputs, float[][] outputs, int sampleFrames) {
// process () is required, and accumulating (out += h)
// processReplacing () is optional, and in place (out = h). even though
// processReplacing () is optional, it is very highly recommended to support it
if (this.noteIsOn) {
- float[] out1 = outputs[0];
- float[] out2 = outputs[1];
- float baseFreq = FREQ_TAB[this.currentNote & 0x7f] * this.fScaler;
+ float[] out1 = outputs[0x0];
+ float[] out2 = outputs[0x1];
+ float baseFreq = FREQ_TAB[this.currentNote & 127] * this.fScaler;
float freq1 = baseFreq + this.fFreq1; // not really linear...
float freq2 = baseFreq + this.fFreq2;
float wave1[] = (this.fWaveform1 < .5) ? SAWTOOTH : PULSE;
float wave2[] = (this.fWaveform2 < .5) ? SAWTOOTH : PULSE;
float wsf = (float)WAVE_SIZE;
float vol = (float)(this.fVolume * (double)this.currentVelocity * MIDI_SCALER);
- int mask = WAVE_SIZE - 1;
+ int mask = WAVE_SIZE - 0x1;
- int start = 0;
+ int start = 0x0;
- if (this.currentDelta > 0) {
+ if (this.currentDelta > 0x0) {
if (this.currentDelta >= sampleFrames) { //future
this.currentDelta -= sampleFrames;
return;
}
- for(int i = 0; i < this.currentDelta; i++) {//zero delta frames
- out1[i] = 0;
- out2[i] = 0;
+ for(int i = 0x0; i < this.currentDelta; i++) {//zero delta frames
+ out1[i] = 0x0;
+ out2[i] = 0x0;
}
start = this.currentDelta;
sampleFrames -= this.currentDelta;
- this.currentDelta = 0;
+ this.currentDelta = 0x0;
}
for (int i = start, j=out1.length; i < j; i++) {
@@ -462,41 +526,42 @@ public void process(float[][] inputs, float[][] outputs, int sampleFrames) {
}
else {
//note off
- for (int i=0; i 0) {
+ if (this.currentDelta > 0x0) {
if (this.currentDelta >= sampleFrames) { //future
this.currentDelta -= sampleFrames;
return;
}
- for(int i = 0; i < this.currentDelta; i++) { //zero delta frames
- out1[i] = 0;
- out2[i] = 0;
+ for(int i = 0x0; i < this.currentDelta; i++) { //zero delta frames
+ out1[i] = 0x0;
+ out2[i] = 0x0;
}
start = this.currentDelta;
sampleFrames -= this.currentDelta;
- this.currentDelta = 0;
+ this.currentDelta = 0x0;
}
for (int i = start, j=out1.length; i < j; i++) {
@@ -511,37 +576,48 @@ public void processReplacing(float[][] inputs, float[][] outputs, int sampleFram
}
else {
//note off
- for (int i=0; i= GMNames.GM_CATEGORIES_FIRST_INDICES[i] &&
- prg < GMNames.GM_CATEGORIES_FIRST_INDICES[i + 1]) {
+ prg < GMNames.GM_CATEGORIES_FIRST_INDICES[i + 0x1]) {
mpn.setParentCategoryIndex(i);
break;
}
@@ -585,15 +661,15 @@ private void fillProgram (int channel, int prg, MidiProgramName mpn) {
class JayVSTxSynthProgram {
- public final static int PARAM_ID_VOLUME = 0;
- public final static int PARAM_ID_WAVEFORM1 = 1;
- public final static int PARAM_ID_FREQ1 = 2;
- public final static int PARAM_ID_VOLUME1 = 3;
- public final static int PARAM_ID_WAVEFORM2 = 4;
- public final static int PARAM_ID_FREQ2 = 5;
- public final static int PARAM_ID_VOLUME2 = 6;
-
- public final static int NUM_PARAMS = PARAM_ID_VOLUME2 + 1;
+ public final static int PARAM_ID_VOLUME = 0x0;
+ public final static int PARAM_ID_WAVEFORM1 = 0x1;
+ public final static int PARAM_ID_FREQ1 = 0x2;
+ public final static int PARAM_ID_VOLUME1 = 0x3;
+ public final static int PARAM_ID_WAVEFORM2 = 0x4;
+ public final static int PARAM_ID_FREQ2 = 0x5;
+ public final static int PARAM_ID_VOLUME2 = 0x6;
+
+ public final static int NUM_PARAMS = PARAM_ID_VOLUME2 + 0x1;
private String name = "Init";
diff --git a/plugins/JayVSTxSynth/JayVSTxSynthGUI.java b/plugins/JayVSTxSynth/JayVSTxSynthGUI.java
index 7312c7f..8e911bd 100644
--- a/plugins/JayVSTxSynth/JayVSTxSynthGUI.java
+++ b/plugins/JayVSTxSynth/JayVSTxSynthGUI.java
@@ -1,12 +1,12 @@
-/*
+/*
* jVSTwRapper - The Java way into VST world!
- *
- * jVSTwRapper is an easy and reliable Java Wrapper for the Steinberg VST interface.
- * It enables you to develop VST 2.3 compatible audio plugins and virtual instruments
+ *
+ * jVSTwRapper is an easy and reliable Java Wrapper for the Steinberg VST interface.
+ * It enables you to develop VST 2.3 compatible audio plugins and virtual instruments
* plus user interfaces with the Java Programming Language. 3 Demo Plugins(+src) are included!
- *
- * Copyright (C) 2006 Daniel Martin [daniel309@users.sourceforge.net]
- * and many others, see CREDITS.txt
+ *
+ * Copyright (C) 2006 Daniel Martin [daniel309@users.sourceforge.net]
+ * and many others, see CREDITS.txt
*
*
* This library is free software; you can redistribute it and/or
@@ -24,222 +24,242 @@
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*/
-import javax.swing.*;
-import javax.swing.event.*;
-import java.awt.*;
-import jvst.wrapper.*;
+
+//~--- non-JDK imports --------------------------------------------------------
+
+import jvst.wrapper.VSTPluginAdapter;
+import jvst.wrapper.VSTPluginGUIAdapter;
import jvst.wrapper.gui.VSTPluginGUIRunner;
+//~--- JDK imports ------------------------------------------------------------
+
+import java.awt.GridLayout;
+
+import javax.swing.*;
+import javax.swing.event.ChangeEvent;
+import javax.swing.event.ChangeListener;
+
+public final class JayVSTxSynthGUI extends VSTPluginGUIAdapter implements ChangeListener {
+ private static final long serialVersionUID = 0x613406b0d78d785dL;
+ protected static boolean DEBUG = false;
+ private JSlider Freg1Slider;
+ private JTextField Freg1Text;
+ private JSlider Freg2Slider;
+ private JTextField Freg2Text;
+ private JSlider Level1Slider;
+ private JTextField Level1Text;
+ private JSlider Level2Slider;
+ private JTextField Level2Text;
+ private JRadioButton PulseRadio1;
+ private JRadioButton PulseRadio2;
+ private JRadioButton SawRadio1;
+ private JRadioButton SawRadio2;
+ private JSlider VolumeSlider;
+ private JTextField VolumeText;
+ private VSTPluginAdapter pPlugin;
-public class JayVSTxSynthGUI extends VSTPluginGUIAdapter implements ChangeListener {
- private static final long serialVersionUID = 7004230677068347485L;
-
- private JSlider VolumeSlider;
- private JSlider Freg1Slider;
- private JSlider Freg2Slider;
- private JSlider Level1Slider;
- private JSlider Level2Slider;
-
- private JRadioButton SawRadio1;
- private JRadioButton SawRadio2;
- private JRadioButton PulseRadio1;
- private JRadioButton PulseRadio2;
-
- private JTextField VolumeText;
- private JTextField Freg1Text;
- private JTextField Freg2Text;
- private JTextField Level1Text;
- private JTextField Level2Text;
-
-
- private VSTPluginAdapter pPlugin;
-
- protected static boolean DEBUG = false;
-
-
- public JayVSTxSynthGUI(VSTPluginGUIRunner r, VSTPluginAdapter plug) {
- super(r,plug);
- log("JayVSTxSynthGUI ");
-
- this.setTitle("JayVSTxSynth v0.7");
- this.setSize(350, 240);
- this.setResizable(false);
-
- this.pPlugin=plug;
- this.init();
-
- //this is needed on the mac only,
- //java guis are handled there in a pretty different way than on win/linux
- //XXX
- if (RUNNING_MAC_X) this.show();
- }
-
-
- public void init() {
-
- if (!DEBUG) {
- this.VolumeSlider = new JSlider(JSlider.VERTICAL, 1, 100, (int)(this.pPlugin.getParameter(JayVSTxSynthProgram.PARAM_ID_VOLUME) * 100F));
- this.Freg1Slider = new JSlider(JSlider.HORIZONTAL, 1, 100, (int)(this.pPlugin.getParameter(JayVSTxSynthProgram.PARAM_ID_FREQ1) * 100F));
- this.Freg2Slider = new JSlider(JSlider.HORIZONTAL, 1, 100, (int)(this.pPlugin.getParameter(JayVSTxSynthProgram.PARAM_ID_FREQ2) * 100F));
- this.Level1Slider = new JSlider(JSlider.HORIZONTAL, 1, 100, (int)(this.pPlugin.getParameter(JayVSTxSynthProgram.PARAM_ID_VOLUME1) * 100F));
- this.Level2Slider = new JSlider(JSlider.HORIZONTAL, 1, 100, (int)(this.pPlugin.getParameter(JayVSTxSynthProgram.PARAM_ID_VOLUME2) * 100F));
- }
- else {
-
- this.VolumeSlider = new JSlider(JSlider.VERTICAL, 1, 100, 1);
- this.Freg1Slider = new JSlider(JSlider.HORIZONTAL, 1, 100, 1);
- this.Freg2Slider = new JSlider(JSlider.HORIZONTAL, 1, 100, 1);
- this.Level1Slider = new JSlider(JSlider.HORIZONTAL, 1, 100, 1);
- this.Level2Slider = new JSlider(JSlider.HORIZONTAL, 1, 100, 1);
- }
-
- this.VolumeSlider.addChangeListener(this);
- this.Freg1Slider.addChangeListener(this);
- this.Freg2Slider.addChangeListener(this);
- this.Level1Slider.addChangeListener(this);
- this.Level2Slider.addChangeListener(this);
-
- this.SawRadio1 = new JRadioButton("Saw", true);
- this.SawRadio2 = new JRadioButton("Saw");
- this.PulseRadio1 = new JRadioButton("Pulse");
- this.PulseRadio2 = new JRadioButton("Pulse", true);
- this.SawRadio1.addChangeListener(this);
- this.SawRadio2.addChangeListener(this);
- this.PulseRadio1.addChangeListener(this);
- this.PulseRadio2.addChangeListener(this);
- ButtonGroup Wave1Group = new ButtonGroup();
- ButtonGroup Wave2Group = new ButtonGroup();
- Wave1Group.add(this.SawRadio1);
- Wave1Group.add(this.PulseRadio1);
- Wave2Group.add(this.SawRadio2);
- Wave2Group.add(this.PulseRadio2);
-
- if (!DEBUG) {
- this.VolumeText = new JTextField((int)(this.pPlugin.getParameter(JayVSTxSynthProgram.PARAM_ID_VOLUME) * 100F) + "%");
- this.Freg1Text = new JTextField(this.pPlugin.getParameterDisplay(JayVSTxSynthProgram.PARAM_ID_FREQ1) + " " + this.pPlugin.getParameterLabel(JayVSTxSynthProgram.PARAM_ID_FREQ1));
- this.Freg2Text = new JTextField(this.pPlugin.getParameterDisplay(JayVSTxSynthProgram.PARAM_ID_FREQ2) + " " + this.pPlugin.getParameterLabel(JayVSTxSynthProgram.PARAM_ID_FREQ2));
- this.Level1Text = new JTextField(this.pPlugin.getParameterDisplay(JayVSTxSynthProgram.PARAM_ID_VOLUME1) + " " + this.pPlugin.getParameterLabel(JayVSTxSynthProgram.PARAM_ID_VOLUME1));
- this.Level2Text = new JTextField(this.pPlugin.getParameterDisplay(JayVSTxSynthProgram.PARAM_ID_VOLUME2) + " " + this.pPlugin.getParameterLabel(JayVSTxSynthProgram.PARAM_ID_VOLUME2));
+ @SuppressWarnings("deprecation")
+ public JayVSTxSynthGUI(VSTPluginGUIRunner r, VSTPluginAdapter plug) {
+ super(r, plug);
+ log("JayVSTxSynthGUI ");
+ this.setTitle("JayVSTxSynth v0.7");
+ this.setSize(0x15e, 0xf0);
+ this.setResizable(false);
+ this.pPlugin = plug;
+ this.init();
}
- else {
- this.VolumeText = new JTextField((1 * 100F) + "%");
- this.Freg1Text = new JTextField("234 Hz");
- this.Freg2Text = new JTextField("2345 Hz");
- this.Level1Text = new JTextField("324 db");
- this.Level2Text = new JTextField("345 db");
+
+ public void init() {
+ if (!DEBUG) {
+ this.VolumeSlider = new JSlider(JSlider.VERTICAL, 0x1, 0x64,
+ (int) (this.pPlugin.getParameter(JayVSTxSynthProgram.PARAM_ID_VOLUME)
+ * 100F));
+ this.Freg1Slider = new JSlider(JSlider.HORIZONTAL, 0x1, 0x64,
+ (int) (this.pPlugin.getParameter(JayVSTxSynthProgram.PARAM_ID_FREQ1)
+ * 100F));
+ this.Freg2Slider = new JSlider(JSlider.HORIZONTAL, 0x1, 0x64,
+ (int) (this.pPlugin.getParameter(JayVSTxSynthProgram.PARAM_ID_FREQ2)
+ * 100F));
+ this.Level1Slider = new JSlider(JSlider.HORIZONTAL, 0x1, 0x64,
+ (int) (this.pPlugin.getParameter(JayVSTxSynthProgram.PARAM_ID_VOLUME1)
+ * 100F));
+ this.Level2Slider = new JSlider(JSlider.HORIZONTAL, 0x1, 0x64,
+ (int) (this.pPlugin.getParameter(JayVSTxSynthProgram.PARAM_ID_VOLUME2)
+ * 100F));
+ } else {
+ this.VolumeSlider = new JSlider(JSlider.VERTICAL, 0x1, 0x64, 0x1);
+ this.Freg1Slider = new JSlider(JSlider.HORIZONTAL, 0x1, 0x64, 0x1);
+ this.Freg2Slider = new JSlider(JSlider.HORIZONTAL, 0x1, 0x64, 0x1);
+ this.Level1Slider = new JSlider(JSlider.HORIZONTAL, 0x1, 0x64, 0x1);
+ this.Level2Slider = new JSlider(JSlider.HORIZONTAL, 0x1, 0x64, 0x1);
+ }
+
+ this.VolumeSlider.addChangeListener(this);
+ this.Freg1Slider.addChangeListener(this);
+ this.Freg2Slider.addChangeListener(this);
+ this.Level1Slider.addChangeListener(this);
+ this.Level2Slider.addChangeListener(this);
+ this.SawRadio1 = new JRadioButton("Saw", true);
+ this.SawRadio2 = new JRadioButton("Saw");
+ this.PulseRadio1 = new JRadioButton("Pulse");
+ this.PulseRadio2 = new JRadioButton("Pulse", true);
+ this.SawRadio1.addChangeListener(this);
+ this.SawRadio2.addChangeListener(this);
+ this.PulseRadio1.addChangeListener(this);
+ this.PulseRadio2.addChangeListener(this);
+
+ ButtonGroup Wave1Group = new ButtonGroup();
+ ButtonGroup Wave2Group = new ButtonGroup();
+
+ Wave1Group.add(this.SawRadio1);
+ Wave1Group.add(this.PulseRadio1);
+ Wave2Group.add(this.SawRadio2);
+ Wave2Group.add(this.PulseRadio2);
+
+ if (!DEBUG) {
+ this.VolumeText = new JTextField((int) (this.pPlugin.getParameter(JayVSTxSynthProgram.PARAM_ID_VOLUME)
+ * 100F) + "%");
+ this.Freg1Text = new JTextField(this.pPlugin.getParameterDisplay(JayVSTxSynthProgram.PARAM_ID_FREQ1) + " "
+ + this.pPlugin.getParameterLabel(JayVSTxSynthProgram.PARAM_ID_FREQ1));
+ this.Freg2Text = new JTextField(this.pPlugin.getParameterDisplay(JayVSTxSynthProgram.PARAM_ID_FREQ2) + " "
+ + this.pPlugin.getParameterLabel(JayVSTxSynthProgram.PARAM_ID_FREQ2));
+ this.Level1Text = new JTextField(this.pPlugin.getParameterDisplay(JayVSTxSynthProgram.PARAM_ID_VOLUME1)
+ + " "
+ + this.pPlugin.getParameterLabel(JayVSTxSynthProgram.PARAM_ID_VOLUME1));
+ this.Level2Text = new JTextField(this.pPlugin.getParameterDisplay(JayVSTxSynthProgram.PARAM_ID_VOLUME2)
+ + " "
+ + this.pPlugin.getParameterLabel(JayVSTxSynthProgram.PARAM_ID_VOLUME2));
+ } else {
+ this.VolumeText = new JTextField((0x1 * 100F) + "%");
+ this.Freg1Text = new JTextField("234 Hz");
+ this.Freg2Text = new JTextField("2345 Hz");
+ this.Level1Text = new JTextField("324 db");
+ this.Level2Text = new JTextField("345 db");
+ }
+
+ this.VolumeText.setEditable(false);
+ this.Freg1Text.setEditable(false);
+ this.Freg2Text.setEditable(false);
+ this.Level1Text.setEditable(false);
+ this.Level2Text.setEditable(false);
+
+ JLabel VolumeLabel = new JLabel("Volume");
+ JLabel Freg1Label = new JLabel("Freqency");
+ JLabel Freg2Label = new JLabel("Freqency");
+ JLabel Level1Label = new JLabel("Volume");
+ JLabel Level2Label = new JLabel("Volume");
+ GridLayout grids = new GridLayout(0x1, 0x3);
+
+ this.getContentPane().setLayout(grids);
+
+ Box VolumeBox = new Box(BoxLayout.Y_AXIS);
+ Box Osc1box = new Box(BoxLayout.Y_AXIS);
+ Box Osc2box = new Box(BoxLayout.Y_AXIS);
+
+ VolumeBox.add(VolumeLabel);
+ VolumeBox.add(this.VolumeSlider);
+ VolumeBox.add(this.VolumeText);
+ VolumeBox.setBorder(BorderFactory.createTitledBorder("Amp"));
+ Osc1box.add(this.SawRadio1);
+ Osc1box.add(this.PulseRadio1);
+ Osc1box.add(Box.createVerticalStrut(0xf));
+ Osc1box.add(Freg1Label);
+ Osc1box.add(this.Freg1Slider);
+ Osc1box.add(this.Freg1Text);
+ Osc1box.add(Box.createVerticalStrut(0xf));
+ Osc1box.add(Level1Label);
+ Osc1box.add(this.Level1Slider);
+ Osc1box.add(this.Level1Text);
+ Osc1box.setBorder(BorderFactory.createTitledBorder("Osc1"));
+ Osc2box.add(this.SawRadio2);
+ Osc2box.add(this.PulseRadio2);
+ Osc2box.add(Box.createVerticalStrut(0xf));
+ Osc2box.add(Freg2Label);
+ Osc2box.add(this.Freg2Slider);
+ Osc2box.add(this.Freg2Text);
+ Osc2box.add(Box.createVerticalStrut(0xf));
+ Osc2box.add(Level2Label);
+ Osc2box.add(this.Level2Slider);
+ Osc2box.add(this.Level2Text);
+ Osc2box.setBorder(BorderFactory.createTitledBorder("Osc2"));
+ this.getContentPane().add(VolumeBox);
+ this.getContentPane().add(Osc1box);
+ this.getContentPane().add(Osc2box);
}
+ @Override
+ public void stateChanged(ChangeEvent e) {
+ Object o = e.getSource();
+
+ if (!DEBUG) {
+ if (o.equals(this.VolumeSlider)) {
+ JSlider s = (JSlider) o;
+
+ this.pPlugin.setParameter(JayVSTxSynthProgram.PARAM_ID_VOLUME, (float) s.getValue() / 100F);
+ this.VolumeText.setText((int) (this.pPlugin.getParameter(JayVSTxSynthProgram.PARAM_ID_VOLUME) * 100F)
+ + "%");
+ } else if (o.equals(this.Freg1Slider)) {
+ JSlider s = (JSlider) o;
+
+ this.pPlugin.setParameter(JayVSTxSynthProgram.PARAM_ID_FREQ1, (float) s.getValue() / 100F);
+ this.Freg1Text.setText(this.pPlugin.getParameterDisplay(JayVSTxSynthProgram.PARAM_ID_FREQ1) + " "
+ + this.pPlugin.getParameterLabel(JayVSTxSynthProgram.PARAM_ID_FREQ1));
+ } else if (o.equals(this.Freg2Slider)) {
+ JSlider s = (JSlider) o;
+
+ this.pPlugin.setParameter(JayVSTxSynthProgram.PARAM_ID_FREQ2, (float) s.getValue() / 100F);
+ this.Freg2Text.setText(this.pPlugin.getParameterDisplay(JayVSTxSynthProgram.PARAM_ID_FREQ2) + " "
+ + this.pPlugin.getParameterLabel(JayVSTxSynthProgram.PARAM_ID_FREQ2));
+ } else if (o.equals(this.Level1Slider)) {
+ JSlider s = (JSlider) o;
+
+ this.pPlugin.setParameter(JayVSTxSynthProgram.PARAM_ID_VOLUME1, (float) s.getValue() / 100F);
+ this.Level1Text.setText(this.pPlugin.getParameterDisplay(JayVSTxSynthProgram.PARAM_ID_VOLUME1) + " "
+ + this.pPlugin.getParameterLabel(JayVSTxSynthProgram.PARAM_ID_VOLUME1));
+ } else if (o.equals(this.Level2Slider)) {
+ JSlider s = (JSlider) o;
- this.VolumeText.setEditable(false);
- this.Freg1Text.setEditable(false);
- this.Freg2Text.setEditable(false);
- this.Level1Text.setEditable(false);
- this.Level2Text.setEditable(false);
-
- JLabel VolumeLabel = new JLabel("Volume");
- JLabel Freg1Label = new JLabel("Freqency");
- JLabel Freg2Label = new JLabel("Freqency");
- JLabel Level1Label = new JLabel("Volume");
- JLabel Level2Label = new JLabel("Volume");
-
- GridLayout grids = new GridLayout(1, 3);
- this.getContentPane().setLayout(grids);
-
- Box VolumeBox = new Box(BoxLayout.Y_AXIS);
- Box Osc1box = new Box(BoxLayout.Y_AXIS);
- Box Osc2box = new Box(BoxLayout.Y_AXIS);
-
-
- VolumeBox.add(VolumeLabel);
- VolumeBox.add(this.VolumeSlider);
- VolumeBox.add(this.VolumeText);
- VolumeBox.setBorder(BorderFactory.createTitledBorder("Amp"));
-
- Osc1box.add(this.SawRadio1);
- Osc1box.add(this.PulseRadio1);
- Osc1box.add(Box.createVerticalStrut(15));
- Osc1box.add(Freg1Label);
- Osc1box.add(this.Freg1Slider);
- Osc1box.add(this.Freg1Text);
- Osc1box.add(Box.createVerticalStrut(15));
- Osc1box.add(Level1Label);
- Osc1box.add(this.Level1Slider);
- Osc1box.add(this.Level1Text);
- Osc1box.setBorder(BorderFactory.createTitledBorder("Osc1"));
-
- Osc2box.add(this.SawRadio2);
- Osc2box.add(this.PulseRadio2);
- Osc2box.add(Box.createVerticalStrut(15));
- Osc2box.add(Freg2Label);
- Osc2box.add(this.Freg2Slider);
- Osc2box.add(this.Freg2Text);
- Osc2box.add(Box.createVerticalStrut(15));
- Osc2box.add(Level2Label);
- Osc2box.add(this.Level2Slider);
- Osc2box.add(this.Level2Text);
- Osc2box.setBorder(BorderFactory.createTitledBorder("Osc2"));
-
- this.getContentPane().add(VolumeBox);
- this.getContentPane().add(Osc1box);
- this.getContentPane().add(Osc2box);
- }
-
-
- public void stateChanged(ChangeEvent e) {
- Object o = e.getSource();
- if (!DEBUG) {
- if (o.equals(this.VolumeSlider)) {
- JSlider s = (JSlider)o;
- this.pPlugin.setParameter(JayVSTxSynthProgram.PARAM_ID_VOLUME, (float)((float)s.getValue() / 100F));
- this.VolumeText.setText((int)(this.pPlugin.getParameter(JayVSTxSynthProgram.PARAM_ID_VOLUME) * 100F) + "%");
- }
- else if (o.equals(this.Freg1Slider)) {
- JSlider s = (JSlider)o;
- this.pPlugin.setParameter(JayVSTxSynthProgram.PARAM_ID_FREQ1, (float)((float)s.getValue() / 100F));
- this.Freg1Text.setText(this.pPlugin.getParameterDisplay(JayVSTxSynthProgram.PARAM_ID_FREQ1) + " " + this.pPlugin.getParameterLabel(JayVSTxSynthProgram.PARAM_ID_FREQ1));
- }
- else if (o.equals(this.Freg2Slider)) {
- JSlider s = (JSlider)o;
- this.pPlugin.setParameter(JayVSTxSynthProgram.PARAM_ID_FREQ2, (float)((float)s.getValue() / 100F));
- this.Freg2Text.setText(this.pPlugin.getParameterDisplay(JayVSTxSynthProgram.PARAM_ID_FREQ2) + " " + this.pPlugin.getParameterLabel(JayVSTxSynthProgram.PARAM_ID_FREQ2));
- }
- else if (o.equals(this.Level1Slider)) {
- JSlider s = (JSlider)o;
- this.pPlugin.setParameter(JayVSTxSynthProgram.PARAM_ID_VOLUME1, (float)((float)s.getValue() / 100F));
- this.Level1Text.setText(this.pPlugin.getParameterDisplay(JayVSTxSynthProgram.PARAM_ID_VOLUME1) + " " + this.pPlugin.getParameterLabel(JayVSTxSynthProgram.PARAM_ID_VOLUME1));
- }
- else if (o.equals(this.Level2Slider)) {
- JSlider s = (JSlider)o;
- this.pPlugin.setParameter(JayVSTxSynthProgram.PARAM_ID_VOLUME2, (float)((float)s.getValue() / 100F));
- this.Level2Text.setText(this.pPlugin.getParameterDisplay(JayVSTxSynthProgram.PARAM_ID_VOLUME2) + " " + this.pPlugin.getParameterLabel(JayVSTxSynthProgram.PARAM_ID_VOLUME2));
- }
- else if (o.equals(this.PulseRadio1)) {
- JRadioButton r = (JRadioButton)o;
- if (r.isEnabled()) this.pPlugin.setParameter(JayVSTxSynthProgram.PARAM_ID_WAVEFORM1, 0.9F);
- }
- else if (o.equals(this.PulseRadio2)) {
- JRadioButton r = (JRadioButton)o;
- if (r.isEnabled()) this.pPlugin.setParameter(JayVSTxSynthProgram.PARAM_ID_WAVEFORM2, 0.9F);
- }
- else if (o.equals(this.SawRadio1)) {
- JRadioButton r = (JRadioButton)o;
- if (r.isEnabled()) this.pPlugin.setParameter(JayVSTxSynthProgram.PARAM_ID_WAVEFORM1, 0.1F);
- }
- else if (o.equals(this.SawRadio2)) {
- JRadioButton r = (JRadioButton)o;
- if (r.isEnabled()) this.pPlugin.setParameter(JayVSTxSynthProgram.PARAM_ID_WAVEFORM2, 0.1F);
- }
+ this.pPlugin.setParameter(JayVSTxSynthProgram.PARAM_ID_VOLUME2, (float) s.getValue() / 100F);
+ this.Level2Text.setText(this.pPlugin.getParameterDisplay(JayVSTxSynthProgram.PARAM_ID_VOLUME2) + " "
+ + this.pPlugin.getParameterLabel(JayVSTxSynthProgram.PARAM_ID_VOLUME2));
+ } else if (o.equals(this.PulseRadio1)) {
+ JRadioButton r = (JRadioButton) o;
+
+ if (r.isEnabled()) {
+ this.pPlugin.setParameter(JayVSTxSynthProgram.PARAM_ID_WAVEFORM1, 0.9F);
+ }
+ } else if (o.equals(this.PulseRadio2)) {
+ JRadioButton r = (JRadioButton) o;
+
+ if (r.isEnabled()) {
+ this.pPlugin.setParameter(JayVSTxSynthProgram.PARAM_ID_WAVEFORM2, 0.9F);
+ }
+ } else if (o.equals(this.SawRadio1)) {
+ JRadioButton r = (JRadioButton) o;
+
+ if (r.isEnabled()) {
+ this.pPlugin.setParameter(JayVSTxSynthProgram.PARAM_ID_WAVEFORM1, 0.1F);
+ }
+ } else if (o.equals(this.SawRadio2)) {
+ JRadioButton r = (JRadioButton) o;
+
+ if (r.isEnabled()) {
+ this.pPlugin.setParameter(JayVSTxSynthProgram.PARAM_ID_WAVEFORM2, 0.1F);
+ }
+ }
+ }
}
- }
+ // for testing purpose only!
+ public static void main(String[] args) throws Exception {
+ DEBUG = true;
- //for testing purpose only!
- public static void main(String[] args) throws Exception {
- DEBUG=true;
-
- JayVSTxSynthGUI gui = new JayVSTxSynthGUI(null,null);
- gui.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
- }
+ JayVSTxSynthGUI gui = new JayVSTxSynthGUI(null, null);
+ gui.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
+ }
}
+
+
+//~ Formatted by Jindent --- http://www.jindent.com
diff --git a/plugins/Liquinth/AudioSelector.java b/plugins/Liquinth/AudioSelector.java
new file mode 100644
index 0000000..0bf1378
--- /dev/null
+++ b/plugins/Liquinth/AudioSelector.java
@@ -0,0 +1,51 @@
+
+package jvst.examples.liquinth;
+
+import java.awt.*;
+import java.awt.event.*;
+import javax.swing.*;
+import javax.sound.sampled.*;
+
+class AudioSelector extends JPanel {
+ /**
+ *
+ */
+ private static final long serialVersionUID = 1L;
+ private final Player player;
+
+ public AudioSelector( Player player ) {
+ JComboBox combo;
+ GridBagLayout gbl;
+ GridBagConstraints gbc;
+
+ gbl = new GridBagLayout();
+ setLayout( gbl );
+
+ gbc = new GridBagConstraints();
+ gbc.fill = GridBagConstraints.HORIZONTAL;
+ gbc.insets = new Insets( 2, 2, 2, 2 );
+
+ add( new JLabel( "Audio Device" ), gbc );
+ combo = new JComboBox( AudioSystem.getMixerInfo() );
+ combo.addItemListener( new ComboListener() );
+ gbc.weightx = 1;
+ add( combo, gbc );
+
+ this.player = player;
+ set_mixer( ( Mixer.Info ) combo.getSelectedItem() );
+ }
+
+ private void set_mixer( Mixer.Info mixer_info ) {
+ player.stop();
+ player.set_mixer( AudioSystem.getMixer( mixer_info ) );
+ new Thread( player ).start();
+ }
+
+ private class ComboListener implements ItemListener {
+ public void itemStateChanged( ItemEvent e ) {
+ if( e.getStateChange() == ItemEvent.SELECTED ) {
+ set_mixer( ( Mixer.Info ) e.getItem() );
+ }
+ }
+ }
+}
diff --git a/plugins/Liquinth/AudioSource.java b/plugins/Liquinth/AudioSource.java
new file mode 100644
index 0000000..b0302f0
--- /dev/null
+++ b/plugins/Liquinth/AudioSource.java
@@ -0,0 +1,8 @@
+
+package jvst.examples.liquinth;
+
+public interface AudioSource {
+ public void set_sampling_rate( int sampling_rate );
+ public int[] allocate_mix_buf( int frames );
+ public void get_audio( int[] mix_buf, int length );
+}
diff --git a/plugins/Liquinth/Controls.java b/plugins/Liquinth/Controls.java
new file mode 100644
index 0000000..489e40a
--- /dev/null
+++ b/plugins/Liquinth/Controls.java
@@ -0,0 +1,11 @@
+
+package jvst.examples.liquinth;
+
+public interface Controls {
+ public int get_num_controllers();
+ public String get_controller_name( int control );
+ public int get_controller( int controller );
+ public void set_controller( int controller, int value );
+ public void set_mod_wheel( int value );
+ public void set_pitch_wheel( int value );
+}
diff --git a/plugins/Liquinth/Envelope.java b/plugins/Liquinth/Envelope.java
new file mode 100644
index 0000000..44c7ad9
--- /dev/null
+++ b/plugins/Liquinth/Envelope.java
@@ -0,0 +1,80 @@
+
+package jvst.examples.liquinth;
+
+class Envelope {
+ private boolean key_is_on;
+ private final int tick_len;
+ private int amplitude;
+ private int attack_len, attack_delta;
+ private int release_len, release_delta;
+
+ public Envelope( int sampling_rate ) {
+ tick_len = sampling_rate / 1000;
+ set_attack_time( 0 );
+ set_release_time( 0 );
+ }
+
+ public void set_attack_time( int millis ) {
+ attack_len = 0;
+ attack_delta = 0;
+ if( millis > 0 ) {
+ attack_len = tick_len * millis;
+ attack_delta = ( Maths.FP_ONE << Maths.FP_SHIFT ) / attack_len;
+ }
+ }
+
+ public void set_release_time( int millis ) {
+ release_len = 0;
+ release_delta = 0;
+ if( millis > 0 ) {
+ release_len = tick_len * millis;
+ release_delta = ( Maths.FP_ONE << Maths.FP_SHIFT ) / release_len;
+ }
+ }
+
+ public boolean key_is_on() {
+ return key_is_on;
+ }
+
+ public void key_on() {
+ key_is_on = true;
+ if( attack_len <= 0 ) {
+ amplitude = Maths.FP_ONE << Maths.FP_SHIFT;
+ }
+ }
+
+ public void key_off( boolean silence ) {
+ key_is_on = false;
+ if( release_len <= 0 || silence ) {
+ amplitude = 0;
+ }
+ }
+
+ public int get_amplitude() {
+ return amplitude >> Maths.FP_SHIFT;
+ }
+
+ public void update( int length ) {
+ int max_amplitude;
+ if( key_is_on ) { /* Attack */
+ max_amplitude = Maths.FP_ONE << Maths.FP_SHIFT;
+ if( length >= attack_len ) {
+ amplitude = max_amplitude;
+ } else {
+ amplitude += length * attack_delta;
+ if( amplitude > max_amplitude ) {
+ amplitude = max_amplitude;
+ }
+ }
+ } else { /* Release */
+ if( length >= release_len ) {
+ amplitude = 0;
+ } else {
+ amplitude -= length * release_delta;
+ if( amplitude < 0 ) {
+ amplitude = 0;
+ }
+ }
+ }
+ }
+}
diff --git a/plugins/Liquinth/Keyboard.java b/plugins/Liquinth/Keyboard.java
new file mode 100644
index 0000000..587aa2c
--- /dev/null
+++ b/plugins/Liquinth/Keyboard.java
@@ -0,0 +1,7 @@
+
+package jvst.examples.liquinth;
+
+public interface Keyboard {
+ public void note_on( int key, int velocity );
+ public void all_notes_off( boolean sound_off );
+}
diff --git a/plugins/Liquinth/LFO.java b/plugins/Liquinth/LFO.java
new file mode 100644
index 0000000..862c080
--- /dev/null
+++ b/plugins/Liquinth/LFO.java
@@ -0,0 +1,46 @@
+
+package jvst.examples.liquinth;
+
+/*
+ Low Frequency Oscillator ...
+*/
+class LFO {
+ private final int tick_len;
+ private int phase;
+ private int cycle_len, depth;
+
+ public LFO( int sampling_rate ) {
+ tick_len = sampling_rate / 1000;
+ set_cycle_len( 1000 );
+ }
+
+ public int get_phase() {
+ return phase;
+ }
+
+ public void set_phase() {
+ phase = 0 & ( Maths.FP_TWO - 1 );
+ }
+
+ public void set_cycle_len( int millis ) {
+ cycle_len = tick_len * millis;
+ }
+
+ public int get_depth() {
+ return depth;
+ }
+
+ public void set_depth( int dep ) {
+ depth = dep & Maths.FP_MASK;
+ }
+
+ public int get_amplitude() {
+ return Maths.sine( phase ) * depth >> Maths.FP_SHIFT;
+ }
+
+ public void update( int length ) {
+ phase += Maths.FP_TWO * length / cycle_len;
+ phase &= Maths.FP_TWO - 1;
+ }
+}
+
diff --git a/plugins/Liquinth/Liquinth.java b/plugins/Liquinth/Liquinth.java
new file mode 100644
index 0000000..41d5c00
--- /dev/null
+++ b/plugins/Liquinth/Liquinth.java
@@ -0,0 +1,459 @@
+import jvst.wrapper.VSTPluginAdapter;
+
+public class Liquinth implements Synthesizer, AudioSource {
+ public static final String VERSION = "Liquinth a36";
+ public static final String AUTHOR = "(c)2009 mumart@gmail.com";
+ public static final int RELEASE_DATE = 20090916;
+
+
+public class Liquinth extends VSTPluginAdapter {
+ public static int NUM_PARAMS = 0x1;
+ public static String[] PARAM_LABELS = new String[] { "CC Value" };
+ public static String[] PARAM_NAMES = new String[] { "MIDI CC Value" };
+ public static float[] PARAM_PRINT_MUL = new float[] { 0x7f };
+ private int currentProgram = 0x0;
+
+ private static final int
+ LOG2_NUM_VOICES = 3,
+ NUM_VOICES = 1 << LOG2_NUM_VOICES,
+ NUM_CONTROLLERS = 6;
+
+ // Some default programs
+ private float[][] programs = new float[][] {
+ { 0.0f }
+ };
+
+ public Liquinth(long wrapper) {
+ super(wrapper);
+ currentProgram = 0x0;
+
+ // stereo plugin, for max compatibility
+ this.setNumInputs(0x2);
+ this.setNumOutputs(0x2);
+ this.canProcessReplacing(true); // mandatory for vst 2.4!
+ this.setUniqueID('j' << 0x18 | 'R' << 0x10 | 'u' << 0x8 | 'b'); // jRub
+ log("Construktor INVOKED!");
+ }
+
+ @Override
+ public int canDo(String feature) {
+
+ // the host asks us here what we are able to do
+ int ret = CANDO_NO;
+
+ if (feature.equals(CANDO_PLUG_2_IN_2_OUT)) {
+ ret = CANDO_YES;
+ }
+
+ if (feature.equals(CANDO_PLUG_PLUG_AS_SEND)) {
+ ret = CANDO_YES;
+ }
+
+ if (feature.equals(CANDO_PLUG_PLUG_AS_CHANNEL_INSERT)) {
+ ret = CANDO_YES;
+ }
+
+ log("Host asked canDo: " + feature + " we replied: " + ret);
+
+ return ret;
+ }
+
+ @Override
+ public String getProductString() {
+ return "Liquinth";
+ }
+
+ @Override
+ public String getEffectName() {
+ return "Liquinth";
+ }
+
+ @Override
+ public String getProgramNameIndexed(int category, int index) {
+ return "prog categ=" + category + ", idx=" + index;
+ }
+
+ @Override
+ public String getVendorString() {
+ return "http://jvstwrapper.sourceforge.net/";
+ }
+
+ @Override
+ public boolean setBypass(boolean value) {
+
+ // do not support soft bypass!
+ return false;
+ }
+
+ @Override
+ public boolean string2Parameter(int index, String value) {
+ try {
+ if (value != null) {
+ this.setParameter(index, Float.parseFloat(value));
+ }
+
+ return true;
+ } catch (Exception e) { // ignore
+ return false;
+ }
+ }
+
+ public int getNumParams() {
+ return NUM_PARAMS;
+ }
+
+ @Override
+ public int getNumPrograms() {
+ return programs.length;
+ }
+
+ @Override
+ public float getParameter(int index) {
+ if (index < programs[currentProgram].length) {
+ return programs[currentProgram][index];
+ }
+
+ return 0.0f;
+ }
+
+ @Override
+ public String getParameterDisplay(int index) {
+ if (index < programs[currentProgram].length) {
+ return "" + (int) (PARAM_PRINT_MUL[index] * programs[currentProgram][index]);
+ }
+
+ return "0";
+ }
+
+ @Override
+ public String getParameterLabel(int index) {
+ if (index < PARAM_LABELS.length) {
+ return PARAM_LABELS[index];
+ }
+
+ return "";
+ }
+
+ @Override
+ public String getParameterName(int index) {
+ if (index < PARAM_NAMES.length) {
+ return PARAM_NAMES[index];
+ }
+
+ return "param: " + index;
+ }
+
+ @Override
+ public int getProgram() {
+ return currentProgram;
+ }
+
+ @Override
+ public String getProgramName() {
+ return "program " + currentProgram;
+ }
+
+ @Override
+ public void setParameter(int index, float value) {
+ programs[currentProgram][index] = value;
+ update();
+ }
+
+ @Override
+ public void setProgram(int index) {
+ currentProgram = index;
+ update();
+ }
+
+ @Override
+ public void setProgramName(String name) {
+
+ // TODO: ignored
+ }
+
+ @Override
+ public int getPlugCategory() {
+ log("getPlugCategory");
+
+ return PLUG_CATEG_EFFECT;
+ }
+
+ // Generate / Process the sound!
+
+ private static final String[] control_names = new String[] {
+ "Overdrive",
+ "Filter Cutoff",
+ "Filter Resonance",
+ "Filter Attack Level",
+ "Filter Decay",
+ "Portamento Speed"
+ };
+
+ private final MoogFilter filter;
+ private Envelope filter_env;
+ private final Voice[] voices;
+ private final byte[] key_status;
+ private final byte[] controllers;
+ private int num_controls;
+
+ public Liquinth( int sampling_rate ) {
+ filter = new MoogFilter( sampling_rate );
+ voices = new Voice[ NUM_VOICES ];
+ key_status = new byte[ 128 ];
+ controllers = new byte[ get_num_controllers() ];
+ set_sampling_rate( sampling_rate );
+ set_controller( 0, 42 );
+ set_controller( 1, 127 );
+ }
+
+ public void set_sampling_rate( int sampling_rate ) {
+ int idx;
+ filter_env = new Envelope( sampling_rate );
+ for( idx = 0; idx < NUM_VOICES; idx++ ) {
+ voices[ idx ] = new Voice( sampling_rate );
+ voices[ idx ].key_on( idx );
+ }
+ all_notes_off( true );
+ for( idx = 0; idx < controllers.length; idx++ ) {
+ set_controller( idx, controllers[ idx ] );
+ }
+ }
+
+ public int get_num_controllers() {
+ return NUM_CONTROLLERS + Voice.NUM_CONTROLLERS;
+ }
+
+ public String get_controller_name( int control ) {
+ String name;
+ if( control < NUM_CONTROLLERS ) {
+ name = control_names[ control ];
+ } else {
+ name = Voice.get_controller_name( control - NUM_CONTROLLERS );
+ }
+ return name;
+ }
+
+ public int[] allocate_mix_buf( int frames ) {
+ return new int[ frames ];
+ }
+
+ public synchronized void get_audio( int[] out_buf, int length ) {
+ int idx, cutoff, alevel;
+ /* Clear mix buffer.*/
+ for( idx = 0; idx < length; idx++ ) {
+ out_buf[ idx ] = 0;
+ }
+ /* Get audio from voices. */
+ for( idx = 0; idx < NUM_VOICES; idx++ ) {
+ voices[ idx ].get_audio( out_buf, length );
+ }
+ /* Handle filter envelope.*/
+ cutoff = ( controllers[ 1 ] + 1 ) << Maths.FP_SHIFT - 7;
+ alevel = controllers[ 3 ] << Maths.FP_SHIFT - 7;
+ cutoff += filter_env.get_amplitude() * alevel >> Maths.FP_SHIFT;
+ if( cutoff > Maths.FP_ONE ) {
+ cutoff = Maths.FP_ONE;
+ }
+ cutoff = Maths.exp_scale( cutoff, 8 );
+ filter.set_cutoff( cutoff / ( float ) Maths.FP_ONE );
+ filter.filter( out_buf, length );
+ filter_env.update( length );
+ }
+
+ public synchronized void note_on( int key, int velocity ) {
+ int idx;
+ int porta_voice, assigned_voice, quietest_voice;
+ int highest_key, voice_key, voice_vol, min_vol;
+ boolean key_is_on;
+
+ if( key < 0 || key > 127 ) {
+ return;
+ }
+
+ key_status[ key ] = 0;
+ if( velocity > 0 ) {
+ key_status[ key ] = 1;
+ }
+ /* Determine highest depressed key. */
+ highest_key = 128;
+ for( idx = 0; idx < 128; idx++ ) {
+ if( key_status[ idx ] > 0 ) {
+ highest_key = idx;
+ }
+ }
+
+ min_vol = -1;
+ porta_voice = -1;
+ assigned_voice = -1;
+ quietest_voice = -1;
+ for( idx = 0; idx < NUM_VOICES; idx++ ) {
+ key_is_on = voices[ idx ].key_is_on();
+ voice_key = voices[ idx ].get_key();
+ if( key == voice_key ) {
+ /* Voice has this key already assigned to it. */
+ if( key_is_on || assigned_voice < 0 ) {
+ /* Voices may have the same key. Prefer */
+ /* the keyed-on voice over a keyed off one. */
+ assigned_voice = idx;
+ }
+ }
+ if( key_is_on ) {
+ if( controllers[ 5 ] > 0 ) {
+ /* Portamento mode. */
+ if( porta_voice > -1 ) {
+ /* Only one voice should be active.*/
+ voices[ porta_voice ].key_off( false );
+ }
+ porta_voice = idx;
+ }
+ } else {
+ /* Test if this is the quietest. */
+ voice_vol = voices[ idx ].get_volume();
+ if( quietest_voice < 0 || voice_vol < min_vol ) {
+ quietest_voice = idx;
+ min_vol = voice_vol;
+ }
+ }
+ }
+
+ if( velocity > 0 ) {
+ /* Key on */
+ if( porta_voice > -1 ) {
+ if( key == highest_key ) {
+ /* Key pressed is higher than before.*/
+ filter_env.key_on();
+ filter_env.key_off( false );
+ /* New key is the highest. */
+ voices[ porta_voice ].key_on( key );
+ }
+ } else {
+ filter_env.key_on();
+ filter_env.key_off( false );
+ if( assigned_voice > -1 ) {
+ /* Re-key previously assigned voice. */
+ voices[ assigned_voice ].key_on( key );
+ } else if( quietest_voice > -1 ) {
+ /* Allocate new voice.*/
+ voices[ quietest_voice ].key_on( key );
+ }
+ }
+ } else {
+ /* Key off */
+ if( porta_voice > -1 ) {
+ if( highest_key > 127 ) {
+ /* Porta voice released.*/
+ voices[ porta_voice ].key_off( false );
+ } else if( key > highest_key ) {
+ /* Highest key released, keys still down. */
+ voices[ porta_voice ].key_on( highest_key );
+ }
+ } else {
+ if( assigned_voice > -1 ) {
+ /* Key off assigned voice. */
+ voices[ assigned_voice ].key_off( false );
+ }
+ }
+ }
+ }
+
+ public synchronized int get_controller( int controller ) {
+ int value = 0;
+ if( controller >= 0 && controller < controllers.length ) {
+ return controllers[ controller ];
+ }
+ return value;
+ }
+
+ public synchronized void set_controller( int controller, int value ) {
+ int idx;
+ if( controller < 0 || controller >= controllers.length ) {
+ return;
+ }
+ if( value < 0 || value > 127 ) {
+ return;
+ }
+ controllers[ controller ] = ( byte ) value;
+ switch( controller ) {
+ case 0:
+ /* Logarithmic preamp from 1/NUM_VOICES to 2 */
+ value = value << Maths.FP_SHIFT - 7;
+ value = Maths.exp_scale( value, LOG2_NUM_VOICES + 1 ) << 1;
+ for( idx = 0; idx < NUM_VOICES; idx++ ) {
+ voices[ idx ].set_volume( value );
+ }
+ break;
+ case 1:
+ /* Filter cutoff, handled in envelope calculations.*/
+ break;
+ case 2:
+ filter.set_resonance( value * 0.0314f );
+ break;
+ case 3:
+ /* Filter envelope level.*/
+ break;
+ case 4:
+ filter_env.set_release_time( value << 4 );
+ break;
+ case 5:
+ value = value << Maths.FP_SHIFT - 7;
+ value = Maths.exp_scale( value, 7 );
+ for( idx = 0; idx < NUM_VOICES; idx++ ) {
+ voices[ idx ].set_portamento_time( value * 1000 / Maths.FP_ONE );
+ }
+ break;
+ default:
+ for( idx = 0; idx < NUM_VOICES; idx++ ) {
+ voices[ idx ].set_controller( controller - NUM_CONTROLLERS, value );
+ }
+ break;
+ }
+ }
+
+ public synchronized void set_pitch_wheel( int value ) {
+ int idx;
+ for( idx = 0; idx < NUM_VOICES; idx++ ) {
+ voices[ idx ].set_pitch_wheel( value );
+ }
+ }
+
+ public synchronized void set_mod_wheel( int value ) {
+ // Hard coded to vibrato depth.
+ set_controller( 11, value );
+ }
+
+ public synchronized void all_notes_off( boolean sound_off ) {
+ int idx;
+ for( idx = 0; idx < NUM_VOICES; idx++ ) {
+ voices[ idx ].key_off( sound_off );
+ }
+ for( idx = 0; idx < 128; idx++ ) {
+ key_status[ idx ] = 0;
+ }
+ }
+
+ private static int downsample( int s, final int[] buffer, final int len ) {
+ // Convolve with kernel ( 0.25, 0.5, 0.25 ).
+ // Filter envelope is Sin^2( PI * f ) / ( PI * f )^2 where fs = 1.0.
+ for( int in = 0, out = 0; in < len; in += 2, out += 1 ) {
+ int a = s + ( buffer[ in ] >> 1 );
+ s = buffer[ in + 1 ] >> 2;
+ buffer[ out ] = a + s;
+ }
+ return s;
+ }
+
+ /**
+ * @return the num_controls
+ */
+ public int getNum_controls() {
+ return num_controls;
+ }
+
+ /**
+ * @param num_controls the num_controls to set
+ */
+ public void setNum_controls(int num_controls) {
+ this.num_controls = num_controls;
+ }
+}
+
diff --git a/plugins/Liquinth/LiquinthJS.java b/plugins/Liquinth/LiquinthJS.java
new file mode 100644
index 0000000..2af8d52
--- /dev/null
+++ b/plugins/Liquinth/LiquinthJS.java
@@ -0,0 +1,48 @@
+
+package jvst.examples.liquinth;
+
+import java.awt.*;
+import javax.swing.*;
+import javax.swing.border.*;
+
+public class LiquinthJS extends JPanel {
+ /**
+ *
+ */
+ private static final long serialVersionUID = 1L;
+
+ private LiquinthJS() {
+ Liquinth liquinth = new Liquinth( Player.SAMPLING_RATE );
+ Player player = new Player( liquinth );
+ AudioSelector audio_selector = new AudioSelector( player );
+ SynthesizerPanel synth_panel = new SynthesizerPanel( liquinth );
+ MidiReceiver midi_receiver = new MidiReceiver( synth_panel );
+ MidiSelector midi_selector = new MidiSelector( midi_receiver );
+ GridBagConstraints gbc = new GridBagConstraints();
+ setLayout( new GridBagLayout() );
+ gbc.fill = GridBagConstraints.BOTH;
+ gbc.gridwidth = GridBagConstraints.REMAINDER;
+ gbc.weightx = 1;
+ add( audio_selector, gbc );
+ add( midi_selector, gbc );
+ gbc.weighty = 1;
+ add( new LogoPanel(), gbc );
+ gbc.weighty = 0;
+ add( synth_panel, gbc );
+ setBorder( new EmptyBorder( 6, 6, 6, 6 ) );
+ }
+
+ public static void main( String[] args ) {
+ final String title = Liquinth.VERSION + " " + Liquinth.AUTHOR;
+ System.out.println( title );
+ SwingUtilities.invokeLater( new Runnable() {
+ public void run() {
+ JFrame frame = new JFrame( title );
+ frame.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
+ frame.getContentPane().add( new LiquinthJS() );
+ frame.pack();
+ frame.setVisible( true );
+ }
+ } );
+ }
+}
diff --git a/plugins/Liquinth/LiquinthVST.java b/plugins/Liquinth/LiquinthVST.java
new file mode 100644
index 0000000..525ce8a
--- /dev/null
+++ b/plugins/Liquinth/LiquinthVST.java
@@ -0,0 +1,258 @@
+
+package jvst.examples.liquinth;
+
+import jvst.wrapper.*;
+import jvst.wrapper.valueobjects.*;
+
+class LiquinthVST extends VSTPluginAdapter {
+ private static final int
+ NUM_PROGRAMS = 16,
+ MIX_BUF_FRAMES = 1024;
+
+ private Synthesizer synthesizer;
+ private final AudioSource audio_source;
+ private MidiReceiver midi_receiver;
+ private final Program[] programs;
+ private int current_program;
+ private final int[] mix_buf;
+
+ public LiquinthVST( long wrapper ) {
+ super( wrapper );
+
+ Liquinth liquinth = new Liquinth( 48000 );
+ synthesizer = liquinth;
+ audio_source = liquinth;
+ midi_receiver = new MidiReceiver( synthesizer );
+
+ programs = new Program[ NUM_PROGRAMS ];
+ for( int prg_idx = 0; prg_idx < NUM_PROGRAMS; prg_idx++ ) {
+ programs[ prg_idx ] = new Program( "Blank " + prg_idx, synthesizer );
+ }
+
+ mix_buf = audio_source.allocate_mix_buf( MIX_BUF_FRAMES );
+
+ setNumInputs( 0 );
+ setNumOutputs( 1 );
+ canProcessReplacing( true );
+ isSynth( true );
+ setUniqueID( Liquinth.RELEASE_DATE );
+
+ suspend();
+ }
+
+ public void suspend() {
+ // TODO Auto-generated method stub
+
+ }
+
+ public SynthesizerPanel init_gui() {
+ synthesizer = new SynthesizerPanel( synthesizer );
+ midi_receiver = new MidiReceiver( synthesizer );
+ for( int prg_idx = 0; prg_idx < NUM_PROGRAMS; prg_idx++ ) {
+ programs[ prg_idx ].set_controls( synthesizer );
+ }
+ return ( SynthesizerPanel ) synthesizer;
+ }
+
+ private void set_controller( int ctrl_idx, int value ) {
+ synthesizer.set_controller( ctrl_idx, value );
+ }
+
+ /* Deprecated as of VST 2.4 */
+ public void resume() {
+ wantEvents( 1 );
+ }
+
+ public void setSampleRate( float sample_rate ) {
+ audio_source.set_sampling_rate( ( int ) sample_rate );
+ }
+
+ public void setProgram( int index ) {
+ if( index < 0 || index >= NUM_PROGRAMS ) return;
+ programs[ current_program ].store();
+ current_program = index;
+ programs[ current_program ].load();
+ }
+
+ public void setParameter(int index, float value) {
+ set_controller( index, Math.round( value * 127 ));
+ }
+
+ public float getParameter( int index ) {
+ return synthesizer.get_controller( index ) / 127f;
+ }
+
+ public void setProgramName( String name ) {
+ programs[ current_program ].name = name;
+ }
+
+ public String getProgramName() {
+ return programs[ current_program ].name;
+ }
+
+ public String getParameterLabel( int index ) {
+ return "";
+ }
+
+ public String getParameterDisplay( int index ) {
+ return "";
+ }
+
+ public String getParameterName( int index ) {
+ return synthesizer.get_controller_name( index );
+ }
+
+ public VSTPinProperties getOutputProperties( int index ) {
+ VSTPinProperties vpp = null;
+ if( index == 0 ) {
+ vpp = new VSTPinProperties();
+ vpp.setLabel( "Liquinth" );
+ vpp.setFlags( VSTPinProperties.VST_PIN_IS_ACTIVE );
+ }
+ return vpp;
+ }
+
+ public String getProgramNameIndexed( int category, int index ) {
+ if( index < 0 || index >= NUM_PROGRAMS ) return "";
+ return programs[ index ].name;
+ }
+
+ /* Deprecated as of VST 2.4 */
+ public boolean copyProgram( int dest_idx ) {
+ if( dest_idx < 0 || dest_idx >= NUM_PROGRAMS ) return false;
+ programs[ dest_idx ] = new Program( programs[ current_program ] );
+ return true;
+ }
+
+ public String getEffectName() {
+ return Liquinth.VERSION;
+ }
+
+ public String getVendorString() {
+ return Liquinth.AUTHOR;
+ }
+
+ public String getProductString() {
+ return Liquinth.VERSION;
+ }
+
+ public int getNumPrograms() {
+ return NUM_PROGRAMS;
+ }
+
+ public int getNumParams() {
+ return synthesizer.get_num_controllers();
+ }
+
+ public boolean setBypass( boolean value ) {
+ return false;
+ }
+
+ public int getProgram() {
+ return current_program;
+ }
+
+ public int getPlugCategory() {
+ return VSTPluginAdapter.PLUG_CATEG_SYNTH;
+ }
+
+ public int canDo( String feature ) {
+ if( feature.equals( CANDO_PLUG_RECEIVE_VST_EVENTS ) )
+ return CANDO_YES;
+ if( feature.equals( CANDO_PLUG_RECEIVE_VST_MIDI_EVENT ) )
+ return CANDO_YES;
+ return CANDO_NO;
+ }
+
+ public boolean string2Parameter( int index, String value ) {
+ try {
+ float float_value = Float.parseFloat( value );
+ setParameter( index, float_value );
+ } catch( Exception e ) {
+ return false;
+ }
+ return true;
+ }
+
+ /* Deprecated as of VST 2.4 */
+ public void process( float[][] inputs, float[][] outputs, int frames ) {
+ float[] output = outputs[ 0 ];
+ int out_idx = 0;
+ while( frames > 0 ) {
+ int length = frames;
+ if( length > MIX_BUF_FRAMES ) length = MIX_BUF_FRAMES;
+ audio_source.get_audio( mix_buf, length );
+ for( int mix_idx = 0; mix_idx < length; mix_idx++ ) {
+ float out = mix_buf[ mix_idx ];
+ output[ out_idx++ ] += out * 0.00003f;
+ }
+ frames -= length;
+ }
+ }
+
+ public void processReplacing( float[][] inputs, float[][] outputs, int frames ) {
+ float[] output = outputs[ 0 ];
+ int out_idx = 0;
+ while( frames > 0 ) {
+ int length = frames;
+ if( length > MIX_BUF_FRAMES ) length = MIX_BUF_FRAMES;
+ audio_source.get_audio( mix_buf, length );
+ for( int mix_idx = 0; mix_idx < length; mix_idx++ ) {
+ float out = mix_buf[ mix_idx ];
+ output[ out_idx++ ] = out * 0.00003f;
+ }
+ frames -= length;
+ }
+ }
+
+ public int processEvents( VSTEvents vst_events ) {
+ VSTEvent[] events = vst_events.getEvents();
+ int num_events = vst_events.getNumEvents();
+ for( int ev_idx = 0; ev_idx < num_events; ev_idx++ ) {
+ VSTEvent event = events[ ev_idx ];
+ if( event.getType() == VSTEvent.VST_EVENT_MIDI_TYPE ) {
+ midi_receiver.send( ( ( VSTMidiEvent ) event ).getData() );
+ }
+ }
+ return 1;
+ }
+}
+
+class Program {
+ public String name = "";
+ private final int[] controllers;
+ private Controls controls;
+
+ public Program( String name, Controls controls ) {
+ this.name = name;
+ controllers = new int[ controls.get_num_controllers() ];
+ set_controls( controls );
+ store();
+ }
+
+ public Program( Program program ) {
+ name = program.name;
+ controls = program.controls;
+ controllers = new int[ program.controllers.length ];
+ System.arraycopy(program.controllers, 0, controllers, 0, controllers.length);
+ }
+
+ public void load() {
+ for( int idx = 0; idx < controllers.length; idx++ ) {
+ controls.set_controller( idx, controllers[ idx ] );
+ }
+ }
+
+ public void store() {
+ for( int idx = 0; idx < controllers.length; idx++ ) {
+ controllers[ idx ] = controls.get_controller( idx );
+ }
+ }
+
+ public void set_controls( Controls controls ) {
+ if( controls.get_num_controllers() != controllers.length ) {
+ throw new IllegalArgumentException( "Number of controllers differ." );
+ }
+ this.controls = controls;
+ }
+}
diff --git a/plugins/Liquinth/LiquinthVSTGUI.java b/plugins/Liquinth/LiquinthVSTGUI.java
new file mode 100644
index 0000000..a81332a
--- /dev/null
+++ b/plugins/Liquinth/LiquinthVSTGUI.java
@@ -0,0 +1,49 @@
+
+package jvst.examples.liquinth;
+
+import java.awt.*;
+import javax.swing.*;
+import javax.swing.border.*;
+
+import jvst.wrapper.*;
+import jvst.wrapper.gui.VSTPluginGUIRunner;
+
+class LiquinthVSTGUI extends VSTPluginGUIAdapter {
+ /**
+ *
+ */
+ private static final long serialVersionUID = 1L;
+ private Synthesizer synthesizer;
+
+ public LiquinthVSTGUI( VSTPluginGUIRunner r, VSTPluginAdapter plugin ) {
+ super( r, plugin );
+ final LiquinthVST liquinth_vst = ( LiquinthVST ) plugin;
+
+ setTitle( Liquinth.VERSION );
+ JPanel panel = new JPanel();
+ panel.setLayout( new BorderLayout() );
+ panel.add( new LogoPanel(), BorderLayout.NORTH );
+ panel.add( liquinth_vst.init_gui(), BorderLayout.CENTER );
+ panel.setBorder( new EmptyBorder( 6, 6, 6, 6 ) );
+ getContentPane().add( panel );
+
+ pack();
+ this.setResizable(false);
+
+ if( RUNNING_MAC_X ) this.setVisible(true);
+ }
+
+ /**
+ * @return the synthesizer
+ */
+ public Synthesizer getSynthesizer() {
+ return synthesizer;
+ }
+
+ /**
+ * @param synthesizer the synthesizer to set
+ */
+ public void setSynthesizer(Synthesizer synthesizer) {
+ this.synthesizer = synthesizer;
+ }
+}
diff --git a/plugins/Liquinth/LogoPanel.java b/plugins/Liquinth/LogoPanel.java
new file mode 100644
index 0000000..13d068c
--- /dev/null
+++ b/plugins/Liquinth/LogoPanel.java
@@ -0,0 +1,21 @@
+
+package jvst.examples.liquinth;
+
+import java.awt.*;
+import javax.swing.*;
+import javax.swing.border.*;
+
+class LogoPanel extends JPanel {
+ /**
+ *
+ */
+ private static final long serialVersionUID = 1L;
+
+ public LogoPanel() {
+ setLayout( new BorderLayout() );
+ setBackground( Color.BLACK );
+ setBorder( new BevelBorder( BevelBorder.LOWERED, Color.WHITE, Color.GRAY ) );
+ ImageIcon logo = new ImageIcon( getClass().getResource( "liquinth.png" ) );
+ add( new JLabel( logo ), BorderLayout.CENTER );
+ }
+}
diff --git a/plugins/Liquinth/Maths.java b/plugins/Liquinth/Maths.java
new file mode 100644
index 0000000..05adfdf
--- /dev/null
+++ b/plugins/Liquinth/Maths.java
@@ -0,0 +1,88 @@
+
+package jvst.examples.liquinth;
+
+/*
+ All these numbers can become a bit confusing -
+ ... so we use Maths to make sense of it all.
+*/
+class Maths {
+ public static final int FP_SHIFT = 15;
+ public static final int FP_ONE = 1 << FP_SHIFT;
+ public static final int FP_TWO = 2 << FP_SHIFT;
+ public static final int FP_MASK = FP_ONE - 1;
+
+ private static final int TABLE_ACCURACY = 4;
+
+ private static final int[] log2_table = {
+ 0, 2866, 5568, 8124, 10549, 12855, 15055, 17156, 19168,
+ 21098, 22952, 24736, 26455, 28114, 29717, 31267, 32768, 32768
+ };
+
+ private static final int[] exp2_table = {
+ 32768, 34219, 35734, 37316, 38968, 40693, 42495, 44376, 46341,
+ 48393, 50535, 52773, 55109, 57549, 60097, 62757, 65536, 65536
+ };
+
+ private static final int[] sine_table = {
+ 0, 6393, 12540, 18205, 23170, 27246, 30274, 32138, 32768,
+ 32138, 30274, 27246, 23170, 18205, 12540, 6393, 0, 0
+ };
+
+ /*
+ Calculate base-2 log of x (fixed-point).
+ */
+ public static int log2( int x ) {
+ int shift;
+ /* Scale x to range 1.0 <= x < 2.0 */
+ shift = 0;
+ while( x < FP_ONE ) {
+ x <<= 1;
+ shift--;
+ }
+ while( x >= FP_TWO ) {
+ x >>= 1;
+ shift++;
+ }
+ return ( FP_ONE * shift ) + interpolate_table( log2_table, x - FP_ONE );
+ }
+
+ /*
+ Raise 2 to the power of x (fixed-point).
+ */
+ public static int exp2( int x ) {
+ int y;
+ y = interpolate_table( exp2_table, x & FP_MASK ) << FP_SHIFT;
+ return y >> FP_SHIFT - ( x >> FP_SHIFT );
+ }
+
+ /*
+ Calculate sin( x * PI ), fixed point x.
+ */
+ public static int sine( int x ) {
+ int y;
+ y = interpolate_table( sine_table, x & FP_MASK );
+ if( ( x & FP_ONE ) != 0 ) {
+ y = -y;
+ }
+ return y;
+ }
+
+ /*
+ Convert a linear scale from 0 -> FP_ONE
+ to an exponential scale from FP_ONE/2^n -> FP_ONE,
+ which doubles every FP_ONE/n.
+ */
+ public static int exp_scale( int x, int n ) {
+ return exp2( x * n ) >> n;
+ }
+
+ private static int interpolate_table( int[] table, int x ) {
+ int tab_idx, c, m;
+ tab_idx = x >> FP_SHIFT - TABLE_ACCURACY;
+ c = table[ tab_idx ];
+ m = table[ tab_idx + 1 ] - c;
+ m = m * ( x & ( FP_MASK >> TABLE_ACCURACY ) );
+ return c + ( m >> FP_SHIFT - TABLE_ACCURACY );
+ }
+}
+
diff --git a/plugins/Liquinth/MidiReceiver.java b/plugins/Liquinth/MidiReceiver.java
new file mode 100644
index 0000000..881a1f7
--- /dev/null
+++ b/plugins/Liquinth/MidiReceiver.java
@@ -0,0 +1,70 @@
+
+package jvst.examples.liquinth;
+
+import javax.sound.midi.*;
+
+class MidiReceiver implements Receiver {
+ private final Synthesizer synthesizer;
+ private int midi_channel;
+
+ public MidiReceiver( Synthesizer synth ) {
+ synthesizer = synth;
+ set_channel( 1 );
+ }
+
+ public void set_channel( int channel ) {
+ if( channel >= 1 && channel <= 16 ) {
+ midi_channel = channel;
+ }
+ }
+
+ public void send( MidiMessage midi_msg, long time_stamp ) {
+ send( midi_msg.getMessage() );
+ }
+
+ public void send( byte[] msg_data ) {
+ int ctrl_index, ctrl_value, msg_status, msg_channel;
+ msg_status = ( msg_data[ 0 ] & 0xF0 ) >> 4;
+ if( msg_status == 0xF ) {
+ /* Ignore system messages.*/
+ return;
+ }
+ msg_channel = ( msg_data[ 0 ] & 0xF ) + 1;
+ if( msg_channel != midi_channel ) {
+ /* Message not on our channel.*/
+ return;
+ }
+ switch( msg_status ) {
+ case 0x8: /* Note off.*/
+ synthesizer.note_on( msg_data[ 1 ] & 0x7F, 0 );
+ break;
+ case 0x9: /* Note on.*/
+ /* It seems note on with velocity = 0 is also note off.*/
+ synthesizer.note_on( msg_data[ 1 ] & 0x7F, msg_data[ 2 ] & 0x7F );
+ break;
+ case 0xB: /* Control change.*/
+ /* Controller 120 = all sound off */
+ /* Controller 121 = reset all controllers */
+ /* Controller 123 = all notes off */
+ ctrl_index = msg_data[ 1 ] & 0x7F;
+ ctrl_value = msg_data[ 2 ] & 0x7F;
+ if( ctrl_index == 1 ) {
+ // Modulation wheel
+ synthesizer.set_mod_wheel( ctrl_value );
+ } else {
+ synthesizer.set_controller( ctrl_index - 20, ctrl_value );
+ }
+ break;
+ case 0xC: /* Program change.*/
+ /* program = msg_data[ 1 ] & 0x7F; */
+ break;
+ case 0xE: /* Pitch wheel.*/
+ ctrl_value = ( msg_data[ 1 ] & 0x7F ) | ( ( msg_data[ 2 ] & 0x7F ) << 7 );
+ synthesizer.set_pitch_wheel( ctrl_value - 8192 );
+ break;
+ }
+ }
+
+ public void close() {
+ }
+}
diff --git a/plugins/Liquinth/MidiSelector.java b/plugins/Liquinth/MidiSelector.java
new file mode 100644
index 0000000..d278222
--- /dev/null
+++ b/plugins/Liquinth/MidiSelector.java
@@ -0,0 +1,97 @@
+
+package jvst.examples.liquinth;
+
+import java.awt.*;
+import java.awt.event.*;
+import javax.swing.*;
+import javax.sound.midi.*;
+
+class MidiSelector extends JPanel {
+ /**
+ *
+ */
+ private static final long serialVersionUID = 1L;
+ private final MidiReceiver midi_receiver;
+ private MidiDevice midi_device;
+ private GridBagLayout gbl;
+
+ public MidiSelector( MidiReceiver receiver ) {
+ JComboBox combo;
+ GridBagConstraints gbc;
+
+ midi_receiver = receiver;
+ receiver.set_channel( 1 );
+
+ setLayout( new GridBagLayout() );
+ gbc = new GridBagConstraints();
+ gbc.fill = GridBagConstraints.HORIZONTAL;
+ gbc.insets = new Insets( 2, 2, 2, 2 );
+
+ add( new JLabel( "Midi Device" ), gbc );
+ combo = new JComboBox( MidiSystem.getMidiDeviceInfo() );
+ combo.insertItemAt( "None", 0 );
+ combo.setSelectedIndex( 0 );
+ combo.addItemListener( new DevComboListener() );
+ gbc.weightx = 1;
+ add( combo, gbc );
+
+ gbc.weightx = 0;
+ add( new JLabel( "Channel" ), gbc );
+ combo = new JComboBox( new Integer[] {
+ new Integer( 1 ), new Integer( 2 ), new Integer( 3 ), new Integer( 4 ),
+ new Integer( 5 ), new Integer( 6 ), new Integer( 7 ), new Integer( 8 ),
+ new Integer( 9 ), new Integer( 10 ), new Integer( 11 ), new Integer( 12 ),
+ new Integer( 13 ), new Integer( 14 ), new Integer( 15 ), new Integer( 16 )
+ } );
+ combo.addItemListener( new ChanComboListener() );
+ gbc.gridwidth = GridBagConstraints.REMAINDER;
+ add( combo, gbc );
+ }
+
+ /**
+ * @return the gbl
+ */
+ public GridBagLayout getGbl() {
+ return gbl;
+ }
+
+ /**
+ * @param gbl the gbl to set
+ */
+ public void setGbl(GridBagLayout gbl) {
+ this.gbl = gbl;
+ }
+
+ private class DevComboListener implements ItemListener {
+ public void itemStateChanged( ItemEvent e ) {
+ Object item;
+ if( e.getStateChange() == ItemEvent.SELECTED ) {
+ if( midi_device != null ) {
+ midi_device.close();
+ }
+ item = e.getItem();
+ if( item instanceof MidiDevice.Info ) {
+ try {
+ midi_device = MidiSystem.getMidiDevice( ( MidiDevice.Info ) item );
+ midi_device.open();
+ midi_device.getTransmitter().setReceiver( midi_receiver );
+ } catch( MidiUnavailableException exception ) {
+ System.out.println( "MidiSelector: Can't open MIDI device!" );
+ }
+ } else {
+ midi_device = null;
+ }
+ }
+ }
+ }
+
+ private class ChanComboListener implements ItemListener {
+ public void itemStateChanged( ItemEvent e ) {
+ if( e.getStateChange() == ItemEvent.SELECTED ) {
+ Integer chan;
+ chan = ( Integer ) e.getItem();
+ midi_receiver.set_channel( chan.intValue() );
+ }
+ }
+ }
+}
diff --git a/plugins/Liquinth/MoogFilter.java b/plugins/Liquinth/MoogFilter.java
new file mode 100644
index 0000000..c99b4dd
--- /dev/null
+++ b/plugins/Liquinth/MoogFilter.java
@@ -0,0 +1,76 @@
+
+package jvst.examples.liquinth;
+
+/*
+ Moog Filter (Variation 2) from http://www.musicdsp.org
+ Type : 24db resonant lowpass
+ References : Stilson/Smith CCRMA paper., Timo Tossavainen (?) version
+
+ I have no idea how this works :/
+
+ cutoffs for resonant peaks (48khz):
+ 55 = 0.006286621
+ 110 = 0.012573242
+ 220 = 0.02407837
+ 440 = 0.048187256
+ 880 = 0.092285156
+ 1660 = 0.17675781
+ 3320 = 0.32418823
+*/
+class MoogFilter {
+ private static final float SCALE = 1f / 32768f;
+
+ private final float max_cutoff;
+ private float cutoff, cutoff_dest, resonance;
+ private float i1, i2, i3, i4;
+ private float o1, o2, o3, o4;
+
+ public MoogFilter( float sampling_rate ) {
+ max_cutoff = 48000f / sampling_rate;
+ }
+
+ public void set_cutoff( float cut ) {
+ cut = cut * max_cutoff;
+ if( cut < 0f ) cut = 0f;
+ if( cut > 1f ) cut = 1f;
+ cutoff_dest = cut;
+ }
+
+ public void set_resonance( float res ) {
+ if( res < 0f ) res = 0f;
+ if( res > 4f ) res = 4f;
+ resonance = res;
+ }
+
+ public void filter( int[] buf, int length ) {
+ int idx, i, c, m, x;
+ float cutoff_delta, in, out, f1, f2, f4, fb, fk;
+ cutoff_delta = ( cutoff_dest - cutoff ) / length;
+ idx = 0;
+ while( idx < length ) {
+ in = buf[ idx ] * SCALE;
+ cutoff += cutoff_delta;
+ f1 = cutoff * 1.16f;
+ f2 = f1 * f1;
+ f4 = f2 * f2;
+ fb = resonance * ( 1f - 0.15f * f2 );
+ fk = 1f - f1;
+ in = in - o4 * fb;
+ in = in * 0.35013f * f4;
+ o1 = in + 0.3f * i1 + fk * o1;
+ i1 = in;
+ o2 = o1 + 0.3f * i2 + fk * o2;
+ i2 = o1;
+ o3 = o2 + 0.3f * i3 + fk * o3;
+ i3 = o2;
+ o4 = o3 + 0.3f * i4 + fk * o4;
+ i4 = o3;
+ /* Clamp the feedback. */
+ if( o4 > 1f ) o4 = 1f;
+ if( o4 < -1f ) o4 = -1f;
+ /* Waveshaping. */
+ out = 1.5f * o4 - 0.5f * o4 * o4 * o4;
+ buf[ idx++ ] = ( int ) ( out * 32767f );
+ }
+ }
+}
diff --git a/plugins/Liquinth/Oscillator.java b/plugins/Liquinth/Oscillator.java
new file mode 100644
index 0000000..0bb31f4
--- /dev/null
+++ b/plugins/Liquinth/Oscillator.java
@@ -0,0 +1,103 @@
+
+package jvst.examples.liquinth;
+
+class Oscillator {
+ private static final int NUM_TABLES = 8;
+ private static final int A8_TABLE_PARTS = 6;
+ private static final int A5_TABLE_INDEX = 3;
+ private static final int WAVE_LEN = 1 << 11;
+ private static final int WAVE_MASK = WAVE_LEN - 1;
+ private static final int PHASE_MASK = ( WAVE_LEN << Maths.FP_SHIFT ) - 1;
+
+ private static short[][] saw_table, sqr_table;
+
+ private final int a5_pitch;
+ private int waveform;
+ private int table;
+ private int phase;
+ private int ampl_1, ampl_2, step_1, step_2;
+
+ public Oscillator( int sampling_rate ) {
+ if( saw_table == null ) saw_table = wavetable( true );
+ if( sqr_table == null ) sqr_table = wavetable( false );
+ int a5_step = 440 * ( ( WAVE_LEN << Maths.FP_SHIFT ) / sampling_rate );
+ a5_pitch = Maths.log2( a5_step );
+ }
+
+ public void set_wave( int wave ) {
+ waveform = wave & Maths.FP_MASK;
+ }
+
+ public void set_amplitude( int amplitude, boolean now ) {
+ ampl_2 = amplitude;
+ if( now ) ampl_1 = ampl_2;
+ }
+
+ /* Pitch is in octaves relative to 440hz (A5)*/
+ public void set_pitch( int pitch, boolean now ) {
+ table = A5_TABLE_INDEX - ( pitch >> Maths.FP_SHIFT );
+ if( table < 0 ) table = 0;
+ if( table >= NUM_TABLES ) table = NUM_TABLES - 1;
+ step_2 = Maths.exp2( a5_pitch + pitch );
+ if( now ) step_1 = step_2;
+ }
+
+ public int get_phase() {
+ return phase;
+ }
+
+ public void set_phase( int phase ) {
+ this.phase = phase & PHASE_MASK;
+ }
+
+ public void get_audio( int[] out_buf, int offset, int length ) {
+ int step = step_1;
+ int dstp = ( step_2 - step_1 ) / length;
+ int ampl = ampl_1;
+ int damp = ( ampl_2 - ampl_1 ) / length;
+
+ int sqr_amp = waveform;
+ int saw_amp = Maths.FP_ONE - sqr_amp;
+ int phase = this.phase;
+ short[] saw_t = saw_table[ table ];
+ short[] sqr_t = sqr_table[ table ];
+ for( int end = offset + length; offset < end; offset++ ) {
+ int x = phase >> Maths.FP_SHIFT;
+ int saw = saw_t[ x ] * saw_amp >> Maths.FP_SHIFT;
+ int sqr = sqr_t[ x ] * sqr_amp >> Maths.FP_SHIFT;
+ out_buf[ offset ] += ( saw + sqr ) * ampl >> Maths.FP_SHIFT;
+ phase = ( phase + step ) & PHASE_MASK;
+ ampl += damp;
+ step += dstp;
+ }
+ this.phase = phase;
+ step_1 = step_2;
+ ampl_1 = ampl_2;
+ }
+
+ private static short[][] wavetable( boolean saw ) {
+ double[] buffer = new double[ WAVE_LEN ];
+ short[][] output = new short[ NUM_TABLES ][ WAVE_LEN ];
+ double[] sin = new double[ WAVE_LEN ];
+ double t = 0, dt = 2 * Math.PI / WAVE_LEN;
+ for( int idx = 0; idx < WAVE_LEN; idx++, t += dt ) {
+ sin[ idx ] = Math.sin( t );
+ }
+ int inc = saw ? 1 : 2;
+ int part = 1, parts = A8_TABLE_PARTS;
+ for( int tab = 0; tab < NUM_TABLES; tab++, parts <<= 1 ) {
+ while( part <= parts ) {
+ double amp = 2.0 / ( Math.PI * part );
+ for( int idx = 0; idx < WAVE_LEN; idx++ ) {
+ buffer[ idx ] += sin[ ( idx * part ) & WAVE_MASK ] * amp;
+ }
+ part += inc;
+ }
+ short[] out = output[ tab ];
+ for( int idx = 0; idx < WAVE_LEN; idx++ ) {
+ out[ idx ] = ( short ) ( buffer[ idx ] * 27000 );
+ }
+ }
+ return output;
+ }
+}
diff --git a/plugins/Liquinth/Player.java b/plugins/Liquinth/Player.java
new file mode 100644
index 0000000..7d04a89
--- /dev/null
+++ b/plugins/Liquinth/Player.java
@@ -0,0 +1,82 @@
+
+package jvst.examples.liquinth;
+
+import javax.sound.sampled.*;
+
+/*
+ BUF_FRAMES determines the latency.
+ Default value of 1024 gives 21.3ms at 48000hz.
+*/
+class Player implements Runnable {
+ public static final int SAMPLING_RATE = 48000;
+
+ private static final int BUF_FRAMES = 1024;
+ private static final int BUF_BYTES = BUF_FRAMES * 2;
+
+ private final AudioSource audio_source;
+ private final AudioFormat audio_format;
+ private final SourceDataLine.Info line_info;
+ private Mixer audio_mixer;
+
+ private boolean play, running;
+
+ public Player( AudioSource source ) {
+ audio_source = source;
+ audio_format = new AudioFormat( SAMPLING_RATE, 16, 1, true, false );
+ line_info = new DataLine.Info( SourceDataLine.class, audio_format, BUF_BYTES );
+ }
+
+ public void set_mixer( Mixer mixer ) {
+ audio_mixer = mixer;
+ }
+
+ public boolean is_running() {
+ return running;
+ }
+
+ public void run() {
+ int mix_idx, out_idx, out;
+ int[] mix_buf;
+ byte[] out_buf;
+ SourceDataLine audio_line;
+ if( play ) {
+ stop();
+ }
+ play = true;
+ mix_buf = audio_source.allocate_mix_buf( BUF_FRAMES );
+ out_buf = new byte[ BUF_BYTES ];
+ try {
+ audio_line = ( SourceDataLine ) audio_mixer.getLine( line_info );
+ audio_line.open( audio_format, BUF_BYTES );
+ } catch( Exception e ) {
+ System.out.println( "Player.run(): Unable to open audio output!" );
+ return;
+ }
+ audio_line.start();
+ running = true;
+ while( play ) {
+ out_idx = 0;
+ audio_source.get_audio( mix_buf, BUF_FRAMES );
+ for( mix_idx = 0; mix_idx < BUF_FRAMES; mix_idx++ ) {
+ out = mix_buf[ mix_idx ];
+ out_buf[ out_idx ] = ( byte ) ( out & 0xFF );
+ out_buf[ out_idx + 1 ] = ( byte ) ( out >> 8 );
+ out_idx += 2;
+ }
+ audio_line.write( out_buf, 0, BUF_BYTES );
+ }
+ audio_line.drain();
+ audio_line.close();
+ running = false;
+ }
+
+ public void stop() {
+ while( running ) {
+ play = false;
+ try {
+ Thread.sleep( 20 );
+ } catch( InterruptedException ignored) {
+ }
+ }
+ }
+}
diff --git a/plugins/Liquinth/READ_ME.txt b/plugins/Liquinth/READ_ME.txt
new file mode 100644
index 0000000..19cb696
--- /dev/null
+++ b/plugins/Liquinth/READ_ME.txt
@@ -0,0 +1,47 @@
+
+Liquinth a36 (c)2009 mumart@gmail.com
+
+Liquinth is a relatively simple polysynth for Java.
+It can be used either standalone from the JAR file,
+or as a VST instrument via jVSTwRapper.
+
+Please let me know how you get on!
+
+Changes
+
+There have been substantial improvements since version a30.
+The oscillators are now multisampled, resulting in a much
+cleaner sound with less processor time.
+The overdrive and vibrato are also considerably better.
+
+Usage
+
+The synthesizer may be run as a standalone application
+by executing the JAR file. This will output 48khz audio
+with a latency of approximately 25ms.
+
+You can play notes using the computer keyboard if one
+of the sliders has focus. Only QWERTY keyboards currently
+work correctly. You can set the octave of the computer
+keyboard using the function keys, and if any notes get
+stuck you can release them with the space bar or the
+return key.
+
+When using MIDI input the sliders are assigned to modulation
+controllers 20 onwards. You can also use the interface to
+assign one of the sliders to controller 1, which is usually
+the default for the first modulation wheel.
+
+Configuring jVSTwRapper
+
+When configuring Liquinth as a VST instrument, your jVSTwrapper
+configuration file should contain the following entries:
+
+PluginClass=jvst/examples/liquinth/LiquinthVST
+PluginUIClass=jvst/examples/liquinth/LiquinthVSTGUI
+ClassPath={WrapperPath}\jVSTwRapper-0.9g.jar;{WrapperPath}\jVSTeXamples-0.9g.jar
+SystemClassPath={WrapperPath}\jVSTsYstem-0.9g.jar
+
+
+Kind Regards,
+Martin
diff --git a/plugins/Liquinth/Synthesizer.java b/plugins/Liquinth/Synthesizer.java
new file mode 100644
index 0000000..9df72a8
--- /dev/null
+++ b/plugins/Liquinth/Synthesizer.java
@@ -0,0 +1,15 @@
+
+package jvst.examples.liquinth;
+
+public interface Synthesizer extends Keyboard, Controls {
+/*
+ public void note_on( int key, int velocity );
+ public void all_notes_off( boolean sound_off );
+ public int get_num_controllers();
+ public String get_controller_name( int control );
+ public int get_controller( int controller );
+ public void set_controller( int controller, int value );
+ public void set_mod_wheel( int value );
+ public void set_pitch_wheel( int value );
+*/
+}
diff --git a/plugins/Liquinth/SynthesizerPanel.java b/plugins/Liquinth/SynthesizerPanel.java
new file mode 100644
index 0000000..dfdf392
--- /dev/null
+++ b/plugins/Liquinth/SynthesizerPanel.java
@@ -0,0 +1,109 @@
+
+package jvst.examples.liquinth;
+
+import java.awt.*;
+import javax.swing.*;
+import javax.swing.event.*;
+
+public class SynthesizerPanel extends JPanel implements Synthesizer {
+ /**
+ *
+ */
+ private static final long serialVersionUID = 1L;
+ private final Synthesizer synthesizer;
+ private final JComboBox c1_assign_cb;
+ private final JSlider[] controllers;
+
+ public SynthesizerPanel( Synthesizer synth ) {
+ int idx, num_controllers, value;
+ String control_name;
+ GridBagLayout gbl;
+ GridBagConstraints gbc;
+ VirtualKeyboard keyboard;
+
+ synthesizer = synth;
+ keyboard = new VirtualKeyboard( synth );
+
+ gbl = new GridBagLayout();
+ setLayout( gbl );
+
+ gbc = new GridBagConstraints();
+ gbc.fill = GridBagConstraints.HORIZONTAL;
+ gbc.insets = new Insets( 2, 2, 2, 2 );
+
+ gbc.weightx = 0;
+ gbc.gridwidth = 1;
+ add( new JLabel( "Modulation Wheel" ), gbc );
+ gbc.weightx = 1;
+ gbc.gridwidth = GridBagConstraints.REMAINDER;
+ c1_assign_cb = new JComboBox();
+ add( c1_assign_cb, gbc );
+
+ num_controllers = synth.get_num_controllers();
+ controllers = new JSlider[ num_controllers ];
+ for( idx = 0; idx < num_controllers; idx++ ) {
+ gbc.weightx = 0;
+ gbc.gridwidth = 1;
+ control_name = synth.get_controller_name( idx );
+ c1_assign_cb.addItem( control_name );
+ add( new JLabel( control_name ), gbc );
+ gbc.weightx = 1;
+ gbc.gridwidth = GridBagConstraints.REMAINDER;
+ value = synth.get_controller( idx );
+ controllers[ idx ] = new JSlider( JSlider.HORIZONTAL, 0, 127, value );
+ controllers[ idx ].addChangeListener( new SliderListener( idx ) );
+ controllers[ idx ].addKeyListener( keyboard );
+ add( controllers[ idx ], gbc );
+ }
+ }
+
+ public void note_on( int key, int velocity ) {
+ synthesizer.note_on( key, velocity );
+ }
+
+ public void all_notes_off( boolean sound_off ) {
+ synthesizer.all_notes_off( sound_off );
+ }
+
+ public int get_num_controllers() {
+ return synthesizer.get_num_controllers();
+ }
+
+ public String get_controller_name( int control ) {
+ return synthesizer.get_controller_name( control );
+ }
+
+ public int get_controller( int controller ) {
+ return synthesizer.get_controller( controller );
+ }
+
+ public void set_controller( final int controller, final int value ) {
+ SwingUtilities.invokeLater( new Runnable() {
+ public void run() {
+ controllers[ controller ].setValue( value );
+ }
+ } );
+ }
+
+ public void set_pitch_wheel( int value ) {
+ synthesizer.set_pitch_wheel( value );
+ }
+
+ public void set_mod_wheel( int value ) {
+ set_controller( c1_assign_cb.getSelectedIndex(), value );
+ }
+
+ private class SliderListener implements ChangeListener {
+ private final int controller;
+
+ public SliderListener( int control_idx ) {
+ controller = control_idx;
+ }
+
+ public void stateChanged( ChangeEvent e ) {
+ int value;
+ value = controllers[ controller ].getValue();
+ synthesizer.set_controller( controller, value );
+ }
+ }
+}
diff --git a/plugins/Liquinth/VirtualKeyboard.java b/plugins/Liquinth/VirtualKeyboard.java
new file mode 100644
index 0000000..a038ebc
--- /dev/null
+++ b/plugins/Liquinth/VirtualKeyboard.java
@@ -0,0 +1,113 @@
+
+package jvst.examples.liquinth;
+
+import java.awt.event.*;
+
+/*
+ Will only work correctly on UK keyboards :/
+*/
+class VirtualKeyboard implements KeyListener {
+ private static final int[] keys = new int[] {
+ KeyEvent.VK_ENTER,
+ KeyEvent.VK_SPACE,
+ KeyEvent.VK_F1,
+ KeyEvent.VK_F2,
+ KeyEvent.VK_F3,
+ KeyEvent.VK_F4,
+ KeyEvent.VK_F5,
+ KeyEvent.VK_F6,
+ KeyEvent.VK_F7,
+ KeyEvent.VK_F8,
+
+ KeyEvent.VK_Z, /* C0 = 10 */
+ KeyEvent.VK_S,
+ KeyEvent.VK_X,
+ KeyEvent.VK_D,
+ KeyEvent.VK_C,
+ KeyEvent.VK_V,
+ KeyEvent.VK_G,
+ KeyEvent.VK_B,
+ KeyEvent.VK_H,
+ KeyEvent.VK_N,
+ KeyEvent.VK_J,
+ KeyEvent.VK_M,
+
+ KeyEvent.VK_Q, /* C1 = 22 */
+ KeyEvent.VK_2,
+ KeyEvent.VK_W,
+ KeyEvent.VK_3,
+ KeyEvent.VK_E,
+ KeyEvent.VK_R,
+ KeyEvent.VK_5,
+ KeyEvent.VK_T,
+ KeyEvent.VK_6,
+ KeyEvent.VK_Y,
+ KeyEvent.VK_7,
+ KeyEvent.VK_U,
+
+ KeyEvent.VK_I,
+ KeyEvent.VK_9,
+ KeyEvent.VK_O,
+ KeyEvent.VK_0,
+ KeyEvent.VK_P,
+ };
+
+ private final Keyboard keyboard;
+ private final int[] key_status;
+ private int octave;
+
+ public VirtualKeyboard( Keyboard kb ) {
+ keyboard = kb;
+ key_status = new int[ keys.length ];
+ octave = 4;
+ }
+
+ private int get_key( int key_code ) {
+ int key, idx;
+ key = -1;
+ for( idx = 0; idx < keys.length; idx++ ) {
+ if( keys[ idx ] == key_code ) {
+ key = idx;
+ }
+ }
+ return key;
+ }
+
+ private void all_notes_off( boolean silence ) {
+ int idx;
+ keyboard.all_notes_off( silence );
+ for( idx = 0; idx < key_status.length; idx++ ) {
+ key_status[ idx ] = 0;
+ }
+ }
+
+ public void keyPressed( KeyEvent ke ) {
+ int key;
+ key = get_key( ke.getKeyCode() );
+ if( key >= 10 ) { /* Note */
+ if( key_status[ key ] == 0 ) {
+ keyboard.note_on( octave * 12 + key - 10, 127 );
+ key_status[ key ] = 1;
+ }
+ } else if( key >= 2 ) {
+ /* Set Octave */
+ octave = key - 2;
+ all_notes_off( false );
+ } else if( key >= 0 ) {
+ /* If space, release all, if enter, silence all.*/
+ all_notes_off( key == 0 );
+ }
+ }
+
+ public void keyReleased( KeyEvent ke ) {
+ int key;
+ key = get_key( ke.getKeyCode() );
+ if( key >= 10 ) { /* Note */
+ keyboard.note_on( octave * 12 + key - 10, 0 );
+ key_status[ key ] = 0;
+ }
+ }
+
+ public void keyTyped( KeyEvent ke ) {
+ }
+}
diff --git a/plugins/Liquinth/Voice.java b/plugins/Liquinth/Voice.java
new file mode 100644
index 0000000..50505f0
--- /dev/null
+++ b/plugins/Liquinth/Voice.java
@@ -0,0 +1,223 @@
+
+package jvst.examples.liquinth;
+
+class Voice {
+ public static final int NUM_CONTROLLERS = 6;
+ private static final String[] control_names = new String[] {
+ "Waveform",
+ "Attack",
+ "Release",
+ "Detune",
+ "Vibrato Speed",
+ "Vibrato Depth"
+ };
+
+ private final Oscillator osc_1;
+ private final Oscillator osc_2;
+ private final Envelope vol_env;
+ private final LFO vib_lfo_1;
+ private final LFO vib_lfo_2;
+
+ private final int tick_len;
+ private int porta_time;
+ private int pitch, porta_pitch, porta_rate;
+ private int volume, key, pitch_wheel, detune;
+ private int amplitude;
+
+ public static String get_controller_name( int controller ) {
+ return control_names[ controller ];
+ }
+
+ public Voice( int sampling_rate ) {
+ int idx;
+ tick_len = sampling_rate / 1000;
+ osc_1 = new Oscillator( sampling_rate );
+ osc_2 = new Oscillator( sampling_rate );
+ vol_env = new Envelope( sampling_rate );
+ vib_lfo_1 = new LFO( sampling_rate );
+ vib_lfo_2 = new LFO( sampling_rate );
+ set_pitch_wheel( 0 );
+ for( idx = 0; idx < NUM_CONTROLLERS; idx++ ) {
+ set_controller( idx, 0 );
+ }
+ set_portamento_time( 0 );
+ set_volume( Maths.FP_ONE );
+ key_on( 60 ); /* Middle C.*/
+ key_off( true );
+ }
+
+ /* Portamento speed in ms. */
+ public void set_portamento_time( int millis ) {
+ if( millis >= 0 ) {
+ porta_time = millis;
+ }
+ }
+
+ public void set_volume( int vol ) {
+ volume = vol;
+ }
+
+ /* Key_on without key_off for portamento. */
+ public void key_on( int key ) {
+ if( key != this.key ) {
+ this.key = key;
+ porta_pitch = Maths.FP_ONE * ( ( key & 0x7F ) - 69 ) / 12;
+ if( vol_env.key_is_on() ) {
+ /* Portamento */
+ porta_rate = 0;
+ if( porta_time > 0 ) {
+ porta_rate = ( porta_pitch - pitch ) / porta_time;
+ }
+ if( porta_rate == 0 ) {
+ pitch = porta_pitch;
+ calculate_pitch( true );
+ }
+ } else {
+ /* Not portamento.*/
+ vol_env.key_off( true );
+ pitch = porta_pitch;
+ calculate_pitch( true );
+ }
+ }
+ if( vol_env.get_amplitude() <= 0 ) {
+ vib_lfo_1.set_phase();
+ vib_lfo_2.set_phase();
+ }
+ vol_env.key_on();
+ calculate_amplitude( true );
+ }
+
+ public boolean key_is_on() {
+ return vol_env.key_is_on();
+ }
+
+ public int get_key() {
+ return key;
+ }
+
+ public void key_off( boolean sound_off ) {
+ vol_env.key_off( sound_off );
+ calculate_amplitude( true );
+ }
+
+ public int get_volume() {
+ return vol_env.get_amplitude();
+ }
+
+ /*
+ Set pitch wheel position ( +-1 octave ).
+ Value is from -8192 to 8191 inclusive.
+ */
+ public void set_pitch_wheel( int value ) {
+ if( 8192 > value && value >= -8192 ) {
+ pitch_wheel = ( value << 18 ) >> 31 - Maths.FP_SHIFT;
+ pitch_wheel /= 6;
+ }
+ }
+
+ /*
+ Set a modulation controller position.
+ Value is from 0 to 127 inclusive.
+ */
+ public void set_controller( int control_idx, int value ) {
+ if( control_idx < 0 || value < 0 || value > 127 ) {
+ return;
+ }
+ switch( control_idx ) {
+ case 0:
+ osc_1.set_wave( value << Maths.FP_SHIFT - 7 );
+ osc_2.set_wave( value << Maths.FP_SHIFT - 7 );
+ break;
+ case 1:
+ vol_env.set_attack_time( value << 4 );
+ break;
+ case 2:
+ vol_env.set_release_time( value << 4 );
+ break;
+ case 3:
+ if( value <= 0 ) {
+ detune = 0;
+ if( vib_lfo_1.get_depth() <= 0 ) {
+ /* Lock the oscillators together.*/
+ osc_2.set_phase( osc_1.get_phase() );
+ calculate_pitch( true );
+ }
+ } else {
+ value = ( value + 1 ) << Maths.FP_SHIFT - 7;
+ detune = Maths.exp_scale( value, 8 );
+ }
+ break;
+ case 4:
+ value = 128 - value << Maths.FP_SHIFT - 7;
+ value = Maths.exp_scale( value, 11 );
+ vib_lfo_1.set_cycle_len( value );
+ vib_lfo_2.set_cycle_len( value * 99 / 70 );
+ break;
+ case 5:
+ if( value <= 0 ) {
+ vib_lfo_1.set_depth( 0 );
+ vib_lfo_2.set_depth( 0 );
+ if( detune <= 0 ) {
+ osc_2.set_phase( osc_1.get_phase() );
+ calculate_pitch( true );
+ }
+ } else {
+ value = value << Maths.FP_SHIFT - 7;
+ value = Maths.exp_scale( value, 8 );
+ vib_lfo_1.set_depth( value );
+ vib_lfo_2.set_depth( value );
+ }
+ break;
+ }
+ }
+
+ public void get_audio(int[] out_buf, int length) {
+ vib_lfo_1.update( length );
+ vib_lfo_2.update( length );
+ if( pitch < porta_pitch ) {
+ pitch = pitch + porta_rate * length / tick_len;
+ if( pitch > porta_pitch ) {
+ pitch = porta_pitch;
+ }
+ }
+ if( pitch > porta_pitch ) {
+ pitch = pitch + porta_rate * length / tick_len;
+ if( pitch < porta_pitch ) {
+ pitch = porta_pitch;
+ }
+ }
+ calculate_pitch( false );
+ vol_env.update( length );
+ calculate_amplitude( false );
+ osc_1.get_audio( out_buf, 0, length );
+ osc_2.get_audio( out_buf, 0, length );
+ }
+
+ private void calculate_pitch( boolean now ) {
+ int vibrato_1 = vib_lfo_1.get_amplitude();
+ int vibrato_2 = vib_lfo_2.get_amplitude();
+ osc_1.set_pitch( pitch + pitch_wheel + vibrato_1, now );
+ osc_2.set_pitch( pitch + pitch_wheel + vibrato_2 + detune, now );
+ }
+
+ private void calculate_amplitude( boolean now ) {
+ int amplitude;
+ amplitude = vol_env.get_amplitude() * volume >> Maths.FP_SHIFT + 1;
+ osc_1.set_amplitude( amplitude, now );
+ osc_2.set_amplitude( amplitude, now );
+ }
+
+ /**
+ * @return the amplitude
+ */
+ public int getAmplitude() {
+ return amplitude;
+ }
+
+ /**
+ * @param amplitude the amplitude to set
+ */
+ public void setAmplitude(int amplitude) {
+ this.amplitude = amplitude;
+ }
+}
diff --git a/plugins/Liquinth/liquinth.png b/plugins/Liquinth/liquinth.png
new file mode 100644
index 0000000..93c95db
Binary files /dev/null and b/plugins/Liquinth/liquinth.png differ
diff --git a/plugins/MirahFilta/MirahFilta.rb b/plugins/MirahFilta/MirahFilta.rb
new file mode 100644
index 0000000..d86ca4a
--- /dev/null
+++ b/plugins/MirahFilta/MirahFilta.rb
@@ -0,0 +1,22 @@
+#noinspection RubyResolve
+include_class Java::MirahTools
+
+#noinspection ALL
+class MirahFilta < OpazPlug
+ plugin "MirahFilta", "Opaz", "LoGeek"
+ can_do "1in1out", "plugAsChannelInsert", "plugAsSend"
+ unique_id "mflt"
+
+ param :cut_off, "Cut Off", 1.0
+ param :resonance, "Resonance", 0.1
+ param :mode, "Mode (LP or HP)", 0
+
+ def filter
+ @filter ||= MirahTools.new
+ end
+
+ def process(inputs, outputs, sampleFrames)
+ filter.recompute_parameters(cut_off, resonance, (mode < 0.5 ? +1 : -1), sample_rate)
+ filter.apply(inputs[0], outputs[0], sampleFrames)
+ end
+end
diff --git a/plugins/DubyFilta/DubyTools.mirah b/plugins/MirahFilta/MirahTools.mirah
similarity index 98%
rename from plugins/DubyFilta/DubyTools.mirah
rename to plugins/MirahFilta/MirahTools.mirah
index 50c6a26..68b482e 100644
--- a/plugins/DubyFilta/DubyTools.mirah
+++ b/plugins/MirahFilta/MirahTools.mirah
@@ -1,4 +1,4 @@
-class DubyTools
+class MirahTools
def not_below(val:float,min:float)
val < min ? min : val
end
diff --git a/plugins/MirahFilta/README b/plugins/MirahFilta/README
new file mode 100644
index 0000000..d364a1b
--- /dev/null
+++ b/plugins/MirahFilta/README
@@ -0,0 +1 @@
+Work in progress of filter implemented in JRuby + Mirah
\ No newline at end of file
diff --git a/plugins/MirahFreeComp/MirahFreeComp.rb b/plugins/MirahFreeComp/MirahFreeComp.rb
new file mode 100644
index 0000000..f767bd2
--- /dev/null
+++ b/plugins/MirahFreeComp/MirahFreeComp.rb
@@ -0,0 +1,24 @@
+#noinspection RubyResolve
+include_class Java::MirahFreeCompTools
+
+#noinspection ALL
+class MirahFreeComp < OpazPlug
+ plugin "MirahFreeComp", "Opaz", "LoGeek"
+ can_do "1in1out", "plugAsChannelInsert", "plugAsSend"
+ unique_id "mfcp"
+
+ param :threshold, "Threshold", 0, "dB", (-60.0..6.0)
+ param :ratio, "Ratio", 1, "n:1", (1.0..100.0)
+ param :attack, "Attack", 20, "ms", (0.0..250.0)
+ param :release, "Release", 200, "ms", (25.0..2500.0)
+ param :output, "Output", 0, "dB", (0.0..30.0)
+
+ def tools
+ @tools ||= MirahFreeCompTools.new
+ end
+
+ def process(inputs, outputs, sampleFrames)
+ tools.slider(threshold, ratio, attack, release, output, sample_rate)
+ tools.process(inputs[0], outputs[0], sampleFrames)
+ end
+end
diff --git a/plugins/DubyFreeComp/DubyFreeCompTools.mirah b/plugins/MirahFreeComp/MirahFreeCompTools.mirah
similarity index 95%
rename from plugins/DubyFreeComp/DubyFreeCompTools.mirah
rename to plugins/MirahFreeComp/MirahFreeCompTools.mirah
index ce5f211..fbab945 100644
--- a/plugins/DubyFreeComp/DubyFreeCompTools.mirah
+++ b/plugins/MirahFreeComp/MirahFreeCompTools.mirah
@@ -1,38 +1,38 @@
-class DubyFreeCompTools
- def initialize
- @final_gain = 1.0
- @env = 0.0
- end
-
- def slider(threshold:float,ratio:float,attack:float,release:float,output:float,sample_rate:int)
- @env_rel = Math.exp(-1/(0.25*release*sample_rate))
- @thresh = Math.pow(10,threshold/20.0)
- @transA = (1/ratio) - 1
- @transB = Math.pow(10,output/20.0) * Math.pow(@thresh,1-(1/ratio))
- @output_gain = Math.pow(10,output/20.0)
- @att_coef = Math.exp(-1 / (attack/1000.0*sample_rate))
- @rel_coef = Math.exp(-1 / (release/1000.0*sample_rate))
- end
-
- def sample(spl0:float)
- det = Math.abs(spl0) # instead of [spl0.abs, spl1.abs].max
- det += float(Math.pow(10,-29)) # cannot use 10e-30 currently
-
- @env = det >= @env ? det : float(det+@env_rel*(@env-det))
- gain = @env > @thresh ? Math.pow(@env,@transA)*@transB : @output_gain
-
- @final_gain = float(gain < @final_gain ? gain+@att_coef*(@final_gain-gain) : gain+@rel_coef*(@final_gain-gain))
- spl0 *= float(@final_gain)
- #spl1 *= final_gain
- #[spl0, spl1]
- spl0
- end
-
- def process(inBuffer:float[], outBuffer:float[], sampleFrames:int)
- i = 0
- while i < sampleFrames
- outBuffer[i] = sample(inBuffer[i])
- i += 1
- end
- end
+class MirahFreeCompTools
+ def initialize
+ @final_gain = 1.0
+ @env = 0.0
+ end
+
+ def slider(threshold:float,ratio:float,attack:float,release:float,output:float,sample_rate:int)
+ @env_rel = Math.exp(-1/(0.25*release*sample_rate))
+ @thresh = Math.pow(10,threshold/20.0)
+ @transA = (1/ratio) - 1
+ @transB = Math.pow(10,output/20.0) * Math.pow(@thresh,1-(1/ratio))
+ @output_gain = Math.pow(10,output/20.0)
+ @att_coef = Math.exp(-1 / (attack/1000.0*sample_rate))
+ @rel_coef = Math.exp(-1 / (release/1000.0*sample_rate))
+ end
+
+ def sample(spl0:float)
+ det = Math.abs(spl0) # instead of [spl0.abs, spl1.abs].max
+ det += float(Math.pow(10,-29)) # cannot use 10e-30 currently
+
+ @env = det >= @env ? det : float(det+@env_rel*(@env-det))
+ gain = @env > @thresh ? Math.pow(@env,@transA)*@transB : @output_gain
+
+ @final_gain = float(gain < @final_gain ? gain+@att_coef*(@final_gain-gain) : gain+@rel_coef*(@final_gain-gain))
+ spl0 *= float(@final_gain)
+ #spl1 *= final_gain
+ #[spl0, spl1]
+ spl0
+ end
+
+ def process(inBuffer:float[], outBuffer:float[], sampleFrames:int)
+ i = 0
+ while i < sampleFrames
+ outBuffer[i] = sample(inBuffer[i])
+ i += 1
+ end
+ end
end
\ No newline at end of file
diff --git a/plugins/MirahGain/MirahGain.rb b/plugins/MirahGain/MirahGain.rb
new file mode 100644
index 0000000..2cf7c28
--- /dev/null
+++ b/plugins/MirahGain/MirahGain.rb
@@ -0,0 +1,15 @@
+#noinspection RubyResolve
+include_class Java::MirahGainTools
+
+#noinspection ALL
+class MirahGain < OpazPlug
+ plugin "MirahGain", "Opaz", "LoGeek"
+ can_do "1in1out", "plugAsChannelInsert", "plugAsSend"
+ unique_id "MGaN"
+
+ param :gain, "Gain", 1.0, "dB"
+
+ def process(inputs, outputs, sampleFrames)
+ MirahGainTools.process(inputs[0], outputs[0], sampleFrames, gain)
+ end
+end
diff --git a/plugins/DubyGain/DubyGainTools.mirah b/plugins/MirahGain/MirahGainTools.mirah
similarity index 86%
rename from plugins/DubyGain/DubyGainTools.mirah
rename to plugins/MirahGain/MirahGainTools.mirah
index c3c83b7..a94e95b 100644
--- a/plugins/DubyGain/DubyGainTools.mirah
+++ b/plugins/MirahGain/MirahGainTools.mirah
@@ -1,9 +1,9 @@
-class DubyGainTools
- def self.process(inBuffer:float[], outBuffer:float[], sampleFrames:int, gain:float)
- i = 0
- while i < sampleFrames
- outBuffer[i] = inBuffer[i] * gain
- i += 1
- end
- end
-end
+class MirahGainTools
+ def self.process(inBuffer:float[], outBuffer:float[], sampleFrames:int, gain:float)
+ i = 0
+ while i < sampleFrames
+ outBuffer[i] = inBuffer[i] * gain
+ i += 1
+ end
+ end
+end
diff --git a/plugins/DubyGain/README b/plugins/MirahGain/README
similarity index 95%
rename from plugins/DubyGain/README
rename to plugins/MirahGain/README
index 2b71a9e..9e6afb8 100644
--- a/plugins/DubyGain/README
+++ b/plugins/MirahGain/README
@@ -1,9 +1,9 @@
-Example of Mirah+JRuby plugin.
-
-see http://www.mirah.org
-
-Mirah must be installed first:
-
-jgem install mirah
-
+Example of Mirah+JRuby plugin.
+
+see http://www.mirah.org
+
+Mirah must be installed first:
+
+jgem install mirah
+
.mirah files are compiled to .java then .class automatically.
\ No newline at end of file
diff --git a/plugins/RubyDelay/RubyDelay.rb b/plugins/RubyDelay/RubyDelay.rb
index a31aaf9..4cf7704 100644
--- a/plugins/RubyDelay/RubyDelay.rb
+++ b/plugins/RubyDelay/RubyDelay.rb
@@ -1,8 +1,10 @@
+#noinspection RubyResolve
require 'java'
# this is to be able to call the static log() method in VSTPluginAdapter
include_class 'jvst.wrapper.VSTPluginAdapter'
+#noinspection ALL
class RubyDelay < Java::jvst.wrapper.VSTPluginAdapter
P_DELAY_TIME = 0
P_FEEDBACK = 1
@@ -11,19 +13,20 @@ class RubyDelay < Java::jvst.wrapper.VSTPluginAdapter
P_WET_DRY_MIX = 4
NUM_PARAMS = P_WET_DRY_MIX + 1
- PARAM_NAMES = ["Delay Time","Feedback","LFO Frq","LFO Depth","Wet/Dry Mix"]
- PARAM_LABELS = ["ms","%","Hz","","%"]
- PARAM_PRINT_MUL = [1000,100,1,1,100]
+ PARAM_NAMES = ["Delay Time", "Feedback", "LFO Frq", "LFO Depth", "Wet/Dry Mix"]
+ PARAM_LABELS = ["ms", "%", "Hz", "", "%"]
+ PARAM_PRINT_MUL = [1000, 100, 1, 1, 100]
PROGRAMS = [[0.45, 0.50, 0.0, 0, 0.5],
- [0.01, 0.85, 0.2, 0.5, 0.65],
- [0.99, 0.7, 0.0, 0.02, 0.50],
- [0.3, 0.9, 0.0, 0.0, 0.50],
- [0.004, 0.80, 0.1, 0.8, 0.50],
- [0.4, 0.50, 0.1, 0.5, 0.50],
- [0.1, 0.50, 0.1, 0.6, 0.50],
- [0.1, 0.50, 0.1, 0.7, 0.50]]
-
+ [0.01, 0.85, 0.2, 0.5, 0.65],
+ [0.99, 0.7, 0.0, 0.02, 0.50],
+ [0.3, 0.9, 0.0, 0.0, 0.50],
+ [0.004, 0.80, 0.1, 0.8, 0.50],
+ [0.4, 0.50, 0.1, 0.5, 0.50],
+ [0.1, 0.50, 0.1, 0.6, 0.50],
+ [0.1, 0.50, 0.1, 0.7, 0.50]]
+
+ #noinspection RubyInstanceVariableNamingConvention
def initialize(wrapper)
super
@@ -53,15 +56,18 @@ def log(msg)
VSTPluginAdapter.log("JRuby: #{msg}")
end
+ #noinspection RubyInstanceMethodNamingConvention
def setSampleRate(sampleRate)
@sampleRate = sampleRate
end
+ #noinspection RubyInstanceMethodNamingConvention
def setEchoTime(millisDelay)
@echoSize = millisDelay * (@sampleRate / 1000)
- @echo = Array.new(@echoSize){|i| 0.0} unless @echo.size == @echoSize
+ @echo = Array.new(@echoSize) { |i| 0.0 } unless @echo.size == @echoSize
end
+ #noinspection RubyInstanceMethodNamingConvention
def currentProgram
PROGRAMS[@currentProgramIndex]
end
@@ -77,6 +83,7 @@ def update
@echoPos = 0
end
+ #noinspection RubyInstanceMethodNamingConvention
def canDo(feature)
ret = CANDO_NO
ret = CANDO_YES if feature == CANDO_PLUG_1_IN_1_OUT
@@ -87,27 +94,33 @@ def canDo(feature)
ret
end
+ #noinspection RubyInstanceMethodNamingConvention
def getProductString
"Opaz"
end
+ #noinspection RubyInstanceMethodNamingConvention
def getEffectname
"Delay"
end
- def getProgramNameIndexed(category,index)
+ #noinspection RubyInstanceMethodNamingConvention
+ def getProgramNameIndexed(category, index)
"Prog: cat #{category}, #{index}"
end
+ #noinspection RubyInstanceMethodNamingConvention
def getVendorString
"LoGeek"
end
+ #noinspection RubyInstanceMethodNamingConvention
def setBypass(value)
false
end
- def string2Parameter(index,value)
+ #noinspection RubyInstanceMethodNamingConvention
+ def string2Parameter(index, value)
begin
setParameter(index, Float(value)) unless value.nil?
return true
@@ -116,14 +129,17 @@ def string2Parameter(index,value)
end
end
+ #noinspection RubyInstanceMethodNamingConvention
def getNumParams
NUM_PARAMS
end
+ #noinspection RubyInstanceMethodNamingConvention
def getNumPrograms
PROGRAMS.size
end
+ #noinspection RubyInstanceMethodNamingConvention
def getParameter(index)
if index < currentProgram.size
return currentProgram[index]
@@ -132,6 +148,7 @@ def getParameter(index)
end
end
+ #noinspection RubyInstanceMethodNamingConvention
def getParameterDisplay(index)
if index < currentProgram.size
return ((100 * PARAM_PRINT_MUL[index] * currentProgram[index]) / 100.0).to_s
@@ -140,6 +157,7 @@ def getParameterDisplay(index)
end
end
+ #noinspection RubyInstanceMethodNamingConvention
def getParameterLabel(index)
if index < currentProgram.size
return PARAM_LABELS[index]
@@ -148,6 +166,7 @@ def getParameterLabel(index)
end
end
+ #noinspection RubyInstanceMethodNamingConvention
def getParameterName(index)
if index < currentProgram.size
return PARAM_NAMES[index]
@@ -156,33 +175,40 @@ def getParameterName(index)
end
end
+ #noinspection RubyInstanceMethodNamingConvention
def getProgram
@currentProgramIndex
end
+ #noinspection RubyInstanceMethodNamingConvention
def getProgramName
"program #{@currentProgramIndex}"
end
- def setParameter(index,value)
+ #noinspection RubyInstanceMethodNamingConvention
+ def setParameter(index, value)
currentProgram[index] = value
update
end
+ #noinspection RubyInstanceMethodNamingConvention
def setProgram(index)
@currentProgramIndex = index
update
end
+ #noinspection RubyInstanceMethodNamingConvention
def setProgramName(name)
#ignore
end
+ #noinspection RubyInstanceMethodNamingConvention
def getPlugCategory
log("getPlugCategory")
PLUG_CATEG_EFFECT
end
+ #noinspection RubyInstanceMethodNamingConvention
def processReplacing(inputs, outputs, sampleFrames)
inBuffer = inputs[0]
outBuffer = outputs[0]
diff --git a/plugins/RubyFreeComp/RubyFreeComp.rb b/plugins/RubyFreeComp/RubyFreeComp.rb
index 2c7f9e4..5f32cdf 100644
--- a/plugins/RubyFreeComp/RubyFreeComp.rb
+++ b/plugins/RubyFreeComp/RubyFreeComp.rb
@@ -1,19 +1,21 @@
+#noinspection ALL
class RubyFreeComp < OpazPlug
plugin "RubyFreeComp", "Opaz", "LoGeek"
can_do "1in1out", "plugAsChannelInsert", "plugAsSend"
unique_id "rfcp"
- param :threshold, "Threshold", 0, "dB", (-60.0..6.0)
- param :ratio, "Ratio", 1, "n:1", (1.0..100.0)
- param :attack, "Attack", 20, "ms", (0.0..250.0)
- param :release, "Release", 200, "ms", (25.0..2500.0)
- param :output, "Output", 0, "dB", (0.0..30.0)
+ param :threshold, "Threshold", 0, "dB", (-60.0..6.0)
+ param :ratio, "Ratio", 1, "n:1", (1.0..100.0)
+ param :attack, "Attack", 20, "ms", (0.0..250.0)
+ param :release, "Release", 200, "ms", (25.0..2500.0)
+ param :output, "Output", 0, "dB", (0.0..30.0)
def init
@final_gain = 1.0
@env = 0.0
end
-
+
+ #noinspection RubyInstanceVariableNamingConvention
def slider
@env_rel = Math.exp(-1/(0.25*release*sample_rate))
@thresh = 10**(threshold/20.0)
@@ -21,7 +23,7 @@ def slider
@transB = 10**(output/20.0) * (@thresh ** (1-(1/ratio)))
@output_gain = 10**(output/20.0)
@att_coef = Math.exp(-1 / (attack/1000.0*sample_rate))
- @rel_coef = Math.exp(-1 / (release/1000.0*sample_rate))
+ @rel_coef = Math.exp(-1 / (release/1000.0*sample_rate))
end
# mono version to get started
@@ -29,16 +31,16 @@ def sample(spl0) #, spl1)
det = spl0.abs # instead of [spl0.abs, spl1.abs].max
det += 10e-30
- @env = det >= @env ? det : det+@env_rel*(@env-det)
+ @env = det >= @env ? det : det+@env_rel*(@env-det)
gain = @env > @thresh ? (@env**@transA)*@transB : @output_gain
@final_gain = gain < @final_gain ? gain+@att_coef*(@final_gain-gain) : gain+@rel_coef*(@final_gain-gain)
spl0 *= @final_gain
- #spl1 *= final_gain
- #[spl0, spl1]
+ #spl1 *= final_gain
+ #[spl0, spl1]
spl0
end
-
+
def process(inputs, outputs, sampleFrames)
# todo - optimize this by avoiding calling them too often
init if @final_gain.nil?
diff --git a/plugins/RubyGain/RubyGain.rb b/plugins/RubyGain/RubyGain.rb
index 9a332b5..db545d6 100644
--- a/plugins/RubyGain/RubyGain.rb
+++ b/plugins/RubyGain/RubyGain.rb
@@ -1,63 +1,68 @@
-
include_class 'IRBPluginGUI'
+#noinspection RubyInstanceMethodNamingConvention,RubyUnusedLocalVariable,RubyResolve
class RubyGainGUI
attr_reader :frame, :plugin, :slider
+
def initialize(plugin, frame)
@frame = frame
@plugin = plugin
-
+
# spawn and attach an IRB session alongside the plugin GUI
# comment out if you are done debugging
# note: stdout (puts, etc.) is redirected to the IRB session
irb = IRBPluginGUI.new(JRuby.runtime)
-
+
frame.setTitle("RubyGain GUI")
frame.setSize(400, 300)
-
+
puts "gain=#{plugin.gain*100}"
@slider = javax.swing.JSlider.new(0, 100, plugin.gain*100)
# GUI changed param value --> update plug
- listener = javax.swing.event.ChangeListener.impl { |method, *args|
+ listener = javax.swing.event.ChangeListener.impl { |method, *args|
# cannot simply use plugin.gain = newval here, this would bypass
# host notification to record slider changes
#
# avoid recursion here: setParameterAutomated eventually calls RubyGainGUI.setParameter,
# which changes the slider value (slider.setValue(value*100))
# which again causes a change event and we are here again. --> infinite loop
- if args[0].source.getValueIsAdjusting==false
+ unless args[0].source.getValueIsAdjusting
newval = args[0].source.value/100.0
plugin.setParameterAutomated(0, newval)
puts "value changed=#{newval}"
end
- }
+ }
@slider.addChangeListener(listener)
frame.add(@slider)
end
-
+
# plug changed param value --> update GUI
+ #noinspection RubyInstanceMethodNamingConvention
def setParameter (index, value)
- puts "GUI param idx=#{index} val=#{value}"
- case index
- when 0
- java.awt.EventQueue.invoke_later( java.lang.Runnable.impl { |method, *args|
- slider.setValueIsAdjusting(true); #do not generate a change event
- slider.setValue(value*100)
- })
+ puts "GUI param idx=#{index} val=#{value}"
+ case index
+ when 0
+ java.awt.EventQueue.invoke_later(java.lang.Runnable.impl { |method, *args|
+ slider.setValueIsAdjusting(true); #do not generate a change event
+ slider.setValue(value*100)
+ })
+ else
+ # type code here
end
end
-
+
end
+#noinspection ALL
class RubyGain < OpazPlug
plugin "RubyGain", "Opaz", "LoGeek"
can_do "1in1out", "plugAsChannelInsert", "plugAsSend"
unique_id "RGaN"
-
+
param :gain, "Gain", 1.0, "dB"
editor RubyGainGUI
-
+
def process(inputs, outputs, sampleFrames)
inBuffer, outBuffer = inputs[0], outputs[0]
for i in (0..sampleFrames-1)
diff --git a/plugins/SimplePlugin/README b/plugins/SimplePlugin/README
old mode 100755
new mode 100644
diff --git a/plugins/SimplePlugin/SimplePlugin.rb b/plugins/SimplePlugin/SimplePlugin.rb
old mode 100755
new mode 100644
index c801c45..19b9553
--- a/plugins/SimplePlugin/SimplePlugin.rb
+++ b/plugins/SimplePlugin/SimplePlugin.rb
@@ -1,37 +1,39 @@
-
include_class 'IRBPluginGUI'
+#noinspection ALL
class SimplePluginGUI
attr_reader :frame, :plugin
+
def initialize(plugin, frame)
@frame = frame
@plugin = plugin
-
+
# spawn and attach an IRB session alongside the plugin GUI
# comment out if you are done debugging
# note: stdout (puts, etc.) is redirected to the IRB session
+ #noinspection RubyResolve
irb = IRBPluginGUI.new(JRuby.runtime)
-
+
frame.setTitle("SimplePlugin GUI")
- frame.setSize(200, 120)
+ frame.setSize(200, 120)
end
-
+
# Check RubyGain for a more elaborate GUI example
end
-
+#noinspection ALL
class SimplePlugin < OpazPlug
plugin "plugin-name", "product-name", "vendor-name"
can_do "1in1out", "plugAsChannelInsert", "plugAsSend" #our plug-in's capabilities: check original VST SDK
unique_id "ToDo" # MUST be a 4 char string or an int
-
+
## define plugin parameters like so
param :gain, "Gain", 0.8, "dB"
## define the name of the GUI class (defined above)
editor SimplePluginGUI
-
+
## heres where the sound is generated
## variable input and output are arrays of arrays of floats (floats range between 0.0 and 1.0 inclusive)
def process(inputs, outputs, sampleFrames)
@@ -40,6 +42,6 @@ def process(inputs, outputs, sampleFrames)
outBuffer[i] = inBuffer[i] * gain
end
end
-
+
end
\ No newline at end of file
diff --git a/plugins/SimplePlugin/live-demo.rb b/plugins/SimplePlugin/live-demo.rb
old mode 100755
new mode 100644
index 7635cf2..edc0629
--- a/plugins/SimplePlugin/live-demo.rb
+++ b/plugins/SimplePlugin/live-demo.rb
@@ -1,3 +1,4 @@
+#noinspection ALL
class SimplePlugin < OpazPlug
def initialize (wrapper)
@in11 = @in12 = @out11 = @out12 = 0.0
@@ -6,21 +7,21 @@ def initialize (wrapper)
end
plugin "plugin-name", "product-name", "vendor-name"
- can_do "1in1out", "plugAsChannelInsert", "plugAsSend"
+ can_do "1in1out", "plugAsChannelInsert", "plugAsSend"
unique_id "ToDo" # MUST be a 4 char string or an int
-
+
param :p1, "cutoff", 0.5, "Hz"
param :p2, "resonance", 0.5, "Hz"
param :p3, "max cutoff", 0.5, "Hz"
param :p4, "fine reso", 0.7, ""
editor SimplePluginGUI
-
+
def process(inputs, outputs, sampleFrames)
in1, out1 = inputs[0], outputs[0]
for i in (0..sampleFrames-1)
- if i%20 == 0
- @p1smooth = @p1filtercoeff * p1 + ( 1.0 - @p1filtercoeff) * @p1smooth;
+ if i%20 == 0
+ @p1smooth = @p1filtercoeff * p1 + (1.0 - @p1filtercoeff) * @p1smooth;
c = 1.0 / (Math.tan(Math::PI * ((0.001 + @p1smooth * p3) / 2.15)));
csq = c * c;
q = Math.sqrt(2.0) * (1 - p2) * (1 - p4);
@@ -34,53 +35,75 @@ def process(inputs, outputs, sampleFrames)
@out12 = @out11; @out11 = out1[i]; @in12 = @in11; @in11 = in1[i];
end
end
-
+
end
# cutoff sweep
-for i in (1..10); PLUG.setParameter(0,i/10.0); sleep 1; end
+(1..10).each { |i| ; PLUG.setParameter(0, i/10.0); sleep 1 }
# param randomizer
-for i in (0..4); PLUG.setParameter(i,rand); end
+(0..4).each { |i| ; PLUG.setParameter(i, rand) }
# gui
+#noinspection RubyResolve
PLUG.editor_instance.frame.getContentPane.setLayout(java.awt.FlowLayout.new)
include_class 'jvst.wrapper.gui.RotaryKnobPlusText'
+#noinspection RubyResolve
knob1 = RotaryKnobPlusText.new("cutoff")
PLUG.editor_instance.frame.add knob1
-l1 = javax.swing.event.ChangeListener.impl { |method, *args|
- PLUG.setParameterAutomated(0, args[0].source.value) }
+#noinspection RubyResolve,RubyUnusedLocalVariable
+l1 = javax.swing.event.ChangeListener.impl { |method, *args|
+ #noinspection RubyResolve
+ PLUG.setParameterAutomated(0, args[0].source.value) }
+#noinspection RubyResolve
knob1.getKnob.addChangeListener(l1)
PLUG.editor_instance.frame.pack
+#noinspection RubyResolve
knob2 = RotaryKnobPlusText.new("reso")
+#noinspection RubyResolve
knob3 = RotaryKnobPlusText.new("fine cutoff")
+#noinspection RubyResolve
knob4 = RotaryKnobPlusText.new("fine reso")
PLUG.editor_instance.frame.add knob2
PLUG.editor_instance.frame.add knob3
PLUG.editor_instance.frame.add knob4
-l2 = javax.swing.event.ChangeListener.impl { |method, *args|
- PLUG.setParameterAutomated(1, args[0].source.value) }
-l3 = javax.swing.event.ChangeListener.impl { |method, *args|
- PLUG.setParameterAutomated(2, args[0].source.value) }
-l4 = javax.swing.event.ChangeListener.impl { |method, *args|
- PLUG.setParameterAutomated(3, args[0].source.value) }
+#noinspection RubyResolve,RubyUnusedLocalVariable
+l2 = javax.swing.event.ChangeListener.impl { |method, *args|
+ PLUG.setParameterAutomated(1, args[0].source.value) }
+#noinspection RubyResolve,RubyUnusedLocalVariable
+l3 = javax.swing.event.ChangeListener.impl { |method, *args|
+ #noinspection RubyResolve
+ PLUG.setParameterAutomated(2, args[0].source.value) }
+
+#noinspection RubyResolve,RubyUnusedLocalVariable
+l4 = javax.swing.event.ChangeListener.impl { |method, *args|
+ #noinspection RubyResolve
+ PLUG.setParameterAutomated(3, args[0].source.value) }
+#noinspection RubyResolve
knob2.getKnob.addChangeListener(l2)
+#noinspection RubyResolve
knob3.getKnob.addChangeListener(l3)
+#noinspection RubyResolve
knob4.getKnob.addChangeListener(l4)
PLUG.editor_instance.frame.pack
# slider value progression
-for i in (1..10); knob1.getKnob.setValue(i/10.0); sleep 1; end
-for i in (1..4); eval "knob#{i}.getKnob.setValue(rand)"; end
+#noinspection RubyResolve
+(1..10).each { |i| ; knob1.getKnob.setValue(i/10.0); sleep 1 }
+(1..4).each { |i| ; eval "knob#{i}.getKnob.setValue(rand)" }
+#noinspection RubyResolve
knob5 = RotaryKnobPlusText.new("volume")
PLUG.editor_instance.frame.add knob5
-l5 = javax.swing.event.ChangeListener.impl { |method, *args|
- PLUG.setParameterAutomated(4, args[0].source.value) }
+#noinspection RubyResolve,RubyUnusedLocalVariable
+l5 = javax.swing.event.ChangeListener.impl { |method, *args|
+ #noinspection RubyResolve
+ PLUG.setParameterAutomated(4, args[0].source.value) }
+#noinspection RubyResolve
knob5.getKnob.addChangeListener(l5)
PLUG.editor_instance.frame.pack
diff --git a/plugins/Stuff/AudioVSTPluginSkeleton.java b/plugins/Stuff/AudioVSTPluginSkeleton.java
old mode 100755
new mode 100644
index bf0a1a0..b2c9951
--- a/plugins/Stuff/AudioVSTPluginSkeleton.java
+++ b/plugins/Stuff/AudioVSTPluginSkeleton.java
@@ -1,15 +1,15 @@
-/*
+/*
* jVSTwRapper - The Java way into VST world!
- *
- * jVSTwRapper is an easy and reliable Java Wrapper for the Steinberg VST interface.
- * It enables you to develop VST 2.4 compatible audio plugins and virtual instruments
+ *
+ * jVSTwRapper is an easy and reliable Java Wrapper for the Steinberg VST interface.
+ * It enables you to develop VST 2.4 compatible audio plugins and virtual instruments
* plus user interfaces with the Java Programming Language.
- *
- * jVSTwRapper
- * Copyright (C) 2006 Daniel Martin [daniel309@users.sourceforge.net]
+ *
+ * jVSTwRapper
+ * Copyright (C) 2006 Daniel Martin [daniel309@users.sourceforge.net]
* and many others, see CREDITS.txt
*
- * DDelay - Delay Unit
+ * DDelay - Delay Unit
* Copyright (C) 2007 Joakim Eriksson [joakime@sics.se]
*
* This library is free software; you can redistribute it and/or
@@ -28,141 +28,183 @@
*/
+
+//~--- non-JDK imports --------------------------------------------------------
+
import jvst.wrapper.VSTPluginAdapter;
public class AudioVSTPluginSkeleton extends VSTPluginAdapter {
+ public static int NUM_PARAMS = 0x1;
+ public static String[] PARAM_LABELS = new String[] { "CC Value" };
+ public static String[] PARAM_NAMES = new String[] { "MIDI CC Value" };
+ public static float[] PARAM_PRINT_MUL = new float[] { 0x7f };
+ private int currentProgram = 0x0;
+
+ // Some default programs
+ private float[][] programs = new float[][] {
+ { 0.0f }
+ };
+
+ public AudioVSTPluginSkeleton(long wrapper) {
+ super(wrapper);
+ currentProgram = 0x0;
+
+ // stereo plugin, for max compatibility
+ this.setNumInputs(0x2);
+ this.setNumOutputs(0x2);
+ this.canProcessReplacing(true); // mandatory for vst 2.4!
+ this.setUniqueID('j' << 0x18 | 'R' << 0x10 | 'u' << 0x8 | 'b'); // jRub
+ log("Construktor INVOKED!");
+ }
+
+ @Override
+ public int canDo(String feature) {
+
+ // the host asks us here what we are able to do
+ int ret = CANDO_NO;
+
+ if (feature.equals(CANDO_PLUG_2_IN_2_OUT)) {
+ ret = CANDO_YES;
+ }
+
+ if (feature.equals(CANDO_PLUG_PLUG_AS_SEND)) {
+ ret = CANDO_YES;
+ }
+
+ if (feature.equals(CANDO_PLUG_PLUG_AS_CHANNEL_INSERT)) {
+ ret = CANDO_YES;
+ }
+
+ log("Host asked canDo: " + feature + " we replied: " + ret);
+
+ return ret;
+ }
+
+ @Override
+ public String getProductString() {
+ return "product1";
+ }
+
+ @Override
+ public String getEffectName() {
+ return "audioplug";
+ }
+
+ @Override
+ public String getProgramNameIndexed(int category, int index) {
+ return "prog categ=" + category + ", idx=" + index;
+ }
+
+ @Override
+ public String getVendorString() {
+ return "http://jvstwrapper.sourceforge.net/";
+ }
+
+ @Override
+ public boolean setBypass(boolean value) {
+
+ // do not support soft bypass!
+ return false;
+ }
+
+ @Override
+ public boolean string2Parameter(int index, String value) {
+ try {
+ if (value != null) {
+ this.setParameter(index, Float.parseFloat(value));
+ }
+
+ return true;
+ } catch (Exception e) { // ignore
+ return false;
+ }
+ }
+
+ public int getNumParams() {
+ return NUM_PARAMS;
+ }
+
+ @Override
+ public int getNumPrograms() {
+ return programs.length;
+ }
+
+ @Override
+ public float getParameter(int index) {
+ if (index < programs[currentProgram].length) {
+ return programs[currentProgram][index];
+ }
+
+ return 0.0f;
+ }
+
+ @Override
+ public String getParameterDisplay(int index) {
+ if (index < programs[currentProgram].length) {
+ return "" + (int) (PARAM_PRINT_MUL[index] * programs[currentProgram][index]);
+ }
+
+ return "0";
+ }
+
+ @Override
+ public String getParameterLabel(int index) {
+ if (index < PARAM_LABELS.length) {
+ return PARAM_LABELS[index];
+ }
+
+ return "";
+ }
+
+ @Override
+ public String getParameterName(int index) {
+ if (index < PARAM_NAMES.length) {
+ return PARAM_NAMES[index];
+ }
+
+ return "param: " + index;
+ }
+
+ @Override
+ public int getProgram() {
+ return currentProgram;
+ }
+
+ @Override
+ public String getProgramName() {
+ return "program " + currentProgram;
+ }
+
+ @Override
+ public void setParameter(int index, float value) {
+ programs[currentProgram][index] = value;
+ }
+
+ @Override
+ public void setProgram(int index) {
+ currentProgram = index;
+ }
+
+ @Override
+ public void setProgramName(String name) {
+
+ // TODO: ignored
+ }
+
+ @Override
+ public int getPlugCategory() {
+ log("getPlugCategory");
+
+ return PLUG_CATEG_EFFECT;
+ }
+
+ // Generate / Process the sound!
+ @Override
+ public void processReplacing(float[][] inputs, float[][] outputs, int sampleFrames) {
+
+ // TODO: algorithm here...
+ }
+}
- public static int NUM_PARAMS = 1;
- public static String[] PARAM_NAMES = new String[] { "MIDI CC Value" };
- public static String[] PARAM_LABELS = new String[] { "CC Value" };
- public static float[] PARAM_PRINT_MUL = new float[] { 127 };
-
- // Some default programs
- private float[][] programs = new float[][] { { 0.0f } };
- private int currentProgram = 0;
-
- public AudioVSTPluginSkeleton(long wrapper) {
- super(wrapper);
-
- currentProgram = 0;
-
- // stereo plugin, for max compatibility
- this.setNumInputs(2);
- this.setNumOutputs(2);
-
- this.canProcessReplacing(true);// mandatory for vst 2.4!
- this.setUniqueID('j' << 24 | 'R' << 16 | 'u' << 8 | 'b');// jRub
-
- log("Construktor INVOKED!");
- }
-
- public int canDo(String feature) {
- // the host asks us here what we are able to do
- int ret = CANDO_NO;
-
- if (feature.equals(CANDO_PLUG_2_IN_2_OUT))
- ret = CANDO_YES;
-
- if (feature.equals(CANDO_PLUG_PLUG_AS_SEND))
- ret = CANDO_YES;
-
- if (feature.equals(CANDO_PLUG_PLUG_AS_CHANNEL_INSERT))
- ret = CANDO_YES;
-
- log("Host asked canDo: " + feature + " we replied: " + ret);
- return ret;
- }
-
- public String getProductString() {
- return "product1";
- }
-
- public String getEffectName() {
- return "audioplug";
- }
-
- public String getProgramNameIndexed(int category, int index) {
- return "prog categ=" + category + ", idx=" + index;
- }
-
- public String getVendorString() {
- return "http://jvstwrapper.sourceforge.net/";
- }
-
- public boolean setBypass(boolean value) {
- // do not support soft bypass!
- return false;
- }
-
- public boolean string2Parameter(int index, String value) {
- try {
- if (value != null) this.setParameter(index, Float.parseFloat(value));
- return true;
- } catch (Exception e) { // ignore
- return false;
- }
- }
-
- public int getNumParams() {
- return NUM_PARAMS;
- }
-
- public int getNumPrograms() {
- return programs.length;
- }
-
- public float getParameter(int index) {
- if (index < programs[currentProgram].length)
- return programs[currentProgram][index];
- return 0.0f;
- }
-
- public String getParameterDisplay(int index) {
- if (index < programs[currentProgram].length) {
- return "" + (int) (PARAM_PRINT_MUL[index] * programs[currentProgram][index]);
- }
- return "0";
- }
-
- public String getParameterLabel(int index) {
- if (index < PARAM_LABELS.length) return PARAM_LABELS[index];
- return "";
- }
-
- public String getParameterName(int index) {
- if (index < PARAM_NAMES.length) return PARAM_NAMES[index];
- return "param: " + index;
- }
-
- public int getProgram() {
- return currentProgram;
- }
-
- public String getProgramName() {
- return "program " + currentProgram;
- }
-
- public void setParameter(int index, float value) {
- programs[currentProgram][index] = value;
- }
-
- public void setProgram(int index) {
- currentProgram = index;
- }
-
- public void setProgramName(String name) {
- // TODO: ignored
- }
-
- public int getPlugCategory() {
- log("getPlugCategory");
- return PLUG_CATEG_EFFECT;
- }
-
-
- // Generate / Process the sound!
- public void processReplacing(float[][] inputs, float[][] outputs, int sampleFrames) {
- //TODO: algorithm here...
- }
-}
+//~ Formatted by Jindent --- http://www.jindent.com
diff --git a/plugins/Stuff/MIDIVSTPluginSkeleton.java b/plugins/Stuff/MIDIVSTPluginSkeleton.java
old mode 100755
new mode 100644
index 23def43..572e18d
--- a/plugins/Stuff/MIDIVSTPluginSkeleton.java
+++ b/plugins/Stuff/MIDIVSTPluginSkeleton.java
@@ -1,15 +1,15 @@
-/*
+/*
* jVSTwRapper - The Java way into VST world!
- *
- * jVSTwRapper is an easy and reliable Java Wrapper for the Steinberg VST interface.
- * It enables you to develop VST 2.4 compatible audio plugins and virtual instruments
+ *
+ * jVSTwRapper is an easy and reliable Java Wrapper for the Steinberg VST interface.
+ * It enables you to develop VST 2.4 compatible audio plugins and virtual instruments
* plus user interfaces with the Java Programming Language.
- *
- * jVSTwRapper
- * Copyright (C) 2006 Daniel Martin [daniel309@users.sourceforge.net]
+ *
+ * jVSTwRapper
+ * Copyright (C) 2006 Daniel Martin [daniel309@users.sourceforge.net]
* and many others, see CREDITS.txt
*
- * DDelay - Delay Unit
+ * DDelay - Delay Unit
* Copyright (C) 2007 Joakim Eriksson [joakime@sics.se]
*
* This library is free software; you can redistribute it and/or
@@ -28,163 +28,211 @@
*/
+
+//~--- non-JDK imports --------------------------------------------------------
+
import jvst.wrapper.VSTPluginAdapter;
-import jvst.wrapper.valueobjects.VSTEvent;
import jvst.wrapper.valueobjects.VSTEvents;
import jvst.wrapper.valueobjects.VSTMidiEvent;
public class MIDIVSTPluginSkeleton extends VSTPluginAdapter {
+ public static int NUM_PARAMS = 0x1;
+ public static String[] PARAM_LABELS = new String[] { "CC Value" };
+ public static String[] PARAM_NAMES = new String[] { "MIDI CC Value" };
+ public static float[] PARAM_PRINT_MUL = new float[] { 0x7f };
+ private int currentProgram = 0x0;
+
+ // Some default programs
+ private float[][] programs = new float[][] {
+ { 0.0f }
+ };
+
+ // cached instances --> avoid GC --> GOOD!
+ VSTMidiEvent vme = new VSTMidiEvent();
+ VSTEvents ves = new VSTEvents();
+
+ public MIDIVSTPluginSkeleton(long wrapper) {
+ super(wrapper);
+ currentProgram = 0x0;
+
+ // for compatibility, we say that we have 2 ins and outs
+ this.setNumInputs(0x2);
+ this.setNumOutputs(0x2);
+ this.canProcessReplacing(true); // mandatory for vst 2.4!
+ this.setUniqueID('j' << 0x18 | 'R' << 0x10 | 'u' << 0x8 | 'b'); // jRub
+ log("Construktor INVOKED!");
+ }
+
+ @Override
+ public int canDo(String feature) {
+
+ // the host asks us here what we are able to do
+ int ret = CANDO_NO;
+
+ if (feature.equals(CANDO_PLUG_SEND_VST_MIDI_EVENT)) {
+ ret = CANDO_YES;
+ }
+
+ if (feature.equals(CANDO_PLUG_SEND_VST_EVENTS)) {
+ ret = CANDO_YES;
+ }
+
+ if (feature.equals(CANDO_PLUG_RECEIVE_VST_EVENTS)) {
+ ret = CANDO_YES;
+ }
+
+ if (feature.equals(CANDO_PLUG_RECEIVE_VST_MIDI_EVENT)) {
+ ret = CANDO_YES;
+ }
+
+ if (feature.equals(CANDO_PLUG_MIDI_PROGRAM_NAMES)) {
+ ret = CANDO_YES;
+ }
+
+ log("Host asked canDo: " + feature + " we replied: " + ret);
+
+ return ret;
+ }
+
+ @Override
+ public String getProductString() {
+ return "product1";
+ }
+
+ @Override
+ public String getEffectName() {
+ return "midiplug";
+ }
+
+ @Override
+ public String getProgramNameIndexed(int category, int index) {
+ return "prog categ=" + category + ", idx=" + index;
+ }
+
+ @Override
+ public String getVendorString() {
+ return "http://jvstwrapper.sourceforge.net/";
+ }
+
+ @Override
+ public boolean setBypass(boolean value) {
+
+ // do not support soft bypass!
+ return false;
+ }
+
+ @Override
+ public boolean string2Parameter(int index, String value) {
+ try {
+ if (value != null) {
+ this.setParameter(index, Float.parseFloat(value));
+ }
+
+ return true;
+ } catch (Exception e) { // ignore
+ return false;
+ }
+ }
+
+ @Override
+ public int getNumParams() {
+ return NUM_PARAMS;
+ }
+
+ @Override
+ public int getNumPrograms() {
+ return programs.length;
+ }
+
+ @Override
+ public float getParameter(int index) {
+ if (index < programs[currentProgram].length) {
+ return programs[currentProgram][index];
+ }
+
+ return 0.0f;
+ }
+
+ @Override
+ public String getParameterDisplay(int index) {
+ if (index < programs[currentProgram].length) {
+ return "" + (int) (PARAM_PRINT_MUL[index] * programs[currentProgram][index]);
+ }
+
+ return "0";
+ }
+
+ @Override
+ public String getParameterLabel(int index) {
+ if (index < PARAM_LABELS.length) {
+ return PARAM_LABELS[index];
+ }
+
+ return "";
+ }
+
+ @Override
+ public String getParameterName(int index) {
+ if (index < PARAM_NAMES.length) {
+ return PARAM_NAMES[index];
+ }
+
+ return "param: " + index;
+ }
+
+ @Override
+ public int getProgram() {
+ return currentProgram;
+ }
+
+ @Override
+ public String getProgramName() {
+ return "program " + currentProgram;
+ }
+
+ @Override
+ public void setParameter(int index, float value) {
+ programs[currentProgram][index] = value;
+ }
+
+ @Override
+ public void setProgram(int index) {
+ currentProgram = index;
+ }
+
+ @Override
+ public void setProgramName(String name) {
+
+ // TODO: ignored
+ }
+
+ @Override
+ public int getPlugCategory() {
+ log("getPlugCategory");
+
+ return PLUG_CATEG_EFFECT; // TODO: maybe return categ synth here ???
+
+ // return PLUG_CATEG_SYNTH;
+ }
+
+ // Generate / Process the sound!
+ @Override
+ public void processReplacing(float[][] inputs, float[][] outputs, int sampleFrames) {
+
+ // DO NOTHING HERE
+ }
+
+ // process MIDI
+ @Override
+ public int processEvents(VSTEvents ev) {
+
+ // TODO: midi impl. here
+ // for now, all incoming MIDI is echoed
+ this.sendVstEventsToHost(ev); // simply echo all incoming events
+
+ return 0x1; // want more midi :-)
+ }
+}
- //cached instances --> avoid GC --> GOOD!
- VSTMidiEvent vme = new VSTMidiEvent();
- VSTEvents ves = new VSTEvents();
-
-
- public static int NUM_PARAMS = 1;
- public static String[] PARAM_NAMES = new String[] { "MIDI CC Value" };
- public static String[] PARAM_LABELS = new String[] { "CC Value" };
- public static float[] PARAM_PRINT_MUL = new float[] { 127 };
-
- // Some default programs
- private float[][] programs = new float[][] { { 0.0f } };
- private int currentProgram = 0;
-
- public MIDIVSTPluginSkeleton(long wrapper) {
- super(wrapper);
-
- currentProgram = 0;
-
- // for compatibility, we say that we have 2 ins and outs
- this.setNumInputs(2);
- this.setNumOutputs(2);
-
- this.canProcessReplacing(true);// mandatory for vst 2.4!
- this.setUniqueID('j' << 24 | 'R' << 16 | 'u' << 8 | 'b');// jRub
-
- log("Construktor INVOKED!");
- }
-
- public int canDo(String feature) {
- // the host asks us here what we are able to do
- int ret = CANDO_NO;
-
- if (feature.equals(CANDO_PLUG_SEND_VST_MIDI_EVENT))
- ret = CANDO_YES;
- if (feature.equals(CANDO_PLUG_SEND_VST_EVENTS))
- ret = CANDO_YES;
-
- if (feature.equals(CANDO_PLUG_RECEIVE_VST_EVENTS))
- ret = CANDO_YES;
- if (feature.equals(CANDO_PLUG_RECEIVE_VST_MIDI_EVENT))
- ret = CANDO_YES;
-
- if (feature.equals(CANDO_PLUG_MIDI_PROGRAM_NAMES)) //TODO: delete ???
- ret = CANDO_YES;
-
- log("Host asked canDo: " + feature + " we replied: " + ret);
- return ret;
- }
-
- public String getProductString() {
- return "product1";
- }
-
- public String getEffectName() {
- return "midiplug";
- }
-
- public String getProgramNameIndexed(int category, int index) {
- return "prog categ=" + category + ", idx=" + index;
- }
-
- public String getVendorString() {
- return "http://jvstwrapper.sourceforge.net/";
- }
-
- public boolean setBypass(boolean value) {
- // do not support soft bypass!
- return false;
- }
-
- public boolean string2Parameter(int index, String value) {
- try {
- if (value != null) this.setParameter(index, Float.parseFloat(value));
- return true;
- } catch (Exception e) { // ignore
- return false;
- }
- }
-
- public int getNumParams() {
- return NUM_PARAMS;
- }
-
- public int getNumPrograms() {
- return programs.length;
- }
-
- public float getParameter(int index) {
- if (index < programs[currentProgram].length)
- return programs[currentProgram][index];
- return 0.0f;
- }
-
- public String getParameterDisplay(int index) {
- if (index < programs[currentProgram].length) {
- return "" + (int) (PARAM_PRINT_MUL[index] * programs[currentProgram][index]);
- }
- return "0";
- }
-
- public String getParameterLabel(int index) {
- if (index < PARAM_LABELS.length) return PARAM_LABELS[index];
- return "";
- }
-
- public String getParameterName(int index) {
- if (index < PARAM_NAMES.length) return PARAM_NAMES[index];
- return "param: " + index;
- }
-
- public int getProgram() {
- return currentProgram;
- }
-
- public String getProgramName() {
- return "program " + currentProgram;
- }
-
- public void setParameter(int index, float value) {
- programs[currentProgram][index] = value;
- }
-
- public void setProgram(int index) {
- currentProgram = index;
- }
-
- public void setProgramName(String name) {
- // TODO: ignored
- }
-
- public int getPlugCategory() {
- log("getPlugCategory");
- return PLUG_CATEG_EFFECT; //TODO: maybe return categ synth here ???
- //return PLUG_CATEG_SYNTH;
- }
-
-
- // Generate / Process the sound!
- public void processReplacing(float[][] inputs, float[][] outputs, int sampleFrames) {
- //DO NOTHING HERE
- }
-
-
- // process MIDI
- public int processEvents(VSTEvents ev) {
- // TODO: midi impl. here
- // for now, all incoming MIDI is echoed
- this.sendVstEventsToHost(ev); //simply echo all incoming events
- return 1; // want more midi :-)
- }
-}
+//~ Formatted by Jindent --- http://www.jindent.com
diff --git a/plugins/Stuff/MockVSTHost.java b/plugins/Stuff/MockVSTHost.java
index 82e834c..37adbc6 100644
--- a/plugins/Stuff/MockVSTHost.java
+++ b/plugins/Stuff/MockVSTHost.java
@@ -1,27 +1,32 @@
-
public class MockVSTHost {
-
- //TODO: make platform aware and generalize
- private static final String NATIVE_LIB_LOCATION = "C:/@DATA/private/jvst/jvst_native/src/Release/jvstwrapper.dll";
-
-
- public static void main(String[] args) {
- //System.load(NATIVE_LIB_LOCATION);
- //JRubyVSTPluginProxy.setIsLogEnabled(true);//this only works if using JVSTPluginAdapter.java from the CVS HEAD
- //enables logging to be send directly to stdout instead of a file
-
- JRubyVSTPluginProxy._hackishInit(NATIVE_LIB_LOCATION, true); //enable logging (this creates the _java_stdout.txt file as usual)
- JRubyVSTPluginProxy p = new JRubyVSTPluginProxy(0);
- //NOTE: because 0 passed as the reference to the native counterpart of the VST plugin, all plug-->host calls
- // (e.g. this.setNumInputs(1)) are ignored. Using any other value than 0 immediately causes crashes since
- // there is no VST plugin instance at this address in memory (see VSTV10ToHost.cpp)
-
-
- //TODO: plugin init seqence here (suspend, resume, ...)
-
-
- //process some audio (host --> plug)
- p.processReplacing(new float[][]{{}}, new float[][]{{}}, 0);
- }
-
-}
\ No newline at end of file
+
+ // TODO: make platform aware and generalize
+ private static final String NATIVE_LIB_LOCATION = "C:/@DATA/private/jvst/jvst_native/src/Release/jvstwrapper.dll";
+
+ private MockVSTHost() {}
+
+ public static void main(String[] args) {
+
+ // System.load(NATIVE_LIB_LOCATION);
+ // JRubyVSTPluginProxy.setIsLogEnabled(true);//this only works if using JVSTPluginAdapter.java from the CVS HEAD
+ // enables logging to be send directly to stdout instead of a file
+ JRubyVSTPluginProxy._hackishInit(NATIVE_LIB_LOCATION, true); // enable logging (this creates the _java_stdout.txt file as usual)
+
+ JRubyVSTPluginProxy p = new JRubyVSTPluginProxy(0x0);
+
+ // NOTE: because 0 passed as the reference to the native counterpart of the VST plugin, all plug-->host calls
+ // (e.g. this.setNumInputs(1)) are ignored. Using any other value than 0 immediately causes crashes since
+ // there is no VST plugin instance at this address in memory (see VSTV10ToHost.cpp)
+
+ // TODO: plugin init seqence here (suspend, resume, ...)
+ // process some audio (host --> plug)
+ p.processReplacing(new float[][] {
+ {}
+ }, new float[][] {
+ {}
+ }, 0x0);
+ }
+}
+
+
+//~ Formatted by Jindent --- http://www.jindent.com
diff --git a/plugins/SuperSynth/RAFL_wav.rb b/plugins/SuperSynth/RAFL_wav.rb
new file mode 100644
index 0000000..2bbf234
--- /dev/null
+++ b/plugins/SuperSynth/RAFL_wav.rb
@@ -0,0 +1,506 @@
+#!/usr/bin/env ruby -wKU
+
+#
+# RAFL_wav.rb by Aaron Cohen
+#
+# RAFL - Ruby Audio File Library
+# A means of reading, analyzing, and generating audio files from within Ruby
+#
+# This library is licensed under the LGPL. See COPYING.LESSER.
+#
+#
+# TODO:
+# Fix Sine Wave Generator - experiencing significant rounding error
+# BEXT writing
+# Fix Peak & RMS calculation on 24 bit audio
+
+require 'rexml/document'
+include REXML
+
+#noinspection RubyLiteralArrayInspection
+class RiffFile
+
+ VALID_RIFF_TYPES = ['WAVE']
+ HEADER_PACK_FORMAT = "A4V"
+ AUDIO_PACK_FORMAT_16 = "s*"
+
+ #noinspection RubyResolve
+ attr_accessor :format, :found_chunks, :bext_meta, :ixml_meta, :raw_audio_data
+
+ def initialize(file, mode)
+ @file = File.open(file, mode)
+ @file.binmode
+ if mode == 'r'
+ read_chunks if riff? && VALID_RIFF_TYPES.include?(riff_type)
+ end
+ if block_given?
+ yield self
+ close
+ end
+ end
+
+ def close
+ @file.close
+ end
+
+ def riff?
+ @file.seek(0)
+ riff, @file_end = read_chunk_header
+ true if riff == 'RIFF'
+ end
+
+ def riff_type
+ if riff?
+ @file.seek(8)
+ @file.read(4)
+ end
+ end
+
+ def read_chunks
+ @found_chunks = []
+ while @file.tell < @file_end
+ @file.seek(@file.tell + @file.tell % 2) #adds padding if last chunk was an odd length
+ chunk_name, chunk_length = read_chunk_header
+ chunk_position = @file.tell
+ identify_chunk(chunk_name, chunk_position, chunk_length)
+ @file.seek(chunk_position + chunk_length)
+ end
+ end
+
+ def read_chunk_header
+ @file.read(8).unpack(HEADER_PACK_FORMAT)
+ end
+
+ def identify_chunk(chunk_name, chunk_position, chunk_length)
+ @found_chunks << chunk_name
+ case chunk_name
+ when 'fmt' then
+ process_fmt_chunk(chunk_position, chunk_length)
+ when 'bext' then
+ process_bext_chunk(chunk_position, chunk_length)
+ when 'data' then
+ process_data_chunk(chunk_position, chunk_length)
+ when 'iXML' then
+ process_ixml_chunk(chunk_position, chunk_length)
+ else
+ # type code here
+ end
+ end
+
+ def process_fmt_chunk(chunk_position, chunk_length)
+ @file.seek(chunk_position)
+ @format = WaveFmtChunk.new(@file.read(chunk_length))
+ end
+
+ def process_bext_chunk(chunk_position, chunk_length)
+ @file.seek(chunk_position)
+ @bext_meta = BextChunk.new(@file.read(chunk_length))
+ end
+
+ def process_data_chunk(chunk_position, chunk_length)
+ @data_begin, @data_end = chunk_position, chunk_position + chunk_length
+ #@file.seek(chunk_position)
+ #@raw_audio_data = []
+ #for sample in (0..total_samples)
+ # @raw_audio_data << read_sample(sample)
+ #end
+ end
+
+ def process_ixml_chunk(chunk_position, chunk_length)
+ @file.seek(chunk_position)
+ @ixml_meta = IxmlChunk.new(@file.read(chunk_length))
+ end
+
+ def unpack_samples(samples, bit_depth)
+ if bit_depth == 24
+ #return samples.scan(/.../).map {|s| (s.reverse + 0.chr ).unpack("V")}.flatten
+ samples.scan(/.../).map { |s| (s + 0.chr).unpack("V") }.flatten
+ else
+ samples.unpack(AUDIO_PACK_FORMAT_16)
+ end
+ end
+
+ def pack_samples(samples, bit_depth)
+ if bit_depth == 24
+ samples.map { |s| [s].pack("VX") }.join
+ else
+ samples.pack(AUDIO_PACK_FORMAT_16)
+ end
+ end
+
+ def read_sample(sample_number, channel) #returns an individual sample value
+
+ @file.seek(@data_begin + (sample_number * @format.block_align) + (channel * (@format.block_align / @format.num_channels)))
+
+ @file.read(@format.block_align / @format.num_channels)
+
+ #return sample_array
+ end
+
+ def simple_read #returns all sample values for entire file
+ @file.seek(@data_begin)
+ #@file.read(@data_end - @data_begin).unpack(@audio_pack_format)#.join.to_i
+ unpack_samples(@file.read(@data_end - @data_begin), @format.bit_depth)
+ end
+
+ def read_samples_by_channel(channel) #returns all of the sample values for a single audio channel
+ samples = []
+ (0..total_samples).each { |sample|
+ samples << read_sample(sample, channel)
+ }
+ #samples.collect! { |samp| sample.unpack(@audio_pack_format).join.to_i } #bug, should be samp.unpack?
+ samples.collect! { |samp| unpack_samples(samp, @format.bit_depth).join.to_i }
+ samples
+ end
+
+ def write(channels, sample_rate, bit_depth, audio_data) #writes to audio file
+ write_riff_type
+ write_fmt_chunk(channels, sample_rate, bit_depth)
+ write_data_chunk audio_data #channels==1 ? [[*audio_data]] : audio_data
+ write_riff_header
+ end
+
+ def write_riff_header
+ @file.seek(0)
+ @file.print(["RIFF", @file_end].pack(HEADER_PACK_FORMAT))
+ end
+
+ def write_riff_type
+ @file.seek(8)
+ @file.print(["WAVE"].pack("A4"))
+ end
+
+ def write_fmt_chunk(num_channels, sample_rate, bit_depth)
+ @file.seek(12)
+ @write_format = WaveFmtChunk.new
+ @write_format.audio_format = 1
+ @write_format.num_channels = num_channels
+ @write_format.bit_depth = bit_depth
+ @write_format.set_sample_rate(sample_rate)
+
+ @file.print(["fmt ", 16].pack(HEADER_PACK_FORMAT)) # the 16 here means PCM, not bit depth
+ @file.print(@write_format.pack_header_data)
+ end
+
+ def write_data_chunk(audio_data)
+ data_chunk_begin = @file.tell
+ @file.seek(8, IO::SEEK_CUR)
+ @data_begin = @file.tell
+
+ #interleave arrays
+ if @write_format.num_channels > 1 && audio_data.length > 1
+ interleaved_audio_data = audio_data[0].zip(*audio_data[1..-1]).flatten
+ else
+ interleaved_audio_data = audio_data[0]
+ end
+
+ puts interleaved_audio_data.length
+ interleaved_audio_data.each_index do |sample|
+ if interleaved_audio_data[sample].nil?
+ puts "Sample number #{sample.to_s} is nil"
+ end
+ end
+
+ @file.print(pack_samples(interleaved_audio_data, @write_format.bit_depth))
+ @data_end = @file.tell
+ @file_end = @file.tell
+ @file.seek(data_chunk_begin)
+ @file.print(["data", @data_end - @data_begin].pack(HEADER_PACK_FORMAT))
+ end
+
+ def duration
+ (@data_end - @data_begin) / @format.byte_rate
+ end
+
+ def total_samples
+ (@data_end - @data_begin) / @format.block_align
+ end
+end
+
+class WaveFmtChunk
+
+ attr_accessor :audio_format, :num_channels,
+ :sample_rate, :byte_rate,
+ :block_align, :bit_depth
+
+ PACK_FMT = "vvVVvv"
+
+ def initialize(*binary_data)
+ unpack_header_data(binary_data[0]) if !binary_data.empty?
+ end
+
+ def unpack_header_data(binary_data)
+ @audio_format, @num_channels,
+ @sample_rate, @byte_rate,
+ @block_align, @bit_depth = binary_data.unpack(PACK_FMT)
+ end
+
+ def pack_header_data
+ [@audio_format, @num_channels,
+ @sample_rate, @byte_rate,
+ @block_align, @bit_depth].pack(PACK_FMT)
+ end
+
+ def set_sample_rate(rate)
+ @byte_rate = calc_byte_rate(rate)
+ @sample_rate = rate
+ @block_align = calc_block_align
+ end
+
+ def calc_block_align
+ @num_channels * (@bit_depth)
+ end
+
+ def calc_byte_rate(sample_rate, num_channels = @num_channels, bit_depth = @bit_depth)
+ sample_rate * num_channels * (bit_depth / 8)
+ end
+
+end
+
+#noinspection ALL
+class BextChunk
+
+ attr_accessor :description, :originator, :originator_reference, :origination_date, :origination_time,
+ :time_reference, :version, :umid, :reserved, :coding_history
+
+ PACK_FMT = "A256A32A32A10A8QvB64A190M*"
+
+ def initialize(*binary_data)
+ unpack_bext_data(binary_data[0]) if !binary_data.empty?
+ end
+
+ def unpack_bext_data(binary_data)
+ @description, @originator, @originator_reference, @origination_date, @origination_time,
+ @time_reference, @version, @umid, @reserved, @coding_history = binary_data.unpack(PACK_FMT)
+ end
+
+ def calc_time_offset(sample_rate)
+ time = @time_reference / sample_rate
+ [time/3600, time/60 % 60, time % 60].map { |t| t.to_s.rjust(2, '0') }.join(':')
+ end
+end
+
+#noinspection ALL,RubyUnusedLocalVariable
+class IxmlChunk
+ #see http://www.gallery.co.uk/ixml/object_Details.html
+
+ attr_accessor :raw_xml #, :ixml_version,
+ # :project, :scene, :take, :tape, :circled, :no_good, :false_start,
+ # :wild_track, :file_uid, :ubits, :note,
+ #
+ # :sync_point_count, :sync_points,
+ #
+ # :speed_note, :speed_master, :speed_current, :speed_timecode_rate, :speed_timecode_flag,
+ # :speed_file_sample_rate, :speed_bit_depth, :speed_digitizer_sample_rate,
+ # :speed_timestamp_samples_since_midnight, :speed_timestamp_sample_rate,
+ #
+ # :history_original_filename, :history_parent_filename, :history_parent_uid,
+ #
+ # :fileset_total_files, :fileset_family_uid, :fileset_family_name, :fileset_index,
+ #
+ # :tracklist_count, :tracklist_tracks,
+ #
+ # :dep_pre_record_samplecount,
+ #
+ # :bwf_description, :bwf_originator, :bwf_originator_reference, :bwf_origination_date,
+ # :bwf_origination_time, :bwf_time_reference, :bwf_version, :bwf_umid, :bwf_reserved, :bwf_coding_history,
+ #
+ # :user
+
+ PACK_FMT = "a*"
+
+ def initialize(*binary_data)
+ unpack_ixml_data(binary_data[0]) if !binary_data.empty?
+ end
+
+ def unpack_ixml_data(binary_data)
+ @raw_xml = Document.new(binary_data.unpack(PACK_FMT)[0])
+ #read_xml_values
+ end
+
+ #noinspection RubyInstanceVariableNamingConvention
+ def read_xml_values #not in use, looking for a better way
+ bwfxml = @raw_xml.elements["BWFXML"]
+
+ @ixml_version = bwfxml.elements["IXML_VERSION"].text
+ @project = bwfxml.elements["PROJECT"].text
+ @scene = bwfxml.elements["SCENE"].text
+ @take = bwfxml.elements["TAKE"].text
+ @tape = bwfxml.elements["TAPE"].text
+ @circled = bwfxml.elements["CIRCLED"].text
+ @file_uid = bwfxml.elements["FILE_UID"].text
+ @ubits = bwfxml.elements["UBITS"].text
+ @note = bwfxml.elements["NOTE"].text
+
+ @speed_note = bwfxml.elements["SPEED"].elements["NOTE"].text
+ @speed_master = bwfxml.elements["SPEED"].elements["MASTER_SPEED"].text
+ @speed_current = bwfxml.elements["SPEED"].elements["CURRENT_SPEED"].text
+ @speed_timecode_rate = bwfxml.elements["SPEED"].elements["TIMECODE_RATE"].text
+ @speed_timecode_flag = bwfxml.elements["SPEED"].elements["TIMECODE_FLAG"].text
+
+ @history_original_filename = bwfxml.elements["HISTORY"].elements["ORIGINAL_FILENAME"].text
+ @history_parent_filename = bwfxml.elements["HISTORY"].elements["PARENT_FILENAME"].text
+ @history_parent_uid = bwfxml.elements["HISTORY"].elements["PARENT_UID"].text
+
+ @fileset_total_files = bwfxml.elements["FILE_SET"].elements["TOTAL_FILES"].text
+ @fileset_family_uid = bwfxml.elements["FILE_SET"].elements["FAMILY_UID"].text
+ @fileset_family_name = bwfxml.elements["FILE_SET"].elements["FAMILY_NAME"].text
+ @fileset_index = bwfxml.elements["FILE_SET"].elements["FILE_SET_INDEX"].text
+
+ @tracklist_count, @tracklist_tracks = read_tracklist
+
+ @bwf_description = bwfxml.elements["BEXT"].elements["BWF_DESCRIPTION"].text
+ @bwf_originator = bwfxml.elements["BEXT"].elements["BWF_ORIGINATOR"].text
+ @bwf_originator_reference = bwfxml.elements["BEXT"].elements["BWF_ORIGINATOR_REFERENCE"].text
+ @bwf_origination_date = bwfxml.elements["BEXT"].elements["BWF_ORIGINATION_DATE"].text
+ @bwf_origination_time = bwfxml.elements["BEXT"].elements["BWF_ORIGINATION_TIME"].text
+ @bwf_time_reference = bwfxml.elements["BEXT"].elements["BWF_TIME_REFERENCE_HIGH"].text + bwfxml.elements["BEXT"].elements["BWF_TIME_REFERENCE_LOW"].text
+ @bwf_version = bwfxml.elements["BEXT"].elements["BWF_VERSION"].text
+ @bwf_umid = bwfxml.elements["BEXT"].elements["BWF_UMID"].text
+ @bwf_reserved = bwfxml.elements["BEXT"].elements["BWF_RESERVED"].text
+ @bwf_coding_history = bwfxml.elements["BEXT"].elements["BWF_CODING_HISTORY"].text
+
+ @user = bwfxml.elements["USER"].text
+
+ #iXML 1.52
+ if @ixml_version >= "1.52"
+ @no_good = bwfxml.elements["NO_GOOD"].text
+ @false_start = bwfxml.elements["FALSE_START"].text
+ @wild_track = bwfxml.elements["WILD_TRACK"].text
+
+ #iXML 1.5
+ elsif @ixml_version >= "1.5"
+ #iXML Readers should ignore this information and instead take the data from the official fmt and bext chunks in the file
+ #Generic utilities changing file data might change the fmt or bxt chunk but not update the iXML SPEED tag, and for EBU officially specified BWF data like timestamp, the EBU data takes precedence (unlike the unofficial informal bext metadata which is superceded by iXML)
+ @speed_file_sample_rate = bwfxml.elements["SPEED"].elements["FILE_SAMPLE_RATE"].text
+ @speed_bit_depth = bwfxml.elements["SPEED"].elements["AUDIO_BIT_DEPTH"].text
+ @speed_digitizer_sample_rate = bwfxml.elements["SPEED"].elements["DIGITIZER_SAMPLE_RATE"].text
+ @speed_timestamp_samples_since_midnight = bwfxml.elements["SPEED"].elements["TIMESTAMP_SAMPLES_SINCE_MIDNIGHT_HI"].text + bwfxml.elements["SPEED"].elements["TIMESTAMP_SAMPLES_SINCE_MIDNIGHT_HI"].text
+ @speed_timestamp_sample_rate = bwfxml.elements["SPEED"].elements["TIMESTAMP_SAMPLE_RATE"].text
+
+ #iXML 1.4
+ elsif @ixml_version >= "1.4"
+ @sync_point_count, @sync_points = read_sync_points
+
+ #iXML 1.3
+ elsif @ixml_version == "1.3"
+ @dep_pre_record_samplecount = read_pre_record_samplecount
+ end
+ end
+
+ def read_sync_points
+ #TODO
+ end
+
+ def read_tracklist
+ #TODO
+ end
+
+ def read_pre_record_samplecount
+ #TODO
+ end
+
+ def translate_frame_rates(frame_rate)
+ #TODO
+ end
+end
+
+
+#####################
+# Standalone methods
+#####################
+
+def calc_rms(audio_samples, format)
+ #squaresum = 0
+ #audio_samples.each { |value| squaresum += (value ** 2) }
+ #sample_rms = Math.sqrt(squaresum / audio_samples.length)
+ sample_rms = Math.sqrt((audio_samples.inject { |sum, item| sum + (item ** 2) }) / audio_samples.length)
+
+ calc_dbfs(sample_rms, format.bit_depth)
+end
+
+def calc_peak(audio_samples, format)
+ calc_dbfs(audio_samples.max.to_f, format.bit_depth)
+end
+
+def calc_dbfs(sample_value, bit_depth)
+ range = (2 ** bit_depth) / 2
+ (20*Math.log10(sample_value.to_f / range)).round_to(2)
+end
+
+def calc_sample_value(dbfs_value, bit_depth)
+ range = (2 ** bit_depth / 2)
+ (range * Math::E ** (1/20.0 * dbfs_value * (Math.log(2) + Math.log(5)))) - 1
+end
+
+def generate_white_noise(length_secs, peak_db, sample_rate, bit_depth)
+ num_samples = (length_secs * sample_rate).to_i
+ peak_samples = calc_sample_value(peak_db, bit_depth)
+ output = []
+ num_samples.times do
+ output << (rand(65536) - 32768) * peak_samples
+ end
+ output
+end
+
+#noinspection RubyUnusedLocalVariable
+def generate_pink_noise(length_secs, peak_db, sample_rate, bit_depth)
+ num_samples = (length_secs * sample_rate).to_i
+ peak_samples = calc_sample_value(peak_db, bit_depth)
+ output = []
+ amplitude_scaling = [3.8024, 2.9694, 2.5970, 3.0870, 3.4006]
+ update_probability = [0.00198, 0.01280, 0.04900, 0.17000, 0.68200]
+ probability_sum = [0.00198, 0.01478, 0.06378, 0.23378, 0.91578]
+
+ contributed_values = [0, 0, 0, 0, 0]
+
+ num_samples.times do
+
+ ur1 = rand
+ 5.times do |stage|
+ if ur1 <= probability_sum[stage]
+ ur2 = rand
+ contributed_values[stage] = 2 * (ur2 - 0.5) * amplitude_scaling[stage]
+ break
+ end
+ end
+
+ sample = contributed_values.inject(0) { |sum, item| sum + item }
+
+ output << sample
+ end
+
+ scale_amount = peak_samples / output.max
+ output.map! { |item| (item * scale_amount).round_to(0).to_i }
+
+ output
+end
+
+def generate_sine_wave(length_secs, peak_db, freq, sample_rate, bit_depth) #defective...drifts over time - rounding error?
+ peak_samples = calc_sample_value(peak_db, bit_depth)
+ output = []
+ period = 1.0 / freq
+ angular_freq = (2 * Math::PI) / period
+
+ time = 0
+ while time <= length_secs do
+ output << (Math.sin(angular_freq * time) * peak_samples).round_to(0).to_i
+ time += (1.0 / sample_rate)
+ end
+ output.slice(0..-2) #kludge...need to pick this apart to find extra sample
+end
+
+
+class Float
+ def round_to(x)
+ (self * 10**x).round.to_f / 10**x
+ end
+
+ def ceil_to(x)
+ (self * 10**x).ceil.to_f / 10**x
+ end
+
+ def floor_to(x)
+ (self * 10**x).floor.to_f / 10**x
+ end
+end
diff --git a/plugins/SuperSynth/SuperSynth.rb b/plugins/SuperSynth/SuperSynth.rb
new file mode 100644
index 0000000..1035108
--- /dev/null
+++ b/plugins/SuperSynth/SuperSynth.rb
@@ -0,0 +1,121 @@
+include_class 'IRBPluginGUI'
+
+#noinspection RubyResolve
+class SuperSynthGUI
+ attr_reader :frame, :plugin
+
+ def initialize(plugin, frame)
+ @frame = frame
+ @plugin = plugin
+
+ # spawn and attach an IRB session alongside the plugin GUI
+ # (stdout (puts, etc.) is redirected to the IRB session
+ # irb = IRBPluginGUI.new(JRuby.runtime) # comment out if you are done debugging
+
+
+ frame.setTitle("SuperSynth GUI")
+ frame.setSize(200, 120)
+ end
+
+ # Check RubyGain for a more elaborate GUI example
+end
+
+require 'phasor'
+
+#noinspection ALL
+class SuperSynth < OpazPlug
+ editor SuperSynthGUI
+
+ # plugin "plugin-name", "product-name", "vendor-name"
+ plugin "SuperSynth", "SuperSynth", "jVSTwRapper"
+
+ can_do "receiveVstEvents", "receiveVstMidiEvent"
+ #noinspection RubyInstanceMethodNamingConvention
+ def getPlugCategory
+ VSTPluginAdapter.PLUG_CATEG_SYNTH
+ end
+
+ unique_id "OWSS"
+
+
+ param :gain, "Gain", 0.8 #, "dB"
+
+ def initialize wrapper, opts={:bus => "0x1", :synth => true}
+ super wrapper
+ log "Booting #{getEffectName}:#{getProductString}:#{getVendorString}\n with opts=#{opts.inspect}"
+ opts[:in], opts[:out] = opts[:bus].split("x").map(&:to_i) if opts[:bus]
+ opts = {:in => 1, :out => 1}.merge(opts)
+ setNumInputs opts[:in]
+ setNumOutputs opts[:out]
+ canProcessReplacing(true)
+ setUniqueID(unique_id)
+ if opts[:synth]
+ isSynth(@synth = true)
+ # suspend
+ end
+
+ @osc = Phasor.new(@@samplerate)
+ canProcessReplacing(true);
+ end
+
+ #noinspection RubyInstanceMethodNamingConvention
+ def setSampleRate(srate)
+ super
+ self.sampleRate = srate
+ end
+
+ #noinspection RubyClassMethodNamingConvention
+ def self.sampleRate= srate
+ #noinspection RubyClassVariableNamingConvention
+ @@sampleRate = srate
+ end
+
+ #noinspection RubyClassMethodNamingConvention
+ def self.sampleRate
+ # VSTTimeInfo time = this.getTimeInfo(VSTTimeInfo.VST_TIME_AUTOMATION_READING|VSTTimeInfo.VST_TIME_AUTOMATION_WRITING|VSTTimeInfo.VST_TIME_CLOCK_VALID|VSTTimeInfo.VS
+ # tempo = time.getTempo();
+ # samplePos = time.getSamplePos();
+ # sampleRate = time.getSampleRate();
+ @@sampleRate
+ end
+
+
+ # TODO: move this to Java/Mirah
+ #noinspection RubyInstanceMethodNamingConvention
+ def processReplacing(inputs, outputs, sampleFrames)
+ # inBuffer, outBuffer = inputs[0], outputs[0]
+ outBuffer = outputs[0]
+ if @silence
+ outBuffer.fill(0, 0...sampleFrames)
+ else
+ sampleFrames.times do |i|
+ outBuffer[i] = 0.99 * gain * @amp * @osc.tick()
+ end
+ end
+ end
+
+
+ #noinspection RubyInstanceMethodNamingConvention,RubyInstanceMethodNamingConvention
+ def processEvents(events)
+ Midi.process(events) do |type, note, velocity, delta|
+ case type
+ when :all_notes_off
+ log "all notes off"
+ @silence = true
+ when :note_on
+ if velocity.zero? && note == @currentNote
+ log "note on zero"
+ @silence = true
+ else
+ log "note on"
+ @silence = false
+ @osc.freq = Midi.krystal_freq(note) # .note_to_freq(note)
+ @amp = velocity / 127.0
+ @delta = delta # TODO ???
+ end
+ end
+ end
+ 1 # want more
+ end
+
+end
diff --git a/plugins/SuperSynth/dsp.rb b/plugins/SuperSynth/dsp.rb
new file mode 100644
index 0000000..cc81bab
--- /dev/null
+++ b/plugins/SuperSynth/dsp.rb
@@ -0,0 +1,94 @@
+# see also /Users/dfl/projects/dsptest/FastMath.h
+require 'matrix'
+require './RAFL_wav'
+
+module Dsp
+ PI_2 = 0.5*Math::PI
+ TWO_PI = 2.0*Math::PI
+ SQRT2 = Math.sqrt(2)
+ SQRT2_2 = 0.5*Math.sqrt(2)
+
+ extend self
+
+ def noise
+ bipolar(random)
+ end
+
+ def random
+ rand # Random.rand
+ end
+
+ def bipolar (x)
+ 2.0*x - 1.0
+ end
+
+ def xfade(a, b, x)
+ (b-a)*x + a
+ end
+
+ def clamp (x, min, max)
+ [min, x, max].sort[1]
+ end
+
+ def to_wav(gen, seconds, filename=nil)
+ filename ||= "#{gen.class}.wav"
+ filename += ".wav" unless filename =~ /\.wav^/i
+ RiffFile.new(filename, "wb+") do |wav|
+ data = gen.ticks(gen.sampleRate * seconds)
+ rescale = calc_sample_value(-0.5, 16) / data.max # normalize to -0.5dBfs
+ data.map! { |d| (d*rescale).round.to_f.to_i }
+ wav.write(1, gen.sampleRate, 16, [data])
+ end
+ end
+
+ class LookupTable # linear interpolated, input goes from 0 to 1
+ def initialize (bits=7)
+ @size = 2 ** bits
+ scale = 1.0 / (@size)
+ @table = (0..@size).map { |x| yield(scale * x) }
+ end
+
+ def [](arg) # from 0 to 1
+ offset = arg * @size
+ idx = offset.floor
+ frac = offset - idx
+ return @table.last if idx >= @size
+ Dsp.xfade(@table[idx], @table[idx+1], frac)
+ end
+ end
+
+end
+
+
+module ArrayExtensions
+ def full_of(val, num)
+ [].fill(val, 0...num)
+ end
+
+ def zeros (num)
+ full_of(0, num)
+ end
+end
+
+Array.send :extend, ArrayExtensions
+
+# module VectorExtensions
+# def full_of(val,num)
+# Vector[ *Array.full_of(val,num) ]
+# end
+# end
+#
+# Vector.send :extend, VectorExtensions
+
+
+# test LUT
+# require './dsp'
+#
+# def calc_detune x
+# 1.0 - (1.0-x) ** 0.2
+# end
+#
+# @@detune = Dsp::LookupTable.new{|x| calc_detune(x) }
+#
+# @@detune[0]
+# @@detune[1]
diff --git a/plugins/SuperSynth/midi.rb b/plugins/SuperSynth/midi.rb
new file mode 100644
index 0000000..72abb10
--- /dev/null
+++ b/plugins/SuperSynth/midi.rb
@@ -0,0 +1,35 @@
+#noinspection ALL
+module Midi
+ extend self
+ #noinspection RubyConstantNamingConvention
+ A = 432.0
+
+ def note_to_freq(note, a = A) # equal tempered
+ a * 2.0**((note-69)/12.0)
+ end
+
+ def process(events)
+ events.get_events().each do |event|
+ next unless event.getType == VSTEvent::VST_EVENT_MIDI_TYPE
+ midiData = event.getData
+ channel = midiData[0] & 0x0f # is this correct??
+
+ case status = midiData[0] & 0xf0 # ignore channel
+ when 0x90, 0x80
+ note = midiData[1] & 0x7f # we only look at notes
+ velocity = (status == 0x80) ? 0 : midiData[2] & 0x7f
+ yield :note_on, note, velocity, event.getDeltaFrames
+ when 0xb0
+ yield :all_notes_off if [0x7e, 0x7b].include?(midiData[1])
+ end
+ end
+ end
+
+ KRYSTAL = [256.0, 272.0, 288.0, 305.0, 320.0, 1024.0/3, 360.0, 384.0, 405.0, 432.0, 455.1, 480.0]
+
+ def krystal_freq(note)
+ KRYSTAL[note % 12] * 2.0**(note / 12 - 5)
+ end
+
+end
+
diff --git a/plugins/SuperSynth/phasor.rb b/plugins/SuperSynth/phasor.rb
new file mode 100644
index 0000000..b68e134
--- /dev/null
+++ b/plugins/SuperSynth/phasor.rb
@@ -0,0 +1,145 @@
+# TODO: convert to mirah
+require './midi'
+require './dsp'
+
+#noinspection ALL
+class AudioDSP
+ @@srate = 44.1e3
+ @@inv_srate = 1.0 / @@srate
+
+ #noinspection RubyClassMethodNamingConvention
+ def self.sampleRate
+ @@srate
+ end
+
+ #noinspection RubyClassMethodNamingConvention
+ def self.sampleRate= srate
+ @@srate = srate
+ @@inv_srate = 1.0 / @@srate
+ end
+
+ #noinspection RubyInstanceMethodNamingConvention
+ def sampleRate
+ @@srate
+ end
+
+end
+
+class Generator < AudioDSP
+ def tick
+ raise "not implemented!"
+ end
+
+ def ticks (samples)
+ (1..samples).map { tick }
+ end
+end
+
+#noinspection RubyResolve
+class Oscillator < Generator
+ attr_accessor :freq
+ DEFAULT_FREQ = Midi::A / 2
+
+ def initialize (freq=DEFAULT_FREQ)
+ self.freq = freq
+ self
+ end
+end
+
+#noinspection RubyClassVariableUsageInspection
+class Phasor < Oscillator
+ attr_accessor :phase
+
+ OFFSET = {true => 0.0, false => 1.0} # branchless trick from Urs Heckmann
+
+ def initialize(freq = DEFAULT_FREQ, phase = Dsp.noise)
+ @phase = phase
+ super freq
+ end
+
+ def tick
+ @phase += @inc # increment
+ @phase -= OFFSET[@phase <= 1.0] # wrap
+ end
+
+ def freq= (arg)
+ @freq = arg
+ @inc = @freq * @@inv_srate
+ end
+end
+
+
+class PhasorOscillator < Oscillator
+ def initialize(freq = DEFAULT_FREQ, phase=0)
+ @phasor = Phasor.new(srate, phase)
+ super srate
+ end
+
+ def freq= (arg)
+ @phasor.freq = arg
+ super
+ end
+
+ def phase= (arg)
+ @phasor.phase = Dsp.clamp(arg, 0.0, 1.0)
+ end
+
+ def phase
+ @phasor.phase
+ end
+
+ def tock
+ @phasor.phase.tap { @phasor.tick }
+ end
+end
+
+class Tri < PhasorOscillator
+ FACTOR = {true => 1.0, false => -1.0}
+
+ def tick
+ idx = phase < 0.5
+ 4*(FACTOR[idx]*tock + Phasor::OFFSET[idx]) - 1
+ end
+end
+
+class Pulse < PhasorOscillator
+ FACTOR = {true => 1.0, false => -1.0}
+
+ def initialize(freq=DEFAULT_FREQ, phase=0)
+ @duty = 0.5
+ super
+ end
+
+ def duty= (arg)
+ @duty = Dsp.clamp(arg, 0.0, 1.0)
+ end
+
+ def tick
+ FACTOR[tock <= @duty]
+ end
+end
+
+#noinspection RubyResolve
+class RpmSaw < PhasorOscillator
+ def initialize(freq=MIDI::A, phase=0)
+ @beta = 1.0
+ @state = @last_out = 0
+ super
+ end
+
+ def beta= (arg)
+ @beta = Dsp.clamp(arg, 0.0, 2.0)
+ end
+
+ def tick
+ @state = 0.5*(@state + @last_out) # one-pole averager
+ @last_out = Math.sin(Dsp::WO_PI * tock + @beta * @state)
+ end
+end
+
+class RpmSquare < RpmSaw
+ def tick
+ @state = 0.5*(@state + @last_out*@last_out) # one-pole averager, squared
+ @last_out = Math.sin(Dsp::TWO_PI * tock - @beta * @state)
+ end
+end
\ No newline at end of file
diff --git a/plugins/SuperSynth/phasor.rb.simple b/plugins/SuperSynth/phasor.rb.simple
new file mode 100644
index 0000000..eb2f80b
--- /dev/null
+++ b/plugins/SuperSynth/phasor.rb.simple
@@ -0,0 +1,45 @@
+# TODO: move to java
+require './midi'
+
+
+class Phasor
+ attr_accessor :phase
+
+ def freq
+ @freq
+ end
+
+ def freq= freq
+ @freq = freq
+ @inc = @freq * @inv_srate
+ end
+
+ def initialize( srate=44.1e3, phase = Dsp.noise ) # srate== OpazPlug.sampleRate )
+ @inv_srate = 1.0 / srate
+ @phase = phase
+ self.freq = Midi::A
+ end
+
+ OFFSET = { true => 0.0, false => 1.0 } # branchless trick from Urs Heckmann
+
+ def tick
+ @phase += @inc # increment
+ @phase -= OFFSET[ @phase <= 1.0 ] # wrap
+ end
+
+ def ticks times
+ (1..times).map{ tick }
+ end
+
+end
+
+
+module Dsp
+ extend self
+
+ def noise
+ 2 * Random.rand - 1
+ end
+
+end
+
\ No newline at end of file
diff --git a/plugins/SuperSynth/polyphonic_synth.rb b/plugins/SuperSynth/polyphonic_synth.rb
new file mode 100644
index 0000000..0718eae
--- /dev/null
+++ b/plugins/SuperSynth/polyphonic_synth.rb
@@ -0,0 +1,106 @@
+require 'matrix'
+require './dsp'
+require './midi'
+require './phasor'
+
+class PolyphonicSynth
+ #noinspection RubyResolve,RubyUnusedLocalVariable
+ class Voice
+ # attr_accessor :note #, :velocity, :delta
+
+ def initialize(voicer, synth, opts={})
+ @voicer = voicer
+ @synth = synth.new(opts[:srate]) #, opts TODO: pass self for stop callback
+ self
+ end
+
+ def tick
+ @synth.tick
+ end
+
+ def ticks (samples)
+ if @delta > 0
+ @delta -= samples if @delta >= samples
+ output = Array.zeros(@delta)
+ zeros(@delta) + (@delta+1..samples).map { @synth.tick }
+ else
+ (1..samples).map { @synth.tick }
+ end
+ end
+
+ def play(note, velocity, delta=0)
+ @note, @velocity, @delta = note, velocity, delta
+ @synth.freq = Midi.note_to_freq(note)
+ @synth.trigger(:attack)
+ self
+ end
+
+ def release
+ @synth.trigger(:release)
+ end
+
+ def stop # TODO: call this when synth release envelope stops
+ @voicer.free_voice self
+ end
+ end
+ #noinspection RubyResolve
+ attr_accessor :srate
+
+ def initialize (synth, num_voices=8, synth_opts={})
+ synth_opts = {:srate => 44.1e3}.merge!(synth_opts)
+ @voice_scaling = (1..num_voices).map { |i| 1.0 / Math.sqrt(i) } # lookup table
+ @voice_pool = (1..num_voices).map { Voice.new(self, synth, synth_opts) }
+ @notes_playing = {}
+ end
+
+ def all_notes_off
+ active_voices.each(&:stop)
+ @notes_playing = {}
+ end
+
+ def note_on (note, velocity=100, delta=0)
+ return note_off(note) if velocity.zero?
+ voice = @notes_playing.delete[note] || allocate_voice
+ @notes_playing[note] = voice.play(note, velocity, delta)
+ end
+
+ def note_off (note)
+ #noinspection RubyResolve
+ @notes_playing[note].try(&:release)
+ end
+
+ def free_voice (voice)
+ #noinspection RubyResolve
+ if voice == @notes_playing.delete(note) # return to pool if playing
+ @voice_pool << voice
+ end
+ @voice = voice
+ end
+
+ def tick
+ voices = active_voices
+ @voice_scaling[voices.count] * voices.inject(0) { |sum, voice| sum + voice.tick }
+ end
+
+ def ticks (samples)
+ voices = active_voices
+ zeros = Vector[*Array.zeros(samples)]
+ output = voices.inject(zeros) { |sum, voice| sum + voice.ticks(samples) }
+ (@voice_scaling[voices.count] * output).to_a
+ end
+
+ private
+
+ def allocate_voice
+ @voice_pool.pop || steal_voice
+ end
+
+ def steal_voice # FIXME: we might need a fade out to prevent clicks here?
+ active_voices.sort_by(&:delta).first
+ end
+
+ def active_voices
+ @notes_playing.values
+ end
+
+end
\ No newline at end of file
diff --git a/plugins/SuperSynth/super_saw.rb b/plugins/SuperSynth/super_saw.rb
new file mode 100644
index 0000000..34f60c8
--- /dev/null
+++ b/plugins/SuperSynth/super_saw.rb
@@ -0,0 +1,208 @@
+require './phasor'
+#require './dsp'
+
+class Processor < AudioDSP
+ def tick(s)
+ raise "not implemented!"
+ end
+
+ def ticks (inputs)
+ inputs.map { |s| tick(s) }
+ end
+
+end
+
+#noinspection ALL
+class Biquad < Processor
+ def initialize(a=[1.0, 0, 0], b=[1.0, 0, 0], norm=false)
+ update(Vector[*a], Vector[*b])
+ normalize if norm
+ clear
+ self
+ end
+
+ def clear
+ @input = [0, 0, 0]
+ @output = [0, 0, 0]
+ stop_interpolation
+ end
+
+ #noinspection RubyInstanceVariableNamingConvention
+ def update a, b
+ @_a, @_b = @a, @b
+ @a, @b = a, b
+ interpolate if interpolating?
+ end
+
+ def normalize # what about b0 (gain)
+ inv_a0 = 1.0/a0
+ @a *= inv_a0
+ @b *= inv_a0
+ end
+
+ def stop_interpolation
+ @_a = @_b = nil
+ end
+
+ def interpolate # TODO: interpolate over VST sample frame ?
+ @interp_period = (@@srate * 1e-3).floor # 1ms
+ t = 1.0 / @interp_period
+ @delta_a = (@a - @_a) * t
+ @delta_b = (@b - @_b) * t
+ @interp_ticks = 0
+ end
+
+ def interpolating?
+ @_a && @_b
+ end
+
+ def tick input
+ if interpolating? # process with interpolated state
+ @_a += @delta_a
+ @_b += @delta_b
+ process(input, @_a, @_b).tap do
+ stop_interpolation if (@interp_ticks += 1) >= @interp_period
+ end
+ else
+ process(input)
+ end
+ end
+
+ def process input, a=@a, b=@b # default to normal state
+ output = a[0]*input + a[1]*@input[1] + a[2]*@input[2]
+ output -= b[1]*@output[1] + b[2]*@output[2]
+ @input[2] = @input[1]
+ @input[1] = input
+ @output[2] = @output[1]
+ @output[1] = output
+ end
+end
+
+#noinspection ALL
+class ButterHpf < Biquad
+ def initialize f
+ self.freq = f # triggers recalc
+ clear
+ self
+ end
+
+ def freq= arg
+ @w = arg * @@inv_srate # (0..0.5)
+ recalc
+ end
+
+ def recalc
+ # from /Developer/Examples/CoreAudio/AudioUnits/AUPinkNoise/Utility/Biquad.cpp
+ k = Math.tan(Math::PI * @w)
+ kk = k*k;
+ g = Dsp::SQRT2*k + kk
+ d_inv = 1.0 / (1 + g);
+
+ a0 = d_inv
+ a1 = -2 * d_inv
+ a2 = d_inv
+ b0 = 1.0 # gain
+ b1 = 2*kk-1 * d_inv
+ b2 = (1 - g) * d_inv
+ update(Vector[a0, a1, a2], Vector[b0, b1, b2])
+ end
+end
+
+
+#noinspection ALL
+class Hpf < Biquad
+ def initialize(f, q=nil)
+ @inv_q = q ? 1.0 / q : Math.sqrt(2) # default to butterworth
+ self.freq = f # triggers recalc
+ clear
+ self
+ end
+
+ def q= arg
+ @inv_q = 1.0 / arg
+ recalc
+ end
+
+ def freq= arg
+ @w = arg * Dsp::TWO_PI * @@inv_srate
+ recalc
+ end
+
+ def recalc # from RBJ cookbook @ http://www.musicdsp.org/files/Audio-EQ-Cookbook.txt
+ alpha = 0.5 * @inv_q * Math.sin(@w)
+ cw = Math.cos(@w)
+ ocw = 1+cw
+ b0 = b2 = 0.5*ocw
+ b1 = -ocw
+
+ a0 = 1 + alpha
+ a1 = -2.0*cw
+ a2 = 1 - alpha
+ update(Vector[a0, a1, a2], Vector[b0, b1, b2])
+ end
+
+end
+
+#noinspection RubyClassVariableUsageInspection
+class SuperSaw < Oscillator
+ attr_accessor :phat
+
+ def initialize (freq = DEFAULT_FREQ, spread=0.5, num=7)
+ @master = Phasor.new
+ @phasors = (1..num-1).map { Phasor.new }
+ @phat = spread
+ setup_tables
+ @hpf = ButterHpf.new(@master.freq)
+ randomize_phase
+ self.freq = freq
+ self
+ end
+
+ def randomize_phase
+ @phasors.each { |p| p.phase = Dsp.random }
+ end
+
+ def clear
+ @hpf.clear
+ randomize_phase
+ end
+
+ def freq= (f)
+ @hpf.freq = @master.freq = @freq = f
+ @phasors.each_with_index { |p, i| p.freq = (1 + @@detune[@phat] * @@offsets[i]) * f; puts "#{i+1}: #{p.freq}" }
+ end
+
+ def tick
+ osc = @@center[@phat] * @master.tick
+ osc += @@side[@phat] * @phasors.inject(0) { |sum, p| sum + p.tick }
+ @hpf.tick(osc)
+ end
+
+ def ticks (samples)
+ osc = @@center[@phat] * Vector[*@master.ticks(samples)]
+ osc = @@side[@phat] * @phasors.inject(osc) { |sum, p| sum + Vector[*p.ticks(samples)] }
+ @hpf.ticks(osc.to_a)
+ end
+
+ private
+
+ def setup_tables
+ @@offsets ||= [-0.11002313, -0.06288439, -0.01952356, 0.01991221, 0.06216538, 0.10745242]
+ @@detune ||= Dsp::LookupTable.new { |x| calc_detune(x) }
+ @@side ||= Dsp::LookupTable.new { |x| calc_side(x) }
+ @@center ||= Dsp::LookupTable.new { |x| calc_center(x) }
+ end
+
+ def calc_detune (x)
+ 1.0 - (1.0-x) ** 0.2
+ end
+
+ def calc_side (x)
+ -0.73754*x*x + 1.2841*x + 0.044372
+ end
+
+ def calc_center (x)
+ -0.55366*x + 0.99785
+ end
+
+end
\ No newline at end of file
diff --git a/plugins/SuperSynth/tri.rb b/plugins/SuperSynth/tri.rb
new file mode 100644
index 0000000..e69de29
diff --git a/plugins/ToneMatrix/SceneFromNode.java b/plugins/ToneMatrix/SceneFromNode.java
index b84168a..a27e108 100644
--- a/plugins/ToneMatrix/SceneFromNode.java
+++ b/plugins/ToneMatrix/SceneFromNode.java
@@ -1,3 +1,6 @@
public interface SceneFromNode {
public Object getScene();
}
+
+
+//~ Formatted by Jindent --- http://www.jindent.com
diff --git a/plugins/ToneMatrix/SceneToJComponent.java b/plugins/ToneMatrix/SceneToJComponent.java
index 98045c8..81e5ba6 100644
--- a/plugins/ToneMatrix/SceneToJComponent.java
+++ b/plugins/ToneMatrix/SceneToJComponent.java
@@ -26,14 +26,20 @@
* POSSIBILITY OF SUCH DAMAGE.
*/
-import com.sun.javafx.tk.swing.SwingScene;
+
+
+//~--- non-JDK imports --------------------------------------------------------
+
+//import javafx.tk.swing.SwingScene; //TODO: VERY deprecated, this one requires some research
import javafx.scene.Scene;
+
+//~--- JDK imports ------------------------------------------------------------
+
import javax.swing.JComponent;
-import jvst.wrapper.VSTPluginAdapter;
/**
* A Java method that allows a JavaFX Scene to be displayed in a Swing application.
- * from
+ * from
* http://code.google.com/p/jfxtras/source/browse/jfxtras.core/trunk/src/org/jfxtras/scene/SceneToJComponent.java
*
* NOTE: works with JavaFX 1.2
@@ -44,16 +50,19 @@
* Modified by daniel309: added method loadScene(Object fxscene, String classname)
* Modified by thbar: keep only what is useful for Opaz
*/
-public class SceneToJComponent {
- public static JComponent loadScene(String classname) throws Exception {
- ClassLoader loader = Thread.currentThread().getContextClassLoader();
- if (loader == null) {
- // work around the Mac OS weirdness - can be null (JNI initialization ?)
- loader = SceneToJComponent.class.getClassLoader();
- }
- Scene sc = (Scene)loader.loadClass(classname).newInstance();
- SwingScene scene = (SwingScene)sc.impl_getPeer();
- return scene.scenePanel;
- }
-}
+//public class SceneToJComponent {
+// public static JComponent loadScene(String classname) throws Exception {
+// ClassLoader loader = Thread.currentThread().getContextClassLoader();
+// if (loader == null) {
+// // work around the Mac OS weirdness - can be null (JNI initialization ?)
+// loader = SceneToJComponent.class.getClassLoader();
+// }
+// Scene sc = (Scene)loader.loadClass(classname).newInstance();
+// @SuppressWarnings("deprecation")
+// SwingScene scene = (SwingScene)sc.impl_getPeer();
+// return scene.scenePanel;
+
+//}
+
+//~ Formatted by Jindent --- http://www.jindent.com
diff --git a/plugins/ToneMatrix/ToneMatrix.rb b/plugins/ToneMatrix/ToneMatrix.rb
index 264f76e..2d6b3ba 100644
--- a/plugins/ToneMatrix/ToneMatrix.rb
+++ b/plugins/ToneMatrix/ToneMatrix.rb
@@ -1,10 +1,15 @@
if __FILE__ == $0
# bootstrap the environment
+ #noinspection RubyResolve
require 'java'
+ #noinspection RubyResolve
Dir['../../libs/*.jar'].each { |f| require f }
+ #noinspection RubyResolve
require 'OpazSupport'
+ #noinspection RubyResolve
$CLASSPATH << '../../src'
$LOAD_PATH << '../../src'
+ #noinspection RubyResolve
require 'opaz_plug'
include_class 'javax.swing.JFrame'
end
@@ -13,6 +18,7 @@
include_class 'SceneToJComponent'
include_class 'JRubyVSTPluginProxy'
+#noinspection RubyResolve
class MyRubyGUI
def initialize(plugin, frame)
@frame = frame
@@ -20,21 +26,22 @@ def initialize(plugin, frame)
scene = SceneToJComponent.loadScene("ToneMatrixGUI")
frame.setTitle("The Tone Matrix")
-
- frame.setSize(300,300)
+
+ frame.setSize(300, 300)
frame.setResizable(false)
- frame.setLayout(BorderLayout.new(10,10))
+ frame.setLayout(BorderLayout.new(10, 10))
frame.add(scene, BorderLayout::CENTER)
end
end
+#noinspection ALL
class ToneMatrix < OpazPlug
plugin "ToneMatrix", "Opaz", "LoGeek"
can_do "receiveVstEvents", "receiveVstMidiEvent"
unique_id "tnmx"
-
+
param :gain, "Gain", 1.0, "dB"
-
+
editor MyRubyGUI
def initialize(wrapper)
@@ -46,24 +53,27 @@ def initialize(wrapper)
suspend # what is this ?
end
+ #noinspection RubyInstanceMethodNamingConvention
def processEvents(events)
1
end
-
+
def process(inputs, outputs, sampleFrames)
end
end
if __FILE__ == $0
+ #noinspection RubyResolve
frame = javax.swing.JFrame.new("Window")
-
+
# next stuff fails
MyRubyGUI.new(nil, frame)
-
+
# label = javax.swing.JLabel.new("Hello")
# frame.getContentPane.add(label)
# frame.setDefaultCloseOperation(javax.swing.JFrame::EXIT_ON_CLOSE)
# frame.pack
+#noinspection RubyResolve
frame.setVisible(true)
end
diff --git a/roadmap/README.md b/roadmap/README.md
new file mode 100644
index 0000000..fd843cd
--- /dev/null
+++ b/roadmap/README.md
@@ -0,0 +1,33 @@
+# Opaz-PlugDK Roadmap #
+
+Here is my plan of action to revitalize the original project and bring it up to date with current versions of Java and JRuby.
+
+**Version 0.1**
+
+- Convert Mirah scripts to Java code and separated the Ruby and Java code into two folders
+- Update to JRuby 1.6.7.2 [MRI 1.8.7-p357]
+- Update to JDK 6 Update 31
+- Many Java code inspection checks and removing Java 1.6 deprecations as a stepping stone to JRuby 1.6.7.2
+- Many Ruby code inspection checks with coding style and statement simplification changes, changing Ruby 1.9 deprecations as a stepping stone to JRuby 1.7.0-preview2
+- Merge separate code bases into one folder
+- Run RSpec tests and debugging tools on code changes
+<<<<<<< HEAD
+- Add documentation for Ruby and Java code
+=======
+>>>>>>> origin/super
+
+**Version 0.2**
+
+- Re-separate code
+- Update to JRuby 1.7.0 preview2 [MRI 1.9.3p203]
+- Update to JDK 7 Update 5
+- Re-inspections and deprecation removal for Ruby 1.9 and Java 1.7
+<<<<<<< HEAD
+- Test and debug
+
+**Version 0.3**
+
+- ?
+=======
+- Test and debug
+>>>>>>> origin/super
diff --git a/specs/dummy_plug.rb b/specs/dummy_plug.rb
index 5f7b087..9bb69db 100644
--- a/specs/dummy_plug.rb
+++ b/specs/dummy_plug.rb
@@ -1,6 +1,7 @@
class DummyEditor
end
+#noinspection ALL
class DummyPlug < OpazPlug
plugin "DummyPlug", "Opaz", "LoGeek"
can_do "1in1out", "plugAsChannelInsert", "plugAsSend"
@@ -9,15 +10,17 @@ class DummyPlug < OpazPlug
editor DummyEditor
# one param without unit specified (should be blank)
- param :cut_off, "Cut Off", 1.0
+ param :cut_off, "Cut Off", 1.0
# one param with unit specified
- param :resonance, "Resonance", 0.1, "resograms"
+ param :resonance, "Resonance", 0.1, "resograms"
# specify a range
- param :ratio, "Ratio", 6, "n:1", (-60..6)
+ param :ratio, "Ratio", 6, "n:1", (-60..6)
# for tests only
- def initialize(wrapper); end
+ def initialize(wrapper)
+ ;
+ end
def process(inputs, outputs, sampleFrames)
inBuffer = inputs[0]
@@ -30,5 +33,7 @@ def process(inputs, outputs, sampleFrames)
class DummyPlugWithoutEditor < OpazPlug
- def initialize(wrapper); end
+ def initialize(wrapper)
+ @wrapper = wrapper
+ end
end
diff --git a/specs/opaz_plug_spec.rb b/specs/opaz_plug_spec.rb
index f1c1165..1942162 100644
--- a/specs/opaz_plug_spec.rb
+++ b/specs/opaz_plug_spec.rb
@@ -1,210 +1,300 @@
+#noinspection RubyResolve
require 'java'
$LOAD_PATH << 'src'
$LOAD_PATH << 'libs'
$LOAD_PATH << File.dirname(__FILE__)
+#noinspection RubyGlobalVariableNamingConvention
$DISABLE_VSTPLUGINADAPTER_INHERIT = true # avoid inheritance in opaz_plug.rb
+#noinspection RubyResolve
require 'java'
+#noinspection RubyResolve
require 'jVSTwRapper-1.0beta.jar'
+#noinspection RubyResolve
require 'jVSTsYstem-1.0beta.jar'
+#noinspection RubyResolve
require 'opaz_plug'
require 'dummy_plug'
+#noinspection RubyResolve
describe OpazPlug do
+ #noinspection RubyResolve
let(:plugin) { DummyPlug.new(0) }
context "plugin information methods" do
+ #noinspection RubyResolve
describe "#getEffectName" do
+ #noinspection RubyResolve
subject { plugin.getEffectName }
+ #noinspection RubyResolve
it { should == "DummyPlug" }
end
+ #noinspection RubyResolve
describe "#getProductString" do
+ #noinspection RubyResolve
subject { plugin.getProductString }
+ #noinspection RubyResolve
it { should == "Opaz" }
end
+ #noinspection RubyResolve
describe "#getVendorString" do
+ #noinspection RubyResolve
subject { plugin.getVendorString }
+ #noinspection RubyResolve
it { should == "LoGeek" }
end
end
+ #noinspection RubyResolve
describe "#unique_id" do
+ #noinspection RubyResolve
subject { plugin.unique_id }
+ #noinspection RubyResolve
it { should == 1869635962 } # hand-coded value, computed using java
end
+ #noinspection RubyResolve
describe "#setSampleRate" do
+ #noinspection RubyResolve
before { plugin.setSampleRate(44_800) }
+ #noinspection RubyResolve
it "sets the sample rate" do
plugin.sample_rate.should == 44_800
end
end
+ #noinspection RubyResolve
it "responds to setBypass" do
plugin.setBypass(true).should == false
end
+ #noinspection RubyResolve
describe "#canDo" do
context "plugAsSend" do
+ #noinspection RubyResolve
subject { plugin.canDo("plugAsSend") }
+ #noinspection RubyResolve
it { should == 1 }
end
context "plugAsChannelInsert" do
+ #noinspection RubyResolve
subject { plugin.canDo("plugAsChannelInsert") }
+ #noinspection RubyResolve
it { should == 1 }
end
context "1in1out" do
+ #noinspection RubyResolve
subject { plugin.canDo("1in1out") }
+ #noinspection RubyResolve
it { should == 1 }
end
context "8in8out" do
+ #noinspection RubyResolve
subject { plugin.canDo("8in8out") }
+ #noinspection RubyResolve
it { should == -1 }
end
end
+ #noinspection RubyResolve
describe "#getNumParams" do
+ #noinspection RubyResolve
it "returns the number of parameters" do
plugin.getNumParams.should == 3
end
end
+ #noinspection RubyResolve
describe "#getNumPrograms" do
+ #noinspection RubyResolve
it "returns the number of programs" do
plugin.getNumPrograms.should == 0
end
end
+ #noinspection RubyResolve
describe "#getParameterName" do
+ #noinspection RubyResolve
it "returns the name of the parameter specified" do
plugin.getParameterName(0).should == 'Cut Off'
end
end
+ #noinspection RubyResolve
describe "#getParameterLabel" do
context "when no unit is specified" do
+ #noinspection RubyResolve
it "returns an empty string by default" do
plugin.getParameterLabel(0).should == ""
end
end
context "when a unit is specified" do
+ #noinspection RubyResolve
it "returns the specified unit" do
plugin.getParameterLabel(1).should == "resograms"
end
end
end
+ #noinspection RubyResolve
describe "#getParameterDisplay" do
+ #noinspection RubyResolve
it "returns the display value of the param" do
plugin.getParameterDisplay(0).should == "1.00"
end
end
+ #noinspection RubyResolve
describe "#getParameterRange" do
context "without a specified range" do
+ #noinspection RubyResolve
it "returns 0.0..1.0" do
plugin.getParameterRange(1).should == (0.0..1.0)
end
end
context "with a specified range" do
+ #noinspection RubyResolve
it "returns the range specified" do
plugin.getParameterRange(2).should == (-60..6)
end
end
end
+ #noinspection RubyResolve
describe "#setParameter" do
+ #noinspection RubyResolve
before { plugin.setParameter(2, 0.0) }
+ #noinspection RubyResolve
it "sets the given param to the given value" do
plugin.getParameter(2).should == 0.0
end
+ #noinspection RubyResolve
it "adjust the ratio accordingly" do
plugin.ratio.should == -60
end
end
+ #noinspection RubyResolve
describe "#getParameter" do
+ #noinspection RubyResolve
before { plugin.setParameter(2, 0.0) }
+ #noinspection RubyResolve
it "returns the param value specified" do
plugin.getParameter(2).should == 0.0
end
end
+ #noinspection RubyResolve
describe "when using ranges on parameters" do
+ #noinspection RubyResolve
it "translates the vst 0..1 range to plugin range on setParameter" do
plugin.setParameter(2, 1.0)
+ #noinspection RubyResolve
plugin.getParameter(2).should == 1.0
+ #noinspection RubyResolve
plugin.ratio.should == +6
end
+ #noinspection RubyResolve
it "translates the plugin range to vst 0..1 range on attr_writer" do
+ #noinspection RubyResolve
plugin.ratio = -60
+ #noinspection RubyResolve
plugin.getParameter(2).should == 0.0
+ #noinspection RubyResolve
plugin.ratio = +6
+ #noinspection RubyResolve
plugin.getParameter(2).should == 1.0
end
+ #noinspection RubyResolve
it "translates the plugin range to vst 0..1 range on getParameterDisplay" do
+ #noinspection RubyResolve
plugin.getParameterDisplay(2).should == "6.00"
end
end
+ #noinspection RubyResolve
describe "#param" do
+ #noinspection RubyResolve
it "sets the initial value" do
+ #noinspection RubyResolve
plugin.getParameter(0).should == 1.0
end
+ #noinspection RubyResolve
it "creates an accessor for the param" do
+ #noinspection RubyResolve
plugin.resonance.should == plugin.getParameter(1)
end
+ #noinspection RubyResolve
it "creates a setter for the param" do
plugin.resonance = 0.4
+ #noinspection RubyResolve
plugin.resonance.should == 0.4
end
end
+ #noinspection RubyResolve
describe "#string2Parameter" do
+ #noinspection RubyResolve
it "returns true when setting a value" do
+ #noinspection RubyResolve
plugin.string2Parameter(1, 0.5).should == true
end
+ #noinspection RubyResolve
it "sets the params value" do
+ #noinspection RubyResolve
plugin.string2Parameter(1, 0.5).should == true
+ #noinspection RubyResolve
plugin.resonance.should == 0.5
end
end
+ #noinspection RubyResolve
describe "#editor" do
context "with a defined editor" do
+ #noinspection RubyResolve
it "returns the editor object" do
+ #noinspection RubyResolve
plugin.editor.should == DummyEditor
end
end
context "without a defined editor" do
+ #noinspection RubyResolve
let(:plugin) { DummyPlugWithoutEditor.new(0) }
+ #noinspection RubyResolve
it "returns nil" do
+ #noinspection RubyResolve
plugin.editor.should be_nil
end
end
end
+ #noinspection RubyResolve
it "supports VSTEvent constants" do
+ #noinspection RubyResolve
VSTEvent::VST_EVENT_MIDI_TYPE.should == 1
end
+ #noinspection RubyResolve
it "supports VSTPinProperties constants" do
+ #noinspection RubyResolve
VSTPinProperties::VST_PIN_IS_ACTIVE.should == 1
end
+ #noinspection RubyResolve
it "has a default, silent setProgramName to avoid errors on set reloading in Live" do
+ #noinspection RubyResolve
plugin.should respond_to(:setProgramName)
end
diff --git a/src/IRBPluginGUI.java b/src/IRBPluginGUI.java
index cb15b9d..444450a 100644
--- a/src/IRBPluginGUI.java
+++ b/src/IRBPluginGUI.java
@@ -1,132 +1,126 @@
+//~--- non-JDK imports --------------------------------------------------------
+
+import jvst.wrapper.VSTPluginAdapter;
+import jvst.wrapper.VSTPluginGUIAdapter;
+import jvst.wrapper.gui.VSTPluginGUIRunner;
+
+import org.jruby.Ruby;
+import org.jruby.demo.TextAreaReadline;
+
+//~--- JDK imports ------------------------------------------------------------
+
+import java.awt.*;
-import java.awt.BorderLayout;
-import java.awt.Color;
-import java.awt.Font;
-import java.awt.GraphicsEnvironment;
-import java.awt.Insets;
-import java.awt.event.WindowAdapter;
-import java.awt.event.WindowEvent;
-import java.io.PrintStream;
-import java.util.ArrayList;
import java.util.Arrays;
-
+
import javax.swing.BorderFactory;
import javax.swing.JEditorPane;
-import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTextPane;
-
-import org.jruby.Ruby;
-import org.jruby.RubyInstanceConfig;
-import org.jruby.internal.runtime.ValueAccessor;
-import org.jruby.demo.TextAreaReadline;
-
-import jvst.wrapper.VSTPluginAdapter;
-import javax.swing.*;
-import javax.swing.event.*;
-import java.awt.*;
+public class IRBPluginGUI extends VSTPluginGUIAdapter {
+ private static final long serialVersionUID = 0x532eed0462e41ebL;
+ protected VSTPluginAdapter iplugin; // refactored this name from 'plugin' due to 'field hidden' warning
+ protected Ruby runtime;
-import jvst.wrapper.*;
-import jvst.wrapper.gui.VSTPluginGUIRunner;
+ // constructor so that the IRB GUI can be started from within Ruby as well
+ @SuppressWarnings("deprecation")
+ public IRBPluginGUI(Ruby r) throws Exception {
+ // trick VSTPluginGUIAdapter into DEBUG mode
+ super(new VSTPluginGUIRunner(), null);
+ log("JIRBPluginGUI ");
+ this.setTitle("JRuby VST Plugin Console (tab will autocomplete)");
+ this.setSize(0x2bc, 0x258);
+ this.setDefaultCloseOperation(DO_NOTHING_ON_CLOSE);
+ this.runtime = r;
+ this.init();
+ this.show(); // always show
+ }
-
-public class IRBPluginGUI extends VSTPluginGUIAdapter {
-
- protected Ruby runtime;
- protected VSTPluginAdapter plugin;
-
-
- //constructor so that the IRB GUI can be started from within Ruby as well
- public IRBPluginGUI(Ruby r) throws Exception {
- //trick VSTPluginGUIAdapter into DEBUG mode
- super(new VSTPluginGUIRunner(), null);
-
- log("JIRBPluginGUI ");
- this.setTitle("JRuby VST Plugin Console (tab will autocomplete)");
- this.setSize(700, 600);
-
- this.setDefaultCloseOperation(DO_NOTHING_ON_CLOSE);
-
- this.runtime = r;
- this.init();
- this.show(); //always show
- }
-
- public IRBPluginGUI(VSTPluginGUIRunner r, VSTPluginAdapter plug) throws Exception {
- super(r,plug);
- log("JIRBPluginGUI ");
-
- this.setTitle("JRuby VST Plugin Console (tab will autocomplete)");
- this.setSize(700, 600);
- //this.setResizable(false);
-
- this.plugin = plug;
- this.runtime = ((JRubyVSTPluginProxy)plug).runtime;
-
- this.init();
-
- //this is needed on the mac only,
- //java guis are handled there in a pretty different way than on win/linux
- //XXX
- if (RUNNING_MAC_X) this.show();
- }
-
- public void init() {
- this.getContentPane().setLayout(new BorderLayout());
- this.setSize(700, 600);
-
- JEditorPane text = new JTextPane();
-
- text.setMargin(new Insets(8,8,8,8));
- text.setCaretColor(new Color(0xa4, 0x00, 0x00));
- text.setBackground(new Color(0xf2, 0xf2, 0xf2));
- text.setForeground(new Color(0xa4, 0x00, 0x00));
- Font font = this.findFont("Monospaced", Font.PLAIN, 14,
- new String[] {"Monaco", "Andale Mono"});
-
- text.setFont(font);
- JScrollPane pane = new JScrollPane();
- pane.setViewportView(text);
- pane.setBorder(BorderFactory.createLineBorder(Color.darkGray));
- this.getContentPane().add(pane);
-
- this.validate();
-
- final TextAreaReadline tar = new TextAreaReadline(text,
- " The running JRuby VST plugin instance is in variable \"PLUG\" \n\n");
-
- tar.hookIntoRuntimeWithStreams(runtime);
-
- //the trick here is to ensure that the call to hookIntoRuntime has completed
- //so that stdin, out and err are redirected properly. Only then start IRB
-
- //move IRB away from the EDT
- Thread t = new Thread() {
- public void run() {
- //trick IRB to think that we are a terminal --> always return true for STDIN.tty?
- //this gives us the :DEFAULT prompt instead of the :NULL prompt
- runtime.evalScriptlet("require 'irb'; require 'irb/completion'; def STDIN.tty?; true; end; IRB.start");
- }
- };
- t.start();
- }
-
- private Font findFont(String otherwise, int style, int size, String[] families) {
- String[] fonts = GraphicsEnvironment.getLocalGraphicsEnvironment().getAvailableFontFamilyNames();
- Arrays.sort(fonts);
- Font font = null;
- for (int i = 0; i < families.length; i++) {
- if (Arrays.binarySearch(fonts, families[i]) >= 0) {
- font = new Font(families[i], style, size);
- break;
- }
+ @SuppressWarnings("deprecation")
+ public IRBPluginGUI(VSTPluginGUIRunner r, VSTPluginAdapter plug) throws Exception {
+ super(r, plug);
+ log("JIRBPluginGUI ");
+ this.setTitle("JRuby VST Plugin Console (tab will autocomplete)");
+ this.setSize(0x2bc, 0x258);
+
+ // this.setResizable(false);
+ this.iplugin = plug;
+ this.runtime = ((JRubyVSTPluginProxy) plug).runtime;
+ this.init();
+
+ // this is needed on the mac only,
+ // java guis are handled there in a pretty different way than on win/linux
+ // XXX
+ if (RUNNING_MAC_X) {
+ this.setVisible(true);
+ }
+ }
+
+ private void init() {
+ this.getContentPane().setLayout(new BorderLayout());
+ this.setSize(0x2bc, 0x258);
+
+ JEditorPane text = new JTextPane();
+
+ text.setMargin(new Insets(0x8, 0x8, 0x8, 0x8));
+ text.setCaretColor(new Color(164, 0, 0));
+ text.setBackground(new Color(242, 242, 242));
+ text.setForeground(new Color(164, 0, 0));
+
+ Font font = this.findFont("Monospaced", Font.PLAIN, 0xe, new String[] { "Monaco", "Andale Mono" });
+
+ text.setFont(font);
+
+ JScrollPane pane = new JScrollPane();
+
+ pane.setViewportView(text);
+ pane.setBorder(BorderFactory.createLineBorder(Color.darkGray));
+ this.getContentPane().add(pane);
+ this.validate();
+
+ final TextAreaReadline tar = new TextAreaReadline(text,
+ " The running JRuby VST plugin instance is in variable \"PLUG\" \n\n");
+
+ tar.hookIntoRuntimeWithStreams(runtime);
+
+ // the trick here is to ensure that the call to hookIntoRuntime has completed
+ // so that stdin, out and err are redirected properly. Only then start IRB
+ // move IRB away from the EDT
+ Thread t = new Thread() {
+ @Override
+ public void run() {
+
+ // trick IRB to think that we are a terminal --> always return true for STDIN.tty?
+ // this gives us the :DEFAULT prompt instead of the :NULL prompt
+ runtime.evalScriptlet("require 'irb'; require 'irb/completion'; def STDIN.tty?; true; end; IRB.start");
+ }
+ };
+
+ t.start();
+ }
+
+ private Font findFont(String otherwise, int style, int size, String[] families) {
+ String[] fonts = GraphicsEnvironment.getLocalGraphicsEnvironment().getAvailableFontFamilyNames();
+
+ Arrays.sort(fonts);
+
+ Font font = null;
+
+ for (int i = 0x0; i < families.length; i++) {
+ if (Arrays.binarySearch(fonts, families[i]) >= 0x0) {
+ font = new Font(families[i], style, size);
+
+ break;
+ }
+ }
+
+ if (font == null) {
+ font = new Font(otherwise, style, size);
+ }
+
+ return font;
}
- if (font == null) font = new Font(otherwise, style, size);
- return font;
- }
-
- private static final long serialVersionUID = 374624297323217387L;
-
-}
\ No newline at end of file
+}
+
diff --git a/src/JRubyVSTPluginGUIProxy.java b/src/JRubyVSTPluginGUIProxy.java
index efeab10..0f0e0dd 100644
--- a/src/JRubyVSTPluginGUIProxy.java
+++ b/src/JRubyVSTPluginGUIProxy.java
@@ -1,58 +1,58 @@
-import jvst.wrapper.*;
+//~--- non-JDK imports --------------------------------------------------------
+
+import jvst.wrapper.VSTPluginAdapter;
+import jvst.wrapper.VSTPluginGUIAdapter;
import jvst.wrapper.gui.VSTPluginGUIRunner;
import org.jruby.Ruby;
import org.jruby.javasupport.JavaEmbedUtils;
import org.jruby.runtime.builtin.IRubyObject;
-import javax.swing.JComponent;
public class JRubyVSTPluginGUIProxy extends VSTPluginGUIAdapter {
-
- protected Ruby runtime;
- protected JRubyVSTPluginProxy plugin;
-
- public JRubyVSTPluginGUIProxy(VSTPluginGUIRunner runner, VSTPluginAdapter plugin) throws Exception {
- super(runner,plugin);
-
- this.plugin = (JRubyVSTPluginProxy)plugin;
- this.runtime = this.plugin.runtime;
-
- // ask the plugin which is the ruby editor class
- IRubyObject rubyPlugin = this.plugin.getRubyPlugin();
- IRubyObject rubyEditorClass = (IRubyObject)JavaEmbedUtils.invokeMethod(runtime, rubyPlugin, "editor",
- new Object[] {}, IRubyObject.class);
-
- log("RubyEditorClass = "+rubyEditorClass);
-
- if (rubyEditorClass==null) {
- //open emtpy frame as GUI, might be filled using IRB later
- this.setTitle("Use IRB to fill with UI elements");
- this.setSize(300,200);
-
- //start IRB
- new IRBPluginGUI(this.runtime);
-
- log("* WARNING: no gui defined in the jruby plugin class. Variable editor must not be nil");
- return; //die silently when no editor is defined
+ private static final long serialVersionUID = 0x532eebc7cfa5cebL;
+ protected JRubyVSTPluginProxy jplugin; // refactored this name from 'plugin' due to 'field hidden' warning
+ protected Ruby runtime;
+
+ @SuppressWarnings("deprecation")
+ public JRubyVSTPluginGUIProxy(VSTPluginGUIRunner runner, VSTPluginAdapter plugin) throws Exception {
+ super(runner, plugin);
+ this.jplugin = (JRubyVSTPluginProxy) plugin;
+ this.runtime = this.jplugin.runtime;
+
+ // ask the plugin which is the ruby editor class
+ IRubyObject rubyPlugin = this.jplugin.getRubyPlugin();
+ IRubyObject rubyEditorClass = (IRubyObject) JavaEmbedUtils.invokeMethod(runtime, rubyPlugin, "editor",
+ new Object[] {}, IRubyObject.class);
+
+ log("RubyEditorClass = " + rubyEditorClass);
+
+ if (rubyEditorClass == null) {
+
+ // open emtpy frame as GUI, might be filled using IRB later
+ this.setTitle("Use IRB to fill with UI elements");
+ this.setSize(0x12c, 0xc8);
+
+ // start IRB
+ new IRBPluginGUI(this.runtime);
+ log("* WARNING: no gui defined in the jruby plugin class. Variable editor must not be nil");
+
+ return; // die silently when no editor is defined
+ }
+
+ // Use JavaEmbedUtils.invokeMethod so that we're able to pass a Java instance (this) to the JRuby constructor
+ // Note: having a null object for the class seems to be fine, which allows us to support the case where no editor is specified. Fix ?
+ Object gui = JavaEmbedUtils.invokeMethod(runtime, rubyEditorClass, "new",
+ new Object[] { JavaEmbedUtils.javaToRuby(runtime, rubyPlugin),
+ JavaEmbedUtils.javaToRuby(runtime, this) }, IRubyObject.class);
+
+ // write the gui instance back to the ruby plugin class
+ JavaEmbedUtils.invokeMethod(runtime, rubyPlugin, "set_gui_instance",
+ new Object[] { JavaEmbedUtils.javaToRuby(runtime, gui) }, IRubyObject.class);
+
+ // this is needed on the mac only, java guis are handled there in a pretty different way than on win/linux
+ if (RUNNING_MAC_X) {
+ this.setVisible(true);
+ }
}
-
- // Use JavaEmbedUtils.invokeMethod so that we're able to pass a Java instance (this) to the JRuby constructor
- // Note: having a null object for the class seems to be fine, which allows us to support the case where no editor is specified. Fix ?
- Object gui = JavaEmbedUtils.invokeMethod(runtime, rubyEditorClass, "new",
- new Object[] {
- JavaEmbedUtils.javaToRuby(runtime, rubyPlugin),
- JavaEmbedUtils.javaToRuby(runtime, this)
- }, IRubyObject.class);
-
- // write the gui instance back to the ruby plugin class
- JavaEmbedUtils.invokeMethod(runtime, rubyPlugin, "set_gui_instance",
- new Object[] {
- JavaEmbedUtils.javaToRuby(runtime, gui)
- }, IRubyObject.class);
-
- // this is needed on the mac only, java guis are handled there in a pretty different way than on win/linux
- if (RUNNING_MAC_X) this.show();
- }
-
- private static final long serialVersionUID = 374624212343217387L;
}
+
diff --git a/src/JRubyVSTPluginProxy.java b/src/JRubyVSTPluginProxy.java
index 55c64e7..f3cc980 100644
--- a/src/JRubyVSTPluginProxy.java
+++ b/src/JRubyVSTPluginProxy.java
@@ -1,316 +1,533 @@
-import java.io.File;
-import java.io.FilenameFilter;
-import java.io.IOException;
-import java.util.Hashtable;
-import java.util.ArrayList;
-import javax.swing.JOptionPane;
-import java.io.PrintWriter;
-import java.io.StringWriter;
+//~--- non-JDK imports --------------------------------------------------------
import jvst.wrapper.VSTPluginAdapter;
-import jvst.wrapper.VSTPluginGUIAdapter;
import jvst.wrapper.valueobjects.*;
import org.jruby.Ruby;
import org.jruby.javasupport.JavaEmbedUtils;
import org.jruby.runtime.builtin.IRubyObject;
+//~--- JDK imports ------------------------------------------------------------
+
+import java.io.File;
+import java.io.FilenameFilter;
+import java.io.PrintWriter;
+import java.io.StringWriter;
+
+import java.util.Hashtable;
+
+import javax.swing.JOptionPane;
+
public class JRubyVSTPluginProxy extends VSTPluginAdapter {
+ protected VSTPluginAdapter adapter;
+ protected IRubyObject rubyPlugin;
+ protected Ruby runtime;
+
+ public JRubyVSTPluginProxy(long wrapper) {
+ super(wrapper);
+
+ // This creates a new ruby interpreter instance for each instance of the plug
+ // defaults are used, eg. out from the running java program (which is *_java_stdout.txt :-))
+ runtime = Ruby.newInstance();
- protected VSTPluginAdapter adapter;
- protected IRubyObject rubyPlugin;
- protected Ruby runtime;
-
- public JRubyVSTPluginProxy(long wrapper) {
- super(wrapper);
-
- //This creates a new ruby interpreter instance for each instance of the plug
- //defaults are used, eg. out from the running java program (which is *_java_stdout.txt :-))
- runtime = Ruby.newInstance();
- String resourcesFolder = ProxyTools.getResourcesFolder(getLogBasePath());
- String iniFileName = ProxyTools.getIniFileName(resourcesFolder, getLogFileName());
-
- //log("Res folder=" + resourcesFolder);
- //log("Ini file=" + iniFileName);
- //log("wrapper=" + wrapper);
-
- // TODO: learn how to set a variable on the scope instead of hacking it this way:
- // runtime.getGlobalVariables().set("$stderr", out);
- runtime.evalScriptlet("PLUGIN_RESOURCES_FOLDER = '"+resourcesFolder+"'");
- runtime.evalScriptlet("PLUGIN_INI_FILE_NAME = '"+iniFileName+"'");
- runtime.evalScriptlet("PLUGIN_WRAPPER = "+wrapper);
- runtime.evalScriptlet("require 'opaz_bootstrap'");
-
- String reload = runtime.evalScriptlet("IO.read(PLUGIN_INI_FILE_NAME).grep(/^ReloadRubyOnChanges=(.*)/) { $1 }.first.strip").toString();
- log("reload=" + reload);
-
- this.rubyPlugin = (IRubyObject)runtime.evalScriptlet("PLUG");
- this.adapter = (VSTPluginAdapter)JavaEmbedUtils.rubyToJava(runtime, rubyPlugin, VSTPluginAdapter.class);
-
-
- //start watcher thread that looks for changes in ruby files, starts a new ruby interpreter,
- //loads the changed ruby part and switches the references
- try {
- if ("1".equals(reload)) (new Watcher(wrapper, this)).start();
- } catch (Exception e) { e.printStackTrace(); }
- }
-
-
- private class Watcher extends Thread {
- Hashtable toWatch = new Hashtable();
-
- long wrapper = 0;
- JRubyVSTPluginProxy proxy = null;
-
- public Watcher(long w, JRubyVSTPluginProxy p) throws Exception {
- wrapper = w;
- proxy = p;
-
- File f = new File(ProxyTools.getResourcesFolder(getLogBasePath()));
- File[] files = f.listFiles(new FilenameFilter() {
- public boolean accept(File dir, String name) {return name.endsWith(".rb");}
- });
- for (File file : files) {
- //log("watching " + file.getName() + " lastmod=" + file.lastModified());
- toWatch.put(file, file.lastModified());
- }
- }
-
- public void run() {
- boolean modified = false;
-
- while(true) {
- //log("new round");
+ String resourcesFolder = ProxyTools.getResourcesFolder(getLogBasePath());
+ String iniFileName = ProxyTools.getIniFileName(resourcesFolder, getLogFileName());
+
+ // log("Res folder=" + resourcesFolder);
+ // log("Ini file=" + iniFileName);
+ // log("wrapper=" + wrapper);
+ // TODO: learn how to set a variable on the scope instead of hacking it this way:
+ // runtime.getGlobalVariables().set("$stderr", out);
+ runtime.evalScriptlet("PLUGIN_RESOURCES_FOLDER = '" + resourcesFolder + "'");
+ runtime.evalScriptlet("PLUGIN_INI_FILE_NAME = '" + iniFileName + "'");
+ runtime.evalScriptlet("PLUGIN_WRAPPER = " + wrapper);
+ runtime.evalScriptlet("require 'opaz_bootstrap'");
+
+ String reload =
+ runtime.evalScriptlet(
+ "IO.read(PLUGIN_INI_FILE_NAME).grep(/^ReloadRubyOnChanges=(.*)/) { $1 }.first.strip").toString();
+
+ log("reload=" + reload);
+ this.rubyPlugin = runtime.evalScriptlet("PLUG");
+ this.adapter = (VSTPluginAdapter) JavaEmbedUtils.rubyToJava(runtime, rubyPlugin, VSTPluginAdapter.class);
+
+ // start watcher thread that looks for changes in ruby files, starts a new ruby interpreter,
+ // loads the changed ruby part and switches the references
try {
- for (File file : toWatch.keySet()) {
- //log(file.lastModified() + " > " + toWatch.get(file));
- if (file.lastModified() > toWatch.get(file)) {
- log("### File: " + file.getName() + " was just modified!");
- toWatch.put(file, file.lastModified());
- modified = true;
+ if ("1".equals(reload)) {
+ (new Watcher(wrapper, this)).start();
+ }
+ } catch (Exception e) {}
+ }
+
+ // TODO - check if there is some way to grab back the IRubyObject from this.adapter instead
+ public IRubyObject getRubyPlugin() {
+ return rubyPlugin;
+ }
+
+ // hackish init for MockVSTHost
+ public static void _hackishInit(String dllLocation, boolean log) {
+ _initPlugFromNative(dllLocation, log);
+ }
+
+ // mandatory overrides from here...
+ @Override
+ public int canDo(String arg0) {
+ return adapter.canDo(arg0);
+ }
+
+ @Override
+ public int getPlugCategory() {
+ return adapter.getPlugCategory();
+ }
+
+ @Override
+ public String getProductString() {
+ return adapter.getProductString();
+ }
+
+ @Override
+ public String getProgramNameIndexed(int arg0, int arg1) {
+ return adapter.getProgramName();
+ }
+
+ @Override
+ public String getVendorString() {
+ return adapter.getVendorString();
+ }
+
+ @Override
+ public boolean setBypass(boolean arg0) {
+ return adapter.setBypass(arg0);
+ }
+
+ @Override
+ public boolean string2Parameter(int arg0, String arg1) {
+ return adapter.string2Parameter(arg0, arg1);
+ }
+
+ @Override
+ public int getNumParams() {
+ return adapter.getNumParams();
+ }
+
+ @Override
+ public int getNumPrograms() {
+ return adapter.getNumPrograms();
+ }
+
+ @Override
+ public float getParameter(int arg0) {
+ return adapter.getParameter(arg0);
+ }
+
+ @Override
+ public String getParameterDisplay(int arg0) {
+ return adapter.getParameterDisplay(arg0);
+ }
+
+ @Override
+ public String getParameterLabel(int arg0) {
+ return adapter.getParameterLabel(arg0);
+ }
+
+ @Override
+ public String getParameterName(int arg0) {
+ return adapter.getParameterName(arg0);
+ }
+
+ @Override
+ public int getProgram() {
+ return adapter.getProgram();
+ }
+
+ @Override
+ public String getProgramName() {
+ return adapter.getProgramName();
+ }
+
+ @Override
+ public void processReplacing(float[][] arg0, float[][] arg1, int arg2) {
+ adapter.processReplacing(arg0, arg1, arg2);
+ }
+
+ @Override
+ public void setParameter(int arg0, float arg1) {
+ adapter.setParameter(arg0, arg1);
+ }
+
+ @Override
+ public void setProgram(int arg0) {
+ adapter.setProgram(arg0);
+ }
+
+ @Override
+ public void setProgramName(String arg0) {
+ adapter.setProgramName(arg0);
+ }
+
+ // optional overrides from here... (copied from VSTPluginAdapter.java)
+ // --> forward calls to ruby plugin here in order to allow to be overwritten there (by jruby plug)
+ // provide defaults for vst 1.0 OPTIONAL methods
+ // ********************************
+ @Override
+ public void open() {
+ adapter.open();
+ }
+
+ @Override
+ public void close() {
+ adapter.close();
+ }
+
+ @Override
+ public void suspend() {
+ adapter.suspend();
+ }
+
+ @Override
+ public void resume() {
+ adapter.resume();
+ }
+
+ @SuppressWarnings("deprecation")
+ @Override
+ public float getVu() {
+ return adapter.getVu();
+ }
+
+ @Override
+ public int getChunk(byte[][] data, boolean isPreset) {
+ return adapter.getChunk(data, isPreset);
+ }
+
+ @Override
+ public int setChunk(byte data[], int byteSize, boolean isPreset) {
+ return adapter.setChunk(data, byteSize, isPreset);
+ }
+
+ @Override
+ public void setBlockSize(int blockSize) {
+ adapter.setBlockSize(blockSize);
+ }
+
+ @Override
+ public void setSampleRate(float sampleRate) {
+ adapter.setSampleRate(sampleRate);
+ }
+
+ // provide defaults for vst 2.0 OPTIONAL methods
+ // ********************************
+ @Override
+ public String getEffectName() {
+ return adapter.getEffectName();
+ }
+
+ @Override
+ public int getVendorVersion() {
+ return adapter.getVendorVersion();
+ }
+
+ @Override
+ public boolean canParameterBeAutomated(int index) {
+ return adapter.canParameterBeAutomated(index);
+ }
+
+ @SuppressWarnings("deprecation")
+ @Override
+ public boolean copyProgram(int destination) {
+ return adapter.copyProgram(destination);
+ }
+
+ @SuppressWarnings("deprecation")
+ @Override
+ public int fxIdle() {
+ return adapter.fxIdle();
+ }
+
+ @Override
+ public float getChannelParameter(int channel, int index) {
+ return adapter.getChannelParameter(channel, index);
+ }
+
+ @SuppressWarnings("deprecation")
+ @Override
+ public int getNumCategories() {
+ return adapter.getNumCategories();
+ }
+
+ @Override
+ public VSTPinProperties getInputProperties(int index) {
+ return adapter.getInputProperties(index);
+ }
+
+ @Override
+ public VSTPinProperties getOutputProperties(int index) {
+ return adapter.getOutputProperties(index);
+ }
+
+ @SuppressWarnings("deprecation")
+ @Override
+ public String getErrorText() {
+ return adapter.getErrorText();
+ }
+
+ @Override
+ public int getGetTailSize() {
+ return adapter.getGetTailSize();
+ }
+
+ @Override
+ public VSTParameterProperties getParameterProperties(int index) {
+ return adapter.getParameterProperties(index);
+ }
+
+ @Override
+ public int getVstVersion() {
+ return adapter.getVstVersion();
+ }
+
+ @SuppressWarnings("deprecation")
+ @Override
+ public void inputConnected(int index, boolean state) {
+ adapter.inputConnected(index, state);
+ }
+
+ @SuppressWarnings("deprecation")
+ @Override
+ public void outputConnected(int index, boolean state) {
+ adapter.outputConnected(index, state);
+ }
+
+ @SuppressWarnings("deprecation")
+ @Override
+ public boolean keysRequired() {
+ return adapter.keysRequired();
+ }
+
+ @Override
+ public int processEvents(VSTEvents e) {
+ return adapter.processEvents(e);
+ }
+
+ @Override
+ public boolean processVariableIo(VSTVariableIO vario) {
+ return adapter.processVariableIo(vario);
+ }
+
+ @SuppressWarnings("deprecation")
+ @Override
+ public int reportCurrentPosition() {
+ return adapter.reportCurrentPosition();
+ }
+
+ @SuppressWarnings("deprecation")
+ @Override
+ public float[] reportDestinationBuffer() {
+ return adapter.reportDestinationBuffer();
+ }
+
+ @SuppressWarnings("deprecation")
+ @Override
+ public void setBlockSizeAndSampleRate(int blockSize, float sampleRate) {
+ adapter.setBlockSizeAndSampleRate(blockSize, sampleRate);
+ }
+
+ @Override
+ public boolean setSpeakerArrangement(VSTSpeakerArrangement pluginInput, VSTSpeakerArrangement pluginOutput) {
+ return adapter.setSpeakerArrangement(pluginInput, pluginOutput);
+ }
+
+ @Override
+ public boolean getSpeakerArrangement(VSTSpeakerArrangement pluginInput, VSTSpeakerArrangement pluginOutput) {
+ return adapter.getSpeakerArrangement(pluginInput, pluginOutput);
+ }
+
+ // provide defaults for vst 2.1 OPTIONAL methods
+ // ********************************
+ @Override
+ public int getMidiProgramName(int channel, MidiProgramName midiProgramName) {
+ return adapter.getMidiProgramName(channel, midiProgramName);
+ }
+
+ @Override
+ public int getCurrentMidiProgram(int channel, MidiProgramName currentProgram) {
+ return adapter.getCurrentMidiProgram(channel, currentProgram);
+ }
+
+ @Override
+ public int getMidiProgramCategory(int channel, MidiProgramCategory category) {
+ return adapter.getMidiProgramCategory(channel, category);
+ }
+
+ @Override
+ public boolean hasMidiProgramsChanged(int channel) {
+ return adapter.hasMidiProgramsChanged(channel);
+ }
+
+ @Override
+ public boolean getMidiKeyName(int channel, MidiKeyName keyName) {
+ return adapter.getMidiKeyName(channel, keyName);
+ }
+
+ @Override
+ public boolean beginSetProgram() {
+ return adapter.beginSetProgram();
+ }
+
+ @Override
+ public boolean endSetProgram() {
+ return adapter.endSetProgram();
+ }
+
+ // provide defaults for vst 2.3 OPTIONAL methods
+ // ********************************
+ @Override
+ public int setTotalSampleToProcess(int value) {
+ return adapter.setTotalSampleToProcess(value);
+ }
+
+ @Override
+ public int getNextShellPlugin(String name) {
+ return adapter.getNextShellPlugin(name);
+ }
+
+ @Override
+ public int startProcess() {
+ return adapter.startProcess();
+ }
+
+ @Override
+ public int stopProcess() {
+ return adapter.stopProcess();
+ }
+
+ // provide defaults for vst 2.4 OPTIONAL methods
+ // ********************************
+ @Override
+ public void processDoubleReplacing(double[][] inputs, double[][] outputs, int sampleFrames) {
+ adapter.processDoubleReplacing(inputs, outputs, sampleFrames);
+ }
+
+ @Override
+ public boolean setProcessPrecision(int precision) {
+ return adapter.setProcessPrecision(precision);
+ }
+
+ @Override
+ public int getNumMidiInputChannels() {
+ return adapter.getNumMidiInputChannels();
+ }
+
+ @Override
+ public int getNumMidiOutputChannels() {
+ return adapter.getNumMidiOutputChannels();
+ }
+
+ private class Watcher extends Thread {
+ JRubyVSTPluginProxy proxy = null;
+ Hashtable toWatch = new Hashtable();
+ long wrapper = 0x0;
+
+ Watcher(long w, JRubyVSTPluginProxy p) throws Exception {
+ wrapper = w;
+ proxy = p;
+
+ File f = new File(ProxyTools.getResourcesFolder(getLogBasePath()));
+ File[] files = f.listFiles(new FilenameFilter() {
+ @Override
+ public boolean accept(File dir, String name) {
+ return name.endsWith(".rb");
+ }
+ });
+
+ for (File file : files) {
+
+ // log("watching " + file.getName() + " lastmod=" + file.lastModified());
+ toWatch.put(file, file.lastModified());
+ }
+ }
+
+ @Override
+ public void run() {
+ boolean modified = false;
+
+ while (true) {
+
+ // log("new round");
+ try {
+ for (File file : toWatch.keySet()) {
+
+ // log(file.lastModified() + " > " + toWatch.get(file));
+ if (file.lastModified() > toWatch.get(file)) {
+ log("### File: " + file.getName() + " was just modified!");
+ toWatch.put(file, file.lastModified());
+ modified = true;
+ }
+ }
+
+ if (modified) {
+ reloadPlugin();
+ }
+
+ modified = false;
+ Thread.sleep(0x3e8);
+ } catch (Exception e) {
+
+ // log("exception!");
+ }
}
- }
- if (modified) reloadPlugin();
- modified = false;
- Thread.sleep(1000);
}
- catch (Exception e) {
- //log("exception!");
- e.printStackTrace();
+
+ private void reloadPlugin() {
+
+ // TODO: check if the ruby plugin has a GUI (plugin.editor!=nil)
+ // if yes, re-run the GUI constructor and switch GUI references as well
+ // --> see JRubyVSTPluginGUIProxy.java (TODO: implement an equivalent void reloadPlugin() there)
+ //
+ // For now, the GUI instance is not reloaded. It will stay as it is, but it will of
+ // course use the reloaded plugin instances
+ try {
+ Ruby newRuntime = Ruby.newInstance();
+ String resourcesFolder = ProxyTools.getResourcesFolder(getLogBasePath());
+ String iniFileName = ProxyTools.getIniFileName(resourcesFolder, getLogFileName());
+
+ newRuntime.evalScriptlet("PLUGIN_RESOURCES_FOLDER = '" + resourcesFolder + "'");
+ newRuntime.evalScriptlet("PLUGIN_INI_FILE_NAME = '" + iniFileName + "'");
+ newRuntime.evalScriptlet("PLUGIN_WRAPPER = " + wrapper);
+ newRuntime.evalScriptlet("require 'opaz_bootstrap'");
+
+ // oh dear, we switch references to the modified ruby plugin while _RUNNING_ :-)
+ log("Switching refs!");
+
+ // disable process() calls on the old plugin version
+ proxy.runtime.evalScriptlet("$PLUGIN_IS_RELOADING = true");
+ proxy.rubyPlugin = newRuntime.evalScriptlet("PLUG");
+ proxy.adapter = (VSTPluginAdapter) JavaEmbedUtils.rubyToJava(newRuntime, rubyPlugin,
+ VSTPluginAdapter.class);
+ proxy.runtime = newRuntime;
+ log("all good :-)");
+ } catch (Throwable t) {
+
+ // enable process() calls on the old plugin again
+ proxy.runtime.evalScriptlet("$PLUGIN_IS_RELOADING = false");
+
+ // report error to logfile (e.g. syntax error in the modified files...)
+ // do not switch refs, we still use the old version of the ruby plugin we were able to load before
+ StringWriter sw = new StringWriter();
+ PrintWriter pw = new PrintWriter(sw);
+
+ t.printStackTrace(pw);
+ log(sw.toString()); // first, report error to file, then show dialog
+
+ // show error dialog
+ JOptionPane.showMessageDialog(null, sw.toString(),
+ "Ruby error - Using the previously running Ruby plugin instead",
+ JOptionPane.ERROR_MESSAGE);
+ }
}
- }
- }
-
- private void reloadPlugin() {
- //TODO: check if the ruby plugin has a GUI (plugin.editor!=nil)
- // if yes, re-run the GUI constructor and switch GUI references as well
- // --> see JRubyVSTPluginGUIProxy.java (TODO: implement an equivalent void reloadPlugin() there)
- //
- //For now, the GUI instance is not reloaded. It will stay as it is, but it will of
- //course use the reloaded plugin instances
-
- try {
- Ruby newRuntime = Ruby.newInstance();
- String resourcesFolder = ProxyTools.getResourcesFolder(getLogBasePath());
- String iniFileName = ProxyTools.getIniFileName(resourcesFolder, getLogFileName());
-
- newRuntime.evalScriptlet("PLUGIN_RESOURCES_FOLDER = '"+resourcesFolder+"'");
- newRuntime.evalScriptlet("PLUGIN_INI_FILE_NAME = '"+iniFileName+"'");
- newRuntime.evalScriptlet("PLUGIN_WRAPPER = "+wrapper);
- newRuntime.evalScriptlet("require 'opaz_bootstrap'");
-
- //oh dear, we switch references to the modified ruby plugin while _RUNNING_ :-)
- log("Switching refs!");
- //disable process() calls on the old plugin version
- proxy.runtime.evalScriptlet("$PLUGIN_IS_RELOADING = true");
- proxy.rubyPlugin = (IRubyObject)newRuntime.evalScriptlet("PLUG");
- proxy.adapter = (VSTPluginAdapter)JavaEmbedUtils.rubyToJava(newRuntime, rubyPlugin, VSTPluginAdapter.class);
- proxy.runtime = newRuntime;
- log("all good :-)");
- }
- catch (Throwable t) {
- //enable process() calls on the old plugin again
- proxy.runtime.evalScriptlet("$PLUGIN_IS_RELOADING = false");
-
- //report error to logfile (e.g. syntax error in the modified files...)
- //do not switch refs, we still use the old version of the ruby plugin we were able to load before
- StringWriter sw = new StringWriter();
- PrintWriter pw = new PrintWriter(sw);
- t.printStackTrace(pw);
- log(sw.toString()); // first, report error to file, then show dialog
- //show error dialog
- JOptionPane.showMessageDialog(null, sw.toString(), "Ruby error - Using the previously running Ruby plugin instead", JOptionPane.ERROR_MESSAGE);
- }
- }
- }
-
-
-
-
- // TODO - check if there is some way to grab back the IRubyObject from this.adapter instead
- public IRubyObject getRubyPlugin() {
- return rubyPlugin;
- }
-
- //hackish init for MockVSTHost
- public static void _hackishInit(String dllLocation, boolean log) {
- _initPlugFromNative(dllLocation, log);
- }
-
- // mandatory overrides from here...
- public int canDo(String arg0) {
- return adapter.canDo(arg0);
- }
-
- public int getPlugCategory() {
- return adapter.getPlugCategory();
- }
-
- public String getProductString() {
- return adapter.getProductString();
- }
-
- public String getProgramNameIndexed(int arg0, int arg1) {
- return adapter.getProgramName();
- }
-
- public String getVendorString() {
- return adapter.getVendorString();
- }
-
- public boolean setBypass(boolean arg0) {
- return adapter.setBypass(arg0);
- }
-
- public boolean string2Parameter(int arg0, String arg1) {
- return adapter.string2Parameter(arg0, arg1);
- }
-
- public int getNumParams() {
- return adapter.getNumParams();
- }
-
- public int getNumPrograms() {
- return adapter.getNumPrograms();
- }
-
- public float getParameter(int arg0) {
- return adapter.getParameter(arg0);
- }
-
- public String getParameterDisplay(int arg0) {
- return adapter.getParameterDisplay(arg0);
- }
-
- public String getParameterLabel(int arg0) {
- return adapter.getParameterLabel(arg0);
- }
-
- public String getParameterName(int arg0) {
- return adapter.getParameterName(arg0);
- }
-
- public int getProgram() {
- return adapter.getProgram();
- }
-
- public String getProgramName() {
- return adapter.getProgramName();
- }
-
- public void processReplacing(float[][] arg0, float[][] arg1, int arg2) {
- adapter.processReplacing(arg0, arg1, arg2);
- }
-
- public void setParameter(int arg0, float arg1) {
- adapter.setParameter(arg0, arg1);
- }
-
- public void setProgram(int arg0) {
- adapter.setProgram(arg0);
- }
-
- public void setProgramName(String arg0) {
- adapter.setProgramName(arg0);
- }
-
-
- // optional overrides from here... (copied from VSTPluginAdapter.java)
- // --> forward calls to ruby plugin here in order to allow to be overwritten there (by jruby plug)
-
-
- //provide defaults for vst 1.0 OPTIONAL methods
- //********************************
- public void open() { adapter.open(); }
- public void close() { adapter.close(); }
- public void suspend() { adapter.suspend(); }
- public void resume() { adapter.resume(); }
- public float getVu() {return adapter.getVu(); }
- public int getChunk(byte[][] data, boolean isPreset) {return adapter.getChunk(data, isPreset); }
- public int setChunk(byte data[], int byteSize, boolean isPreset) {return adapter.setChunk(data, byteSize, isPreset);}
- public void setBlockSize(int blockSize) { adapter.setBlockSize(blockSize); }
- public void setSampleRate(float sampleRate) { adapter.setSampleRate(sampleRate); }
-
- //provide defaults for vst 2.0 OPTIONAL methods
- //********************************
- public String getEffectName() {return adapter.getEffectName(); }
- public int getVendorVersion() {return adapter.getVendorVersion(); }
- public boolean canParameterBeAutomated(int index) {return adapter.canParameterBeAutomated(index); }
- public boolean copyProgram(int destination) {return adapter.copyProgram(destination); }
- public int fxIdle() {return adapter.fxIdle();}
- public float getChannelParameter(int channel, int index) {return adapter.getChannelParameter(channel, index); }
- public int getNumCategories() {return adapter.getNumCategories();}
-
- public VSTPinProperties getInputProperties(int index) {return adapter.getInputProperties(index);}
- public VSTPinProperties getOutputProperties(int index) {return adapter.getOutputProperties(index);}
-
- public String getErrorText() {return adapter.getErrorText();}
- public int getGetTailSize() {return adapter.getGetTailSize();}
- public VSTParameterProperties getParameterProperties(int index) {return adapter.getParameterProperties(index);}
-
- public int getVstVersion () {return adapter.getVstVersion();}
- public void inputConnected (int index, boolean state) { adapter.inputConnected(index, state); }
- public void outputConnected (int index, boolean state) { adapter.outputConnected(index, state); }
- public boolean keysRequired () {return adapter.keysRequired();}
-
- public int processEvents (VSTEvents e) {return adapter.processEvents (e);}
- public boolean processVariableIo (VSTVariableIO vario) {return adapter.processVariableIo (vario);}
- public int reportCurrentPosition () {return adapter.reportCurrentPosition();}
- public float[] reportDestinationBuffer () {return adapter.reportDestinationBuffer();}
- public void setBlockSizeAndSampleRate(int blockSize, float sampleRate) { adapter.setBlockSizeAndSampleRate(blockSize, sampleRate); }
-
- public boolean setSpeakerArrangement (VSTSpeakerArrangement pluginInput, VSTSpeakerArrangement pluginOutput) {
- return adapter.setSpeakerArrangement(pluginInput, pluginOutput);
- }
- public boolean getSpeakerArrangement (VSTSpeakerArrangement pluginInput, VSTSpeakerArrangement pluginOutput) {
- return adapter.getSpeakerArrangement(pluginInput, pluginOutput);
- }
-
- //provide defaults for vst 2.1 OPTIONAL methods
- //********************************
- public int getMidiProgramName (int channel, MidiProgramName midiProgramName) { return adapter.getMidiProgramName (channel, midiProgramName); }
- public int getCurrentMidiProgram(int channel, MidiProgramName currentProgram) { return adapter.getCurrentMidiProgram(channel, currentProgram); }
- public int getMidiProgramCategory(int channel,MidiProgramCategory category) { return adapter.getMidiProgramCategory(channel, category); }
- public boolean hasMidiProgramsChanged(int channel) { return adapter.hasMidiProgramsChanged(channel); }
- public boolean getMidiKeyName(int channel, MidiKeyName keyName) { return adapter.getMidiKeyName(channel, keyName); }
- public boolean beginSetProgram() { return adapter.beginSetProgram();}
- public boolean endSetProgram() { return adapter.endSetProgram();}
-
-
- //provide defaults for vst 2.3 OPTIONAL methods
- //********************************
- public int setTotalSampleToProcess (int value) { return adapter.setTotalSampleToProcess (value); }
- public int getNextShellPlugin(String name) { return adapter.getNextShellPlugin(name); }
- public int startProcess() { return adapter.startProcess(); }
- public int stopProcess() { return adapter.stopProcess(); }
-
-
- //provide defaults for vst 2.4 OPTIONAL methods
- //********************************
- public void processDoubleReplacing (double[][] inputs, double[][] outputs, int sampleFrames) {adapter.processDoubleReplacing (inputs, outputs, sampleFrames); }
-
- public boolean setProcessPrecision (int precision){return adapter.setProcessPrecision (precision);}
- public int getNumMidiInputChannels(){return adapter.getNumMidiInputChannels();}
- public int getNumMidiOutputChannels(){return adapter.getNumMidiOutputChannels();}
-
-}
\ No newline at end of file
+ }
+}
+
+
+//~ Formatted by Jindent --- http://www.jindent.com
diff --git a/src/ProxyTools.java b/src/ProxyTools.java
index ca3ed8a..f5d2d26 100644
--- a/src/ProxyTools.java
+++ b/src/ProxyTools.java
@@ -1,24 +1,36 @@
-// tools shared between the two proxies
-// TODO: move this logic to jVSTwRapper directly ?
+//tools shared between the two proxies
+//TODO: move this logic to jVSTwRapper directly ?
public class ProxyTools {
- // Although I wanted to use VSTPluginAdapter.RUNNING_MAC_X instead of this, it raises AWT thread errors.
- // Sticking with this one for the moment.
- public static boolean useMacOSX() {
- String lcOSName = System.getProperty("os.name").toLowerCase();
- return lcOSName.startsWith("mac os x");
- }
-
- public static String getResourcesFolder(String logBasePath) {
- String resourcesFolder = logBasePath;
- if (useMacOSX()) // mac os x tweak :o
- resourcesFolder += "/../Resources";
- return resourcesFolder;
- }
-
- public static String getIniFileName(String resourcesFolder, String logFileName) {
- String iniFileName = logFileName.replaceAll("_java_stdout.txt","");
- if (useMacOSX())
- iniFileName += ".jnilib";
- return resourcesFolder + "/" + iniFileName + ".ini";
- }
-}
\ No newline at end of file
+ private ProxyTools() {}
+
+ // Although I wanted to use VSTPluginAdapter.RUNNING_MAC_X instead of this, it raises AWT thread errors.
+ // Sticking with this one for the moment.
+ public static boolean useMacOSX() {
+ String lcOSName = System.getProperty("os.name").toLowerCase();
+
+ return lcOSName.startsWith("mac os x");
+ }
+
+ public static String getResourcesFolder(String logBasePath) {
+ String resourcesFolder = logBasePath;
+
+ if (useMacOSX()) {
+ resourcesFolder += "/../Resources";
+ }
+
+ return resourcesFolder;
+ }
+
+ public static String getIniFileName(String resourcesFolder, String logFileName) {
+ String iniFileName = logFileName.replaceAll("_java_stdout.txt", "");
+
+ if (useMacOSX()) {
+ iniFileName += ".jnilib";
+ }
+
+ return resourcesFolder + "/" + iniFileName + ".ini";
+ }
+}
+
+
+
diff --git a/src/opaz_bootstrap.rb b/src/opaz_bootstrap.rb
index 38d820f..6966fbf 100644
--- a/src/opaz_bootstrap.rb
+++ b/src/opaz_bootstrap.rb
@@ -8,10 +8,10 @@
# plugin libs
require 'irb'
-require 'Plugin.jar'
+require 'Plugin.jar' if File.exists?(File.join(PLUGIN_RESOURCES_FOLDER, "Plugin.jar"))
# this is to be able to call the static log() method in VSTPluginAdapter
-include_class 'jvst.wrapper.VSTPluginAdapter'
+java_import 'jvst.wrapper.VSTPluginAdapter'
def log(msg)
VSTPluginAdapter.log("JRuby: #{msg}")
end
@@ -21,29 +21,29 @@ def log(msg)
# filename: is the name of the file to save the session in
# hide_IRB: is a command to suppress output of IRB class method calls.
# to prevent execution of the session in Ruby from giving errors.
-def IRB.save_session(filename="irb-session.rb",hide_IRB=true)
- file = File.open(filename,"w")
- file.puts "# Saved IRB session for #{Time.now}",""
- Readline::HISTORY.each do |line|
- next if line =~ /^\s*IRB\./ && hide_IRB
- file.puts line
- end
- file.close
+def IRB.save_session(filename="irb-session.rb", hide_IRB=true)
+ file = File.open(filename, "w")
+ file.puts "# Saved IRB session for #{Time.now}", ""
+ Readline::HISTORY.each do |line|
+ next if line =~ /^\s*IRB\./ && hide_IRB
+ file.puts line
+ end
+ file.close
end
$PLUGIN_IS_RELOADING = false
# extract ruby plugin class name from ini file
# current convention: %RubyPlugin%.rb should define the %RubyPlugin% class
-plugin_class_name = IO.read(PLUGIN_INI_FILE_NAME).grep(/^RubyPlugin=(.*)/) { $1 }.first.strip
+plugin_class_name = IO.read(PLUGIN_INI_FILE_NAME).split(%r{\n}).grep(/^RubyPlugin=(.*)/) { $1 }.first.strip
# print some debug stuff
log "plug='#{plugin_class_name}'"
log "res folder='#{PLUGIN_RESOURCES_FOLDER}'"
log "ini file='#{PLUGIN_INI_FILE_NAME}'"
log "wrapper='#{PLUGIN_WRAPPER}'"
-#log "load path='#{$LOAD_PATH}'"
-#log "class path='#{$CLASSPATH}'"
+log "load path='#{$LOAD_PATH}'"
+log "class path='#{$CLASSPATH}'"
# load the plugin code
require plugin_class_name
diff --git a/src/opaz_plug.rb b/src/opaz_plug.rb
index c9d6ab3..59dd360 100644
--- a/src/opaz_plug.rb
+++ b/src/opaz_plug.rb
@@ -2,10 +2,10 @@
require 'jruby'
# this is to be able to call the static log() method in VSTPluginAdapter
-include_class 'jvst.wrapper.VSTPluginAdapter'
-include_class 'jvst.wrapper.communication.VSTV20ToPlug'
-include_class 'jvst.wrapper.valueobjects.VSTPinProperties'
-include_class 'jvst.wrapper.valueobjects.VSTEvent'
+java_import 'jvst.wrapper.VSTPluginAdapter'
+java_import 'jvst.wrapper.communication.VSTV20ToPlug'
+java_import 'jvst.wrapper.valueobjects.VSTPinProperties'
+java_import 'jvst.wrapper.valueobjects.VSTEvent'
# explicitly disable objectspace
# this improves performance quite substantially
@@ -16,21 +16,30 @@ def self.included(base)
base.class_eval do
class << self
def plugin(effect, product, vendor)
- define_method :getEffectName do effect end
- define_method :getProductString do product end
- define_method :getVendorString do vendor end
+ define_method :getEffectName do
+ effect
+ end
+ define_method :getProductString do
+ product
+ end
+ define_method :getVendorString do
+ vendor
+ end
end
def unique_id(unique_id)
if unique_id.is_a?(String)
raise "unique_id must be a 4-characters string, or an int" unless unique_id.size == 4
- unique_id = (unique_id[0] << 24) | (unique_id[1] << 16) | (unique_id[2] << 8) | unique_id[3]
+ #throwing | not found for String
+ #unique_id = (unique_id[0] << 24) | (unique_id[1] << 16) | (unique_id[2] << 8) | unique_id[3]
+ end
+ define_method :unique_id do
+ unique_id
end
- define_method :unique_id do unique_id end
end
-
+
VST_PARAM_RANGE = (0.0..1.0)
-
+
# name: ruby symbol for the parameter - a corresponding attr_accessor will be created
# display_name: the name as shown in the vst host
# initial_value: the value the parameter will have at plugin startup
@@ -48,14 +57,14 @@ def param(name, display_name, initial_value, unit = "", range = VST_PARAM_RANGE)
end
else
define_method(name) do
- to_range_value(values[param_index],ranges[param_index])
+ to_range_value(values[param_index], ranges[param_index])
end
define_method("#{name}=") do |value|
setParameter(param_index, to_float_value(value, ranges[param_index]))
end
end
end
-
+
def editor(editor_class)
@editor_class = editor_class
end
@@ -67,15 +76,15 @@ def editor_class
def can_do(*abilities)
@abilities = abilities
end
-
+
def abilities
@abilities ||= []
end
-
+
def params
@params ||= []
end
-
+
end
def editor
@@ -83,44 +92,45 @@ def editor
end
attr_reader :editor_instance
+
def set_gui_instance(inst)
@editor_instance = inst
end
# convert 0..1 float value to plugin range
- def to_range_value(float_value,range)
+ def to_range_value(float_value, range)
range.begin + float_value * (range.end - range.begin)
end
-
+
# convert plugin range to 0..1 float space
- def to_float_value(range_value,range)
+ def to_float_value(range_value, range)
(range_value - range.begin) / (range.end - range.begin).to_f
end
-
+
def values
- @values ||= self.class.params.map { |e| to_float_value(e.initial_value,e.range) }
+ @values ||= self.class.params.map { |e| to_float_value(e.initial_value, e.range) }
end
-
+
def ranges
@ranges ||= self.class.params.map { |e| e.range }
end
-
+
def canDo(feature)
self.class.abilities.include?(feature) ? +1 : -1
end
-
+
def getParameter(index)
values[index]
end
-
+
def getParameterRange(index)
ranges[index]
end
-
+
def getProgramNameIndexed(category, index)
"Prog: cat #{category}, #{index}"
end
-
+
def getParameterDisplay(index)
sprintf("%1.2f", to_range_value(getParameter(index), ranges[index]))
end
@@ -133,7 +143,7 @@ def setParameter(index, value)
end
end
- def string2Parameter(index,value)
+ def string2Parameter(index, value)
begin
setParameter(index, Float(value)) unless value.nil?
return true
@@ -141,49 +151,50 @@ def string2Parameter(index,value)
return false
end
end
-
+
# vst "label" is the unit to be displayed aside the value
def getParameterLabel(index)
self.class.params[index].unit
end
-
+
# name is the display name
# TODO: rename those things
def getParameterName(index)
self.class.params[index].display_name
end
-
+
def getNumParams
self.class.params.size
end
-
+
def getNumPrograms
0 # TODO : implement programs support
end
-
+
def getProgram
0
end
-
+
def getProgramName
"Default"
end
-
- attr_accessor :sample_rate
+
+ attr_accessor :sample_rate
+
def setSampleRate(sample_rate)
@sample_rate = sample_rate
end
-
+
def setBypass(value)
false
end
-
-
+
+
# dummy implementation - avoids error when I reload a set under Live
def setProgramName(name)
end
-
-
+
+
# TODO - see how we can inherit static fields like PLUG_CATEG_EFFECT
# Or (other idea) - recreate these with an idiomatic port (symbols ?)
def getPlugCategory
@@ -191,25 +202,26 @@ def getPlugCategory
end
end
end
-
-
+
def log(msg)
VSTPluginAdapter.log("JRuby: #{msg}")
end
-
+
end
# start defining the class - do not inherit VSTPluginAdapter during tests
if $DISABLE_VSTPLUGINADAPTER_INHERIT
- class OpazPlug; end
+ class OpazPlug;
+ end
else
- class OpazPlug < Java::jvst.wrapper.VSTPluginAdapter; end
+ class OpazPlug < Java::jvst.wrapper.VSTPluginAdapter;
+ end
end
# carry on with regular class definition
class OpazPlug
include Plug
-
+
def initialize(wrapper)
super
log("Booting #{getEffectName}:#{getProductString}:#{getVendorString}")
@@ -218,12 +230,12 @@ def initialize(wrapper)
canProcessReplacing(true)
setUniqueID(unique_id)
end
-
+
# forward calls
def processReplacing(inputs, outputs, sampleFrames)
- if $PLUGIN_IS_RELOADING==false
+ if $PLUGIN_IS_RELOADING==false
process(inputs, outputs, sampleFrames)
end
end
-
+
end
\ No newline at end of file
diff --git a/tasks/.tools.rb.marks b/tasks/.tools.rb.marks
new file mode 100644
index 0000000..e75b937
Binary files /dev/null and b/tasks/.tools.rb.marks differ
diff --git a/tasks/benchmark.rb b/tasks/benchmark.rb
index 9d3c4dc..0034bee 100644
--- a/tasks/benchmark.rb
+++ b/tasks/benchmark.rb
@@ -3,43 +3,57 @@ module JavaIO
include_package "java.io"
end
+#noinspection RubyInstanceVariableToStringInspection,RubyResolve
def load_plugin
# todo - detect our platform base on rbconfig output
platform = :osx
-
+
# todo - share this logic with tools.rb, or not ?
platform_folder = File.expand_path(File.dirname(__FILE__)) + "/../#{@plugin_folder}/build/#{platform}"
resources_folder = platform_folder + "/#{@plugin_name}.vst" + (platform == :osx ? "/Contents/Resources" : "")
native_lib = %w(dll jnilib).map { |ext| Dir[platform_folder+"/**/*.#{ext}"] }.flatten.first # woot!
# prepare required classes
+ #noinspection RubyResolve
require 'java'
+ #noinspection RubyResolve
$CLASSPATH << resources_folder # $CLASSPATH trick provided by headius on #jruby
+ #noinspection RubyResolve
require 'jVSTwRapper-1.0beta.jar'
+ #noinspection RubyResolve
require 'jVSTsYstem-1.0beta.jar'
+ #noinspection RubyResolve
include_class Java::JRubyVSTPluginProxy
-
- JRubyVSTPluginProxy._hackishInit(native_lib,true)
+
+ #noinspection RubyResolve
+ JRubyVSTPluginProxy._hackishInit(native_lib, true)
+ #noinspection RubyResolve
JRubyVSTPluginProxy.new(0)
end
desc "Try to ensure the plugin is syntactically correct"
+#noinspection RubyResolve
task :validate => :environment do
plugin = load_plugin
- plugin.process([[1.0,0.8]].to_java(Java::float[]),[[1.0,0.8]].to_java(Java::float[]),100)
+ #noinspection RubyResolve
+ plugin.process([[1.0, 0.8]].to_java(Java::float[]), [[1.0, 0.8]].to_java(Java::float[]), 100)
end
desc "Experimental benchmark of a given plugin (required jrake instead of rake)"
+#noinspection RubyResolve
task :benchmark => :environment do
include_class 'javax.sound.sampled.AudioFileFormat'
include_class 'javax.sound.sampled.AudioInputStream'
include_class 'javax.sound.sampled.AudioSystem'
-
+
+ #noinspection RubyResolve
clip = AudioSystem.getAudioInputStream(JavaIO::File.new(File.dirname(__FILE__) + '/../samples/sample.wav'))
+ #noinspection RubyResolve
puts "Test sample: #{clip.getFormat}"
- puts "#{clip.getFrameLength} sample frames"
-
+ #noinspection RubyResolve
+ puts "#{clip.getFrameLength} sample frames"
+
# todos:
# - load the whole PCM data in memory and convert it to floats before starting measuring time
# - pass the floats through plugin.process
@@ -52,10 +66,11 @@ def load_plugin
#
# to read:
# - http://stackoverflow.com/questions/957850/how-to-convert-a-wav-audio-data-sample-into-an-double-type for help
-
+
# note the conversion to java types (trick from headius again)
# todo - load and process a real sample instead, and measure the time taken
plugin = load_plugin
- plugin.process([[1.0,0.8]].to_java(Java::float[]),[[1.0,0.8]].to_java(Java::float[]),100)
+ #noinspection RubyResolve
+ plugin.process([[1.0, 0.8]].to_java(Java::float[]), [[1.0, 0.8]].to_java(Java::float[]), 100)
end
diff --git a/tasks/prepare.rb b/tasks/prepare.rb
index 62fefdc..8804acc 100644
--- a/tasks/prepare.rb
+++ b/tasks/prepare.rb
@@ -1,6 +1,6 @@
# maintainer tasks - you shouldn't have to use these too much
namespace :prepare do
-
+
desc "Download and prepare the platform-specific templates"
task :templates do
rm_rf "templates"
@@ -8,7 +8,7 @@
unzip_folder = template(platform) + "/archive/unzipped"
mkdir_p unzip_folder unless File.exist?(unzip_folder)
download_and_unpack(platform, unzip_folder)
-
+
root = "#{unzip_folder}/jVSTwRapper-Release-#{JVSTWRAPPER_VERSION}"
if platform == :osx
cp_r root+"-osx/jvstwrapper.vst", template(platform)
@@ -33,10 +33,10 @@
download_and_unpack(:win, "libs/temp")
Dir["libs/temp/**/*-#{JVSTWRAPPER_VERSION}.jar"].select { |e| e.split('/').last =~ /jvst(system|wrapper)/i }.each { |f| cp f, "libs" }
- #{}"http://repository.codehaus.org/org/jruby/jruby/1.4.0/"
- system!("curl http://repository.codehaus.org/org/jruby/jruby-complete/1.4.0/jruby-complete-1.4.0.jar -o libs/jruby-complete-1.4.0.jar --silent --show-error")
+ #{}"http://jruby.org.s3.amazonaws.com/downloads/1.7.3/jruby-complete-1.7.3.jar"
+ system!("curl http://jruby.org.s3.amazonaws.com/downloads/1.7.3/jruby-complete-1.7.3.jar -o libs/jruby-complete-1.6.7.2.jar --silent --show-error")
end
-
+
desc "Copy JavaFX libs"
task :javafx_libs do
# TODO - understand:
@@ -50,6 +50,6 @@
FileUtils.cp(file, 'libs', :verbose => true)
end
end
-
+
end
diff --git a/tasks/tools.rb b/tasks/tools.rb
index 4f22d1a..b8a8bfe 100644
--- a/tasks/tools.rb
+++ b/tasks/tools.rb
@@ -3,7 +3,7 @@ module Tools
PLATFORMS = [:linux, :osx, :win]
JVSTWRAPPER_VERSION = '1.0beta'
-
+
# javac -classpath jar1:jar2:jar3 works on unix, but need ; for separator on windows
def jar_separator(platform)
(platform =~ /mswin/ || platform == :win) ? ';' : ':'
@@ -24,15 +24,18 @@ def in_folder(folder)
def mirahc_command
cmd = 'mirahc'
- cmd << '.bat' if Config::CONFIG['host_os'] =~ /mswin/
+ cmd << '.bat' if RbConfig::CONFIG['host_os'] =~ /mswin/
cmd
end
-
+
def running_platform
- case Config::CONFIG['host_os']
- when /darwin/; :osx
- when /mswin/; :win
- else raise "Unsupported platform for deploy"
+ case RbConfig::CONFIG['host_os']
+ when /darwin/;
+ :osx
+ when /mswin/;
+ :win
+ else
+ raise "Unsupported platform for deploy"
end
end
@@ -41,8 +44,8 @@ def system!(cmd)
raise "Failed to launch #{cmd}" unless system(cmd)
end
- def templatized_file(source,target)
- File.open(target,"w") do |output|
+ def templatized_file(source, target)
+ File.open(target, "w") do |output|
IO.readlines(source).each do |line|
line = yield line
output << line
@@ -53,7 +56,7 @@ def templatized_file(source,target)
def template(platform)
"templates/#{platform}"
end
-
+
def opaz_jars
Dir[File.dirname(__FILE__) + "/../libs/*.jar"]
end
@@ -68,43 +71,44 @@ def download_and_unpack(platform, unzip_folder)
def build_folder(plugin_folder)
plugin_folder + "/build"
end
-
- def package_plugin(plugin_name,plugin_folder,platforms=PLATFORMS)
+
+ def package_plugin(plugin_name, plugin_folder, platforms=PLATFORMS)
platforms.each do |platform|
platform_build_folder = build_folder(plugin_folder) + "/#{platform}"
resources_folder = platform_build_folder + "/wrapper.vst" + (platform == :osx ? "/Contents/Resources" : "")
# copy platform template
- cp_r template(platform), platform_build_folder
+ # cp_r template(platform), platform_build_folder
+ cp_r template(platform), build_folder(plugin_folder)
# create ini file
ini_file = resources_folder + "/" + (platform == :osx ? "wrapper.jnilib.ini" : "wrapper.ini")
- File.open(ini_file,"w") do |output|
+ File.open(ini_file, "w") do |output|
content = []
#content << "ClassPath={WrapperPath}/jVSTwRapper-#{JVSTWRAPPER_VERSION}.jar"
jars = opaz_jars.find_all { |e| e =~ /jruby|jvst/i }.map { |e| e.split('/').last }
class_path = jars.find_all { |e| e =~ /jVSTwRapper/i } + ['Plugin.jar']
-
- system_class_path = jars + ['javafx-ui-swing.jar','javafx-sg-swing.jar',
- 'javafxrt.jar', 'javafx-ui-common.jar', 'javafx-geom.jar',
- 'javafx-sg-common.jar', 'javafx-anim.jar', 'javafx-ui-desktop.jar',
- 'decora-runtime.jar','OpazPlug.jar']
-
- content << "ClassPath=" + class_path.map { |jar| "{WrapperPath}/#{jar}"}.join(jar_separator(platform))
-
+
+ system_class_path = jars + ['javafx-ui-swing.jar', 'javafx-sg-swing.jar',
+ 'javafxrt.jar', 'javafx-ui-common.jar', 'javafx-geom.jar',
+ 'javafx-sg-common.jar', 'javafx-anim.jar', 'javafx-ui-desktop.jar',
+ 'decora-runtime.jar', 'OpazPlug.jar']
+
+ content << "ClassPath=" + class_path.map { |jar| "{WrapperPath}/#{jar}" }.join(jar_separator(platform))
+
# TODO - is order important here ? If not, base ourselves on opaz_jars to stay DRY
#system_class_path = opaz_jars #["jVSTsYstem-#{JVSTWRAPPER_VERSION}","jVSTwRapper-#{JVSTWRAPPER_VERSION}", "jruby-complete-1.4.0"]
- content << "SystemClassPath=" + system_class_path.map { |jar| "{WrapperPath}/#{jar}"}.join(jar_separator(platform)) + jar_separator(platform) + "{WrapperPath}/"
+ content << "SystemClassPath=" + system_class_path.map { |jar| "{WrapperPath}/#{jar}" }.join(jar_separator(platform)) + jar_separator(platform) + "{WrapperPath}/"
content << "IsLoggingEnabled=1"
content << "JVMOption1=-Djruby.objectspace.enabled=false" #This is the default, so this could eventually be removed
content << ""
content << "# JRuby Performance tweaks, enable all for best performance"
- content << "#JVMOption1=-Djruby.compile.fastsend"
- content << "#JVMOption2=-Djruby.compile.fastest"
- content << "#JVMOption3=-Djruby.indexed.methods=true"
- content << "#JVMOption4=-Djruby.compile.mode=FORCE"
- content << "#JVMOption5=-Djruby.compile.fastcase"
+ content << "JVMOption1=-Djruby.compile.fastsend"
+ content << "JVMOption2=-Djruby.compile.fastest"
+ content << "JVMOption3=-Djruby.indexed.methods=true"
+ content << "JVMOption4=-Djruby.compile.mode=FORCE"
+ content << "JVMOption5=-Djruby.compile.fastcase"
content << ""
content << "# This UI class will ask the JRuby plugin if it has an editor or not."
content << "# If there is no editor defined, the GUI will be an empty frame and a separate"
@@ -115,7 +119,7 @@ def package_plugin(plugin_name,plugin_folder,platforms=PLATFORMS)
content << ""
content << "# Alternatively, you can only open the IRB debugging GUI by uncommenting the appropriate line below."
content << "# No separate plugin GUI will be shown. "
- content << "#PluginUIClass=IRBPluginGUI"
+ content << "PluginUIClass=IRBPluginGUI"
content << ""
content << "AttachToNativePluginWindow=1"
content << ""
@@ -124,7 +128,7 @@ def package_plugin(plugin_name,plugin_folder,platforms=PLATFORMS)
content << "ReloadRubyOnChanges=1"
content << ""
yield content # offer the caller a way to hook its stuff in here
- content.each { |e| output << e + "\n"}
+ content.each { |e| output << e + "\n" }
end
# add classes and jars - crappy catch all (include .rb file even for pure-java stuff), but works so far
@@ -136,22 +140,22 @@ def package_plugin(plugin_name,plugin_folder,platforms=PLATFORMS)
if platform == :osx
plist_file = platform_build_folder + "/wrapper.vst/Contents/Info.plist"
plist_content = IO.read(plist_file).gsub!(/(\w*)<\/key>\s+([^<]+)<\/string>/) do
- key,value = $1, $2
+ key, value = $1, $2
value = plugin_name+".jnilib" if key == 'CFBundleExecutable'
value = plugin_name if key == 'CFBundleName'
"#{key} \n #{value} "
end
- File.open(plist_file,"w") { |output| output << plist_content }
+ File.open(plist_file, "w") { |output| output << plist_content }
end
# rename to match plugin name - two pass - first the directories, then the files
(0..1).each do |pass|
Dir[platform_build_folder+"/**/wrapper*"].partition { |f| File.directory?(f) }[pass].each do |file|
- File.rename(file,file.gsub(/wrapper/,plugin_name))
+ File.rename(file, file.gsub(/wrapper/, plugin_name))
end
end
end
end
-
+
end
end
diff --git a/templates/linux/wrapper.vst/wrapper.so b/templates/linux/wrapper.vst/wrapper.so
deleted file mode 100755
index cd4ec6f..0000000
Binary files a/templates/linux/wrapper.vst/wrapper.so and /dev/null differ
diff --git a/templates/osx/wrapper.vst/Contents/Info.plist b/templates/osx/wrapper.vst/Contents/Info.plist
deleted file mode 100644
index 551c9d6..0000000
--- a/templates/osx/wrapper.vst/Contents/Info.plist
+++ /dev/null
@@ -1,30 +0,0 @@
-
-
-
-
- CFBundleDevelopmentRegion
- English
- CFBundleExecutable
- libjvstwrapper.jnilib
- CFBundleGetInfoString
- jVSTwRapper - The Java way into VST world - http://jvstwrapper.sf.net/
- CFBundleIconFile
- jvstwrapper.icns
- CFBundleIdentifier
- net.sourceforge.jvstwrapper
- CFBundleInfoDictionaryVersion
- 6.0
- CFBundleName
- jVSTwRapper VST PlugIn
- CFBundlePackageType
- BNDL
- CFBundleShortVersionString
- 1.0
- CFBundleSignature
- ????
- CFBundleVersion
- 1.0
- CSResourcesFileMapped
-
-
-
diff --git a/templates/osx/wrapper.vst/Contents/MacOS/wrapper.jnilib b/templates/osx/wrapper.vst/Contents/MacOS/wrapper.jnilib
deleted file mode 100755
index 04c40d1..0000000
Binary files a/templates/osx/wrapper.vst/Contents/MacOS/wrapper.jnilib and /dev/null differ
diff --git a/templates/osx/wrapper.vst/Contents/PkgInfo b/templates/osx/wrapper.vst/Contents/PkgInfo
deleted file mode 100644
index 19a9cf6..0000000
--- a/templates/osx/wrapper.vst/Contents/PkgInfo
+++ /dev/null
@@ -1 +0,0 @@
-BNDL????
\ No newline at end of file
diff --git a/templates/osx/wrapper.vst/Contents/Resources/bmp00128.bmp b/templates/osx/wrapper.vst/Contents/Resources/bmp00128.bmp
deleted file mode 100755
index 2bce170..0000000
Binary files a/templates/osx/wrapper.vst/Contents/Resources/bmp00128.bmp and /dev/null differ
diff --git a/templates/osx/wrapper.vst/Contents/Resources/bmp00129.bmp b/templates/osx/wrapper.vst/Contents/Resources/bmp00129.bmp
deleted file mode 100755
index 9679430..0000000
Binary files a/templates/osx/wrapper.vst/Contents/Resources/bmp00129.bmp and /dev/null differ
diff --git a/templates/osx/wrapper.vst/Contents/Resources/jvstwrapper.icns b/templates/osx/wrapper.vst/Contents/Resources/jvstwrapper.icns
deleted file mode 100644
index 9e7f523..0000000
Binary files a/templates/osx/wrapper.vst/Contents/Resources/jvstwrapper.icns and /dev/null differ
diff --git a/templates/osx/wrapper.vst/Icon b/templates/osx/wrapper.vst/Icon
deleted file mode 100644
index 9e7f523..0000000
Binary files a/templates/osx/wrapper.vst/Icon and /dev/null differ
diff --git a/templates/win/wrapper.vst/wrapper.dll b/templates/win/wrapper.vst/wrapper.dll
deleted file mode 100755
index 5289ed6..0000000
Binary files a/templates/win/wrapper.vst/wrapper.dll and /dev/null differ
diff --git a/use_jruby.sh b/use_jruby.sh
deleted file mode 100755
index 85829bd..0000000
--- a/use_jruby.sh
+++ /dev/null
@@ -1,2 +0,0 @@
-export PATH=~/jruby-1.3.0/bin/:$PATH
-bash
\ No newline at end of file