NextPVR Forums

Full Version: Channel Logo Tool for NPVR (Beta Release)
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Pages: 1 2
Folks,

I've updated the most of the CLT system and converted it over to run with NPVR and Windows 7.

I've tested it on Windows 7 64 Bit with NPVR 2.2.6 so works with the current release.

Beta Release

This is the beta release of CLT for NPVR. Please provide feedback on how it's worked for you.

http://www.systemshark.com/npvr/CLTSetup...R_Beta.zip

Features:

Download from Lyngsat Logo Pages
PreProcessing for auto matching with channel names
Manual Matching with the Channels with Graphical View of Logos.
Inject into NPVR installation (media\channels) directory
Backup Logos into a Zip File
Restore Logos from a Zip File

Differences from Old CLT (for GBPVR)

I've dropped support for TopupTV and Tivo Websites as Logo sources.
I've disabled the Logo Controls which control skin output
I've disabled the Channel Number Stamping into the Logo Feature (whilst it get a complete rewrite)
Drastic performance increase in the Matching screen so refresh is now about a second from about 25ish seconds with a long list of channels
Cool, thanks for creating this utility systemshark.

I am running 2.2.6 on Windows 7 64bit.

When I select "United Kingdom" then click your Next button, I got the error " Could not load file or assembly 'Microsoft.mshtml, Version=7.0.3300.0, "

So I downloaded the dll from dlldll.com. See here for info : http://www.dotnet-tips.com/2006/09/issue...le-or.html

Then I selected my download folder and when I clicked OK I got this error.

System.InvalidCastException: Unable to cast COM object of type 'System.__ComObject' to class type 'mshtml.HTMLImgClass'. COM components that enter the CLR and do not support IProvideClassInfo or that do not have any interop assembly registered will be wrapped in the __ComObject type. Instances of this type cannot be cast to any other class; however they can be cast to interfaces as long as the underlying COM component supports QueryInterface calls for the IID of the interface.
at NextPVR.ChannelLogoTool.Webbroswer.Button1_Click(Object sender, EventArgs e)
at System.Windows.Forms.Control.OnClick(EventArgs e)
at System.Windows.Forms.Button.OnClick(EventArgs e)
at System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.ButtonBase.WndProc(Message& m)
at System.Windows.Forms.Button.WndProc(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

However, this was selecting hi-res. When I reselected default images, it downloaded fine.

After pre-processing, when I clicked next I got

************** Exception Text **************
System.TypeInitializationException: The type initializer for 'NUtility.DatabaseHelper' threw an exception. ---> System.IO.FileNotFoundException: Could not load file or assembly 'System.Data.SQLite, Version=1.0.65.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139' or one of its dependencies. The system cannot find the file specified.
File name: 'System.Data.SQLite, Version=1.0.65.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139'
at NUtility.DatabaseHelper..ctor()
at NUtility.DatabaseHelper..cctor()

WRN: Assembly binding logging is turned OFF.
To enable assembly bind failure logging, set the registry value [HKLM\Software\Microsoft\Fusion!EnableLog] (DWORD) to 1.
Note: There is some performance penalty associated with assembly bind failure logging.
To turn this feature off, remove the registry value [HKLM\Software\Microsoft\Fusion!EnableLog].

--- End of inner exception stack trace ---
at NUtility.DatabaseHelper.GetInstance()
at NextPVR.ChannelLogoTool.ChannelIcons.UpdateChannelList()
at NextPVR.ChannelLogoTool.ChannelIcons.ChannelIcons_Load(Object sender, EventArgs e)
at System.Windows.Forms.Form.OnLoad(EventArgs e)
at System.Windows.Forms.Form.OnCreateControl()
at System.Windows.Forms.Control.CreateControl(Boolean fIgnoreVisible)
at System.Windows.Forms.Control.CreateControl()
at System.Windows.Forms.Control.WmShowWindow(Message& m)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.ScrollableControl.WndProc(Message& m)
at System.Windows.Forms.ContainerControl.WndProc(Message& m)
at System.Windows.Forms.Form.WmShowWindow(Message& m)
at System.Windows.Forms.Form.WndProc(Message& m)
at NextPVR.ChannelLogoTool.ChannelIcons.WndProc(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

Suggestions:
it might be good to title the first download window as "select temporary location to download logo files to"
The Channel logo tool window that pops up after the scraping is complete need to be brought to the foreground.
Instructions?
gEd Wrote:Cool, thanks for creating this utility systemshark.

I am running 2.2.6 on Windows 7 64bit.

When I select "United Kingdom" then click your Next button, I got the error " Could not load file or assembly 'Microsoft.mshtml, Version=7.0.3300.0, "

So I downloaded the dll from dlldll.com. See here for info : http://www.dotnet-tips.com/2006/09/issue...le-or.html

I fixed this problem by running C:\Program Files (x86)\Systemshark.com\Channel Logo Tool 1.0\vs_piaredist.exe.

gEd Wrote:After pre-processing, when I clicked next I got

************** Exception Text **************
System.TypeInitializationException: The type initializer for 'NUtility.DatabaseHelper' threw an exception. ---> System.IO.FileNotFoundException: Could not load file or assembly 'System.Data.SQLite, Version=1.0.65.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139' or one of its dependencies. The system cannot find the file specified.
File name: 'System.Data.SQLite, Version=1.0.65.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139'
at NUtility.DatabaseHelper..ctor()
at NUtility.DatabaseHelper..cctor()

I got around this problem by coping System.Data.SQLite.dll from the NPVR program folder to the Channel Logo Tool 1.0 program folder.

gEd Wrote:Suggestions:
it might be good to title the first download window as "select temporary location to download logo files to"
The Channel logo tool window that pops up after the scraping is complete need to be brought to the foreground.

I agree.

I would suggest changing the label on the "Change Logo" button. At first, I thought that it meant "change this logo in the NPVR directory" (i.e. replace this one logo in NVPR). I would suggest something like "Pick a downloaded logo". (It can be used to change the auto-selected logo, if there was one, or to pick one of the downloaded logos, if none was auto-selected.)
A couple more items:

The channel mapping window doesn't seem to be picking up my current NPVR icons where they exist. If I have new ones, it IS exporting them to the correct directory, so it does seem to see the right folder at that point.

Also, it would be nice if the controls in the windows would resize when the window is resized. This feature would be nice for the selecting a country web page plus also on the channel mapping window to have a longer list of the channels on the left and to have larger views of the icons to better compare their details where both the temp download folder and the existing NPVR folder have icons for the same channel. (With Visual Studio now, can't you use the Dock and Anchor properties to make this happen automatically? It's been a while since I've done Windows development with Visual...)
Thanks for this great little utility.
When I try choose 'import into NPVR' I get errors:

Quote:************* Exception Text **************
System.TypeInitializationException: The type initializer for 'NUtility.DatabaseHelper' threw an exception. ---> System.IO.FileNotFoundException: Could not load file or assembly 'System.Data.SQLite, Version=1.0.65.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139' or one of its dependencies. The system cannot find the file specified.
File name: 'System.Data.SQLite, Version=1.0.65.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139'
at NUtility.DatabaseHelper..ctor()
at NUtility.DatabaseHelper..cctor()

WRN: Assembly binding logging is turned OFF.
To enable assembly bind failure logging, set the registry value [HKLM\Software\Microsoft\Fusion!EnableLog] (DWORD) to 1.
Note: There is some performance penalty associated with assembly bind failure logging.
To turn this feature off, remove the registry value [HKLM\Software\Microsoft\Fusion!EnableLog].

--- End of inner exception stack trace ---
at NUtility.DatabaseHelper.GetInstance()
at NextPVR.ChannelLogoTool.ChannelIcons.Button2_Click(Object sender, EventArgs e)
at System.Windows.Forms.Control.OnClick(EventArgs e)
at System.Windows.Forms.Button.OnClick(EventArgs e)
at System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.ButtonBase.WndProc(Message& m)
at System.Windows.Forms.Button.WndProc(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
For all my command line tools I run them from the NPVR Program Directory to get all the dll's. Otherwise you end up copying support dll's (which is done automatically for the web server) and I know this will inevitably cause problems.

Martin
And one more:

When doing the "Export Logos into NPVR", can we have a "Yes to All" and a "No to All" button (for replacing the existing NPVR icons) and change the prompt from "Delete Logo : MSNBC" to "Replace current NPVR logo for MSNBC?" It's a little confusing when prompted to "Delete" exactly which one is going to be deleted.
And for the Hi-Res one, it needs to handle the 404 error when there isn't a hi-res version of a logo. (At least, I think that's what's generating the 404 Page Not Found error.)
gEd Wrote:Cool, thanks for creating this utility systemshark.

I am running 2.2.6 on Windows 7 64bit.

When I select "United Kingdom" then click your Next button, I got the error " Could not load file or assembly 'Microsoft.mshtml, Version=7.0.3300.0, "

So I downloaded the dll from dlldll.com. See here for info : http://www.dotnet-tips.com/2006/09/issue...le-or.html

However, this was selecting hi-res. When I reselected default images, it downloaded fine.

hum... it appears the installer didn't run the vs_piaredist.exe file during the installation. and the High res version is completely experiemntal as it's using a recusive img routine... and the source in html has a number of circles in it.... which I'd hoped I'd coded out.


Quote:After pre-processing, when I clicked next I got

************** Exception Text **************
System.TypeInitializationException: The type initializer for 'NUtility.DatabaseHelper' threw an exception. ---> System.IO.FileNotFoundException: Could not load file or assembly 'System.Data.SQLite, Version=1.0.65.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139' or one of its dependencies. The system cannot find the file specified.

interesting..... It appears i've packages the NPVR dll's .... which of course I should not....


Quote:Suggestions:
it might be good to title the first download window as "select temporary location to download logo files to"
The Channel logo tool window that pops up after the scraping is complete need to be brought to the foreground.
Instructions?

The first window has had a number of names over the last couple of years! but we'll try yours ....

Instructions...Yes in the fullness of time - I'm going to steal them from CLT for GBPVR as basically their the same.

Thanks for the feedback...
BrettB Wrote:I fixed this problem by running C:\Program Files (x86)\Systemshark.com\Channel Logo Tool 1.0\vs_piaredist.exe.

Well spotted. Which is good, the installer delivered the file ok then... but didn't execute it.... shame.... but I now know the problem.

Quote:I got around this problem by coping System.Data.SQLite.dll from the NPVR program folder to the Channel Logo Tool 1.0 program folder.

which is correct answer if this problem, however the installer shouldn't have delivered Nutilities.dll... then SQLLite.DLL should never have been required.

Thanks for chasing this one down.

[/quote]


Quote:I would suggest changing the label on the "Change Logo" button. At first, I thought that it meant "change this logo in the NPVR directory" (i.e. replace this one logo in NVPR). I would suggest something like "Pick a downloaded logo". (It can be used to change the auto-selected logo, if there was one, or to pick one of the downloaded logos, if none was auto-selected.)

I've give the buttons some new names then !

Thanks for testing it....
Pages: 1 2