This file is indexed.

/usr/bin/a2j_control is in a2jmidid 8~dfsg0-1ubuntu2.

This file is owned by root:root, with mode 0o755.

The actual contents of the file can be viewed below.

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
#! /usr/bin/python

name_base = 'org.gna.home.a2jmidid'
control_interface_name = name_base + '.control'
service_name = name_base

import sys
import os
from traceback import print_exc

import dbus

def main():
    if len(sys.argv) == 1:
        print "Usage: %s [command] [command] ..." % os.path.basename(sys.argv[0])
        print "Commands:"
        print "    exit                        - exit a2j bridge dbus service"
        print "    start                       - start bridging"
        print "    stop                        - stop brdiging"
        print "    status                      - get bridging status"
        print "    gjcn                        - get JACK client name"
        print "    ma2jp <client_id> <port_id> - map ALSA to JACK playback port"
        print "    ma2jc <client_id> <port_id> - map ALSA to JACK capture port"
        print "    mj2a <jack_port_name>       - map JACK port to ALSA port"
        print "    ehw                         - enable export of hardware ports"
        print "    dhw                         - disable export of hardware ports"
        sys.exit(0)
    
    bus = dbus.SessionBus()

    controller = bus.get_object(service_name, "/")
    control_iface = dbus.Interface(controller, control_interface_name)

    # check arguments
    index = 1
    while index < len(sys.argv):
        arg = sys.argv[index]
        index += 1
        try:
            if arg == "exit":
                print "--- exit"
                control_iface.exit()
            elif arg == "start":
                print "--- start"
                control_iface.start()
            elif arg == "stop":
                print "--- stop"
                control_iface.stop()
            elif arg == "status":
                print "--- status"
                if control_iface.is_started():
                    print "Bridging enabled"
                else:
                    print "Bridging disabled"
                if control_iface.get_hw_export():
                    print "Hardware exported"
                else:
                    print "Hardware not exported"
            elif arg == "gjcn":
                print "--- get jack client name"
                print control_iface.get_jack_client_name()
            elif arg == 'ma2jp':
                print "--- map ALSA to JACK playback port"
                if index + 1 >= len(sys.argv):
                    print "map ALSA to JACK playback port command requires ALSA client ID and ALSA port ID arguments"
                    sys.exit()
                client_id = sys.argv[index]
                index += 1
                port_id = sys.argv[index]
                index += 1

                print "'%s'" % control_iface.map_alsa_to_jack_port(client_id, port_id, True)
            elif arg == 'ma2jc':
                print "--- map ALSA to JACK capture port"
                if index + 1 >= len(sys.argv):
                    print "map ALSA to JACK capture port command requires ALSA client ID and ALSA port ID arguments"
                    sys.exit()
                client_id = sys.argv[index]
                index += 1
                port_id = sys.argv[index]
                index += 1

                print "'%s'" % control_iface.map_alsa_to_jack_port(client_id, port_id, False)
            elif arg == 'mj2a':
                print "--- map JACK to ALSA port"
                if index >= len(sys.argv):
                    print "map JACK to ALSA port command requires JACK port name argument"
                    sys.exit()
                jack_port = sys.argv[index]
                index += 1

                out = control_iface.map_jack_port_to_alsa(jack_port)
                print "%u:%u ('%s':'%s')" % (int(out[0]), int(out[1]), str(out[2]), str(out[3]))
            elif arg == 'ehw':
                print "--- enable export of hardware ports"
                control_iface.set_hw_export(True)
            elif arg == 'dhw':
                print "--- disable export of hardware ports"
                control_iface.set_hw_export(False)
            else:
                print "Unknown command '%s'" % arg
        except dbus.DBusException, e:
            print "DBus exception: %s" % str(e)

if __name__ == '__main__':
    main()