Bug 18008 - decomposed Unicode file names are not recomposed when read from the music_path preference
: decomposed Unicode file names are not recomposed when read from the music_pat...
Status: UNCONFIRMED
Product: Logitech Media Server
Classification: Unclassified
Component: iTunes
: 7.7.2
: Other Ubuntu Linux
: -- normal (vote)
: ---
Assigned To: Unassigned bug - please assign me!
:
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2012-09-30 06:59 UTC by Caspar Derksen
Modified: 2012-09-30 06:59 UTC (History)
0 users

See Also:
Category: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Caspar Derksen 2012-09-30 06:59:36 UTC
I'm managing my iTunes collection on a Mac. The library is stored on a Linux box and accesses through an AFP share. Logitech Media Server runs on the Linux box and imports the library.

From the iTunes (Mac) perspective, the music folder is /Volumes/Shared/Music/iTunes/iTunes\ Music. From the Logitec Media Server perspective, files are stored in /srv/data/Shared/Music/iTunes/iTunes\ Music. When specifying the latter directory as iTunes Media Folder, songs with accents and other special characters in their file names are not imported.

Cause: iTunes encodes file names as decomposed unicode strings. Inspecting Importer.pm reveals that decomposed Unicode file names are not recomposed when read from the music_path preference. In Importer.pm:

                if (!-e $file && -e Slim::Utils::Unicode::recomposeUnicode( $file )) {
                        $file = Slim::Utils::Unicode::recomposeUnicode( $file );
                }

                # Bug 3402 
                # If the file can't be found using itunes_library_music_path,
                # we want to fall back to the real file path from the XML file
                #
                # Bug 3717 - check this after we've checked the locale above.
                elsif (!-e $file && $prefs->get('music_path')) {
                        $url  = $class->normalize_location($location, 'fallback');
                        $file = Slim::Utils::Misc::pathFromFileURL($url);
==> Oops: not recomposed here <==
                }

Workaround: create folders/symbolic links making the iTunes Music Folder identical on Mac/Linux and do not specify the iTunes Media Folder in the iTunes Importer preferences.

Probably most NAS users will be plagued by the same problem...