Mercurial > code > home > repos > light9
annotate bin/inputdemo @ 2015:b264971091dc
Fadable was being too strict about precision of slider vals
Ignore-this: 7236641aa403b0db96cf9668de8280bc
author | drewp@bigasterisk.com |
---|---|
date | Mon, 10 Jun 2019 02:29:43 +0000 |
parents | 3c523c71da29 |
children |
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 |
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 | 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 | 16 |
1062
0f51a1a5785e
gtk slider for sending sample input to curvecalc
Drew Perttula <drewp@bigasterisk.com>
parents:
diff
changeset
|
17 class App(object): |
1858 | 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 | 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 | 33 self.curve = args[0] if args else URIRef( |
34 'http://light9.bigasterisk.com/show/dance2014/song1/curve/c-1401259747.675542' | |
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 | 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 | 44 min=0, |
45 max=1, | |
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 | 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 | 64 |
1062
0f51a1a5785e
gtk slider for sending sample input to curvecalc
Drew Perttula <drewp@bigasterisk.com>
parents:
diff
changeset
|
65 App() |