Exemplo n.º 1
0
 def start(self):
     try:
         address = str(self.listen_address) + ':' + str(self.listen_port)
         (hostname, portnumber) = sockets.parse_address(address)
         logging.info('MIDIBand Serving on {}'.format(address))
         while True:
             try:
                 with sockets.PortServer(hostname, portnumber) as server:
                     for message in server:
                         # This messages must be re-sent to a synth later... ;)
                         logging.info("[{}]: {}".format(hostname, message))
             except TypeError:
                 logging.warning(
                     "A message was received with no data or a connection went down abruptly"
                 )
     except KeyError as e:
         logging.critical("{}".format(e))
         pass
     except KeyboardInterrupt:
         logging.info("Finishing signal received")
Exemplo n.º 2
0
#!/usr/bin/env python
"""
Serve one or more output ports.

Every message received on any of the connected sockets will be sent to
every output port.

Example:

    python serve_ports.py :8080 'SH-201' 'SD-20 Part A'

This simply iterates through all incoming messages. More advanced and
flexible servers can be written by calling the ``accept()`` and
``accept(block=False) methods directly. See PortServer.__init__() for
an example.
"""
import sys
import mido
from mido import sockets
from mido.ports import MultiPort

# Todo: do this with a argument parser.
out = MultiPort([mido.open_output(name) for name in sys.argv[2:]])

(host, port) = sockets.parse_address(sys.argv[1])
with sockets.PortServer(host, port) as server:
    for message in server:
        print('Received {}'.format(message))
        out.send(message)
Exemplo n.º 3
0
#!/usr/bin/env python
"""
Simple server that just prints every message it receives.

    python simple_server.py localhost:8080
"""
import sys
import time
import mido
from mido import sockets
from mido.ports import MultiPort

if sys.argv[1:]:
    address = sys.argv[1]
else:
    address = 'localhost:9080'

try:
    (hostname, portno) = sockets.parse_address(address)
    print('Serving on {}'.format(address))
    with sockets.PortServer(hostname, portno) as server:
        for message in server:
            print(message)
except KeyboardInterrupt:
    pass