Mercurial > code > home > repos > light9
changeset 647:a30550d5827f
vidref shows more logs in the gui
Ignore-this: 933f1edd615ecea9b9c1a4e5a6f37355
author | Drew Perttula <drewp@bigasterisk.com> |
---|---|
date | Sat, 18 Jun 2011 05:12:10 +0000 |
parents | d2fab3dc0a0e |
children | 365ca8d7476f |
files | bin/vidref light9/vidref/main.py light9/vidref/vidref.glade |
diffstat | 3 files changed, 53 insertions(+), 7 deletions(-) [+] |
line wrap: on
line diff
--- a/bin/vidref Sat Jun 18 04:51:56 2011 +0000 +++ b/bin/vidref Sat Jun 18 05:12:10 2011 +0000 @@ -18,7 +18,9 @@ logging.basicConfig() log = logging.getLogger() -log.setLevel(logging.DEBUG if options.verbose else logging.INFO) +log.setLevel(logging.DEBUG) +# limit the stdout one, but leave debug messages for the gtk logger +log.handlers[0].setLevel(logging.DEBUG if options.verbose else logging.WARN) logging.getLogger("restkit.client").setLevel(logging.WARN)
--- a/light9/vidref/main.py Sat Jun 18 04:51:56 2011 +0000 +++ b/light9/vidref/main.py Sat Jun 18 05:12:10 2011 +0000 @@ -139,7 +139,7 @@ img.save(outFilename) now = time.time() - log.debug("wrote %s delay of %.2fms, took %.2fms", + log.info("wrote %s delay of %.2fms, took %.2fms", outFilename, (now - self.lastTime) * 1000, (now - t1) * 1000) @@ -159,8 +159,9 @@ self.recordingTo = wtree.get_object('recordingTo') self.musicScale = wtree.get_object("musicScale") - self.musicScale.connect("value-changed", - lambda r: self.musicTime.sendTime(r.get_value())) + self.musicScale.connect("value-changed", self.onMusicScaleValue) + self.ignoreScaleChanges = False + self.attachLog(wtree.get_object("lastLog")) # wtree.get_object("replayPanel").show() # demo only rp = wtree.get_object("replayVbox") @@ -173,6 +174,16 @@ gobject.timeout_add(1000 // framerate, self.updateLoop) + def attachLog(self, textBuffer): + """write log lines to this gtk buffer""" + class ToBuffer(logging.Handler): + def emit(self, record): + textBuffer.set_text(record.getMessage()) + + h = ToBuffer() + h.setLevel(logging.INFO) + log.addHandler(h) + def updateLoop(self): position = self.musicTime.getLatest() try: @@ -241,5 +252,15 @@ print widget.get_value() def onMusicTimeChange(self, position): - self.musicScale.set_range(0, position['duration']) - self.musicScale.set_value(position['t']) + self.ignoreScaleChanges = True + try: + self.musicScale.set_range(0, position['duration']) + self.musicScale.set_value(position['t']) + finally: + self.ignoreScaleChanges = False + + def onMusicScaleValue(self, scaleRange): + """the scale position has changed. if it was by the user, send + it back to music player""" + if not self.ignoreScaleChanges: + self.musicTime.sendTime(scaleRange.get_value())
--- a/light9/vidref/vidref.glade Sat Jun 18 04:51:56 2011 +0000 +++ b/light9/vidref/vidref.glade Sat Jun 18 05:12:10 2011 +0000 @@ -164,7 +164,29 @@ </packing> </child> <child> - <placeholder/> + <object class="GtkFrame" id="frame2"> + <property name="visible">True</property> + <property name="label_xalign">0</property> + <property name="shadow_type">none</property> + <child> + <object class="GtkTextView" id="logView"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="wrap_mode">char</property> + <property name="buffer">lastLog</property> + </object> + </child> + <child type="label"> + <object class="GtkLabel" id="label8"> + <property name="visible">True</property> + <property name="label" translatable="yes"><b>Last log</b></property> + <property name="use_markup">True</property> + </object> + </child> + </object> + <packing> + <property name="position">4</property> + </packing> </child> </object> <packing> @@ -385,4 +407,5 @@ <object class="GtkTextBuffer" id="recordingTo"> <property name="text" translatable="yes">/home/drewp/light9-vidref/play-light9.bigasterisk.com_show_dance2010_song6/1276582699</property> </object> + <object class="GtkTextBuffer" id="lastLog"/> </interface>