Ninjam

libninjam

I split up the code of ninjam so that the code used by the client as well as the server ends up in a shared library. Further more there is now a library that should be the common ground for all the ninjam clients. This makes it also easier to develop clients outside the original ninjam source tree.
The source code of ninjam includes the source code of the shared libraries libninjam-common and libninjam-client, as well as the cursesclient and the server. Just like in the original distribution.
Note: For up-to-date source-code of libninjam you may have a look at the svn repository on the sourceforge project page of gninjam.
Note 2: In the svn repository exists a branch of libninjam with session-mode and voice-chat support. The procedure of compiling the code is analogous to the instructions given here.

Instructions:

Download the source tarball[an error occurred while processing this directive] and the diff file.
wget http://gehrignet.de/ubuntu/hardy/ninjam_0.06.orig.tar.gz
[an error occurred while processing this directive]wget http://gehrignet.de/ubuntu/hardy/ninjam_0.06-1ubuntu9.diff.gz
Unpack the tarball:
tar xvzf ninjam_0.06.orig.tar.gz
[an error occurred while processing this directive]Patch the directory:
cd ninjam-0.06.orig
zcat ../ninjam_0.06-1ubuntu9.diff.gz | patch -p1
Build it:
[an error occurred while processing this directive]cd ninjam-0.06
[an error occurred while processing this directive]./autogen.sh
[an error occurred while processing this directive]./configure
make
sudo make install

Debian/Ubuntu package:

Prebuilt deb packages are available through my repository. Which you can add to your /etc/apt/sources.list or your favorite package manager with the following line:
deb http://gehrignet.de/ubuntu/ hardy/
for access to the source packages:
deb-src http://gehrignet.de/ubuntu/ hardy/
And then you can install them with:
sudo apt-get install libninjam-common libninjam-client
If you also need the development files:
sudo apt-get install libninjam-common-dev libninjam-client-dev
The server can be optained by:
sudo apt-get install ninjam-server
The ncurses client can be optained by:
sudo apt-get install ninjam-client
Note: These packages were built on a current version of Ubuntu Hardy. So if you have an older version of Ubuntu you will probably have to built the packages yourself using the sources above, because you will probably not meet the package requirements. Here is how you can do that after adding the deb-src line above to your /etc/apt/sources.list
sudo apt-get build-dep ninjam
apt-get source ninjam
cd ninjam-0.06-1ubuntu9
[an error occurred while processing this directive]./autogen.sh
dpkg-buildpackage -rfakeroot -b -uc -us
[an error occurred while processing this directive]And install it using dpkg:
sudo dpkg -i ninjam_0.06-1ubuntu9.deb

Changelog:

  • 0.6-1ubuntu9:
    • add conditional to Makefile to predict correct compile flags for 64bit CPUs
  • 0.6-1ubuntu8:
    • add per-user autosubscribe option
  • 0.6-1ubuntu7:
    • make create_audioStreamer_JACK return NULL, if the jack connection cannot be successfully established.
  • 0.6-1ubuntu6:
    • reopen server log file on SIGHUP so that logrotate can work properly
    • updated logrotate file to reload server after log rotation
  • 0.6-1ubuntu5:
    • fixed output of month in server log file
  • 0.6-1ubuntu4:
    • apply patch from jnc to get njclient.cpp to compile on amd64
    • fixed WDL/sha.cpp so authentication on ninjam server works correctly on amd64
  • 0.6-1ubuntu3:
    • add php script examples to retrieve the server status
    • add official server guide
  • 0.6-1ubuntu2:
    • fix build-depends
  • 0.6-1ubuntu1:
    • add init.d script, logrotate, default and config file
  • 0.6-1:
    • merged with new upstream version of server
  • 0.02-7ubuntu3:
    • fix some Makefile errors and create pkgconfig automatically with correct PREFIX (patch by Adam Sampson) and VERSION
  • 0.02-7ubuntu2:
    • add pkgconfig files for client libraries set stereoout to true by default to fix a problem in cninjam (patch by Adam Sampson)
    • separate PREFIX and DESTDIR in makefiles
    • enable backspace key in curses client for non-MAC platforms (patch by Adam Sampson)
  • 0.02-7ubuntu1:
    • update pkgconfig file to reflect current version
  • 0.02-7:
    • fix compilation of cursesclient on system where libninjam has not yet been installed.
  • 0.02-6:
    • added jack transport fix from robin
    • added patch for multiple outputs from expertsleepers
    • fix problem with possibly negative output channel number
    • make stereo channel output configurable
    • add interface for adding audio channels and getting the names from in- and output ports seperately
  • 0.02-5:
    • make number of in-/output channels and client name of the jack driver variable
  • 0.02-4:
    • reenabled alsa driver in addition to the jack driver; some more conversions from char* to const char*
  • 0.02-3:
    • change filename parameter in WaveWriter to const char*
  • 0.02-2:
    • changed SetLocalChannelInfo to get const char* name as input instead of char* name
  • 0.02-1:
    • initial release of ninjam library with debian packaging

gninjam - GTK client for NINJAM

I finished the basic elements of the gui. It may be still a bit buggy, but it is working.
Some settings are now included in the preferences dialog using gconfd for saving the configuration. The channel settings are also saved using gconfd now instead of the old ninjam.config file.
Note: Since this is an pre-alpha release there is no guarantee for anything;-).
Note 2: For up-to-date source-code of gninjam you may have a look at the svn repository on the sourceforge project page of gninjam.
Note 3: In the svn repository exists a branch of gninjam with session-mode and voice-chat support. The procedure of compiling the code is analogous to the instructions given here. You will also need libninjam with session-mode and voice-chat support to compile this branch of gninjam.

Requirements:

Get and install libninjam, especially the development files for the client.

Instructions:

Download the source tarball[an error occurred while processing this directive] and the diff file.
wget http://gehrignet.de/ubuntu/jaunty/gninjam_0.01a.orig.tar.gz
[an error occurred while processing this directive]wget http://gehrignet.de/ubuntu/jaunty/gninjam_0.01a-13ubuntu1.diff.gz
Unpack the tarball:
tar xvzf gninjam_0.01a.orig.tar.gz
[an error occurred while processing this directive]Patch the directory:
cd gninjam-0.01a.orig
zcat ../gninjam_0.01a-13ubuntu1.diff.gz | patch -p1
Build it:
[an error occurred while processing this directive]cd gninjam-0.01a
[an error occurred while processing this directive]./autogen.sh
[an error occurred while processing this directive]./configure
make
sudo make install

Debian/Ubuntu package:

Prebuilt deb packages are available through my repository. Which you can add to your /etc/apt/sources.list or your favorite package manager with the following line:
deb http://gehrignet.de/ubuntu/ jaunty/
for access to the source packages:
deb-src http://gehrignet.de/ubuntu/ jaunty/
After adding the repository you have to update your package list either by using your favorite package manager or by the following command:
sudo apt-get update
And then you can install gninjam with:
sudo apt-get install gninjam
Note: These packages were built on a current version of Ubuntu Intrepid. So if you have an older version of Ubuntu you will probably have to built the packages yourself using the sources above, because you will probably not meet the package requirements. Here is how you can do that after adding the deb-src line above to your /etc/apt/sources.list
sudo apt-get build-dep gninjam
apt-get source gninjam
cd gninjam-0.01a-13ubuntu1
[an error occurred while processing this directive]./autogen.sh
dpkg-buildpackage -rfakeroot -b -uc -us
[an error occurred while processing this directive]And install it using dpkg:
sudo dpkg -i gninjam_0.01a-13ubuntu1.deb

Changelog:

  • 0.01a-13ubuntu1:
    • fix compilation problem on intrepid
  • 0.01a-13:
    • add per-user autosubscribe option in preferences dialog
  • 0.01a-12ubuntu1:
    • start gui even if audio interface could not be successfully initialized
  • 0.01a-12:
    • disable markup for the label of the RemoteUserFrame to overcome those gtk warnings about the @ symbol.
    • add checkbutton for anonymous login
    • add accelerator to connect dialog, so that it is possible to simply press return to connect
    • add about dialog
  • 0.01a-11ubuntu4:
    • rebuild with new libninjam version
  • 0.01a-11ubuntu3:
    • fix automatic scrolling of chat log (patch by Adam Sampson)
  • 0.01a-11ubuntu2:
    • use pkgconfig file of ninjam-client instead of ninjam
  • 0.01a-11ubuntu1:
    • use pkgconfig file of libninjam to get include and lib paths
  • 0.01a-11:
    • added remote user master control
  • 0.01a-10:
    • fixed markup problem
  • 0.01a-9:
    • added internationalization
  • 0.01a-8:
    • change menu items so that everything is consistently in english
  • 0.01a-7:
    • make border in remote channel view like in local channel view
    • fix gtkmm dependencies in configure.in
  • 0.01a-6:
    • changed remote channel view so that the user name is displayed above all of the users channels not within each channel seperately
    • added support for output channel selection
    • added de-/selection of views to hide those that are note wanted
    • added handlebar to master controls to tear it of the window
    • changed callback for gui update so that the gui is only updated when needed
    • added support to switch between stereo and mono mode for output channels
    • added item in channel lists to add new channels while run-time
  • 0.01a-5:
    • make number of in-/output channels for jack and default connection parameters configurable
  • 0.01a-4:
    • use gconf for saving channel parameters
  • 0.01a-3:
    • added preference dialog
  • 0.01a-2:
    • added dependency for libninjam-client
  • 0.01a-1:
    • initial release with debian packaging
Have fun!
last modified: Wednesday, 12-May-2010 00:53:32 CEST