View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0004048 | MMW v4 | Player | public | 2007-11-28 19:28 | 2007-12-06 22:51 |
Reporter | rusty | Assigned To | |||
Priority | immediate | Severity | crash | Reproducibility | unable to reproduce |
Status | closed | Resolution | fixed | ||
Product Version | 3.0 | ||||
Fixed in Version | 3.0 | ||||
Summary | 0004048: Chinese Unicode Filenames are not parsed to Non-Unicode plugins Correctly | ||||
Description | I cannot reproduce this on my system, possibly because I can't seem to get the chinese language files to install... User reports that: Hi, I have the following problems with my Chinese music. In winamp the songs does play without problems. But in MediaMonkey RC-2 and RC-3 I am able to see the files but it crashes media monkey each time I play. You might need to enable East Asian languages inside "Region and Language settings" to get to see the filenames. Thanks. Chinese APE File Sample is posted to the ftp server. | ||||
Tags | No tags attached. | ||||
Fixed in build | 1110 | ||||
|
Posted debug log and screenshots to the ftp. Also, the user confirmed that: 1) English APE files play without a problem in MM 2) Tag info is read & modified without a problem--only playback causes the issue |
|
Here what you will need to do to Enable Asian (In This Case Chinese LNG to be seen in MM and Windows Explorer) 1. Go to control Panel Reginal Settings -> Languages TAB and Enable Install Files For East Asian Languages and Click Apply 2. Restart System if needed and see if you see Chinese Characters. IF Yes Skipp other steps if not Go to step 3 3. Go to control Panel Reginal Settings -> Advanced tab end Enable These Support code pages - 10002, 10003, 10008, 20000, 20290, 20936, 54936 And all other Chinese including Traditional If I missed some 4. Restart system if needed and you should be able to See all Chinese characters |
|
Both MediaMonkey (Included) and Winamp 4.01 (Uploaded to FTP) Do not have valid Unicode Export Functions according to Winamp specifications but uses old non-unicode function for parsing filename. Reason why Winamp works is that Winamp 5.35+ sends only Unicode Filenames to Input plugins even plugin states that it is not Unicode. MediaMonkey on other hand tries to determine is the plugin Unicode or Not and act according to specs. Exported Functions based on Winamp spec: Non-Unicode: WinampGetInModule2 WinampGetExtendedFileInfo Unicode: WinampGetInModule2 (in_module.version and $F000000 <> 0 = True if Unicode. That Fails on in_APE.DLL both MM and Winamps) WinampGetExtendedFileInfoW (is Unicode version what Winamp uses to get Additional info on file and as it is missing from plugin winamp do not read Tag correctly as it is using non-Unicode version like above) If you you check in_mp3.dll from winamp 5.5 (Uploaded to FTP you will see clearly where is the problem is) Solution: - to enable Unicode support for Winamp plugins MM Must return true in (WinampPlugins.pas) TWAInputPlugin.Create, line "if in_module.version and $F000000 <> 0 then" and not to assume plugin is Unicode capable like winamp do. All Winamp plugins pass that and work, also in_!mpg123.dll Unicode version pass - Either we compile in_ape.dll ourself (My recomendation) or inform author of bug in his plugin. |
|
Jiri could not My findings I have Rechecked again and could not replicate solution. While seeking the way how Winamp solve that problem with Parsing Unicode filenames. Noticed that when Winamp needs to play Unicode File it simply parse Short filenames (DOS 8+3) to Non-Unicode plugin (ScreenShot Uploaded to FTP) in function TWAInputPlugin.Play for non-Unicode plugin we parse: result := in_module.Play( PAnsiChar( string( fname))); But we should use short filename format using TNT Component to parse it correctly: result := in_module.Play( PAnsiChar( string( WideExtractShortPathName( fname)))); SVN Updated assigning to Jiri for final test and closure of bug, Note that I have tested on Network Links with UNC path and they worked. |
|
Fixed in build 1110. - Setting as resolved, the fix passes regression testing and if it really fixes that Chinese APE problem (haven't tested), we can use it. |
|
Verified 1113 |