Program Scenes and Functions from the Simple Desk/A command line interface

Request a feature that you would like to see in QLC+.
Explain in details why you would need it and which is your usage case.
Post Reply
veecue
Posts: 2
Joined: Sun Feb 05, 2017 1:44 pm
Real Name:

Hi,
it would be cool to have a command-line interface to program all the functions. We already have the DMX-Keypad in Webview and the script language, so I think it would be awesome to have a way to combine these into a fully functional Command-Based programming interface like ETC Software has. I would be willing to help in the design and implementation process!
Greetings,
veecue
lightweaver
Posts: 14
Joined: Thu May 17, 2018 10:04 pm
Real Name: Brent

+1 from me too. I'm use to programming via command line and it can be much faster in many cases.
Krsound
Posts: 141
Joined: Sun May 31, 2015 4:42 am
Location: USA
Real Name: Kyle Sims
Contact:

I’m going to third that, much faster to call single fixtures or groups
User avatar
mcallegari
Posts: 4461
Joined: Sun Apr 12, 2015 9:09 am
Location: Italy
Real Name: Massimo Callegari
Contact:

It seems this has been requested several times over the years, but nobody actually came up with a proposal.
I hope you guys understand that requesting "a command line interface" is a bit vague considering the complexity of QLC+.
I don't know "the ETC software" either and I do not intend to learn it. Don't have time for that.

So, please, make a proposal and let's discuss it.
Consider though that this is QLC+ 5 stuff. It was already in my plans, but if we agree on a proposal that makes everybody happy, I will implement that.
Krsound
Posts: 141
Joined: Sun May 31, 2015 4:42 am
Location: USA
Real Name: Kyle Sims
Contact:

I want anyone to chime in but from all the request that I have seen everyone is leaning towards the MA2 command line here is how the command line is laid out for MA2. Note: extra keys would have to be added and be programmable to other keys on midi or a keyboard, such as fixtures, groups, for ma excututers but for qlc cues, full, blackout, etc...

Using the Command Line
Command Line syntax can basically be thought of as another language, with words that can be broken up into different groups (in this case, primarily Object keywords, Function(al) keywords, and Helper keywords), and general rules for how those words get combined to form meaningful expressions.

Object keywords can be thought of as Nouns, and, together with a numerical identifier or name, are used to reference an item. A few examples of objects (with identifiers) might be: Cue 4, Preset 3.5, Group "Washes", Effect "Color Bump"
Function keywords can be thought of as Verbs and are used to perform an action - most of the time, in combination with an Object keyword. A few examples of functions might be: Delete, Store, Assign, Blackout, Go.
Helping keywords can be thought of as Prepositions and Conjunctions, and are used as connectors or conditions. Some examples of helping keywords are Thru, +, -, At, If.

How a Console "Talks"

The general rule for MA2 syntax is Function → Object <ID> (→ Location). The easy way to remember this is with the phrase "Do This (Here)." A few examples of this might be:
Store Cue 9
Function/Do = Store
Object/This = Cue 9
Delete Effect 30 + 39
Function/Do = Delete
Object/This = Effect 30, 39
Helper = +
Move Group 1 Thru 10 At 21
Function/Do = Move
Object/This = Group 1,10,21
Location/Here = 21
Helper = Thru, At
Every command is entered into the console to be executed using the [Please] key - we try to be polite to our console. :)

Notes:
The most commonly used keywords are shown as the labeled buttons. However, there are many more keywords defined in the software than there are buttons. Most of the buttons in the programming section will put a different keyword into the command line with additional keypresses. Some keywords can also only be pressed on the screen. However, all keywords can be manually typed into the Command Line, if necessary.
As with all languages, there are some exceptions to every rule. For example:
Some Function keywords, such as Full or Blackout do not require an object.
Some keywords have a default action or object assigned to them, which means that when you're executing that syntax, you don't have to press every key every time.
Capitalization of keywords doesn't matter in MA2 - it's just used for ease of reading.
When looking at your Command Line Feedback window, anything the desk recognizes as a keyword will be shown in green. Otherwise it will be shown in white.

Default Object
You may have noticed on the left side of your Command Line that there is an Object keyword grayed out and in brackets.

This is your "Default Object", and will be assumed to be the object you're trying to call, if you start typing a number without having put any other keywords into the Command Line. This is generally so that if you are selecting fixtures or channels to be manipulated, you don't have to press the [Channel] or [Fixture] key every time. However, any Object can become the "Default Object." To change your Default Object, simply press the Object you want, followed by [Please]. For example, if you were doing a lot of work with Effects, and wanted your Default Object to be "Effect," simply tap the [Effect] key, followed by [Please].
User avatar
mcallegari
Posts: 4461
Joined: Sun Apr 12, 2015 9:09 am
Location: Italy
Real Name: Massimo Callegari
Contact:

Thanks for the lengthy explanation, but I still don't understand the details of this.
First off, we shouldn't copy a functionality from another software. It's good to know how others do it, but we don't necessarily need to copy.
Moreover, the QLC+ workflow is quite different from other solutions.
Therefore, can we please come up with a proposal for the QLC+ 5 workflow ?
Means: use QLC+ 5 for a few hours, and imagine what would be the most efficient way to work with a command line interface.
Thanks
Krsound
Posts: 141
Joined: Sun May 31, 2015 4:42 am
Location: USA
Real Name: Kyle Sims
Contact:

First thing would be to have when patching a fixture a fixture ID and a group ID. Example Universe 1 fixture 1, on the key pad is 1.1 Universe 2 fixture 1 is 2.1 and so on and or have on the keypad a fixture button and a group button and a channel button. Trying to remember the channel of the dimmer channel for 20 fixtures would be two hard. So lets take baby steps with this so lets say I want to do something with fixture 1 on Universe 2, all I type into the keypad is 2.1 (enter) and it brings up that fixture and all the functionality of that fixture, pan tilt dimmer, gobos ect., it like in QLC+5 if in the 3d video i took the mouse and clicked on that fixture, now I have control of that fixture. If I want multiple fixture in the SAME universe I would type 2.1 thur 10 I just selected fixture 1 thur 10 on universe 2. Lets say I want every other fixture on that universe you would type 2.1,3,5,7,9. So all we have done so far is just activating fixtures and there functionality. If you have the same fixture but on different universes that is where a group ID comes in. You can type Group or hit the button group then the number of the group, now the fixtures of that group is selected. So this would be the start because from here it does get complicated. Commands typing for a fixture the first one that should be achieved would be the dimmer channel on the fixture would look something like this (2.1 thur 10 at 100 (enter)) I just took fixture 1-10 to 100% or 255 intensity. Next would be when you select on a function of a fixture the keypad activates it value the big one would be position (pan and tilt) however that number input for this needs to be from the fixture home, which dmx value is pan 127 and tilt 127 which is 0 degs. If the moving head is on the floor back stage, so if click on the tilt the keypad will have the cmd line (tilt) at 90 that should have the moving head, head at 90 degs of the yoke strait out to the crowd, if I click tilt cmd line should look like this (tilt) at -90 then the moving head would be facing backwards towards the back stage. Like I said this gets very complicated
User avatar
mcallegari
Posts: 4461
Joined: Sun Apr 12, 2015 9:09 am
Location: Italy
Real Name: Massimo Callegari
Contact:

Is the [Return] key of your keyboard broken ? :D
Just kidding...but I read 3 times what you wrote and just thought: are we really sure this is more efficient than selecting one or more fixtures and using the left side tools to set channels (+ eventually dump on a Scene) ?

In my QLC+ 5 plans there is a DMX keypad, but my idea is kind of different from what you're proposing here. For example I didn't consider selecting fixtures at all.
My idea of keypad is something you can activate in the Scene editor to avoid using the mouse to adjust channel levels.
Plus a few goodies like ramping/fanning/etc more focused on dimmer packs rather than complex fixtures.

I don't know, this has to be elaborated quite a bit before reaching a final solution.
markus_b
Posts: 12
Joined: Fri Jul 01, 2016 9:06 pm
Location: Switzerland
Real Name: Markus Baertschi

I would go beyond a simple command line and integrate a scripting language. Its console serves as command line interface, it will give us full blown scripting capabilities. There are many option, but I'd like JavaScript best. There are several implementations to choose from. We'd have to add the QLC+ specific object model, but the whole syntax would be some well known item.

JavaScript lends itself quite well to the task as it is designed with input and output in mind and can handle events nicely.
Krsound
Posts: 141
Joined: Sun May 31, 2015 4:42 am
Location: USA
Real Name: Kyle Sims
Contact:

are we really sure this is more efficient than selecting one or more fixtures and using the left side tools to set channels (+ eventually dump on a Scene) ?

Far as this question it depends who you are if you like using a mouse or a touch screen that option is fine but if you like Hard keys and faders and encoders the keypad option is better. Why I reference MA2 so much is because my church has one which I use there and the touring company I go with uses a full size, therefore is what I know. When I use it I use more of the keypad than anything. To me searching for a fixture on VC is more time consuming than I know what Fixture ID or Group ID I want. and the position portion its night and day, if you know degrees and you know that 0 degrees is the moving head strait up and pan is center calling out degrees on keypad is much faster. I didn't put this in the last one because I thought it was getting to long is a store button you move your lights where you want and have a key that is a store to a sequence. done move on to the next sequence
TheLightGuy
Posts: 25
Joined: Wed Jan 24, 2018 4:48 am
Real Name: Dakota

I agree with the command line interface. This isn't just a feature that's on MA, it's on every console out there. I already suggested adding palettes, as other consoles do, and the command line would make the program a much more powerful piece of software. Yes you can use the software on a laptop, but there is a growing crowd (among my colleagues) which would support the software to be loaded on a custum built QLC+ powered console (where once it can be used in a highly professional environment by companies, larger donations could then be made by companies and individuals). While the current workflow is good, on both version 4 and 5, I agree that this would drastically speed up programming. Don't set button specific (such a "up, down, fixture, channel," etc.), but map them to the keyboard (and allow for custum key mapping on these keys, so you could add a midi board and create a custom "programmer" layout).

I do realize I don't have QLC+'s full plan in my head, but the way I see QLC moving towards, is towards adding some the tried and true methods of tradional console programming. These are used because they are some the fastest ways to program. But, QLC has much more potential in that it can be highly customized. If the programmer is added however, I think it should be accessable from every window within the software. It would allow for quick and easy use, as well as multitasking (programming and creating the VC at the same time, or adding lights while setting up an sACN stream, etc.).
kGabe
Posts: 13
Joined: Tue Oct 23, 2018 10:43 am
Real Name: gabriele

mcallegari wrote: Thu Nov 08, 2018 3:40 pm Is the [Return] key of your keyboard broken ? :D
Just kidding...but I read 3 times what you wrote and just thought: are we really sure this is more efficient than selecting one or more fixtures and using the left side tools to set channels (+ eventually dump on a Scene) ?

In my QLC+ 5 plans there is a DMX keypad, but my idea is kind of different from what you're proposing here. For example I didn't consider selecting fixtures at all.
My idea of keypad is something you can activate in the Scene editor to avoid using the mouse to adjust channel levels.
Plus a few goodies like ramping/fanning/etc more focused on dimmer packs rather than complex fixtures.

I don't know, this has to be elaborated quite a bit before reaching a final solution.
The keypad idea seems to be so powerful, can you explain about that?
Post Reply