I have it working, kinda, but I have to have Komplete Kontrol open, disable light guide in preferences. Also sometimes the lights do not light up... Well actually alot of the time. Only some notes decide to light up when I am playing a song in synthesia. I'm on a Mac OS MOjave. Any suggestions? It's not very usable as is.
@cjuggernaut, I don't have to have Komplete Kontrol opened myself. In fact, having KK opened causes issues.
What happens if you don't have it opened?
I confirm, it's not working alone without Komplete Kontrol to be opened. My understanding is that KK init the Hid properly, and then only the tool can use it. Thank you @cjuggernaut to have pointed this, I tried using WebHID for a cross platform independent POC and since KK was not opened, none of my attempts did work.
Ok I sniffed the usb data sent, and the init pattern is "a00000" and NOT "a0"
I did not try in python but try replacing device.write([0xa0]) with device.write([0xa0,0x00,0x00])
No need then to open Komplete Kontrol to make it work
Here is a working poc with a Kontrol S88 Mk1
Thanks for this @Xample ! I have released a new version with your suggested changes. If you have the opportunity to test, I would appreciate it.
@ojacques the CoolDemoSweep is now working, but the script crashed right after:
Opening LoopBe input port
Traceback (most recent call last):
File "/Users/xample/Downloads/SynthesiaKontrol-master 3/SynthesiaKontrol.py", line 238, in
ports = mido.get_input_names()
File "/Users/xample/Library/Python/3.9/lib/python/site-packages/mido/backends/backend.py", line 169, in get_input_names
devices = self._get_devices(**self._add_api(kwargs))
File "/Users/xample/Library/Python/3.9/lib/python/site-packages/mido/backends/backend.py", line 162, in _get_devices
if hasattr(self.module, 'get_devices'):
File "/Users/xample/Library/Python/3.9/lib/python/site-packages/mido/backends/backend.py", line 42, in module
self.load()
File "/Users/xample/Library/Python/3.9/lib/python/site-packages/mido/backends/backend.py", line 58, in load
self._module = importlib.import_module(self.name)
File "/Applications/Xcode.app/Contents/Developer/Library/Frameworks/Python3.framework/Versions/3.9/lib/python3.9/importlib/init.py", line 127, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "", line 1030, in _gcd_import
File "", line 1007, in _find_and_load
File "", line 986, in _find_and_load_unlocked
File "", line 680, in _load_unlocked
File "", line 850, in exec_module
File "", line 228, in _call_with_frames_removed
File "/Users/xample/Library/Python/3.9/lib/python/site-packages/mido/backends/rtmidi.py", line 8, in
import rtmidi
File "/Users/xample/Library/Python/3.9/lib/python/site-packages/rtmidi/init.py", line 4, in
from ._rtmidi import * # noqa
ImportError: dlopen(/Users/xample/Library/Python/3.9/lib/python/site-packages/rtmidi/_rtmidi.cpython-39-darwin.so, 0x0002): tried: '/Users/xample/Library/Python/3.9/lib/python/site-packages/rtmidi/_rtmidi.cpython-39-darwin.so' (mach-o file, but is an incompatible architecture (have 'x86_64', need 'arm64')), '/System/Volumes/Preboot/Cryptexes/OS/Users/xample/Library/Python/3.9/lib/python/site-packages/rtmidi/_rtmidi.cpython-39-darwin.so' (no such file), '/Users/xample/Library/Python/3.9/lib/python/site-packages/rtmidi/_rtmidi.cpython-39-darwin.so' (mach-o file, but is an incompatible architecture (have 'x86_64', need 'arm64'))
xample@Mac-mini-242 SynthesiaKontrol-master 3 %
I'm on arm64