def conectaSW(OnOff): for puerto in mapeoSW(): if OnOff.lower() == "off": jack.disconnect(puerto[0], puerto[1]) else: jack.connect(puerto[0], puerto[1])
def unroute(source, destination): try: jack.disconnect(source, destination) except jack.NotConnectedError: jack.attach("studio-webapp") jack.disconnect(source, destination) return ''
def desconectaDISPLAYS(): for portDisplay in getDisplaysPorts(): clientes = jack.get_connections(portDisplay) for cliente in clientes: print "(i) desconectando " + cliente + " " + portDisplay jack.disconnect(cliente, portDisplay) if not getDisplaysPorts(): print "(?) nada que desconectar"
def Disconnect(self, playback_port, capture_port): """ Disconnects the given playback port from the given capture port. Use GetCapturePorts or GetInputs to get a list of possible capture ports. Use GetPlaybackPorts or GetOutputs to get a list of possible playback ports. @param playback_port: a string name of a playback port @param capture_port: a string name of a capture port """ jack.disconnect(playback_port, capture_port)
def load_jt(options): """ arranca jacktrip y lo primero que hacemos es deshacer la conexión automática que jacktrip hace a los puertos system de jack (!) Las opciones pueden ser: -c remoteHost (modo cliente) -s (modo servidor) """ # muteamos la tarjeta de sonido sc.alsa_mute_system_card("on") # arranca jacktrip Popen("killall jacktrip", shell=True) sleep(.5) Popen("jacktrip -z -q 8 -r 2 " + options + " >/dev/null 2>&1", shell=True) # esperamos a jacktrip: intentos = 20 # * 0.25 = 5 segundos while intentos: try: if "JackTrip" in check_output("jack_lsp", shell=True): print "(jacktrip.py) Ha arrancado Jacktrip." break except: pass intentos -= 1 sleep(.25) if not intentos: print "(jacktrip.py) Error arrancando Jacktrip" sys_exit(-1) # (!) lo primero deshacemos la conexión automática a system jack.attach("tmp") jack.disconnect("JackTrip:receive_1", "system:playback_1") jack.disconnect("JackTrip:receive_2", "system:playback_2") try: jack.disconnect("system:capture_1", "JackTrip:send_1") jack.disconnect("system:capture_2", "JackTrip:send_2") except: # es posible que sea un FIRtro pequeño sin system:capture pass jack.detach() # modo client if "-c" in options: # La conexión a FIRtro se gestiona cambiando la input en FIRtro. pass # modo server if "-s" in options: connect_source2jacktrip() sc.alsa_mute_system_card("off")
def conecta_tarjeta(vias): jack.attach("tmp") # Disponemos de la funcion brutefir.outputsMap que contiene # el mapeo de vias tal como esta definido en brutefir_config, por ejemplo: # system:playback_3/hi_L # system:playback_4/hi_R # system:playback_7/lo_L # system:playback_8/lo_R # system:playback_5/sw1 # system:playback_6/sw2 to_disconnect=[] to_connect = [] # Ahora debemos evaluar si es una salida a activar: for bfOutMap in brutefir.outputsMap: conectar = False jackDest, bfOut = bfOutMap.split('/') jackOrig = "brutefir:" + bfOut for via in vias: if via.lower() in bfOut.lower(): conectar = True if conectar: to_connect.append( (jackOrig, jackDest) ) else: to_disconnect.append( (jackOrig, jackDest) ) for pair in to_disconnect: jack.disconnect(pair[0], pair[1]) for pair in to_connect: jack.connect(pair[0], pair[1]) jack.detach()
def connect_source2jacktrip(): jack.attach("tmp") # Desconectamos lo que hubiera en JackTrip c1_ports = jack.get_connections("JackTrip:send_1") c2_ports = jack.get_connections("JackTrip:send_2") for p1 in c1_ports: jack.disconnect(p1, "JackTrip:send_1") for p2 in c2_ports: jack.disconnect(p2, "JackTrip:send_2") try: # conectamos las fuente del FIRtro a jacktrip s1_ports = jack.get_connections(firtro_ports[0]) s2_ports = jack.get_connections(firtro_ports[1]) for s1 in s1_ports: jack.connect(s1, "JackTrip:send_1") for s2 in s2_ports: jack.connect(s2, "JackTrip:send_2") except: # el motivo del fallo es que los puertos de JackTrip no están activos: # "Cannot connect ports owned by inactive clients: "JackTrip" is not active" # porque no ha sincronizado todavía con un cliente. print "(jacktrip.py) (i) para conectar puertos se necesita que estén" print " activos (con una conexion cliente jacktrip en red)" jack.detach()
def conecta (a, b, mode="connect"): """ conecta puertos de captura con puertos de playback """ # Lista de puertos A Aports = [x for x in jack.get_ports() if a in x] # y filtramos los de captura Aports = [x for x in Aports if jack.get_port_flags(x) % 2 == 0 ] # Lista de puertos B Bports = [x for x in jack.get_ports() if b in x] # y filtramos los de playback Bports = [x for x in Bports if jack.get_port_flags(x) % 2 == 1 ] # Recorremos A y lo vamos (des)conectando con B while Aports: try: p1 = Aports.pop(0) p2 = Bports.pop(0) #print p1, p2 if mode == 'disconnect': jack.disconnect(p1, p2) else: jack.connect(p1, p2) except: pass
def jack_disconnect(p1, p2): jack.disconnect(p1, p2)
def disconnect(self, output): jack.disconnect(self.port, output.port)