# HG changeset patch
# User drewp@bigasterisk.com
# Date 1685830958 25200
# Node ID f7e564b42af330b75f1b571e4676e534b0b838ee
# Parent b98dc72978eb51d1cc2207c5a11301f82c16bdab
new grandmaster scales all faders
diff -r b98dc72978eb -r f7e564b42af3 light9/effect/sequencer/eval_faders.py
--- a/light9/effect/sequencer/eval_faders.py Sat Jun 03 15:21:40 2023 -0700
+++ b/light9/effect/sequencer/eval_faders.py Sat Jun 03 15:22:38 2023 -0700
@@ -44,8 +44,10 @@
self.graph = graph
self.lib = lib
self.faders: List[Fader] = []
+ self.grandMaster = 1.0
self.graph.addHandler(self._compile)
+ self.graph.addHandler(self._compileGm)
self.lastLoopSucceeded = False
@COMPILE.time()
@@ -73,6 +75,15 @@
setAttr = typedValue(EffectAttr, self.graph, setting, L9['effectAttr'])
return (Fader(self.graph, self.lib, cast(URIRef, fader), effect, setAttr))
+ def _compileGm(self):
+ try:
+ self.grandMaster = typedValue(float, self.graph,
+ L9.grandMaster,
+ L9.value)
+ print('got gm', self.grandMaster)
+ except ValueError:
+ return
+
@COMPUTE_ALL_FADERS.time()
def computeOutput(self) -> DeviceSettings:
faderEffectOutputs: List[DeviceSettings] = []
@@ -82,7 +93,9 @@
if f.value is None:
log.warning(f'{f.value=}; should be set during _compile. Skipping {f.uri}')
continue
- effectSettings = EffectSettings(self.graph, [(f.effect, f.setEffectAttr, f.value)])
+ v = f.value
+ v *= self.grandMaster
+ effectSettings = EffectSettings(self.graph, [(f.effect, f.setEffectAttr, v)])
ds = f.ee.compute(now, effectSettings)
faderEffectOutputs.append(ds)
diff -r b98dc72978eb -r f7e564b42af3 light9/fade/Light9FadeUi.ts
--- a/light9/fade/Light9FadeUi.ts Sat Jun 03 15:21:40 2023 -0700
+++ b/light9/fade/Light9FadeUi.ts Sat Jun 03 15:22:38 2023 -0700
@@ -36,6 +36,9 @@
.mappedToHw {
background: #393945;
}
+ #gm light9-fader {
+ width: 300px;
+ }
`,
];
render() {
@@ -43,7 +46,9 @@