After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 590142 - Playback sound peak meter (aka vumeter)
Playback sound peak meter (aka vumeter)
Status: RESOLVED OBSOLETE
Product: pitivi
Classification: Other
Component: User interface
Git
Other Linux
: Normal enhancement
: Git
Assigned To: Pitivi maintainers
Pitivi maintainers
Depends on:
Blocks:
 
 
Reported: 2009-07-29 13:32 UTC by Jean-François Fortin Tam
Modified: 2015-10-20 13:20 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
screenshot of GtkLevelBar (28.67 KB, image/png)
2012-08-04 23:43 UTC, Jean-François Fortin Tam
Details

Description Jean-François Fortin Tam 2009-07-29 13:32:48 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.
Comment 1 Jean-François Fortin Tam 2010-01-23 16:57:27 UTC
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.
Comment 2 Jean-François Fortin Tam 2012-08-04 23:43:38 UTC
Created attachment 220332 [details]
screenshot of GtkLevelBar

We could use the new GTK LevelBar widget: http://developer.gnome.org/gtk3/unstable/GtkLevelBar.html
Comment 3 Jean-François Fortin Tam 2013-04-23 02:48:25 UTC
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).
Comment 4 Thibault Saunier 2015-10-20 13:20:29 UTC
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.