![]() The function I used to normalize the location is: std::string precomposeFilename(const std::string& name)ĬFStringRef cfStringRef = CFStringCreateWithCString(kCFAllocatorDefault, name. Click Save and your m3u playlist URL free will be created. In the file extension options, select the M3U file format. This option opens a pop-up window where you can specify the name of the file and the location where it is saved. I tried to normalize to NFC the location of the playlist files before the query and it worked as expected (the query returns 0 rows, no new files are added). In the VLC main screen, click on the Media tab of the menu. Which was supposed to be empty, was not (due to the different encoding of the locations). "WHERE playlist_import.location = track_locations.location)") "WHERE NOT EXISTS (SELECT location FROM track_locations " ![]() I checked the source files and especially the TrackDAO::resolveTrackIds method and found out that query query.prepare("SELECT location FROM playlist_import " Which resulted false in a string compare. When comparing the locations of the old and the new entries, they looked the same but they were actually encoded in two different ways (one was NFC and the other NFD). I opened the sqlite file and saw that, when importing the playlist, new entries were added in the library/track_locations tables (same location but new ids). As I suspected, the bug is due to the terrible way MacOS handles unicode filenames.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |