Your Universal Remote Control Center
RemoteCentral.com
Philips Pronto Professional Forum - View Post
Previous section Next section Previous page Next page Up level
Up level
The following page was printed from RemoteCentral.com:

Login:
Pass:
 
 

Page 2 of 4
Topic:
XBMC
This thread has 53 replies. Displaying posts 16 through 30.
OP | Post 16 made on Wednesday September 1, 2010 at 11:40
Barry Gordon
Founding Member
Joined:
Posts:
August 2001
2,157
I open up a TCPIP socket to the unraid system and send an HTTP Get command which is handled by the unRaid web server (port=80). The basic commands are
Raid.SpinDown = "GET /update.htm?startState=STARTED&cmdSpinDownAll=Spin+Down HTTP/1.1\r\n" + a;
Raid.SpinUp = "GET /update.htm?startState=STARTED&cmdSpinUpAll=Spin+Up HTTP/1.1\r\n"+ a;

The header information is built as follows:

var a = "";
a = a + "Accept: application/x-ms-application, image/jpeg, application/xaml+xml, image/gif, ";
a = a + "image/pjpeg, application/x-ms-xbap, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, */*\r\n";
a = a + "Refer:http://" + Raid.IP + "/main.htm\r\n";
a = a + "Accept-Language: en-US\r\n";
a = a + "User-Agent:Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; WOW64; Trident/4.0; SLCC2; ";
a = a + ".NET CLR 2.0.50727; .NET CLR 3.0.30729; Media Center PC 6.0)\r\n";
a = a + "Accept-Encoding: gzip, deflate\r\n";
a = a + "Host: " + Raid.IP + "\r\n";
a = a + "Connection: Keep-Alive\r\n\r\n" ;

where "a" is the HTTP header information. I need to see how much of the header info is required and will do that soon.

unRaid will return a standard HTTP/1.1 OK 200 + additional stuff to the command which I use as an indication the command has been accepted rejected or some other issue.

Obviously there are many unraid commands that can be sent, but these were the only two I researched for what I needed.

I did experiment with opening a telnet port to the server and that also works, but I dropped it as I did not need it for what I am doing.

I just did some investigations on the header. The entire header "a" can be removed and replaced with a crlf ("\r\n") so that the basic command ends in a double CRLF sequence. It does not appear to have any effect on performance.

Last edited by Barry Gordon on September 1, 2010 18:51.
Post 17 made on Wednesday September 1, 2010 at 13:28
kevin82
Long Time Member
Joined:
Posts:
January 2008
197
Thank you for the info, it has been really helpfull!
Post 18 made on Sunday September 5, 2010 at 07:24
michael12345
Long Time Member
Joined:
Posts:
September 2008
20
Hi Barry,
there is always an interest in your software :)

I am already using SlimPronto (BTW, is there any update?),
I stream everything from my Lime unRaid server, music is going through SlimboxServer/Transporter and movies through HTPC (Windows Vista)..

Michael
OP | Post 19 made on Sunday September 5, 2010 at 14:54
Barry Gordon
Founding Member
Joined:
Posts:
August 2001
2,157
No updates to SlimPronto.

My XBMC handler is working okay. I am working on a full librarian that displays info on the Pronto. It is based on DVD profiler. It will handle subdivision of a collection by Genre or special tags. Selection of genre/tags is by text list only; selection of movie may be by cover art or list. List is much faster but some just love the graphics. It requires the Pronto PAL to operate. It will display on request all pertinent info about a movie including fanart. The fanart feature needs more work since the user must supply the fanart. I have not yet fully decided on a couple of things, but the system is designed to support several different HTPC like players. Right now I handle Sony Mega changers (Blu ray only), the Dune Player and XBMC.

I am not yet sure how it will end up, to be either sold or provided free. It really needs a 9800 for the librarian, but a 9600 does work although it is a bit crowded real estate wise.
Post 20 made on Friday October 15, 2010 at 01:49
brutus
Lurking Member
Joined:
Posts:
June 2008
6
Hi Barry,

Any idea when you make your xbmc-control public ?
I would love to have a copy !
(I would be happy with only the remote control features)

Regards,

Erwin
OP | Post 21 made on Friday October 15, 2010 at 02:09
Barry Gordon
Founding Member
Joined:
Posts:
August 2001
2,157
Not ready yet. I have been adjusting it so it will handle HTTP and/or JSON interfaces as the HTTP interface has been deprecated. My aim is to release the code as a sample for people to disect and learn from. It is not meant to be a finished product (it will be usable as is) but something that an individual with moderate prontoscript skills can take and modify to meet their needs. The modules I intend (not guarantee) to include are for the control of:

Vudu Player
Dune Player (Requires special Dune firmware which I have and can provide)
XBMC: Dharma(HTTP, JSON), Camelot(HTTP)
Unraid NAS (To spin disks up and down)

All control is over TCP/IP via WiFi from a Pronto in Network mode. Things for the most part are table driven so adding new actions or changes in format are easy to accommodate.

There will be documentation to explain the way the modules work so that a beginner can understand the approach I use. The system is library based with the libraries included at the activity level.

I also know that sWORDs is working on a very complete Pronto implementation that has control + full status feedback which is really nice if you are using the Music system of XBMC. His graphics look outstanding at this time.
Post 22 made on Friday October 15, 2010 at 06:45
michael12345
Long Time Member
Joined:
Posts:
September 2008
20
On October 15, 2010 at 02:09, Barry Gordon said...

I also know that sWORDs is working on a very complete Pronto implementation that has control + full status feedback which is really nice if you are using the Music system of XBMC. His graphics look outstanding at this time.

Who?
OP | Post 23 made on Friday October 15, 2010 at 08:48
Barry Gordon
Founding Member
Joined:
Posts:
August 2001
2,157
sWords is his bbs handle and he appears here sometimes. You will also find him on the XBMC forum
Post 24 made on Friday October 15, 2010 at 18:39
Lyndel McGee
RC Moderator
Joined:
Posts:
August 2001
12,996
On October 15, 2010 at 06:45, michael12345 said...
Who?

You may want to go here:

[Link: remotecentral.com]

and Type sWORDs in either the Search for or Find posts written by text entry field.

or here:

[Link: remotecentral.com]

and Type sWORDs
Lyndel McGee
Philips Pronto Addict/Beta Tester
Post 25 made on Friday October 22, 2010 at 16:37
deflektor
Long Time Member
Joined:
Posts:
October 2009
14
Hello. I started working on a control for XBMC a year ago but I put it on hold when the HTTP API became deprecated. I have some basic 2-way communication working as well as some other features.

Now that the JSON API is getting somewhere I've added a postHTTP function to the Philips HTTP library so I can use it to retreive JSON data. This seems to work well. However, for control (keypresses etc) I'd like to use the XBMC EventServer as it uses UDP and should be faster and more responsive than the rather slow and deprecated HTTP API. Also the JSON API does not seem to support keypresses.

Unfortunately, the XBMC EventServer is not well documented at this point. I've found some example source code in other languages but they mostly use internal functions and libraries for the low-level communication so it is isn't obvious straight away what really goes on.

Before I spend time researching this, has anyone else had any success sending EventServer commands from ProntoScript?
Post 26 made on Friday October 22, 2010 at 20:49
Doberman
Long Time Member
Joined:
Posts:
July 2008
93
Very interesting thread.
OP | Post 27 made on Friday October 22, 2010 at 21:12
Barry Gordon
Founding Member
Joined:
Posts:
August 2001
2,157
I am probably not going to end up using XBMC. I really like what I have now with my own Library system and the Dune player.

However it is my plan to release what I have done for XBMC as a learning and teaching module for use by others. It will be a complete xcf using libraries written in PEP2. It will handle the XBMC player such that a prontoscript literate individual can follow and understand the code. WOL is built in. It is table driven and I will document its operation.

The libraries handle common subroutines, TCP/IP Dynamic PopUps and the player itself. The player page does know about JSON and does test for the presence of an XBMC that is JSON capable. The main player page is what most will want. There is a full keyboard page and a "try and test" page that allows you to send any command or action code, all table driven. I need to change this last page to put the lists internal as I currently read them from a server.

I will try and get it all done next week so those that are interested will be able to pick it up at my web site. It will not be supported, but I will answer questions re operation and how to extend it (it should be obvious).

The JSON implementation in XBMC is in Alpha/Beta and the HTTPAPI sometimes acts up ergo no support and Caveat Emptor, although there will be no cost.
Post 28 made on Saturday October 23, 2010 at 09:00
Doberman
Long Time Member
Joined:
Posts:
July 2008
93
I am using a Dune player myself. What kind of control do you have with your custom firmware?
Will that work to all Dune machines?
OP | Post 29 made on Saturday October 23, 2010 at 09:49
Barry Gordon
Founding Member
Joined:
Posts:
August 2001
2,157
I have full control over IP. I can send any IR command as an IP sequence. I can send many commands that you can not easily do or do at all with just IR. The most important to me is the ability to send the path to a file (.m2ts, .mkv, or to a video_ts.ifo file) that is the movie I want to play and have that movie start.

You do require the Dune IP firmware which is not officially released yet as they are just finishing up handling of BR disk formats with full menus. I rip BR disks to an iso like folder tructure, but all that I really need is the m2ts file and that is all I use.

When I rip I do it in a way that there are no menus, no pre movie trailers, no infomercials, and no dire warnings.

I have a Pronto Pro library module that handles the Dune player and when the IP code is released I will provide it to any who want it. It has a single page for the player and will require some tweaking to work in a specific environment. It uses some other basic libraries that I wrote but I will supply them all as a framework.

The issue will come down to "how do you determine the file path to send to the Dune". If you are using the Dune browser then IR or IR over IP is all you need. In my setup the Theater has its own movie librarian (Think Kalaidescape) so the player is "Dark", that is, it is burried on a shelf and never touched or seen.

Hope that helps
Post 30 made on Saturday October 23, 2010 at 14:28
Doberman
Long Time Member
Joined:
Posts:
July 2008
93
At this stage I would be glad if I could just send the IR commands over IP. I am running MyMovies and the BluRay library appears on the TV. I can't code, so I wouldn't like to complicate things any further!
Find in this thread:
Page 2 of 4


Jump to


Protected Feature Before you can reply to a message...
You must first register for a Remote Central user account - it's fast and free! Or, if you already have an account, please login now.

Please read the following: Unsolicited commercial advertisements are absolutely not permitted on this forum. Other private buy & sell messages should be posted to our Marketplace. For information on how to advertise your service or product click here. Remote Central reserves the right to remove or modify any post that is deemed inappropriate.

Hosting Services by ipHouse