Page 1 of 1

MIDI device assignments changing

Posted: Sat Oct 27, 2018 8:39 pm
by nedmech
First, many thanks to Massimo and the rest of dev team for all the time they've poured into QLC+. I'm always amazed at the flexibility and utility of this software.

I've got an annoying issue with MIDI devices in the IO mapping section. I know MIDI is not the native language of lighting software, but it's they key to interfacing it with other controllers and software packages. In my current use case, here's my configuration:

Windows 10 Pro x64
QLC+ 4.11.2
Running rtpMIDI with multiple virtual MIDI-over-Ethernet devices created
Running loopMIDI with multiple software MIDI loopbacks created.
Running Ableton Live as my audio and MIDI automation source (QLC+ shows were not as flexible)

Universe 1:
  • Input - Korg NanoKontrol2 MIDI controller (also in profile and feedback)
  • Output - DMXKing UltraDMX Micro usb interface.
Universe 2:
  • Loopback 1 in and out (can't live without loopbacks!)
Universe 3:
  • rtpMIDI virtual device dedicated to MIDI notes to and from QLC+
Universe 4:
  • rtpMIDI virtual device dedicated to MIDI CC's to and from QLC+
My first challenge comes with the fact that I am not always working on the same machine, or with the same MIDI hardware connected all the time. I do most of my show design and programming at home where I have several extra MIDI devices connected that don't exist when I'm actually running the show on-site. For example, my home rig has a Novation Launchpad connected as well as my Native Instruments Komplete Kontrol MIDI keyboard. These are NOT connected to the machine on-site where the show will be running. This causes a headache onsite since the order of MIDI devices listed in the IO tab changes and connects my MIDI universes to different IO than what I had when I designed the show at home. I can see in the workspace XML that the MIDI devices are being referred to by "Line" number, not device name. I'm guessing this is the cause of things shifting around when moving between machines. Is there any way that the workspace could have an alternate "Device Name" entry instead of the "Line" entry so it would attempt to connect to the same device across different machines instead of whatever device was detected in the order that things are discovered by the machine? For example, my NanoKontrol2 at home may show up as device 5, but at the show may be device 2. This means I have to remap my IO at the show. But it shows up as "NanoKontrol2" in both places, so if it used the device name instead of list index, I wouldn't have to remap anything. This is more of a feature request than anything, but it would really simplify my life moving back and forth between home and show.

My second challenge is possibly more of an actual bug. The first one I understand the nature of what I'm dealing with and can make things work. This one has me really confused. At home, I use a MOTU Ultralite Mk4 audio interface. I don't usually have this connected at shows. If the MOTU showed up and disappeared in the device list like all my other MIDI devices, I could deal with it. The problem is that when I'm connected to the MOTU, ALL my MIDI device list is screwed up. Ordinarily, the MIDI devices show up twice in the list - once as input-only devices, and once as output-only devices. But when I am connected to the MOTU interface, everything gets all tangled together and indexes don't line up anymore. Inputs and outputs end up getting showing up as different indexes under the same device. This makes finding the correct device to connect to really difficult. Here are some screenshots to help illustrate this:

Normal MIDI device list:
QLCPlus-MOTO_connected.PNG
MIDI device list with MOTU interface connected before launching QLC+: Here MIDI device 6 has the input for device 6, but the output for device 4. ?!?
QLCPlus-NormalMIDI.PNG
Interestingly, the device list does NOT get screwed up if the MOTU interface is connected AFTER QLC+ is started:
QLCPlus-MOTO_connected_post.PNG
Unfortunately, launching QLC+ before connecting the MOTU isn't really an option since I can never guarantee that I won't have to close and restart QLC+ or deal with a crash in the middle of working on things. The MOTU takes a long time to connect, so it's always the FIRST thing turned on when the computer turns on and never gets restarted except under dire circumstances.

Sorry for the extremely long post. Hopefully I was able to describe the issue(s) clearly. Any help would be greatly appreciated. Let me know if I can provide any further details or testing to help get to the bottom of this. Thanks!

Re: MIDI device assignments changing

Posted: Sun Jan 20, 2019 5:57 am
by tavonmarkov
Running 4.11 GIT - RasPi.

Midi Assignments keep changing.

2x Novation Launchpad MK2, 1 Behringer Eurolight2412 via a generic USB MIDI interface. All run through a powered USB hub.

The two Launchpads keep swapping. Both have different Device IDs.

U0 - no mapping
U1 - Behringer (with profile)
U2 - Launchpad MK2 - w profile
U3 - Launchpad MK2 2 - w profile

Keeps swiching. Need to reassign every time at launch. Any suggestions?

Re: MIDI device assignments changing

Posted: Thu Jan 24, 2019 4:32 am
by tavonmarkov
Does anyone have any insight?

Re: MIDI device assignments changing

Posted: Thu Jan 24, 2019 4:35 pm
by edogawa
I don't know the Launchpad but if it's class compliant it is driven by the standard ALSA snd-usb-audio driver. This page has a section on giving identical cards unique names and index numbers so they become distinguishable: https://www.alsa-project.org/main/index ... -usb-audio

Nevertheless I have three NanoKontrol2 and keep them connected to the same ports on my USB hub, they rarely ever swap...
maybe the hub's ports show up in the same order to the system? Anyway, I didn't do the kernel module options dance, but when needed re-plug them until the order is how I want it to be.

Re: MIDI device assignments changing

Posted: Wed Dec 23, 2020 6:52 pm
by tavonmarkov
I would like to reboot this discussion. I am having issues with the Launchpad and USB midi interface swapping universe options. Anyone?

Re: MIDI device assignments changing

Posted: Thu Dec 24, 2020 9:52 am
by GGGss
Unfortunately the swapping is an O.S. thing and I'm struggling also.
T minus 15m or something, running up to show-time, I do the last reboot, the last re-assign of the universes, and then it's don't touch anything hardware-wise.

Re: MIDI device assignments changing

Posted: Tue May 18, 2021 6:49 pm
by clhuggins
I started to post my own new thread, but then saw this one, and it's named exactly right for my issues. So I thought I might just tack onto this one first.

A few months ago we installed QLC+ 4 at our Church, and I'm still learning it (and lighting control in general) so I apologize for not having the best vocabulary.
  • Windows 10
  • QLC+ 4.x
  • rtpMIDI running and assined as Universe 2 input
  • iPhone running TouchOSC and connected to rtpMIDI
  • iMac running Pro Presenter 7 an connected to rtpMID
I'm having an issue where my MIDI input assignment for Universe 2 is switching from our rtpMIDI checkbox, to a Roland VMixer checkbox. This seems to occur when we already have QLC+ open and running, then we boot up the Roland mixer. I have to manually switch it back, or reopen the save file. Any ideas?

Also, I tried changing our rtpMIDI input assignment to Universe 1, but then it doesn't show MIDI activity from TouchOSC nor Pro Presenter 7.

Re: MIDI device assignments changing

Posted: Wed May 19, 2021 2:43 am
by TristanYoung
Hello everyone. Still loving QLC+.

This sounds exactly like what I'm experiencing. I recently picked up a Pioneer DDJ-SX3 controller, and found that my previous mappings for devices jumble up a bit once the SX3 connects. I have to reset the settings for loopmidi for beat detection via Mixxx.

It looks like QLC+ isn't tracking the connected devices to the point where it can properly restore mapped connections respectively.

I had saved the states of the devices in QLC+ with the SX3 turned on days ago, so the loopmidi port was set for input, and appeared to survive restarting QLC+. Ran QLC+ now with the SX3 turned off, and loopmidi is unselected.

I have no idea if this is a recent issue, since I got the SX3 very shortly before the last Windows update and didn't really have much time to notice the issue before the update. However my gut, and the reports in this thread tell me it's been around for a while.


I ran 2 tests:
1. With my port assignment for loopmidi input saved, terminate QLC+, turn on a USB device, and launch QLC+. Input port assignment remains correct.
2. With my port assignment for loopmidi input saved, terminate QLC+, restart Windows 10, before Windows 10 boots, turn on my SSX3. Input port assignment changes to SSX3, loopmidi not assigned.


Reminds me of when people tried using multiple USB RS232 adapters on one PC. Early models would get mixed up across reboots, and it was a game of guess which one is which, re-assigning com ports or swapping DB9 cables around. Current models being used seem to have that problem solved.

I have never experienced strange mapping/assignment issues when using Reaper DAW with the multitude of USB midi devices I use, and I don't always have all my synths turned on at the same time.

I'm running QLC+ v4.12.3 on Windows 10. I wonder if it also exists in QLC+ v5 alpha? If not, is there any chance of a backport of the assignment code to v4.12.x? I understand there is a desire to concentrate on v5, just curious more than anything. I can manually re-assign, as annoying as it is, it isn't a show stopper.

I noticed there's a duplicate forum post reporting the same behaviour: viewtopic.php?f=24&t=14636

Re: MIDI device assignments changing

Posted: Sat Jul 10, 2021 4:36 pm
by rrstudio2
I have the same problem. I always use the same devices (Entec USB to DMX, Korg NanoKontrol, Novation Launchpad, Novation Mini Launchpad). These are always plugged into a USB hub and that hub is always plugged into the one USB port on my computer (i.e. nothing is changing physicially). Sometimes when I start QLC, the NanoKontrol is in universe 2, the launchpad in universe 3, and the mini launchpad in universe 4. Other times the NanoKontrol gets put into universe 3 and the launchpad is universe 2. I wish QLC had a way to save the universe settings so you can define which devices are in which universes. It seems like each time I start up QLC I have to double check which universes my devices get assigned to and reassign them so all the virtual console buttons work correctly. I thought by having them all consistently plugged into the same USB hub ports and plugging that port into the same USB slot on the computer that this could be avoided, but no luck. I would love if this issue could be fixed. It is nerve racking to get to a gig, try the lights, find them not working and have to remap all the universes. I'm looking at getting more midi devices so this problem will be getting worse for me.

It has been fun getting into DMX and learning the lighting aspect of musical performances.

Re: MIDI device assignments changing

Posted: Wed Nov 17, 2021 11:09 pm
by Spitfirelive
So glad I'm not alone!

Drives me nuts, particularly under pressure setting up.

Re: MIDI device assignments changing

Posted: Wed Dec 01, 2021 3:27 pm
by keukenrol
I have only one midi device myself so cant really test my hypothesis. However, i was thinking a possible solution could be to fix a software id to a certain device?

Re: MIDI device assignments changing

Posted: Wed Dec 01, 2021 3:48 pm
by mcallegari
See this: viewtopic.php?f=17&t=15199

Unfortunately the MIDI protocol doesn't allow to uniquely identify a device, so there is no way to "bind" one device to a specific universe. At least not one that I know.
If someone has ideas how to solve this, they're appreciated.
In case of devices with different names, instead, please try the latest test version and just let me know if it works properly with your setup.

Re: MIDI device assignments changing

Posted: Sat Jul 29, 2023 7:33 pm
by richmn
I would love to see the ability to, in a separate configuration screen or page, the ability to choose which I/O Devices are visible to QLC+ for usage. This could still result in an order/sequence problem, but then we could at least have a consistent, clean list of I/O options, to start from each time. This way, if a new device is detected or added, it does not automatically mess-up existing assignments....

I am suggesting devices are 'added for use' in QLC+ configuration, to show up in the I/O screen. Similar to my DAW I have to 'choose' which MIDI or Audio Interfaces are enabled. If I don't enable them, they don't show up for use in recording. I will look for a test version beyond 4.12.7 if available also, thank you! *If 5.x is the best place to reproduce an issue, I am willing to do that too.