| 1 |
FreeBob version 0.9.0 (RC1) |
|---|
| 2 |
=========================== |
|---|
| 3 |
|
|---|
| 4 |
This project aims to provide a free driver implemenation for the BeBoB |
|---|
| 5 |
platform. The BeBob is used in many available IEEE 1394 based break-out |
|---|
| 6 |
boxes. |
|---|
| 7 |
|
|---|
| 8 |
This is the release candidate of libfreebob. |
|---|
| 9 |
|
|---|
| 10 |
Dependencies |
|---|
| 11 |
------------ |
|---|
| 12 |
|
|---|
| 13 |
To build libfreebob you need several libraries. For all libraries a version |
|---|
| 14 |
is provided which is a 'known good' version (all tested with a debian testing |
|---|
| 15 |
installation). The first few libraries it seems it is not necessary that |
|---|
| 16 |
the version must match. The chances that it works also with an older versions |
|---|
| 17 |
are good: |
|---|
| 18 |
|
|---|
| 19 |
alsa (>= 1.0.0) |
|---|
| 20 |
libxml2 (>= 2.6.0) |
|---|
| 21 |
libpthread (>= 2.3.5) |
|---|
| 22 |
|
|---|
| 23 |
These libraries here should be at least the version listed: |
|---|
| 24 |
|
|---|
| 25 |
libraw1394 (>= 1.2.1), http://www.linux1394.org |
|---|
| 26 |
libiec61883 (>= 1.1.0), http://www.linux1394.org |
|---|
| 27 |
libavc1394 (>= 0.5.3), http://sourceforge.net/projects/libavc1394 |
|---|
| 28 |
|
|---|
| 29 |
Currently only the jackd audio server is supported. |
|---|
| 30 |
|
|---|
| 31 |
jackd (>= 0.102.5), http://jackaudio.org |
|---|
| 32 |
|
|---|
| 33 |
Optionally, but recommended is that you install qjackctl: |
|---|
| 34 |
|
|---|
| 35 |
qjackctl (>= 0.2.20.10), http://sourceforge.net/projects/qjackctl |
|---|
| 36 |
|
|---|
| 37 |
How to build |
|---|
| 38 |
------------ |
|---|
| 39 |
|
|---|
| 40 |
Building the code is straight forward if PKG_CONFIG_PATH, LD_LIBRARY_PATH |
|---|
| 41 |
and INCLUDE_PATH is correctly set up. |
|---|
| 42 |
|
|---|
| 43 |
E.g on my system I have installed libraw1394, libiec61883 and libavc1394 |
|---|
| 44 |
under /usr/local: |
|---|
| 45 |
|
|---|
| 46 |
$ export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig |
|---|
| 47 |
$ export LD_LIBRARY_PATH=/usr/local/lib |
|---|
| 48 |
|
|---|
| 49 |
If you want to build the release version you can do following: |
|---|
| 50 |
|
|---|
| 51 |
$ ./configure |
|---|
| 52 |
$ make |
|---|
| 53 |
$ make install |
|---|
| 54 |
|
|---|
| 55 |
If you want some debug information (because something seems not |
|---|
| 56 |
to work correctly) you can try do following (not CVS checkout): |
|---|
| 57 |
|
|---|
| 58 |
$ ./configure --enable-debug |
|---|
| 59 |
$ make |
|---|
| 60 |
$ make install |
|---|
| 61 |
|
|---|
| 62 |
NOTE: In order to build jackd with freebob support, you have |
|---|
| 63 |
to install libfreebob before you build jackd. |
|---|
| 64 |
|
|---|
| 65 |
|
|---|
| 66 |
Running jackd |
|---|
| 67 |
------------- |
|---|
| 68 |
|
|---|
| 69 |
The easiest way to run this is using qjackctl. There are only minor |
|---|
| 70 |
differences with the other backends, however you should change some |
|---|
| 71 |
of the default values: |
|---|
| 72 |
- The 'interface' field should contain only a number. This number is |
|---|
| 73 |
the port number of the IEEE1394 host controller the audio device |
|---|
| 74 |
is connected to. For most people this will be '0', but if you have |
|---|
| 75 |
multiple controllers, you have to change this number. |
|---|
| 76 |
- The 'Input channels' and 'Output channels' fields indicate if the |
|---|
| 77 |
backend should provide capture and/or playback channels. If you set |
|---|
| 78 |
these to 0, no channels are created. In order to enable capture and/or |
|---|
| 79 |
playback, you have to set them to a nonzero value. |
|---|
| 80 |
- It is recommended to change the 'periods/buffer' field to 3, especially |
|---|
| 81 |
if you use low period sizes (=< 128) |
|---|
| 82 |
- It is recommended to raise the RT priority to 70. |
|---|
| 83 |
|
|---|
| 84 |
In order to get it running from the command line, you need to provide some |
|---|
| 85 |
arguments to jackd. |
|---|
| 86 |
|
|---|
| 87 |
Run |
|---|
| 88 |
|
|---|
| 89 |
$ jackd -d freebob --help |
|---|
| 90 |
|
|---|
| 91 |
to see the backend options. You can easily figure out how to set them using |
|---|
| 92 |
the remarks given above (for qjackctl). |
|---|
| 93 |
|
|---|
| 94 |
For the other aspects of jackd usage, consult the jackd documentation. |
|---|
| 95 |
|
|---|
| 96 |
In case of problems |
|---|
| 97 |
------------------- |
|---|
| 98 |
|
|---|
| 99 |
Under the tests directory there is a test program. You should first |
|---|
| 100 |
try to run this. |
|---|
| 101 |
|
|---|
| 102 |
If you don't have installed libfreebob then you can adapt your |
|---|
| 103 |
LD_LIBRARY_PATH environment variable to |
|---|
| 104 |
|
|---|
| 105 |
$ export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:../src/.libs |
|---|
| 106 |
|
|---|
| 107 |
Then you can try running the program without having to install it. |
|---|
| 108 |
|
|---|
| 109 |
With the release version you see something like this: |
|---|
| 110 |
|
|---|
| 111 |
wagi@cruxam:~/src/libfreebob/tests$ ./test-freebob discover |
|---|
| 112 |
verbose level = 0 |
|---|
| 113 |
Using freebob library version: libfreebob 0.9.0 |
|---|
| 114 |
|
|---|
| 115 |
port = 2, devices_on_bus = 1 |
|---|
| 116 |
get info for device = 0, node = 1 |
|---|
| 117 |
Direction: 0 (capture) |
|---|
| 118 |
|
|---|
| 119 |
Connection Info |
|---|
| 120 |
=============== |
|---|
| 121 |
|
|---|
| 122 |
Number of connections: 1 |
|---|
| 123 |
|
|---|
| 124 |
Connection 0 |
|---|
| 125 |
------------- |
|---|
| 126 |
[ 0] Id: 0 |
|---|
| 127 |
[ 0] Port: 2 |
|---|
| 128 |
[ 0] Node: 1 |
|---|
| 129 |
[ 0] Plug: 0 |
|---|
| 130 |
[ 0] Dimension: 7 |
|---|
| 131 |
[ 0] Samplerate: 44100 |
|---|
| 132 |
[ 0] IsoChannel: -1 |
|---|
| 133 |
[ 0] IsMaster: 0 |
|---|
| 134 |
[ 0] Number of stream infos: 8 |
|---|
| 135 |
|
|---|
| 136 |
StreamId Position Location Format Type DPort Name |
|---|
| 137 |
-------------------------------------------------- |
|---|
| 138 |
[ 0]:[ 0] 0x01 0x01 0x06 0x02 0x00 MicIn 1+2 left |
|---|
| 139 |
[ 0]:[ 1] 0x04 0x02 0x06 0x02 0x00 MicIn 1+2 right |
|---|
| 140 |
[ 0]:[ 2] 0x02 0x01 0x06 0x03 0x00 LineIn 1+2 left |
|---|
| 141 |
[ 0]:[ 3] 0x05 0x02 0x06 0x03 0x00 LineIn 1+2 right |
|---|
| 142 |
[ 0]:[ 4] 0x00 0x01 0x06 0x04 0x00 SpdifIn 1 left |
|---|
| 143 |
[ 0]:[ 5] 0x03 0x02 0x06 0x04 0x00 SpdifIn 1 right |
|---|
| 144 |
[ 0]:[ 6] 0x06 0x01 0x0d 0x0a 0x00 MidiIn2 |
|---|
| 145 |
[ 0]:[ 7] 0x06 0x02 0x0d 0x0a 0x00 MidiIn2 |
|---|
| 146 |
|
|---|
| 147 |
|
|---|
| 148 |
Direction: 1 (playback) |
|---|
| 149 |
|
|---|
| 150 |
Connection Info |
|---|
| 151 |
=============== |
|---|
| 152 |
|
|---|
| 153 |
Number of connections: 1 |
|---|
| 154 |
|
|---|
| 155 |
Connection 0 |
|---|
| 156 |
------------- |
|---|
| 157 |
[ 0] Id: 0 |
|---|
| 158 |
[ 0] Port: 2 |
|---|
| 159 |
[ 0] Node: 1 |
|---|
| 160 |
[ 0] Plug: 0 |
|---|
| 161 |
[ 0] Dimension: 11 |
|---|
| 162 |
[ 0] Samplerate: 44100 |
|---|
| 163 |
[ 0] IsoChannel: -1 |
|---|
| 164 |
[ 0] IsMaster: 0 |
|---|
| 165 |
[ 0] Number of stream infos: 12 |
|---|
| 166 |
|
|---|
| 167 |
StreamId Position Location Format Type DPort Name |
|---|
| 168 |
-------------------------------------------------- |
|---|
| 169 |
[ 0]:[ 0] 0x01 0x01 0x06 0x03 0x00 MultiChannel 7.1 Front left |
|---|
| 170 |
[ 0]:[ 1] 0x06 0x02 0x06 0x03 0x00 MultiChannel 7.1 Front right |
|---|
| 171 |
[ 0]:[ 2] 0x02 0x03 0x06 0x03 0x00 MultiChannel 7.1 Center |
|---|
| 172 |
[ 0]:[ 3] 0x07 0x04 0x06 0x03 0x00 MultiChannel 7.1 Subwoofer |
|---|
| 173 |
[ 0]:[ 4] 0x03 0x05 0x06 0x03 0x00 MultiChannel 7.1 Rear left |
|---|
| 174 |
[ 0]:[ 5] 0x08 0x06 0x06 0x03 0x00 MultiChannel 7.1 Rear right |
|---|
| 175 |
[ 0]:[ 6] 0x04 0x07 0x06 0x03 0x00 MultiChannel 7.1 Surround left |
|---|
| 176 |
[ 0]:[ 7] 0x09 0x08 0x06 0x03 0x00 MultiChannel 7.1 Surround right |
|---|
| 177 |
[ 0]:[ 8] 0x00 0x01 0x06 0x04 0x00 SpdifOut 1 left |
|---|
| 178 |
[ 0]:[ 9] 0x05 0x02 0x06 0x04 0x00 SpdifOut 1 right |
|---|
| 179 |
[ 0]:[10] 0x0a 0x01 0x0d 0x0a 0x00 MidiOut2 |
|---|
| 180 |
[ 0]:[11] 0x0a 0x02 0x0d 0x0a 0x00 MidiOut2 |
|---|
| 181 |
|
|---|
| 182 |
|
|---|
| 183 |
If you don't get this, check if you have multiple host controllers, and |
|---|
| 184 |
use the -p parameter to specify them. If you get any error messages, the |
|---|
| 185 |
best way to help us figure out what the problem might be is to build the |
|---|
| 186 |
debug version (./configure --enable-debug). You can then rerun the test |
|---|
| 187 |
application and send us its output. |
|---|
| 188 |
|
|---|