diff options
author | Alexey Yakovenko <wakeroid@gmail.com> | 2010-05-05 22:23:27 +0200 |
---|---|---|
committer | Alexey Yakovenko <wakeroid@gmail.com> | 2010-05-05 22:23:27 +0200 |
commit | 5d0942a6598299b4ce1d2f55e489930e37ad7a21 (patch) | |
tree | 42ad40c1af57302b373d9c31ee7581db33df5970 /plugins/gtkui | |
parent | 6a75a186b58ea4b6be385991efa272f772c82ae4 (diff) |
display replaygain info in track properties
Diffstat (limited to 'plugins/gtkui')
-rw-r--r-- | plugins/gtkui/trkproperties.c | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/plugins/gtkui/trkproperties.c b/plugins/gtkui/trkproperties.c index 0fca8145..4e534d5b 100644 --- a/plugins/gtkui/trkproperties.c +++ b/plugins/gtkui/trkproperties.c @@ -19,6 +19,7 @@ #include <gtk/gtk.h> #include <gdk/gdkkeysyms.h> #include <string.h> +#include <math.h> #include "ddblistview.h" #include "trkproperties.h" #include "interface.h" @@ -125,6 +126,11 @@ static const char *types[] = { NULL }; +static inline float +amp_to_db (float amp) { + return 20*log10 (amp); +} + void trkproperties_fill_metadata (void) { if (!trackproperties) { @@ -163,6 +169,20 @@ trkproperties_fill_metadata (void) { gtk_list_store_set (propstore, &iter, 0, "Tag Type(s)", 1, temp, -1); gtk_list_store_append (propstore, &iter); gtk_list_store_set (propstore, &iter, 0, "Embedded Cuesheet", 1, (deadbeef->pl_get_item_flags (track) & DDB_HAS_EMBEDDED_CUESHEET) ? "Yes" : "No", -1); + + gtk_list_store_append (propstore, &iter); + snprintf (temp, sizeof (temp), "%0.2f dB", amp_to_db (track->replaygain_album_gain)); + gtk_list_store_set (propstore, &iter, 0, "REPLAYGAIN_ALBUM_GAIN", 1, temp, -1); + gtk_list_store_append (propstore, &iter); + snprintf (temp, sizeof (temp), "%0.6f", track->replaygain_album_peak); + gtk_list_store_set (propstore, &iter, 0, "REPLAYGAIN_ALBUM_PEAK", 1, temp, -1); + + gtk_list_store_append (propstore, &iter); + snprintf (temp, sizeof (temp), "%0.2f dB", amp_to_db (track->replaygain_track_gain)); + gtk_list_store_set (propstore, &iter, 0, "REPLAYGAIN_TRACK_GAIN", 1, temp, -1); + gtk_list_store_append (propstore, &iter); + snprintf (temp, sizeof (temp), "%0.6f", track->replaygain_track_peak); + gtk_list_store_set (propstore, &iter, 0, "REPLAYGAIN_TRACK_PEAK", 1, temp, -1); } void |