Orinj version 9.0.0
Note: This page is not for the users of Orinj, but for developers who want to create digital signal processing effects for Orinj.
Orinj uses a strict framework for effects. Effects must implement specific Java interfaces and extend specific Java classes and must be placed in Java JAR files that contain XML descriptions according to a strictly defined XML schema. This allows Orinj to recognize and import effects during startup. Effects can be created and updated without Orinj. Similarly, Orinj can be updated without changing the effects. Developers can create their own effects.
The following are topics on the Orinj effect framework.
oreffect.jar
Example delay package
Example delay Delay.java
Example delay DelayPanel.java
Example delay effect.xml
Testing effects
These are further explained below.
- oreffec.jar – this JAR file is the basis for all Orinj effects. It contains the interfaces that should be implemented by the effect itself and its user interface.
- Example delay package – this topic includes the source code for an example Orinj effect – a simple delay with as single delayed and decayed repetition of the signal. The JAR package is described in this topic.
- Example delay Delay.java – this topic describes the source code for the class that implements the delay effect.
- Example delay DelayPane.java – this topic describes the source code for the class that implements the user interface for the delay effect.
- Example delay effect.xml – every effect package must contain an effect.xml file that describes the effects in the package to Orinj. This topic describes the effect.xml file included in the example delay package.
- Testing effects – this topic includes source code that allows developers to test their effects.
Effects and multithreading
While Orinj uses various threads during playback, recording, and the premixing of tracks (see Orinj Working with sessions tracks), no two such threads will access effects simultaneously. This means that effects created for Orinj do not need additional code to be thread safe.
Add new comment