2014-06-12, 23:03
Hi Folks,
Experimenting with XBMC GOTHAM (13.1 Git:20140604-84725b0). Platform: x86 Win32 32-bit] installation on Windows 7 64-bit; no extra add-ons or skins ... using what was installed at default. Noticed as few add-ons were updated but the Universal & Local audio scrapers don't appear to have been updated post-installation.
Confused on how the Local Information Only (.NFO) scrapers are intended to function.
The file metada and folder structure noted below ensures the library is usuable with XBMC, iTunes, Windows Media Player, WinAMP, Foobar2000 ... oh, and in case I forgot to mention XBMC.
OVERVIEW
All of my audio files are IDTagged with: Track, Title, Artist, Album, Album Artist, Year, Genre, Grouping, Album Art (200x200x96).
Album Artist = Artist or Various Artists if compilation/soundtrack
Grouping = Genre
My audio library folder structure is as follows:
<MUSICSOURCE> = The NAS 'Read Only' share added via XBMC Music Add Source >> smb://NAS-NAME/Audio
<0-Z> = Single Letter Folder Name, artist group beginning with number/letters (0=2PAC, A=ABBA, etc.)
[DISC #] = Disc subfolder added when multi-disc title, otherwise audio files directly under album folder
<MUSICSOURCE>/Artists/<0-Z>/ARTIST/ALBUM/[DISC #]
<MUSICSOURCE>/Compilations/<0-Z>/ARTIST/ALBUM/[DISC #]
<MUSICSOURCE>/Soundtracks/<0-Z>/ARTIST/ALBUM/[DISC #]
<MUSICSOURCE>/Books/<0-Z>/ARTIST/ALBUM/[DISC #]
<MUSICSOURCE>/Karaoke/<0-Z>/ARTIST/ALBUM/[DISC #]
EXAMPLE
I created an ARTIST.NFO for each artist and an ALBUM.NFO for each album.
ALBUM.NFO folder placement.
ARTIST.NFO folder placement.
BEHAVIOR - ALBUM
Prior to scanning the 'Books' folder to the XBMC Library, I set the "Local Information Only scraper" as the default scraper under Settings > Music > Library for both ALBUM and ARTIST. I also set the Search For Thumbnails On Remote Shares option. Once completed, I disabled the remote thumbnails option.
Now if I navigate to Music > Library > Albums, I can see several albums - one for each group of files found within the corresponding folder.
An Album Title
Another Album Title
Effective Negotiating - Disc 1
Effective Negotiating - Disc 2
Yet Another Album Title - Disc 1
Yet Another Album Title - Disc 2
Yet Another Album Title - Disc 3
...
I select the Query Info For All Albums from the Context menu. At this point, I assume that XBMC uses the Album Local Information Only (.NFO) scraper to retrieve the information provided in each of the ALBUM.NFO. If I select Album Information from the Context Menu, I see the information that I expect to see - i.e. it seems to match what I put in the ALBUM.NFO file.
BEHAVIOR - ARTIST
I select the Query Info For All Artists from the Context menu. At this point, I assume that XBMC uses the Artists Local Information Only (.NFO) scraper to retrieve the information provided in each of the ARTIST.NFO. If I select Artist Information from the Context Menu, I am prompted to search for the Artist in some cases - such as the artist noted above, others not.
I performed different tests on the above artist so as to isolate what's going on. Here's the results with different 'default' scrapers:
Universal Scraper (Artist/Album)
Local Information Only (Album), Universal Scraper (Artist)
Local Information Only (Artist/Album)
SUMMARY
My observations lead me to think that the Artist Local Information Only (.NFO) is initiating a query against an external source before attempting to read the ARTIST.NFO file. I had a look at the debug log (see below) and there doesn't seem to be any errors being generated or references to an external (web) url being queried. I also had a look at the LOCAL.XML metadata file but it doesn't contain any parsing logic.
I have also noticed that refreshing the Artist/Album information by re-running the respective Query options does not update the XBMC music database - i.e. the old .NFO information remains present.
Is this expected behavior? If so, how does one force exclusive parsing of .NFO files and *no* Internet query?
Advance thanks,
Reference Links
Local Information Only Scraper
http://wiki.xbmc.org/index.php?title=NFO_files
Bug Tracker
http://trac.xbmc.org/ticket/15247
http://trac.xbmc.org/ticket/15221
http://trac.xbmc.org/ticket/15204
http://trac.xbmc.org/ticket/14612
XBMC Log Snippet
Experimenting with XBMC GOTHAM (13.1 Git:20140604-84725b0). Platform: x86 Win32 32-bit] installation on Windows 7 64-bit; no extra add-ons or skins ... using what was installed at default. Noticed as few add-ons were updated but the Universal & Local audio scrapers don't appear to have been updated post-installation.
Confused on how the Local Information Only (.NFO) scrapers are intended to function.
The file metada and folder structure noted below ensures the library is usuable with XBMC, iTunes, Windows Media Player, WinAMP, Foobar2000 ... oh, and in case I forgot to mention XBMC.
OVERVIEW
All of my audio files are IDTagged with: Track, Title, Artist, Album, Album Artist, Year, Genre, Grouping, Album Art (200x200x96).
Album Artist = Artist or Various Artists if compilation/soundtrack
Grouping = Genre
My audio library folder structure is as follows:
<MUSICSOURCE> = The NAS 'Read Only' share added via XBMC Music Add Source >> smb://NAS-NAME/Audio
<0-Z> = Single Letter Folder Name, artist group beginning with number/letters (0=2PAC, A=ABBA, etc.)
[DISC #] = Disc subfolder added when multi-disc title, otherwise audio files directly under album folder
<MUSICSOURCE>/Artists/<0-Z>/ARTIST/ALBUM/[DISC #]
<MUSICSOURCE>/Compilations/<0-Z>/ARTIST/ALBUM/[DISC #]
<MUSICSOURCE>/Soundtracks/<0-Z>/ARTIST/ALBUM/[DISC #]
<MUSICSOURCE>/Books/<0-Z>/ARTIST/ALBUM/[DISC #]
<MUSICSOURCE>/Karaoke/<0-Z>/ARTIST/ALBUM/[DISC #]
EXAMPLE
I created an ARTIST.NFO for each artist and an ALBUM.NFO for each album.
ALBUM.NFO folder placement.
Code:
XBMC: Books\C
XBMC: Books\C\Chester L. Karrass
XBMC: Books\C\Chester L. Karrass\Effective Negotiating
XBMC: Books\C\Chester L. Karrass\Effective Negotiating\Disc 1
XBMC: Books\C\Chester L. Karrass\Effective Negotiating\Disc 1\album.nfo
XBMC: Books\C\Chester L. Karrass\Effective Negotiating\Disc 1\AlbumArtSmall.jpg
XBMC: Books\C\Chester L. Karrass\Effective Negotiating\Disc 1\Folder.jpg
ARTIST.NFO folder placement.
Code:
XBMC: Books\C\Chester L. Karrass\artist.nfo
XBMC: Books\C\Chester L. Karrass\Folder.jpg
BEHAVIOR - ALBUM
Prior to scanning the 'Books' folder to the XBMC Library, I set the "Local Information Only scraper" as the default scraper under Settings > Music > Library for both ALBUM and ARTIST. I also set the Search For Thumbnails On Remote Shares option. Once completed, I disabled the remote thumbnails option.
Now if I navigate to Music > Library > Albums, I can see several albums - one for each group of files found within the corresponding folder.
An Album Title
Another Album Title
Effective Negotiating - Disc 1
Effective Negotiating - Disc 2
Yet Another Album Title - Disc 1
Yet Another Album Title - Disc 2
Yet Another Album Title - Disc 3
...
I select the Query Info For All Albums from the Context menu. At this point, I assume that XBMC uses the Album Local Information Only (.NFO) scraper to retrieve the information provided in each of the ALBUM.NFO. If I select Album Information from the Context Menu, I see the information that I expect to see - i.e. it seems to match what I put in the ALBUM.NFO file.
BEHAVIOR - ARTIST
I select the Query Info For All Artists from the Context menu. At this point, I assume that XBMC uses the Artists Local Information Only (.NFO) scraper to retrieve the information provided in each of the ARTIST.NFO. If I select Artist Information from the Context Menu, I am prompted to search for the Artist in some cases - such as the artist noted above, others not.
I performed different tests on the above artist so as to isolate what's going on. Here's the results with different 'default' scrapers:
Universal Scraper (Artist/Album)
- Connected to the Internet = prompted with artist search box
- Disconnected from the Internet = prompted with artist search box for all artists
Local Information Only (Album), Universal Scraper (Artist)
- Connected to the Internet = prompted with artist search box
- Disconnected from the Internet = prompted with artist search box for all artists
Local Information Only (Artist/Album)
- Connected to the Internet = prompted with artist search box
- Disconnected from the Internet = prompted with artist search box for all artists
SUMMARY
My observations lead me to think that the Artist Local Information Only (.NFO) is initiating a query against an external source before attempting to read the ARTIST.NFO file. I had a look at the debug log (see below) and there doesn't seem to be any errors being generated or references to an external (web) url being queried. I also had a look at the LOCAL.XML metadata file but it doesn't contain any parsing logic.
I have also noticed that refreshing the Artist/Album information by re-running the respective Query options does not update the XBMC music database - i.e. the old .NFO information remains present.
Is this expected behavior? If so, how does one force exclusive parsing of .NFO files and *no* Internet query?
Advance thanks,
Reference Links
Local Information Only Scraper
http://wiki.xbmc.org/index.php?title=NFO_files
Bug Tracker
http://trac.xbmc.org/ticket/15247
http://trac.xbmc.org/ticket/15221
http://trac.xbmc.org/ticket/15204
http://trac.xbmc.org/ticket/14612
XBMC Log Snippet
Code:
16:20:13 T:5524 NOTICE: special://profile/ is mapped to: special://masterprofile/
16:20:13 T:5524 NOTICE: -----------------------------------------------------------------------
16:20:13 T:5524 NOTICE: Starting XBMC (13.1 Git:20140604-84725b0). Platform: x86 Win32 32-bit
...
16:20:22 T:5524 DEBUG: DialogProgress::StartModal called
16:20:22 T:5524 DEBUG: ------ Window Init (DialogProgress.xml) ------
16:20:22 T:5524 INFO: Loading skin file: DialogProgress.xml, load type: KEEP_IN_MEMORY
16:20:22 T:5524 DEBUG: MUSIC_INFO::CMusicInfoScanner::UpdateDatabaseArtistInfo downloading info for: Chester L. Karrass
16:20:22 T:4020 NOTICE: Thread MusicInfoScraper start, auto delete: false
16:20:22 T:4020 DEBUG: ADDON::CScraper::FindArtist: Searching for 'Chester L. Karrass' using Local information only scraper (file: 'C:\Program Files (x86)\XBMC\addons\metadata.local', content: 'artists', version: '1.0.0')
16:20:22 T:4020 DEBUG: Thread MusicInfoScraper 4020 terminating
16:20:22 T:5524 INFO: Loading skin file: DialogKeyboard.xml, load type: KEEP_IN_MEMORY
16:20:22 T:5524 DEBUG: ------ Window Init (DialogKeyboard.xml) ------
16:20:22 T:5524 DEBUG: CAnnouncementManager - Announcement: OnInputRequested from xbmc
16:20:22 T:5524 DEBUG: GOT ANNOUNCEMENT, type: 128, from xbmc, message OnInputRequested
16:20:24 T:5524 INFO: Python, unloading python shared library because no scripts are running anymore
16:20:24 T:5524 DEBUG: CApplication::ProcessMouse: trying mouse action leftclick
16:20:25 T:5524 DEBUG: ------ Window Deinit (DialogKeyboard.xml) ------
16:20:25 T:5524 DEBUG: CAnnouncementManager - Announcement: OnInputFinished from xbmc
16:20:25 T:5524 DEBUG: GOT ANNOUNCEMENT, type: 128, from xbmc, message OnInputFinished
16:20:25 T:5524 DEBUG: MUSIC_INFO::CMusicInfoScanner::UpdateDatabaseArtistInfo downloading info for: Chester L. Karrass
16:20:25 T:5704 NOTICE: Thread MusicInfoScraper start, auto delete: false
16:20:25 T:5704 DEBUG: ADDON::CScraper::FindArtist: Searching for 'Chester L. Karrass' using Local information only scraper (file: 'C:\Program Files (x86)\XBMC\addons\metadata.local', content: 'artists', version: '1.0.0')
16:20:25 T:5704 DEBUG: Thread MusicInfoScraper 5704 terminating
16:20:25 T:5524 DEBUG: ------ Window Init (DialogKeyboard.xml) ------
16:20:25 T:5524 DEBUG: CAnnouncementManager - Announcement: OnInputRequested from xbmc
16:20:25 T:5524 DEBUG: GOT ANNOUNCEMENT, type: 128, from xbmc, message OnInputRequested
16:20:26 T:5524 DEBUG: CApplication::ProcessMouse: trying mouse action leftclick
16:20:26 T:5524 DEBUG: ------ Window Deinit (DialogKeyboard.xml) ------
16:20:26 T:5524 DEBUG: CAnnouncementManager - Announcement: OnInputFinished from xbmc
16:20:26 T:5524 DEBUG: GOT ANNOUNCEMENT, type: 128, from xbmc, message OnInputFinished
16:20:26 T:5524 DEBUG: MUSIC_INFO::CMusicInfoScanner::UpdateDatabaseArtistInfo downloading info for: Chester L. Karrass
16:20:26 T:6016 NOTICE: Thread MusicInfoScraper start, auto delete: false
16:20:26 T:6016 DEBUG: ADDON::CScraper::FindArtist: Searching for 'Chester L. Karrass' using Local information only scraper (file: 'C:\Program Files (x86)\XBMC\addons\metadata.local', content: 'artists', version: '1.0.0')
16:20:26 T:6016 DEBUG: Thread MusicInfoScraper 6016 terminating
16:20:26 T:5524 DEBUG: ------ Window Init (DialogKeyboard.xml) ------
16:20:26 T:5524 DEBUG: CAnnouncementManager - Announcement: OnInputRequested from xbmc
16:20:26 T:5524 DEBUG: GOT ANNOUNCEMENT, type: 128, from xbmc, message OnInputRequested
16:20:27 T:5524 DEBUG: Keyboard: scancode: 0x01, sym: 0x001b, unicode: 0x001b, modifier: 0x0
16:20:27 T:5524 DEBUG: CApplication::OnKey: escape (0xf01b) pressed, trying keyboard action f01b
16:20:27 T:5524 DEBUG: ------ Window Deinit (Pointer.xml) ------
16:20:27 T:5524 DEBUG: ------ Window Deinit (DialogKeyboard.xml) ------
16:20:27 T:5524 DEBUG: CAnnouncementManager - Announcement: OnInputFinished from xbmc
16:20:27 T:5524 DEBUG: GOT ANNOUNCEMENT, type: 128, from xbmc, message OnInputFinished
16:20:27 T:5524 DEBUG: ------ Window Init (DialogOK.xml) ------
16:20:27 T:5524 INFO: Loading skin file: DialogOK.xml, load type: KEEP_IN_MEMORY
16:20:29 T:5524 DEBUG: Keyboard: scancode: 0x01, sym: 0x001b, unicode: 0x001b, modifier: 0x0
16:20:29 T:5524 DEBUG: CApplication::OnKey: escape (0xf01b) pressed, action is PreviousMenu
16:20:29 T:5524 DEBUG: ------ Window Deinit (DialogOK.xml) ------
...