|
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 |
#101
|
||||
|
||||
I can't confirm this... but I think it would be something like...
Quote:
Hope this helps.
__________________
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 |
#102
|
|||
|
|||
Thanks Stuckless,
I managed to get it working. Just for the record... Code:
http://htpc_livingroom:8080/sagex/api?command=Watch&1=mediafile:600831&context=SAGETV_PROCESS_LOCAL_UI Code:
<error> <message>Unknown Object Type: sage.e$e</message> <exception> java.lang.Exception: Unknown Object Type: sage.e$e at sagex.remote.builder.SimpleXmlBuilder.handleError(SimpleXmlBuilder.java:38) at sagex.remote.builder.SageAPIBuilder.build(SageAPIBuilder.java:56) 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.e$e ... 21 more </exception> </error> While Code:
http://htpc_livingroom:8080/sagex/rpcXml/MediaPlayerAPI?command=Watch&1=mediafile:600831&context=SAGETV_PROCESS_LOCAL_UI Code:
<response> <header> </header> <body> <objectRef ref="29522508"/> </body> </response> |
#103
|
||||
|
||||
Thanks, I will make a note of it and try to fix it in the next build.
__________________
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 |
#104
|
|||
|
|||
Stuckless,
I'm also getting an error trying to use MediaFileAPI.GetThumbnail(). Could you please take a look at it? Also, do you know if there is any way to retrieve all media thumbnails in one big shot? Thanks again! |
#105
|
||||
|
||||
Quote:
I'm not sure how to retrieve all thumbnails, except by retrieving all mediafiles and iterating over them.
__________________
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 |
#106
|
|||
|
|||
Would it be possible to actually return the binary image data within a XML tag?
|
#107
|
||||
|
||||
Quote:
Just curious, which api are you using, Java, or /sagex/rpcXml or /sagex/api ?
__________________
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 |
#108
|
|||
|
|||
A couple more things I've run into.
http://server/sagex/api?c=GetNowPlayingList always returns: Code:
<Result/> also... http://htpc_livingroom:8080/sagex/api?c=GetPlaylists returns: Code:
<error> <message>Unknown Object Type: sage.cm</message> <exception> java.lang.Exception: Unknown Object Type: sage.cm at sagex.remote.builder.SimpleXmlBuilder.handleError(SimpleXmlBuilder.java:38) at sagex.remote.builder.SageAPIBuilder.build(SageAPIBuilder.java:56) at sagex.remote.builder.SageAPIBuilder.buildArray(SageAPIBuilder.java:158) at sagex.remote.builder.SageAPIBuilder.build(SageAPIBuilder.java:42) 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.cm ... 23 more </exception> </error> |
#109
|
|||
|
|||
I'd vote for a base64 encoded byte array if you have time to fix it.
|
#110
|
|||
|
|||
Quote:
I have another big request. It would be fantastic if you could add some sort of &filter= parameter to the query string to limit the XML elements that are returned. I seem to be able to get Media Files from the server across my LAN at about 40/second. I think if I could limit the returned XML to only elements I'm using that figure would skyrocket. Thanks again for all your work, Ryan |
#111
|
|||
|
|||
Quote:
|
#112
|
||||
|
||||
Quote:
The first issue gives an empty result because you need to specify a UI context. And the second issue is a result that I haven't added a serializer for playlist objects. I've added a bug second one. The irony here is that when you call the first url with a context, then you get the same error as your second example, because the object type isn't yet supported. So the bug is in the system... I can't say when I'll have a fix.
__________________
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 |
#113
|
||||
|
||||
I've added a bug for image serialization stuff.... I'll try to do a base64 encoded string... or maybe just a url to the image??
__________________
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 |
#114
|
||||
|
||||
Quote:
if you invoke the api url without any parameters, it shows you all the availble args that supported for an api call. Code:
http://mediaserver:8081/sagex/api If you are looking at returning all elements and then post processing them, then you might want to consider using the EvaluateExpression to have your processing done on the server, and then have the results sent back... Something like this... Code:
/sagex/api?c=EvaluateExpression&1=Sort(GetMediaFiles("T"),false,"Intelligent")
__________________
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 |
#115
|
|||
|
|||
If the url points at your API, that would work. Otherwise the client app might not have direct access to the image (i.e. thumbnails stored in the sage root).
|
#116
|
|||
|
|||
Quote:
Doing a test it took 3:35 to retrieve the xml for 3700 media files using a chunk size of 50. Responses seem to be taking between 0 and 21 seconds per chunk which seems a little odd. I'm wondering if certain files or media types take significantly longer than others to serialize. Any suggestions on how I might speed up the results when using GetMediaFiles for a large collection? Quote:
Last edited by iolaus; 03-21-2009 at 05:13 PM. |
#117
|
||||
|
||||
iolaus,
There has to be a reason why the response is taking so long in your case. When i execute this command, Code:
http://mediaserver:8081/sagex/api?command=EvaluateExpression&1=Size(GetMediaFiles()) Code:
<Result>30561</Result> Code:
http://mediaserver:8081/sagex/api?command=GetMediaFiles My server isn't a beefy server, it's a single core 2.4ghz with 1024mb memory. So, i'm wondering if maybe after you issue this command if you could check the sage log file and see if there are exceptions. If the serialization process was encountering errors during the process, then that may account for the slow serialization process, since logging exception stack tracing can be a time consuming operation.
__________________
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 |
#118
|
|||
|
|||
Quote:
In other words, each Song's <MediaFile> tag has child tags for every other song on the same album (which makes the tag sizes increase exponentially with # of tracks per album). Would it possible to exclude data about other tracks on the album from a serialized song's <MediaFile> tag? If not, is there any other solution? |
#119
|
||||
|
||||
I've added bug for this as well...
My apologies, but currently I'm swamped with phoenix and metadata tools work, but I'll try to take a look at these serialization issues once we release the phoenix apis and the latest metadata tools. The only alternative that I can think of, is to use the encoder=nielm option to return the xml in the sage webserver xml format. Niem's serializer works a little different and I bet it doesn't have the recursive flaw.
__________________
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 |
#120
|
|||
|
|||
Quote:
I'm not sure if it would be possible within your design but a quick fix might be to just not serialize the MediaFile.Album.AlbumTracks list. Any information in that list should be available in other MediaFiles. |
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 |