Mercurial > code > home > repos > light9
annotate bin/inputdemo @ 1834:59941120394c
checkpoint show data
Ignore-this: fe9ee0e4b6e32c52d140e841081246dd
author | drewp@bigasterisk.com |
---|---|
date | Sat, 09 Jun 2018 20:00:28 +0000 |
parents | f140153c087c |
children | 7772cc48e016 |
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 |
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 | 13 from rdfdb.syncedgraph import SyncedGraph |
1062
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() |