Fixture groups and selections
Posted: Thu May 29, 2014 11:51 am
I have recently worked with QLC+ for a party where all the lighting was "freestyled" on what the DJ(s) choose to "play". One feature I was really missing in QLC+ was the ability to select fixtures or a preset group of fixtures and have these perform a certain action.
I have worked around this issue somewhat by duplicating controls and having a "master" and "submaster" controls for the different groups. However this means a lot of controls and programming and a lot of clutter in the virtual console and it's simply not intuitive.
So anyway I thought: "Hey, I know how to code and I could use some GitHub activity on my résumé, so let's do this." Disclaimer: C++ isn't my best language and it's possible I decide to postpone this project in favour of other activities.
I have done some code scanning and I think this should be possible. Just to make sure I get off on the right foot, I would like some feedback as to how I would write this functionality.
I'm thinking of adding an extra tab to the fixtures screen, where you can configure your fixture groups. While on the topic of fixture groups: how would I call my fixture group class, FixtureGroup is already taken (FixtureCollection?).
In the virtual console you have a new widget: the group frame. The group frame can be configured to have any subset (note: not [proper subset](http://en.wikipedia.org/wiki/Subset#Definitions)) of a fixture group in the selection tray. All the controls in the group frame are automatically configured to operate on the selected group. I'm still wondering how this would work: I could exclude all the fixtures which aren't selected from being affected by the controls or I could limit the controls to only operate on the selected fixtures. The difference being the exclusion of fixture which aren't in the group.
I'm still considering ways to actually implement this in the controls: one way would be to provide a mask to controls which excludes fixtures from the function or levels. Though I'm open to suggestions for less invasive ways to do this.
One extra feature which I think would be rather simple would be the addition of ctrl and shift modifiers to the selection, allowing multiple selections. This would require the rest of the code to be working so I'm not making this a priority.
In the functions screen I'm thinking of adding another selection thingy to include the fixture groups, though this wouldn't be a requirement for the rest of the functionality.
So let me know what you think and if this is actually feasable.
I have worked around this issue somewhat by duplicating controls and having a "master" and "submaster" controls for the different groups. However this means a lot of controls and programming and a lot of clutter in the virtual console and it's simply not intuitive.
So anyway I thought: "Hey, I know how to code and I could use some GitHub activity on my résumé, so let's do this." Disclaimer: C++ isn't my best language and it's possible I decide to postpone this project in favour of other activities.
I have done some code scanning and I think this should be possible. Just to make sure I get off on the right foot, I would like some feedback as to how I would write this functionality.
I'm thinking of adding an extra tab to the fixtures screen, where you can configure your fixture groups. While on the topic of fixture groups: how would I call my fixture group class, FixtureGroup is already taken (FixtureCollection?).
In the virtual console you have a new widget: the group frame. The group frame can be configured to have any subset (note: not [proper subset](http://en.wikipedia.org/wiki/Subset#Definitions)) of a fixture group in the selection tray. All the controls in the group frame are automatically configured to operate on the selected group. I'm still wondering how this would work: I could exclude all the fixtures which aren't selected from being affected by the controls or I could limit the controls to only operate on the selected fixtures. The difference being the exclusion of fixture which aren't in the group.
I'm still considering ways to actually implement this in the controls: one way would be to provide a mask to controls which excludes fixtures from the function or levels. Though I'm open to suggestions for less invasive ways to do this.
One extra feature which I think would be rather simple would be the addition of ctrl and shift modifiers to the selection, allowing multiple selections. This would require the rest of the code to be working so I'm not making this a priority.
In the functions screen I'm thinking of adding another selection thingy to include the fixture groups, though this wouldn't be a requirement for the rest of the functionality.
So let me know what you think and if this is actually feasable.