Changeset - 264e04dee006
[Not reviewed]
default
0 1 0
drewp@bigasterisk.com - 20 months ago 2023-06-01 21:17:58
drewp@bigasterisk.com
try more faders
1 file changed with 16 insertions and 4 deletions:
0 comments (0 inline, 0 general)
light9/midifade/midifade.py
Show inline comments
 
@@ -24,26 +24,35 @@ def setFader(graph: SyncedGraph, ctx, fa
 
    log.info(f'setFader(fader={fader}, strength={strength:.03f}')
 
    valueLit = decimalLiteral(round(strength, 3))
 
    with graph.currentState() as g:
 
        fadeSet = g.value(fader, L9['setting'])
 
    graph.patchObject(ctx, fadeSet, L9['value'], valueLit)
 

	
 

	
 
def onMessage(graph: SyncedGraph, ctx: URIRef, m: mido.Message):
 
    md = m.dict()
 
    if md['type'] == 'active_sensing':
 
        return
 
    if m.is_cc():
 
        if md['control'] == 17:
 
            setFader(graph, ctx, L9['show/dance2023/fadePage1f3'], md['value'] / 127)
 
        if md['control'] == 81: setFader(graph, ctx, L9['show/dance2023/fadePage1f0'], md['value'] / 127)
 
        if md['control'] == 82: setFader(graph, ctx, L9['show/dance2023/fadePage1f1'], md['value'] / 127)
 
        if md['control'] == 83: setFader(graph, ctx, L9['show/dance2023/fadePage1f2'], md['value'] / 127)
 
        if md['control'] == 84: setFader(graph, ctx, L9['show/dance2023/fadePage1f3'], md['value'] / 127)
 
        if md['control'] == 85: setFader(graph, ctx, L9['show/dance2023/fadePage1f4'], md['value'] / 127)
 
        if md['control'] == 86: setFader(graph, ctx, L9['show/dance2023/fadePage1f5'], md['value'] / 127)
 
        if md['control'] == 87: setFader(graph, ctx, L9['show/dance2023/fadePage1f6'], md['value'] / 127)
 
        if md['control'] == 88: setFader(graph, ctx, L9['show/dance2023/fadePage1f7'], md['value'] / 127)
 
        else:
 
            log.info(f'unhandled cc message {md}')
 

	
 
    else:
 
        log.info(f'unhandled message {md}')
 

	
 

	
 
async def main():
 
    logging.getLogger('autodepgraphapi').setLevel(logging.INFO)
 
    logging.getLogger('syncedgraph').setLevel(logging.INFO)
 
    logging.getLogger('graphedit').setLevel(logging.INFO)
 

	
 
    graph = SyncedGraph(networking.rdfdb.url, "midifade")
 
    ctx = URIRef(showUri() + '/fade')
 

	
 
@@ -57,21 +66,24 @@ async def main():
 
        while True:
 
            recents = [await msgs.get()]
 
            while not msgs.empty():
 
                recents.append(msgs.get_nowait())
 
            try:
 
                onMessage(graph, ctx, recents[-1])
 
            except Exception as e:
 
                traceback.print_exc()
 
                log.warning("error in onMessage- continuing anyway")
 
            await asyncio.sleep(1 / MAX_SEND_RATE)
 

	
 
    asyncio.create_task(reader())
 

	
 
    port = mido.open_input('Keystation:Keystation MIDI 1 20:0', callback=onMessageMidoThread)
 
    log.info(f'{mido.get_input_names()}')
 
    port = mido.open_input(
 
        #'Keystation:Keystation MIDI 1 20:0',
 
        'BCF2000:BCF2000 MIDI 1 20:0',
 
         callback=onMessageMidoThread)
 

	
 
    while True:
 
        await asyncio.sleep(1)
 

	
 

	
 
if __name__ == '__main__':
 
    asyncio.run(main())
0 comments (0 inline, 0 general)