qjackctlPatchbayFile format specification
-----------------------------------------

  <!DOCTYPE patchbay>
  <patchbay name="patchbay-name" version="patchbay-version" >
    <output-sockets>
      <socket name="socket-name" client="client-name" type="socket-type" exclusive="exclusive-flag" >
        <plug>plug-name</plug>
        .
        .
        .
      </socket>
      .
      .
      .
    </output-sockets>
    <input-sockets>
      <socket name="socket-name" client="client-name" type="socket-type" exclusive="exclusive-flag" forward="socket-name" >
        <plug>plug-name</plug>
        .
        .
        .
      </socket>
      .
      .
      .
    </input-sockets>
#   <slots>
#     <slot name="slot-name" mode="slot-mode" output="socket-name" input="socket-name" />
#      .
#      .
#      .
#   </slots>
    <cables>
      <cable output="socket-name" input="socket-name" type="socket-type" />
       .
       .
       .
    </cables>
  </patchbay>


  patchbay-name     := string-literal
  patchbay-version  := string-literal
  socket-name       := string-literal
  socket-type       := "audio" | "midi" | "jack-audio" | "jack-midi" | "alsa-midi"
# slot-name         := string-literal
# slot-mode         := "open" | "half" | "full"
  client-name       := string-regexp (JACK/ALSA client name)
  plug-name         := string-regexp (JACK/ALSA port name)
  exclusive-flag    := "on" | "off" | "yes" | "no" | "1" | "0"

