Jump to content
Derrick

TransEdit Discussion

Recommended Posts

Griga
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.

Share this post


Link to post
ter9999
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.

Share this post


Link to post
ter9999

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.

Share this post


Link to post
Derrick

..might be a misconception concerning the scope of a tool like transedit B)

Share this post


Link to post
Griga

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.

Share this post


Link to post
ter9999

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)?

 

09111720349707acbb54194df0.jpg

 

091117203494e13af000d84856.jpg

 

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!

Share this post


Link to post
Gioxy

Hi Griga, I'm wondering if there are some place for another suggestion to refine even more TransEdit :blush:...

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)?

 

;)

Share this post


Link to post
Griga
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! :blush:

 

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.

Share this post


Link to post
Gioxy
The latest DVBViewer GE release 2.8 contains an English.lng...
Gosh! ;) How I didn't noticed? Excellent!

 

:blush:

Share this post


Link to post
ter9999
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!

Share this post


Link to post
Griga

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 by Griga

Share this post


Link to post
Griga

@ter9999: Can you please check how TransEdit 3.5.0.2 (members area, beta section) displays the Chinese service names?

Share this post


Link to post
ter9999

09112010288b6e4e640c7f5d87.jpg

 

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.

Share this post


Link to post
Griga

Ok, try TransEdit 3.5.0.3 (members area, beta section)

Share this post


Link to post
ter9999
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.

 

0911211111f1e470e72a683a33.jpg

Share this post


Link to post
evgen_ln

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?

Share this post


Link to post
Griga
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 :biggrin:

Share this post


Link to post
viteok86

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 by viteok86

Share this post


Link to post
evgen_ln

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.

Share this post


Link to post
Lars_MQ
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...

Share this post


Link to post
Griga

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.

Share this post


Link to post
evgen_ln

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.

Share this post


Link to post
evgen_ln

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

Share this post


Link to post
evgen_ln

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.

Share this post


Link to post
Griga

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.

Share this post


Link to post
evgen_ln

Му 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.

Share this post


Link to post
Griga
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 :sadwalk:

 

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.

Share this post


Link to post
evgen_ln

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 by evgen_ln

Share this post


Link to post
evgen_ln

It fix only the main characters, for the special need to add exceptions, but they do not occur in the channel names

Share this post


Link to post
Griga

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 :sadwalk:

 

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]];

Share this post


Link to post
evgen_ln

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 by evgen_ln

Share this post


Link to post
Griga

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):

Zwischenablage01.png

Share this post


Link to post
evgen_ln

At first look, everything looks correctly, I will do a thorough test and report the results later

Share this post


Link to post
Dieter11

Platforma DV mit neue Transedit beta funz einwandfrei, danke

post-72614-1260100591_thumb.jpg

Share this post


Link to post
Griga

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.

Share this post


Link to post
evgen_ln

You can use this method if other users are asking for changes to other code tables. This will save you time.

Share this post


Link to post
viteok86

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 ?

Share this post


Link to post
Griga

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.

Share this post


Link to post
Lars_MQ

Most likely this will not work together with the recording service and may cause loss of timers...

Share this post


Link to post
evgen_ln

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 by evgen_ln

Share this post


Link to post

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Create New...