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-08-2006, 06:34 PM
mayamaniac's Avatar
mayamaniac mayamaniac is offline
Sage Icon
 
Join Date: May 2004
Posts: 2,177
Question Studio Capabilites

I'm planning to spend some time in the weekends learning Studio so hopefully I can create something to contribute to the community. I just started reading the 4.1 manual. I know a little bit about scripting and can sorta understand XML layout when viewing it, such SageTV.xml or menu.xml, but I have no coding experience. I got some questions:

1. What are the capabilities of Studio or just SageTV UI capabilities.

For example, using Windows Media Center's UI as a comparison, is Studio capable of duplicating that kind of interface. I know SageMC is good and is based on MCE, but it isn't MCE. One specific thing in MCE is the way the menu items roll through and the currently selected item is always in the middle. And how it animates things flying in and out. http://www.microsoft.com/windowsxp/m...MCE_102704.swf

Another example is the popular Tivo interface, is Studio capable of duplicating that? Particularly, how the background changes color everytime you go to a different screen.

2. What is Studio lacking in terms of tools that give you freedom to create? And overall, is Java part of the limitations?
__________________
Mayamaniac

- SageTV 7.1.9 Server. Win7 32bit in VMWare Fusion. HDHR (FiOS Coax). HDHR Prime 3 Tuners (FiOS Cable Card). Gemstone theme.
- SageTV HD300 - HDMI 1080p Samsung 75" LED.
Reply With Quote
  #2  
Old 04-08-2006, 07:11 PM
GKusnick's Avatar
GKusnick GKusnick is offline
SageTVaholic
 
Join Date: Dec 2005
Posts: 5,083
I'm not intimately familiar with either of the interfaces you cite, so I can't address the specifics. However your freedom to create graphical and animation effects in Studio is pretty broad, limited primarily by your own skill with Studio/Photoshop/whatever.

That said, building a whole new UI look from the ground up is not for the faint of heart. It takes a lot of work and a solid understanding of Studio's rather unconventional programming model. If you're never done any serious programming before, be prepared for a fairly steep learning curve.

Java is not a limitation. Anything you can do in any other language, you can do in Java. Accessing Java from Studio is straightforward if a bit clunky.

Studio's widget-code language is likewise Turing-complete, and can solve any problem that's solvable at all, although not always as simply or concisely as you might like.

The real limitations of Studio, in my opinion, have to do with its lack of good facilities for organizing and sharing code. It's basically at the 1960s level of gotos and global variables. So any moderately complex computation quickly turns into a rat's nest of spaghetti code (assuming rats eat spaghetti).

That's my take on it anyway. YMMV.
__________________
-- Greg
Reply With Quote
  #3  
Old 04-08-2006, 09:19 PM
stanger89's Avatar
stanger89 stanger89 is offline
SageTVaholic
 
Join Date: May 2003
Location: Marion, IA
Posts: 15,188
Quote:
Originally Posted by mayamaniac
I'm planning to spend some time in the weekends learning Studio so hopefully I can create something to contribute to the community. I just started reading the 4.1 manual. I know a little bit about scripting and can sorta understand XML layout when viewing it, such SageTV.xml or menu.xml, but I have no coding experience. I got some questions:
First off, don't even bother openning the STV xml's directly, there's no point. They can't (or at least shouldn't be) edited outside Studio.

Quote:
1. What are the capabilities of Studio or just SageTV UI capabilities.
The list of limitations would be much shorter, and really, I can't think of much in terms of limitations. Some stuff is hard/tricky, but anything I thought couldn't be done, has been done now...

Quote:
For example, using Windows Media Center's UI as a comparison, is Studio capable of duplicating that kind of interface. I know SageMC is good and is based on MCE, but it isn't MCE. One specific thing in MCE is the way the menu items roll through and the currently selected item is always in the middle. And how it animates things flying in and out. http://www.microsoft.com/windowsxp/m...MCE_102704.swf


Take a look at mlbdude's MyTVX. Short answer is: there's a couple of ways to do such things, some work better than others. Yes, it's possible, though not necessarilly easy. Not something I would recommend trying until you have a feel for Studio and it's "language".

Quote:
Another example is the popular Tivo interface, is Studio capable of duplicating that? Particularly, how the background changes color everytime you go to a different screen.
That, on the other hand, would be rather trivial. Just define a different background for each menu.

Quote:
2. What is Studio lacking in terms of tools that give you freedom to create?
I can't, off the top of my head think of anything Studio prevents your from doing, Studio, really, is an IDE like Visual Studio or Eclipse. Anything you can do in Java, you can do directly in Studio, though for some things (like DVDPro2Sage), it's much easier to do them outside Studio.

Quote:
And overall, is Java part of the limitations?
I really doubt you're going to run into anything where Java is a problem. There are a few areas (COM interfacing, DirectX, etc), but with JNI that's pretty much negated.
Reply With Quote
  #4  
Old 04-08-2006, 09:24 PM
stanger89's Avatar
stanger89 stanger89 is offline
SageTVaholic
 
Join Date: May 2003
Location: Marion, IA
Posts: 15,188
Quote:
Originally Posted by GKusnick
That said, building a whole new UI look from the ground up is not for the faint of heart. It takes a lot of work and a solid understanding of Studio's rather unconventional programming model. If you're never done any serious programming before, be prepared for a fairly steep learning curve.
I'm not even sure if lack of programming experience is a significant problem, since the "widget-code" language is so much different than "normal" programming. Though I guess having the programming "mindset" is helpful.

Quote:
Java is not a limitation. Anything you can do in any other language, you can do in Java. Accessing Java from Studio is straightforward if a bit clunky.
And anything that can't be done in Java can be done in other languages via the Java Native Interface (JNI).

Quote:
Studio's widget-code language is likewise Turing-complete, and can solve any problem that's solvable at all, although not always as simply or concisely as you might like.
Well put.

Quote:
The real limitations of Studio, in my opinion, have to do with its lack of good facilities for organizing and sharing code. It's basically at the 1960s level of gotos and global variables. So any moderately complex computation quickly turns into a rat's nest of spaghetti code (assuming rats eat spaghetti).
I know Jeff's aware of that, and has been hinting/promising improvements in future releases, I just hope they get here soon
Reply With Quote
  #5  
Old 04-08-2006, 09:31 PM
Crashless's Avatar
Crashless Crashless is offline
Sage Icon
 
Join Date: Oct 2003
Location: Los Angeles, CA
Posts: 1,224
Just to echo comments already given, Studio really is limited only by it's driver - kind of like a Ferrari Enzo. It can do anything that's possible, as long as the right person is at the wheel.

If you want to go after really cool animations, I would take a look at the demo for the rotating main menu:

http://forums.sagetv.com/forums/down...?do=file&id=25

You should structure your menu first, make it work, THEN try and add animation. I'm going to tackle the animation code in my stv next week, then hopefully i"ll have some more input. My plan is to create some sort of portable code that can be used in a couple of my menus. We'll see how that pans out.
__________________
Give the Meekell STV a try!
Reply With Quote
  #6  
Old 04-08-2006, 09:42 PM
mayamaniac's Avatar
mayamaniac mayamaniac is offline
Sage Icon
 
Join Date: May 2004
Posts: 2,177
I'm not gonna build an STV from scratch, that would be lunatic. Improving the default STV is probably a more feasible project. Particularly the Media Center area (Videos, Music, and Pictures), although I'm sure that SageTV is working on it and I'm sure they do a better job.

But I'll try just for the learning experience, if nothing else. Because it's almost seem like a wasted effort if its gonna be officially included in the next version. Take matte's MVP Client plugin for example, I'm sure he put a lot of effort into it while at the same time SageTV was working on the same thing but even better (Divx, Xvid, WMV, etc. transcoding). And someone worked on an HDTV encoder plugin before SageTV 4 was released with HDTV support. And Opus4 has hinted they are working on a better Media Center STV.

I'm sure some people still use matte's MVPClient plugin, say SageTV 2.2 users who haven't upgraded. But I don't think anyone will argue that the officially supported features are better than user plugins. With exception to nielm's plugins, especially his webserver plugin, thats just too awesome.

So anyway, as I said, its a learning experience thing. And its good to know what the capabilities and limitations are before starting. I'm not sure I can make anything useful for the community, but we will see. Thanks for the info.
__________________
Mayamaniac

- SageTV 7.1.9 Server. Win7 32bit in VMWare Fusion. HDHR (FiOS Coax). HDHR Prime 3 Tuners (FiOS Cable Card). Gemstone theme.
- SageTV HD300 - HDMI 1080p Samsung 75" LED.

Last edited by mayamaniac; 04-08-2006 at 09:45 PM.
Reply With Quote
  #7  
Old 04-08-2006, 10:40 PM
Crashless's Avatar
Crashless Crashless is offline
Sage Icon
 
Join Date: Oct 2003
Location: Los Angeles, CA
Posts: 1,224
Quote:
Originally Posted by mayamaniac
I'm not gonna build an STV from scratch, that would be lunatic. Improving the default STV is probably a more feasible project. Particularly the Media Center area (Videos, Music, and Pictures), although I'm sure that SageTV is working on it and I'm sure they do a better job.
If you're considering a mod to the default STV, I suggest you plan your mod as an import. It would be extremely tough to keep a default STV mod current as it changes so often. It would be much easier to just re-import your changes. Just my $0.02.

Quote:
But I'll try just for the learning experience, if nothing else. Because it's almost seem like a wasted effort if its gonna be officially included in the next version. ...snip...So anyway, as I said, its a learning experience thing. And its good to know what the capabilities and limitations are before starting. I'm not sure I can make anything useful for the community, but we will see. Thanks for the info.
I'll gloss over the part about the 3rd party stuff integration. It's a slippery slope, though those projects in particular were obvious includes IMO. I'm not saying they shouldn't have been undertaken, because I"m glad they were, but it seems to me that those are much more likely to be created by SageTV than specific screen animations. If anything, they'll probably take your mods wholesale and include them before something like that was made themselves.

As a learning experience...be careful, it can become an obsession.
__________________
Give the Meekell STV a try!
Reply With Quote
  #8  
Old 04-09-2006, 09:33 AM
gplasky's Avatar
gplasky gplasky is offline
SageTVaholic
 
Join Date: Jul 2003
Location: Howell, MI
Posts: 9,203
It's great that this thread started just when I decided to give Studio a shot. I've created themes\skins for other products and I felt the time was right. Here's a few screen shot of what I have accomplished. All working in the latest beta.








There's still plenty of work left and I have to decide what and who's features do I want "built-in". But what I can see there is a lot of overhead to maintaining these. For instance, this was based on Narflex's Anim example that's on the download site so I worked on that to get this far. A week of reading the manual and a weekend of assembly. All well and fine except for one thing: that's an old-style STV. Now I have to do the same thing in with the latest STV-xml. Not an easy task. Sure I can compare changes but all of what I did was removing/modifying settings that were already there. For instance-all the scrolling icons are replaced. I don't think an import will take care of that. I can export menus out of Studio and that did help but it still leaves work to be done. I know you can run a tool that will compare two STVs for differences. Now if that tool would only go one step further and actually package those changes, export them all into a package I can bring intro an existing one. Sort of a designer's update function. That would be cool.

Let me know what you think. One drawback to the circle menu design from the user perspective is you tend to choose the wrong up/down direction to use the menu. You wouldn't think so but I've tested it enough. I have another design in mind that may work better. Also going to add a small currently recording window and a weather window to the front page. I hope to put it up soon.

Gerry
__________________
Big Gerr
_______
Server - WHS 2011: Sage 7.1.9 - 1 x HD Prime and 2 x HDHomeRun - Intel Atom D525 1.6 GHz, Acer Easystore, RAM 4 GB, 4 x 2TB hotswap drives, 1 x 2TB USB ext Clients: 2 x PC Clients, 1 x HD300, 2 x HD-200, 1 x HD-100 DEV Client: Win 7 Ultimate 64 bit - AMD 64 x2 6000+, Gigabyte GA-MA790GP-DS4H MB, RAM 4GB, HD OS:500GB, DATA:1 x 500GB, Pace RGN STB.

Last edited by gplasky; 04-09-2006 at 09:41 AM.
Reply With Quote
  #9  
Old 04-09-2006, 11:21 AM
Crashless's Avatar
Crashless Crashless is offline
Sage Icon
 
Join Date: Oct 2003
Location: Los Angeles, CA
Posts: 1,224
That's really cool. You have discovered the fun of keeping things updated though.

I think you're on the right track by exporting your original menus and importing them again, which will save you a lot of time, but those little mods are the ones that kill you.

As far as the circle menu going the wrong way, it should be fairly easy to just invert the commands in that command structure. You could even just do it by taking the command widgets and reversing them. It's a hack, but if you don't need to go up/down in any other menu, it wouldn't matter.
__________________
Give the Meekell STV a try!
Reply With Quote
  #10  
Old 04-09-2006, 11:35 AM
gplasky's Avatar
gplasky gplasky is offline
SageTVaholic
 
Join Date: Jul 2003
Location: Howell, MI
Posts: 9,203
That's what I'm debating. And it's really the thought process. Pressing up should do what? Gets the next menu choice sitting above the menu window or swings the bottom of the circle up towards the window? Because now it brings the menu choice from below into the menu window. Or should it be left-right and relocate the menu window at the bottom? I think you look at it and expect to control the menu window and not the menu behind it. GUI and usability experts probably wouldn't like it...but it is cool.

Gerry
__________________
Big Gerr
_______
Server - WHS 2011: Sage 7.1.9 - 1 x HD Prime and 2 x HDHomeRun - Intel Atom D525 1.6 GHz, Acer Easystore, RAM 4 GB, 4 x 2TB hotswap drives, 1 x 2TB USB ext Clients: 2 x PC Clients, 1 x HD300, 2 x HD-200, 1 x HD-100 DEV Client: Win 7 Ultimate 64 bit - AMD 64 x2 6000+, Gigabyte GA-MA790GP-DS4H MB, RAM 4GB, HD OS:500GB, DATA:1 x 500GB, Pace RGN STB.
Reply With Quote
  #11  
Old 04-09-2006, 01:02 PM
Crashless's Avatar
Crashless Crashless is offline
Sage Icon
 
Join Date: Oct 2003
Location: Los Angeles, CA
Posts: 1,224
Quote:
Originally Posted by gplasky
That's what I'm debating. And it's really the thought process. Pressing up should do what? Gets the next menu choice sitting above the menu window or swings the bottom of the circle up towards the window? Because now it brings the menu choice from below into the menu window. Or should it be left-right and relocate the menu window at the bottom? I think you look at it and expect to control the menu window and not the menu behind it. GUI and usability experts probably wouldn't like it...but it is cool.

Gerry
I ran into the same thing with my main menu system, it's a mind-bender. I was just thinking you could write one of those tester utilities like first person shooters have to decide which way is up. The way the user first goes up gets set as up.
__________________
Give the Meekell STV a try!
Reply With Quote
  #12  
Old 04-09-2006, 01:43 PM
PGPfan's Avatar
PGPfan PGPfan is offline
Sage Fanatic
 
Join Date: Apr 2003
Location: Oldtown, Idaho USA
Posts: 862
Quote:
Originally Posted by gplasky
That's what I'm debating. And it's really the thought process. Pressing up should do what? Gets the next menu choice sitting above the menu window or swings the bottom of the circle up towards the window? Because now it brings the menu choice from below into the menu window. Or should it be left-right and relocate the menu window at the bottom? I think you look at it and expect to control the menu window and not the menu behind it. GUI and usability experts probably wouldn't like it...but it is cool.

Gerry
Hi Gerry,

How about looking at the navigation in terms of 'rotation'. Press right to rotate clockwise, left for counter-clockwise, and OK to select?

Anyhow, a while ago I PM'd you to request a copy of the background you are using. Is it safe to assume that you have located the .psd file of it? If so, any chance you could send it to me? If so, PM me for the address again, if you need it.

Thanks!

-PGPfan
Reply With Quote
  #13  
Old 04-09-2006, 02:47 PM
mayamaniac's Avatar
mayamaniac mayamaniac is offline
Sage Icon
 
Join Date: May 2004
Posts: 2,177
Nice work Gerry. When I saw screenshot of the circular menu, I immediately thought of the navigational problem. Sure, with some experience a user will figure it out. But there will be some confusion at first. As crashless said, an option to swap ups and downs might be the answer, that way the user decides how it should be, since you can't possibly please everyone with one setting.

As for my learning process or developing process, I think the first thing I need to do is do some homework and design a good interface first, making mockups and such, before actually building it. In my experience with designs, it is the hardest part, which is coming up with a good design. Once the design is approved, then the building process is just grunt work. I think I can take care of design part on my own, but when its time for Studio work, I will need a lot of help from folks here.

For starters with the Music library interface, I'm looking at jRiver, iTunes, Frontrow, xLobby, Meedio, and MCE, etc for inspirations. I like the way iTunes looks and functions. For Pictures, I like Picassa the most among Acdsee, iPhoto, etc. For Video Library, I haven't seen a good one yet, maybe something like the one in MythTV is good. Oh well, time to do more reading....
__________________
Mayamaniac

- SageTV 7.1.9 Server. Win7 32bit in VMWare Fusion. HDHR (FiOS Coax). HDHR Prime 3 Tuners (FiOS Cable Card). Gemstone theme.
- SageTV HD300 - HDMI 1080p Samsung 75" LED.
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 06:13 PM.


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