Fix for bad DMX USB plug-in timing on Windows #1667
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This pull request fixes bad DMX timing from the DMX USB plug-in when running on Windows. See issue #1656 for discussion.
The following changes are implemented:
DMXUSBWidget
. Closes that request during destruction.dmxusb/windowstimerresolution
registry key setting. (I don't imagine much use for this, but added it just in case.)This will resolve the following problems:
I have tested these changes on Windows 11, Windows 10, and Windows 7.
Some other notes:
PUBLIC
orPRIVATE
withintarget_link_libraries
in theCMakeLists.txt
specifies, what the difference is, or if it even matters. Looking at other areas wherewinmm
is linked, there is no consistent usage - both are used.GetProcAddress
was triggering a compilation error, but I am puzzled as to why only for this code and not for any other usage ofGetProcAddress
in other code elsewhere (e.g.peperoni
,hid
plug-ins). Are the compilation error/warning options different for thedmxusb
module? I had to add a#pragma
to ignore the error, because the cast is absolutely necessary.