Description
Describe the bug
jamulus-server 3.8.1 apparently introduced a bug where channel numbers are not reset when server goes idle, except when last client disconnecting is channel 0. This shows up when using MIDI control of client.
To Reproduce
restart jamulus-server 3.8.1:
connect client "A"
connect client "B" which is started with --crtlmidich arg. name will show as "1:B" in gui.
disconnect client "A"
disconnect client "B". Server is now idle,
connect client "B" name will show as "1:B" in GUI. Channel numbers were not reset on idle.
connect client "A"
disconnect client "B"
disconnect client "A". Server is now idle,
connect client "B". name will show as "0::B" in GUI. Channel numbers were reset on idle if last client to disconnect was channel 0.
This causes problems with midi control.
Under jamulus-server 3.8.0, channel ids are always reset on server idle.
edit: I could not reset the public server that gave me channel 12, even by connecting with a client that got channel 0 and disconnecting. So exact contditions required to reset channel numbers appear to be more complex.
Expected behavior
channel numbers should always be reset to start at 0 when server goes idle,
Screenshots
after connecting to an idle public 3.8.1 server. In this case I got channel 12, so 8-channel MIDI controller cannot operate.
Operating system
linux (raspberry-pi os, ubuntu)
Version of Jamulus
3.8.1
Additional context
3.8.0 server does not exhibit this problem