GNOME Bugzilla – Bug 590142
Playback sound peak meter (aka vumeter)
Last modified: 2015-10-20 13:20:29 UTC
A nice feature I've seen in some other NLEs is the peak meter that allows you to visually see when the sound is too loud (and will get distorted). It's kind of like 2 progressbars (if we want that stereo), but they would not be standard progressbar widgets, they would be green, yellow or red depending on how close to the max the sound is. And if the sound went off peaks during playback, a little warning icon would appear above (that warning is reset on the next playback). This has three uses that I can see: - seeing if your project has an equal volume across time (to prevent your audience from always adjusting the volume knob!) - comparing two clips with different volume levels, and adjust one of them to match the other - raise awareness (to newcomers) about sound that is so loud that it loses quality Don't know if that feature should be part of core or a plugin.
Bug #547490 might be of some use as a reference (though it's not python). Before using a progressbar widget, the initial implementation did seem to use custom-built cairo peak meters.
Created attachment 220332 [details] screenshot of GtkLevelBar We could use the new GTK LevelBar widget: http://developer.gnome.org/gtk3/unstable/GtkLevelBar.html
See also http://en.wikipedia.org/wiki/VU_meter http://en.wikipedia.org/wiki/Peak_meter From my recent experiments, GtkLevelBar and GtkProgressBar are not fit for this use. We probably really need a custom widget. Luckily, Buzztard has exactly what we need: a beautiful, accurate "vumeter" implementation in Cairo, as can be seen on screenshots such as http://buzztard.org/wp-content/gallery/featured-screenshots/bt-edit-0-6-0-02.png See http://sf.net/p/buzztard/buzztard/ci/master/tree/src/ui/edit/gtkvumeter.c and http://sf.net/p/buzztard/buzztard/ci/master/tree/src/ui/edit/gtkvumeter.h Basically, someone who would like to implement this feature in Pitivi needs to: 1- Study Buzztard's gtkvumeter.c and do the same thing in Python 2- Plug into pitivi's playback pipeline somehow to analyze the sound levels being played and animate the widget accordingly Bonus points if, in addition to providing a global "vumeter", you can also add a horizontal one for each audio layer in the timeline (but that's optional).
This bug has been migrated to https://phabricator.freedesktop.org/T2307. Please use the Phabricator interface to report further bugs by creating a task and associating it with Project: Pitivi. See http://wiki.pitivi.org/wiki/Bug_reporting for details.