Difference between revisions of "Development"
Latest revision as of 12:49, 28 November 2014
We recommend using Eclipse for an easy start into jOrgan development. Each module contains an Eclipse project file which you can import into your workspace.
If you want to participate in our development you can access the program's source code from our wikipedia:Subversion_(software) Subversion repository:
jOrgan is divided into several modules: One core module and one additional module for each extension.
With the following command you get a full copy of the program's source code into a local folder 'jorgan':
svn checkout https://svn.code.sf.net/p/jorgan/code/trunk jorgan
Building from Source
To build jOrgan your system has to fulfill the following prerequisites:
- Java Development Kit 1.6
- Apache Ant
- GNU Compiler Collection (required by extensions using native code)
Depending on your setup you will have to adjust paths in the file build.properties. Start ant in the root folder to build all modules:
You can now use the script ./run.sh to start jOrgan.
For linux there are additional prerequisites:
- fluidsynth headers for the fluidsynth extension (sudo apt-get install libfluidsynth-dev)
- awesfx for the Creative extension (unpack the source and run ./configure)
No program is free of bugs, neither is jOrgan.
If jOrgan reports an unexpected exception, we might find a clue in your application log. This is a file written in your home folder as .jorgan/app.log. Check its contents and report the last entries on our mailing list.
If you experience sluggishness with the program, the activity of the garbage collector might give use some clues. Please start jOrgan with the following parameters:
java -verbose:gc -jar jorgan.jar
If you encounter program freezes, this might caused by threading problems. Please start jOrgan with the following parameters:
java -jar jorgan.jar
As soon as jOrgan becomes unresponsive, press Ctrl+Pause (CTRL+\ for Unix) on the command line to generate a thread dump:
If jOrgan is running in the background then send it the QUIT signal:
kill -QUIT <pid>
For memory usage analysis it might be necessary to have a heap dump available. For this start jOrgan with the hprof agent enabled:
java -agentlib:hprof=format=b -jar jorgan.jar
On program exit the file java.hprof will be generated which we'll be able to analyse later on.