summaryrefslogtreecommitdiff
path: root/plugins/wavpack
diff options
context:
space:
mode:
authorGravatar waker <wakeroid@gmail.com>2011-01-09 22:25:38 +0100
committerGravatar waker <wakeroid@gmail.com>2011-01-09 22:25:38 +0100
commit4cafabddc5640c3f3ed9d6653d9ae1b427c9a24f (patch)
treed540f1ff2ac84d05373d8e333f260be1fe1d197d /plugins/wavpack
parent4ab86e6c2a7d920f022d0d6a8bf2343929dfb0a8 (diff)
set wavpack waveformat, mode and avg bitrate as track properties
Diffstat (limited to 'plugins/wavpack')
-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) {