Chinese characters are not displayed properly in PlayListGetItemString

Started by Terry, October 15, 2019, 06:18:08 AM

Previous topic - Next topic

Terry

Audio DJ Studio API for .NET

Hello,

I am trying to load a PlayList file which contains some Chinese characters from the sample program "PlayLists.exe" .

It can not playing.  Triggered this event "enumPlayerEvents.EV_PLAYLIST_SOUND_LOAD_FAILED"

Please see the Playlist file below.

<?wpl version="1.0"?>
<smil>
    <head>
        <meta name="Generator" content="Microsoft Windows Media Player -- 12.0.15063.0"/>
        <meta name="ItemCount" content="0"/>
        <title>TEST</title>
    </head>
    <body>
        <seq>
            <media src="C:\Users\yen\Music\廣告\千戀一洗黑(復播版)台.mp3" tid="{F48F9F25-06DF-407B-B1BB-48BF6AA69713}"/>
        </seq>
    </body>
</smil>

And, PlayListGetItemString with parameter "PL_STRING_INFO_TITLE" only get "千戀一~1.MP3" 

Thank you!

Administrator

Hello,

thanks for your feedback: effectively wpl files have not been fully tested with Unicode filenames: we are currently working to fix the issue.
An update should be available shortly. I will keep you posted.

Kind Regards

Severino Delaurenti
MultiMedia Soft

Administrator

Hello again,

we have an update to try that should allow managing Unicode filenames contained inside a wpl playlist.
You can get the latest build of the multimedia engine from the link below:
http://www.multimediasoft.com/bins/AdjMmsEng13.zip
and you can use it to replace existing instances on your PC under the following folders:
* C:\Program Files\Audio DJ Studio API for .NET\Redist
* If your machine has a x86 version of Windows
   - C:\Windows\System32
* If your machine has a x64 version of Windows
   - C:\Windows\SysWOW64

The x64 version is available as well on the link below:
http://www.multimediasoft.com/bins/AdjMmsEng13_64.zip
and you can use it to replace existing instances on your PC under the following folders:
* C:\Program Files\Audio DJ Studio API for .NET\Redist
* If your machine has a x64 version of Windows
   - C:\Windows\System32

In case you should have previously manually copied the multimedia engine in other folders for testing purposes, please, be sure to have them replaced as well.

It would be very kind of you if you could report us if the updated version is enough to fix the reported issue.

With regards to the string returned by PlayListGetItemString with parameter "PL_STRING_INFO_TITLE", this is currently the ANSI 8.3 filename: we are currently working to allow obtaining back the full Unicode filename through a dedicated method.

Kind Regards

Severino Delaurenti
MultiMedia Soft




Terry


Terry

Hi,

After updated, it seems the result is much worse than before.

After PlayListLoadSync, every item in Playlist only gets ChrW(128) .


Thank you!

Administrator

Really? I just tested against the Playlists.exe sample and the displayed filename is a regular 8.3 filename: are you testing using something else?

Kind Regards

Severino Delaurenti
MultiMedia Soft

Terry

Hi

There is nothing in the Playlists.exe sample Listview "Duration" and "Title" columns except "Index".


<?xml version="1.0" ?>
<smil>
    <head>
        <meta name="Generator" content="MultiMedia Soft DJ Studio" />
        <meta name="TotalDuration" content="30" />
        <meta name="ItemCount" content="3" />
        <author />
        <title />
    </head>
    <body>
        <seq>
            <media src="C:\Users\yen\Music\廣告\5秒-音樂.MP3" />
            <media src="C:\Users\yen\Music\廣告\10秒串場.mp3" />
            <media src="C:\Users\yen\Music\廣告\15秒串場.mp3" />
        </seq>
    </body>
</smil>


I try to upload the Playlists.exe exection screen I captured, but always fail. :-[

Thank you.

Administrator

Hello,

please, zip and send the screenshot to support @ multimediasoft.com (removing the 2 blanks around the @ character)

Kind Regards

Severino Delaurenti
MultiMedia Soft

Terry


Administrator

Hello,

this is something we are going to manage better but when no duration is displayed, this means that the file couldn't be opened: this may happen when the pathname added to the playlist contains some error.
We are very near, within a couple of days, to release a new minor version of the API that should come with better management for playlists saved in utf-8 format and containing 2-bytes characters like Chinese: we will keep you posted when this will be available for download.

Kind Regards

Severino Delaurenti
MultiMedia Soft

Administrator

Hello again.

We have just released a new minor version of our DJ Studio related components which comes with better management for playlist files stored in UTF-8 format and containing Unicode characters as seen in Chinese language.
For playlists management we have also added a new method named PlayListGetItemStringUnicode which works exactly as the original PlayListGetItemString method but the returned string will contain Unicode characters instead of ANSI characters.
For this purpose you will have to uninstall the current version and download and install the new one available on our server: if you should need assistance in getting the proper download link, please, let me know which product was originally installed on your PC. Please, specify also if you are an existing customer so I could provide you with the correct download credentials.

Kind Regards

Severino Delaurenti
MultiMedia Soft

Terry

Hi

Bad news.

I download and install the version 13.1.1.8 .

This time, still nothing listed on the Playlists.exe even "Index" column.

I try to run Playlists.exe from Visual Studio step by step.  "m_audioAPI.PlayListGetCount(nPlayer)" always return 0 if all audio file name in the playlist  was contained Chinese characters.

Thank you

Administrator

Hello,

did you installed the DLL only or the updated full setup package?
In any case, please, zip and send us the playlist file in use so we may see how it's saved and encoded.

Kind Regards

Severino Delaurenti
MultiMedia Soft

Terry

Hi

uninstall old one and reinstall full setup package

mailed

Thank you.


Administrator

Hello,

thanks for having sent the file.
In this case the problem is caused by the fact that saving the WPL file through the PlayListSave method of our component doesn't support storing in utf-8 format so, when loaded back, it will fail the loading process. This was forgotten so we will add support for storing correctly playlists in utf-8 format in the next couple of days. We will keep you posted as soon as the updated build will be available.
At the moment, you could still test if a wpl file created through notepad.exe and saved in UTF-8 format will load correctly.

Kind Regards

Severino Delaurenti
MultiMedia Soft