audacious-media-player / audacious

A lightweight and versatile audio player
https://audacious-media-player.org
Other
859 stars 115 forks source link

Smarter Cuesheet Encoding Detection #687

Closed Audacious-Bot closed 6 months ago

Audacious-Bot commented 6 months ago

Author Name: Zane Tu Original Redmine Issue: https://redmine.audacious-media-player.org/issues/551 Original Date: 2015-06-07


I know I can already specify a value in "Fallback character encodings," but that is not very easy to use. For example, if you use the value "GBK,ISO-8859-1" and feed Audacious with ISO-8859-1 encoded cue file (like the one in attachment), Audacious will erroneously decode it (leading to garbled text in playlist, such as "蓆udes" for "Études"). When you try to play a track, a popup will show up, reading "Error opening file:///path/%E8%93%86udes.flac: No such file or directory. "

What's worse, if you leave blank "Fallback character encoding," you cannot open the cue file at all and another popup will show up, reading "Cannot load file:///path/Études.cue: unsupported file name extension, " which has nothing to do with the true cause for failure to open the cue file. You might wish to append something like "Is your cue file encoded in UTF-8? " to error message.

Is it possible to integrate a small program like "file" into audacious (as a plugin?) that can guess cue file encoding?

Audacious-Bot commented 6 months ago

Original Redmine Comment Author Name: John Lindgren Original Date: 2015-06-07T03:49:50Z


Audacious supports character set "guessing" via libguess[1]. Unfortunately, for the Chinese region setting, libguess identifies your example file as GBK. You can talk to the libguess developers about whether it is possible to improve their algorithm so that it can correctly identify your example as ISO-8859-1.

fn1. http://atheme.org/projects/libguess.html

Audacious-Bot commented 6 months ago

Original Redmine Comment Author Name: Zane Tu Original Date: 2015-06-07T19:48:01Z


@John Lindgren

What do you mean by "for the Chinese region setting?" I'm currently using an English version of Debian sid and I got Audacious and plugins from http://www.deb-multimedia.org/dists/unstable/main/binary-amd64/ .

As I mentioned earlier, if I leave blank "Fallback character encodings," Audacious cannot open the cue file at all and another popup will show up, reading "Cannot load file:///path/Études.cue: unsupported file name extension. (That error message is absolutely misleading. ) The cuesheet is not added to playlist (unlike the case where I have GBK in "Fallback character encodings" and get garbled text in playlist). Nothing is shown in playlist, that is, libguess does not know anything about the encoding, as if it did not try guessing at all. It does not identify the example file as GBK.

Audacious-Bot commented 6 months ago

Original Redmine Comment Author Name: John Lindgren Original Date: 2015-06-07T20:26:59Z


Zane Tu wrote:

What do you mean by "for the Chinese region setting?" I'm currently using an English version of Debian sid and I got Audacious and plugins from http://www.deb-multimedia.org/dists/unstable/main/binary-amd64/ .

I mean this: !http://redmine.audacious-media-player.org/attachments/download/487/region%20setting.png!

Audacious-Bot commented 6 months ago

Original Redmine Comment Author Name: Zane Tu Original Date: 2015-06-07T20:52:43Z


John Lindgren wrote:

Zane Tu wrote:

What do you mean by "for the Chinese region setting?" I'm currently using an English version of Debian sid and I got Audacious and plugins from http://www.deb-multimedia.org/dists/unstable/main/binary-amd64/ .

I mean this: !http://redmine.audacious-media-player.org/attachments/download/487/region%20setting.png!

My setting for "Auto character encoding detector" is "None." So what I am suggesting has actually nothing to do with libguess?

Audacious-Bot commented 6 months ago

Original Redmine Comment Author Name: John Lindgren Original Date: 2015-06-07T23:44:06Z


Zane Tu wrote:

My setting for "Auto character encoding detector" is "None." So what I am suggesting has actually nothing to do with libguess?

You suggested "a small program ... that can guess cue file encoding". That is what libguess does. So you are asking for a feature that is already there.