Speed Dial Multiply factor not saving

The issues found when using the Virtual Console
Post Reply
MKUltraMkII
Posts: 21
Joined: Thu Nov 05, 2020 6:35 pm
Real Name: Jay Aich

Hello,

I'm using QLC 4.12.3 on macOS (10.15.7 and another machine on 10.12 I think).

I'm having an issue in my Virtual Console with Speed Dials. I use Speed Dials with the "show multiplier and divisor buttons" appearance option enabled. While in operate mode, I set multiply factors with those buttons. If I stop operate mode, those multiplier factors remain in place. I can resume operate mode and the same factors I set before are still set correctly. But if I stop operate mode, save the project, quit QLC+, and then relaunch and reopen the same project, when I look at Virtual Console, all of the speed dials have their multiply factor reset to 1x.

This is problematic for me as I'm using multiple speed dials with different multiply factors, chained to midi or loopback input, to achieve the effects I want.

Is there a way to get speed dials to save their multiply factor to the project so the value stays in place between QLC+ runs?

Is this seen as a bug, or is this the known/expected behavior of speed dials?

Attached project will show you some speed dials with factors of 1x if you open some of the panels in my Virtual Console. Try changing those factors while in operate mode, then stop operate mode and save the project. If you quit & reopen, they'll reset to 1x.

Thank you
Attachments
LEDSync.qxw
(249.59 KiB) Downloaded 51 times
MKUltraMkII
Posts: 21
Joined: Thu Nov 05, 2020 6:35 pm
Real Name: Jay Aich

I've now discovered that in the Speed Dial properties, I can specify a duration factor on individual functions the Speed Dial is controlling. Changing this value and saving the project appears to remain saved between runs of QLC+. This is great- and specifying the factor for individual functions will simplify my SpeedDial usage.

However, there is still one issue with that- the Duration factor in the Speed Dial properties only allows me to set a range between 1/16 and 16. Whereas the multiply/divide buttons while in operate mode will allow adjusting between 1/2048 and 2048.

Is there any way I can increase the range allowed by the dropdown for duration factor of a function within Speed Dial properties?

Thanks.
Screen Shot 2021-01-13 at 9.24.39 AM.png
EDIT:

Checking the QLC+ source, I've found:

Code: Select all

vcspeeddialfunction.cpp
Functions:

Code: Select all

VCSpeedDialFunction::speedMultiplierNames()

Code: Select all

VCSpeedDialFunction::speedMultiplierValuesTimes1000()
These functions appear to specify the list of names / values for the duration dropdown, and are capped at 1/16 to 16.
I haven't yet traced their usage to determine if it would be as simple as adding more names/values in these functions, or if there is some other limitation somewhere that caps these for some reason.
MKUltraMkII
Posts: 21
Joined: Thu Nov 05, 2020 6:35 pm
Real Name: Jay Aich

After a lot of trouble getting source to build on macOS 10.15, I eventually sorted it out. Details here:
https://www.qlcplus.org/forum/viewtopic ... 064#p62064

I edited those files I mentioned above to add options between 1/2048 up to 2048. This worked! There are now more options in the dropdown.
Screen Shot 2021-01-16 at 11.00.44 AM.png
There are some minor "downstream" impacts- if you open an existing project with this change in place, it will bork any previously-set duration values. And when you add a function to a speed dial's function list, it seems to set the "default" duration value to 1/128 now. For these reasons, this tweak isn't something I'll issue as a PR (I'm pretty new to QLC+, I'm unsure if any further work is being done on 4.12.3 anyway...)

But for my purposes, starting on a fresh project and just wanting to be able to set and save some duration values outside of the limited options of 1/16 to 16 that were previously available, this should work well for me.
Post Reply