1

To use an audio application requiring jackd-firewire, I have to start up things in the following order:

  1. Power up the hardware interface (a Phonic mixing console in my case)
  2. Start jackd
  3. Start the audio application

Any other order will make the audio application complain about "no jack" so I have to close it and then run the above sequence.

When the hw interface is off, the /dev/fw1 device simply does not exist. Creating /dev/fw1 with mknod does not help - jackd will not start with such a "dead" device.

vs. built-in soundcard

This is in contrast to a built-in soundcard, where the /dev-device is always there when the computer is running.

vs. Pulseaudio

Even pulseaudio configured to use firewire output allows me to turn the hw interface off and back on. Sound will just stop and resume, and the application does not complain (I only tested this with google-chrome playing a movie).

udev

I know how to use udev to start jackd when /dev/fw1 comes to existence. But I still have to exit the audio application in case I forgot to power up the hw ifc prior to starting the application.

My question

Is there a way to let the application believe it can connect to jackd even when jackd does not see a firewire device? Ideally I would like to be able to disconnect the hardware while the application is running without any ill effects, except hearing no sound.

0

JACK is usually configured to use a specific audio device
if audio device is not available JACK cannot start
If JACK is running and device is disconnected, JACK will crash

JACK can be started with driver option changed to 'dummy' and run with no audio device

I know how to add other audio devices to JACK manually with alsa_in and alsa_out and it may be possible to use similar commands to add firewire devices manually for inputs and outputs. But, any manually added connection to firewire device would have to be removed before disconnecting device, only gain here is not needing to stop JACK

Considering you preferred using mixer in Pulseaudio it may be better for you to:

  • Keep mixer running in Pulseaudio;
  • Run JACK with dummy driver;
  • Use Pulseaudio JACK Sink and Pulseaudio JACK Source connections to connect the application in JACK to mixer in Pulseaudio
    (may need to install package pulseaudio-jack to get the sink and source connections)
  • I ended up writing a withJack startup script that pops up an alert when jack is not running and otherwise starts the audio application that is passed as a parameter. This saves me from needlessly starting the audio application. – Martin Drautzburg Dec 21 '18 at 1:27

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.