Skip to main content


Please note that most of the software linked on this forum is likely to be safe to use. If you are unsure, feel free to ask in the relevant topics, or send a private message to an administrator or moderator. To help curb the problems of false positives, or in the event that you do find actual malware, you can contribute through the article linked here.
Topic: FLAC unicode patch: some help wanted (Read 414 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

FLAC unicode patch: some help wanted

Hi all,

As some of you might know, FLAC and Unicode support on Windows have a bit of a past. Through the last few years, various windows-specific bits were added and changed. Some of these changes were visible on the outside (i.e. the functions exposed by the DLL, the interface), most of them were not.

Anyway, I've proposed yet another change that I hope will be the last change that is visible on the DLL interface. With this change, the libFLAC interface should now be the same cross-platform. However, that involves a change that might not be fully backward compatible: filenames passed to libFLAC have always been UTF-8 on all platforms except Windows. On Windows, it was dependent on the active codepage. With this change, filenames passed to libFLAC are always UTF-8, also on Windows.

I don't think this change will affect a lot of programs, because unicode-aware programs probably weren't using these functions at all (because they weren't usable with unicode on Windows), and I expect non-unicode-aware programs using libFLAC are extinct.

That's why I'd like to ask for your help: I've prepared a libFLAC.dll with quite a few patches that are not yet applied to git. Patches included are:
- UTF-8 on Windows change (which is what this topic is about)
- Compression improvement patch, discussed on HA here
- Bug fix, discussed on HA here
- Fixed subframe speed improvement
- some build system improvement (which made it possible for me to build this DLL with MinGW)

If you know a program that uses libFLAC as a DLL, please test whether it still works if you replace that DLL and encode and decode files with non-ASCII characters (Cyrillic, Greek, Hanzi, emoji, etc.) in its filename, and let me know.
Music: sounds arranged such that they construct feelings.

Re: FLAC unicode patch: some help wanted

Reply #1
Is it 64-bit DLL? Is it possible to make and share 32-bit one?

Re: FLAC unicode patch: some help wanted

Reply #3
Yes, the one in the first post was 64-bit. Didn't occur to me that a 32-bit version is probably very handy to test with programs that are a little less recent. Here is the 32-bit version.
Music: sounds arranged such that they construct feelings.