Changeset - ddbd0fca89ff
[Not reviewed]
default
3 0 6
drewp@bigasterisk.com - 3 years ago 2022-05-31 06:46:07
drewp@bigasterisk.com
file moves for effectSequencer
6 files changed with 25 insertions and 85 deletions:
0 comments (0 inline, 0 general)
bin/effectSequencer
Show inline comments
 
file renamed from bin/effectsequencer to bin/effectSequencer
 
#!bin/python
 
"""
 
plays back effect notes from the timeline
 
"""
 

	
 
from run_local import log
 
from twisted.internet import reactor
 
from light9.metrics import metrics, metricsRoute
 
from rdfdb.syncedgraph import SyncedGraph
 
from light9 import networking, showconfig
 
import optparse, sys, logging
 
import cyclone.web
 
from rdflib import URIRef
 
from light9.effect.sequencer import Sequencer, Updates
 
from light9.collector.collector_client import sendToCollector
 

	
 
from light9 import clientsession
 

	
 

	
 
class App(object):
 

	
 
    def __init__(self, show, session):
 
        self.show = show
 
        self.session = session
 

	
 
        self.graph = SyncedGraph(networking.rdfdb.url, "effectSequencer")
 
        self.graph.initiallySynced.addCallback(self.launch)
 

	
 
    def launch(self, *args):
 
        self.seq = Sequencer(
 
            self.graph,
 
            lambda settings: sendToCollector(
 
                'effectSequencer',
 
                self.session,
 
                settings,
 
                # This seems to be safe here (and lets us get from
 
                # 20fpx to 40fpx), even though it leads to big stalls
 
                # if I use it on KC.
 
                useZmq=True))
 
#!/bin/sh
 
pnpx vite -c light9/effect/sequencer/web/vite.config.ts &
 
pdm run uvicorn light9.effect.sequencer.service:app --host 0.0.0.0 --port 8213 --no-access-log
 
wait
 

	
 
        self.cycloneApp = cyclone.web.Application(handlers=[
 
            (r'/()', cyclone.web.StaticFileHandler, {
 
                "path": "light9/effect/",
 
                "default_filename": "sequencer.html"
 
            }),
 
            (r'/updates', Updates),
 
            metricsRoute(),
 
        ],
 
                                                  debug=True,
 
                                                  seq=self.seq,
 
                                                  graph=self.graph,
 
                                                #   stats=self.stats
 
                                                  )
 
        reactor.listenTCP(networking.effectSequencer.port, self.cycloneApp)
 
        log.info("listening on %s" % networking.effectSequencer.port)
 

	
 

	
 
if __name__ == "__main__":
 
    parser = optparse.OptionParser()
 
    parser.add_option(
 
        '--show',
 
        help='show URI, like http://light9.bigasterisk.com/show/dance2008',
 
        default=showconfig.showUri())
 
    parser.add_option("-v",
 
                      "--verbose",
 
                      action="store_true",
 
                      help="logging.DEBUG")
 
    parser.add_option("--twistedlog",
 
                      action="store_true",
 
                      help="twisted logging")
 
    clientsession.add_option(parser)
 
    (options, args) = parser.parse_args()
 
    log.setLevel(logging.DEBUG if options.verbose else logging.INFO)
 

	
 
    if not options.show:
 
        raise ValueError("missing --show http://...")
 

	
 
    session = clientsession.getUri('effectSequencer', options)
 

	
 
    app = App(URIRef(options.show), session)
 
    if options.twistedlog:
 
        from twisted.python import log as twlog
 
        twlog.startLogging(sys.stderr)
 
    reactor.run()
light9/effect/sequencer/__init__.py
Show inline comments
 
new file 100644
light9/effect/sequencer/sequencer.py
Show inline comments
 
file renamed from light9/effect/sequencer.py to light9/effect/sequencer/sequencer.py
light9/effect/sequencer/service.py
Show inline comments
 
modified file chmod 100755 => 100644
 
file copied from bin/effectsequencer to light9/effect/sequencer/service.py
 
#!bin/python
 
"""
 
plays back effect notes from the timeline
 
"""
 

	
 
from run_local import log
 
from twisted.internet import reactor
 
from light9.metrics import metrics, metricsRoute
 
from rdfdb.syncedgraph import SyncedGraph
 
from light9 import networking, showconfig
 
import optparse, sys, logging
 
import cyclone.web
 
from rdflib import URIRef
 
from light9.effect.sequencer import Sequencer, Updates
 
from light9.effect.sequencer.sequencer import Sequencer, Updates
 
from light9.collector.collector_client import sendToCollector
 

	
 
from light9 import clientsession
 

	
 

	
 
class App(object):
 

	
 
    def __init__(self, show, session):
 
        self.show = show
 
        self.session = session
 

	
 
        self.graph = SyncedGraph(networking.rdfdb.url, "effectSequencer")
light9/effect/sequencer/web/index.html
Show inline comments
 
file renamed from light9/effect/sequencer.html to light9/effect/sequencer/web/index.html
light9/effect/sequencer/web/vite.config.ts
Show inline comments
 
new file 100644
 
import { defineConfig } from "vite";
 

	
 
const servicePort = 8213;
 
export default defineConfig({
 
  base: "/effectSeequencer/",
 
  root: "./light9/effect/sequencer/web",
 
  publicDir: "../web",
 
  server: {
 
    host: "0.0.0.0",
 
    strictPort: true,
 
    port: servicePort + 100,
 
    hmr: {
 
      port: servicePort + 200,
 
    },
 
  },
 
  clearScreen: false,
 
  define: {
 
    global: {},
 
  },
 
});
0 comments (0 inline, 0 general)