It's entirely possible your scripting has sussed out a bug, but either
way I'll report back soon.
Best,
C
(mobile)
On Aug 21, 2010, at 5:18 PM, Rich Walsh <rich...@mac.com> wrote:
> I was prodding my workspace yesterday as I'd made a mistake with the
> default levels for mono-summing to some outputs before I added a
> bunch of cues and was using a script to track down and fix the rogue
> entries. Along the way I discovered some odd behaviour, which I'll
> attempt to explain...
________________________________________________________
WHEN REPLYING, PLEASE QUOTE ONLY WHAT YOU NEED. Thanks!
Change your preferences or unsubscribe here:
http://lists.figure53.com/listinfo.cgi/qlab-figure53.com
Okay, what's happening here is a combination of three factors:
The first factor is a bug: when the minimum volume limit is set on the workspace, QLab is not currently sifting through existing cues to update the lower limit. This is simply an oversight on my part, as I imagined the lower limit set once early in the process and not changed. Silly in retrospect.
The second factor is also a bug: the minimum volume levels are not being enforced when set via a script. (They are enforced correctly when set manually.)
The final factor is a feature, but one that introduces confusion in your tests: QLab stores matrices in a sparse format. Rather than storing the actual values for every single crosspoint in a 16 x 48 matrix in every audio & fade cue (which would dramatically inflate the size of the workspace files on disk), we take advantage of the fact that most matrix entries will use default parameters. In the case of a Fade Cue matrix entry, that means "there is no gang, the target volume level is -INF, and the entry is not activated". Using this knowledge, we don't have to store any matrix entries that are set to those defaults, and when one of those entries is queried it can just pass back the defaults. Because of this, some of your getLevel queries were returning the correct minimum value, since QLab was just passing back the default values for entries that did not have reason to be explicitly stored.
Hope that helps clarify how things currently behave. I'll work on getting the bugs you found fixed, and release an update fairly soon with those and a few other issues fixed too. It won't be a huge update, but will squash some a few important pests.
Thanks much Rich,
Chris
> The first factor is a bug: when the minimum volume limit is set on the workspace, QLab is not currently sifting through existing cues to update the lower limit. This is simply an oversight on my part, as I imagined the lower limit set once early in the process and not changed. Silly in retrospect.
>
> The second factor is also a bug: the minimum volume levels are not being enforced when set via a script. (They are enforced correctly when set manually.)
>
> The final factor is a feature, but one that introduces confusion in your tests: QLab stores matrices in a sparse format. Rather than storing the actual values for every single crosspoint in a 16 x 48 matrix in every audio & fade cue (which would dramatically inflate the size of the workspace files on disk), we take advantage of the fact that most matrix entries will use default parameters. In the case of a Fade Cue matrix entry, that means "there is no gang, the target volume level is -INF, and the entry is not activated". Using this knowledge, we don't have to store any matrix entries that are set to those defaults, and when one of those entries is queried it can just pass back the defaults. Because of this, some of your getLevel queries were returning the correct minimum value, since QLab was just passing back the default values for entries that did not have reason to be explicitly stored.
>
> Hope that helps clarify how things currently behave. I'll work on getting the bugs you found fixed, and release an update fairly soon with those and a few other issues fixed too. It won't be a huge update, but will squash some a few important pests.
Thank you for taking the time to look into this. Most of this show was programmed in my studio, then in the rehearsal room, and only finally in the theatre where I could assess the global noise floor - so it is inevitable that this preference will change over the lifetime of a workspace.
Just to be clear, once the bugs are squished, if a fader says "-INF" in QLab's GUI it will actually be at the default value set by the Min Volume Limit preference, and all fades will be to/from this level (not −120), right?
It really is fantastic, by the way, to be able to move shows around like this. Rather than spend time at home decoding my scrawled notes from a preview into a jobs list for the morning, I can make those changes direct to my copy of the workspace and just resync when I get into the theatre. Running on the same platform as my personal machine obviously helps, but even aside from that the elegant simplicity of this process - dragging a single virtual wire to my home interface - is astounding.
Rich
Right.
-C