When elektroid starts, it looks for the available devices. If only one device is found, then it tries to connect to it; if there is more than one device, it does nothing so the user has to select the one they wants.
Besides that, when it tries to connect to the MIDI port and the port is already in use by another process, it does nothing at all because the port can’t be used but the interface shows up.
In your case, it seems that there is a problem when receiving messages from the device. The first process you run opens the port and tries to send and receive information (and looks like it does not receive anything so it hangs). The second one tries to open the port and as it can’t it does nothing but doesn’t hang.
There are two things to fix here if I’m not mistaken.
- Elektroid is not working properly when the device is not sending anything back and ends up hanging.
- The device is not answering the requests, or it seems so.
Regarding point 1, I’ve just taken a look at the code and hopefully fixed the bug in the most recently pushed commit (23c50f4).
Regarding point 2, check all the MIDI configuration in your device.
$ amidi -l
Dir Device Name
IO hw:0,0,0 Elektron Digitakt MIDI 1
$ amidi -p hw:0,0,0 -d -c
- Can you check that no other connections are created?
$ aconnect -lio
client 0: 'System' [type=kernel]
0 'Timer '
1 'Announce '
client 14: 'Midi Through' [type=kernel]
0 'Midi Through Port-0'
client 16: 'Elektron Digitakt' [type=kernel,card=0]
0 'Elektron Digitakt MIDI 1'
I’m out of ideas. Send me a PM if you need more help.