Hi community,
I'm using QLC+ mainly for doing live lightshows during rock concerts. When I arrive at a venue where there's usually a lighting desk, I use the "Simple Desk" to check all fixtures and the patching and then create Functions and my Virtual Console. While it is very nice that the Virtual Console can be accessed via web server, the Simple Desk cannot. So while I'm on stage with my laptop at the FOH, I cannot use my mobile phone to check the fixtures since I just didn't yet setup the Virtual Console at all.
Furthermore, If you ever tried using sliders on the web interface via a mobile phone you realize that you need to be very precise. Otherwise my browser scrolls instead of modifying the value.
To get rid of all of these problems, I tried to implement a DMX KeyPad in QLC+. The ones you find on lighting desks like GrandMA and the ones made by transtechnik to select a range of channels and assign a value to them. Those keypads are very suitable for touchscreens and the webserver of the OLA daemon (Open Lighting Architecture) features such a keypad.
My first try enhances the Simple Desk by adding the keypad to the sliders in the upper section. This make sense since just like the sliders, the commands from the keypad override the DMX channel values until reset and you get a visual feedback which channels are overridden (red background of sliders). The long aim is to add it also to the webserver so it can be used via mobile phone or tablet.
The code can be found here: https://github.com/kripton/qlcplus/tree/dmxkeypad
Just switch to the Simple Desk and play around.
The number keys, "AT", "CLR", "FULL", "THRU" (for channel ranges, not yet for value ranges) and "ENTER" should be working. "MINUS", "PLUS" and "BY" as well as value ranges (transtechnik calls them "FAN" function) haven't been implemented yet.
I plan to add a syntax diagram as found on https://sqlite.org/syntaxdiagrams.html for the documentation later.
It would be nice to get comments on the code and the functionality so I can change it rather early than later.
Best regards,
Jannis
Last edit: jannis87 2014-04-12
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Jano, thanks for the hint, the generated graphs look usable. However, I think I'll try the way SQLite generated their graphs first since they used a Tcl-program and I know Tcl better than PHP. Furthermore I didn't decide yet, whether to ship the diagrams as SVG/PNG or as source and let them be generated during build time. In the latter case it matters on what interpreter we can depend.
Another note about the actual KeyPad StateMachine algorithm: I just realized that I should use the enter() and exited() signals of the states more often. That might save me a lot of if-instructions. Refactoring the code right now ...
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I really like it, I kind of planned something like that (as a developer, I always welcome keyboard control, and command line interfaces :) ). Unfortunately I'm pretty busy so I can't check the code now. Massimo is planning release real soon, so I suppose he won't merge it before the release either.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hi Kripton, you did it right to post the shots here. Sorry for asking them in private.
As Jano said, this is too much to be integrated in 4.7.1, but I'm willing to do it later.
The only problem I see here is a "space issue". I struggled to have the Simple Desk 32 channels to fit on smaller screens. Now the smallest width that Simple Desk can assume is 980 pixels (at least on Linux)
Your shots are 1318 pixels wide, so your solution won't fit on 1280x1024 or 1024x768 resolutions. In those cases I guess QLC+ will resize the window out of the screen, so the user won't be able to access the rightmost icons, like operate mode, blackout and so on.
Even worse, all the right editors will be cut (chaser, efx, rgb matrix editors, etc)
I would propose to add a button to show/hide the keypad
- as an optional left panel (your current solution)
- as a separate window always on top, like the speed dials window
What do you think ?
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hi,
no problem that this won't make it into 4.7.1. More time to write documentation :D (And maybe get it onto the webserver?)
The smallest width I can get by resizing is 1088px (Too wide for 1024). But it looks like the width is limited (in a minimum width way) by the bottom half.
However, all the splitters (the horizontal one between the "Universe control" (top) and the cue stack (bottom) can be resized and when pulling the splitter between the faders and the keypad way to the right and the keypad will disappear automatically. However, hiding it by default will probably keep it hidden forever.
In the bottom half, the "Cue stack" is a tab and I thought about just adding the keypad as another tab there. From the design side (mostly looking at the existing code) it really doesn't belong there but directly attached to the "Simple Desk" faders at the top.
Separate window: Sure, thought about that one, too. Everytime the keypad runs detached from the simple desk, it needs a button to reset the channels. I even thought about deriving from the simpledesk and running detached from it. Any design-improvements are appreciated :D
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Two considerations:
- the Simple Desk minimum width is determined by the top part, not the bottom one. I think the channels top icons are the ones that cannot be resized
- the Cue Stack is a tab because if channel groups are present in the project, they will appear in the Simple Desk as a new tab (try it out). This means that those tabs are generic, so not necessarily related to the bottom part.
Said that, I would go for two options:
- keypad as a separate window
- keypad as a tab
Which one do you prefer ? :)
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
you guys are simply the best! unfortunately i am not a developer and a bit slow on the intake as far as including add ons in the software. can you tell me how to access qlc+ through the web browser? and i would love the add on with the channel pad on the simple desk. please teach me!
thank you
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hi Sebastian,
sorry I didn't respond earlier, I just saw your questions today.
To get QLC+ on the web browser is easy. Just make sure you are using the latest version and append "-w" to the command line. Then, in your web browser enter "http://<IP>:9999" or "http://127.0.0.1:9999" if testing it locally and you should be set.
The DMX keypad has not yet been merged to QLC+ and you could access it if you compiled QLC+ yourself.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hi community,
I'm using QLC+ mainly for doing live lightshows during rock concerts. When I arrive at a venue where there's usually a lighting desk, I use the "Simple Desk" to check all fixtures and the patching and then create Functions and my Virtual Console. While it is very nice that the Virtual Console can be accessed via web server, the Simple Desk cannot. So while I'm on stage with my laptop at the FOH, I cannot use my mobile phone to check the fixtures since I just didn't yet setup the Virtual Console at all.
Furthermore, If you ever tried using sliders on the web interface via a mobile phone you realize that you need to be very precise. Otherwise my browser scrolls instead of modifying the value.
To get rid of all of these problems, I tried to implement a DMX KeyPad in QLC+. The ones you find on lighting desks like GrandMA and the ones made by transtechnik to select a range of channels and assign a value to them. Those keypads are very suitable for touchscreens and the webserver of the OLA daemon (Open Lighting Architecture) features such a keypad.
My first try enhances the Simple Desk by adding the keypad to the sliders in the upper section. This make sense since just like the sliders, the commands from the keypad override the DMX channel values until reset and you get a visual feedback which channels are overridden (red background of sliders). The long aim is to add it also to the webserver so it can be used via mobile phone or tablet.
The code can be found here: https://github.com/kripton/qlcplus/tree/dmxkeypad
Just switch to the Simple Desk and play around.
The number keys, "AT", "CLR", "FULL", "THRU" (for channel ranges, not yet for value ranges) and "ENTER" should be working. "MINUS", "PLUS" and "BY" as well as value ranges (transtechnik calls them "FAN" function) haven't been implemented yet.
I plan to add a syntax diagram as found on https://sqlite.org/syntaxdiagrams.html for the documentation later.
It would be nice to get comments on the code and the functionality so I can change it rather early than later.
Best regards,
Jannis
Last edit: jannis87 2014-04-12
For diagrams, check asciidia.
Jano, thanks for the hint, the generated graphs look usable. However, I think I'll try the way SQLite generated their graphs first since they used a Tcl-program and I know Tcl better than PHP. Furthermore I didn't decide yet, whether to ship the diagrams as SVG/PNG or as source and let them be generated during build time. In the latter case it matters on what interpreter we can depend.
Another note about the actual KeyPad StateMachine algorithm: I just realized that I should use the enter() and exited() signals of the states more often. That might save me a lot of if-instructions. Refactoring the code right now ...
Here's a screenshot of the functionality
Another screenshot. Two commands were issued:
1 THRU 10 BY 3 AT 200
18 THRU 25 AT 0 THRU 255
I really like it, I kind of planned something like that (as a developer, I always welcome keyboard control, and command line interfaces :) ). Unfortunately I'm pretty busy so I can't check the code now. Massimo is planning release real soon, so I suppose he won't merge it before the release either.
Hi Kripton, you did it right to post the shots here. Sorry for asking them in private.
As Jano said, this is too much to be integrated in 4.7.1, but I'm willing to do it later.
The only problem I see here is a "space issue". I struggled to have the Simple Desk 32 channels to fit on smaller screens. Now the smallest width that Simple Desk can assume is 980 pixels (at least on Linux)
Your shots are 1318 pixels wide, so your solution won't fit on 1280x1024 or 1024x768 resolutions. In those cases I guess QLC+ will resize the window out of the screen, so the user won't be able to access the rightmost icons, like operate mode, blackout and so on.
Even worse, all the right editors will be cut (chaser, efx, rgb matrix editors, etc)
I would propose to add a button to show/hide the keypad
- as an optional left panel (your current solution)
- as a separate window always on top, like the speed dials window
What do you think ?
Hi,
no problem that this won't make it into 4.7.1. More time to write documentation :D (And maybe get it onto the webserver?)
The smallest width I can get by resizing is 1088px (Too wide for 1024). But it looks like the width is limited (in a minimum width way) by the bottom half.
However, all the splitters (the horizontal one between the "Universe control" (top) and the cue stack (bottom) can be resized and when pulling the splitter between the faders and the keypad way to the right and the keypad will disappear automatically. However, hiding it by default will probably keep it hidden forever.
In the bottom half, the "Cue stack" is a tab and I thought about just adding the keypad as another tab there. From the design side (mostly looking at the existing code) it really doesn't belong there but directly attached to the "Simple Desk" faders at the top.
Separate window: Sure, thought about that one, too. Everytime the keypad runs detached from the simple desk, it needs a button to reset the channels. I even thought about deriving from the simpledesk and running detached from it. Any design-improvements are appreciated :D
Two considerations:
- the Simple Desk minimum width is determined by the top part, not the bottom one. I think the channels top icons are the ones that cannot be resized
- the Cue Stack is a tab because if channel groups are present in the project, they will appear in the Simple Desk as a new tab (try it out). This means that those tabs are generic, so not necessarily related to the bottom part.
Said that, I would go for two options:
- keypad as a separate window
- keypad as a tab
Which one do you prefer ? :)
you guys are simply the best! unfortunately i am not a developer and a bit slow on the intake as far as including add ons in the software. can you tell me how to access qlc+ through the web browser? and i would love the add on with the channel pad on the simple desk. please teach me!
thank you
Hi Sebastian,
sorry I didn't respond earlier, I just saw your questions today.
To get QLC+ on the web browser is easy. Just make sure you are using the latest version and append "-w" to the command line. Then, in your web browser enter "http://<IP>:9999" or "http://127.0.0.1:9999" if testing it locally and you should be set.
The DMX keypad has not yet been merged to QLC+ and you could access it if you compiled QLC+ yourself.