annotate bin/inputdemo @ 2050:7ed414bdaab9

wip porting asco to TS and not-jquery
author drewp@bigasterisk.com
date Wed, 11 May 2022 00:07:13 -0700
parents 3c523c71da29
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1062
0f51a1a5785e gtk slider for sending sample input to curvecalc
Drew Perttula <drewp@bigasterisk.com>
parents:
diff changeset
1 #!bin/python
0f51a1a5785e gtk slider for sending sample input to curvecalc
Drew Perttula <drewp@bigasterisk.com>
parents:
diff changeset
2 import sys
1858
7772cc48e016 reformat all python
drewp@bigasterisk.com
parents: 1698
diff changeset
3 sys.path.append('/usr/lib/python2.7/dist-packages') # For gtk
1062
0f51a1a5785e gtk slider for sending sample input to curvecalc
Drew Perttula <drewp@bigasterisk.com>
parents:
diff changeset
4 from twisted.internet import gtk3reactor
0f51a1a5785e gtk slider for sending sample input to curvecalc
Drew Perttula <drewp@bigasterisk.com>
parents:
diff changeset
5 gtk3reactor.install()
0f51a1a5785e gtk slider for sending sample input to curvecalc
Drew Perttula <drewp@bigasterisk.com>
parents:
diff changeset
6 from twisted.internet import reactor
0f51a1a5785e gtk slider for sending sample input to curvecalc
Drew Perttula <drewp@bigasterisk.com>
parents:
diff changeset
7 from rdflib import URIRef
1866
3c523c71da29 pyflakes cleanups and some refactors
Drew Perttula <drewp@bigasterisk.com>
parents: 1859
diff changeset
8 import optparse, logging, time
1062
0f51a1a5785e gtk slider for sending sample input to curvecalc
Drew Perttula <drewp@bigasterisk.com>
parents:
diff changeset
9 from gi.repository import Gtk
0f51a1a5785e gtk slider for sending sample input to curvecalc
Drew Perttula <drewp@bigasterisk.com>
parents:
diff changeset
10 from run_local import log
1866
3c523c71da29 pyflakes cleanups and some refactors
Drew Perttula <drewp@bigasterisk.com>
parents: 1859
diff changeset
11 from light9 import networking
1698
f140153c087c bring back clientsession which doesn't belong in rdfdb
Drew Perttula <drewp@bigasterisk.com>
parents: 1692
diff changeset
12 from light9 import clientsession
1692
6fa4288da8a6 rdfdb is its own package now
drewp@bigasterisk.com
parents: 1114
diff changeset
13 from rdfdb.syncedgraph import SyncedGraph
1069
c756638275d6 quneo input demo. optimize curve display a little.
Drew Perttula <drewp@bigasterisk.com>
parents: 1067
diff changeset
14 from light9.curvecalc.client import sendLiveInputPoint
1062
0f51a1a5785e gtk slider for sending sample input to curvecalc
Drew Perttula <drewp@bigasterisk.com>
parents:
diff changeset
15
1858
7772cc48e016 reformat all python
drewp@bigasterisk.com
parents: 1698
diff changeset
16
1062
0f51a1a5785e gtk slider for sending sample input to curvecalc
Drew Perttula <drewp@bigasterisk.com>
parents:
diff changeset
17 class App(object):
1858
7772cc48e016 reformat all python
drewp@bigasterisk.com
parents: 1698
diff changeset
18
1062
0f51a1a5785e gtk slider for sending sample input to curvecalc
Drew Perttula <drewp@bigasterisk.com>
parents:
diff changeset
19 def __init__(self):
0f51a1a5785e gtk slider for sending sample input to curvecalc
Drew Perttula <drewp@bigasterisk.com>
parents:
diff changeset
20 parser = optparse.OptionParser()
1067
c33158b367a5 inputdemo reports latency of posting each point. takes curve uri on cmdline
Drew Perttula <drewp@bigasterisk.com>
parents: 1062
diff changeset
21 parser.set_usage("%prog [opts] [curve uri]")
1858
7772cc48e016 reformat all python
drewp@bigasterisk.com
parents: 1698
diff changeset
22 parser.add_option("--debug", action="store_true", help="log at DEBUG")
1062
0f51a1a5785e gtk slider for sending sample input to curvecalc
Drew Perttula <drewp@bigasterisk.com>
parents:
diff changeset
23 clientsession.add_option(parser)
0f51a1a5785e gtk slider for sending sample input to curvecalc
Drew Perttula <drewp@bigasterisk.com>
parents:
diff changeset
24 opts, args = parser.parse_args()
0f51a1a5785e gtk slider for sending sample input to curvecalc
Drew Perttula <drewp@bigasterisk.com>
parents:
diff changeset
25
0f51a1a5785e gtk slider for sending sample input to curvecalc
Drew Perttula <drewp@bigasterisk.com>
parents:
diff changeset
26 log.setLevel(logging.DEBUG if opts.debug else logging.INFO)
0f51a1a5785e gtk slider for sending sample input to curvecalc
Drew Perttula <drewp@bigasterisk.com>
parents:
diff changeset
27
0f51a1a5785e gtk slider for sending sample input to curvecalc
Drew Perttula <drewp@bigasterisk.com>
parents:
diff changeset
28 self.session = clientsession.getUri('inputdemo', opts)
1114
a38955ba6f40 rdfdb port is now in the config
Drew Perttula <drewp@bigasterisk.com>
parents: 1069
diff changeset
29 self.graph = SyncedGraph(networking.rdfdb.url, "inputdemo")
1062
0f51a1a5785e gtk slider for sending sample input to curvecalc
Drew Perttula <drewp@bigasterisk.com>
parents:
diff changeset
30
0f51a1a5785e gtk slider for sending sample input to curvecalc
Drew Perttula <drewp@bigasterisk.com>
parents:
diff changeset
31 self.graph.initiallySynced.addCallback(lambda _: self.launch())
0f51a1a5785e gtk slider for sending sample input to curvecalc
Drew Perttula <drewp@bigasterisk.com>
parents:
diff changeset
32
1858
7772cc48e016 reformat all python
drewp@bigasterisk.com
parents: 1698
diff changeset
33 self.curve = args[0] if args else URIRef(
7772cc48e016 reformat all python
drewp@bigasterisk.com
parents: 1698
diff changeset
34 'http://light9.bigasterisk.com/show/dance2014/song1/curve/c-1401259747.675542'
7772cc48e016 reformat all python
drewp@bigasterisk.com
parents: 1698
diff changeset
35 )
1859
f066d6e874db 2to3 with these fixers: all idioms set_literal
drewp@bigasterisk.com
parents: 1858
diff changeset
36 print("sending points on curve %s" % self.curve)
1858
7772cc48e016 reformat all python
drewp@bigasterisk.com
parents: 1698
diff changeset
37
1062
0f51a1a5785e gtk slider for sending sample input to curvecalc
Drew Perttula <drewp@bigasterisk.com>
parents:
diff changeset
38 reactor.run()
0f51a1a5785e gtk slider for sending sample input to curvecalc
Drew Perttula <drewp@bigasterisk.com>
parents:
diff changeset
39
0f51a1a5785e gtk slider for sending sample input to curvecalc
Drew Perttula <drewp@bigasterisk.com>
parents:
diff changeset
40 def launch(self):
0f51a1a5785e gtk slider for sending sample input to curvecalc
Drew Perttula <drewp@bigasterisk.com>
parents:
diff changeset
41 win = Gtk.Window()
0f51a1a5785e gtk slider for sending sample input to curvecalc
Drew Perttula <drewp@bigasterisk.com>
parents:
diff changeset
42
0f51a1a5785e gtk slider for sending sample input to curvecalc
Drew Perttula <drewp@bigasterisk.com>
parents:
diff changeset
43 slider = Gtk.Scale.new_with_range(orientation=Gtk.Orientation.VERTICAL,
1858
7772cc48e016 reformat all python
drewp@bigasterisk.com
parents: 1698
diff changeset
44 min=0,
7772cc48e016 reformat all python
drewp@bigasterisk.com
parents: 1698
diff changeset
45 max=1,
7772cc48e016 reformat all python
drewp@bigasterisk.com
parents: 1698
diff changeset
46 step=.001)
1062
0f51a1a5785e gtk slider for sending sample input to curvecalc
Drew Perttula <drewp@bigasterisk.com>
parents:
diff changeset
47 slider.props.inverted = True
0f51a1a5785e gtk slider for sending sample input to curvecalc
Drew Perttula <drewp@bigasterisk.com>
parents:
diff changeset
48 slider.connect('value-changed', self.onChanged)
0f51a1a5785e gtk slider for sending sample input to curvecalc
Drew Perttula <drewp@bigasterisk.com>
parents:
diff changeset
49
0f51a1a5785e gtk slider for sending sample input to curvecalc
Drew Perttula <drewp@bigasterisk.com>
parents:
diff changeset
50 win.add(slider)
0f51a1a5785e gtk slider for sending sample input to curvecalc
Drew Perttula <drewp@bigasterisk.com>
parents:
diff changeset
51 win.parse_geometry('50x250')
0f51a1a5785e gtk slider for sending sample input to curvecalc
Drew Perttula <drewp@bigasterisk.com>
parents:
diff changeset
52 win.connect("delete-event", lambda *a: reactor.crash())
0f51a1a5785e gtk slider for sending sample input to curvecalc
Drew Perttula <drewp@bigasterisk.com>
parents:
diff changeset
53 win.connect("destroy", lambda *a: reactor.crash())
0f51a1a5785e gtk slider for sending sample input to curvecalc
Drew Perttula <drewp@bigasterisk.com>
parents:
diff changeset
54 win.show_all()
0f51a1a5785e gtk slider for sending sample input to curvecalc
Drew Perttula <drewp@bigasterisk.com>
parents:
diff changeset
55
0f51a1a5785e gtk slider for sending sample input to curvecalc
Drew Perttula <drewp@bigasterisk.com>
parents:
diff changeset
56 def onChanged(self, scale):
1069
c756638275d6 quneo input demo. optimize curve display a little.
Drew Perttula <drewp@bigasterisk.com>
parents: 1067
diff changeset
57 t1 = time.time()
c756638275d6 quneo input demo. optimize curve display a little.
Drew Perttula <drewp@bigasterisk.com>
parents: 1067
diff changeset
58 d = sendLiveInputPoint(self.curve, scale.get_value())
1858
7772cc48e016 reformat all python
drewp@bigasterisk.com
parents: 1698
diff changeset
59
1069
c756638275d6 quneo input demo. optimize curve display a little.
Drew Perttula <drewp@bigasterisk.com>
parents: 1067
diff changeset
60 @d.addCallback
c756638275d6 quneo input demo. optimize curve display a little.
Drew Perttula <drewp@bigasterisk.com>
parents: 1067
diff changeset
61 def done(result):
1859
f066d6e874db 2to3 with these fixers: all idioms set_literal
drewp@bigasterisk.com
parents: 1858
diff changeset
62 print("posted in %.1f ms" % (1000 * (time.time() - t1)))
1062
0f51a1a5785e gtk slider for sending sample input to curvecalc
Drew Perttula <drewp@bigasterisk.com>
parents:
diff changeset
63
1858
7772cc48e016 reformat all python
drewp@bigasterisk.com
parents: 1698
diff changeset
64
1062
0f51a1a5785e gtk slider for sending sample input to curvecalc
Drew Perttula <drewp@bigasterisk.com>
parents:
diff changeset
65 App()