|
|
#1 |
|
Junior Member
|
RFE (Request For Enchantment)
Hello, guys@winamp.com!
First of all, I want to thank you for your great player. The program is almost unimprovable, but there are some imperfections. 1. 'Jump to file' function. Yes, this handy dialog contains one of the worst bugs. It doesn't support international characters. Let me explain. The search must be case-insensitive. You are doing with a code like this: if ((c >= 'A') && (c <= 'Z')){ c += 0x20; // lowercase it for further usage } else{ /* ignore non-alphanumeric characters */ } It is, but you forget: there are alphabetic characters outside of 'A'..'Z'. For example, ALL cyrillic characters I type are IGNORED. (I have about 3,000 songs with such a characters in artist/title names.) (There are about 150,000,000 russians, who have the same problem.) (There are about 5,000,000,000 non-americans, who have the same problem.) How to fix it: Things could a little complicated. You know, all those charsets and languages... But this is a simple case. Those hated guys at Microsoft have 2 good functions in their WinAPI: CharLower() and IsCharAlphaNumeric(). CharLowerBuff() is good, too. They do what their names say, and (that's the point!) ARE locale-aware. And, they're faster (implemented via internal tables.) (2 Justin: i know, you like to write your own atoi() for a nice 4k dll Than's not the case! Don't try to support i18n at home! Let locale do it!) So, you should re-write the branch from above like this: CharLower(whole_string_to_be_processed) //lowercase all the string; ... if (IsCharAlphaNumeric(c)) /* use it in search */ else /* don't use it */ If you're too lazy to fix and test it, just give me the source :) 2. Some lesser imperfections. Track # (%a in id3 titles): should show 01,02,03.... instead of 1,2,3,4. Why: for sorting reasons. How to fix it: use sprintf ("%02d" ... instead of "%d" 3. If Artist/Title is skipped in ID3v1 tags, in_mp3 shows 'Unknown Artist/Title' If Artist/Title is skipped in ID3v2 tags, in_mp3 shows null strings. It should something uniform. Null strings are just ok. Year too: ID3v1-> '200?', ID3v2->null. ------------- Oo(m)ph! I'm tired to write all this. No bugs are left. Correct these 3 - and you are perfect. Vladislav Naumov. (vnaum@inbox.ru) (icq#100485019) |
|
|
|
|
|
#2 |
|
ist death
Join Date: May 2000
Posts: 3,704
|
#2 & #3 - will be fixed in v2.78 (using my title formatting code from in_vorbis)
#1 - interesting, it also seems that searching for single digits does lame things (spams with tracks whose playlist track number contains that digit) |
|
|
|
![]() |
|
|||||||
| Thread Tools | Search this Thread |
| Display Modes | |
|
|