mcallegari / qlcplus

Q Light Controller Plus (QLC+) is a free and cross-platform software to control DMX or analog lighting systems like moving heads, dimmers, scanners etc. This project is a fork of the great QLC project written by Heikki Junnila that aims to continue the QLC development and to introduce new features.
Apache License 2.0
1.01k stars 359 forks source link

Configure Midi Plugin - save and restore setting offset #241

Closed PRICOM closed 10 years ago

PRICOM commented 10 years ago

When configuring the Midi Plugins for "OMNI Mode" (all midi chans set 1-16) I had to set these values in the below screens. The upper screen capture is as set in the UI. The system operates normally after setting these until exiting QLC+. The lower screen is after re-starting QLC+, the settings seem to load with an offset. This happens in both QLC+ 4.6.1 and 4.7.0 (the current head of Git). Not sure if this is loading the config at an offset, or just matching the input config to the output config. In my case, there are more outputs than inputs, so the offset of each device is different from input to output.

QLC+ 4.6.1 (from the downloads page) and QLC+ 4.7.0 (built by me last night) Both on WIndows 7, 64bit, no OSC and no Velleman in the 4.7.0 build.

The work-around is to reset the Omni Mode each and every time you launch QLC+

Have not looked at the code to see if I can figure this out.

Bob midi channel save midi channel load

PRICOM commented 10 years ago

As a footnote to this issue, the Mode and Init Message pulldowns do not safe state when exit and re-enter QLC+. Settings do persist as long as you don't exit the program. In other words, all setting stay when entering and exiting the Configure MIDI Plugin dialog.

So setting have an offset for MIDI Channel, but do restore. No settings saved for Mode and Init Message pull-downs.

Bob

PRICOM commented 10 years ago

Had a minute to trace this down... Seems the issue is that QSettings (registry for windows) is only saving values for MidiDevice, not specific to input or output device but shared.

So I think what needs to happen is a separate settings storage for input vs output midi devices. The QSettings key is currently "midiplugin/%1" So maybe QSettings keys could be: "midiplugin/input/%1" and "midiplugin/output/%1"

What you guys think?

PRICOM commented 10 years ago

I have a code update that implements the input/output and device name instead of device number.

Will commit when tested.

Bob

mcallegari commented 10 years ago

Hi Bob, can we close this one after having your changes merged ?

PRICOM commented 10 years ago

Yes, the changes solve this issue.