summaryrefslogtreecommitdiff
path: root/plugins/gtkui
diff options
context:
space:
mode:
authorGravatar Alexey Yakovenko <wakeroid@gmail.com>2010-05-05 22:23:27 +0200
committerGravatar Alexey Yakovenko <wakeroid@gmail.com>2010-05-05 22:23:27 +0200
commit5d0942a6598299b4ce1d2f55e489930e37ad7a21 (patch)
tree42ad40c1af57302b373d9c31ee7581db33df5970 /plugins/gtkui
parent6a75a186b58ea4b6be385991efa272f772c82ae4 (diff)
display replaygain info in track properties
Diffstat (limited to 'plugins/gtkui')
-rw-r--r--plugins/gtkui/trkproperties.c20
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