Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/thbar/opaz-plugdk
Implement your VST plugins with JRuby, Mirah, Java and JavaFX
https://github.com/thbar/opaz-plugdk
Last synced: 2 months ago
JSON representation
Implement your VST plugins with JRuby, Mirah, Java and JavaFX
- Host: GitHub
- URL: https://github.com/thbar/opaz-plugdk
- Owner: thbar
- Created: 2009-05-13T12:30:42.000Z (over 15 years ago)
- Default Branch: master
- Last Pushed: 2012-09-08T22:18:59.000Z (over 12 years ago)
- Last Synced: 2024-10-14T02:50:05.921Z (3 months ago)
- Language: Ruby
- Homepage:
- Size: 55.6 MB
- Stars: 72
- Watchers: 7
- Forks: 9
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
[![Build Status](https://secure.travis-ci.org/thbar/opaz-plugdk.png)](http://travis-ci.org/thbar/opaz-plugdk)
WHAT'S THERE ?
--------------Opaz-PlugDK makes it easier/faster to create portable (Mac OS X, Windows, Linux) VST 2 plugins.
You can mix and match JRuby, Duby and Java to implement the plugins.
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
------------------The examples are under the plugins folder:
* DubyGain, DubyFilta and DubyFreeComp are reflecting our current work trend, ie: mix JRuby (for declarative stuff) and Duby (for computation)
* HybridGain, HybridFilta and HybridSynth mix JRuby (for declarative stuff) and Java (for computation)
* RubyDelay, RubyFreeComp and RubyGain are pure JRuby versionDEPENDENCIES
------------Required:
* Java JDK (tested with version 1.6+) - the JRE is not sufficient
* JRuby (tested with version 1.6.7)Optional:
* Mirah: jgem install mirah (or on Windows: jruby -S gem install mirah)
* JavaFX: install the JavaFX SDK 1.2.3HOW TO BUILD A PLUGIN
---------------------See under plugins/ then use the available rake tasks to package one of them:
rake -f build.rakefile package plugin=DubyFreeComp
The package system will create ready-to-use VST for Windows, Mac OS X and Linux under the build subfolder of the plugin.BUILD ORDER
===========Things are currently compiled in this order:
* src/* (Opaz stuff)
* your_plugin/*.duby
* your_plugin/*.java
* your_plugin/*.fxPLUGINS STATUS
==============All the plugins compile and are able to be loaded in Ableton Live, except the Ruby based ones (temporary issue).
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 informations while creating plugins. You can achieve this by calling "log" from the plugin:
class MyPlugin < OpazPlug
def some_stuff
log("message!")
end
endThe logs end up inside some 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 for his help on JRuby/Duby!
* Thanks as well to JFXtras for their implementation of SceneToJComponent.