FreeBob version 0.0.1
=====================

This project aims to provide a free driver implemenation for the BeBoB
platform.  The BeBob is used in many available IEEE 1394 based break-out 
boxes.

This is the first beta release of libfreebob. Currently it depends
still on the old streaming backend driver from the prealpha-release 2.1.
In order to use libfreebob you need to download and install it this
special version.

The device discovering is done completely different to the 
prealpha-release version of freebob. In the old version
it is done using the descriptors. But this version has several sever
drawbacks, e.g. not every BeBoB device is supported. This implemention
now uses a some extended commands like the extended plug info command.
This allows to discover any BeBoB device. Furthermore it provides
more information and it is extremly faster... which is of course
not very important because it is only device discovering and not
streaming :)

Dependencies
------------

To build libfreebob you need several libraries. For all libraries a version
is provided which is a 'known good' version (all tested with a debian testing
installation).  The first few libraries it seems it is not necessary that 
the version must match. The chances that it works also with an older versions 
are good:

alsa        (>= 1.0.11)
libxml2     (>= 2.6.22)
libpthread  (>= 2.3.5)

These libraries here should be at least the version listed:

libraw1394  (>= 1.2.0),  http://www.linux1394.org
libiec61883 (>= 1.1.0),  http://www.linux1394.org
libavc1394  (>= 0.5.1),  http://sourceforge.net/projects/libavc1394

And finally, you need the special jackd version which uses libfreebob.
It can be downloaded from sf.net as well.


How to build
------------

Building the code is straight forward if PKG_CONFIG_PATH, LD_LIBRARY_PATH
and INCLUDE_PATH is correctly set up.

E.g on my system I have installed libraw1394, libiec61883 and libavc1394
under /usr/local:

$ export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig
$ export LD_LIBRARY_PATH=/usr/local/lib

If you want to build the release version you can do following (CVS checkout)

$ ./autogen.sh
$ make install

If you have not a CVS checkout you can do following:

$ ./configure
$ make 
$ make install

If you want some debug information (because something seems not
to work correctly) you can try do following (not CVS checkout):

$ ./configure --enable-debug
$ make
$ make install

After you have install libfreebob you can start building the
special jack version with the iec61883 backend driver which is using
libfreebob.


Testing
-------

Under the tests directory there is a test program. You should first
try to run this. 

If you don't have installed libfreebob then you can adapt your
LD_LIBRARY_PATH environment variable to

$ export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:../src/.libs

Then you can try running the program without having to install it.

With the release version you see something like this (note that you 
have to provide the correct node id, in this example '-n 0'):

wagi@cruxam:~/src/libfreebob/tests$ ./test-freebob -n 0 discover
Using freebob library version: libfreebob 0.0.1

Direction:              0 (capture)

Connection Info
===============

Number of connections:  1

  Connection  0
  -------------
    [ 0] Id:         0
    [ 0] Port:       0
    [ 0] Node:       0
    [ 0] Plug:       0
    [ 0] Dimension:  7
    [ 0] Samplerate: 48000
    [ 0] Number of stream infos: 7

    StreamId  Position Location Format Type DPort Name
    --------------------------------------------------
    [ 0]:[ 0] 0x01     0x01     0x06   0x03 0x00  LineOut 1+2 left
    [ 0]:[ 1] 0x04     0x02     0x06   0x03 0x00  LineOut 1+2 right
    [ 0]:[ 2] 0x02     0x01     0x06   0x03 0x00  LineOut 3+4 left
    [ 0]:[ 3] 0x05     0x02     0x06   0x03 0x00  LineOut 3+4 right
    [ 0]:[ 4] 0x00     0x01     0x06   0x04 0x00  SpdifOut left
    [ 0]:[ 5] 0x03     0x02     0x06   0x04 0x00  SpdifOut right
    [ 0]:[ 6] 0x06     0x01     0x0d   0x0a 0x00  MidiPort_1


Direction:              1 (playback)

Connection Info
===============

Number of connections:  1

  Connection  0
  -------------
    [ 0] Id:         0
    [ 0] Port:       0
    [ 0] Node:       0
    [ 0] Plug:       0
    [ 0] Dimension:  7
    [ 0] Samplerate: 48000
    [ 0] Number of stream infos: 7

    StreamId  Position Location Format Type DPort Name
    --------------------------------------------------
    [ 0]:[ 0] 0x01     0x01     0x06   0x02 0x00  MicIn1 left
    [ 0]:[ 1] 0x04     0x02     0x06   0x02 0x00  MicIn1 right
    [ 0]:[ 2] 0x02     0x01     0x06   0x03 0x00  LineIn 3+4 left
    [ 0]:[ 3] 0x05     0x02     0x06   0x03 0x00  LineIn 3+4 right
    [ 0]:[ 4] 0x00     0x01     0x06   0x04 0x00  SpdifIn left
    [ 0]:[ 5] 0x03     0x02     0x06   0x04 0x00  SpdifIn right
    [ 0]:[ 6] 0x06     0x01     0x0d   0x0a 0x00  MidiPort_1


To impress friends you need of course to use the debug version
which looks like this:

wagi@cruxam:~/src/libfreebob/tests$ ./test-freebob -n 0 discover
Using freebob library version: libfreebob 0.0.1

Debug (avdevice.cpp)[47] AvDevice: Found AvDevice (NodeID 0)
Debug (avdevice.cpp)[1262] enumerateSubUnits: subunit_id =  0, subunit_type =  1 (Audio), max_subunit_ID = 0
Debug (avdevice.cpp)[1262] enumerateSubUnits: subunit_id =  0, subunit_type = 12 (Music), max_subunit_ID = 0
Debug (avdevice.cpp)[169] discoverStep1: number of iso input plugs = 2, number of iso output plugs = 2
Debug (avdevice.cpp)[214] discoverStep2: number of output plugs is 1 for iso input plug 0
Debug (avdevice.cpp)[251] discoverStep2: output plug 0 is owned by subunit_type 12, subunit_id = 0
Debug (avdevice.cpp)[1203] discoverPlugConnection: IsoStreamInput plug 0 has a valid connection to plug 0 of MusicSubunit subunit 0
Debug (avdevice.cpp)[214] discoverStep2: number of output plugs is 0 for iso input plug 1
Debug (avdevice.cpp)[339] discoverStep3: output plug 0 is owned by subunit_type 12, subunit_id 0
Debug (avdevice.cpp)[1203] discoverPlugConnection: IsoStreamOutput plug 0 has a valid connection to plug 0 of MusicSubunit subunit 0
Debug (avdevice.cpp)[339] discoverStep3: output plug 5 is owned by subunit_type 12, subunit_id 0
Debug (avdevice.cpp)[1203] discoverPlugConnection: IsoStreamOutput plug 1 has a valid connection to plug 5 of MusicSubunit subunit 0
Debug (avdevice.cpp)[416] discoverStep4: iso input plug 0 is of type 0 (IsoStream)
Debug (avdevice.cpp)[383] discoverStep4: iso input plug 1 has no valid connecton -> skip
Debug (avdevice.cpp)[465] discoverStep4: iso output plug 0 is of type 0 (IsoStream)
Debug (avdevice.cpp)[465] discoverStep4: iso output plug 1 is of type 3 (Sync)
Debug (avdevice.cpp)[524] discoverStep5: iso input plug 0 has 7 channels
Debug (avdevice.cpp)[491] discoverStep5: iso input plug 1 has no valid connecton -> skip
Debug (avdevice.cpp)[573] discoverStep5: iso output plug 0 has 7 channels
Debug (avdevice.cpp)[573] discoverStep5: iso output plug 1 has 2 channels
Debug (avdevice.cpp)[636] discoverStep6: iso input plug 0: channel position information retrieved
Debug (avplug.cpp)[105] debugOutputClusterInfos: number of channels: 2
Debug (avplug.cpp)[115] debugOutputClusterInfos: stream position: 2
Debug (avplug.cpp)[118] debugOutputClusterInfos: location: 1
Debug (avplug.cpp)[115] debugOutputClusterInfos: stream position: 5
Debug (avplug.cpp)[118] debugOutputClusterInfos: location: 2
Debug (avplug.cpp)[105] debugOutputClusterInfos: number of channels: 2
Debug (avplug.cpp)[115] debugOutputClusterInfos: stream position: 3
Debug (avplug.cpp)[118] debugOutputClusterInfos: location: 1
Debug (avplug.cpp)[115] debugOutputClusterInfos: stream position: 6
Debug (avplug.cpp)[118] debugOutputClusterInfos: location: 2
Debug (avplug.cpp)[105] debugOutputClusterInfos: number of channels: 2
Debug (avplug.cpp)[115] debugOutputClusterInfos: stream position: 1
Debug (avplug.cpp)[118] debugOutputClusterInfos: location: 1
Debug (avplug.cpp)[115] debugOutputClusterInfos: stream position: 4
Debug (avplug.cpp)[118] debugOutputClusterInfos: location: 2
Debug (avplug.cpp)[105] debugOutputClusterInfos: number of channels: 1
Debug (avplug.cpp)[115] debugOutputClusterInfos: stream position: 7
Debug (avplug.cpp)[118] debugOutputClusterInfos: location: 1
Debug (avdevice.cpp)[598] discoverStep6: iso input plug 1 has no valid connecton -> skip
Debug (avdevice.cpp)[690] discoverStep6: iso output plug 0: channel position information retrieved
Debug (avplug.cpp)[105] debugOutputClusterInfos: number of channels: 2
Debug (avplug.cpp)[115] debugOutputClusterInfos: stream position: 2
Debug (avplug.cpp)[118] debugOutputClusterInfos: location: 1
Debug (avplug.cpp)[115] debugOutputClusterInfos: stream position: 5
Debug (avplug.cpp)[118] debugOutputClusterInfos: location: 2
Debug (avplug.cpp)[105] debugOutputClusterInfos: number of channels: 2
Debug (avplug.cpp)[115] debugOutputClusterInfos: stream position: 3
Debug (avplug.cpp)[118] debugOutputClusterInfos: location: 1
Debug (avplug.cpp)[115] debugOutputClusterInfos: stream position: 6
Debug (avplug.cpp)[118] debugOutputClusterInfos: location: 2
Debug (avplug.cpp)[105] debugOutputClusterInfos: number of channels: 2
Debug (avplug.cpp)[115] debugOutputClusterInfos: stream position: 1
Debug (avplug.cpp)[118] debugOutputClusterInfos: location: 1
Debug (avplug.cpp)[115] debugOutputClusterInfos: stream position: 4
Debug (avplug.cpp)[118] debugOutputClusterInfos: location: 2
Debug (avplug.cpp)[105] debugOutputClusterInfos: number of channels: 1
Debug (avplug.cpp)[115] debugOutputClusterInfos: stream position: 7
Debug (avplug.cpp)[118] debugOutputClusterInfos: location: 1
Debug (avdevice.cpp)[690] discoverStep6: iso output plug 1: channel position information retrieved
Debug (avplug.cpp)[105] debugOutputClusterInfos: number of channels: 2
Debug (avplug.cpp)[115] debugOutputClusterInfos: stream position: 1
Debug (avplug.cpp)[118] debugOutputClusterInfos: location: 1
Debug (avplug.cpp)[115] debugOutputClusterInfos: stream position: 2
Debug (avplug.cpp)[118] debugOutputClusterInfos: location: 2
Debug (avdevice.cpp)[767] discoverStep7: iso input plug 0 stream position 2: channel name = LineOut 1+2 left
Debug (avdevice.cpp)[767] discoverStep7: iso input plug 0 stream position 5: channel name = LineOut 1+2 right
Debug (avdevice.cpp)[767] discoverStep7: iso input plug 0 stream position 3: channel name = LineOut 3+4 left
Debug (avdevice.cpp)[767] discoverStep7: iso input plug 0 stream position 6: channel name = LineOut 3+4 right
Debug (avdevice.cpp)[767] discoverStep7: iso input plug 0 stream position 1: channel name = SpdifOut left
Debug (avdevice.cpp)[767] discoverStep7: iso input plug 0 stream position 4: channel name = SpdifOut right
Debug (avdevice.cpp)[767] discoverStep7: iso input plug 0 stream position 7: channel name = MidiPort_1
Debug (avdevice.cpp)[716] discoverStep7: iso input plug 1 has no valid connecton -> skip
Debug (avdevice.cpp)[838] discoverStep7: iso output plug 0 stream position 2: channel name = MicIn1 left
Debug (avdevice.cpp)[838] discoverStep7: iso output plug 0 stream position 5: channel name = MicIn1 right
Debug (avdevice.cpp)[838] discoverStep7: iso output plug 0 stream position 3: channel name = LineIn 3+4 left
Debug (avdevice.cpp)[838] discoverStep7: iso output plug 0 stream position 6: channel name = LineIn 3+4 right
Debug (avdevice.cpp)[838] discoverStep7: iso output plug 0 stream position 1: channel name = SpdifIn left
Debug (avdevice.cpp)[838] discoverStep7: iso output plug 0 stream position 4: channel name = SpdifIn right
Debug (avdevice.cpp)[838] discoverStep7: iso output plug 0 stream position 7: channel name = MidiPort_1
Debug (avdevice.cpp)[838] discoverStep7: iso output plug 1 stream position 1: channel name = SynchChannel1
Debug (avdevice.cpp)[838] discoverStep7: iso output plug 1 stream position 2: channel name = SynchChannel2
Debug (avdevice.cpp)[910] discoverStep8: iso input plug 0: cluster index = 1, portType Line, cluster name = LineOut 1+2
Debug (avdevice.cpp)[910] discoverStep8: iso input plug 0: cluster index = 2, portType Line, cluster name = LineOut 3+4
Debug (avdevice.cpp)[910] discoverStep8: iso input plug 0: cluster index = 3, portType SPDIF, cluster name = SpdifOut
Debug (avdevice.cpp)[910] discoverStep8: iso input plug 0: cluster index = 4, portType MIDI, cluster name = MidiSection.0
Debug (avdevice.cpp)[866] discoverStep8: iso input plug 1 has no valid connecton -> skip
Debug (avdevice.cpp)[980] discoverStep8: iso output plug 0: cluster index = 1, portType Microphone, cluster name = MicIn1
Debug (avdevice.cpp)[980] discoverStep8: iso output plug 0: cluster index = 2, portType Line, cluster name = LineIn 3+4
Debug (avdevice.cpp)[980] discoverStep8: iso output plug 0: cluster index = 3, portType SPDIF, cluster name = SpdifIn
Debug (avdevice.cpp)[980] discoverStep8: iso output plug 0: cluster index = 4, portType MIDI, cluster name = MidiSection.0
Warning (avdevice.cpp)[936] discoverStep8: Skipping plugs with id > 0. Further investigation needed
Debug (avdevice.cpp)[1040] discoverStep9: discoverStep9: iso input plug 0 uses sampling frequency 4
Debug (avdevice.cpp)[1070] discoverStep9: iso input plug 0 cluster info 1: stream format 6
Debug (avdevice.cpp)[1070] discoverStep9: iso input plug 0 cluster info 2: stream format 6
Debug (avdevice.cpp)[1070] discoverStep9: iso input plug 0 cluster info 3: stream format 6
Debug (avdevice.cpp)[1070] discoverStep9: iso input plug 0 cluster info 4: stream format 13
Debug (avdevice.cpp)[1008] discoverStep9: iso input plug 1 has no valid connecton -> skip
Debug (avdevice.cpp)[1134] discoverStep9: discoverStep9: iso output plug 0 uses sampling frequency 4
Debug (avdevice.cpp)[1164] discoverStep9: iso output plug 0 cluster info 1: stream format 6
Debug (avdevice.cpp)[1164] discoverStep9: iso output plug 0 cluster info 2: stream format 6
Debug (avdevice.cpp)[1164] discoverStep9: iso output plug 0 cluster info 3: stream format 6
Debug (avdevice.cpp)[1164] discoverStep9: iso output plug 0 cluster info 4: stream format 13
Debug (avdevice.cpp)[1177] discoverStep9: iso output plug 1 is sync stream with sampling frequency 4
Direction:              0 (capture)

Connection Info
===============

Number of connections:  1

  Connection  0
  -------------
    [ 0] Id:         0
    [ 0] Port:       0
    [ 0] Node:       0
    [ 0] Plug:       0
    [ 0] Dimension:  7
    [ 0] Samplerate: 48000
    [ 0] Number of stream infos: 7

    StreamId  Position Location Format Type DPort Name
    --------------------------------------------------
    [ 0]:[ 0] 0x01     0x01     0x06   0x03 0x00  LineOut 1+2 left
    [ 0]:[ 1] 0x04     0x02     0x06   0x03 0x00  LineOut 1+2 right
    [ 0]:[ 2] 0x02     0x01     0x06   0x03 0x00  LineOut 3+4 left
    [ 0]:[ 3] 0x05     0x02     0x06   0x03 0x00  LineOut 3+4 right
    [ 0]:[ 4] 0x00     0x01     0x06   0x04 0x00  SpdifOut left
    [ 0]:[ 5] 0x03     0x02     0x06   0x04 0x00  SpdifOut right
    [ 0]:[ 6] 0x06     0x01     0x0d   0x0a 0x00  MidiPort_1


Direction:              1 (playback)

Connection Info
===============

Number of connections:  1

  Connection  0
  -------------
    [ 0] Id:         0
    [ 0] Port:       0
    [ 0] Node:       0
    [ 0] Plug:       0
    [ 0] Dimension:  7
    [ 0] Samplerate: 48000
    [ 0] Number of stream infos: 7

    StreamId  Position Location Format Type DPort Name
    --------------------------------------------------
    [ 0]:[ 0] 0x01     0x01     0x06   0x02 0x00  MicIn1 left
    [ 0]:[ 1] 0x04     0x02     0x06   0x02 0x00  MicIn1 right
    [ 0]:[ 2] 0x02     0x01     0x06   0x03 0x00  LineIn 3+4 left
    [ 0]:[ 3] 0x05     0x02     0x06   0x03 0x00  LineIn 3+4 right
    [ 0]:[ 4] 0x00     0x01     0x06   0x04 0x00  SpdifIn left
    [ 0]:[ 5] 0x03     0x02     0x06   0x04 0x00  SpdifIn right
    [ 0]:[ 6] 0x06     0x01     0x0d   0x0a 0x00  MidiPort_1


Running jackd
-------------

In order to get it running you need to provide some arguments to 
jackd, e.g.

$ jackd -d iec61883 -n 1 -d 0 -p 512 -b 1000 -b 1000 -i 20 -r 8192

Note that '-n' most be addapted to your local 1394 bus configuraiton.
This is the node number of the device.

On my screen I get:

wagi@cruxam:~/src/jack-audio-connection-kit+freebob-0.100.0$ jackd -d iec61883 -n 1 -d 0 -p 512 -b 1000 -b 1000 -i 20 -r 8192
jackd 0.100.0
Copyright 2001-2005 Paul Davis and others.
jackd 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

JACK compiled with System V SHM support.
loading driver ..
IEC61883: Using libfreebob version libfreebob 0.0.1
Debug (avdevice.cpp)[47] AvDevice: Found AvDevice (NodeID 1)
Debug (avdevice.cpp)[1262] enumerateSubUnits: subunit_id =  0, subunit_type =  1 (Audio), max_subunit_ID = 0
Debug (avdevice.cpp)[1262] enumerateSubUnits: subunit_id =  0, subunit_type = 12 (Music), max_subunit_ID = 0
Debug (avdevice.cpp)[169] discoverStep1: number of iso input plugs = 2, number of iso output plugs = 2
Debug (avdevice.cpp)[214] discoverStep2: number of output plugs is 1 for iso input plug 0
Debug (avdevice.cpp)[251] discoverStep2: output plug 0 is owned by subunit_type 12, subunit_id = 0
Debug (avdevice.cpp)[1203] discoverPlugConnection: IsoStreamInput plug 0 has a valid connection to plug 0 of MusicSubunit subunit 0
Debug (avdevice.cpp)[214] discoverStep2: number of output plugs is 0 for iso input plug 1
Debug (avdevice.cpp)[339] discoverStep3: output plug 0 is owned by subunit_type 12, subunit_id 0
Debug (avdevice.cpp)[1203] discoverPlugConnection: IsoStreamOutput plug 0 has a valid connection to plug 0 of MusicSubunit subunit 0
Debug (avdevice.cpp)[339] discoverStep3: output plug 5 is owned by subunit_type 12, subunit_id 0
Debug (avdevice.cpp)[1203] discoverPlugConnection: IsoStreamOutput plug 1 has a valid connection to plug 5 of MusicSubunit subunit 0
Debug (avdevice.cpp)[416] discoverStep4: iso input plug 0 is of type 0 (IsoStream)
Debug (avdevice.cpp)[383] discoverStep4: iso input plug 1 has no valid connecton -> skip
Debug (avdevice.cpp)[465] discoverStep4: iso output plug 0 is of type 0 (IsoStream)
Debug (avdevice.cpp)[465] discoverStep4: iso output plug 1 is of type 3 (Sync)
Debug (avdevice.cpp)[524] discoverStep5: iso input plug 0 has 7 channels
Debug (avdevice.cpp)[491] discoverStep5: iso input plug 1 has no valid connecton -> skip
Debug (avdevice.cpp)[573] discoverStep5: iso output plug 0 has 7 channels
Debug (avdevice.cpp)[573] discoverStep5: iso output plug 1 has 2 channels
Debug (avdevice.cpp)[636] discoverStep6: iso input plug 0: channel position information retrieved
Debug (avplug.cpp)[105] debugOutputClusterInfos: number of channels: 2
Debug (avplug.cpp)[115] debugOutputClusterInfos: stream position: 2
Debug (avplug.cpp)[118] debugOutputClusterInfos: location: 1
Debug (avplug.cpp)[115] debugOutputClusterInfos: stream position: 5
Debug (avplug.cpp)[118] debugOutputClusterInfos: location: 2
Debug (avplug.cpp)[105] debugOutputClusterInfos: number of channels: 2
Debug (avplug.cpp)[115] debugOutputClusterInfos: stream position: 3
Debug (avplug.cpp)[118] debugOutputClusterInfos: location: 1
Debug (avplug.cpp)[115] debugOutputClusterInfos: stream position: 6
Debug (avplug.cpp)[118] debugOutputClusterInfos: location: 2
Debug (avplug.cpp)[105] debugOutputClusterInfos: number of channels: 2
Debug (avplug.cpp)[115] debugOutputClusterInfos: stream position: 1
Debug (avplug.cpp)[118] debugOutputClusterInfos: location: 1
Debug (avplug.cpp)[115] debugOutputClusterInfos: stream position: 4
Debug (avplug.cpp)[118] debugOutputClusterInfos: location: 2
Debug (avplug.cpp)[105] debugOutputClusterInfos: number of channels: 1
Debug (avplug.cpp)[115] debugOutputClusterInfos: stream position: 7
Debug (avplug.cpp)[118] debugOutputClusterInfos: location: 1
Debug (avdevice.cpp)[598] discoverStep6: iso input plug 1 has no valid connecton -> skip
Debug (avdevice.cpp)[690] discoverStep6: iso output plug 0: channel position information retrieved
Debug (avplug.cpp)[105] debugOutputClusterInfos: number of channels: 2
Debug (avplug.cpp)[115] debugOutputClusterInfos: stream position: 2
Debug (avplug.cpp)[118] debugOutputClusterInfos: location: 1
Debug (avplug.cpp)[115] debugOutputClusterInfos: stream position: 5
Debug (avplug.cpp)[118] debugOutputClusterInfos: location: 2
Debug (avplug.cpp)[105] debugOutputClusterInfos: number of channels: 2
Debug (avplug.cpp)[115] debugOutputClusterInfos: stream position: 3
Debug (avplug.cpp)[118] debugOutputClusterInfos: location: 1
Debug (avplug.cpp)[115] debugOutputClusterInfos: stream position: 6
Debug (avplug.cpp)[118] debugOutputClusterInfos: location: 2
Debug (avplug.cpp)[105] debugOutputClusterInfos: number of channels: 2
Debug (avplug.cpp)[115] debugOutputClusterInfos: stream position: 1
Debug (avplug.cpp)[118] debugOutputClusterInfos: location: 1
Debug (avplug.cpp)[115] debugOutputClusterInfos: stream position: 4
Debug (avplug.cpp)[118] debugOutputClusterInfos: location: 2
Debug (avplug.cpp)[105] debugOutputClusterInfos: number of channels: 1
Debug (avplug.cpp)[115] debugOutputClusterInfos: stream position: 7
Debug (avplug.cpp)[118] debugOutputClusterInfos: location: 1
Debug (avdevice.cpp)[690] discoverStep6: iso output plug 1: channel position information retrieved
Debug (avplug.cpp)[105] debugOutputClusterInfos: number of channels: 2
Debug (avplug.cpp)[115] debugOutputClusterInfos: stream position: 1
Debug (avplug.cpp)[118] debugOutputClusterInfos: location: 1
Debug (avplug.cpp)[115] debugOutputClusterInfos: stream position: 2
Debug (avplug.cpp)[118] debugOutputClusterInfos: location: 2
Debug (avdevice.cpp)[767] discoverStep7: iso input plug 0 stream position 2: channel name = LineOut 1+2 left
Debug (avdevice.cpp)[767] discoverStep7: iso input plug 0 stream position 5: channel name = LineOut 1+2 right
Debug (avdevice.cpp)[767] discoverStep7: iso input plug 0 stream position 3: channel name = LineOut 3+4 left
Debug (avdevice.cpp)[767] discoverStep7: iso input plug 0 stream position 6: channel name = LineOut 3+4 right
Debug (avdevice.cpp)[767] discoverStep7: iso input plug 0 stream position 1: channel name = SpdifOut left
Debug (avdevice.cpp)[767] discoverStep7: iso input plug 0 stream position 4: channel name = SpdifOut right
Debug (avdevice.cpp)[767] discoverStep7: iso input plug 0 stream position 7: channel name = MidiPort_1
Debug (avdevice.cpp)[716] discoverStep7: iso input plug 1 has no valid connecton -> skip
Debug (avdevice.cpp)[838] discoverStep7: iso output plug 0 stream position 2: channel name = MicIn1 left
Debug (avdevice.cpp)[838] discoverStep7: iso output plug 0 stream position 5: channel name = MicIn1 right
Debug (avdevice.cpp)[838] discoverStep7: iso output plug 0 stream position 3: channel name = LineIn 3+4 left
Debug (avdevice.cpp)[838] discoverStep7: iso output plug 0 stream position 6: channel name = LineIn 3+4 right
Debug (avdevice.cpp)[838] discoverStep7: iso output plug 0 stream position 1: channel name = SpdifIn left
Debug (avdevice.cpp)[838] discoverStep7: iso output plug 0 stream position 4: channel name = SpdifIn right
Debug (avdevice.cpp)[838] discoverStep7: iso output plug 0 stream position 7: channel name = MidiPort_1
Debug (avdevice.cpp)[838] discoverStep7: iso output plug 1 stream position 1: channel name = SynchChannel1
Debug (avdevice.cpp)[838] discoverStep7: iso output plug 1 stream position 2: channel name = SynchChannel2
Debug (avdevice.cpp)[910] discoverStep8: iso input plug 0: cluster index = 1, portType Line, cluster name = LineOut 1+2
Debug (avdevice.cpp)[910] discoverStep8: iso input plug 0: cluster index = 2, portType Line, cluster name = LineOut 3+4
Debug (avdevice.cpp)[910] discoverStep8: iso input plug 0: cluster index = 3, portType SPDIF, cluster name = SpdifOut
Debug (avdevice.cpp)[910] discoverStep8: iso input plug 0: cluster index = 4, portType MIDI, cluster name = MidiSection.0
Debug (avdevice.cpp)[866] discoverStep8: iso input plug 1 has no valid connecton -> skip
Debug (avdevice.cpp)[980] discoverStep8: iso output plug 0: cluster index = 1, portType Microphone, cluster name = MicIn1
Debug (avdevice.cpp)[980] discoverStep8: iso output plug 0: cluster index = 2, portType Line, cluster name = LineIn 3+4
Debug (avdevice.cpp)[980] discoverStep8: iso output plug 0: cluster index = 3, portType SPDIF, cluster name = SpdifIn
Debug (avdevice.cpp)[980] discoverStep8: iso output plug 0: cluster index = 4, portType MIDI, cluster name = MidiSection.0
Warning (avdevice.cpp)[936] discoverStep8: Skipping plugs with id > 0. Further investigation needed
Debug (avdevice.cpp)[1040] discoverStep9: discoverStep9: iso input plug 0 uses sampling frequency 4
Debug (avdevice.cpp)[1070] discoverStep9: iso input plug 0 cluster info 1: stream format 6
Debug (avdevice.cpp)[1070] discoverStep9: iso input plug 0 cluster info 2: stream format 6
Debug (avdevice.cpp)[1070] discoverStep9: iso input plug 0 cluster info 3: stream format 6
Debug (avdevice.cpp)[1070] discoverStep9: iso input plug 0 cluster info 4: stream format 13
Debug (avdevice.cpp)[1008] discoverStep9: iso input plug 1 has no valid connecton -> skip
Debug (avdevice.cpp)[1134] discoverStep9: discoverStep9: iso output plug 0 uses sampling frequency 4
Debug (avdevice.cpp)[1164] discoverStep9: iso output plug 0 cluster info 1: stream format 6
Debug (avdevice.cpp)[1164] discoverStep9: iso output plug 0 cluster info 2: stream format 6
Debug (avdevice.cpp)[1164] discoverStep9: iso output plug 0 cluster info 3: stream format 6
Debug (avdevice.cpp)[1164] discoverStep9: iso output plug 0 cluster info 4: stream format 13
Debug (avdevice.cpp)[1177] discoverStep9: iso output plug 1 is sync stream with sampling frequency 4
IEC61883: Adding 1 capture connection(s)...
IEC61883:   capture connection 0: 0 streams, dim 1 from (0,7,7)
IEC61883:     adding stream 0: (1,1) 0x06 0x03 -> 0 (LineOut 1+2 left)
IEC61883:     adding stream 1: (4,2) 0x06 0x03 -> 0 (LineOut 1+2 right)
IEC61883:     adding stream 2: (2,1) 0x06 0x03 -> 0 (LineOut 3+4 left)
IEC61883:     adding stream 3: (5,2) 0x06 0x03 -> 0 (LineOut 3+4 right)
IEC61883:     adding stream 4: (0,1) 0x06 0x04 -> 0 (SpdifOut left)
IEC61883:     adding stream 5: (3,2) 0x06 0x04 -> 0 (SpdifOut right)
IEC61883:     adding stream 6: (6,1) 0x0D 0x0A -> 0 (MidiPort_1)
IEC61883: Adding 1 playback connection(s)...
IEC61883:   playback connection 0: 0 streams, dim 1 to (0,7,7)
IEC61883:     adding stream 0: (1,1) 0x06 0x02 -> 0 (MicIn1 left)
IEC61883:     adding stream 1: (4,2) 0x06 0x02 -> 0 (MicIn1 right)
IEC61883:     adding stream 2: (2,1) 0x06 0x03 -> 0 (LineIn 3+4 left)
IEC61883:     adding stream 3: (5,2) 0x06 0x03 -> 0 (LineIn 3+4 right)
IEC61883:     adding stream 4: (0,1) 0x06 0x04 -> 0 (SpdifIn left)
IEC61883:     adding stream 5: (3,2) 0x06 0x04 -> 0 (SpdifIn right)
IEC61883:     adding stream 6: (6,1) 0x0D 0x0A -> 0 (MidiPort_1)
IEC61883D: Creating driver (period_size=512, ringbuffer_size=8192)
Creating IEC61883 client... 512/8192/48000
 poll timeout = 10 ms
Creating 7 buffers of 8192 quadlets...
IEC61883C: Creating playback connection from node 65473, plug 0
             prebuffers=0, buffers=1000, irq_interval=20
Creating 7 buffers of 8192 quadlets...
IEC61883 Client created...
IEC61883CM: registered jack port cap_0_1_0_LineOut 1+2 left
IEC61883CM: registered jack port cap_0_1_0_LineOut 1+2 right
IEC61883CM: registered jack port cap_0_1_0_LineOut 3+4 left
IEC61883CM: registered jack port cap_0_1_0_LineOut 3+4 right
IEC61883CM: registered jack port cap_0_1_0_SpdifOut left
IEC61883CM: registered jack port cap_0_1_0_SpdifOut right
IEC61883CM: registered midi port MidiIn_0_1_0_MidiPort_1_1 as 128:0
IEC61883CM: registered jack port pbk_0_1_0_MicIn1 left
IEC61883CM: registered jack port pbk_0_1_0_MicIn1 right
IEC61883CM: registered jack port pbk_0_1_0_LineIn 3+4 left
IEC61883CM: registered jack port pbk_0_1_0_LineIn 3+4 right
IEC61883CM: registered jack port pbk_0_1_0_SpdifIn left
IEC61883CM: registered jack port pbk_0_1_0_SpdifIn right
IEC61883CM: registered midi port MidiOut_0_1_0_MidiPort_1_1 as 128:1
Client start...
 creating capture connections...
libiec61883 warning: Established connection on channel 0.
You may need to manually set the channel on the receiving node.
Init ISO master receive handler on channel 0...
   (BUFFER=1000,PACKET_MAX=2048,IRQ=20)...
Start ISO master receive...
 creating playback connections...
libiec61883 warning: Established connection on channel 1.
You may need to manually set the channel on the transmitting node.
Init ISO slave transmit handler on channel 1...
   other mode (BUFFER=1000,PACKET_MAX=2048,IRQ=20)...
Start ISO slave transmit... PREBUFFER=0
  ->     2618k Packets, Bufferfill (I:  512, O:    0), Packets dropped (I:    0, O:   11), XRUNS (   0)(1, 8/0)

