Как отправить мета-сообщения, содержащие более 3 байтов данных с Pygame.midi? - PullRequest
0 голосов
/ 09 декабря 2018

Я пытаюсь отправить мета-сообщения, содержащие более 3 байтов данных.Но появляется ошибка.

Слишком много байтов данных (8) в событии №.0.

Это потому, что метод записи pygame.midi может отправлять данные до 3 байтов.

Это невозможно?

Я использую Python 2.7, Pygame 1.9.4и OSX 10.13.6 (High Sierra)

Ответы [ 2 ]

0 голосов
/ 10 декабря 2018

Write используется только для канальных сообщений.

Для вывода сообщений SysEx используйте WriteSysEx:

out.WriteSysEx(0, '\\xF0\\x7D\\x10\\x11\\x12\\x13\\xF7')
out.WriteSysEx(0, [0xF0, 0x7D, 0x10, 0x11, 0x12, 0x13, 0xF7])

Мета-сообщения не являются MIDI-сообщениями и никогда не передаются поверхMIDI.Ваша программа сама должна их обрабатывать.

0 голосов
/ 09 декабря 2018

Согласно исходному файлу , длина строки вашего сообщения превышает максимально допустимую длину 4 (8> 4)

...