This forum has been archived. All content is frozen. Please use KDE Discuss instead.

album cover sometimes not visible in the OSD

Tags: None
(comma "," separated)
daniell
Registered Member
Posts
1
Karma
0
Hi!

After fetching some album covers from amazon, some covers are only visible in the playlist window, but not in the OSD. Does anyone know how to debug this behavior? All of the images are valid, and can be viewed with an image viewer under ~/.kde/share/apps/amarok/albumcovers/large/ directory.
lecram
Registered Member
Posts
2
Karma
0
I've the same problem.

In 1.3.8. the same covers worked, in 1.4.4. some don't...

Isn't there anyone who has an idea?
lecram
Registered Member
Posts
2
Karma
0
could not find any regularity but it seems that some covers are affected and some not
what doesn't mean that the affected covers don't appear ever:
sometimes they are shown and sometimes not,
but when a cover isn't shown on OSD it alway belongs to the small group of covers affected by that problem.
jkerr
Registered Member
Posts
14
Karma
0
Any new info on this?  I see this problem as well - for one song that does this, "Edit Track Information" "Summary" tab shows the cover properly...
User avatar
dangle_wtf
Moderator
Posts
1252
Karma
0
It would be worth upgradng to 1.4.7 and seeing if you have the same problem.

It's also possible that there is a difference in the format of the picture or something silly like that. try replacing an affected image with one from another source and see if it still happens.


"There are two theories to arguing with women. Neither one works."
.
If men could get pregnant, we'd learn the true meaning of "screaming nancyboy wuss"
jkerr
Registered Member
Posts
14
Karma
0
I'm using 1.4.7.  Tried changing the artwork for that album and it still does it... very strange.  I'll try to see if I can reproduce it for some other tune - it's seems like a rare occurrence...
jkerr
Registered Member
Posts
14
Karma
0
Found a few others - some more info: 

- It happens for the whole album
- Looks fine in collection view when you expand that album under the band name
- when dragging the song in the playlist view, you can properly see the album cover thumbnail
- tried changing the artwork on the song to an image I downloaded manually, still doesn't show in OSD
- sometimes, all albums by the same artist are affected

So it almost looks to me like it's something to do with the songs themselves, or maybe the song or album names... maybe some tag info...

Sometimes it's all songs by the same artist - I have about 5 U2 albums and queued up different songs from different albums and the OSD didn't show album art for any of em...

Last edited by jkerr on Sun Oct 28, 2007 12:49 pm, edited 1 time in total.
jkerr
Registered Member
Posts
14
Karma
0
For another test, I booted back to windows xp (I have dual-boot, both iTunes and Amarok are pointing to the same files on my NTFS partition), went into iTunes and cleared the album artwork for the first 3 tracks of 'The Joshua Tree' album (iTunes stores the images right in the MP3s).  Then I searched in amazon and put the cover image back on for the 3rd track, saved and re-booted back to Gutsy.  No change in behaviour.
User avatar
dangle_wtf
Moderator
Posts
1252
Karma
0
can you post the track tag details for a non-working track please?


"There are two theories to arguing with women. Neither one works."
.
If men could get pregnant, we'd learn the true meaning of "screaming nancyboy wuss"
jkerr
Registered Member
Posts
14
Karma
0
Here's one (whole album is the same)

TItle: Where The Streets Have No Name
Artist: U2
Composer: blank
Album: The Joshua Tree
Disk Number: blank
Genre: Rock
Track: 1
Year: 1987
Comment: blank

Another thing to note is that it doesn't show the amarok icon instead of the cover art - others that have no cover art show the amarok icon.
jkerr
Registered Member
Posts
14
Karma
0
Well, thought I'd try a few other things - thought it may be something with embedded images for covers in iTunes, so I went in to win xp and deleted the cover for the first 2 tracks on the Joshua tree album, rebooted to Ubuntu, didn't help.

I decided to try the SVN version of Amarok and after a bit of installing packages I didn't have, I got it to compile and run.  Then the first two songs on the album showed the image properly in the OSD, so I thought it had something to do with iTunes embedded covers.  So I went back to windows, deleted a few others for songs that the issue appears on, back to ubuntu and that didn't fix them...

So looking at the site I saw how to configure to run in full debug mode, so re-compiled and installed and here's some interesting info I saw being spit out to console - the first block is for the first track on the album, the song that now shows the album art in the OSD properly, the second block is for another track that doesn't show an image in the OSD.  Of note is the QImage::smoothScale: Image is a null image lines:

Code: Select all
amarok: BEGIN: void EngineController::play(const MetaBundle&, uint)
amarok:   [controller] Loading URL: file:///media/CDrive/_MP3/U2/The%20Joshua%20Tree/01%20Where%20The%20Streets%20Have%20No%20Name.mp3
amarok: BEGIN: virtual bool XineEngine::load(const KURL&, bool)
amarok:     [xine-engine] Before xine_open() *****
amarok:     [xine-engine] After xine_open() *****
amarok:     [xine-engine] XINE_PARAM_EARLY_FINISHED_EVENT enabled
amarok: END__: virtual bool XineEngine::load(const KURL&, bool) - Took 0.014s
amarok: BEGIN: virtual bool XineEngine::play(uint)
amarok: BEGIN: void EngineSubject::stateChangedNotify(Engine::State)
amarok:       [virtual void Amarok::StatusBar::engineStateChanged(Engine::State, Engine::State)] Line: 153
amarok: BEGIN: virtual void ContextBrowser::engineStateChanged(Engine::State, Engine::State)
amarok: END__: virtual void ContextBrowser::engineStateChanged(Engine::State, Engine::State) - Took 0.00031s
amarok: END__: void EngineSubject::stateChangedNotify(Engine::State) - Took 0.011s
amarok: END__: virtual bool XineEngine::play(uint) - Took 0.012s
amarok: BEGIN: void EngineSubject::newMetaDataNotify(const MetaBundle&, bool)
amarok:     [Moodbar] Resetting moodbar: /media/CDrive/_MP3/U2/The Joshua Tree/01 Where The Streets Have No Name.mp3
amarok: BEGIN: virtual void ThreadManager::Thread::run()
amarok: BEGIN: SqliteConnection::SqliteConnection(const SqliteConfig*)
amarok: END__: SqliteConnection::SqliteConnection(const SqliteConfig*) - Took 0.00063s
amarok:       [ContextBrowser] [CUEFILE]: /media/CDrive/_MP3/U2/The Joshua Tree/01 Where The Streets Have No Name.cue - Shoot blindly and missed, searching for other cue files.
amarok:       [ContextBrowser] [CUEFILE]: - Didn't find any matching cue file.
amarok:       [xine-engine] Metadata received.
amarok: END__: void EngineSubject::newMetaDataNotify(const MetaBundle&, bool) - Took 0.48s
amarok: END__: void EngineController::play(const MetaBundle&, uint) - Took 0.51s
amarok:   [xine-engine] XINE_PARAM_EARLY_FINISHED_EVENT enabled
amarok: BEGIN: void CurrentTrackJob::showArtistsAlbums(const QString&, uint, uint)
amarok: END__: void CurrentTrackJob::showArtistsAlbums(const QString&, uint, uint) - Took 0.86s
amarok: END__: virtual void ThreadManager::Thread::run() - Took 1.6s
amarok: [ThreadManager] Job completed: CurrentTrackJob. Jobs pending: 0


Code: Select all
amarok: [xine-engine] XINE_PARAM_EARLY_FINISHED_EVENT enabled
amarok: BEGIN: void EngineController::play(const MetaBundle&, uint)
amarok:   [controller] Loading URL: file:///media/CDrive/_MP3/U2/The%20Joshua%20Tree/03%20With%20Or%20Without%20You.mp3
amarok: BEGIN: virtual bool XineEngine::load(const KURL&, bool)
amarok:     [xine-engine] Before xine_open() *****
amarok:     [xine-engine] After xine_open() *****
amarok:     [xine-engine] XINE_PARAM_EARLY_FINISHED_EVENT enabled
amarok: END__: virtual bool XineEngine::load(const KURL&, bool) - Took 0.1s
amarok: BEGIN: virtual bool XineEngine::play(uint)
amarok: BEGIN: void EngineSubject::stateChangedNotify(Engine::State)
amarok:       [virtual void Amarok::StatusBar::engineStateChanged(Engine::State, Engine::State)] Line: 153
amarok: BEGIN: virtual void ContextBrowser::engineStateChanged(Engine::State, Engine::State)
amarok: END__: virtual void ContextBrowser::engineStateChanged(Engine::State, Engine::State) - Took 6.9e-05s
amarok: END__: void EngineSubject::stateChangedNotify(Engine::State) - Took 0.071s
amarok: END__: virtual bool XineEngine::play(uint) - Took 0.071s
amarok: BEGIN: void EngineSubject::newMetaDataNotify(const MetaBundle&, bool)
amarok:     [Moodbar] Resetting moodbar: /media/CDrive/_MP3/U2/The Joshua Tree/03 With Or Without You.mp3
amarok: BEGIN: virtual void ThreadManager::Thread::run()
amarok: BEGIN: SqliteConnection::SqliteConnection(const SqliteConfig*)
amarok: END__: SqliteConnection::SqliteConnection(const SqliteConfig*) - Took 0.017s
amarok:       [ContextBrowser] [CUEFILE]: /media/CDrive/_MP3/U2/The Joshua Tree/03 With Or Without You.cue - Shoot blindly and missed, searching for other cue files.
amarok:       [ContextBrowser] [CUEFILE]: - Didn't find any matching cue file.
amarok:       [xine-engine] Metadata received.
QImage::smoothScale: Image is a null image
amarok:       [MetaBundle] Found APIC frame
amarok:       [MetaBundle] Size of image: 11979 byte
amarok:       [MetaBundle] EmbeddedImage::save /home/jkerr/.kde/share/apps/amarok/albumcovers/tagcover/72e14e090a1cef36f7e399c742caf67c
QImage::smoothScale: Image is a null image
amarok: END__: void EngineSubject::newMetaDataNotify(const MetaBundle&, bool) - Took 0.42s
amarok: END__: void EngineController::play(const MetaBundle&, uint) - Took 0.62s
amarok:   [xine-engine] XINE_PARAM_EARLY_FINISHED_EVENT enabled
QImage::smoothScale: Image is a null image
amarok:   [MetaBundle] Found APIC frame
amarok:   [MetaBundle] Size of image: 11979 byte
amarok:   [MetaBundle] EmbeddedImage::save /home/jkerr/.kde/share/apps/amarok/albumcovers/tagcover/72e14e090a1cef36f7e399c742caf67c
QImage::smoothScale: Image is a null image
amarok: BEGIN: void CurrentTrackJob::showArtistsAlbums(const QString&, uint, uint)
amarok: END__: void CurrentTrackJob::showArtistsAlbums(const QString&, uint, uint) - Took 0.78s
amarok: END__: virtual void ThreadManager::Thread::run() - Took 1.9s
amarok: [ThreadManager] Job completed: CurrentTrackJob. Jobs pending: 1
amarok: BEGIN: virtual void ThreadManager::Thread::run()
amarok: BEGIN: SqliteConnection::SqliteConnection(const SqliteConfig*)
amarok: END__: SqliteConnection::SqliteConnection(const SqliteConfig*) - Took 0.0038s
QImage::smoothScale: Image is a null image
amarok:   [MetaBundle] Found APIC frame
amarok:   [MetaBundle] Size of image: 11979 byte
amarok:   [MetaBundle] EmbeddedImage::save /home/jkerr/.kde/share/apps/amarok/albumcovers/tagcover/72e14e090a1cef36f7e399c742caf67c
QImage::smoothScale: Image is a null image
amarok: BEGIN: void CurrentTrackJob::showArtistsAlbums(const QString&, uint, uint)
amarok: END__: void CurrentTrackJob::showArtistsAlbums(const QString&, uint, uint) - Took 0.85s
amarok: END__: virtual void ThreadManager::Thread::run() - Took 1.2s
amarok:   [ThreadManager] Job completed: CurrentTrackJob. Jobs pending: 0
User avatar
dangle_wtf
Moderator
Posts
1252
Karma
0
Can you try deleting the cached cover for the problem tracks? Perhaps view the file first, to see what it contains. It should be an image. That's the file referred to in
Code: Select all
amarok:   [MetaBundle] EmbeddedImage::save /home/jkerr/.kde/share/apps/amarok/albumcovers/tagcover/72e14e090a1cef36f7e399c742caf67c


It's possible that Amarok's cached a bad file for those tracks - why, I have no idea, but could still be related to embedded covers.


"There are two theories to arguing with women. Neither one works."
.
If men could get pregnant, we'd learn the true meaning of "screaming nancyboy wuss"
jkerr
Registered Member
Posts
14
Karma
0
Interesting - I looked at that folder in file browser as icons, and there were some in there with an icon representing that they were an unknown type.  I copied the one mentioned above to tmp.jpg but that couldn't be opened either.  So I cleared that folder and re-opened "Bullet the Blue Sky" which doesn't show the image in the OSD and got the following, and a new 'bad' file was created in the tagcover folder...

Code: Select all
amarok: [xine-engine] XINE_PARAM_EARLY_FINISHED_EVENT enabled
amarok: BEGIN: void EngineController::play(const MetaBundle&, uint)
amarok:   [controller] Loading URL: file:///media/CDrive/_MP3/U2/The%20Joshua%20Tree/04%20Bullet%20The%20Blue%20Sky.mp3
amarok: BEGIN: virtual bool XineEngine::load(const KURL&, bool)
amarok:     [xine-engine] Before xine_open() *****
amarok:     [xine-engine] After xine_open() *****
amarok:     [xine-engine] XINE_PARAM_EARLY_FINISHED_EVENT enabled
amarok: END__: virtual bool XineEngine::load(const KURL&, bool) - Took 0.079s
amarok: BEGIN: virtual bool XineEngine::play(uint)
amarok: BEGIN: void EngineSubject::stateChangedNotify(Engine::State)
amarok:       [virtual void Amarok::StatusBar::engineStateChanged(Engine::State, Engine::State)] Line: 153
amarok: BEGIN: virtual void ContextBrowser::engineStateChanged(Engine::State, Engine::State)
amarok: END__: virtual void ContextBrowser::engineStateChanged(Engine::State, Engine::State) - Took 6.9e-05s
amarok: END__: void EngineSubject::stateChangedNotify(Engine::State) - Took 0.054s
amarok: END__: virtual bool XineEngine::play(uint) - Took 0.054s
amarok: BEGIN: void EngineSubject::newMetaDataNotify(const MetaBundle&, bool)
amarok:     [Moodbar] Resetting moodbar: /media/CDrive/_MP3/U2/The Joshua Tree/04 Bullet The Blue Sky.mp3
amarok:     [ContextBrowser] [CUEFILE]: /media/CDrive/_MP3/U2/The Joshua Tree/04 Bullet The Blue Sky.cue - Shoot blindly and missed, searching for other cue files.
amarok:     [ContextBrowser] [CUEFILE]: - Didn't find any matching cue file.
amarok:     [xine-engine] Metadata received.
amarok:     [MetaBundle] Found APIC frame
amarok:     [MetaBundle] Size of image: 18706 byte
amarok:     [MetaBundle] EmbeddedImage::save /home/jkerr/.kde/share/apps/amarok/albumcovers/tagcover/3fcfe19c62eb23260ce8fd9fb4e1551f
QImage::smoothScale: Image is a null image
amarok:     [MetaBundle] Found APIC frame
amarok:     [MetaBundle] Size of image: 18706 byte
amarok:     [MetaBundle] EmbeddedImage::save /home/jkerr/.kde/share/apps/amarok/albumcovers/tagcover/3fcfe19c62eb23260ce8fd9fb4e1551f
QImage::smoothScale: Image is a null image
amarok: BEGIN: virtual void ThreadManager::Thread::run()
amarok: BEGIN: SqliteConnection::SqliteConnection(const SqliteConfig*)
amarok: END__: SqliteConnection::SqliteConnection(const SqliteConfig*) - Took 0.00052s
amarok: END__: void EngineSubject::newMetaDataNotify(const MetaBundle&, bool) - Took 0.33s
amarok: END__: void EngineController::play(const MetaBundle&, uint) - Took 0.5s
amarok:   [xine-engine] XINE_PARAM_EARLY_FINISHED_EVENT enabled
QImage::smoothScale: Image is a null image
amarok:   [MetaBundle] Found APIC frame
amarok:   [MetaBundle] Size of image: 18706 byte
amarok:   [MetaBundle] EmbeddedImage::save /home/jkerr/.kde/share/apps/amarok/albumcovers/tagcover/3fcfe19c62eb23260ce8fd9fb4e1551f
QImage::smoothScale: Image is a null image
amarok: BEGIN: void CurrentTrackJob::showArtistsAlbums(const QString&, uint, uint)
amarok: END__: void CurrentTrackJob::showArtistsAlbums(const QString&, uint, uint) - Took 0.93s
amarok: END__: virtual void ThreadManager::Thread::run() - Took 1.5s
amarok: [ThreadManager] Job completed: CurrentTrackJob. Jobs pending: 1
amarok: BEGIN: virtual void ThreadManager::Thread::run()
amarok: BEGIN: SqliteConnection::SqliteConnection(const SqliteConfig*)
amarok: END__: SqliteConnection::SqliteConnection(const SqliteConfig*) - Took 0.00037s
QImage::smoothScale: Image is a null image
amarok:   [MetaBundle] Found APIC frame
amarok:   [MetaBundle] Size of image: 18706 byte
amarok:   [MetaBundle] EmbeddedImage::save /home/jkerr/.kde/share/apps/amarok/albumcovers/tagcover/3fcfe19c62eb23260ce8fd9fb4e1551f
QImage::smoothScale: Image is a null image
amarok: BEGIN: void CurrentTrackJob::showArtistsAlbums(const QString&, uint, uint)
amarok: END__: void CurrentTrackJob::showArtistsAlbums(const QString&, uint, uint) - Took 0.81s
amarok:   [ThreadManager] Job completed: CurrentTrackJob. Jobs pending: 0
amarok: END__: virtual void ThreadManager::Thread::run() - Took 1.3s


So maybe it found the album cover somewhere but then had a problem re-sizing/converting then saving it?
User avatar
dangle_wtf
Moderator
Posts
1252
Karma
0
does that track still have an embedded cover? If so, what format is the file? I'm not sure that amarok supports all image file types - I suspect only jpg/png/maybe gif will work as covers.


"There are two theories to arguing with women. Neither one works."
.
If men could get pregnant, we'd learn the true meaning of "screaming nancyboy wuss"
jkerr
Registered Member
Posts
14
Karma
0
Well, it's definately the embedded image that's being extracted that's causing the problem: since I had it compiled with debug, I started sticking in debugs all over the place and isolated the line that saves the 'bad' image file (deleting all the files in my albumcovers/tagcover folder each run).  I'd add some, run it, play the file, quit, and examine the output.  It's the line:

Code: Select all
 if ( (*it).save( tagCoverDir() ) ) {


in the CollectionDB::extractEmbeddedImage method of collectiondb.cpp

Now to do some rebooting and see if I can learn anything else about the images embedded in problem MP3s...


Bookmarks



Who is online

Registered users: Bing [Bot], Google [Bot], Sogou [Bot]