NextPVR Forums
  • ______
  • Home
  • New Posts
  • Wiki
  • Members
  • Help
  • Search
  • Register
  • Login
  • Home
  • Wiki
  • Members
  • Help
  • Search
NextPVR Forums Public Developers v
« Previous 1 … 20 21 22 23 24 … 93 Next »
WizTools - 1.x Plugin Development Toolkit

 
  • 0 Vote(s) - 0 Average
WizTools - 1.x Plugin Development Toolkit
l-moore
Offline

Junior Member

Posts: 3
Threads: 0
Joined: Apr 2007
#291
2009-09-24, 12:41 AM
Why can I not see attachments on this thread?
JavaWiz
Offline

Posting Freak

Jacksonville, FL. USA
Posts: 2,522
Threads: 141
Joined: Dec 2006
#292
2009-09-24, 01:46 AM
l-moore Wrote:Why can I not see attachments on this thread?
What attachments in particular are you looking for?

The WizTools and related files can be found on the wiki here, look under "Supporting DLLs" and you will find a WizTools download link.
l-moore
Offline

Junior Member

Posts: 3
Threads: 0
Joined: Apr 2007
#293
2009-09-24, 11:08 AM
JavaWiz Wrote:What attachments in particular are you looking for?

The WizTools and related files can be found on the wiki here, look under "Supporting DLLs" and you will find a WizTools download link.


I was looking for "a helper DLL and preliminary tutorial document" mentioned in the first post of the thread. I never was able to find a document describing okugin development.
l-moore
Offline

Junior Member

Posts: 3
Threads: 0
Joined: Apr 2007
#294
2009-09-24, 11:10 AM
However, it appears that I lack reading skills. I found what I was looking for. Thanks.
CornStopper
Offline

Member

Posts: 70
Threads: 9
Joined: Jan 2005
#295
2009-09-25, 07:23 AM
Have just spotted this, been meaning to get into plug-in development and learn C# or .net, this should be very useful, and with the winter months approaching my social activities decrease, so its the best time to learn.
Ommina
Offline

Senior Member

Posts: 330
Threads: 39
Joined: Feb 2006
#296
2009-12-14, 01:37 PM
Has it really been six months since I last bumped this thread? My.

Anyway - a question this time about WizUiList. I've been using it for a couple years now without problem. Tonight, though, I tried to use it on a popup, and had... well, not nothing but problems, but certainly a lot of them.

Short version - the control doesn't seem to be rendering correctly. All appears good so long as it does not have to scroll, but as soon as any sort of scrolling behaviour takes place, the control gets quite confused. Some items are not rendered at all. Current selected item reappears in the middle of the list, sometimes with multiple items marked as 'selected'. Generally a bad time.

Are there additional steps I need to take to use WizUiList in a popup? If not, any thoughts on what I could be doing wrong?

Once again, thanks!
JavaWiz
Offline

Posting Freak

Jacksonville, FL. USA
Posts: 2,522
Threads: 141
Joined: Dec 2006
#297
2009-12-14, 10:38 PM
Ommina Wrote:Has it really been six months since I last bumped this thread? My.

Anyway - a question this time about WizUiList. I've been using it for a couple years now without problem. Tonight, though, I tried to use it on a popup, and had... well, not nothing but problems, but certainly a lot of them.

Short version - the control doesn't seem to be rendering correctly. All appears good so long as it does not have to scroll, but as soon as any sort of scrolling behaviour takes place, the control gets quite confused. Some items are not rendered at all. Current selected item reappears in the middle of the list, sometimes with multiple items marked as 'selected'. Generally a bad time.

Are there additional steps I need to take to use WizUiList in a popup? If not, any thoughts on what I could be doing wrong?

Once again, thanks!

Any chance you could send me a sample of your code? I use lists in pop-ups in SearchWiz and MovieWiz and they seem to work ok.
Ommina
Offline

Senior Member

Posts: 330
Threads: 39
Joined: Feb 2006
#298
2009-12-15, 02:47 AM
JavaWiz Wrote:Any chance you could send me a sample of your code? I use lists in pop-ups in SearchWiz and MovieWiz and they seem to work ok.

Well, armed with the knowledge that it does work (or at least, can), I'll spend some more time tonight trying to work it out for myself. If I can't find out what is going on by the end of the evening, I'll take you up on your offer and send you some code. Thank you!

Unrelated question -- what is the correct method of disposing popup resources now? I've been implementing IDisposable and calling .Dispose on the control manager. But I note that a bit of memory optimizing was done on the library fairly recently, so I'm curious what (if anything) I should be disposing and where.
JavaWiz
Offline

Posting Freak

Jacksonville, FL. USA
Posts: 2,522
Threads: 141
Joined: Dec 2006
#299
2009-12-15, 03:48 AM
Ommina Wrote:Well, armed with the knowledge that it does work (or at least, can), I'll spend some more time tonight trying to work it out for myself. If I can't find out what is going on by the end of the evening, I'll take you up on your offer and send you some code. Thank you!

Unrelated question -- what is the correct method of disposing popup resources now? I've been implementing IDisposable and calling .Dispose on the control manager. But I note that a bit of memory optimizing was done on the library fairly recently, so I'm curious what (if anything) I should be disposing and where.

This routine is in the plugin task and used both to set a popup as the current popup, and to remove the current popup:
Code:
[SIZE=2][COLOR=#808080][SIZE=2][COLOR=#808080]///[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2][COLOR=#808080][SIZE=2][COLOR=#808080]<summary>[/COLOR][/SIZE]
[/COLOR][/SIZE][SIZE=2][COLOR=#808080][SIZE=2][COLOR=#808080]///[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2][COLOR=#008000][SIZE=2][COLOR=#008000] Set the current popup. Pass null to shut down popup.[/COLOR][/SIZE]
[/COLOR][/SIZE][SIZE=2][COLOR=#808080][SIZE=2][COLOR=#808080]///[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2][COLOR=#808080][SIZE=2][COLOR=#808080]</summary>[/COLOR][/SIZE]
[/COLOR][/SIZE][SIZE=2][COLOR=#808080][SIZE=2][COLOR=#808080]///[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2][COLOR=#808080][SIZE=2][COLOR=#808080]<param name="popup"></param>[/COLOR][/SIZE]
[/COLOR][/SIZE][SIZE=2][COLOR=#0000ff][SIZE=2][COLOR=#0000ff]public [/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2][COLOR=#0000ff][SIZE=2][COLOR=#0000ff]void[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2] setPopup([/SIZE][SIZE=2][COLOR=#2b91af][SIZE=2][COLOR=#2b91af]IMenuTask[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2] popup)[/SIZE]
[SIZE=2]{[/SIZE]
[SIZE=2][COLOR=#0000ff][SIZE=2][COLOR=#0000ff]if[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2] (([/SIZE][SIZE=2][COLOR=#0000ff][SIZE=2][COLOR=#0000ff]this[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2].activePopup != popup) && ([/SIZE][SIZE=2][COLOR=#0000ff][SIZE=2][COLOR=#0000ff]this[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2].activePopup [/SIZE][SIZE=2][COLOR=#0000ff][SIZE=2][COLOR=#0000ff]is[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2][COLOR=#2b91af][SIZE=2][COLOR=#2b91af]IUiPopup[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2]))[/SIZE]
[SIZE=2]{[/SIZE]
[SIZE=2] (([/SIZE][SIZE=2][COLOR=#2b91af][SIZE=2][COLOR=#2b91af]IUiPopup[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2])[/SIZE][SIZE=2][COLOR=#0000ff][SIZE=2][COLOR=#0000ff]this[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2].activePopup).Dispose();[/SIZE]
[SIZE=2]}[/SIZE]
[SIZE=2][COLOR=#0000ff][SIZE=2][COLOR=#0000ff]if[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2] (mbInsetRectangleSet)[/SIZE]
[SIZE=2][COLOR=#0000ff][SIZE=2][COLOR=#0000ff] if[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2] (popup != [/SIZE][SIZE=2][COLOR=#0000ff][SIZE=2][COLOR=#0000ff]null[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2] && isPlayingVideo() &&[/SIZE][SIZE=2][COLOR=#2b91af][SIZE=2][COLOR=#2b91af] PluginHelperFactory[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2].getPluginHelper().IsInsetVisible())[/SIZE]
[SIZE=2] {[/SIZE]
[SIZE=2][COLOR=#2b91af][SIZE=2][COLOR=#2b91af]   PluginHelperFactory[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2].getPluginHelper().HideInset();[/SIZE]
[SIZE=2] }[/SIZE]
[SIZE=2][COLOR=#0000ff][SIZE=2][COLOR=#0000ff] else[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2][COLOR=#0000ff][SIZE=2][COLOR=#0000ff]if[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2] (isPlayingVideo() && [/SIZE][SIZE=2][COLOR=#2b91af][SIZE=2][COLOR=#2b91af]PluginHelperFactory[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2].getPluginHelper().IsInsetVisible())[/SIZE]
[SIZE=2] {[/SIZE]
[SIZE=2][COLOR=#2b91af][SIZE=2][COLOR=#2b91af]   PluginHelperFactory[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2].getPluginHelper().ShowInsetAtLocation(mInsetRectangle);[/SIZE]
[SIZE=2] }[/SIZE]
[SIZE=2][COLOR=#0000ff][SIZE=2][COLOR=#0000ff]this[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2].activePopup = popup;[/SIZE]
[SIZE=2]mNeedsRendering = [/SIZE][SIZE=2][COLOR=#0000ff][SIZE=2][COLOR=#0000ff]true[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2];[/SIZE]
[SIZE=2]}[/SIZE]

For Example, to set a popup:
Code:
[SIZE=2][COLOR=#0000ff][SIZE=2][COLOR=#0000ff]case[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2][COLOR=#a31515][SIZE=2][COLOR=#a31515]"manage filters"[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2]:[/SIZE]
[SIZE=2]  setPopup([/SIZE][SIZE=2][COLOR=#0000ff][SIZE=2][COLOR=#0000ff]new[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2][COLOR=#2b91af][SIZE=2][COLOR=#2b91af]FilterPopup[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2]([/SIZE][SIZE=2][COLOR=#0000ff][SIZE=2][COLOR=#0000ff]this[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2], core, mSkinDirectory, ctlMgr.isSMSEnabled));[/SIZE]
[SIZE=2][COLOR=#0000ff][SIZE=2][COLOR=#0000ff]  break[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2];[/SIZE]

and when done with it (usually in handlePopupCallback method)
Code:
[SIZE=2][COLOR=#0000ff][SIZE=2][COLOR=#0000ff]public[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2][COLOR=#0000ff][SIZE=2][COLOR=#0000ff]void[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2] handlePopupCallback([/SIZE][SIZE=2][COLOR=#0000ff][SIZE=2][COLOR=#0000ff]object[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2] popup, [/SIZE][SIZE=2][COLOR=#0000ff][SIZE=2][COLOR=#0000ff]string[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2] command)[/SIZE]
[SIZE=2]{[/SIZE]
[SIZE=2][COLOR=#2b91af][SIZE=2][COLOR=#2b91af]WizInfo[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2].LogMessage(mModuleName, [/SIZE][SIZE=2][COLOR=#a31515][SIZE=2][COLOR=#a31515]"handlePopupCallback"[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2], [/SIZE][SIZE=2][COLOR=#a31515][SIZE=2][COLOR=#a31515]"ENTER"[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2]);[/SIZE]
[SIZE=2][COLOR=#0000ff][SIZE=2][COLOR=#0000ff]bool[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2] handled = [/SIZE][SIZE=2][COLOR=#0000ff][SIZE=2][COLOR=#0000ff]true[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2];[/SIZE]
[SIZE=2][COLOR=#0000ff][SIZE=2][COLOR=#0000ff]object[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2] nextPopup = [/SIZE][SIZE=2][COLOR=#0000ff][SIZE=2][COLOR=#0000ff]null[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2];[/SIZE]
[SIZE=2][COLOR=#0000ff][SIZE=2][COLOR=#0000ff]if[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2] (popup [/SIZE][SIZE=2][COLOR=#0000ff][SIZE=2][COLOR=#0000ff]is[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2][COLOR=#2b91af][SIZE=2][COLOR=#2b91af]PopupMessageBox[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2])[/SIZE]
[SIZE=2]{[/SIZE]
[SIZE=2][COLOR=#2b91af][SIZE=2][COLOR=#2b91af]  WizInfo[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2].LogMessage(mModuleName, [/SIZE][SIZE=2][COLOR=#a31515][SIZE=2][COLOR=#a31515]"handlePopupCallback"[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2], [/SIZE][SIZE=2][COLOR=#a31515][SIZE=2][COLOR=#a31515]"PopupMessageBox-"[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2] + command);[/SIZE]
[SIZE=2][COLOR=#0000ff][SIZE=2][COLOR=#0000ff]  if[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2] (command == [/SIZE][SIZE=2][COLOR=#a31515][SIZE=2][COLOR=#a31515]"Ok"[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2] && activePopup.getDescription().Contains([/SIZE][SIZE=2][COLOR=#a31515][SIZE=2][COLOR=#a31515]"Cancel this recording?"[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2]))[/SIZE]
[SIZE=2]  {[/SIZE]
[SIZE=2][COLOR=#2b91af][SIZE=2][COLOR=#2b91af]    ShowInfo[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2] currentShow = getCurrentEpisode();[/SIZE]
[SIZE=2]    currentShow.CancelScheduledRecording();[/SIZE]
[SIZE=2]  }[/SIZE]
[SIZE=2][COLOR=#0000ff][SIZE=2][COLOR=#0000ff]  else[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2][COLOR=#0000ff][SIZE=2][COLOR=#0000ff]if[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2] (command == [/SIZE][SIZE=2][COLOR=#a31515][SIZE=2][COLOR=#a31515]"Cancel"[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2] && activePopup.getDescription() == [/SIZE][SIZE=2][COLOR=#a31515][SIZE=2][COLOR=#a31515]"Searching for program details..."[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2])[/SIZE]
[SIZE=2]  {[/SIZE]
[SIZE=2]    mRetrieveProgramDetailThread.Abort();[/SIZE]
[SIZE=2][COLOR=#2b91af][SIZE=2][COLOR=#2b91af]    WizInfo[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2].LogMessage(mModuleName, [/SIZE][SIZE=2][COLOR=#a31515][SIZE=2][COLOR=#a31515]"handlePopupCallback"[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2], [/SIZE][SIZE=2][COLOR=#a31515][SIZE=2][COLOR=#a31515]"Search Cancelled."[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2]);[/SIZE]
[SIZE=2]  }[/SIZE]
[SIZE=2]handled = [/SIZE][SIZE=2][COLOR=#0000ff][SIZE=2][COLOR=#0000ff]true[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2];[/SIZE]
[SIZE=2]}[/SIZE]
...
[SIZE=2][COLOR=#0000ff][SIZE=2][COLOR=#0000ff]if[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2] (nextPopup != [/SIZE][SIZE=2][COLOR=#0000ff][SIZE=2][COLOR=#0000ff]null[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2])[/SIZE]
[SIZE=2]setPopup(([/SIZE][SIZE=2][COLOR=#2b91af][SIZE=2][COLOR=#2b91af]IMenuTask[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2])nextPopup);[/SIZE]
[SIZE=2][COLOR=#0000ff][SIZE=2][COLOR=#0000ff]else[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2][COLOR=#0000ff][SIZE=2][COLOR=#0000ff]if[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2] (handled)[/SIZE]
[SIZE=2]{[/SIZE]
[SIZE=2][COLOR=#008000][SIZE=2][COLOR=#008000]// Close the popup[/COLOR][/SIZE]
[/COLOR][/SIZE][SIZE=2]setPopup([/SIZE][SIZE=2][COLOR=#0000ff][SIZE=2][COLOR=#0000ff]null[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2]);[/SIZE]
[SIZE=2]}[/SIZE]
Ommina
Offline

Senior Member

Posts: 330
Threads: 39
Joined: Feb 2006
#300
2009-12-15, 11:01 PM
Thanks for the code on disposing. That's pretty much exactly what I have been using, probably having been copied from your original skeleton. With that in mind, I'll remove the additional bits of disposing that I've been doing. (Which didn't play very well with the recent library memory changes anyway.)

Also - I discovered the error I was making with the list control. In the end, it was a simple matter of .activating not being set to false. And that cost... hours.

Thanks again.
« Next Oldest | Next Newest »

Users browsing this thread: 2 Guest(s)

Pages (31): « Previous 1 … 27 28 29 30 31 Next »
Jump to page 


Possibly Related Threads…
Thread Author Replies Views Last Post
  PIP plugin for Kodi sgilani 2 3,050 2022-10-17, 12:44 AM
Last Post: sgilani
  New Systems Plugin kirschey 10 3,531 2020-11-14, 08:01 PM
Last Post: sub
  Test/Development environment for npvr.db3 scJohn 10 4,528 2020-09-04, 09:14 PM
Last Post: scJohn
  VIdeo playback from plugin mvallevand 5 3,614 2015-08-06, 10:43 PM
Last Post: sub
  Attention Sub: Open TV / Custom Data Grabber plugin Benoire 2 2,991 2014-11-14, 02:05 AM
Last Post: Benoire
  API docs to help with plugin development? McBainUK 3 2,854 2013-06-08, 06:14 PM
Last Post: sub
  Refreshing TV Guide Data (after System plugin EPG update) imilne 13 6,304 2013-03-24, 08:03 PM
Last Post: imilne
  sabnzbd plugin to show processed files Wakalaka 1 2,014 2013-03-12, 06:48 AM
Last Post: psycik
  Integrated Development Environment (IDE) for plugins osx-addict 5 2,845 2012-10-18, 08:35 PM
Last Post: osx-addict
  Plugin problems with started from the command line mvallevand 11 5,200 2012-08-12, 07:56 PM
Last Post: sub

  • View a Printable Version
  • Subscribe to this thread
Forum Jump:

© Designed by D&D, modified by NextPVR - Powered by MyBB

Linear Mode
Threaded Mode