Griga Posted October 11, 2009 Share Posted October 11, 2009 The Analyzer left pane can't display Chinese chars correctly. But when using "Scan Selected", in its window, the chars displays okay. After having read this article I guess you are using two different locale settings on your PC: In Windows XP Regional and Language Options, you can set "Standards and formats" on the first tab, and "Language for non-Unicode programs" on the third tab, the latter requires a reboot (it is similar on previous Windows OSes). The weird thing is that both of these mess with the ANSI locale code page. Would be interesting to know what is set to what. Quote Link to comment
ter9999 Posted October 23, 2009 Share Posted October 23, 2009 After having read this article I guess you are using two different locale settings on your PC: You're right, when setting two locales both to Chinese PRC, the characters in Analyze left pane can display correctly (but when selecting "format" in 1st tab to Chinese PRC, lots of things will change in the OS, so I'd like to stick "format" to English US). Still hoping TransEdit can be fully Unicode compatible just like the latest DVBViewer. Quote Link to comment
ter9999 Posted October 23, 2009 Share Posted October 23, 2009 Another bug in TransEdit: Although selected PDVD9 or Microsoft DTV-DVD video decoders (both DxVA enabled) in Settings -> Preview tab, the preview video still can't get hardware acceleration -- the video is interlaced and big pixels are observed. Please check and fix. Quote Link to comment
Derrick Posted October 23, 2009 Author Share Posted October 23, 2009 ..might be a misconception concerning the scope of a tool like transedit Quote Link to comment
Griga Posted October 23, 2009 Share Posted October 23, 2009 You are expecting too much. The TransEdit Preview function is just a "as simple as can be" viewer - enough to get an impression of a scanned channel - and it is not supposed to deal with all that decoder / renderer / graphics card peculiarities. If you want a more sophisticated viewer, use DVBViewer. Quote Link to comment
ter9999 Posted November 17, 2009 Share Posted November 17, 2009 Used 3.5.0.0, it's very good. I have following questions and suggestions: 1. For the newly added "Service" column in Analyze window, as you can see from below snapshot, it displays things other than the real channel Names. It may be okay for English channel names (they may be the same), but for Chinese channels, it's hard to distinguish among them, they're served just for machines don't have Chinese fonts I think. So could TransEdit include the real channel Name for "Service" column instead of what's displaying now? Or have a new column to display both together (should be interesting to compare and see them both at the same time)? 2. The left pane in Analyze window and "Service" column still can't display Chinese characters correctly if I don't set Locale in Windows Control Panel to Chinese PRC (but "Scan Selected" window can display correctly). Hope TransEdit can be fully unicode just like DVBViewer 4.3. 3. There are lots of "Transponder list files" by default for TransEdit, most of them we won't use. On TransEdit window, we can't delete these files we don't use. Can you add a option in right-click menu to allow delete a single TP list file? Thanks much! Quote Link to comment
Gioxy Posted November 17, 2009 Share Posted November 17, 2009 Hi Griga, I'm wondering if there are some place for another suggestion to refine even more TransEdit ... I'm dreming on another (!) column that display, once scanned, the signal strenght (and/or the quality) of each transponder (in SAT case) / channel (in DTT case)... ...and if those data could be also be stored in the ini file (so to read it also in the right table of the main window) it whoul be perfect! Many many tanks anyhow for you efforts on DVBViewer and for that real useful prog!... BTW: it's many time that I wish have the pleasure of translate DVBV GE in italian, but the only language file is in german, too hard for me... can you please add the english file in next version (or send me via PM)? Quote Link to comment
Griga Posted November 17, 2009 Share Posted November 17, 2009 For the newly added "Service" column in Analyze window, as you can see from below snapshot, it displays things other than the real channel Names. So now we have three versions of the Chinese channel names? Incredible! Well, I think I know what happened. There must be a Multilingual Service Name Descriptor in the SDT. I'd like to see it. Please export the whole SDT as XML (right-click the SDT entry, and then you'll see), zip it and attach it here. Or have a new column to display both together Definitely not. There are enough columns now! Everybody wants new columns. I'm a developer, not a columnist! Obviously the listview component in the Scanner Window and the treeview component in the Analyzer Window are handling character sets differently (I'm not doing it!). The scanner listview uses the user locale, and the treeview the system locale. Dunno if there is a way to force it to use the user locale. I will have a look at it. it's many time that I wish have the pleasure of translate DVBV GE in italian, but the only language file is in german, too hard for me The latest DVBViewer GE release 2.8 contains an English.lng, including everything that can be translated. Quote Link to comment
Gioxy Posted November 17, 2009 Share Posted November 17, 2009 The latest DVBViewer GE release 2.8 contains an English.lng... Gosh! How I didn't noticed? Excellent! Quote Link to comment
ter9999 Posted November 18, 2009 Share Posted November 18, 2009 Please export the whole SDT as XML (right-click the SDT entry, and then you'll see), zip it and attach it here. The scanner listview uses the user locale, and the treeview the system locale. Dunno if there is a way to force it to use the user locale. I will have a look at it. Thank you so much for your investigation! Quote Link to comment
Griga Posted November 18, 2009 Share Posted November 18, 2009 (edited) Thanks. There it is: <Descriptor HValue="0x48" Name="Service"> <ServiceType Value="1" Name="Digital Television"/> <ProviderName String="QCN"/> <ServiceName String="ÉϺ£¶«·½ÎÀÊÓ"/> </Descriptor> <Descriptor HValue="0x5D" Name="Multilingual Service Name"> <Language String="chi"/> <ProviderName String="Descriptor"/> <ServiceName String="ÉϺ£¶«·½ÎÀÊÓ"/> <Language String="eng"/> <ProviderName String="Descriptor"/> <ServiceName String="OTV"/> </Descriptor> Three service name entries for one channel. Two Chinese, one English. The SI treeview takes the first one, the PID list the last one.... I will think about how it can be handled. BTW: "Descriptor" doesn't look like a provider name to me. A bug? Must be investigated... P.S. It's a bug. Will be fixed. Edited November 18, 2009 by Griga Quote Link to comment
Griga Posted November 19, 2009 Share Posted November 19, 2009 @ter9999: Can you please check how TransEdit 3.5.0.2 (members area, beta section) displays the Chinese service names? Quote Link to comment
ter9999 Posted November 20, 2009 Share Posted November 20, 2009 Thank you so much! As you can see, the Chinese characters displayed okay in the Analyzer left pae treeview and Service column, but there are unknown suffix to them, sometimes the suffix even changes itself. I checked the scan window, the channel names are correct there w/o suffix. Please check. Quote Link to comment
Griga Posted November 21, 2009 Share Posted November 21, 2009 Ok, try TransEdit 3.5.0.3 (members area, beta section) Quote Link to comment
ter9999 Posted November 21, 2009 Share Posted November 21, 2009 Ok, try TransEdit 3.5.0.3 (members area, beta section) Thanks, everything's fine for this new version for Chinese characters. I have another suggestion: Can TransEdit allow adding "Virtual Devices" just like in DVBViewer Pro in Hardware page? This will allow users to remote control and search remote DVBViewer servers. "Scan channels" in DVBViwer Pro is not so powerful displaying all parameters as in TransEdit. Quote Link to comment
evgen_ln Posted November 22, 2009 Share Posted November 22, 2009 If we talking about the channel names and EPG events encoding can you fix mapping for Cyrillic. Currently transedit are useing ISO 8859-5 for the Cyrillic channel names and EPG events displaying. Could you implement the conversion from the ISO 8859-5 to the default locale used by windows (CP_1251 for Russian version of the windows) for the Cyrillic channel names and EPG events? Quote Link to comment
Griga Posted November 22, 2009 Share Posted November 22, 2009 Can TransEdit allow adding "Virtual Devices" just like in DVBViewer Pro in Hardware page? This will allow users to remote control and search remote DVBViewer servers. Sorry, no. The network stuff is beyond my knowledge. TransEdit provides a "virtual" file device, which means, it is able to scan and analyze files. That's all. can you fix mapping for Cyrillic Maybe. Today I got some code from Lars for character set conversion (as used in DVBViewer Pro), that should at least be usable for the Analyzer. I will have a look at it... but I don't know when I will find time to integrate it. Maybe next release, or next but one... ATM my day job (not computer related) is keeping me quite busy Quote Link to comment
viteok86 Posted December 5, 2009 Share Posted December 5, 2009 (edited) Today was updated TransEdit to version 3.5.1 , some of change logs : - Added: Unicode support in the Analyzer (not yet in the Scanner), with a lot of help from Lars. Particularly Russian & Eastern European channel names and EPG data should now be displayed correctly. When this will be available for TransEdit scanner and for DVBViewer channel scanner??? Edited December 5, 2009 by viteok86 Quote Link to comment
evgen_ln Posted December 5, 2009 Share Posted December 5, 2009 Thank you Griga, the analyzer now correctly displays Cyrillic, but unfortunately not the scanner. I can't understand why is it necessary to wait for the Unicode support on the channels list by the DVBViver Pro. Simply implement conversion for the service names from ISO 8859-5 to CP_1251, for services where CharacterTable = "Latin / Cyrillic" (STD). This will not lead to an incorrect display for the other code pages, and correct problems with Cyrillic on the scanner. It is just a couple lines of code, please implement it. Quote Link to comment
Lars_MQ Posted December 5, 2009 Share Posted December 5, 2009 It is just a couple lines of code, please implement it. And then what? the favourites don't work any more, the timers are also affected and several other things in the pro will also be affected. The actual implementation is more than a "couple" lines of code in transedit (the displaying grid has to be changed to one capable of unicode, the routines to check for existing/redundant channels will not work any more, older channels.dat will show wrongly etc). And the implications of this will affect a lot more than you imagine... Quote Link to comment
Griga Posted December 5, 2009 Share Posted December 5, 2009 I think, evgen_ln's idea is to stay with ANSI strings, but to translate ISO 8859-5 -> CP_1251, which are different: http://de.wikipedia.org/wiki/ISO_8859-5 http://de.wikipedia.org/wiki/Windows-1251 But it will only work if the system default codepage is 1251. Users in other countries resp. with a different system default CP will still see the wrong characters. Quote Link to comment
evgen_ln Posted December 5, 2009 Share Posted December 5, 2009 Lars, perhaps my English don't let me correctly explained that I asking you. I don't ask your immediate support Unicode on the channel list, I understand that this is a big work, requires making changes in many program's parts. So, that I ask you, I do by utility, written myself, which contains not more than 10 lines of useful code. Currently Cyrillic channels names are encoded in ISO 8859-5 and, accordingly, does not display correctly on the Russian windows versions. The correct encoding for the Russian windows version is CP_1251. Look at Wikipedia and you will see what the difference in these encodings. Fix it and the problem will be resolved without unicode support. If your need more information, source code, examples, screen shots, I am ready to provide it. Quote Link to comment
evgen_ln Posted December 5, 2009 Share Posted December 5, 2009 Yes Griga it is what I had in mind. This is normal practice, this way is used by all DVB programs, which are not support Unicode Quote Link to comment
evgen_ln Posted December 5, 2009 Share Posted December 5, 2009 The current situation with an encoding does not give us any advantage. I think that until there is no Unicode support on channel list, channel names containing national symbols must be translated to the corresponding CP (Windows) encoding. German to Windows-1252, Cyrillic to Windows-1251 and so on. This will allow users see the proper channels names in their native language as well as names containing Basic Latin characters. Quote Link to comment
Griga Posted December 5, 2009 Share Posted December 5, 2009 Basically a translation table would be required. In Delphi code something like this const TransTable: array[$A0..$FF] of char = (#$A0,#$AE,#$C1... ); containing the Windows code for each ISO code in the range of 0xA0...0xFF. Quite laborious for someone who is not familiar with Russian characters... and it wouldn't be a satisfying solution, as stated above, because it would depend on the system default CP what people see. Quote Link to comment
evgen_ln Posted December 5, 2009 Share Posted December 5, 2009 Му opinion about the code tables, I outspeak in a previous post. But that will change making this fix for the Customer who do not use CP_1251 now, but many legitimate users will be able to enjoy programs. This problem stops many people from buying DVBViewer. If you asking me to do the character conversion table for your example, I am ready to do. I used a different method on my utility. Quote Link to comment
Griga Posted December 6, 2009 Share Posted December 6, 2009 If you asking me to do the character conversion table for your example, I am ready to do. Ok, let's make a deal. If you provide the table, I'll provide a TransEdit test version that uses it I just tried to do it myself, but it's hopeless... I'm not able to distinguish your strange characters well enough. What is your method? I think a translation table is the fastest way to do it, without a whole lot of case... or if... then. Quote Link to comment
evgen_ln Posted December 6, 2009 Share Posted December 6, 2009 (edited) Here's the code for fix ini file, obtained after export from TransEdit unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, IniFiles, ComCtrls; type TForm1 = class(TForm) RichEdit1: TRichEdit; Button2: TButton; OpenDialog1: TOpenDialog; Label1: TLabel; Button1: TButton; procedure Button2Click(Sender: TObject); procedure Button1Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.Button2Click(Sender: TObject); var Myini: TIniFile; i, b: integer; Simb: byte; Chanals: TStringList; ChanalName: String; begin If OpenDialog1.Execute then begin Chanals:= TStringList.Create; MyIni:= TIniFile.Create(OpenDialog1.FileName); MyIni.ReadSections(Chanals); For i:=0 to Chanals.Count-1 do begin ChanalName:=MyIni.ReadString(Chanals[i],'Name','error'); For b:=1 to Length(ChanalName) do If (byte(ChanalName[b]) > 128) then begin Simb:=(byte(ChanalName[b])+16); If Simb>128 then ChanalName[b]:=Char(Simb); end; RichEdit1.Lines.Add(ChanalName); MyIni.WriteString(Chanals[i],'Name',ChanalName); end; Chanals.Free; MyIni.Free; end; end; end. Edited December 6, 2009 by evgen_ln Quote Link to comment
evgen_ln Posted December 6, 2009 Share Posted December 6, 2009 It fix only the main characters, for the special need to add exceptions, but they do not occur in the channel names Quote Link to comment
Griga Posted December 6, 2009 Share Posted December 6, 2009 I see - quite clever. But reading INI files etc. is too slow for TransEdit, because the conversion will be executed in the streaming thread, and the broadcasters won't wait until TransEdit is through with it, you know... additionally I have to think a bit ahead. Who knows who will come next and want some ISO to Windows codepage conversion So I need a mechanism that can be used easily for different tables. That's why I prefer something like if ISO_8859_5 then for i := 1 to Length(Name) do if Name[i] >= Low(TransTable) then Name[i] := TransTable[Name[i]]; Quote Link to comment
evgen_ln Posted December 6, 2009 Share Posted December 6, 2009 (edited) Tested translation table is TransTable: array[$A0..$FF] of char = (#160,#168,#128,#131,#170,#189,#178,#175,#163,#154,#140,#142,#141,#173,#161,# 143, #192,#193,#194,#195,#196,#197,#198,#199,#200,#201,#202,#203,#204,#205,#206,#207, #208,#209,#210,#211,#212,#213,#214,#215,#216,#217,#218,#219,#220,#221,#222,#223, #224,#225,#226,#227,#228,#229,#230,#231,#232,#233,#234,#235,#236,#237,#238,#239, #240,#241,#242,#243,#244,#245,#246,#247,#248,#249,#250,#251,#252,#253,#254,#255, #185,#184,#144,#131,#186,#190,#179,#191,#188,#154,#156,#158,#157,#167,#162,#159); I was used a simple brute force, such as For b:=1 to Length(ChanalName) do If (byte(ChanalName[b]) > 159) then begin for c:= 160 to 255 do if byte(ChanalName[b]) = c then begin ChanalName[b]:= TransTable[c]; Break; end; end; Edited December 6, 2009 by evgen_ln Quote Link to comment
Griga Posted December 6, 2009 Share Posted December 6, 2009 Ok, here we go: TransEdit 3.5.1.1 test version uploaded to the members area, beta section. The scanner does an ISO 8859-5 -> CP_1251 translation of Cyrillic channel/provider names, as contributed by evgen_ln. The screenshot shows what I see here (due to the 1252 system default codepage): Quote Link to comment
evgen_ln Posted December 6, 2009 Share Posted December 6, 2009 At first look, everything looks correctly, I will do a thorough test and report the results later Quote Link to comment
Dieter11 Posted December 6, 2009 Share Posted December 6, 2009 Platforma DV mit neue Transedit beta funz einwandfrei, danke Quote Link to comment
Griga Posted December 6, 2009 Share Posted December 6, 2009 Another possibility is to use the Windows MultiByteToWideChar and WideCharToMultiByte API: 1) Convert ISO 8859-5 with MultiByteToWideChar to Unicode UTF-16 by using codepage 28595 (the ISO codepage for web applications). 2) Convert Unicode UTF-16 with WideCharToMultibyte to AnsiString by using the system default codepage CP_ACP (usually 1251 in Russia). ...which saves creating translation tables, but won't be that fast. Quote Link to comment
evgen_ln Posted December 6, 2009 Share Posted December 6, 2009 You can use this method if other users are asking for changes to other code tables. This will save you time. Quote Link to comment
viteok86 Posted December 6, 2009 Share Posted December 6, 2009 Thank you evgen_ln&Griga it's work normal . Tested on NTV+ and TrikolorTV . The analyzer and scanner now fully support Cyrillic . How about add this tweak to DVBViewer ? Quote Link to comment
Griga Posted December 6, 2009 Share Posted December 6, 2009 You can export the scan results from TransEdit to DVBViewer, and I'm quite sure the channel names will be displayed correctly there. However, have in mind that channel names are part of the DVBViewer channel ID which is used for referencing channels internally. So I'd recommend to adjust the favourites list, scheduled recordings etc. after the names have been changed. There is no automatic synchronisation of channel names in DVBViewer Pro yet. Quote Link to comment
Lars_MQ Posted December 6, 2009 Share Posted December 6, 2009 Most likely this will not work together with the recording service and may cause loss of timers... Quote Link to comment
evgen_ln Posted December 6, 2009 Share Posted December 6, 2009 (edited) There is no problem with the timer, of course, if they were created after the upgrade. Unfortunately I do not use the recording service but I can install and test Edited December 6, 2009 by evgen_ln Quote Link to comment
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.