![]() |
|
|||||||
| Phoenix This forum is for discussing the user-created Phoenix custom interface for SageTV. |
![]() |
|
|
Thread Tools | Search this Thread | Display Modes |
|
#1
|
|||
|
|||
|
Direct Video Menu Item
Is there a way to add a menu item to play a specific video title?
I'm about to put the finishing touches on my home cinema and will be purchasing a custom video lead-in. What I'd really like to do is easily create playlists where the first video in the playlist is my lead in the and second video in the playlist is my video file of blu-ray disc structure rip. However, it seems that you cannot had blue-ray disc structures to playlists, only single video files can be added to playlists. So....I'm thinking I'll just have a menu button to play my custom video lead-in. Then when it is finished playing, I'll just find the movie my friends and family are going to watch with me. Not ideal, but it will have to do until (if ever) playlists support blu-ray disc structures or until I convert all my blu-ray disc structures over to single container files (e.g. mkv's). Thanks for the help.
__________________
Server: AMD Phenom II X6 3.20 GHz ♠ 8 GB RAM (7.75 usable) Capture: HDHomeRun Clear-QAM ♠ HRV-2250 Clear-QAM ♠ HD PVR ♠ Ceton STBs: QIP-7100 via HD-PVR and USB-UIRT channel change Software: Windows 7 Ultimate 64-bit ♠ SageTV v7.1.9.256 ♠ Java 1.6.0_31 Clients: 3 x STX-HD300 ♠ 3 x STX-HD200 ♠ Placeshifter |
|
#2
|
||||
|
||||
|
Maybe not through sage, but you can likely launch a media title from the web interface. Would probably be able to set a shortcut to it and launch it from a smart phone, whatever.
__________________
Sage Server: Phenom II X4, 16GB RAM, Win7HP, 1x1TB (system/misc-imports), 2x750GB+3x2TB(recordings/media) Sources: Two R-5000HD equipped ViP-211's for Dish Network, HDHR3 Dual for OTA Primary Client: i3-530, 2GB RAM, Win7HPx86, miniITX H55 MB, 160GB laptop drive, Samsung HLT-6189S Other Clients: Phenom II X2 545 w/8GB and HD6670 in Master Bedroom, MVP in kids play room |
|
#3
|
||||
|
||||
|
Quote:
__________________
Server (Headless): AMD Phenom II x4 3.0Ghz, 1.5 TB, 4 GB DDR3, win xp pro sp3, SageTV 7 Capture Devices: 2 x HDHR 2 tuner (OTA), ATI USB SD/HD (DishNetwork 322 tv1), HVR1600 (DishNetwork 322 tv2) Channel Changing: USBuirt w/DishNetwork tv2 ir converter Client 1,2, & 3: HD200 Client 4 & 5: HD300 Client 6: Athlon 64x2, 8600GT, 2GB, XP Pro SP3 unRAID Server: 12+ TB |
|
#4
|
|||
|
|||
|
I tried to discover the direct link via Sage Webserver, but it appears that the link to play in a given extender is actually a mixture of form submission and javascript method calls.
Does anyone have an idea of how I can deep link to force a MediaID to play on a given extender? I appreciate the help. I'd also be interested in going the direct menu link to a single video file to play it immediately. Can anyone help me there too? Thanks again.
__________________
Server: AMD Phenom II X6 3.20 GHz ♠ 8 GB RAM (7.75 usable) Capture: HDHomeRun Clear-QAM ♠ HRV-2250 Clear-QAM ♠ HD PVR ♠ Ceton STBs: QIP-7100 via HD-PVR and USB-UIRT channel change Software: Windows 7 Ultimate 64-bit ♠ SageTV v7.1.9.256 ♠ Java 1.6.0_31 Clients: 3 x STX-HD300 ♠ 3 x STX-HD200 ♠ Placeshifter |
|
#5
|
||||
|
||||
|
It would likely have to be done via the Play() api call through the sagex http api's. The format required I'm not really sure of (as far as setting UI context and such). I haven't really used those calls before, but just am aware of their existence.
__________________
Sage Server: Phenom II X4, 16GB RAM, Win7HP, 1x1TB (system/misc-imports), 2x750GB+3x2TB(recordings/media) Sources: Two R-5000HD equipped ViP-211's for Dish Network, HDHR3 Dual for OTA Primary Client: i3-530, 2GB RAM, Win7HPx86, miniITX H55 MB, 160GB laptop drive, Samsung HLT-6189S Other Clients: Phenom II X2 545 w/8GB and HD6670 in Master Bedroom, MVP in kids play room |
|
#6
|
|||
|
|||
|
Thanks Fuzzy. I"m taking a look at these now.
What I'm not seeing is how to make playback start on a particular extender. I'll keep looking.
__________________
Server: AMD Phenom II X6 3.20 GHz ♠ 8 GB RAM (7.75 usable) Capture: HDHomeRun Clear-QAM ♠ HRV-2250 Clear-QAM ♠ HD PVR ♠ Ceton STBs: QIP-7100 via HD-PVR and USB-UIRT channel change Software: Windows 7 Ultimate 64-bit ♠ SageTV v7.1.9.256 ♠ Java 1.6.0_31 Clients: 3 x STX-HD300 ♠ 3 x STX-HD200 ♠ Placeshifter |
|
#7
|
||||
|
||||
|
That's a part of the UI Context attribute of the URL. Not sure on the syntax though - would have defer to stuckless for help on that one.
__________________
Sage Server: Phenom II X4, 16GB RAM, Win7HP, 1x1TB (system/misc-imports), 2x750GB+3x2TB(recordings/media) Sources: Two R-5000HD equipped ViP-211's for Dish Network, HDHR3 Dual for OTA Primary Client: i3-530, 2GB RAM, Win7HPx86, miniITX H55 MB, 160GB laptop drive, Samsung HLT-6189S Other Clients: Phenom II X2 545 w/8GB and HD6670 in Master Bedroom, MVP in kids play room |
|
#8
|
||||
|
||||
|
Did some messing around. Looks like for extenders, the UI_CONTEXT is the the mac address (without colons).
I did this progression to create a playlist and start it on an extender (well, placeshifter in this case, same procedure though). Code:
http://sagetv:8080/sagex/api?c=RemovePlaylist&1=playlist:TestPlaylist http://sagetv:8080/sagex/api?c=AddPlaylist&1=TestPlaylist http://sagetv:8080/sagex/api?c=AddToPlaylist&1=playlist:TestPlaylist&2=mediafile:11253581 http://sagetv:8080/sagex/api?c=AddToPlaylist&1=playlist:TestPlaylist&2=mediafile:9503128 http://sagetv:8080/sagex/api?c=StartPlaylist&1=playlist:TestPlaylist&context=003067d032e1
__________________
Sage Server: Phenom II X4, 16GB RAM, Win7HP, 1x1TB (system/misc-imports), 2x750GB+3x2TB(recordings/media) Sources: Two R-5000HD equipped ViP-211's for Dish Network, HDHR3 Dual for OTA Primary Client: i3-530, 2GB RAM, Win7HPx86, miniITX H55 MB, 160GB laptop drive, Samsung HLT-6189S Other Clients: Phenom II X2 545 w/8GB and HD6670 in Master Bedroom, MVP in kids play room Last edited by Fuzzy; 05-07-2012 at 07:45 PM. |
|
#9
|
|||
|
|||
|
Thanks Fuzzy. That was a big help.
I've been able to figure out, with your help, how to issue the command via the sagex api and a deep link (reversed engineered from the Sage Webserver form submission process). However, now I'm stuck with what I believe is a Phoenix bug. When I use either one of these methods to start a video file, it only starts in the Phoenix preview window. It also brings up the mini/quick menu. I was expecting the commands to start the media file or playlist playing full screen. Any thoughts? Thanks.
__________________
Server: AMD Phenom II X6 3.20 GHz ♠ 8 GB RAM (7.75 usable) Capture: HDHomeRun Clear-QAM ♠ HRV-2250 Clear-QAM ♠ HD PVR ♠ Ceton STBs: QIP-7100 via HD-PVR and USB-UIRT channel change Software: Windows 7 Ultimate 64-bit ♠ SageTV v7.1.9.256 ♠ Java 1.6.0_31 Clients: 3 x STX-HD300 ♠ 3 x STX-HD200 ♠ Placeshifter |
|
#10
|
||||
|
||||
|
No, that's normal... starting playback and switching to the playback OSD would be two different functions (even in the default STV). I'm not exactly sure what method would be best to bring up the OSD, but you can likely use the LoadMenuWidget call to bring up the OSD widget (whatever it is for Phoenix) as the last set in the process.
__________________
Sage Server: Phenom II X4, 16GB RAM, Win7HP, 1x1TB (system/misc-imports), 2x750GB+3x2TB(recordings/media) Sources: Two R-5000HD equipped ViP-211's for Dish Network, HDHR3 Dual for OTA Primary Client: i3-530, 2GB RAM, Win7HPx86, miniITX H55 MB, 160GB laptop drive, Samsung HLT-6189S Other Clients: Phenom II X2 545 w/8GB and HD6670 in Master Bedroom, MVP in kids play room |
|
#11
|
|||
|
|||
|
Interesting. So going on that, I ran the following:
Code:
http://sagepc:8009/sagex/api?c=GetCurrentMenuWidget&context=0023a50000d6&encoder=xml Code:
<error> <message> <![CDATA[ Cannot Serialize Reply ]]> </message> <class> <![CDATA[ tv.sage.b.c ]]> </class> <data> <![CDATA[ default:ZOMHW-2366927|Menu:Phoenix OSD Video ]]> </data> <exception> <![CDATA[ Cannot Serialize [Field: Result, Type: tv.sage.b.c ToString: default:ZOMHW-2366927|Menu:Phoenix OSD Video] ]]> </exception> </error> For example, when I run: Code:
http://sagepc:8009/sagex/api?c=LaunchMenuWidget&1=Menu:Phoenix%20OSD%20Video&context=0023a50000d6 Code:
<error sagex-version="7.1.9.1"> <message> <![CDATA[ For input string: "Phoenix OSD Video" ]]> </message> <exception> <![CDATA[ java.lang.NumberFormatException: For input string: "Phoenix OSD Video" at java.lang.NumberFormatException.forInputString(Unknown Source) at java.lang.Integer.parseInt(Unknown Source) at java.lang.Integer.parseInt(Unknown Source) at sagex.remote.xmlrpc.RequestHelper.makeTypedArg(RequestHelper ]]> <![CDATA[ .java:70) at sagex.remote.xmlrpc.RequestHelper.createParameters(RequestHelper.java:38) at sagex.remote.xmlrpc.RequestHelper.createRequest(RequestHelper.java:18) at sagex.remote.factory.request.WidgetAPIFactory.createRequest(WidgetAPIFactory.java:83) at sagex.remote.factory.request.SageRPCRequestFactory.createRequest(SageRPCRequestFactory.java:1283) at sagex.remote.api.ApiHandler.callSageAPI(ApiHandler.java:204) at sagex.remote.api.ApiHandler.handleRequest(ApiHandler.java:150) at sagex.remote.SagexServlet.doPost(SagexServlet.java:60) at sagex.remote.SagexServlet.doGet(SagexServlet.java:38) 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:502) at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:389) at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216) at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:765) at org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:230) at org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:114) at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152) at org.mortbay.jetty.handler.rewrite.RewriteHandler.handle(RewriteHandler.java:230) at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152) at org.mortbay.jetty.Server.handle(Server.java:326) at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:534) at org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:864) at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:539) at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:212) at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404) at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:409) at org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:520) ]]> </exception> </error> |
|
#12
|
||||
|
||||
|
The LaunchMenuWidget needs the UID of the widget, not the text. So in your case, try LaunchMenuWidget("ZOMHW-2366927")
__________________
Sage Server: Phenom II X4, 16GB RAM, Win7HP, 1x1TB (system/misc-imports), 2x750GB+3x2TB(recordings/media) Sources: Two R-5000HD equipped ViP-211's for Dish Network, HDHR3 Dual for OTA Primary Client: i3-530, 2GB RAM, Win7HPx86, miniITX H55 MB, 160GB laptop drive, Samsung HLT-6189S Other Clients: Phenom II X2 545 w/8GB and HD6670 in Master Bedroom, MVP in kids play room |
|
#13
|
|||
|
|||
|
Yeah...that's what I thought:
When I send: Code:
http://sagepc:8009/sagex/api?c=LaunchMenuWidget&1=ZOMHW-2366927&context=0023a50000d6 Code:
<Result/>
__________________
Server: AMD Phenom II X6 3.20 GHz ♠ 8 GB RAM (7.75 usable) Capture: HDHomeRun Clear-QAM ♠ HRV-2250 Clear-QAM ♠ HD PVR ♠ Ceton STBs: QIP-7100 via HD-PVR and USB-UIRT channel change Software: Windows 7 Ultimate 64-bit ♠ SageTV v7.1.9.256 ♠ Java 1.6.0_31 Clients: 3 x STX-HD300 ♠ 3 x STX-HD200 ♠ Placeshifter |
|
#14
|
||||
|
||||
|
Yeah, it looks like passing the widget type isn't working in the sagex api (probably requires a widget: prefix, which isn't coded). You can, however, wrap it in an EvaluateExpression command like so:
Code:
http://sagepc:8009/sagex/api?c=EvaluateExpression&1=LaunchMenuWidget("ZOMHW-2366927")&context=0023a50000d6
__________________
Sage Server: Phenom II X4, 16GB RAM, Win7HP, 1x1TB (system/misc-imports), 2x750GB+3x2TB(recordings/media) Sources: Two R-5000HD equipped ViP-211's for Dish Network, HDHR3 Dual for OTA Primary Client: i3-530, 2GB RAM, Win7HPx86, miniITX H55 MB, 160GB laptop drive, Samsung HLT-6189S Other Clients: Phenom II X2 545 w/8GB and HD6670 in Master Bedroom, MVP in kids play room |
|
#15
|
||||
|
||||
|
Quote:
Code:
http://sagepc:8009/sagex/api?c=EvaluateExpression&1=LaunchMenuWidget(%22ZOMHW-2366927%22)&context=0023a50000d6 Code:
c=EvaluateExpression&1=phoenix_umb_Play(%22TestPlayList%22) I am a little confused because earlier you asked about doing this using "menus" but this looks like you are using an external program to do this.
__________________
Batch Metadata Tools (User Guides) - SageTV App (Android) - My Other Android Apps - sagex-api wrappers - Google+ - Phoenix Renamer |
|
#16
|
|||
|
|||
|
Quote:
I'm trying to do it two different ways. I am creating a web app to control my lighting via my phones and iPad. I'm ALSO trying to add direct links in some media files on the main menu of Phoenix. It's all in the name of getting to a particular video file and playlists as quickly and automated as possible. I'll give your suggestions a try and see how I make out. Thanks.
__________________
Server: AMD Phenom II X6 3.20 GHz ♠ 8 GB RAM (7.75 usable) Capture: HDHomeRun Clear-QAM ♠ HRV-2250 Clear-QAM ♠ HD PVR ♠ Ceton STBs: QIP-7100 via HD-PVR and USB-UIRT channel change Software: Windows 7 Ultimate 64-bit ♠ SageTV v7.1.9.256 ♠ Java 1.6.0_31 Clients: 3 x STX-HD300 ♠ 3 x STX-HD200 ♠ Placeshifter |
|
#17
|
|||
|
|||
|
Quote:
I gave this a try, but it didn't affect my UI at all. The playlist didn't start on my extender. Actually, I added a context paramenter to the end of it so that it knew which extender to begin the playback on. Is this right? Code:
http://sagepc:8009/sagex/api?c=EvaluateExpression&1=phoenix_umb_Play(%22CinemaDTSthxDD%22)&context=0023a50000d6
__________________
Server: AMD Phenom II X6 3.20 GHz ♠ 8 GB RAM (7.75 usable) Capture: HDHomeRun Clear-QAM ♠ HRV-2250 Clear-QAM ♠ HD PVR ♠ Ceton STBs: QIP-7100 via HD-PVR and USB-UIRT channel change Software: Windows 7 Ultimate 64-bit ♠ SageTV v7.1.9.256 ♠ Java 1.6.0_31 Clients: 3 x STX-HD300 ♠ 3 x STX-HD200 ♠ Placeshifter |
|
#18
|
|||
|
|||
|
Looks like the phoenix_umb_Play api call can take two parameters. So I tried:
Code:
http://sagepc:8009/sagex/api?c=EvaluateExpression&1=phoenix_umb_Play(%22CinemaDTSthxDD%22,%22001e52c7d870%22) I also tried the following: Code:
http://sagepc:8009/sagex/api?c=StartPlaylist&1=playlist:CinemaDTSthxDD&context=001e52c7d870
http://sagepc:8009/sagex/api?c=EvaluateExpression&1=LaunchMenuWidget("ZOMHW-2366927")&context=001e52c7d870
Thanks.
__________________
Server: AMD Phenom II X6 3.20 GHz ♠ 8 GB RAM (7.75 usable) Capture: HDHomeRun Clear-QAM ♠ HRV-2250 Clear-QAM ♠ HD PVR ♠ Ceton STBs: QIP-7100 via HD-PVR and USB-UIRT channel change Software: Windows 7 Ultimate 64-bit ♠ SageTV v7.1.9.256 ♠ Java 1.6.0_31 Clients: 3 x STX-HD300 ♠ 3 x STX-HD200 ♠ Placeshifter |
|
#19
|
||||
|
||||
|
Quote:
__________________
Batch Metadata Tools (User Guides) - SageTV App (Android) - My Other Android Apps - sagex-api wrappers - Google+ - Phoenix Renamer |
|
#20
|
||||
|
||||
|
btw the Play() method above probably didn't work because we didn't code in support for playing Playlists
![]() I assume that CinemaDTSthxDD is the playlist name, but I doubt the code supports looking up the playlist name.
__________________
Batch Metadata Tools (User Guides) - SageTV App (Android) - My Other Android Apps - sagex-api wrappers - Google+ - Phoenix Renamer |
![]() |
| Currently Active Users Viewing This Thread: 1 (0 members and 1 guests) | |
| Thread Tools | Search this Thread |
| Display Modes | |
|
|
Similar Threads
|
||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| How to add MC Menu item to go directly to SageTV Setup Menu? | BKeadle | SageMC Custom Interface | 1 | 11-05-2011 07:08 PM |
| Adding custom main menu item -Video Folder or Category | wado1971 | SageTV v7 Customizations | 0 | 08-10-2010 02:58 PM |
| Add menu item for My Podcasts? | cowboyway | SageMC Custom Interface | 5 | 08-12-2009 07:07 AM |
| exit menu item on main menu | 3dOptics | SageMC Custom Interface | 1 | 11-14-2008 02:27 AM |
| Add menu item with studio | jlabrue | SageTV Beta Test Software | 4 | 06-30-2007 08:44 AM |