Orinj Generator framework Square wave

Orinj version 7.0.0

Note: This page is not for the users of Orinj, but for developers who want to create generators for Orinj.


squarewave.zip January 12, 2019 The source code for the square wave generator (5 KB).

This code was developed using the Orinj generator framework. If this code is compiled and placed in a Java JAR file, the resulting JAR file can be copied into the orinj/generators folder of the Orinj installation. Upon startup, Orinj will recognize this JAR file and the generator in it (the Square Wave). Orinj will then create a menu item in its menu for generators and will thus allow users to create wave files with this generator.

Code for the square wave generator

Square Wave can be used to create simple square waves. When you create a square wave with this generator, Orinj will place the audio data for the square wave in a wave file and open that file in its single wave view.

The code for the Square Wave contains three files:

  • SquareWave.java – this is the implementation of the square wave generator. The most interesting function in this class is getData(). This function produces the byte buffers that contain the audio data for the square wave.
  • SquareWavePanel.java – this is the graphical user interface for the square wave generator. It contains the controls that the user can modify to change the resulting square wave.
  • generator.xml – this XML file describes the generator to Orinj, so that Orinj can actually use the generator.

These are the files required for creating generators in Orinj. A generator package (a JAR file) may contain other files as well.

Choice of package name

Both Java classes above are placed in the package com.recordingblogs.squarewave. Using a URL for the package name is a good idea, as it helps in making sure that generator names are not duplicated (e.g., two designers could create two generators with the same name).

Compiling the square wave generator

The commands to compile this source code are as follows.

javac "SquareWave\src\com\recordingblogs\squarewave\SquareWave.java" -d "SquareWave\class" -classpath "SquareWave\class;orinj\orgenerator.jar"
javac "SquareWave\src\com\recordingblogs\squarewave\SquareWavePanel.java" -d "SquareWave\class" -classpath "SquareWave\class;orinj\orgenerator.jar"
copy SquareWave\src\generator.xml SquareWave\class\generator.xml
jar cf "orinj\generators\squarewave.jar" -C "SquareWave\class" .

The first two lines compile the Java source code. Note that this source code uses orgenerator.jar, which defines the interfaces that the classes have to implement. The third line from the top copies the file generator.xml at the appropriate place. The last line prepares the generator package JAR file.

See also:
Orinj Generator framework

Add new comment

Filtered HTML

  • Freelinking helps you easily create HTML links. Links take the form of [[indicator:target|Title]]. By default (no indicator): Click to view a local node.
  • Web page addresses and e-mail addresses turn into links automatically.
  • Lines and paragraphs break automatically.

Plain text

  • No HTML tags allowed.
  • Web page addresses and e-mail addresses turn into links automatically.
  • Lines and paragraphs break automatically.
This question is for testing whether or not you are a human visitor and to prevent automated spam submissions.
Enter the characters shown in the image.