[prev in list] [next in list] [prev in thread] [next in thread]
List: amarok-bugs-dist
Subject: [Bug 219902] New: amarok uses musicbrainz ids but cannot handle them
From: Robert Wohlrab <robert.wohlrab () gmx ! de>
Date: 2009-12-24 0:04:41
Message-ID: bug-219902-71684 () http ! bugs ! kde ! org/
[Download RAW message or body]
https://bugs.kde.org/show_bug.cgi?id=219902
Summary: amarok uses musicbrainz ids but cannot handle them in
playlist
Product: amarok
Version: unspecified
Platform: Debian testing
OS/Version: unspecified
Status: UNCONFIRMED
Severity: normal
Priority: NOR
Component: general
AssignedTo: amarok-bugs-dist@kde.org
ReportedBy: robert.wohlrab@gmx.de
Version: 2.2.1-2 (using KDE 4.3.4)
Installed from: Debian testing/unstable Packages
Downstream bug http://bugs.debian.org/556414
Noticed a weird behavior with amarok 2.2 or 2.1 (not sure here). When I tried
to create a new dynamic playlist only songs from Nine Inch Nails - The Slip
where added. When I closed the app and restarted it then only songs from this
album were shown again in the playlist - all other entries were "lost".
To debug it a little bit further I just added following code:
while( giveup-- && !track ) {
int trand = KRandom::random() % subset.size();
debug() << "random output " << trand << " " << subset[ trand ];
track = trackForUid( subset[ trand ] );
}
instead of
while( giveup-- && !track )
track = trackForUid( subset[ KRandom::random() % subset.size() ] );
in Dynamic::BiasSolver::getRandomTrack
The output just looked weird to me, but here are something which is
interesting:
amarok: [BiasSolver] [ERROR!] track is 0 in BiasSolver::getRandomTrack()
amarok: [BiasSolver] random output 2523 "
z>�ԱA[�lIo�-l"
amarok: [BiasSolver] random output 1839 "
��FN��/۔\���" ^�
amarok: [BiasSolver] random output 534 "
Z��p�L֎�taځ"
amarok: [BiasSolver] random output 2949 "
�YupEn�ge�єx+"
amarok: [BiasSolver] random output 187 "
A���{�L���h�I��"
amarok: [BiasSolver] random output 293 "
�^
�K��x}�s�G�"
amarok: [BiasSolver] random output 2819 "
b\ܪY�@k�
AN�6"
amarok: [BiasSolver] random output 3755 "
�w��E4�3��/x�Y"
amarok: [BiasSolver] random output 247 "
�K��*I��<V��"g"
amarok: [BiasSolver] random output 4488 "
�˱evC�zb�� ޘ"
amarok: [BiasSolver] random output 730 "
F6�2Lݢ�H䣆�"
amarok: [BiasSolver] random output 4461 "
�N�C�N���!�;��"
amarok: [BiasSolver] random output 1428 "
�fsR_O�I���ߝ"
amarok: [BiasSolver] random output 597 "
$ Ն�J_�<�▒��y""
amarok: [BiasSolver] random output 461 "
t���dO"�h5u���"
amarok: [BiasSolver] random output 1073 "
���AhE��iފ�p}�"
amarok: [BiasSolver] random output 4555 "|����ж�|ɻLM"
amarok: [BiasSolver] track selected: "Head Down" "Nine Inch Nails"
amarok: [BiasSolver] random output 1375 "
���sMG)��^)s��"
You maybe noticed that all failed uids have a \n at the beginning and the
only one which didn't fail (did many tests and all looked like that) hadn't
\n at the beginning. Here another output which didn't fail:
amarok: [BiasSolver] random output 4558 "��_��2=▒ù�O����"
amarok: [BiasSolver] track selected: "The Four of Us are Dying" "Nine Inch
Nails"
amarok: [BiasSolver] random output 1628 "
��|��OD���Z�}E"
amarok: [BiasSolver] random output 658 "
��s�FK�����
�"
This is maybe the reason why trackForUid fails but I am not sure.
Changed the lines again to
while( giveup-- && !track ) {
int trand = KRandom::random() % subset.size();
debug() << "random output " << trand << " " <<
(s_universeCollection->uidUrlProtocol() + "://" + QString(subset[ trand
].toHex()));
track = trackForUid( subset[ trand ] );
}
Output looks now like
amarok: [BiasSolver] random output 296
"amarok-sqltrackuid://0b3cee0759471344bfa30b1a3cede70522"
amarok: [BiasSolver] random output 4041
"amarok-sqltrackuid://0b4b9709be0618474b8012cbba3824a44a"
amarok: [BiasSolver] random output 2472
"amarok-sqltrackuid://0bcf5dc40c18854866a17f37d7ddd79913"
amarok: [BiasSolver] random output 559
"amarok-sqltrackuid://0b9148f2b003f54e2eba8e762f8a028c86"
amarok: [BiasSolver] random output 4556
"amarok-sqltrackuid://1e049c64a6a4df82d41bf9a5ee0fd37c"
amarok: [BiasSolver] track selected: "Lights in the Sky" "Nine Inch Nails"
amarok: [BiasSolver] random output 1708
"amarok-sqltrackuid://0b437435ec85b2403daaf12d9ff619c010"
amarok: [BiasSolver] random output 2953
"amarok-sqltrackuid://0baf7aedbb280340d4939cbadd59ee4ab3"
It can easily be seen that uids which doesn't match are exact one byte longer
(0x0b at the beginning).
So next step was to find what that means. Just did a small search in my db
and found something:
mysql> select uniqueid from urls where uniqueid like "%4b9709be%";
amarok-sqltrackuid://MB_4b9709be-0618-474b-8012-cbba3824a44a
mysql> select uniqueid from urls where uniqueid like "%1e049c6%";
amarok-sqltrackuid://1e049c64a6a4df82d41bf9a5ee0fd37c
So I would definitely say that it cannot handle musicbrainz ids. This causes
the dynamic playlists to only add files where musicbrainz ids are missing. An
extra problem caused by that is that all entries including a musicbrainz id in
my current playlist will be forgotten when I stop amarok and restart it.
As nine inch nails are currently the only songs without musicbrainz id it
makes amarok the current worst player to use for me.
Here the output of vorbiscomment for
amarok-sqltrackuid://MB_4b9709be-0618-474b-8012-cbba3824a44a
MUSICBRAINZ_ALBUMARTIST=Therion
MUSICBRAINZ_ALBUMARTISTSORTNAME=Therion
MUSICBRAINZ_ALBUMSTATUS=official
MUSICBRAINZ_ALBUMTYPE=album
MUSICBRAINZ_NONALBUM=0
MUSICBRAINZ_SORTNAME=Therion
MUSICBRAINZ_VARIOUSARTISTS=0
REPLAYGAIN_ALBUM_GAIN=-8.31 dB
REPLAYGAIN_ALBUM_PEAK=1.12695789
REPLAYGAIN_TRACK_GAIN=-8.24 dB
REPLAYGAIN_TRACK_PEAK=1.11570489
TRANSCODED=mp3;192
genre=Death Metal
genre=Metal
genre=Gothic Metal
genre=Progressive Metal
genre=Heavy Metal
genre=Symphonic Metal
producer=Therion
producer=Lars Nissen
format=CD
lyricist=Thomas Karlsson
releasecountry=DE
label=Nuclear Blast
totaltracks=10
musicbrainz_albumartistid=c6b0db5a-d750-4ed8-9caa-ddcfb75dcb0a
date=2004-05-24
musicip_puid=ebfe5f9d-a469-dd01-2245-3cf52c9d70f9
asin=B0003HHOW2
albumartistsort=Therion
conductor=Mario Klemens
conductor=Mario Klemens
conductor=Adam Klemens
script=Latn
title=Typhon
musicbrainz_albumid=2ee34d04-00bf-48c3-886a-6829aad095c9
releasestatus=official
albumartist=Therion
catalognumber=NB 1253-2
album=Lemuria
musicbrainz_artistid=c6b0db5a-d750-4ed8-9caa-ddcfb75dcb0a
releasetype=album
performer=Kavi Björkqvist (guest balalaika)
performer=Sven Lindblad (guest balalaika)
performer=Jens Nyborg (guest balalaika)
performer=City of Prague Philharmonic Orchestra (orchestra)
performer=Steen Rasmussen (guest hammond organ)
performer=Richard Evensand (guest drums)
performer=Petra Čermáková (guest horn)
performer=Johan Niemann (electric bass guitar)
performer=Kühn Mixed Choir (guest choir vocal)
performer=Kristian Niemann (electric guitar and acoustic guitar)
performer=Jitka Tomšíčková (guest oboe)
performer=Christofer Johnsson (electric guitar)
coverartmime=image/jpeg
language=eng
artist=Therion
musicbrainz_trackid=4b9709be-0618-474b-8012-cbba3824a44a
arranger=Christofer Johnsson
artistsort=Therion
tracknumber=1
tracktotal=10
--
Configure bugmail: https://bugs.kde.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.
_______________________________________________
Amarok-bugs-dist mailing list
Amarok-bugs-dist@kde.org
https://mail.kde.org/mailman/listinfo/amarok-bugs-dist
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic