query with channels, groups and cue ranges

dear etc team

 

in another thread we stumbled about a query challenge: http://www.etcconnect.com/Community/forums/t/7296.aspx . it brings me to this question:

could query work with channels, groups and cue ranges?

groups: which channels are in Group x and in Group y ? (just a little note: Query, then press Group. Query is cleared and Group is posted. but Groups seems to be spelled in single letters: it doesn't take on press of Clear to get rid of it but five, one for each letter)

channel: which one of channels 1, 2, 5 and 7 is on CP x...

cue range: Blind Cue 1 Thru 10 Enter Query ...

 

please? pretty please? ;-)

 

thx, ueli

 

ps: if i am too daft to get it done with existing commands, please feel free to tell me ;-)

Parents
  • Hi Ueli,

    Group is, by default, a selection tool, much like Query.  Groups don't store any intensity data, but their advantage is that they also preserve order selection.  By just pressing [Group] x [Group] y [Enter], you select what's in each group anyway.

    For the channel example you mentioned -- it is possible to do the exact channel range by doing the following Query:

    [Chan] [1] [+] [2] [+] [5] [+] [7] [Query] {Is In} [Color Palette] [1] [Enter] selects the channels in that set that are in Color Palette 1.

    (It's also possible to type [Group] [1] [Query])

    Regarding Query in a Blind Cue range, while I don't believe it is possible (and someone will be along to confirm/deny), you're also getting into interesting areas in terms of cue editing.  Selecting a range of values across cues and doing something with that data (deleting it, changing it, recording it into a new target) introduces a lot of potential ambiguousness.  

    Also, thanks for bringing up the issue with trying to clear the command line after pressing Query and then Group.  We'll look into what's going on there.

     

  • hi hans

    what i was trying to achieve with the combination of query and group was to find the "overlap" of two groups. something like "Query Is_In Group 5 Is_In Group 7". it could be a faster way of assigning keywords to channels in patch. group 5 could be all my side blue side lights and group 7 could be my complete first boom with all the colors. the overlap would be the blue side lights in the first boom. and apart from being faster when assigning, it would give us more selecting criteria than "just" the 4 keywords (don't get me wrong, the keywords are great!).

    and thx for the hint with the channels before query. never got that far, always felt that query has to go first. but then the absent channel key got me stuck ;-)

    and last but not least: i'm aware that the combination of query and cue ranges can be dangerous and do much harm, because it would be a really powerful tool. but as they say in the movies: With great power comes great responsibility ;-) maybe there would have to be a "please confirm" question at the end. but i hope you guys agree that this would be quite a nice and really fast feature?

     

    ueli

  • I agree that it would be a useful method and have had a thought on extending that. Coming from a Unix background (hence why I like the CLI on the Eos family), logic tells me that a command like

    Query same_as Group 5 Group 7

    would probably do the job you are describing. The logic behind this is from the Unix program 'diff' where it by default tells you the difference between two (or more) inputs (in this case, groups).

    It could also be useful to be able to select all channels that are exclusive - so to select files that are in group 5 or group 7 but not both:

    Query diff Group 5 Group 7

    Another possible extension to this command:

    Query diff Group 5 only Group 7

    to select differing values but ignore those values from group 5.

     

    Here is a Unix-based mock-up I came up with:

     

    echo 1 >> Group1                 #These commands put values 1 through 5 into group 1
    echo 2 >> Group1
    echo 3 >> Group1
    echo 4 >> Group1
    echo 5 >> Group1
    echo 3 >> Group2                 #These commands put values 3 through 7 into group 2
    echo 4 >> Group2
    echo 5 >> Group2
    echo 6 >> Group2
    echo 7 >> Group2

    diff Group1 Group2                 #This shows the difference between group1 and group2
            1,2d0
            < 1
            < 2
            5a4,5
            > 6
            > 7


    diff Group1 Group2 | grep "<"                 #This shows what is in group1 that is not in group2
            < 1
            < 2

    diff Group1 Group2 | grep ">"                 #This shows what is in group2 that is not in group1
            > 6
            > 7

    comm -1 -2 Group1 Group2                 #This shows what is in both group1 and group2
    3
    4
    5

     

    Maybe this is useful (I hope so), but apologies if it is not!

    How many more (useful) ways are there to analyse lighting groups? *grin*

     

    Incidentally, talking of a CLI, the Eos-family is crying out for bash-style command editing. Main reasons:

    1) When inputting a large command, and need to change something like channel selection at the start of the command, you can use the arrow keys to edit the command without deleting the rest of it.

    2) The up arrow key can cycle through previous commands. If, for example, I want to execute a load of similar commands, I can type one out, press enter, press the up arrow key and edit the command for the second iteration.

  • haha, i have a feeling that ETC internally will refer to this thread as "programmers' nightmare" ;-)

    i love the bash-style navigation through older commands. and the whole diff thing is neat too. don't know though, if the syntax could be remembered and used in normal day life... what i miss most on the eos is a "Not" button, that works outside of query too. ok, it has to do with the fact, that my most fluent lighting console has it and i use it a lot (hint: it's a console which in the mean time is owned by ETC too ;-) ). "Select Active Not Enter" (selects all channels that are not active), "Group 990 Not Out" (switches off all channels that are not in group 990), "Capture Not Enter" (selects all un-captured channels), etc. basically like Query's "Isn't" softkey but outside of query.

    i guess, i should stop now. poor programmers ;-)

     

    ueli

  • Hi Ueli and David,

    While I can't speak to the coding part of it, being down in Tech Support, I can address current software function --

    The syntax you're looking for in Group selection isn't currently valid, but it is valid in Intensity Palettes -- the following command:

    [1] [Thru] [1][0] [Query] [Can Be] [Intensity Palette] [1] [Intensity Palette] [2] [Enter]

    will select, from channels 1 through 10, which of those is in both IP1 and IP2.  

    Query also seems to be focused on record targets, while Group is currently focused as a selection tool.   

  • hm, ok, as a workaround (until the console offers the query/group/overlap-functionality ;-) ) i can have groups and IPs and do what i wanted. might be a little cumbersome, to have changes done both in groups and IPs but for the moment it's not too bad. thanks!

    ueli

     

     

  • Hi all.  We are intending to extend the query feature quite a bit over time.  There are a number of directions to go.  But to answer the first requirement, (find the channels that are shared in two groups), that is actually a long-standing requirement for offset.    We are looking to add a new SK that is Offset Shared.

    :-)

    a

     

  • Ueli,

    One last thought about the Intensity Palette and Group workaround -- you can also call IPs as Groups.  

    The syntax: [Group] [Intensity Palette] [1] [Enter] will select those channels stored in the intensity palette.  

    Hans

  • The Expression had an Only softkey which worked nicely for group intersections, and the label and syntax is clear.  I could also see an advantage of some combination of - + and / being used for intersections.  Something like Group x / Group y would be really fast and straightforwards to call as well a fast to punch.

    -Josh

Reply Children
No Data
Related