[Bf-extensions-cvs] SVN commit: /data/svn/bf-extensions [1708] contrib/py/scripts/addons/ space_view3d_screencast_keys.py: Version 1.1

Bart Crouch bartius.crouch at gmail.com
Mon Mar 14 14:04:17 CET 2011


Revision: 1708
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-extensions&revision=1708
Author:   crouch
Date:     2011-03-14 13:04:17 +0000 (Mon, 14 Mar 2011)
Log Message:
-----------
Version 1.1
- Identical logs are stacked (e.g. WHEELUPMOUSE x6)
- Displayed logs are faded over time (thanks to jedihe)

Modified Paths:
--------------
    contrib/py/scripts/addons/space_view3d_screencast_keys.py

Modified: contrib/py/scripts/addons/space_view3d_screencast_keys.py
===================================================================
--- contrib/py/scripts/addons/space_view3d_screencast_keys.py	2011-03-14 01:38:56 UTC (rev 1707)
+++ contrib/py/scripts/addons/space_view3d_screencast_keys.py	2011-03-14 13:04:17 UTC (rev 1708)
@@ -21,8 +21,8 @@
 
 bl_info = {
     'name': 'Display Keys Status for Screencasting',
-    'author': 'Paulo Gomes, Bartius Crouch',
-    'version': (1, 0),
+    'author': 'Paulo Gomes, Bart Crouch, John E. Herrenyo',
+    'version': (1, 1),
     'blender': (2, 5, 6),
     'api': 35457,
     'location': 'View3D > Properties panel > Display tab',
@@ -48,14 +48,16 @@
         # draw text in the 3d-view
         blf.size(0, wm.display_font_size, 72)
         r, g, b = wm.display_color
-        bgl.glColor3f(r, g, b)
         final = 0
         
         # only display key-presses of last 2 seconds
         for i in range(len(self.key)):
-            if time.time()-self.time[i] < 2:
+            label_time = time.time() - self.time[i]
+            if label_time < 2:
                 blf.position(0, wm.display_pos_x,
                     wm.display_pos_y + wm.display_font_size*i, 0)
+                alpha = min(1.0, max(0.0, 2 * (2 - label_time)))
+                bgl.glColor4f(r, g, b, alpha)
                 blf.draw(0, self.key[i])
                 final = i
             else:
@@ -95,9 +97,23 @@
             if event.shift:
                 sc_keys.append("Shift ")
             
+            sc_amount = ""
+            if self.key:
+                if event.type not in ignore_keys and event.type in self.key[0]:
+                    mods = "+ ".join(sc_keys)
+                    old_mods = "+ ".join(self.key[0].split("+ ")[:-1])
+                    if mods == old_mods:
+                        amount = self.key[0].split(" x")
+                        if len(amount) >= 2:
+                            sc_amount = " x" + str(int(amount[-1]) + 1)
+                        else:
+                            sc_amount = " x2"
+                        del self.key[0]
+                        del self.time[0]
+           
             if event.type not in ignore_keys:
                 sc_keys.append(event.type)
-                self.key.insert(0, "+ ".join(map(str, sc_keys)))
+                self.key.insert(0, "+ ".join(sc_keys) + sc_amount)
                 self.time.insert(0, time.time())
         
         if not context.window_manager.display_keys:



More information about the Bf-extensions-cvs mailing list