Hi.
I have an issue that may or may not require a bug report, so I'll put it
here and see what people think.

My library consistes of flac, ogg & mp3 symlinks in a hierarchy or
directories such as the following:

/srv/music/all/Björk/Debut/01 - Human Behaviour.flac ->
../../../flac/Björk/Debut/01 - Human Behaviour.flac

This is because some of the music is duplicated between mp3 and other
formats (for a hardware player that likes mp3), so I have a script that
builds the directory of symlinks discarding duplicate files in the order
flac->ogg->mp3. This works very well for the most part, except for files
with accented characters in the the path (file or directory name), such as
the example above. When I try to import the file
"/srv/music/*all*/Björk/Debut/01
- Human Behaviour.flac", I get an import error to the effect of file not
found. However, if I import the actual file from
"/srv/music/*flac*/Björk/Debut/01
- Human Behaviour.flac" it works perfectly.

Why are symlinks with accented characters treated differently than regular
files, and is this a bug or by design?

Not being a programmer, there's not much point in me looking at the code,
but it seems like whatever is resolving the symlink is converting the
accented characters to their literal equivalents, which Rhythmbox of course
can't stat. Does that make sense?

Sample output from rhythmbox -d:

(19:28:57) [0x90a4390] [action_thread_main] rhythmdb.c:2993: executing
RHYTHMDB_ACTION_STAT for
"file:///media/BigDisk/backups/music/all/Bj%C3%B6rk/Debut/01%20-%20Human%20Behaviour.flac"
(19:28:57) [0x870c5e8] [window_focus_cb] rb-mmkeys-plugin.c:142: window got
focus, re-grabbing media keys
(19:28:57) [0x870c5e8] [rhythmdb_process_one_event] rhythmdb.c:2600:
processing RHYTHMDB_EVENT_STAT
(19:28:57) [0x870c5e8] [rhythmdb_process_stat_event] rhythmdb.c:2154:
queuing a RHYTHMDB_ACTION_LOAD:
file:///media/BigDisk/backups/music/all/Bj%C3%B6rk/Debut/01%20-%20Human%20Behaviour.flac
(19:28:57) [0x90a4390] [action_thread_main] rhythmdb.c:3006: executing
RHYTHMDB_ACTION_LOAD for
"file:///media/BigDisk/backups/music/all/Bj%C3%B6rk/Debut/01%20-%20Human%20Behaviour.flac"
(19:28:57) [0x90a4390] [rb_uri_resolve_symlink] rb-file-helpers.c:329: error
querying
file:///media/BigDisk/backups/music/flac/Bj%5Cxc3%5Cxb6rk/Debut/01%20-%20Human%20Behaviour.flac:
Error stating file '/media/BigDisk/backups/music/flac/Bj\xc3\xb6rk/Debut/01
- Human Behaviour.flac': No such file or directory
(19:28:57) [0x90a4390] [make_access_failed_error] rhythmdb.c:754: got error
on
file:///media/BigDisk/backups/music/all/Bj%C3%B6rk/Debut/01%20-%20Human%20Behaviour.flac:
Couldn't access file:///media/BigDisk/backups/music/all/Björk/Debut/01 -
Human Behaviour.flac: Error stating file
'/media/BigDisk/backups/music/flac/Bj\xc3\xb6rk/Debut/01 - Human
Behaviour.flac': No such file or directory
(19:28:57) [0x870c5e8] [rhythmdb_process_one_event] rhythmdb.c:2604:
processing RHYTHMDB_EVENT_METADATA_LOAD
(19:28:57) [0x870c5e8] [rhythmdb_add_import_error_entry] rhythmdb.c:2202:
adding import error for
file:///media/BigDisk/backups/music/all/Bj%C3%B6rk/Debut/01%20-%20Human%20Behaviour.flac:
Couldn't access file:///media/BigDisk/backups/music/all/Björk/Debut/01 -
Human Behaviour.flac: Error stating file
'/media/BigDisk/backups/music/flac/Bj\xc3\xb6rk/Debut/01 - Human
Behaviour.flac': No such file or directory


And here's what happens when I import the regular file:

(21:51:57) [0x9dccde0] [action_thread_main] rhythmdb.c:2993: executing
RHYTHMDB_ACTION_STAT for
"file:///media/BigDisk/backups/music/flac/Bj%C3%B6rk/Debut/01%20-%20Human%20Behaviour.flac"
(21:51:57) [0x95ed5e8] [window_focus_cb] rb-mmkeys-plugin.c:142: window got
focus, re-grabbing media keys
(21:51:57) [0x95ed5e8] [rhythmdb_process_one_event] rhythmdb.c:2600:
processing RHYTHMDB_EVENT_STAT
(21:51:57) [0x95ed5e8] [rhythmdb_process_stat_event] rhythmdb.c:2154:
queuing a RHYTHMDB_ACTION_LOAD:
file:///media/BigDisk/backups/music/flac/Bj%C3%B6rk/Debut/01%20-%20Human%20Behaviour.flac
(21:51:57) [0x9dccde0] [action_thread_main] rhythmdb.c:3006: executing
RHYTHMDB_ACTION_LOAD for
"file:///media/BigDisk/backups/music/flac/Bj%C3%B6rk/Debut/01%20-%20Human%20Behaviour.flac"


-- 
Regards,
Derek
_______________________________________________
rhythmbox-devel mailing list
rhythmbox-devel@gnome.org
http://mail.gnome.org/mailman/listinfo/rhythmbox-devel

Reply via email to