Learn how easy it is to sync an existing GitHub or Google Code repo to a SourceForge project! See Demo

Close

Bristol on Jaunty?

Help
2009-07-18
2013-05-23
  • andrew morris
    andrew morris
    2009-07-18

    Does anybody have a working setup running Bristol on Ubuntu 9.04 they can talk me through?
    I've been through the setup a number of times with different versions of Bristol with no success.

    0.40.4 doesn't compile (message is "BristolJackInterface undefined"?), so I'm trying 0.30.9, which starts up but the GUI window opens as blank then closes, as below:

    ______________________________________
    andy@musicpc:~$ startBristol -b3
    generate bandwidth limited waveforms(31, 12)
    spawning midi thread
    parent going into idle loop
    Init waiting for midi thread OK status
    Fixing samplerate at 44100
    Init waiting for midi thread OK status
    midi sequencer
    Opened listening control socket: 5028
    midiOpen: bristol(100)
    bristolMidiSeqOpen(bristol)
    Init waiting for midi thread OK status
    Init waiting for midi thread OK status
    Init waiting for midi thread OK status
    Init waiting for midi thread OK status
    Init waiting for midi thread OK status
    Init waiting for midi thread OK status
    Client ID = 129
    Queue ID = 1
    Registered 129 0
    Device name "bristol" did not parse, defaults 128.0
    opened midi device: 0/1
    Got midi thread OK status
    bristol version 0.30.9
    connected to :0.0
    display is 1024 by 768 pixels
    Window is w 1024, h 768, d 24, 0 0 0
    Using DirectColor display
    Initialise the hammondB3 link to bristol: 8c06448
    hostname is localhost, bristol
    TCP port: 5028
    Connected to the bristol control socket: 4
    bristolengine already active
    Accepted connection from 0 (3) onto 2 (5)
    Midi read retry (7239)
    Midi read retry (7239)
    Midi read retry (7239)
    return - no data in buffer
    cleanupBrighton(0)
    Midi read retry (7239)
    Midi read retry (7239)
    Midi read retry (7239)
    return - no data in buffer
    socket closed
    request acked: -1
    ___________________

    Any help most appreciated, I'm itching to try this out!

     
    • Nick Copeland
      Nick Copeland
      2009-07-19

      Hi Andrew,

      You can get you a copy of 0.40 which corrects the issue with bristolJackInterface() not being defined. This was introduced with some fixes to the Jack support so that shutdown was cleaner, no longer resulting in overruns or subgraph timeouts - I reused the interface call without having put it in the header file. I would advise you try and get a 0.40 version working, it will give you better results than 0.30 releases.

      http://bristol.sf.net/files/bristol-0.40.5f.tar.gz

      This is beta code so there are some odd edges on it however it should compile and work. If this gives you problems then if it is compilation let me see the last 10 lines of the ./configure and the 50 lines of the compilation output and if it is initialisation problems the same output from above would be useful. The ./configure output will show which audio interfaces have been found and things like that.

      Kind regards, nick

      Regards, Nick.

       
    • andrew morris
      andrew morris
      2009-07-19

      Hi Nick,

      Many thanks for the response. I have a compiled version now, but am getting initialisation problems, as below:

      startBristol -b3
      checking availability of TCP port 5028
      using port 5028
      generate bandwidth limited waveforms(31, 12)
      spawning midi thread
      Fixing samplerate at 44100
      rescheduled thread: 50
      parent going into idle loop
      Init waiting for midi thread OK status
      midi sequencer: bristol
      Opened listening control socket: 5028
      midiOpen: 5028(100)
      bristolMidiSeqOpen(bristol)
      Init waiting for midi thread OK status
      Client ID = 130
      Queue ID = 1
      Registered 130 0
      Device name "bristol" did not parse, defaults 128.0
      Got midi thread OK status
      bristol version 0.40.5
      connected to :0.0
      display is 1024 by 768 pixels
      Window is w 1024, h 768, d 24, 0 0 0
      Using DirectColor display
      Initialise the hammondB3 link to bristol: 878e448
      hostname is localhost, bristol
      TCP port: 5028
      Accepted connection from 0 (3) onto 2 (5)
      Connected to the bristol control socket: 4
      bristolengine already active
      created 32 voices: allocated 32 to synth
      spawning audio thread
      bristolAudioOpen(plughw:0,0, 44100, 256, 1a00008)
      audioOpen(b7dc90a0, 0, 1024): plughw:0,0
      opening device plughw:0,0, flags 0000000d
      open playback on plughw:0,0, pre 8
      Error opening PCM device plughw:0,0
      Problem opening audio device plughw:0,0, exiting audio thread
      could not get thread schedule
      audio thread failed: exiting.
      parent exiting
      return - no data in buffer
      cleanupBrighton(0)
      cleared sigpipe handler
      cleanupBrighton(0)
      midi write error, fd 4, size 1
      return - no data in buffer
      socket closed
      request acked: -1

      ./configure output is as below:

      ./configure
      checking for a BSD-compatible install... /usr/bin/install -c
      checking whether build environment is sane... yes
      checking for a thread-safe mkdir -p... /bin/mkdir -p
      checking for gawk... no
      checking for mawk... mawk
      checking whether make sets $(MAKE)... yes
      checking build system type... i686-pc-linux-gnu
      checking host system type... i686-pc-linux-gnu
      checking for style of include used by make... GNU
      checking for gcc... gcc
      checking for C compiler default output file name... a.out
      checking whether the C compiler works... yes
      checking whether we are cross compiling... no
      checking for suffix of executables...
      checking for suffix of object files... o
      checking whether we are using the GNU C compiler... yes
      checking whether gcc accepts -g... yes
      checking for gcc option to accept ISO C89... none needed
      checking dependency style of gcc... gcc3
      checking for a sed that does not truncate output... /bin/sed
      checking for grep that handles long lines and -e... /bin/grep
      checking for egrep... /bin/grep -E
      checking for fgrep... /bin/grep -F
      checking for ld used by gcc... /usr/bin/ld
      checking if the linker (/usr/bin/ld) is GNU ld... yes
      checking for BSD- or MS-compatible name lister (nm)... /usr/bin/nm -B
      checking the name lister (/usr/bin/nm -B) interface... BSD nm
      checking whether ln -s works... yes
      checking the maximum length of command line arguments... 1572864
      checking whether the shell understands some XSI constructs... yes
      checking whether the shell understands "+="... yes
      checking for /usr/bin/ld option to reload object files... -r
      checking for objdump... objdump
      checking how to recognize dependent libraries... pass_all
      checking for ar... ar
      checking for strip... strip
      checking for ranlib... ranlib
      checking command to parse /usr/bin/nm -B output from gcc object... ok
      checking how to run the C preprocessor... gcc -E
      checking for ANSI C header files... yes
      checking for sys/types.h... yes
      checking for sys/stat.h... yes
      checking for stdlib.h... yes
      checking for string.h... yes
      checking for memory.h... yes
      checking for strings.h... yes
      checking for inttypes.h... yes
      checking for stdint.h... yes
      checking for unistd.h... yes
      checking for dlfcn.h... yes
      checking for objdir... .libs
      checking if gcc supports -fno-rtti -fno-exceptions... no
      checking for gcc option to produce PIC... -fPIC -DPIC
      checking if gcc PIC flag -fPIC -DPIC works... yes
      checking if gcc static flag -static works... yes
      checking if gcc supports -c -o file.o... yes
      checking if gcc supports -c -o file.o... (cached) yes
      checking whether the gcc linker (/usr/bin/ld) supports shared libraries... yes
      checking whether -lc should be explicitly linked in... no
      checking dynamic linker characteristics... GNU/Linux ld.so
      checking how to hardcode library paths into programs... immediate
      checking whether stripping libraries is possible... yes
      checking if libtool supports shared libraries... yes
      checking whether to build shared libraries... yes
      checking whether to build static libraries... yes
      checking for gcc... (cached) gcc
      checking whether we are using the GNU C compiler... (cached) yes
      checking whether gcc accepts -g... (cached) yes
      checking for gcc option to accept ISO C89... (cached) none needed
      checking dependency style of gcc... (cached) gcc3
      checking for a BSD-compatible install... /usr/bin/install -c
      checking whether make sets $(MAKE)... (cached) yes
      checking X11/X.h usability... yes
      checking X11/X.h presence... yes
      checking for X11/X.h... yes
      checking X11/Xlib.h usability... yes
      checking X11/Xlib.h presence... yes
      checking for X11/Xlib.h... yes
      checking X11/Xutil.h usability... yes
      checking X11/Xutil.h presence... yes
      checking for X11/Xutil.h... yes
      checking X11/Xos.h usability... yes
      checking X11/Xos.h presence... yes
      checking for X11/Xos.h... yes
      checking X11/Xatom.h usability... yes
      checking X11/Xatom.h presence... yes
      checking for X11/Xatom.h... yes
      checking sys/soundcard.h usability... yes
      checking sys/soundcard.h presence... yes
      checking for sys/soundcard.h... yes
      checking for pkg-config... /usr/bin/pkg-config
      checking pkg-config is at least version 0.9.0... yes
      checking for ALSA... yes
      checking for LIBLO... no
      checking for JACK... yes
      checking for JACK... yes
      configure: creating ./config.status
      config.status: creating Makefile
      config.status: creating libbrightonX11/Makefile
      config.status: creating libbrighton/Makefile
      config.status: creating libbristolaudio/Makefile
      config.status: creating libbristolmidi/Makefile
      config.status: creating libbristolic/Makefile
      config.status: creating libbristol/Makefile
      config.status: creating brighton/Makefile
      config.status: creating bristol/Makefile
      config.status: creating bin/startBristol
      config.status: creating bin/Makefile
      config.status: creating config.h
      config.status: config.h is unchanged
      config.status: executing depfiles commands
      config.status: executing libtool commands

      bristol 0.40.5 :

      | Build with OSS support ......................... : true
      | Build with ALSA support ........................ : true
      | Build with JACK support ........................ : true
      | Build with JACK MIDI support ................... : true
      | X11 include file availability .................. : true
      | Installing data into ........................... : /usr/local/share/bristol

      execute 'make install' then 'startBristol'

      Any further help most appreciated

      Kind regards,

      Andrew

       
    • Nick Copeland
      Nick Copeland
      2009-07-19

      The following error messages almost certainly mean somebody else has the audio device open:

      bristolAudioOpen(plughw:0,0, 44100, 256, 1a00008)
      audioOpen(b7dc90a0, 0, 1024): plughw:0,0
      opening device plughw:0,0, flags 0000000d
      open playback on plughw:0,0, pre 8
      Error opening PCM device plughw:0,0
      Problem opening audio device plughw:0,0, exiting audio thread

      I get this for example if I try to start bristol twice - the first copy owns the ALSA interface, the next one fails. A typical cause on Jaunty would be pulseaudio - the shared audio driver for the different applications. You can search around the net to find out typical solutions if this is the case.

      Regards, nick.

       
    • andrew morris
      andrew morris
      2009-07-20

      I had a quick 10 mins on this before work, and it seems that having Jack already running was causing a problem. If I close Jack and then startBristol -Jack, it initialises and the GUI appears, which is fantastic. I have no sound yet, but I'd hope I can get this sorted now the application is up and running.
      Many thanks for your time and patience,
      Andrew

       
    • Nick Copeland
      Nick Copeland
      2009-07-20

      If you start Jack as a user other than root it may not get the scheduling preferences to prevent clicks in your sound stream. You can fix this by using root, or alternatively put yourself into the group callled 'audio' and do a search on 'limits.conf linux audio'. You may already know this stuff anyway, you need something like the following added to /etc/security/limits.conf then log in again:

      @audio - rtprio 95
      @audio - memlock 512000

      Not sure why there is no sound, the most obvious one is the audio device mixer but make sure that bristol is not quite (try -gain 8') and make sure the volume controls are not turned down in whatever emulator you are using.

      regards, nick.