Can't connect external stops

  • Hi there,
    I'm building a three-manual organ for our new church, using MIDI keyboards and various
    stops and pistons, scanned using Arduinos. I've now got the stop scanner working as far
    as sending MIDI events, currently "0xB5 num 1/0" but this is only my first guess. It connects
    via Jack and my jack midi monitor displays the events and looks good. :)

    When I fire up GO, using the Demo version, I want to programme the stops to respond to the
    midi events, but it doesn't seem to like it. Using Listen for Midi Event it just sits and does nothing,
    I tried filling in the details, specify device, Program On/Program Off, but still nothing doing. :-\

    I've not found any detailed instructions on how to set these things up, or what restrictions apply.
    Can anyone point me at a good tutorial for this, or simply tell me what to do?

    Many thanks.

    Bill


  • I've now got the stop scanner working as far
    as sending MIDI events, currently "0xB5 num 1/0" but this is only my first guess. It connects
    via Jack and my jack midi monitor displays the events and looks good. :)

    First, check that the MIDI device is enabled as input in the GO option.
    GO also includes a display MIDI events options. After that, check, that the MIDI events are received by GO.

    For stop setup, use "detect complex MIDI event".

    PS: Some "num" of Control Change (0xB?) are reserved for special purposes.

  • Here's where I'm at now.
    Using a simple program to inject sequences of bytes through Jack to GO I can now set up the stops to respond to controller messages on my desktop box. Using what is the same version of GO on the organ cpu with the same sequence of bytes coming from the Arduino GO fails to respond when 'listen to complex event' is pending. I've rebuilt GO on the organ box to ensure that it's the same version, and monitored the bytes going through jack, and it all looks identical, but no joy.

    The events are logged in the GO message window, so they are reaching GO, but for some reason they don't get through to the right place?

    If I run GO under gdb I see the bytes received, but I don't understand enough of the internals to track it down. It gets put onto a message queue and I assume some other thread is going to pull it off, but I don't know which file or function to look in to see what happens. Any pointers welcomed...

    Bill

  • Here you can get GO binaries for all major distributions:
    https://software.opensuse.org//download.html…kage=grandorgue

    As the messages are reaching the GO Log windows, there is no plattform specific code in between - it should be handled the same on all platforms.

    * CPU of your organ PC?
    * Linux distribution and release?
    * Any distribution packages replaced?
    * wxWidgets version?
    * Xorg X11 in use?
    * GO version?
    * GO sound generation working (eg. turn a stop and key via mouse on)?
    * What is exactly logged for the MIDI messages in the GO message window?
    * Any (message) popup windows open/showed by GO?

    If the playback is working, enable MIDI monitoring, right click on a stop, on the receive tab click on "Listen for event". The button should stay pressed and the cursor changes to the waiting symbol. Trigger a MIDI message (GO should react to 9x note, Bx control change, CX control change) - it should be listed in the Log window and the dialog content changes.