vext01 / hiby-issues

Unofficial bug tracker for Hiby products.
10 stars 0 forks source link

Playlist case sensitivity is confusing. #32

Open vext01 opened 2 years ago

vext01 commented 2 years ago

With the SD card mounted on my OpenBSD system, there is an album in the directory:

<sd-root>/Music/OGG/keosz/be_left_to_oneself

(Where <sd-root> is the mount point)

And this directory, according to OpenBSD, contains the following files:

Keosz - Be Left to Oneself - 01 Be Left to Oneself.ogg
Keosz - Be Left to Oneself - 02 Occurred.ogg
Keosz - Be Left to Oneself - 03 Forfeited.ogg
Keosz - Be Left to Oneself - 04 Forlorn.ogg
Keosz - Be Left to Oneself - 05 Traitor.ogg
Keosz - Be Left to Oneself - 06 Insecure.ogg
Keosz - Be Left to Oneself - 07 Clearance.ogg
Keosz - Be Left to Oneself - 08 Low Down.ogg
Keosz - Be Left to Oneself - 09 Before the End.ogg
Keosz - Be Left to Oneself - Cryo Chamber WP 1920x1080.jpg
Keosz - Be Left to Oneself - Dear Listener.jpg
Keosz - Be Left to Oneself - Keosz - Be Left to Oneself WP 1920x1080.jpg
Keosz - Be Left to Oneself - Keosz - Be Left to Oneself.jpg
cover.jpg

Through experimentation (and with the aid of this post) I've figured out that:

So, you'd have thought that to have the above files in a m3u playlist, you'd use a playlist like:

a:\Music\OGG\keosz\be_left_to_oneself\Keosz - Be Left to Oneself - 01 Be Left to Oneself.ogg
a:\Music\OGG\keosz\be_left_to_oneself\Keosz - Be Left to Oneself - 02 Occurred.ogg
a:\Music\OGG\keosz\be_left_to_oneself\Keosz - Be Left to Oneself - 03 Forfeited.ogg
a:\Music\OGG\keosz\be_left_to_oneself\Keosz - Be Left to Oneself - 04 Forlorn.ogg
a:\Music\OGG\keosz\be_left_to_oneself\Keosz - Be Left to Oneself - 05 Traitor.ogg
a:\Music\OGG\keosz\be_left_to_oneself\Keosz - Be Left to Oneself - 06 Insecure.ogg
a:\Music\OGG\keosz\be_left_to_oneself\Keosz - Be Left to Oneself - 07 Clearance.ogg
a:\Music\OGG\keosz\be_left_to_oneself\Keosz - Be Left to Oneself - 08 Low Down.ogg
a:\Music\OGG\keosz\be_left_to_oneself\Keosz - Be Left to Oneself - 09 Before the End.ogg

If you try to load this playlist, then the R3 won't find the files, but if you lowercase OGG to ogg then it does find the files. But why?

Further experimentation. If you make a playlist like:

a:\Music\OGG\keosz\be_left_to_oneself\Keosz - Be Left to Oneself - 01 Be Left to Oneself.ogg
a:\Music\ogg\keosz\be_left_to_oneself\Keosz - Be Left to Oneself - 02 Occurred.ogg
a:\music\ogg\keosz\be_left_to_oneself\Keosz - Be Left to Oneself - 03 Forfeited.ogg
a:\music\ogg\keosz\be_left_to_oneself\keosz - be left to oneself - 04 forlorn.ogg
a:\MUSIC\OGG\KEOSZ\BE_LEFT_TO_ONESELF\KEOSZ - BE LEFT TO ONESELF - 05 TRAITOR.OGG

The 2nd and 3rd entries work, but the others don't. However, the album art does load for the 2nd, 3rd, and 4th entry. This suggests that the directory prefix (where it will be searching for cover art) is valid for those, but not the filename within that directory.

I feel like this has something to do with FAT32 filenames and their interaction with Linux's filesystem driver (used by Hiby OS), but I can't figure out the pattern. This makes generating playlists on my computer difficult, as I don't know what case to use in the playlist files.

Perhaps I should use lowercase for directories, but mixed case for filenames? I don't know.

vext01 commented 2 years ago

Perhaps I should use lowercase for directories, but mixed case for filenames?

I just tried this scheme with a handful of albums and that seems to work so far.

But why?

vext01 commented 2 years ago

After investigating more deeply, it seems that OpenBSD and Linux display the case of short filenames differently with the default mount options. This seems to be why Hiby OS can't find files in the playlist, if you generated the playlist on an OpenBSD system.

What I don't understand though, is how Hiby have managed to make a FAT32 filesystem case sensitive. The case of the files in the playlist shouldn't matter if the filesystem of the SD card is FAT 32, right?