SageTV Community  

Go Back   SageTV Community > SageTV Development and Customizations > SageTV Studio
Forum Rules FAQs Community Downloads Today's Posts Search

Notices

SageTV Studio Discussion related to the SageTV Studio application produced by SageTV. Questions, issues, problems, suggestions, etc. relating to the Studio software application should be posted here.

Reply
 
Thread Tools Search this Thread Display Modes
  #1  
Old 04-20-2006, 09:06 AM
Bohica's Avatar
Bohica Bohica is offline
Sage Advanced User
 
Join Date: Mar 2005
Posts: 218
Animate using true / false

There seems to be an issue using the animate = true/false method of animation on a frame that contains table. Does anyone know if this is the case? The only way I can get that frame to refresh is with a full refresh(). I have a feeling Andy is going to respond with a manual page number
Reply With Quote
  #2  
Old 04-20-2006, 09:58 AM
Opus4's Avatar
Opus4 Opus4 is offline
Administrator
 
Join Date: Sep 2003
Location: NJ
Posts: 19,624
I'm not sure if I understand what you mean, but perhaps what is happening is that you are animating & thus refreshing just the display of the UI element -- meaning just the info below the widget using the animation property. (The property is what you mean, correct?)

If this is the case, then a full refresh is causing the entire menu to be redone, so all the code leading up to the table is being executed again. In that case, try animating at a higher level widget such that the lead-in code for the table is included in the animation-caused refresh.

- Andy
__________________
SageTV Open Source v9 is available.
- Read the SageTV FAQ. Older PDF User's Guides mostly still apply: SageTV V7.0 & SageTV Studio v7.1.
- Hauppauge remote help: 1) Basics/Extending it 2) Replace it 3) Use it w/o needing focus
- HD Extenders: A) FAQs B) URC MX-700 remote setup
Note: This is a users' forum; see the Rules. For official tech support fill out a Support Request.
Reply With Quote
  #3  
Old 04-21-2006, 12:10 AM
Bohica's Avatar
Bohica Bohica is offline
Sage Advanced User
 
Join Date: Mar 2005
Posts: 218
So here is the example...

--Frame
----Some java call that loads a vector
------Table
--------Cell
----------Button

If I animate the frame using =true/false var... it does not execute the code...

interestingly... if I have this...


--Frame
----Some java call that loads a vector
------Table
--------Cell
----------Button
----Debug output "blah"

The debug output does execute on the animate.... however the javacall and table does not... try something similar in studio and see if it works for you... not the first time I have run into this... I am extensively using the animate feature on a new STVI - and it works well in most cases....

Last edited by Bohica; 04-21-2006 at 12:12 AM.
Reply With Quote
  #4  
Old 04-21-2006, 12:40 AM
GKusnick's Avatar
GKusnick GKusnick is offline
SageTVaholic
 
Join Date: Dec 2005
Posts: 5,083
Worked for me when I tried it just now (assuming "Frame" means Panel and "Button" means Item in your example).

My guess is there's some subtle bug in your animation expression such that it's not calculating what you think it is. Hard to know for sure without more details, though.
__________________
-- Greg
Reply With Quote
  #5  
Old 04-21-2006, 08:48 AM
Bohica's Avatar
Bohica Bohica is offline
Sage Advanced User
 
Join Date: Mar 2005
Posts: 218
Indeed it does mean those things...

The only other difference is that the panel I am talking about is embedded 2 levels deep under other panels that do not animate....

So it is Panel, Panel, Panel (with animate)...

Hmmm... I am using a refresh to get around it... If I have time I will look at it more.... I know the panel is triggering on the change of value of my variable because I have added that debug statement. Any debug statements under the java call do not execute -- but a debug statement directly under the panel does execute... I am using the same methodology to animate some 5 or 6 other panels... so I dont think it is an issue of not triggering it correctly... see my last post about the debug statement...
Reply With Quote
  #6  
Old 04-21-2006, 11:23 AM
Opus4's Avatar
Opus4 Opus4 is offline
Administrator
 
Join Date: Sep 2003
Location: NJ
Posts: 19,624
BTW: Something is going on... I put a blank text widget under one of the actions leading up to a table & the table would update when the panel's animation property fired. If the text widget was removed, the table wouldn't update. I'm waiting to hear what might be happening, since it seems like you would expect the table to get updated by itself.

- Andy
__________________
SageTV Open Source v9 is available.
- Read the SageTV FAQ. Older PDF User's Guides mostly still apply: SageTV V7.0 & SageTV Studio v7.1.
- Hauppauge remote help: 1) Basics/Extending it 2) Replace it 3) Use it w/o needing focus
- HD Extenders: A) FAQs B) URC MX-700 remote setup
Note: This is a users' forum; see the Rules. For official tech support fill out a Support Request.
Reply With Quote
  #7  
Old 04-21-2006, 11:35 AM
GKusnick's Avatar
GKusnick GKusnick is offline
SageTVaholic
 
Join Date: Dec 2005
Posts: 5,083
This Java call you're talking about: that's a call into a Java package you wrote? If so, you might try putting some debug output at the entry and exit of that function to make sure it's being called and is returning normally. An internal error in the Java code could perhaps explain what you're seeing.

Or you could resort to setting breakpoints in Studio, although in my experience that tends not to work very well with animated code.
__________________
-- Greg
Reply With Quote
  #8  
Old 04-21-2006, 11:56 AM
Bohica's Avatar
Bohica Bohica is offline
Sage Advanced User
 
Join Date: Mar 2005
Posts: 218
Quote:
Originally Posted by GKusnick
This Java call you're talking about: that's a call into a Java package you wrote? If so, you might try putting some debug output at the entry and exit of that function to make sure it's being called and is returning normally. An internal error in the Java code could perhaps explain what you're seeing.

Or you could resort to setting breakpoints in Studio, although in my experience that tends not to work very well with animated code.
Same code works with refresh()... so cant be that.

Thanks Andy - am glad someone is seeing something funky too :0
Reply With Quote
  #9  
Old 04-21-2006, 12:04 PM
Bohica's Avatar
Bohica Bohica is offline
Sage Advanced User
 
Join Date: Mar 2005
Posts: 218
Speaking of animate... how do others (if anyone else uses this method frequently....) terminate their animation? Currently - at the end of any processing in my panel, I place an action widget that says "Blah = false" for the variable I use, and then place an empty shape widget under it to get it to execute. I have had problems with embedding that action widget within the code, as sometimes it stops the refresh before things fire... this seems the safest way...

Also - Andy -- I notice that if I am using this method (the entire animate on various panels method) - on menu load some panels get executed some 10 to 15 times. I notice this by placing little debug comments around. Remember that the last action widget in each panel turns off that value -- so in no way should they be loaded more than once.... did this make sense at all??
Reply With Quote
  #10  
Old 04-21-2006, 01:03 PM
GKusnick's Avatar
GKusnick GKusnick is offline
SageTVaholic
 
Join Date: Dec 2005
Posts: 5,083
Rendering isn't a one-pass process. There are separate passes for loading and initializing widgets, evaluating conditionals, doing layout, drawing, etc. Turn on Studio's Trace feature and you'll see what I mean. So it's not impossible for some debug statements to get executed more than once in a given refresh cycle, depending on which code path they're on.
__________________
-- Greg
Reply With Quote
  #11  
Old 04-21-2006, 01:51 PM
Bohica's Avatar
Bohica Bohica is offline
Sage Advanced User
 
Join Date: Mar 2005
Posts: 218
Quote:
Originally Posted by GKusnick
Rendering isn't a one-pass process. There are separate passes for loading and initializing widgets, evaluating conditionals, doing layout, drawing, etc. Turn on Studio's Trace feature and you'll see what I mean. So it's not impossible for some debug statements to get executed more than once in a given refresh cycle, depending on which code path they're on.
I figured it was something to that effect. Thanks!
Reply With Quote
  #12  
Old 04-21-2006, 01:52 PM
Opus4's Avatar
Opus4 Opus4 is offline
Administrator
 
Join Date: Sep 2003
Location: NJ
Posts: 19,624
The distinction that I forgot about the animation property is that it forces a redraw of the UI element, but it doesn't necessarily force a new execution of the widgets that leads up to the UI element. The table is storing its data & simple redrawing itself when the animation property fires. i.e., when testing breakpoints: I see it break under the TableComponent when it gets animated, but it doesn't break in the widget chain leading up to the Table because of internal caching.

I'm not sure exactly what you are trying to do, but if you are trying to update the list of data that gets fed to the table, I don't believe the animate property is going to do what you want. If you are simply trying to change how the same list gets presented, you could use the RenderingStarted hook & update some info right before it gets displayed. To redetermine what gets included in the list fed to the table in the first place, you'll probably have to use Refresh() or RefreshArea(), perhaps in some timer thread. It all depends on what you are trying to change.

I hope I got it all right this time.

- Andy
__________________
SageTV Open Source v9 is available.
- Read the SageTV FAQ. Older PDF User's Guides mostly still apply: SageTV V7.0 & SageTV Studio v7.1.
- Hauppauge remote help: 1) Basics/Extending it 2) Replace it 3) Use it w/o needing focus
- HD Extenders: A) FAQs B) URC MX-700 remote setup
Note: This is a users' forum; see the Rules. For official tech support fill out a Support Request.
Reply With Quote
  #13  
Old 04-21-2006, 01:59 PM
Bohica's Avatar
Bohica Bohica is offline
Sage Advanced User
 
Join Date: Mar 2005
Posts: 218
Quote:
Originally Posted by Opus4
The distinction that I forgot about the animation property is that it forces a redraw of the UI element, but it doesn't necessarily force a new execution of the widgets that leads up to the UI element. The table is storing its data & simple redrawing itself when the animation property fires. i.e., when testing breakpoints: I see it break under the TableComponent when it gets animated, but it doesn't break in the widget chain leading up to the Table because of internal caching.

I'm not sure exactly what you are trying to do, but if you are trying to update the list of data that gets fed to the table, I don't believe the animate property is going to do what you want. If you are simply trying to change how the same list gets presented, you could use the RenderingStarted hook & update some info right before it gets displayed. To redetermine what gets included in the list fed to the table in the first place, you'll probably have to use Refresh() or RefreshArea(), perhaps in some timer thread. It all depends on what you are trying to change.

I hope I got it all right this time.

- Andy
Thanks Andy - so in essence that bug is not a bug?? I will look into refresharea() - didnt see that one. Refresh here fixes the issue and is not really that wasteful in it's use so there is no problem. I was trying to use the animate to have the table reload... and since various other panels did not need a refresh - thought the animate would be a better / faster way to go. The refresh really isn't that demaning tho - so no problem. Dont need to timer thread as it all happens based on user interaction...

Caio...
Reply With Quote
  #14  
Old 04-21-2006, 02:21 PM
Opus4's Avatar
Opus4 Opus4 is offline
Administrator
 
Join Date: Sep 2003
Location: NJ
Posts: 19,624
Quote:
Originally Posted by Bohica
Thanks Andy - so in essence that bug is not a bug??
Nope, not a bug. Just a forgetful misunderstanding on my part regarding my suggestion in my first post. Most of the stuff I animate doesn't involved something cached, like tables. I think I even wrote in the manual that the parent actions get re-evaluated to refresh their data, so maybe I'll update that info.

Quote:
I will look into refresharea()
Definitely -- when you only want to refresh one specific area, RefreshArea() is much better than Refresh(). (Not that I always remember to use it either... )

- Andy
__________________
SageTV Open Source v9 is available.
- Read the SageTV FAQ. Older PDF User's Guides mostly still apply: SageTV V7.0 & SageTV Studio v7.1.
- Hauppauge remote help: 1) Basics/Extending it 2) Replace it 3) Use it w/o needing focus
- HD Extenders: A) FAQs B) URC MX-700 remote setup
Note: This is a users' forum; see the Rules. For official tech support fill out a Support Request.
Reply With Quote
Reply


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -6. The time now is 12:03 PM.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2023, vBulletin Solutions Inc.
Copyright 2003-2005 SageTV, LLC. All rights reserved.