Ejemplo n.º 1
0
 def ServerInfo(self):
     """
     Info: Gets server and device info
     Args: None
     Returns: dict
     Errors: None
     """
     info = {}
     info["pa_count_devices"] = pyo.pa_count_devices()  # type: ignore
     info["pa_get_default_input"] = pyo.pa_get_default_input(
     )  # type: ignore
     info["pa_get_default_output"] = pyo.pa_get_default_output(
     )  # type: ignore
     info["pm_get_input_devices"] = pyo.pm_get_input_devices(
     )  # type: ignore
     info["pa_count_host_apis"] = pyo.pa_count_host_apis()  # type: ignore
     info["pa_get_default_host_api"] = pyo.pa_get_default_host_api(
     )  # type: ignore
     info["pm_count_devices"] = pyo.pm_count_devices()  # type: ignore
     info["pa_get_input_devices"] = pyo.pa_get_input_devices(
     )  # type: ignore
     info["pm_get_default_input"] = pyo.pm_get_default_input(
     )  # type: ignore
     info["pm_get_output_devices"] = pyo.pm_get_output_devices(
     )  # type: ignore
     info["pm_get_default_output"] = pyo.pm_get_default_output(
     )  # type: ignore
     info["pa_get_devices_infos"] = pyo.pa_get_devices_infos(
     )  # type: ignore
     info["pa_get_version"] = pyo.pa_get_version()  # type: ignore
     info["pa_get_version_text"] = pyo.pa_get_version_text()  # type: ignore
     return info
Ejemplo n.º 2
0
def main():
    server = pyo.Server()

    try:
        midi_output_device = None
        device_names, device_indexes = pyo.pm_get_output_devices()
        device_dict = dict(zip(device_indexes, device_names))
        print(device_dict)
        for device_index, device_name in device_dict.items():
            print(device_index, device_name)
            if 'lightkey' in device_name.lower():
                if midi_output_device != device_index:
                    server.stop()
                    server.shutdown()
                    server.setMidiOutputDevice(device_index)
                    midi_output_device = device_index
                    server.boot()
                    server.start()
                break
        if midi_output_device is None:
            return

        cg = ClockGenerator()
        try:
            server.sysexout(b'\xfa')
            for msg in cg:
                server.sysexout(msg)
        except KeyboardInterrupt:
            server.sysexout(b'\xfc')
            time.sleep(0.1)
            pass
    finally:
        server.stop()
        server.shutdown()
Ejemplo n.º 3
0
 def GetMidiOutputs(self):
     if not hasattr(self, '_midi_outputs'):
         output_device_names, output_device_indexes = pyo.pm_get_output_devices()
         default_output_index = pyo.pm_get_default_output()
         midi_outputs = {}
         for output_index, output_name in zip(output_device_indexes, output_device_names):
             midi_outputs[output_index] = {
                 'name': output_name,
                 'default': bool(output_index == default_output_index),
             }
         setattr(self, '_midi_outputs', midi_outputs)
     return getattr(self, '_midi_outputs')
Ejemplo n.º 4
0
    def _GetDevicesDict(self):
        pa_input = pyo.pa_get_input_devices()
        pa_output = pyo.pa_get_output_devices()
        pm_input = pyo.pm_get_input_devices()
        pm_output = pyo.pm_get_output_devices()

        i = 0
        pa_input_list = []
        for d in pa_input[0]:
            pa_input_list.append([i, d])
            i += 1

        i = 0
        pa_output_list = []
        for d in pa_output[0]:
            pa_output_list.append([i, d])
            i += 1

        i = 0
        pm_input_list = []
        for d in pm_input[0]:
            pm_input_list.append([i, d])
            i += 1

        i = 0
        pm_output_list = []
        for d in pm_output[0]:
            pm_output_list.append([i, d])
            i += 1

        return {
            'a_input': pa_input_list,
            'a_output': pa_output_list,
            'm_input': pm_input_list,
            'm_output': pm_output_list
        }
Ejemplo n.º 5
0
'''

# Python
import time

# PyO
import pyo

server = pyo.Server()

try:
    server.boot()
    midi_output_device = None
    while True:
        try:
            device_names, device_indexes = pyo.pm_get_output_devices()
            device_dict = dict(zip(device_indexes, device_names))
            for device_index, device_name in device_dict.items():
                print(device_index, device_name)
                if 'incontrol' in device_name.lower():
                    if midi_output_device != device_index:
                        server.shutdown()
                        server.setMidiOutputDevice(device_index)
                        midi_output_device = device_index
                        server.boot()
                    break
            server.noteout(12, 127)
            time.sleep(10)
        except KeyboardInterrupt:
            break
finally:
Ejemplo n.º 6
0
except:
    ipcSend('error', 'python-pyo module not found')

version = int(pyo.PYO_VERSION.replace('.', ''))

if version < 83:
    ipcSend(
        'error',
        'python-pyo >= 8.3.0 module is required (%s found)' % pyo.PYO_VERSION)

if not pyo.withPortmidi():
    ipcSend('error', 'python-pyo must be built with portmidi support')

# get midi devices

_midiOutputs = pyo.pm_get_output_devices()
_midiInputs = pyo.pm_get_input_devices()

# list midi devices

if 'list' in argv:

    message = []

    message.append('===========')
    message.append('MIDI Inputs')
    message.append('%3i: %s' % (-1, 'null (disabled)'))

    for k in range(len(_midiInputs[0])):

        if _midiInputs[0][k] in pyoHidden: