Starting application before firewire device is ready












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.










share|improve this question



























    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.










    share|improve this question

























      1












      1








      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.










      share|improve this question













      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.







      audio daemon jack firewire






      share|improve this question













      share|improve this question











      share|improve this question




      share|improve this question










      asked Nov 9 '18 at 22:24









      Martin Drautzburg

      8081916




      8081916






















          1 Answer
          1






          active

          oldest

          votes


















          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)






          share|improve this answer





















          • 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








          StackExchange.ready(function() {
          var channelOptions = {
          tags: "".split(" "),
          id: "106"
          };
          initTagRenderer("".split(" "), "".split(" "), channelOptions);

          StackExchange.using("externalEditor", function() {
          // Have to fire editor after snippets, if snippets enabled
          if (StackExchange.settings.snippets.snippetsEnabled) {
          StackExchange.using("snippets", function() {
          createEditor();
          });
          }
          else {
          createEditor();
          }
          });

          function createEditor() {
          StackExchange.prepareEditor({
          heartbeatType: 'answer',
          autoActivateHeartbeat: false,
          convertImagesToLinks: false,
          noModals: true,
          showLowRepImageUploadWarning: true,
          reputationToPostImages: null,
          bindNavPrevention: true,
          postfix: "",
          imageUploader: {
          brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
          contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
          allowUrls: true
          },
          onDemand: true,
          discardSelector: ".discard-answer"
          ,immediatelyShowMarkdownHelp:true
          });


          }
          });














          draft saved

          draft discarded


















          StackExchange.ready(
          function () {
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f480864%2fstarting-application-before-firewire-device-is-ready%23new-answer', 'question_page');
          }
          );

          Post as a guest















          Required, but never shown

























          1 Answer
          1






          active

          oldest

          votes








          1 Answer
          1






          active

          oldest

          votes









          active

          oldest

          votes






          active

          oldest

          votes









          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)






          share|improve this answer





















          • 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
















          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)






          share|improve this answer





















          • 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














          0












          0








          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)






          share|improve this answer












          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)







          share|improve this answer












          share|improve this answer



          share|improve this answer










          answered Dec 19 '18 at 3:55









          nik gnomic

          1813




          1813












          • 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


















          • 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
















          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




          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


















          draft saved

          draft discarded




















































          Thanks for contributing an answer to Unix & Linux Stack Exchange!


          • Please be sure to answer the question. Provide details and share your research!

          But avoid



          • Asking for help, clarification, or responding to other answers.

          • Making statements based on opinion; back them up with references or personal experience.


          To learn more, see our tips on writing great answers.





          Some of your past answers have not been well-received, and you're in danger of being blocked from answering.


          Please pay close attention to the following guidance:


          • Please be sure to answer the question. Provide details and share your research!

          But avoid



          • Asking for help, clarification, or responding to other answers.

          • Making statements based on opinion; back them up with references or personal experience.


          To learn more, see our tips on writing great answers.




          draft saved


          draft discarded














          StackExchange.ready(
          function () {
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f480864%2fstarting-application-before-firewire-device-is-ready%23new-answer', 'question_page');
          }
          );

          Post as a guest















          Required, but never shown





















































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown

































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown







          Popular posts from this blog

          Morgemoulin

          Scott Moir

          Souastre