annotate bin/inputdemo @ 1432:185f3e2208c3

show and config updates Ignore-this: ed3bcb2f19250dd65d39c11131f36e93
author drewp@bigasterisk.com
date Sat, 11 Jun 2016 17:16:11 +0000
parents a38955ba6f40
children 6fa4288da8a6
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
0f51a1a5785e gtk slider for sending sample input to curvecalc
Drew Perttula <drewp@bigasterisk.com>
parents:
diff changeset
3 sys.path.append('/usr/lib/python2.7/dist-packages') # For gtk
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
1067
c33158b367a5 inputdemo reports latency of posting each point. takes curve uri on cmdline
Drew Perttula <drewp@bigasterisk.com>
parents: 1062
diff changeset
8 import optparse, logging, urllib, 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
0f51a1a5785e gtk slider for sending sample input to curvecalc
Drew Perttula <drewp@bigasterisk.com>
parents:
diff changeset
11 from light9 import showconfig, networking
0f51a1a5785e gtk slider for sending sample input to curvecalc
Drew Perttula <drewp@bigasterisk.com>
parents:
diff changeset
12 from light9.rdfdb import clientsession
0f51a1a5785e gtk slider for sending sample input to curvecalc
Drew Perttula <drewp@bigasterisk.com>
parents:
diff changeset
13 from light9.rdfdb.syncedgraph import SyncedGraph
0f51a1a5785e gtk slider for sending sample input to curvecalc
Drew Perttula <drewp@bigasterisk.com>
parents:
diff changeset
14 import cyclone.httpclient
1069
c756638275d6 quneo input demo. optimize curve display a little.
Drew Perttula <drewp@bigasterisk.com>
parents: 1067
diff changeset
15 from light9.curvecalc.client import sendLiveInputPoint
1062
0f51a1a5785e gtk slider for sending sample input to curvecalc
Drew Perttula <drewp@bigasterisk.com>
parents:
diff changeset
16
0f51a1a5785e gtk slider for sending sample input to curvecalc
Drew Perttula <drewp@bigasterisk.com>
parents:
diff changeset
17 class App(object):
0f51a1a5785e gtk slider for sending sample input to curvecalc
Drew Perttula <drewp@bigasterisk.com>
parents:
diff changeset
18 def __init__(self):
0f51a1a5785e gtk slider for sending sample input to curvecalc
Drew Perttula <drewp@bigasterisk.com>
parents:
diff changeset
19 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
20 parser.set_usage("%prog [opts] [curve uri]")
1062
0f51a1a5785e gtk slider for sending sample input to curvecalc
Drew Perttula <drewp@bigasterisk.com>
parents:
diff changeset
21 parser.add_option("--debug", action="store_true",
0f51a1a5785e gtk slider for sending sample input to curvecalc
Drew Perttula <drewp@bigasterisk.com>
parents:
diff changeset
22 help="log at DEBUG")
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
1067
c33158b367a5 inputdemo reports latency of posting each point. takes curve uri on cmdline
Drew Perttula <drewp@bigasterisk.com>
parents: 1062
diff changeset
33 self.curve = args[0] if args else URIRef('http://light9.bigasterisk.com/show/dance2014/song1/curve/c-1401259747.675542')
1062
0f51a1a5785e gtk slider for sending sample input to curvecalc
Drew Perttula <drewp@bigasterisk.com>
parents:
diff changeset
34 print "sending points on curve %s" % self.curve
0f51a1a5785e gtk slider for sending sample input to curvecalc
Drew Perttula <drewp@bigasterisk.com>
parents:
diff changeset
35
0f51a1a5785e gtk slider for sending sample input to curvecalc
Drew Perttula <drewp@bigasterisk.com>
parents:
diff changeset
36 reactor.run()
0f51a1a5785e gtk slider for sending sample input to curvecalc
Drew Perttula <drewp@bigasterisk.com>
parents:
diff changeset
37
0f51a1a5785e gtk slider for sending sample input to curvecalc
Drew Perttula <drewp@bigasterisk.com>
parents:
diff changeset
38 def launch(self):
0f51a1a5785e gtk slider for sending sample input to curvecalc
Drew Perttula <drewp@bigasterisk.com>
parents:
diff changeset
39 win = Gtk.Window()
0f51a1a5785e gtk slider for sending sample input to curvecalc
Drew Perttula <drewp@bigasterisk.com>
parents:
diff changeset
40
0f51a1a5785e gtk slider for sending sample input to curvecalc
Drew Perttula <drewp@bigasterisk.com>
parents:
diff changeset
41 slider = Gtk.Scale.new_with_range(orientation=Gtk.Orientation.VERTICAL,
0f51a1a5785e gtk slider for sending sample input to curvecalc
Drew Perttula <drewp@bigasterisk.com>
parents:
diff changeset
42 min=0, max=1, step=.001)
0f51a1a5785e gtk slider for sending sample input to curvecalc
Drew Perttula <drewp@bigasterisk.com>
parents:
diff changeset
43 slider.props.inverted = True
0f51a1a5785e gtk slider for sending sample input to curvecalc
Drew Perttula <drewp@bigasterisk.com>
parents:
diff changeset
44 slider.connect('value-changed', self.onChanged)
0f51a1a5785e gtk slider for sending sample input to curvecalc
Drew Perttula <drewp@bigasterisk.com>
parents:
diff changeset
45
0f51a1a5785e gtk slider for sending sample input to curvecalc
Drew Perttula <drewp@bigasterisk.com>
parents:
diff changeset
46 win.add(slider)
0f51a1a5785e gtk slider for sending sample input to curvecalc
Drew Perttula <drewp@bigasterisk.com>
parents:
diff changeset
47 win.parse_geometry('50x250')
0f51a1a5785e gtk slider for sending sample input to curvecalc
Drew Perttula <drewp@bigasterisk.com>
parents:
diff changeset
48 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
49 win.connect("destroy", lambda *a: reactor.crash())
0f51a1a5785e gtk slider for sending sample input to curvecalc
Drew Perttula <drewp@bigasterisk.com>
parents:
diff changeset
50 win.show_all()
0f51a1a5785e gtk slider for sending sample input to curvecalc
Drew Perttula <drewp@bigasterisk.com>
parents:
diff changeset
51
0f51a1a5785e gtk slider for sending sample input to curvecalc
Drew Perttula <drewp@bigasterisk.com>
parents:
diff changeset
52 def onChanged(self, scale):
1069
c756638275d6 quneo input demo. optimize curve display a little.
Drew Perttula <drewp@bigasterisk.com>
parents: 1067
diff changeset
53 t1 = time.time()
c756638275d6 quneo input demo. optimize curve display a little.
Drew Perttula <drewp@bigasterisk.com>
parents: 1067
diff changeset
54 d = sendLiveInputPoint(self.curve, scale.get_value())
c756638275d6 quneo input demo. optimize curve display a little.
Drew Perttula <drewp@bigasterisk.com>
parents: 1067
diff changeset
55 @d.addCallback
c756638275d6 quneo input demo. optimize curve display a little.
Drew Perttula <drewp@bigasterisk.com>
parents: 1067
diff changeset
56 def done(result):
1067
c33158b367a5 inputdemo reports latency of posting each point. takes curve uri on cmdline
Drew Perttula <drewp@bigasterisk.com>
parents: 1062
diff changeset
57 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
58
0f51a1a5785e gtk slider for sending sample input to curvecalc
Drew Perttula <drewp@bigasterisk.com>
parents:
diff changeset
59 App()