summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--plugins/wavpack/wavpack.c13
1 files changed, 12 insertions, 1 deletions
diff --git a/plugins/wavpack/wavpack.c b/plugins/wavpack/wavpack.c
index ad0897da..26889237 100644
--- a/plugins/wavpack/wavpack.c
+++ b/plugins/wavpack/wavpack.c
@@ -266,7 +266,6 @@ wv_seek (DB_fileinfo_t *_info, float sec) {
static DB_playItem_t *
wv_insert (DB_playItem_t *after, const char *fname) {
-
DB_FILE *fp = deadbeef->fopen (fname);
if (!fp) {
return NULL;
@@ -314,6 +313,18 @@ wv_insert (DB_playItem_t *after, const char *fname) {
}
deadbeef->pl_add_meta (it, "title", NULL);
+ char s[100];
+ snprintf (s, sizeof (s), "%d", WavpackGetBytesPerSample (ctx) * 8);
+ deadbeef->pl_add_meta (it, ":BPS", s);
+ snprintf (s, sizeof (s), "%d", WavpackGetNumChannels (ctx));
+ deadbeef->pl_add_meta (it, ":CHANNELS", s);
+ snprintf (s, sizeof (s), "%d", WavpackGetSampleRate (ctx));
+ deadbeef->pl_add_meta (it, ":SAMPLERATE", s);
+ snprintf (s, sizeof (s), "%d Kbps", (int)(WavpackGetAverageBitrate (ctx, 1) / 1000));
+ deadbeef->pl_add_meta (it, ":BITRATE", s);
+ snprintf (s, sizeof (s), "%s", (WavpackGetMode (ctx) & MODE_FLOAT) ? "FLOAT" : "INTEGER");
+ deadbeef->pl_add_meta (it, ":WAVPACK_MODE", s);
+
// embedded cue
const char *cuesheet = deadbeef->pl_find_meta (it, "cuesheet");
if (cuesheet) {