diff options
Diffstat (limited to 'voctogui/lib/audioleveldisplay.py')
-rw-r--r-- | voctogui/lib/audioleveldisplay.py | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/voctogui/lib/audioleveldisplay.py b/voctogui/lib/audioleveldisplay.py new file mode 100644 index 0000000..bc2a38f --- /dev/null +++ b/voctogui/lib/audioleveldisplay.py @@ -0,0 +1,25 @@ +import logging +from gi.repository import Gst, Gtk + +class AudioLevelDisplay(object): + """ Displays a Level-Meter of another VideoDisplay into a GtkWidget """ + + def __init__(self, drawing_area): + self.log = logging.getLogger('AudioLevelDisplay[%s]' % drawing_area.get_name()) + + self.drawing_area = drawing_area + + self.levelrms = [0, 0] # Initialize to [] + self.drawing_area.connect('draw', self.on_draw) + + + def on_draw(self, widget, cr): + cr.set_source_rgb(1, 1, 1) + cr.set_line_width(10) + + cr.move_to(15, 0) + cr.line_to(15, self.levelrms[0]*-20) # Work with 0+ Channels + cr.stroke() + + def level_callback(self, peaks, rms): + self.levelrms = rms |