Development
jOrgan is developed in the wikipedia:Java_(programming_language) programming language. The project is developed on Ubuntu Linux and was hosted on sourceforge.net. What follows on this page, until updated, needs to be considered in the light of Sven Meier’s announcement made in January 2021:
“Any further development on jOrgan will happen on github: https://github.com/svenmeier/jorgan
The old SVN repository is now frozen and further services will be moved away from SourceForge in the future.”
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.
Source code
If you want to participate in our development you can access the program's source code from our wikipedia:Subversion_(software) Subversion repository:
https://sourceforge.net/p/jorgan/code
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
-
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:
ant
You can now use the script ./run.sh to start jOrgan.
Windows users can use the Mingw-w64 compiler. Twilight Dragon Media offers a convenient TDM-GCC installer.
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)
Trouble shooting
No program is free of bugs, neither is jOrgan.
Exception
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.
Crash
Under rare circumstances the wikipedia:JVM might crash, i.e. it ends immediately. Please check the existence of a file hs_err_pidxxxx.log and post it on our mailing list.
Sluggishness
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
Freeze
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>
Memory exhaustion
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.
Navigation