   <!DOCTYPE node PUBLIC "-//freedesktop//DTD D-BUS Object Introspection 1.0//EN"
"http://www.freedesktop.org/standards/dbus/1.0/introspect.dtd">
<node name="/org/jackaudio/Controller">
  <interface name="org.freedesktop.DBus.Introspectable">
    <method name="Introspect">
      <arg name="xml_data" type="s" direction="out" />
    </method>
  </interface>
  <interface name="org.jackaudio.JackControl">
    <method name="IsStarted">
      <arg name="started" type="b" direction="out" />
    </method>
    <method name="StartServer">
    </method>
    <method name="StopServer">
    </method>
    <method name="SwitchMaster">
    </method>
    <method name="GetLoad">
      <arg name="load" type="d" direction="out" />
    </method>
    <method name="GetXruns">
      <arg name="xruns_count" type="u" direction="out" />
    </method>
    <method name="GetSampleRate">
      <arg name="sample_rate" type="u" direction="out" />
    </method>
    <method name="GetLatency">
      <arg name="latency_ms" type="d" direction="out" />
    </method>
    <method name="GetBufferSize">
      <arg name="buffer_size_frames" type="u" direction="out" />
    </method>
    <method name="SetBufferSize">
      <arg name="buffer_size_frames" type="u" direction="in" />
    </method>
    <method name="IsRealtime">
      <arg name="realtime" type="b" direction="out" />
    </method>
    <method name="ResetXruns">
    </method>
    <method name="LoadInternal">
      <arg name="internal" type="s" direction="in" />
    </method>
    <method name="UnloadInternal">
      <arg name="internal" type="s" direction="in" />
    </method>
    <method name="AddSlave">
      <arg name="internal" type="s" direction="in" />
    </method>
    <method name="RemoveSlave">
      <arg name="internal" type="s" direction="in" />
    </method>
    <signal name="ServerStarted">
    </signal>
    <signal name="ServerStopped">
    </signal>
  </interface>
  <interface name="org.jackaudio.Configure">
    <method name="ReadContainer">
      <arg name="parent" type="as" direction="in" />
      <arg name="leaf" type="b" direction="out" />
      <arg name="children" type="as" direction="out" />
    </method>
    <method name="GetParametersInfo">
      <arg name="parent" type="as" direction="in" />
      <arg name="parameter_info_array" type="a(ysss)" direction="out" />
    </method>
    <method name="GetParameterInfo">
      <arg name="parameter" type="as" direction="in" />
      <arg name="parameter_info" type="(ysss)" direction="out" />
    </method>
    <method name="GetParameterConstraint">
      <arg name="parameter" type="as" direction="in" />
      <arg name="is_range" type="b" direction="out" />
      <arg name="is_strict" type="b" direction="out" />
      <arg name="is_fake_value" type="b" direction="out" />
      <arg name="values" type="a(vs)" direction="out" />
    </method>
    <method name="GetParameterValue">
      <arg name="parameter" type="as" direction="in" />
      <arg name="is_set" type="b" direction="out" />
      <arg name="default" type="v" direction="out" />
      <arg name="value" type="v" direction="out" />
    </method>
    <method name="SetParameterValue">
      <arg name="parameter" type="as" direction="in" />
      <arg name="value" type="v" direction="in" />
    </method>
    <method name="ResetParameterValue">
      <arg name="parameter" type="as" direction="in" />
    </method>
  </interface>
  <interface name="org.jackaudio.JackPatchbay">
    <method name="GetAllPorts">
      <arg name="ports_list" type="as" direction="out" />
    </method>
    <method name="GetGraph">
      <arg name="known_graph_version" type="t" direction="in" />
      <arg name="current_graph_version" type="t" direction="out" />
      <arg name="clients_and_ports" type="a(tsa(tsuu))" direction="out" />
      <arg name="connections" type="a(tstststst)" direction="out" />
    </method>
    <method name="ConnectPortsByName">
      <arg name="client1_name" type="s" direction="in" />
      <arg name="port1_name" type="s" direction="in" />
      <arg name="client2_name" type="s" direction="in" />
      <arg name="port2_name" type="s" direction="in" />
    </method>
    <method name="ConnectPortsByID">
      <arg name="port1_id" type="t" direction="in" />
      <arg name="port2_id" type="t" direction="in" />
    </method>
    <method name="DisconnectPortsByName">
      <arg name="client1_name" type="s" direction="in" />
      <arg name="port1_name" type="s" direction="in" />
      <arg name="client2_name" type="s" direction="in" />
      <arg name="port2_name" type="s" direction="in" />
    </method>
    <method name="DisconnectPortsByID">
      <arg name="port1_id" type="t" direction="in" />
      <arg name="port2_id" type="t" direction="in" />
    </method>
    <method name="DisconnectPortsByConnectionID">
      <arg name="connection_id" type="t" direction="in" />
    </method>
    <method name="GetClientPID">
      <arg name="client_id" type="t" direction="in" />
      <arg name="process_id" type="x" direction="out" />
    </method>
    <signal name="GraphChanged">
      <arg name="new_graph_version" type="t" />
    </signal>
    <signal name="ClientAppeared">
      <arg name="new_graph_version" type="t" />
      <arg name="client_id" type="t" />
      <arg name="client_name" type="s" />
    </signal>
    <signal name="ClientDisappeared">
      <arg name="new_graph_version" type="t" />
      <arg name="client_id" type="t" />
      <arg name="client_name" type="s" />
    </signal>
    <signal name="PortAppeared">
      <arg name="new_graph_version" type="t" />
      <arg name="client_id" type="t" />
      <arg name="client_name" type="s" />
      <arg name="port_id" type="t" />
      <arg name="port_name" type="s" />
      <arg name="port_flags" type="u" />
      <arg name="port_type" type="u" />
    </signal>
    <signal name="PortDisappeared">
      <arg name="new_graph_version" type="t" />
      <arg name="client_id" type="t" />
      <arg name="client_name" type="s" />
      <arg name="port_id" type="t" />
      <arg name="port_name" type="s" />
    </signal>
    <signal name="PortsConnected">
      <arg name="new_graph_version" type="t" />
      <arg name="client1_id" type="t" />
      <arg name="client1_name" type="s" />
      <arg name="port1_id" type="t" />
      <arg name="port1_name" type="s" />
      <arg name="client2_id" type="t" />
      <arg name="client2_name" type="s" />
      <arg name="port2_id" type="t" />
      <arg name="port2_name" type="s" />
      <arg name="connection_id" type="t" />
    </signal>
    <signal name="PortsDisconnected">
      <arg name="new_graph_version" type="t" />
      <arg name="client1_id" type="t" />
      <arg name="client1_name" type="s" />
      <arg name="port1_id" type="t" />
      <arg name="port1_name" type="s" />
      <arg name="client2_id" type="t" />
      <arg name="client2_name" type="s" />
      <arg name="port2_id" type="t" />
      <arg name="port2_name" type="s" />
      <arg name="connection_id" type="t" />
    </signal>
  </interface>
  <interface name="org.jackaudio.JackTransport">
  </interface>
</node>

