jack2

To use LADISH, you need jack2, built with DBus support enabled.

jack2 is the new name for jackdmp. jackdmp is an optimized version of jack for use with multicore processors (but also runs fine on single cores).

See below for some advantages of jack2, I'll first start discussing the building process.

to checkout jack2 from git:

git clone -o cz git://repo.or.cz/jack2.git

cd jack2

git checkout --track -b ladi cz/ladi

./waf configure --dbus --classic --prefix=/usr

pcuser@avl:/media/Data_/src$ git clone -o cz git://repo.or.cz/jack2.git

Initialized empty Git repository in /media/Data_/src/jack2/.git/

remote: Counting objects: 16272, done.

remote: Compressing objects: 100% (2582/2582), done.

remote: Total 16272 (delta 13768), reused 15948 (delta 13520)

Receiving objects: 100% (16272/16272), 6.18 MiB | 481 KiB/s, done.

Resolving deltas: 100% (13768/13768), done.

pcuser@avl:/media/Data_/src$ cd jack2/

pcuser@avl:/media/Data_/src/jack2$ git checkout --track -b ladi cz/ladi

Branch ladi set up to track remote branch ladi from cz.

Switched to a new branch 'ladi'

pcuser@avl:/media/Data_/src/jack2$ ls

ChangeLog config.h.in linux tests

README dbus macosx waf

README_NETJACK2 doxyfile posix windows

TODO example-clients solaris wscript

common jack.pc.in svnversion_regenerate.sh

pcuser@avl:/media/Data_/src/jack2$ ./waf configure --dbus --classic --prefix=/usr

Linux detected

Checking for program g++ : ok /usr/bin/g++

Checking for compiler version : ok 4.3.3

Checking for program cpp : ok /usr/bin/cpp

Checking for program ar : ok /usr/bin/ar

Checking for program ranlib : ok /usr/bin/ranlib

Checking for g++ : ok

Checking for program gcc : ok /usr/bin/gcc

Checking for compiler version : ok 4.3.3

Checking for program ar : ok /usr/bin/ar

Checking for program ranlib : ok /usr/bin/ranlib

Checking for gcc : ok

Checking for header samplerate.h : ok

Checking for alsa >= 1.0.0 : ok

Checking for libfreebob >= 1.0.0 : ok

Checking for libffado >= 1.999.17 : ok

Checking for dbus-1 >= 1.0.0 : ok

Checking for dbus-1 flags : ok

Checking for header expat.h : ok

Checking for header sndfile.h : ok

Checking for header samplerate.h : ok

Checking for celt >= 0.5.0 : ok

Checking for header ncurses.h : ok

Checking for library readline : ok

Checking for celt >= 0.7.0 : ok

==================

JACK 1.9.4 svn revision will checked and eventually updated during build

Build with a maximum of 64 JACK clients

Build with a maximum of 768 ports per application

Install prefix : /usr

Library directory : /usr/lib

Drivers directory : /usr/lib/jack

Build debuggable binaries : no

Build doxygen documentation : no

Build with engine profiling : no

Build with 32/64 bits mixed mode : no

Build standard JACK (jackd) : yes

Build D-Bus JACK (jackdbus) : yes

WARNING !! mixing both jackd and jackdbus may cause issues:

WARNING !! jackdbus does not use .jackdrc nor qjackctl settings

Build with ALSA support : yes

Build with FireWire (FreeBob) support : yes

Build with FireWire (FFADO) support : yes

D-Bus service install directory : /usr/share/dbus-1/services

Configuration finished successfully (00:00:02); project is now ready to build.

pcuser@avl:/media/Data_/src/jack2$ ./waf build

[snip]

pcuser@avl:/media/Data_/src/jack2$ sudo ./waf install

Advantages:

Coöperation with firefox:

When I run firefox in Arch Linux with jack2 installed, it automagically starts jackdmp (= jack2) ...

[peter@hp-s3030 ~]$ firefox

Cannot connect to server socket err = No such file or directory

Cannot connect to server socket

jackdmp 1.9.5

Copyright 2001-2005 Paul Davis and others.

Copyright 2004-2009 Grame.

jackdmp comes with ABSOLUTELY NO WARRANTY

This is free software, and you are welcome to redistribute it

under certain conditions; see the file COPYING for details

could not open driver .so '/usr/lib/jack/jack_oss.so': /usr/lib/jack/jack_oss.so: undefined symbol: _jack_get_microseconds

could not open component .so '/usr/lib/jack/jack_oss.so': /usr/lib/jack/jack_oss.so: undefined symbol: _jack_get_microseconds

JACK server starting in realtime mode with priority 10

audio_reservation_init

Acquire audio card Audio0

creating alsa driver ... hw:0,0|hw:0,0|512|2|44100|0|0|nomon|swmeter|-|32bit

Using ALSA driver HDA-Intel running on card 0 - HDA Intel at 0xfdff8000 irq 16

configuring for 44100Hz, period = 512 frames (11.6 ms), buffer = 2 periods

ALSA: final selected sample format for capture: 32bit integer little-endian

ALSA: use 2 periods for capture

ALSA: final selected sample format for playback: 32bit integer little-endian

ALSA: use 2 periods for playback

port created: Midi-Through:midi/playback_1

port created: Midi-Through:midi/capture_1

|

There's no other audio device on this box (yet) so it's fine for me to have the HDA-Intel soundcard selected.

When I close Firefox (named "Namoroka" on Arch), jack2 properly ends like this:

JackTemporaryException : now quits...

jack main caught signal 2

port deleted: Midi-Through:midi/playback_1

port deleted: Midi-Through:midi/capture_1

Released audio card Audio0

audio_reservation_finish

[peter@hp-s3030 ~]$