File: README

package info (click to toggle)
libjackasyn 0.11-2
  • links: PTS
  • area: main
  • in suites: etch, etch-m68k, lenny
  • size: 384 kB
  • ctags: 145
  • sloc: sh: 2,635; ansic: 1,187; makefile: 107
file content (126 lines) | stat: -rw-r--r-- 3,607 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
Libjackasyn:
------------

Libjackasyn is a library that allows you to use any sound program
on linux for the OSS system as a JACK client (jackit.sf.net).

This might be very useful if you want to try this old-timer free
software program that has exactly the features you want to have, except
that it lacks support for JACK. 

In this case you normally have two options: The first is to port the
program to the JACK API, which would be great, but it might be time
consuming. The other option you have is to use the "jacklaunch" command
that comes with libjackasyn. 

e.g just run 

jacklaunch sweep

to convert sweep into a jack aware application.

The library offers seemingless integration into the JACK system, you can
start and stop the JACK server, the application will choose where to send
its sound I/O, either  directly to the soundcard or over JACK. This also
works perfectly with ALSA's OSS mode.

More specifically libjackasyn can be used for two purposes:

1) Make an application that uses the OSS audio API run with
the jack server via the LD_PRELOAD system.

Caveat:
There are some programs that do not work with the LD_PRELOAD 
variable. They seem to have in common that they load the audio
driver dynamically, except snd, for which I do not know why
it doesn't work.

2) You want to port an application in a fast and easy way and
do not care for tight synchronisation and performance.

PLEASE DO NOT USE THIS PACKAGE FOR PORTING YOUR APPLICATION
TO JACK, IF YOU REALLY CARE FOR YOUR  APPLICATION.

Compilation:
------------

./configure
make

jack headers and library has to be installed
if you want to put it in /usr/local, change the PREFIX line to /usr/local in Makefile.in and ./configure

Prerequisites:
--------------

jack <jackit.sf.net> version higher than 0.40
SRC (libsamplerate) <http://www.mega-nerd.com/SRC/>

Compilation:
------------

./configure
make


How to use it:
--------------

jacklaunch:
-----------

The jacklaunch command launches an application by preloading 
libjackasyn. This makes applications that are written for the
OSS API working with the JACK audio server.

Usage:
jacklaunch <application-name> <options ... >

if the jackd audio server is running, the application will do
its in- and output via the server. If the jackd server is not
running, it will use the OSS audio system, or the ALSA OSS
emulation.

The library:
-----------

TODO: describe the different API's libjackasyn supports.

For now:

If you want to port your OSS applications, include the
file libjackoss.h in your driver file (this only works if
all of you driver code is well separated from other code,
read, no open/read/write/close /select calls that are not
working on audio devices should be there.

If you have these calls mixed with other calls, it is better
to replace the open, etc call call by call with 
jack_oss_open, jack_oss_write etc

Environment Variables:
----------------------

The beta version of this library supports several Environment
variables that you can set. Later this will be replaced by
some configuration file (well, maybe):

JACKASYN_DEBUG  if this variable is set libjackasyn prints lots
of debugging information.

JACKASYN_DEFAULT_INPUT  the default input port the library connects
too. This should include a "%d", in order to open more channels.

JACKASYN_DEFAULT_OUTPUT same as default input, but for output ports
this time.

JACKASYN_USE_OSS  this affects the OSS emulation, and forces the library
to use the OSS interface, that is, to disable jack support.


Suggestions and flames to:

Guenter Geiger <geiger_AT_xdv.org>

(C) 2002 Guenter Geiger