|
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. |
|
Thread Tools | Search this Thread | Display Modes |
#121
|
||||
|
||||
Thanks.. i've added that infor the bug details... when I work on it... that'll probably be route i'll take.
__________________
Batch Metadata Tools (User Guides) - SageTV App (Android) - SageTV Plex Channel - My Other Android Apps - sagex-api wrappers - Google+ - Phoenix Renamer Downloads SageTV V9 | Android MiniClient |
#122
|
|||
|
|||
Quote:
Thanks again for all your hard work. |
#123
|
||||
|
||||
iolaus, lateley I've been focused on phoenix and the metadata tools. I'll try to take a look at this issue over the next couple of evenings... i hate to be bottleneck in preventing you from releasing a project.
__________________
Batch Metadata Tools (User Guides) - SageTV App (Android) - SageTV Plex Channel - My Other Android Apps - sagex-api wrappers - Google+ - Phoenix Renamer Downloads SageTV V9 | Android MiniClient |
#124
|
||||
|
||||
iolaus, here is new build that might fix your issue and adds some support for serializing playlists. Unfornately, i can't test this, since i'm currently in the process of rebuilding my server.
__________________
Batch Metadata Tools (User Guides) - SageTV App (Android) - SageTV Plex Channel - My Other Android Apps - sagex-api wrappers - Google+ - Phoenix Renamer Downloads SageTV V9 | Android MiniClient |
#125
|
|||
|
|||
Quote:
As for the new build, it seems to have exploded things a bit. Now if I try to use GetMediaFiles I get: Code:
<error> − <message> Failed while Calling MediaFile Method: GetThumbnail </message> − <exception> java.lang.Exception: Failed while Calling MediaFile Method: GetThumbnail at sagex.remote.builder.SimpleXmlBuilder.handleError(SimpleXmlBuilder.java:38) at sagex.remote.builder.SageAPIBuilder.buildObject(SageAPIBuilder.java:111) at sagex.remote.builder.SageAPIBuilder.buildMediaFile(SageAPIBuilder.java:96) at sagex.remote.builder.SageAPIBuilder.build(SageAPIBuilder.java:45) at sagex.remote.builder.SageAPIBuilder.buildArray(SageAPIBuilder.java:165) at sagex.remote.builder.SageAPIBuilder.build(SageAPIBuilder.java:43) at sagex.remote.api.XmlReplyEncoder.encodeReply(XmlReplyEncoder.java:26) at sagex.remote.api.ApiHandler.hanleRequest(ApiHandler.java:151) at sagex.remote.SagexServlet.doPost(SagexServlet.java:71) at sagex.remote.SagexServlet.doGet(SagexServlet.java:49) at javax.servlet.http.HttpServlet.service(HttpServlet.java:707) at javax.servlet.http.HttpServlet.service(HttpServlet.java:820) at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:487) at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:362) at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:729) at org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:206) at org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:114) at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152) at org.mortbay.jetty.Server.handle(Server.java:324) at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:505) at org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:829) at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:513) at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:211) at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:380) at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:395) at org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:488) Caused by: java.lang.Exception: Unknown Object Type: sage.cq$b at sagex.remote.builder.SimpleXmlBuilder.handleError(SimpleXmlBuilder.java:38) at sagex.remote.builder.SageAPIBuilder.build(SageAPIBuilder.java:59) at sagex.remote.builder.SageAPIBuilder.buildObject(SageAPIBuilder.java:109) ... 24 more Caused by: java.lang.Exception: Unknown Object Type: sage.cq$b ... 26 more </exception> </error> |
#126
|
||||
|
||||
New Release 6.5.15-5
This release includes 3 new features
* PlaylistAPI support * Media Servlet (for accessing media, posters, backgrounds, etc) * Custom Server Side Services using Javascript Please read the Media Handler section for information about this new feature. Please read the Custom Services section for information on how you provide your own services. If you have any questions, then feel free to ask.
__________________
Batch Metadata Tools (User Guides) - SageTV App (Android) - SageTV Plex Channel - My Other Android Apps - sagex-api wrappers - Google+ - Phoenix Renamer Downloads SageTV V9 | Android MiniClient |
#127
|
|||
|
|||
Hey Stuckless,
I just noticed that <MediaFile><FileDuration> is returning "1" for DVDs. Do you know if this is a bug or something to do with SageTVs API? Any suggestions for how I can accurately get the duration of a DVD? |
#128
|
|||
|
|||
Another quick request. Would it be possible for SageX to parse out the keyword:id tokens even when they're not a discrete parameter? This is the particular call I'm trying to get working:
Code:
http://htpc_livingroom:8080/sagex/api?c=EvaluateExpression&1=phoenix_api_GetFanartPosters(mediafile:189554) Scratch that request, I found out I can use GetMediaFileForID() within the EvaluateExpression to the same effect. Last edited by iolaus; 08-24-2009 at 09:22 PM. |
#129
|
|||
|
|||
I'm still having some trouble trying to get ahold of the UNC path to music covers (since I'm not able to use the Phoenix API). Is there any chance the media servlet could take an extra parameter that would make it return the UNC path to media rather than the media itself? I need this because the software I'm writing my plug-in for loads the images itself from a specified path.
|
#130
|
|||
|
|||
Sean,
I have been using your sagex api for awhile now and its awesome. It makes calling the sage API trivial from java. Thanks I am only using it embedded in the SageTV process (not remotely) so if this question is in the wrong place please point me in the right direction. I am having an issue with some calls that require a UI context. They are not returning what i expect. The specific Calls i am working with: -Global.GetFullUIWidth() -Configuration.GetOverscanOffsetX() -Configuration.GetOverscanScaleWidth() -Global.GetFullUIHeight() -Configuration.GetOverscanOffsetY() -Configuration.GetOverscanScaleHeight() GetFullUI...() always returns 0. GetOverscanOffset...() always returns 0. GetOverscanScale...() always returns 1. This is on a pc client and hd-200 extender. My jar file outputs to the debug log so i can see what it's doing. If i pass GetFullUI..() to my function from studio it passes the correct number, so this leads me to believe that sagex is not correctly interpreting/passing the UI context. I believe i am using sagex_6.5.20 but am unsure how to check sagex's version (its the version that comes bundles with BMT 3.0 beta 9). I had a look see in your src and it appears that you pass the UI context if one is available and none if it is not... so i would think it should work. Is there a trick I am missing somewhere? or is this a bug? Thanks again for all your hard work
__________________
Server 2003 r2 32bit, SageTV9 (finally!) 2x Dual HDHR (OTA), 1x HD-PVR (Comcast), 1x HDHR-3CC via SageDCT (Comcast) 2x HD300, 1x SageClient (Win10 Test/Development) Check out TVExplorer |
#131
|
||||
|
||||
Quote:
To try the ThreadLocal approach, you'd have to call, Code:
SageAPI.setUIContext(YourUIContext); -Global.GetFullUIWidth() SageAPI.setUIContext(null); I think the best approach is for the remote apis to have a UI aware set of classes/calls, that accept a UI context as the first parameters, ie, something like, Code:
GlobalUI.GetFullUIWidth(YourUIContext) or Global.UI.GetFullUIWidth(YourUIContext) or Global.GetFullUIWidthUI(YourUIContext) Code:
Global.GetFullUIWidth() Global.GetFullUIWidth(new UIContext(YourUIContext))
__________________
Batch Metadata Tools (User Guides) - SageTV App (Android) - SageTV Plex Channel - My Other Android Apps - sagex-api wrappers - Google+ - Phoenix Renamer Downloads SageTV V9 | Android MiniClient |
#132
|
||||
|
||||
Quote:
__________________
Batch Metadata Tools (User Guides) - SageTV App (Android) - SageTV Plex Channel - My Other Android Apps - sagex-api wrappers - Google+ - Phoenix Renamer Downloads SageTV V9 | Android MiniClient |
#133
|
|||
|
|||
Quote:
Also, any suggestions on the <FileDuration> being "1" for DVDs? Thanks! |
#134
|
||||
|
||||
Quote:
As for the file duration... I'm not sure if that's a sagetv bug or a bmt bug. I've noticed the same thing with my dvds... yet the metadata (.properties) will have a valid value for duration.
__________________
Batch Metadata Tools (User Guides) - SageTV App (Android) - SageTV Plex Channel - My Other Android Apps - sagex-api wrappers - Google+ - Phoenix Renamer Downloads SageTV V9 | Android MiniClient |
#135
|
|||
|
|||
Quote:
Quote:
Quote:
In the above approach... hypothetically speaking if the function also required arguments would you call Code:
SomeSageAPI.SomeSageFunction(new UIContext(YourUIContext), Args)
__________________
Server 2003 r2 32bit, SageTV9 (finally!) 2x Dual HDHR (OTA), 1x HD-PVR (Comcast), 1x HDHR-3CC via SageDCT (Comcast) 2x HD300, 1x SageClient (Win10 Test/Development) Check out TVExplorer |
#136
|
||||
|
||||
I've uploaded version 6.6.1 of the sagex apis.
I've added the UIContext object and all methods can accept an optional UIContext as the first parameter. ie, like you wrote... Code:
SomeSageAPI.SomeSageFunction(new UIContext(YourUIContext), Args) Originally, I had hoped and thought that the GetUIContext() call when invoked inside of Java, would return the current UIContext, but that is not the case. GetUIContext() is meant to be called from the STV and passed to Java code. The java code may or may not be executed in the same UI context thread as the STV. I'm attempting to create a SageAPI.getUIContext() method will try to auto-discover the current UI context from the current thread id... as a last resort, but that's not in there yet. FYI... 6.6.1 will also go out with the next bmt/phoenix release.
__________________
Batch Metadata Tools (User Guides) - SageTV App (Android) - SageTV Plex Channel - My Other Android Apps - sagex-api wrappers - Google+ - Phoenix Renamer Downloads SageTV V9 | Android MiniClient |
#137
|
||||
|
||||
On the question about DVDs and length-
DVDs and Blu-rays can both have multiple versions of the same film, with differing lengths on the same disc- it's all how the segments on the disc get linked together. Also, without traversing the DVD menuing structure, you can't tell what segments will get linked together. So- it's pretty darn hard to actually specify a time handed a bundle of DVD, HD-DVD, or Blu-ray files. What comes in via the scraper is "running time", probably of the version of the movie which was released in theaters. So, if you have an uncut version DVD, or a director's cut, that time may be off. However, it's good enough for most end-user purposes. Cheers Ikarius
__________________
SageTV 6.6.2, SageMC+CenterSage Theme Server: Intel Core2 Q6600, 8gb memory, 3x 1tb WD EACS drives, software RAID5 2tb capacity, 4gb Flash boot drive, Ubuntu 8.0.4 Server edition Capture: 1x HD-PVR -> Motorola DTC6200 Clients: 1x STX-HD100 1x STX-HD200, Windows & OSX Clients |
#138
|
|||
|
|||
Quote:
EDIT: fixed it.... rather then setting the UIContext to a variable in my STV code once and then passing the constant i needed to pass GetUIContextName() to my java code. Works great Quote:
Code:
import sagex.UIContext; Quote:
__________________
Server 2003 r2 32bit, SageTV9 (finally!) 2x Dual HDHR (OTA), 1x HD-PVR (Comcast), 1x HDHR-3CC via SageDCT (Comcast) 2x HD300, 1x SageClient (Win10 Test/Development) Check out TVExplorer Last edited by razrsharpe; 09-01-2009 at 08:58 PM. |
#139
|
||||
|
||||
Hi Sean,
I'm starting to use your latest rev of the API on a new project. Very nice! I was working with the Custom Services provided in JavaScript files, very cool. However, is it possible to tie in a custom JAR to custom services? I have some data heavy processing to do and the .JS processing may be a little sluggish. Thanks, SB
__________________
Server Hardware: Intel Core 2 Quad Q6700 2.66GHz CPU, 4GB DDR2 RAM, NVIDIA nForce 780i SLI Motherboard, GeForce 8600 GT, Seagate Barracuda 7200.11 2.5TB Operating System: Windows XP Professional HTPC/DVR Software: SageTV 7 Capture Devices: 2 @ Hauppauge HD-PVR (1212), Hauppauge WinTV-HVR-1600 ATSC/QAM, HD Homerun Media Extenders: 2 @ Sage HD100 & 1 @ Sage HD200 Signals/Providers: AT&T UVerse, OTA ATSC Set-Top-Box: 2 @ Motorola Box VIP 1200 |
#140
|
||||
|
||||
Quote:
But, if you are ok with having to restart sagetv once a jar is deployed, then you can still use js services and call your jar file. ie, your .js file simply defines the service and then calls into the code that is in the jar. the js services has access to ALL classes that is in the classpath. So, if you have a shadeblue.jar then you can use that in the js services like... Code:
function ShadyService(myobject) { var mystuf = new Packages.com.shadeblue.MyCustomJavaObject(); return mystuff.process(myobject); } Keep in mind that if you are using javascript services, then it will require java 6, since I'm just leveraging the scripting engine in java 6.
__________________
Batch Metadata Tools (User Guides) - SageTV App (Android) - SageTV Plex Channel - My Other Android Apps - sagex-api wrappers - Google+ - Phoenix Renamer Downloads SageTV V9 | Android MiniClient |
Currently Active Users Viewing This Thread: 1 (0 members and 1 guests) | |
|
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
Hauppauge Remote Issue | yacht_boy | Hardware Support | 4 | 05-01-2008 09:25 PM |
MCE remote transmitting keypresses twice | arnabbiswas | Hardware Support | 1 | 02-22-2007 10:55 AM |
MCE Remote not work fully with Placeshifter | devinteske | SageTV Placeshifter | 5 | 02-08-2007 11:45 PM |
Harmony Remote IR Reciever Help | brundag5 | Hardware Support | 2 | 01-13-2007 09:08 PM |
How to get SageTV to release focus to NVDVD for remote | IncredibleHat | SageTV Software | 4 | 07-06-2006 07:47 AM |