# HG changeset patch # User drewp@bigasterisk.com # Date 2023-06-03 22:46:04 # Node ID 1bb30b0eaa3818664ce70e113f1c188121eb79ac # Parent 72c589cb96d1f3fd00512ff78f8cc326e4964def reformat diff --git a/light9/midifade/midifade.py b/light9/midifade/midifade.py --- a/light9/midifade/midifade.py +++ b/light9/midifade/midifade.py @@ -26,6 +26,7 @@ MAX_SEND_RATE = 30 currentFaders = {} # midi control channel num : FaderUri ctx = URIRef(showUri() + '/fade') + def compileCurrents(graph): currentFaders.clear() try: @@ -35,7 +36,7 @@ def compileCurrents(graph): currentFaders.update(new) -def getGraphMappingNode(g: ReadOnlyConjunctiveGraph|SyncedGraph) -> URIRef: +def getGraphMappingNode(g: ReadOnlyConjunctiveGraph | SyncedGraph) -> URIRef: mapping = g.value(L9['midiControl'], L9['map']) if mapping is None: raise ValueError('no :midiControl :map ?mapping') @@ -50,9 +51,11 @@ def getCurMappedPage(g: SyncedGraph): mapping = getGraphMappingNode(g) return g.value(mapping, L9['outputs']) -def setCurMappedPage(g: SyncedGraph, mapping: URIRef, newPage:URIRef): + +def setCurMappedPage(g: SyncedGraph, mapping: URIRef, newPage: URIRef): g.patchObject(ctx, mapping, L9.outputs, newPage) + def getChansToFaders(g: SyncedGraph) -> Dict[int, URIRef]: fadePage = getCurMappedPage(g) ret = [] @@ -79,11 +82,12 @@ def changePage(g: SyncedGraph, dp: int): if curPage is None: curPage = allPages[0] idx = allPages.index(curPage) - newIdx = clamp(idx + dp, 0, len(allPages)-1) + newIdx = clamp(idx + dp, 0, len(allPages) - 1) print('change from ', idx, newIdx) - newPage =allPages[newIdx] + newPage = allPages[newIdx] setCurMappedPage(g, mapping, newPage) + def writeHwValueToGraph(graph: SyncedGraph, ctx, fader: URIRef, strength: float): log.info(f'setFader(fader={fader}, strength={strength:.03f}') valueLit = decimalLiteral(round(strength, 3)) @@ -155,7 +159,7 @@ class WriteBackFaders: fset = g.value(f, L9.setting) # could split this to a separate handler per fader value = g.value(fset, L9.value).toPython() - hwcurrent = self.getCurrentValue(midi_ctl_addr) + hwcurrent = self.getCurrentValue(midi_ctl_addr) hwgoal = int(value * 127) print(f'{f} {hwcurrent=} {hwgoal=}') if abs(hwcurrent - hwgoal) > 2: