Wahjam online music collaboration
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
WDL
cliplogcvt
common
qtclient
server
vestige
.gitignore
README
wahjam.pro

README

Wahjam client and server (http://wahjam.org/)
---------------------------------------------

This software allows musicians to play music together over the internet.  It is
compatible with and based on NINJAM (http://ninjam.com/).

This code is licensed GPL v2 or later:

  http://www.gnu.org/licenses/gpl-2.0.html

Source tree layout
------------------

  common/         Core code
  qtclient/       GUI client using Qt framework
  server/         Server
  WDL/            Cockos common library, see www.cockos.com/wdl/

How to build the Qt client
--------------------------

Install the Qt5 cross-platform application and UI toolkit from http://qt.nokia.com/.

Install Ogg and Vorbis audio codec libraries from http://xiph.org/.

Then run the following commands:

  qmake
  make

On Windows the recommended build environment for libogg and libvorbis is MinGW
and MSYS from http://www.mingw.org/.  Build libogg and libvorbis inside MSYS,
then use the Qt build environment to compile qtclient.  You may need to add the
MSYS include/ and lib/ paths as QMAKE_CXXFLAGS -I and LIBS -L flags in
qtclient/qtclient.pro.

Cross-compiling the Qt client for Windows
-----------------------------------------

The MinGW compiler can be used as a cross-compiler to build Windows executables
from a Linux host.  This allows us to set up a Linux build server capable of
building Windows executables.

The mxe project provides a cross-compiler and many popular libraries, including
Wahjam's dependencies on ogg, vorbis, the Qt framework, and PortAudio.

1. Clone mxe:

  git clone https://github.com/mxe/mxe.git

1. Build the cross-compiler and dependencies:

  cd mxe
  make gcc ogg vorbis qt5 portaudio portmidi

1. If you encounter any build errors try reducing optional dependencies.

For example, try disabling SQL drivers and DBUS on the ./configure line in
mxe/src/qt.mk.

NINJAM fork information:

The original source trees were taken from http://www.ninjam.com/.  The files
were:

  ninjam_winclient_0.06.zip
  ninjam_osxclient_0.02a.tar.gz
  cclient_src_v0.01a.tar.gz
  ninjam_server_0.06.tar.gz