Problem with Bristol when running QjackCtl

  • Kevin Jones

    Kevin Jones - 2008-06-21


    I am able to run Bristol successfully with Jack enabled and get audio back no problem.  However if QjackCtl is running when I try to start Bristol, I receive the following output and then it just hangs saying it cannot connect to jack.

    Jack init waiting for audio thread OK status
    Jack init waiting for audio thread OK status
    Jack init waiting for audio thread OK status
    Jack init waiting for audio thread OK status
    Jack init waiting for audio thread OK status
    Cannot connect to jack

    Can Bristol start successfully if QjackCtl is all ready running and controlling jack?

    If not, how do I control the midi connections so that I can use my midi keyboard to control Bristol synths?

    My versions are:
    Fedora Core 8 with Planet CCRMA and rt kernel
    Bristol 0.20.5
    Jack 0.109.2

    configure reported alsa true and jack true and make and install went fine with no errors

    Any help would be greatly appreciated.

    • Nick Copeland

      Nick Copeland - 2008-06-22

      Hi Kevin,

      From the code this wait condition happens when the MIDI thread starts the audio thread. I am not sure why it fails, the first job the audio thread does it start up the audio interface, jack in this case and it is odd that I do not give more details of why that is failing. What options do you give to startBristol? You might want to add -mididbg for more output. Now, there might be an issue with the Jack MIDI interface since you have the first release of that code so it has not been widely tested.

      Perhaps the best thing I can do is install qjackctl on my system and see how it goes.

      Do you really want to use Jack MIDI? If you want to use bristol with a MIDI keyboard you could just use something like the following:

      startBristol -b3
      aconnect -i
      aconnect -o

      From here you want to aconnect your MIDI master keyboard to bristol and it is probably registered on 128.0, your master keyboard will be elsewhere - mine comes up as 63.0 and 63.1 for example, aconnect 63.0 128.0 or similar. This just uses alsa rather than jack and the two drivers really depend on what you want to achieve.

      I will have a look at the qjackctl issue.

      Kind regards,

    • Kevin Jones

      Kevin Jones - 2008-06-23


      Thanks so much for the reply.  I will try some of the things you suggest above for getting my midi keyboard to connect to Bristol.  I can't remember all of the different ways I tried starting bristol the other day.  I was able to successfully start Bristol and get sound using jack, however just not if QjackCtl was all ready running.

      I will definitely try running it with just the alsa drivers and no jack, but I'm just not sure how to record it and mix it with my other music in Ardour.  You may be able to give me some suggestions for the best way to record bristol.  My main goal is to be able to use your emulators to record tracks to use in Ardour along with my other instruments.

      If not using jack to make all of the connections, what would you suggest is the best setup to achieve this goal?

      I've tried searching online quite a bit, but I have never really seen anyone talking about recording tracks that they are playing with Bristol emulators, especially not when wanting to use them in Ardour.

      Any help is greatly appreciated.

    • Nick Copeland

      Nick Copeland - 2008-06-23

      If you want to record stuff then Bristol->Jack->Ardour is the best way to go and it should work. With Jack you need minimally the -jack flag and you may have to give -rate and -count options if the script cannot find them automatically (you get big error messages for mismatches though).

      The -jack flag only gives you jack audio connections, the jack midi does not get included here. If you want jack midi then you need to use 'startBristol -jack -midi jack' and it will stay that way until I get more feedback on jack midi as a default transport. I don't really see why qjackctl should cause this to fail although there is the buffer size change that I don't support currently. I have not installed qjackctl yet - it requires Qt 4.1 with all its dependencies and I did not really want to install that for just one app. Will let you know how far I get looking into that later.

      Do you not get any more output to the console when it fails? The full debugging from the 'startBristol' all the way through to the waiting for OK status message might help.



    • Kevin Jones

      Kevin Jones - 2008-06-24


      You will be happy to hear that I got some time tonight and I have successfully solved all of my issues.  Using your input and the error output from the different software, I was able to figure it out.

      Ardour actually gave me the biggest hint as to the problem.  I had bristol running successfully as root.  I went to start Ardour from the gui, and Ardour upon trying to load my session throws an error saying it could not connect to Jack:

      Ardour's message:
      "There are several possible reasons:

      1) You requested audio parameters that are not supported..
      2) JACK is running as another user.

      Please consider the possibilities, and perhaps try different parameters."

      I immediately thought that QjackCtl must have exactly the same issue.  Jack is running as root and they are running as my regular user.

      So I shut down everything restarted bristol as my regular user, started QjackCtl, started Ardour, made my connections with jack and viola....  bristol was running great and taking input from my keyboard!  I was so pumped up hearing the B3 playback when I hit the keys on my midi keyboard.  Was able to hook it up to Ardour no problem and record my first track.

      I suppose it would be best to run them all as root to be able to take full advantage of the RT kernel, correct?

      Thank you so much for your help on this.  I'm not sure I would have been able to figure this out without using your replies to guide me.



Log in to post a comment.