JACK Support in Rivendell Rivendell can optionally be compiled to provide full support for the JACK Audio Connection Kit. Instructions on enabling such support can be found in the INSTALL file. Information about JACK itself can be found at: http://jackit.sourceforge.net/ STARTING UP RIVENDELL WITH JACK When Rivendell's audio daemon, caed(8) is started, and JACK support is enabled, caed(8) will look for a running jackd(1). If it finds one, it will attempt to join the graph and create the following ports: rivendell_:capture_L rivendell_:capture_R ... rivendell_:playout_L rivendell_:playout_R ... where is the number of the virtual 'card' Rivendell will use to access JACK, and is the number of the virtual 'port' within that 'card'. The card number is selected automatically by caed(8), and will be the first unused card number after any ASI adapters found in the system are initialized. The 'L' and 'R' stand for 'left' and 'right' stereo channels, respectively. These card/port pairs can be assigned within RDAdmin just like any other Rivendell audio resource. JACK DAEMON MANAGEMENT On distros that use a SysV-ish init system (such as SuSE), it's possible to configure Rivendell to automatically start and stop the jackd(8) daemon as needed. To do this, proceed as follows: On SuSE Fire up Yast2, click 'System' and then select 'Editor for /etc/sysconfig Files'. Under 'Configuration Options', select 'Applications' and then 'Rivendell'. Configure the parameters there as desired, then click 'Finish' to save them. Other Distros Edit the file '/etc/sysconfig/rivendell' and set the variables to the desired settings. JACK SESSION MANAGEMENT Simple session connection management is possible by placing entries within the [JackSession] section of /etc/rd.conf. The format is as follows: [JackSession] Source= Destination= where: = Arbitrary connection number, must start at '1' and go up consecutively. = The name of the source JACK port to connect, in standard CLIENTNAME:PORTNAME format. = The name of the destination JACK port to connect, in standard CLIENTNAME:PORTNAME format. Here is an example [JackSession] section: [JackSession] Source1=rivendell_1:playout_0L Destination1=alsa_pcm:playback_1 Source2=rivendell_1:playout_0R Destination2=alsa_pcm:playback_2 Source3=rivendell_1:playout_1L Destination3=alsa_pcm:playback_3 Source4=rivendell_1:playout_1R Destination4=alsa_pcm:playback_4 Source5=rivendell_1:playout_2L Destination5=alsa_pcm:playback_9 Source6=rivendell_1:playout_2R Destination6=alsa_pcm:playback_10 Source7=alsa_pcm:capture_1 Destination7=rivendell_1:record_0L Source8=alsa_pcm:capture_2 Destination8=rivendell_1:record_0R Source9=alsa_pcm:capture_3 Destination9=rivendell_1:record_1L Source10=alsa_pcm:capture_4 Destination10=rivendell_1:record_1R Source11=alsa_pcm:capture_9 Destination11=rivendell_1:record_2L Source12=alsa_pcm:capture_10 Destination12=rivendell_1:record_2R This example sets up an ICE1712-based soundcard (a Midiman Delta-66, in this case) to use the first three playout and record ports of Card 1 in Rivendell. It is, of course, fully possible to dynamically manage the port assignments through use of a JACK patchbay (such as QJackConnect) as well.