Things To Do

158 views
Skip to first unread message

Tom Miranda

unread,
Jul 24, 2011, 10:22:55 AM7/24/11
to sagetv-b...@googlegroups.com
For anybody wishing to help, I am starting to get a better feel for how the UI works and where I can use some help.  I'll use this thread to post specific things that need attention.

Here is a start:

- We need a custom repository as specified here: http://developer.boxee.tv/Custom_Repositories This was discussed in another thread in this forum but I'd like to consolidate "who's working on what" into one place, here.

- We need a 200x200 .png to use as a thumbnail for the repository, see the link above.

- I've been trying to figure out how to set the Label on an "edit" control and have spectacularly failed.  (What I'm trying to do is dynamically display a setting value on the button.) Here is a snippit.

                <!-- Sage server name -->
                <control type="group">
                    <posx>40</posx>
                    <posy>50</posy>
                    <width>920</width>
                    <height>60</height>

                    <control type="textbox">
                        <posx>0</posx>
                        <posy>0</posy>
                        <align>left</align>
                        <width>600</width>
                        <height>60</height>
                        <font>font28</font>
                        <textcolor>white</textcolor>
                        <label>Sage server and Port</label>                   
                    </control>
                   
                    <control type="edit">
                        <posx>650</posx>
                        <width>270</width>
                        <font>font28</font>
                        <align>left</align>
                       
                        <control type="label">
                            <info>App.GetValue("SageServer")</info>
                        </control>
                    </control>
                </control>    <!-- Sage server name -->

- I can't figure out why I am unable to display a dialog in an <onclick> tag within a list.  This is a lower priority item since I plan on using custom dialogs (to preserve the look & feel), but it irks me that it doesn't work.

                <item>
                    <controlid>04</controlid>
                    <label>Photos</label>
                    <onclick lang="python">
<![CDATA[
import mc
mc.ShowDialogOk("Message", "OK")
]]>
                    </onclick>
                </item>

- Is there a way to repeat large blocks of XML in different windows?  (Like all the XML used to display the header and footer.) I am pretty sure the answer to this is no because the <include> tag is only supported in the main Boxee program and not individual apps.

- Slugger is working on python code that will retrieve ListItems from the Sage server.  How do we actually feed these listItems into a control?  (This is a biggie.)  I think I am on to it but I'm not certain.

- I can't get the app to close using App.Close().  I have no idea why this doesn't work.

                <item>
                    <controlid>08</controlid>
                    <label>Exit</label>
                    <onclick>App.Close()</onclick>
                </item>

I'll add more things as they come up, and I encourage others to chime in.

Tom

Brian Schneider

unread,
Jul 24, 2011, 10:47:58 AM7/24/11
to sagetv-b...@googlegroups.com
To get the app to close, try this:

<onclick>ActivateWindow(10482)</onclick>

More on Boxee's builtin window IDs are here (10482 is Boxee's app browser): http://developer.boxee.tv/Window_IDs

I'll respond to some of your other points as I think through them.

Brian Schneider

unread,
Jul 24, 2011, 10:49:14 AM7/24/11
to sagetv-b...@googlegroups.com
For the custom repository, what about trying to use the Google code's download section for this (similar to what many SageTV plugins used in terms of storing components for their plugins).

e.g. once the plug is uploaded, the components could be stored/referred to here: http://code.google.com/p/sagetv-boxee/downloads/list

Michael Reid

unread,
Jul 24, 2011, 11:07:59 AM7/24/11
to sagetv-b...@googlegroups.com
Tom-  I haven't read this whole thread yet but u can store that stuff using the python scripts.  There are local application condors we can use,  or create a file if we wanted...

~Mike
--
You received this message because you are subscribed to the Google Groups "SageTV for Boxee (Development)" group.
To view this discussion on the web visit https://groups.google.com/d/msg/sagetv-boxee-dev/-/b34UFTb83_wJ.
To post to this group, send email to sagetv-b...@googlegroups.com.
To unsubscribe from this group, send email to sagetv-boxee-d...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/sagetv-boxee-dev?hl=en.

Tom Miranda

unread,
Jul 24, 2011, 11:16:12 AM7/24/11
to sagetv-b...@googlegroups.com
That worked.  Thank you.

The Boxee docs are pretty thin so doing simple stuff can often be difficult.

Tom Miranda

unread,
Jul 24, 2011, 11:17:13 AM7/24/11
to sagetv-b...@googlegroups.com
Somebody responded in an earlier thread saying the same thing so I think this is the plan.  I just need somebody to actually do it :)

Tom Miranda

unread,
Jul 24, 2011, 11:18:00 AM7/24/11
to sagetv-b...@googlegroups.com
I know I can use python to do it, I just don't know how :)

Michael Reid

unread,
Jul 24, 2011, 11:19:14 AM7/24/11
to sagetv-b...@googlegroups.com
I can gladly do it.  Just won't have time till prolly tomorrow.  If slugger has time it'll take like 30 minutes.  There is ebb a python example of exactly what we need on the boxee website 

~Mike

On Jul 24, 2011, at 10:18 AM, Tom Miranda <tom.m...@gmail.com> wrote:

I know I can use python to do it, I just don't know how :)

--
You received this message because you are subscribed to the Google Groups "SageTV for Boxee (Development)" group.
To view this discussion on the web visit https://groups.google.com/d/msg/sagetv-boxee-dev/-/hcZBG_K3cEgJ.

Tom Miranda

unread,
Jul 24, 2011, 11:22:00 AM7/24/11
to sagetv-b...@googlegroups.com
Adding to the list:

- Once the user enters some data in the Edit Control, how do I access it and store it in the LocalConfig?  From the docs it looks like I need to do the following:

                        <ontextchange lang="python"><![CDATA[
edit = mc.GetWindow(14004).GetEdit(300)
newtext = edit.GetText()
mc.LogDebug("SageBoxee: New SageServer "+ newtext)
config = mc.GetApp().GetLocalConfig()
val = config.SetValue("SageServer", newtext)
mc.LogDebug('SageServer ' + val)
]]>
                        </ontextchange>

But this generates a python script error (which I can post if needed)

Tom Miranda

unread,
Jul 24, 2011, 11:40:57 AM7/24/11
to sagetv-b...@googlegroups.com
I tried a few things on the website and none of them worked.  It's all yours.

Daniel Kohler

unread,
Jul 24, 2011, 12:18:38 PM7/24/11
to sagetv-b...@googlegroups.com
Tom,

I was playing around with the UI you posted on the Sage forums and was noticing the same issues with the onclick handlers of the list items.  From what I can tell, executing python code from the list item is not supported.  As a workaround, I added an onclick handler inside the <content> tag of the list with the following:


            <onclick lang="python">
<![CDATA[
list = mc.GetActiveWindow().GetList(50)
list_foc = list.GetFocusedItem()

if list_foc == 0:
    mc.ActivateWindow(14001)
elif list_foc == 7:
    mc.GetApp().Close()
else:
    mc.ShowDialogNotification("Menu item not implemented")
]]>
            </onclick>


In regards to the app icon, it looks like this cannot be a local file - it needs to be hosted somewhere.  I will take charge of making the icon and setting up the app repository on our google code site, but I don't think I have access to add files to it as of yet.

I started playing around concepts for the EPG today, but the boxee version of the API doesn't appear to support the window.addControl() method, which I wanted to use to dynamically add buttons to the screen.  From what I've seen in looking at other applications (ie Navi-X), one solution is to use the xbmcgui window controls, although I'm having a hard time figuring out how this integrates into a normal Boxee application.

- Dan

Tom Miranda

unread,
Jul 24, 2011, 12:25:37 PM7/24/11
to sagetv-b...@googlegroups.com
Dan,

Thanks for the help.  It looks like you have a lot more experience with this than I so I appreciate the help.

That's a cool trick adding the <onclick> in the <content> tag.  I thought I tried that and it didn't work, probably because I did something wrong.

The code that was posted to the forums is outdated, I've been updating things fairly rapidly.  I'll try to commit my latest code to svn.

Thanks,

Tom

Daniel Kohler

unread,
Jul 24, 2011, 12:36:16 PM7/24/11
to sagetv-b...@googlegroups.com
No problem. I actually have zero experience here, just kind of hacking my way through.  The Boxee docs look good on the surface, but once you try to actually do something productive, you realize they're lacking...

I think the trick with the onclick handler in <content> is use <content type="action">

Tom Miranda

unread,
Jul 24, 2011, 12:38:22 PM7/24/11
to sagetv-b...@googlegroups.com
I've never even noticed the "action" type.

Tom Miranda

unread,
Jul 24, 2011, 2:57:01 PM7/24/11
to sagetv-b...@googlegroups.com
Adding to the To Do list:

- Need to find out how to periodically update the UI so reflect changes in system status.

Michael Reid

unread,
Jul 24, 2011, 3:05:30 PM7/24/11
to sagetv-b...@googlegroups.com
Can python listen for and fire events?  I think prolly not but I am new to python.

~Mike

On Jul 24, 2011, at 1:57 PM, Tom Miranda <tom.m...@gmail.com> wrote:

Adding to the To Do list:

- Need to find out how to periodically update the UI so reflect changes in system status.

--
You received this message because you are subscribed to the Google Groups "SageTV for Boxee (Development)" group.
To view this discussion on the web visit https://groups.google.com/d/msg/sagetv-boxee-dev/-/YqnjFoynkukJ.

Derek Battams

unread,
Jul 24, 2011, 3:07:35 PM7/24/11
to sagetv-b...@googlegroups.com
We can implement it, but the more important question is, does boxee support/allow threading?  Are the boxee UI widgets thread safe?

  - Derek

Michael Reid

unread,
Jul 24, 2011, 3:17:20 PM7/24/11
to sagetv-b...@googlegroups.com
Cool.  I searched real quick and didn't see anything about the multiple threads.

For sage content playback how do u guys feel about using the sagex to get file locations and use direct smb access for playback?  This would of course create a dependency that would require the boxee to have smb share access to all the users content,  but could work nicely.  Not sure if that will buy us anything over the http live stream or not.  Just an idea.

~Mike

Derek Battams

unread,
Jul 24, 2011, 3:20:16 PM7/24/11
to sagetv-b...@googlegroups.com
This is the way I would want it work for my env.  I think live tv + in progress recordings would only work with live HTTP streaming, but just using smb access is a solid starting point.

Michael Reid

unread,
Jul 24, 2011, 3:27:10 PM7/24/11
to sagetv-b...@googlegroups.com
Agreed.  

~Mike

Derek Battams

unread,
Jul 24, 2011, 3:30:52 PM7/24/11
to sagetv-b...@googlegroups.com
So I've taken some of the standalone todo items Tom has listed and created issue tickets in the Google Code project:


I've assigned the custom app repository to myself, I'll tackle that one.

The others are up for grabs.  If you want to take one of those tasks on let me know and I'll add you to the project, which will give you commit access to the svn repository.  This is how you gain write access to the repository.  Also, creating a new task/feature/bug item in the tracker and saying you want it assigned to yourself will also get you write access to the svn repository.

All I ask of people before they commit new files/directories to svn is fire off a message to the list here and make sure we're all in agreement as to the structure/layout of new files before committing them to svn - I really want to try and avoid a disorganized svn repo as much as possible.  It's easier to discuss and decide the layout ahead of time instead of trying to reorganize the repository weeks from now.

  - Derek

Michael Reid

unread,
Jul 24, 2011, 3:44:38 PM7/24/11
to sagetv-b...@googlegroups.com
I'll look into the multi threaded task.

~Mike
--
You received this message because you are subscribed to the Google Groups "SageTV for Boxee (Development)" group.
To view this discussion on the web visit https://groups.google.com/d/msg/sagetv-boxee-dev/-/AUxhiCE25q0J.

Daniel Kohler

unread,
Jul 24, 2011, 3:55:12 PM7/24/11
to sagetv-b...@googlegroups.com
Could you add me to the project please, Derek?  Thanks.

Michael Reid

unread,
Jul 24, 2011, 3:59:04 PM7/24/11
to sagetv-b...@googlegroups.com
Me too please.  I will start looking into the multi thread and can continue working with tom on the layer between API and ui,  if still needed.  Prolly not till tomorrow though.  If someone else wants to start today that's cool,  I can just jump in tomorrow when I have time.

~Mike

On Jul 24, 2011, at 2:55 PM, Daniel Kohler <dkko...@gmail.com> wrote:

Could you add me to the project please, Derek?  Thanks.

--
You received this message because you are subscribed to the Google Groups "SageTV for Boxee (Development)" group.
To view this discussion on the web visit https://groups.google.com/d/msg/sagetv-boxee-dev/-/o_dvBhJEuh4J.

Tom Miranda

unread,
Jul 24, 2011, 4:05:38 PM7/24/11
to sagetv-b...@googlegroups.com
Daniel,

I've started a "To Do" list in this discussion group.  Here is the latest code. Dig in :)

If you don't like anything on the "to do" list let me know what you want to work on so we do not duplicate effort.  Right now I'm trying to figure out how to set the ItemList in the recordings menu.  Derek's api is working but I'm not sure how to get the UI to recognize it.  Take a look at recordings.xml.

Tom
SageBoxee.zip

Tom Miranda

unread,
Jul 24, 2011, 4:06:41 PM7/24/11
to sagetv-b...@googlegroups.com
I'm certain there will be a lot more python to write.

Tom Miranda

unread,
Jul 24, 2011, 4:26:31 PM7/24/11
to sagetv-b...@googlegroups.com
Chalk off setting the label on an edit control.  Got that one figured out :)

Michael Reid

unread,
Jul 24, 2011, 4:28:32 PM7/24/11
to sagetv-b...@googlegroups.com
What was wrong?

~Mike

On Jul 24, 2011, at 3:26 PM, Tom Miranda <tom.m...@gmail.com> wrote:

Chalk off setting the label on an edit control.  Got that one figured out :)

--
You received this message because you are subscribed to the Google Groups "SageTV for Boxee (Development)" group.
To view this discussion on the web visit https://groups.google.com/d/msg/sagetv-boxee-dev/-/2AFaBX3yOScJ.

Tom Miranda

unread,
Jul 24, 2011, 4:48:19 PM7/24/11
to sagetv-b...@googlegroups.com
I was trying to change the wrong thing.  It ends up that you have to populate the edit buffer with whatever you want to show up in the button.  Clear as mud.  Code looks like this:

edit = mc.GetWindow(14004).GetEdit(301)
val = config.GetValue("UNCmap")
edit.SetText(val)
mc.LogDebug("SageBoxee: UNCmap set to "+ val)

This fetches the data from the LocalConfig and puts it in the edit buffer in control 301 so when the menu is displayed it appears in the button, and when the user starts editing they start out with the current contents instead of an empty string.

I want Studio for Boxee.  I'm beginning to think Google bought Sage to get their hands on Studio :)

Daniel Kohler

unread,
Jul 24, 2011, 5:00:50 PM7/24/11
to sagetv-b...@googlegroups.com
I took care of the application icon and uploaded it to the Downloads section of Google Code.  You'll just need to update the <thumb> tag in description.xml to http://sagetv-boxee.googlecode.com/files/thumb.png

Are you still working on the list items stuff?  If so, I'll start looking at that in parallel if you'd like.

Tom Miranda

unread,
Jul 24, 2011, 5:08:59 PM7/24/11
to sagetv-b...@googlegroups.com
Looks great!  Thanks.

Tom Miranda

unread,
Jul 24, 2011, 5:29:17 PM7/24/11
to sagetv-b...@googlegroups.com
The ItemList stuff is being worked on by Derek, as is the Boxee repository.  You all ripped through my "to do" list so fast I'll have to update it :)

Daniel Kohler

unread,
Jul 24, 2011, 5:37:49 PM7/24/11
to sagetv-b...@googlegroups.com
One thing that would probably be helpful to get done sooner rather than later is support for entering & storing the Jetty web server connection info.  Once we can pull the connection info from the app configuration, start.py can be modified to prompt the user for this information the first time the app starts.

Michael Reid

unread,
Jul 24, 2011, 5:43:10 PM7/24/11
to sagetv-b...@googlegroups.com
 Damn u guys are making so much progress and I have done little API work to help so far :-/. Now that Jamie is back home and can help with JR I can start helping again..

Sorry for my lack of help so far.  :-(

~Mike

On Jul 24, 2011, at 4:37 PM, Daniel Kohler <dkko...@gmail.com> wrote:

One thing that would probably be helpful to get done sooner rather than later is support for entering & storing the Jetty web server connection info.  Once we can pull the connection info from the app configuration, start.py can be modified to prompt the user for this information the first time the app starts.

--
You received this message because you are subscribed to the Google Groups "SageTV for Boxee (Development)" group.
To view this discussion on the web visit https://groups.google.com/d/msg/sagetv-boxee-dev/-/nsX4Q19rPu8J.

Tom Miranda

unread,
Jul 24, 2011, 5:45:51 PM7/24/11
to sagetv-b...@googlegroups.com
I've already got the UI created that allows the user to input the data.  The start script doesn't do any error checking or checking for the first time, feel free to edit it.  Attached.

My initial thought are to create the sageAPI in the start script so it can be used throughout the app as a global var.  When the user edits any of the data I recreate sageAPI.

Go ahead with any other fancy stuff you want to do in there  ;)
startsage.zip

Daniel Kohler

unread,
Jul 24, 2011, 5:50:35 PM7/24/11
to sagetv-b...@googlegroups.com
Cool, that all sounds good.  Makes sense to create it once on start and store it in a global variable.  I've got some thoughts on app configuration but I think I'll start a new thread related to that.

-Dan

Tom Miranda

unread,
Jul 24, 2011, 5:51:35 PM7/24/11
to sagetv-b...@googlegroups.com
Mike,

I've got you lined up to figure out how to keep the icons updated.  The a look at the <onload> tag in main.xml (attached) to see what needs to be done.

I think this specific issue is tough for two reasons:

- You probably have to do some threading gymnastics.  Hopefully this can be avoided but so far I see no way to fire an event based on a timer.  If I were you I'd still investigate this area more before assuming we need to have multiple threads running.

- The icons have to be updated in EVERY menu and there is no way (that I know of) to automatically duplicate the code in each menu.  It's all cut and paste, and if a change is made in one menu it has to be manually changed in all of the menus.

Tom
main.zip

Michael Reid

unread,
Jul 24, 2011, 5:53:41 PM7/24/11
to sagetv-b...@googlegroups.com
Perfect!  Thanks.  And again my apologies.  My 6 week old kinda trumps any fun stuff like this :-)

~Mike
--
You received this message because you are subscribed to the Google Groups "SageTV for Boxee (Development)" group.
To view this discussion on the web visit https://groups.google.com/d/msg/sagetv-boxee-dev/-/Oq4iaevW6RIJ.

To post to this group, send email to sagetv-b...@googlegroups.com.
To unsubscribe from this group, send email to sagetv-boxee-d...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/sagetv-boxee-dev?hl=en.
<main.zip>

Tom Miranda

unread,
Jul 24, 2011, 6:54:16 PM7/24/11
to sagetv-b...@googlegroups.com
As far as I can tell the list is down to three things, all of which have a name next to them:

- UNC mappings: Derek and Daniel will sort this out.  Just let me know what the UI needs to do.
- Boxee repository: Derek
- How to keep system status icons updated: Mike

I'm "regrouping" and taking stock of things right now.  Once I figure out what needs to be done next I'll let you know.  The most important thing that needs to be done is getting an ItemList to load into the UI.

Daniel Kohler

unread,
Jul 24, 2011, 7:03:39 PM7/24/11
to sagetv-b...@googlegroups.com

My list of recordings loads into the UI, although I've got logos stretched out everywhere else =)


Tom Miranda

unread,
Jul 24, 2011, 7:48:25 PM7/24/11
to sagetv-b...@googlegroups.com
If you are talking about the green SageTV logos - that's my test pattern.

If you really did get things to load - how?  I'm still waiting on a fix from Derek.

Daniel Kohler

unread,
Jul 24, 2011, 7:54:27 PM7/24/11
to sagetv-b...@googlegroups.com
Derek checked in a method to return the items as a ListItems object earlier today.  So, I updated recordings.xml with this:

items = sage.mediaFileListToListItems(api.GetMediaFiles('T'))

Derek Battams

unread,
Jul 24, 2011, 7:55:27 PM7/24/11
to sagetv-b...@googlegroups.com
A fix for what?  The ascii/unicode encoding issue and/or the SetItems() issues?  They were fixed hours ago and committed to svn. :)

  - Derek

On Sun, Jul 24, 2011 at 19:48, Tom Miranda <tom.m...@gmail.com> wrote:
If you are talking about the green SageTV logos - that's my test pattern.

If you really did get things to load - how?  I'm still waiting on a fix from Derek.

--
You received this message because you are subscribed to the Google Groups "SageTV for Boxee (Development)" group.
To view this discussion on the web visit https://groups.google.com/d/msg/sagetv-boxee-dev/-/k1xN-9QibpUJ.

Michael Reid

unread,
Jul 24, 2011, 7:55:46 PM7/24/11
to sagetv-b...@googlegroups.com
I don't even get app launch.  I'm running on ubuntu 64 bit

~Mike

On Jul 24, 2011, at 6:48 PM, Tom Miranda <tom.m...@gmail.com> wrote:

If you are talking about the green SageTV logos - that's my test pattern.

If you really did get things to load - how?  I'm still waiting on a fix from Derek.

--

Derek Battams

unread,
Jul 24, 2011, 7:58:17 PM7/24/11
to sagetv-b...@googlegroups.com
What's the boxee log have to say?  You might have to enable debug logging and restart boxee to get more detailed logs from the app launch.

  - Derek

Tom Miranda

unread,
Jul 24, 2011, 8:05:39 PM7/24/11
to sagetv-b...@googlegroups.com
I didn't see a fix for SetItems.  I just grabbed what was there and got the same error:

20:02:58 T:6124 M:1202417664   ERROR: Scriptresult: Error
20:02:58 T:6124 M:1202417664  NOTICE: Traceback (most recent call last):
20:02:58 T:6124 M:1202421760  NOTICE:   File "<string>", line 5, in ?
20:02:58 T:6124 M:1202421760  NOTICE:   File "C:\Program Files\Boxee\system\python\local\mc.py", line 2010, in SetItems
20:02:59 T:6124 M:1202376704  NOTICE: return _mc.List_SetItems(*args)
20:02:59 T:6124 M:1202376704  NOTICE: NotImplementedError
20:02:59 T:6124 M:1202376704  NOTICE: :
20:02:59 T:6124 M:1202376704  NOTICE: Wrong number of arguments for overloaded function 'List_SetItems'.
                                              Possible C/C++ prototypes are:
                                                SetItems(XAPP::ListItems,int)
                                                SetItems(XAPP::ListItems)

Is there a new method I should be using?  My code is still the same:

items = sage.mediaFileListToListItemList(sageAPI.GetMediaFiles('T'))
mc.GetWindow(14001).GetList(101).SetItems(items)

Derek Battams

unread,
Jul 24, 2011, 8:08:25 PM7/24/11
to sagetv-b...@googlegroups.com
Yeah, there's a new method that returns the different object type.  After updating with the latest from svn, replace:

items = sage.mediaFileListToListItemList(sageAPI.GetMediaFiles('T'))

With:

items = sage.mediaFileListToListItems(sageAPI.GetMediaFiles('T'))

--
You received this message because you are subscribed to the Google Groups "SageTV for Boxee (Development)" group.
To view this discussion on the web visit https://groups.google.com/d/msg/sagetv-boxee-dev/-/56Kg5jXnfvMJ.

Tom Miranda

unread,
Jul 24, 2011, 8:28:41 PM7/24/11
to sagetv-b...@googlegroups.com
I finally saw it.  Your post and another came in at the same time, just as I was sitting down to dinner, so I missed it!  See my comments in the other thread, I'm seeing strange behavior.

Michael Reid

unread,
Jul 24, 2011, 8:44:28 PM7/24/11
to sagetv-b...@googlegroups.com
Yeah I got all that stuff on from the dev I was doing.  Got busy again... Sorry I'll look into this more and see if I see anything in the log.  I'll get back to ya guys later.

~Mike

Tom Miranda

unread,
Jul 24, 2011, 8:49:53 PM7/24/11
to sagetv-b...@googlegroups.com
This is the latest.
SageBoxee.zip

Derek Battams

unread,
Jul 24, 2011, 9:16:51 PM7/24/11
to sagetv-b...@googlegroups.com
svn now reflects the zip file that Tom posted.  svn is up to date as of right now. :)

  - Derek



On Sun, Jul 24, 2011 at 20:49, Tom Miranda <tom.m...@gmail.com> wrote:
This is the latest.

--
You received this message because you are subscribed to the Google Groups "SageTV for Boxee (Development)" group.
To view this discussion on the web visit https://groups.google.com/d/msg/sagetv-boxee-dev/-/I9mHlx8GAPQJ.

Michael Reid

unread,
Jul 24, 2011, 10:07:16 PM7/24/11
to sagetv-b...@googlegroups.com
everything is looking GREAT guys!  awesome job so far.

with the settings should i be able to set the jetty info via the ui at this point, or do i need to set it manually in one of the files?
--
~Mike

Tom Miranda

unread,
Jul 24, 2011, 10:11:04 PM7/24/11
to sagetv-b...@googlegroups.com
The UI should work for server name (and port), jetty name and jetty password.

Karl Ricker

unread,
Jul 25, 2011, 4:28:54 PM7/25/11
to sagetv-b...@googlegroups.com
Do you still need a 200x200 .png thumbnail for the Repo?

Derek Battams

unread,
Jul 25, 2011, 5:11:25 PM7/25/11
to sagetv-b...@googlegroups.com
We've got one.

  - Derek


On Mon, Jul 25, 2011 at 16:28, Karl Ricker <kjri...@gmail.com> wrote:
Do you still need a 200x200 .png thumbnail for the Repo?

--
You received this message because you are subscribed to the Google Groups "SageTV for Boxee (Development)" group.
To view this discussion on the web visit https://groups.google.com/d/msg/sagetv-boxee-dev/-/OjhjXw2TK3YJ.

Karl Ricker

unread,
Jul 25, 2011, 5:48:50 PM7/25/11
to sagetv-b...@googlegroups.com
Oh well. I guess you won't need either of these then.



Daniel Kohler

unread,
Jul 25, 2011, 6:00:59 PM7/25/11
to sagetv-b...@googlegroups.com
Awesome! Those are cleaner than the ones that I made, so we can definitely use them.  The only thing is that they should have a black background. If you can change the background to black, and save them as 200x200 png's, I can update it.

Tom Miranda

unread,
Jul 25, 2011, 6:59:34 PM7/25/11
to sagetv-b...@googlegroups.com
I like the one with the Boxee logo in the middle.  Nice touch.

Karl Ricker

unread,
Jul 26, 2011, 10:09:47 AM7/26/11
to sagetv-b...@googlegroups.com
Okay. I made the background black and scaled them down to 200x200.



Karl Ricker

unread,
Jul 26, 2011, 10:12:11 AM7/26/11
to sagetv-b...@googlegroups.com
If there are any other needs for custom graphics, just let me know.

Michael Reid

unread,
Jul 26, 2011, 10:16:51 AM7/26/11
to sagetv-b...@googlegroups.com
Karl you are awesome!

email me about the ipad remote images if ya get a chance?  just wondering how those are going and if we got something for me to update the mobile we remotes with.. i would relaly like to roll out swipe and motion remotes to the general user base.

On Tue, Jul 26, 2011 at 9:12 AM, Karl Ricker <kjri...@gmail.com> wrote:
If there are any other needs for custom graphics, just let me know.

--
You received this message because you are subscribed to the Google Groups "SageTV for Boxee (Development)" group.
To view this discussion on the web visit https://groups.google.com/d/msg/sagetv-boxee-dev/-/P-ni6mZ6ccMJ.

To post to this group, send email to sagetv-b...@googlegroups.com.
To unsubscribe from this group, send email to sagetv-boxee-d...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/sagetv-boxee-dev?hl=en.



--
~Mike

Debacle

unread,
Jul 26, 2011, 10:17:17 AM7/26/11
to sagetv-b...@googlegroups.com
Looks sharp. 2 things I wonder about. Will there be an issue with trademark infringement? I mean, it looks as if we are using the Sage background on a Boxee logo on the one. Can this be a legal issue later on? Second, would it be better to make the black in the png transparent instead. That way if someone skins it with a different color background, there wont be this black box hanging around it. 

Karl Ricker

unread,
Jul 26, 2011, 10:27:43 AM7/26/11
to sagetv-b...@googlegroups.com
I wondered about the trademark issue as well. That's why I created the "standard" logo. I personally don't like the black, but that's what I was asked to do.

None of the Boxee apps use transparent backgrounds. Same goes for XBMC. The add-on thumb requirement for XBMC is that it live on a background of some kind. Having them on transparent backgrounds could look great sometimes, but there is no guarantee it will always look great. Having all Apps or Add-ons use a background at least gives some consistency.

Karl Ricker

unread,
Jul 26, 2011, 11:20:13 AM7/26/11
to sagetv-b...@googlegroups.com

....and now let me introduce "Soxee"



Michael Reid

unread,
Jul 26, 2011, 11:23:34 AM7/26/11
to sagetv-b...@googlegroups.com
haha

On Tue, Jul 26, 2011 at 10:20 AM, Karl Ricker <kjri...@gmail.com> wrote:

....and now let me introduce "Soxee"



--
You received this message because you are subscribed to the Google Groups "SageTV for Boxee (Development)" group.
To view this discussion on the web visit https://groups.google.com/d/msg/sagetv-boxee-dev/-/jvl8y4LA63MJ.

To post to this group, send email to sagetv-b...@googlegroups.com.
To unsubscribe from this group, send email to sagetv-boxee-d...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/sagetv-boxee-dev?hl=en.



--
~Mike

Karl Ricker

unread,
Jul 26, 2011, 11:24:29 AM7/26/11
to sagetv-b...@googlegroups.com

...and "Soxee" version b

Daniel Kohler

unread,
Jul 26, 2011, 11:33:21 AM7/26/11
to sagetv-b...@googlegroups.com
The black background is the standard for Boxee application images.  I haven't seen any apps with a transparent background, so I think that is a no-no, although I agree having a few versions with transparent backgrounds would be nice for use elsewhere.

The background doesn't have to be black.  Pandora and Netflix have different colored backgrounds, so if you have a different color / gradient / etc in mind, go for it.  I personally like the black background - looks good in the Boxee UI.

-Dan

Michael Reid

unread,
Jul 26, 2011, 11:49:07 AM7/26/11
to sagetv-b...@googlegroups.com
all - i see some interesting things in the mytboxee code...saving fanart, banners, recordings list, etc into system cache and using pickle (i am not familiar with this) to retrieve them...  may be worth it to take a look at some of that code and see what we can leverage.

The reason i  was in there is i was trying to determine if the developer used some sort of "mutli-thread" to update the recordings status, etc, but it doesn't appear as though he does.  he uses a refresh button at the top of the page....

--
You received this message because you are subscribed to the Google Groups "SageTV for Boxee (Development)" group.
To view this discussion on the web visit https://groups.google.com/d/msg/sagetv-boxee-dev/-/QU4Ry3z9DawJ.

To post to this group, send email to sagetv-b...@googlegroups.com.
To unsubscribe from this group, send email to sagetv-boxee-d...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/sagetv-boxee-dev?hl=en.



--
~Mike

Karl Ricker

unread,
Jul 26, 2011, 11:49:51 AM7/26/11
to sagetv-b...@googlegroups.com
Looking through the app library shows a variety of different backgrounds. I'll play around a bit more and see what I come up with. I've already made 3 more variations. I may need to start a gallery of them and post that.

Michael Reid

unread,
Jul 26, 2011, 12:03:14 PM7/26/11
to sagetv-b...@googlegroups.com
Alright so for the recording indicator and system status I haven't found anything online regarding "multi threaded applications" for boxee.  I did come up with an idea which may or maynot work.  I dunno on the performace though.  I would have to play with it.

basically the concept is this:

1) on program load call a python function which sits in loop
2) first thing we would do in this function is get the system status and recording indicator
3) we can then setup a time delayed loop which will be set to refresh every say 30 seconds
4) this function will be constantly loaded and running.

now i don't know for sure that this will work because it is sort of forking the program and making its own thread so to speak, but i though it was worth a try...

Michael Reid

unread,
Jul 26, 2011, 12:07:39 PM7/26/11
to sagetv-b...@googlegroups.com
i think i just discovered a little better way.. ill try and let you know.

--
You received this message because you are subscribed to the Google Groups "SageTV for Boxee (Development)" group.
To view this discussion on the web visit https://groups.google.com/d/msg/sagetv-boxee-dev/-/Y_7biNNtq_4J.

To post to this group, send email to sagetv-b...@googlegroups.com.
To unsubscribe from this group, send email to sagetv-boxee-d...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/sagetv-boxee-dev?hl=en.



--
~Mike

Daniel Kohler

unread,
Jul 26, 2011, 12:17:55 PM7/26/11
to sagetv-b...@googlegroups.com
Take a look at this post from the Boxee forums. It actually looks like creating a new thread in Python is pretty easy.

http://forums.boxee.tv/showpost.php?p=101348&postcount=14

Michael Reid

unread,
Jul 26, 2011, 12:18:35 PM7/26/11
to sagetv-b...@googlegroups.com
dude ive been searching everywhere for something like that!

i must be off my game today

On Tue, Jul 26, 2011 at 11:17 AM, Daniel Kohler <dkko...@gmail.com> wrote:
Take a look at this post from the Boxee forums. It actually looks like creating a new thread in Python is pretty easy.

http://forums.boxee.tv/showpost.php?p=101348&postcount=14

--
You received this message because you are subscribed to the Google Groups "SageTV for Boxee (Development)" group.
To view this discussion on the web visit https://groups.google.com/d/msg/sagetv-boxee-dev/-/GRLmOTNGjJ8J.

To post to this group, send email to sagetv-b...@googlegroups.com.
To unsubscribe from this group, send email to sagetv-boxee-d...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/sagetv-boxee-dev?hl=en.



--
~Mike

Michael Reid

unread,
Jul 26, 2011, 3:14:19 PM7/26/11
to sagetv-b...@googlegroups.com
Just got the system indicators working,... only doing the library import scan right now but it is working nicely.  I currently have it running as a function directly in the main.xml, but we could prolly move it somewhere that makes more sense.  It is quite simple actually.  I went round and round with how to do it and tried so many different things.  sometimes the simplest solution is right there in from of you.

Michael Reid

unread,
Jul 26, 2011, 3:44:42 PM7/26/11
to sagetv-b...@googlegroups.com
Derek is there a way in your api for me to see if things are recording and have a bool returned?  if not then can i simply call GetCurrently RecordingMediaFiles() and test for something like isEmpty()

Derek Battams

unread,
Jul 26, 2011, 3:50:23 PM7/26/11
to sagetv-b...@googlegroups.com
api.EvaluateExpression('Size(GetCurrentlyRecordingMediaFiles()) > 0')

That API call will return a boolean.  Now, if you find yourself needing that particular call all over the place then we can actually add a custom API call to sage.py, perhaps something like:

api.IsSomethingRecording()

Under the hood, it would make the first call above.  But if you want something that works right now with no changes to sage.py then the first line is the call to use.

  - Derek

On Tue, Jul 26, 2011 at 15:44, Michael Reid <mrei...@gmail.com> wrote:
Derek is there a way in your api for me to see if things are recording and have a bool returned?  if not then can i simply call GetCurrently RecordingMediaFiles() and test for something like isEmpty()

--
You received this message because you are subscribed to the Google Groups "SageTV for Boxee (Development)" group.
To view this discussion on the web visit https://groups.google.com/d/msg/sagetv-boxee-dev/-/qg7xFsC2rygJ.

Michael Reid

unread,
Jul 26, 2011, 4:12:57 PM7/26/11
to sagetv-b...@googlegroups.com
Thanks Derek that did the trick.  I am getting a sage api exception when executing the following

statusLevel = api.GetSystemMessageLevel()

error = 
15:10:42 T:5576 M:2382123008   ERROR: Scriptresult: Error
15:10:42 T:5576 M:2382123008  NOTICE: Traceback (most recent call last):
15:10:42 T:5576 M:2382123008  NOTICE:   File "<string>", line 48, in ?
15:10:42 T:5576 M:2382123008  NOTICE:   File "<string>", line 31, in setSystemIcons
15:10:42 T:5576 M:2382123008  NOTICE:   File "C:\Users\MReid\AppData\Roaming\BOXEE\userdata\apps\com.googlecode.sagetvboxee.SageBoxee\sage.py", line 224, in __call__
15:10:42 T:5576 M:2382110720  NOTICE: raise SageApiException(resp)
15:10:42 T:5576 M:2382110720  NOTICE: sage
15:10:42 T:5576 M:2382110720  NOTICE: .
15:10:42 T:5576 M:2382110720  NOTICE: SageApiException
--
~Mike

Derek Battams

unread,
Jul 26, 2011, 4:18:52 PM7/26/11
to sagetv-b...@googlegroups.com
I need to expand out the error logging in sage.py still. :)

Anyway, the problem is that GetSystemMessageLevel() expects a system message as an arg.  I think you meant to call GetSystemAlertLevel(), which takes no args and returns 0-3.

  - Derek

Michael Reid

unread,
Jul 26, 2011, 4:38:55 PM7/26/11
to sagetv-b...@googlegroups.com
Thanks got it working.  I have the System recording indicator working, system alert level (will need to call differnt icons based on the alert level..simple) conflict, and library import working.  Currently i have the function in my main.xml file, so im not sure how you want to handle it.  but its really simple and works well.  Just took me a bit to figure out python which im still learning, and trying to figure out all of the different way to skin this cat..

How would u like me to make this code available?  do you want me to check it in or would you like me to send it to you so you can review it?
icons1.png
icons2.png

Derek Battams

unread,
Jul 26, 2011, 4:45:29 PM7/26/11
to sagetv-b...@googlegroups.com
I wouldn't mind looking at it before you commit it.  Not so much to be the svn police, but I'm more interested in seeing if there's a way to refactor it into a general location such that all windows will be able to access it?  Don't the status icons show up on all windows (like tv recordings list window, for example) in Sage?  I think this is a good example where we can take a step back, take a deep breath and see what we have here and how to clean it up for maximum reuse.

  - Derek


On Tue, Jul 26, 2011 at 16:38, Michael Reid <mrei...@gmail.com> wrote:
Thanks got it working.  I have the System recording indicator working, system alert level (will need to call differnt icons based on the alert level..simple) conflict, and library import working.  Currently i have the function in my main.xml file, so im not sure how you want to handle it.  but its really simple and works well.  Just took me a bit to figure out python which im still learning, and trying to figure out all of the different way to skin this cat..

How would u like me to make this code available?  do you want me to check it in or would you like me to send it to you so you can review it?

--
You received this message because you are subscribed to the Google Groups "SageTV for Boxee (Development)" group.
To view this discussion on the web visit https://groups.google.com/d/msg/sagetv-boxee-dev/-/Qcm6vGTcbskJ.

Michael Reid

unread,
Jul 26, 2011, 4:46:59 PM7/26/11
to sagetv-b...@googlegroups.com
yup they do...this needs to be tweaked a bit to allow that to happen, but unless we are going to use some sort of a header panel which remains constant on every page we will need to call this code on every screen.  Ill email my code to you
--
~Mike

Daniel Kohler

unread,
Jul 26, 2011, 4:53:14 PM7/26/11
to sagetv-b...@googlegroups.com
Can we make a new class which inherits from the mc.Control class that contains all the logic for displaying the status icons?  If that is possible, it might make sense to do the same for other objects (time, etc) that appear on multiple screens.

Derek Battams

unread,
Jul 26, 2011, 5:08:52 PM7/26/11
to sagetv-b...@googlegroups.com
I don't know if it's possible or not, but it certainly sounds like a good idea.  Admittedly, I haven't spent much time looking at any of the Boxee UI code - I leave that stuff to Tom, et al. :)  But this is good stuff and the kind of stuff we should be looking at in closer detail and discussing right now.  If we have to call the status bar code in every page then that's fine, but hopefully we don't and this is the time to start investigating that before we run off and create too many more features/windows/widgets/etc.  Just imagine if we had to call it in every window and something had to change - having to make that same change in 6, 8, 12, 20 window files is mind numbing at best and at worst, rather error prone.  Hopefully we can do something like create a base class that puts all this code in one spot.

  - Derek

On Tue, Jul 26, 2011 at 16:53, Daniel Kohler <dkko...@gmail.com> wrote:
Can we make a new class which inherits from the mc.Control class that contains all the logic for displaying the status icons?  If that is possible, it might make sense to do the same for other objects (time, etc) that appear on multiple screens.

--
You received this message because you are subscribed to the Google Groups "SageTV for Boxee (Development)" group.
To view this discussion on the web visit https://groups.google.com/d/msg/sagetv-boxee-dev/-/lUk8egrcmPIJ.

Michael Reid

unread,
Jul 26, 2011, 5:26:05 PM7/26/11
to sagetv-b...@googlegroups.com
yup thats a great idea.  My time will be limited tomorrow on this, so i wanted to get something working  so that others could use it, and or change it.  It may not be the best solution, im not really sure.  I used what Derek sent in this post, and i scoured the net for other examples.  The simplest thing i could come up with is attached to this post.  As mentioned before im still learning python so be gentle :-)

everything i did is in the main.xml file.  I did had to add 1 image id i think 899 but other then that the main.xml is the same as whats checked in less my changes at the top of course.

the basic concept is to use the Timer function in the threading class.  you can bascially setup a timer to exectue at certain intervals.  in my case i did 5 seconds for testing purposes.  I did several tests, and everything seems to work nicely.  if i start a recording, within about 5 - 10 seconds the rec indicator will show up in boxee.  if i force a conflict that guy pops up. once cleared it goes away...the dealy is a bit off depending on where the current timer is when the action occurse...so you could be waiting for at most 10 seconds i think is what i have experienced.  all in all not a bad start.

I also tested to make sure that using this Timer concept didn't slow the rest of the ui down, and as of the way our ui is right now it was not causing any issues.
main.xml

Daniel Kohler

unread,
Jul 26, 2011, 5:43:24 PM7/26/11
to sagetv-b...@googlegroups.com
Mike, once you start that timer event, do you know if it keeps running even after you move to a new screen?  If so, maybe the timer callback can use the mc.GetActiveWindow() method so that it is always updating the status icons on the current screen.

-Dan

Michael Reid

unread,
Jul 26, 2011, 5:46:00 PM7/26/11
to sagetv-b...@googlegroups.com
I'm not 100% sure.  I know that on page load the event would run again.  Let me see if it keeps running when navigating away.  My gut says I'm not sure.  :-D

I'll test right now.

~Mike

On Jul 26, 2011, at 4:43 PM, Daniel Kohler <dkko...@gmail.com> wrote:

Mike, once you start that timer event, do you know if it keeps running even after you move to a new screen?  If so, maybe the timer callback can use the mc.GetActiveWindow() method so that it is always updating the status icons on the current screen.

-Dan

--
You received this message because you are subscribed to the Google Groups "SageTV for Boxee (Development)" group.
To view this discussion on the web visit https://groups.google.com/d/msg/sagetv-boxee-dev/-/CPl2dnX5pSMJ.

Daniel Kohler

unread,
Jul 26, 2011, 6:03:37 PM7/26/11
to sagetv-b...@googlegroups.com
I just updated the app icon the the normal SageTV logo Karl created. If we decide to use the Boxee logo one, we should first ask around on the Boxee forums regarding trademark issues.

-Dan

Michael Reid

unread,
Jul 26, 2011, 6:17:09 PM7/26/11
to sagetv-b...@googlegroups.com
Looks to me like the answer is yes.  i added a print stmnt which is the first line in the recurseive function, and after i navigate away from the home screen to recordings i get an error which inidcated to me that it is trying to update the control appropaitely but can no longer find it:

17:11:39 T:2664 M:2889879552  NOTICE: MREID - STILL HERE!!!!
17:11:39 T:2664 M:2889879552   ERROR: Scriptresult: Error
17:11:39 T:2664 M:2889879552  NOTICE: Traceback (most recent call last):
17:11:39 T:2664 M:2889879552  NOTICE:   File "<string>", line 72, in ?
17:11:39 T:2664 M:2889879552  NOTICE:   File "<string>", line 68, in setSystemIcons
17:11:39 T:2664 M:2889879552  NOTICE:   File "<string>", line 68, in setSystemIcons

Daniel Kohler

unread,
Jul 26, 2011, 6:22:33 PM7/26/11
to sagetv-b...@googlegroups.com
Good to know. Now, I wonder if it keeps running when you exit the application?  Apparently some apps use threading to keep things running even when the application is closed.  I think this is how the Pandora app plays music in the background even when you exit the app.

-Dan

Michael Reid

unread,
Jul 26, 2011, 6:24:39 PM7/26/11
to sagetv-b...@googlegroups.com
I was reading that on app exit u should clean up things like threading.Timer

~Mike

On Jul 26, 2011, at 5:22 PM, Daniel Kohler <dkko...@gmail.com> wrote:

Good to know. Now, I wonder if it keeps running when you exit the application?  Apparently some apps use threading to keep things running even when the application is closed.  I think this is how the Pandora app plays music in the background even when you exit the app.

-Dan

--
You received this message because you are subscribed to the Google Groups "SageTV for Boxee (Development)" group.
To view this discussion on the web visit https://groups.google.com/d/msg/sagetv-boxee-dev/-/TkKyixa-YewJ.

Derek Battams

unread,
Jul 26, 2011, 6:35:40 PM7/26/11
to sagetv-b...@googlegroups.com
You do all that setup in <onload>.  Can I assume there is an <onexit> or <onunload> or something like that?  If so, save a reference to the active Timer instance and in <onexit> cancel the Timer via cancel().  That would be one way to keep threads cleaned up.  Of course, I'm not sure if variables can be shared between separate event handlers in the xml?  There must be some way to do it because they also expect you to clean up threads when the app exits so there must be a separate event for that?

  - Derek

Daniel Kohler

unread,
Jul 26, 2011, 6:41:33 PM7/26/11
to sagetv-b...@googlegroups.com
Yeah there is an <onunload> event as well.  It's worth noting that these events (load/unload) get called every time the window is shown/closed. So the timer you create in main.xml will get created every time the window is shown.

- Dan

Tom Miranda

unread,
Jul 26, 2011, 7:11:08 PM7/26/11
to sagetv-b...@googlegroups.com
I'm late to the party here (no Google group access at work) but would it be possible to start the "updater" thread in startsage.py and use getActiveWindow() so that a single timer could be started to update the header info in whatever menu is loaded.  The control references will be exactly the same in every menu)?

It seems easier to start the thread once on app start, and kill it once on app exit.

Just a thought.

Tom

Derek Battams

unread,
Jul 26, 2011, 7:32:52 PM7/26/11
to sagetv-b...@googlegroups.com
That would be ideal.  Doing some searching in the boxee forum and it seems that the thread support might be buggy on the boxee box device when using onunload.


Looks like the best approach is to launch via a python script (I think we already do this) and to avoid using onload/onunload (especially onunload).  Looks like Tom had the right idea on how to set this up.  Maybe Michael or Tom or someone should take that threading code and move it into startsage.py?

My only concern about going with threads is that the boxee docs are grossly lacking and I can't find any reference anywhere stating with certainty that the boxee UI objects are indeed thread safe.  I mean, I would assume they are, but assumptions in multi-threaded apps lead to all kinds of problems down the road. :(  A quick review of Michael's code looks good as far as thread safety (assuming the UI widgets are thread safe).  So Michael, you can go ahead and move that code to startsage.py then reference it from there in the main xml (and other windows).  You might want to look for opportunities to refactor that code into functions/methods to keep the calls as small as possible in the window xml files?

  - Derek

--
You received this message because you are subscribed to the Google Groups "SageTV for Boxee (Development)" group.
To view this discussion on the web visit https://groups.google.com/d/msg/sagetv-boxee-dev/-/AfbUTdEDZK8J.

Michael Reid

unread,
Jul 26, 2011, 7:44:58 PM7/26/11
to sagetv-b...@googlegroups.com
I'll try t but I'm not sure it is going to work that way.  In order for me to update the indicator it has to exist first, and te media objects don't exist on startsage from what I understand...  Seems like we would have to start this thread after the objects have been created...

~Mike

Derek Battams

unread,
Jul 26, 2011, 7:58:27 PM7/26/11
to sagetv-b...@googlegroups.com
Can't all the objects be created/initialized from startsage?

Michael Reid

unread,
Jul 26, 2011, 8:22:10 PM7/26/11
to sagetv-b...@googlegroups.com
No I don't think so.  I need to reference the XML container which is on the page...  It not really a widget per se...

based on my test before I suppose it's possible I could call the control and try and set it using a try catch. If it fails it will just not do anything except call itself again in 5 or 10 seconds.  Theoretically then when an XML file is loaded that has the container im looking for,  the try would pass and set the appropriate indicator.  

...interesting.  I'll try that as soon as I get a few minutes.

~Mike

On Jul 26, 2011, at 6:58 PM, Derek Battams <de...@battams.ca> wrote:

Can't all the objects be created/initialized from startsage?

--
You received this message because you are subscribed to the Google Groups "SageTV for Boxee (Development)" group.
To view this discussion on the web visit https://groups.google.com/d/msg/sagetv-boxee-dev/-/7WXkHAWqHg4J.

Daniel Kohler

unread,
Jul 26, 2011, 8:52:50 PM7/26/11
to sagetv-b...@googlegroups.com
I think you would need to do this anyway to handle the case where the active window doesn't actually contain any indicator icons.

As far as adding controls to a window through python, you need to have access to the Window.addControl() method that is part of xbmcgui.  Unfortunately, this is not exposed in the Boxee Window object.  I looked into this quite a bit when I was thinking about how to create the EPG. I checked out some other apps that leverage xbmcgui, and they define their own window classes which inherit from the xbmcgui window.

I have a feeling that we're going to need to figure out how to do this when implementing the EPG - it will certainly make it a whole lot easier. (Of course "easier" than what, I'm not sure...)

-Dan

Tom Miranda

unread,
Jul 27, 2011, 4:54:38 PM7/27/11
to sagetv-b...@googlegroups.com
More items to add to the to do list.  If you are interested in any of these please jump right in!

Now that we have some config methods, we need to add a check in the <onload> tag in the main menu to see if the Jetty credentials (hostname:port, userid, and password) have been set.  If they are not set we need to popup a dialog prompting for them.  (I've created a dialog template that can be used.)  As a corollary to this task, we need to remove the call to the sageApi in startsage.py (I really only had that there for testing.)

Next, we need to look into the possibility of creating our own boolean functions that can be used in the UI.  The built-in boolean functions (http://developer.boxee.tv/Boolean_Conditions) are good, but there are a few more I'd like to implement.  I have no idea if we can write our own python functions and then use them in the UI.  For example, it would be nice if we could use a custom build function in the <visible> tag.  <visible>sage.someMethod(parameter)</visible>

Last, I have been experimenting, and failing, to find out how to execute a python script from with an <onup> <ondown> or <onclick> tag.  I've tried <onclick lang="python"> but that didn't work.  I also browsed through the Boxee app itself and found several places where they use RunScript(script, parameter) from within an <onclick> tag, but I couldn't get that to work either.  I didn't have time to dig very deep into these so it may simply be I missed something obvious.

Let me know if you want to dig into these issues.

Tom

Michael Reid

unread,
Jul 27, 2011, 6:00:46 PM7/27/11
to sagetv-b...@googlegroups.com
Tom - I found this on the boxee site...thought it might be useful for your onkey up events.  I haven't played with it yet, but seems pretty straight forward

It is loading more messages.
0 new messages