View Issue Details

IDProjectCategoryView StatusLast Update
0004048MMW v4Playerpublic2007-12-06 22:51
Reporterrusty Assigned To 
PriorityimmediateSeveritycrashReproducibilityunable to reproduce
Status closedResolutionfixed 
Product Version3.0 
Fixed in Version3.0 
Summary0004048: Chinese Unicode Filenames are not parsed to Non-Unicode plugins Correctly
DescriptionI 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.
TagsNo tags attached.
Fixed in build1110

Relationships

related to 0004210 closedjiri APE Playback: cannot analyze volume for many unicode files 

Activities

rusty

2007-11-29 13:52

administrator   ~0012227

Last edited: 2007-11-30 02:58

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

peke

2007-11-29 16:21

developer   ~0012231

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

peke

2007-11-29 16:53

developer   ~0012232

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.

peke

2007-11-30 01:37

developer   ~0012238

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.

jiri

2007-11-30 10:38

administrator   ~0012239

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.

peke

2007-12-06 22:51

developer   ~0012327

Verified 1113