Mercurial > code > home > repos > light9
annotate bin/inputdemo @ 1859:f066d6e874db
2to3 with these fixers: all idioms set_literal
Ignore-this: cbd28518218c2f0ddce8c4f92d3b8b33
author | drewp@bigasterisk.com |
---|---|
date | Wed, 22 May 2019 00:08:22 +0000 |
parents | 7772cc48e016 |
children | 3c523c71da29 |
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 | 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 |
1859
f066d6e874db
2to3 with these fixers: all idioms set_literal
drewp@bigasterisk.com
parents:
1858
diff
changeset
|
8 import optparse, logging, urllib.request, urllib.parse, urllib.error, 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 |
1858 | 17 |
1062
0f51a1a5785e
gtk slider for sending sample input to curvecalc
Drew Perttula <drewp@bigasterisk.com>
parents:
diff
changeset
|
18 class App(object): |
1858 | 19 |
1062
0f51a1a5785e
gtk slider for sending sample input to curvecalc
Drew Perttula <drewp@bigasterisk.com>
parents:
diff
changeset
|
20 def __init__(self): |
0f51a1a5785e
gtk slider for sending sample input to curvecalc
Drew Perttula <drewp@bigasterisk.com>
parents:
diff
changeset
|
21 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
|
22 parser.set_usage("%prog [opts] [curve uri]") |
1858 | 23 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
|
24 clientsession.add_option(parser) |
0f51a1a5785e
gtk slider for sending sample input to curvecalc
Drew Perttula <drewp@bigasterisk.com>
parents:
diff
changeset
|
25 opts, args = parser.parse_args() |
0f51a1a5785e
gtk slider for sending sample input to curvecalc
Drew Perttula <drewp@bigasterisk.com>
parents:
diff
changeset
|
26 |
0f51a1a5785e
gtk slider for sending sample input to curvecalc
Drew Perttula <drewp@bigasterisk.com>
parents:
diff
changeset
|
27 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
|
28 |
0f51a1a5785e
gtk slider for sending sample input to curvecalc
Drew Perttula <drewp@bigasterisk.com>
parents:
diff
changeset
|
29 self.session = clientsession.getUri('inputdemo', opts) |
1114
a38955ba6f40
rdfdb port is now in the config
Drew Perttula <drewp@bigasterisk.com>
parents:
1069
diff
changeset
|
30 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
|
31 |
0f51a1a5785e
gtk slider for sending sample input to curvecalc
Drew Perttula <drewp@bigasterisk.com>
parents:
diff
changeset
|
32 self.graph.initiallySynced.addCallback(lambda _: self.launch()) |
0f51a1a5785e
gtk slider for sending sample input to curvecalc
Drew Perttula <drewp@bigasterisk.com>
parents:
diff
changeset
|
33 |
1858 | 34 self.curve = args[0] if args else URIRef( |
35 'http://light9.bigasterisk.com/show/dance2014/song1/curve/c-1401259747.675542' | |
36 ) | |
1859
f066d6e874db
2to3 with these fixers: all idioms set_literal
drewp@bigasterisk.com
parents:
1858
diff
changeset
|
37 print("sending points on curve %s" % self.curve) |
1858 | 38 |
1062
0f51a1a5785e
gtk slider for sending sample input to curvecalc
Drew Perttula <drewp@bigasterisk.com>
parents:
diff
changeset
|
39 reactor.run() |
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 def launch(self): |
0f51a1a5785e
gtk slider for sending sample input to curvecalc
Drew Perttula <drewp@bigasterisk.com>
parents:
diff
changeset
|
42 win = Gtk.Window() |
0f51a1a5785e
gtk slider for sending sample input to curvecalc
Drew Perttula <drewp@bigasterisk.com>
parents:
diff
changeset
|
43 |
0f51a1a5785e
gtk slider for sending sample input to curvecalc
Drew Perttula <drewp@bigasterisk.com>
parents:
diff
changeset
|
44 slider = Gtk.Scale.new_with_range(orientation=Gtk.Orientation.VERTICAL, |
1858 | 45 min=0, |
46 max=1, | |
47 step=.001) | |
1062
0f51a1a5785e
gtk slider for sending sample input to curvecalc
Drew Perttula <drewp@bigasterisk.com>
parents:
diff
changeset
|
48 slider.props.inverted = True |
0f51a1a5785e
gtk slider for sending sample input to curvecalc
Drew Perttula <drewp@bigasterisk.com>
parents:
diff
changeset
|
49 slider.connect('value-changed', self.onChanged) |
0f51a1a5785e
gtk slider for sending sample input to curvecalc
Drew Perttula <drewp@bigasterisk.com>
parents:
diff
changeset
|
50 |
0f51a1a5785e
gtk slider for sending sample input to curvecalc
Drew Perttula <drewp@bigasterisk.com>
parents:
diff
changeset
|
51 win.add(slider) |
0f51a1a5785e
gtk slider for sending sample input to curvecalc
Drew Perttula <drewp@bigasterisk.com>
parents:
diff
changeset
|
52 win.parse_geometry('50x250') |
0f51a1a5785e
gtk slider for sending sample input to curvecalc
Drew Perttula <drewp@bigasterisk.com>
parents:
diff
changeset
|
53 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
|
54 win.connect("destroy", lambda *a: reactor.crash()) |
0f51a1a5785e
gtk slider for sending sample input to curvecalc
Drew Perttula <drewp@bigasterisk.com>
parents:
diff
changeset
|
55 win.show_all() |
0f51a1a5785e
gtk slider for sending sample input to curvecalc
Drew Perttula <drewp@bigasterisk.com>
parents:
diff
changeset
|
56 |
0f51a1a5785e
gtk slider for sending sample input to curvecalc
Drew Perttula <drewp@bigasterisk.com>
parents:
diff
changeset
|
57 def onChanged(self, scale): |
1069
c756638275d6
quneo input demo. optimize curve display a little.
Drew Perttula <drewp@bigasterisk.com>
parents:
1067
diff
changeset
|
58 t1 = time.time() |
c756638275d6
quneo input demo. optimize curve display a little.
Drew Perttula <drewp@bigasterisk.com>
parents:
1067
diff
changeset
|
59 d = sendLiveInputPoint(self.curve, scale.get_value()) |
1858 | 60 |
1069
c756638275d6
quneo input demo. optimize curve display a little.
Drew Perttula <drewp@bigasterisk.com>
parents:
1067
diff
changeset
|
61 @d.addCallback |
c756638275d6
quneo input demo. optimize curve display a little.
Drew Perttula <drewp@bigasterisk.com>
parents:
1067
diff
changeset
|
62 def done(result): |
1859
f066d6e874db
2to3 with these fixers: all idioms set_literal
drewp@bigasterisk.com
parents:
1858
diff
changeset
|
63 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
|
64 |
1858 | 65 |
1062
0f51a1a5785e
gtk slider for sending sample input to curvecalc
Drew Perttula <drewp@bigasterisk.com>
parents:
diff
changeset
|
66 App() |