diff options
author | Josh Coalson <jcoalson@users.sourceforce.net> | 2006-09-14 00:40:03 +0000 |
---|---|---|
committer | Josh Coalson <jcoalson@users.sourceforce.net> | 2006-09-14 00:40:03 +0000 |
commit | b292e75ebf3ef755d60522021de67c45b313d694 (patch) | |
tree | ad65633494ccf701d6a2168b9cd124eb708e2f94 /src/plugin_xmms | |
parent | dcf04428feb792754aea4b0a484243850afc0114 (diff) | |
download | flac-b292e75ebf3ef755d60522021de67c45b313d694.tar.gz |
add support for new REPLAYGAIN_REFERENCE_LOUDNESS tag
Diffstat (limited to 'src/plugin_xmms')
-rw-r--r-- | src/plugin_xmms/fileinfo.c | 15 | ||||
-rw-r--r-- | src/plugin_xmms/plugin.c | 4 |
2 files changed, 14 insertions, 5 deletions
diff --git a/src/plugin_xmms/fileinfo.c b/src/plugin_xmms/fileinfo.c index 09c32050..ecb1e85a 100644 --- a/src/plugin_xmms/fileinfo.c +++ b/src/plugin_xmms/fileinfo.c @@ -41,7 +41,7 @@ static GtkWidget *window = NULL; static GList *genre_list = NULL; static GtkWidget *filename_entry, *tag_frame; static GtkWidget *title_entry, *artist_entry, *album_entry, *date_entry, *tracknum_entry, *comment_entry; -static GtkWidget *replaygain_track_gain, *replaygain_album_gain, *replaygain_track_peak, *replaygain_album_peak; +static GtkWidget *replaygain_reference, *replaygain_track_gain, *replaygain_album_gain, *replaygain_track_peak, *replaygain_album_peak; static GtkWidget *genre_combo; static GtkWidget *flac_samplerate, *flac_channels, *flac_bits_per_sample, *flac_blocksize, *flac_filesize, *flac_samples, *flac_bitrate; @@ -244,22 +244,26 @@ static void show_replaygain() /* known limitation: If only one of gain and peak is set, neither will be shown. This is true for * both track and album replaygain tags. Written so it will be easy to fix, with some trouble. */ + gtk_label_set_text(GTK_LABEL(replaygain_reference), ""); gtk_label_set_text(GTK_LABEL(replaygain_track_gain), ""); gtk_label_set_text(GTK_LABEL(replaygain_album_gain), ""); gtk_label_set_text(GTK_LABEL(replaygain_track_peak), ""); gtk_label_set_text(GTK_LABEL(replaygain_album_peak), ""); - double track_gain, track_peak, album_gain, album_peak; - FLAC__bool track_gain_set, track_peak_set, album_gain_set, album_peak_set; + double reference, track_gain, track_peak, album_gain, album_peak; + FLAC__bool reference_set, track_gain_set, track_peak_set, album_gain_set, album_peak_set; FLAC_plugin__replaygain_get_from_file( current_filename, + &reference, &reference_set, &track_gain, &track_gain_set, &album_gain, &album_gain_set, &track_peak, &track_peak_set, &album_peak, &album_peak_set ); + if(reference_set) + label_set_text(replaygain_reference, _("ReplayGain Reference Loudness: %2.1f dB"), reference); if(track_gain_set) label_set_text(replaygain_track_gain, _("ReplayGain Track Gain: %+2.2f dB"), track_gain); if(album_gain_set) @@ -438,6 +442,11 @@ void FLAC_XMMS__file_info_box(char *filename) gtk_label_set_justify(GTK_LABEL(flac_bitrate), GTK_JUSTIFY_LEFT); gtk_box_pack_start(GTK_BOX(flac_box), flac_bitrate, FALSE, FALSE, 0); + replaygain_reference = gtk_label_new(""); + gtk_misc_set_alignment(GTK_MISC(replaygain_reference), 0, 0); + gtk_label_set_justify(GTK_LABEL(replaygain_reference), GTK_JUSTIFY_LEFT); + gtk_box_pack_start(GTK_BOX(flac_box), replaygain_reference, FALSE, FALSE, 0); + replaygain_track_gain = gtk_label_new(""); gtk_misc_set_alignment(GTK_MISC(replaygain_track_gain), 0, 0); gtk_label_set_justify(GTK_LABEL(replaygain_track_gain), GTK_JUSTIFY_LEFT); diff --git a/src/plugin_xmms/plugin.c b/src/plugin_xmms/plugin.c index 4e5b9a17..ba0219af 100644 --- a/src/plugin_xmms/plugin.c +++ b/src/plugin_xmms/plugin.c @@ -662,8 +662,8 @@ void metadata_callback_(const FLAC__StreamDecoder *decoder, const FLAC__StreamMe } } else if(metadata->type == FLAC__METADATA_TYPE_VORBIS_COMMENT) { - double gain, peak; - if(grabbag__replaygain_load_from_vorbiscomment(metadata, flac_cfg.output.replaygain.album_mode, /*strict=*/false, &gain, &peak)) { + double reference, gain, peak; + if(grabbag__replaygain_load_from_vorbiscomment(metadata, flac_cfg.output.replaygain.album_mode, /*strict=*/false, &reference, &gain, &peak)) { stream_data->has_replaygain = true; stream_data->replay_scale = grabbag__replaygain_compute_scale_factor(peak, gain, (double)flac_cfg.output.replaygain.preamp, /*prevent_clipping=*/!flac_cfg.output.replaygain.hard_limit); } |