[WIP] Unofficial XBMC iPhone Remote
#1
I've been working on this thing for a couple weeks on and off, and it's finally in a semi decent state so I've decided to release what I have and see what people think.

Image

It's basically a custom web interface for XBMC on the iPhone. It's all JavaScript and it uses iUI so it matches the native iPhone interface pretty well. It should also work ok with Safari 3 on Mac OS X and Windows, and possibly other browsers.

http://tlrobinson.net/projects/xbmciphone/

It's got some neat features like album art and automatically switching between file browsing mode and transport controls when you rotate the phone.

Please check it out and let me know if you have any problems, and any other feedback you have.

Thanks,

Tom
Reply
#2
p.s. Thanks to LiquidIce for the sample webinstaller code.
Reply
#3
I don't have an iphone yet (but am sorely tempted after having played with one :-)) This would be a nice little app for it.

I tried this out in Safari and Firefox, but it didn't work. It displays the interface, but I don't see any of my shares when selecting Music, Video etc. Also none of the commands are working. Note the standard xbmc web interface works fine.

Any ideas?
Reply
#4
Wow, great work! Surprised you haven't got any more comments yet because it's very well made and slick.

Not got an iphone to test it on, but everything I have tried so far seems to work well in firefox. Loving the album art in the 'Now Playing'.

Hopefully going to pick up a nokia 770 as they are only £70 now and will hope to use this on that; unless it is too javascript heavy for it.

Great job.
Reply
#5
I wonder why it's not working for me then. My shares are accessed over Samba on a NAS. If I click on Music or Video it just takes me to a blank page.

I really want this to work :-)
Reply
#6
OMG wow! This looks GREAT! The only thing I would add to your installation procedure is to turn on the web server in XBMC. I build (XBMC-SVN_2007-05-20_rev9030-T3CH) had it off by default.

P.S. You didn't used to go by the online handle "Cheezy" before did you? Your little self portrait on your site looks familiar.
Reply
#7
Having played with this for awhile, I have a few suggestions/questions.

Is it possible to have a "home" button on every screen? Sometimes I get pretty deep into my file structure and it takes awhile to get back to a starting point where I can find new tracks, etc. (especially when browsing the network for some reason).
Can you add a confirm dialog or something when choosing settings->Dashboard/Restart/Shutdown?
Also, it wasn't until I dug through the code that I saw the track controls and volume shows up if you tilt the iPhone to landscape. VERY cool feature, but I didn't see it mentioned.
And lastly, I saw that the shuffle and repeat options were commented out. Those would be nice to have in the next release.
Reply
#8
Quote:I wonder why it's not working for me then. My shares are accessed over Samba on a NAS. If I click on Music or Video it just takes me to a blank page.

I'll have to look into it more, but I think it might be a problem with it taking too long and the XMLHttpRequest timing out.

What exactly is the share path? Is it simply "smb://" or "smb://ipaddress" or something else (with appropriate IP address)?

Please try entering this into your browser and see if you get a listing (replace xbox with the IP and smb:// with the share path if it's different):
Code:
http://[b]xbox[/b]/xbmcCmds/xbmcHttp?command=GetMediaLocation(music;[b]smb://[/b];pathsonly)

When I try to access the "smb://" share I have the same problem, but "smb://ipaddress" works fine.
Reply
#9
sw1tch Wrote:Hopefully going to pick up a nokia 770 as they are only £70 now and will hope to use this on that; unless it is too javascript heavy for it.

Great job.

Thanks. It's actually VERY heavy on the JavaScript (almost entirely written in JavaScript). It looks like the Nokia 770 runs Opera, which doesn't run this very well at all, unfortunately. (Firefox would work, if that runs on the 770?)

Of course, XBMC iPhone Remote is completely open source, and anyone is welcome to try to modify it to work on other browsers/devices. That said, my primary goal is 100% compatibility with the iPhone, so that's where I'm focusing my energy.

But if you can modify it in such a way as to maintain iPhone compatibility I would definitely merge it back in the "official" release, otherwise you could fork your own device/browser specific version.

wurz Wrote:I tried this out in Safari and Firefox, but it didn't work. It displays the interface, but I don't see any of my shares when selecting Music, Video etc. Also none of the commands are working. Note the standard xbmc web interface works fine.

Any ideas?

Hmm strange. Are you running a recent version of XBMC? Are there any JavaScript errors (Tools -> Error Console in Firefox, Debug menu -> Show JavaScript Console in Safari) or alert popups?

Brandon! Wrote:Is it possible to have a "home" button on every screen? Sometimes I get pretty deep into my file structure and it takes awhile to get back to a starting point where I can find new tracks, etc. (especially when browsing the network for some reason).
In fact there is but it's kinda hidden Smile ... click the title (between "Now Playing" and the back button). I couldn't figure out a good place to put a dedicated button.
Quote:Can you add a confirm dialog or something when choosing settings->Dashboard/Restart/Shutdown?
Sure, that shouldn't be too hard.
Quote:Also, it wasn't until I dug through the code that I saw the track controls and volume shows up if you tilt the iPhone to landscape. VERY cool feature, but I didn't see it mentioned.
Yeah that's one of my favorite features, but it's not very complete and it's still buggy. I'm working on a better one that will hopefully be done within a week or so.

(question for CSS gurus: since z-index apparently only applies to absolutely positioned elements, and the file browse pages aren't absolutely positioned, the controls get put behind them even if I give the controls a z-index of 1000 or whatever... how do I fix this this?)
Quote:And lastly, I saw that the shuffle and repeat options were commented out. Those would be nice to have in the next release.
Yes, I haven't figured out how to control that from the web interface... anyone have any ideas? "SetGUISetting", I'm guessing, I just don't know exactly how.


Thanks everyone for all your comments.
Reply
#10
Brandon! Wrote:OMG wow! This looks GREAT! The only thing I would add to your installation procedure is to turn on the web server in XBMC. I build (XBMC-SVN_2007-05-20_rev9030-T3CH) had it off by default.

Oh good point, I assumed it was on by default.

Quote:P.S. You didn't used to go by the online handle "Cheezy" before did you? Your little self portrait on your site looks familiar.

Actually yes... was that on this forum? I don't think I've posted here before (although I've been a lurker for awhile)
Reply
#11
Brandon! Wrote:Also, it wasn't until I dug through the code that I saw the track controls and volume shows up if you tilt the iPhone to landscape. VERY cool feature, but I didn't see it mentioned.

P.S. It's mentioned in both the features section and instructions section of the project page / readme... but I added a screenshot just for you Wink
Reply
#12
Outstanding! I posted something along these lines in the feature request a week or so ago.

I noticed that if I'm playing music with a visualization on and change tracks via the remote, it kicks XBMC back to the main screen. with visualization running in the background. This could be a limitation of how the webserver works, but if its possible to retain the full screen vis with a track change I'd be in heaven.

Thanks again!
Reply
#13
Ah ok, I'll look into it. Right now it uses the xbmcForm "next" and "previous" commands, but there might be another way... any ideas anyone?



An unrelated note/question... does the XBMC team realize that web interface commands can be executed from malicious web pages? this is how the web installer used by LiquidIce and myself works (of course it's not malicious but it could be)

I've written up a description of the issue on my blog:

http://tlrobinson.net/blog/?p=15

Please comment.
Reply
#14
tlrobinson Wrote:Ah ok, I'll look into it. Right now it uses the xbmcForm "next" and "previous" commands, but there might be another way... any ideas anyone?



An unrelated note/question... does the XBMC team realize that web interface commands can be executed from malicious web pages? this is how the web installer used by LiquidIce and myself works (of course it's not malicious but it could be)

I've written up a description of the issue on my blog:

http://tlrobinson.net/blog/?p=15

Please comment.

Nevermind... I didn't realize there was a password protection option
Reply
#15
tlrobinson Wrote:I'll have to look into it more, but I think it might be a problem with it taking too long and the XMLHttpRequest timing out.

What exactly is the share path? Is it simply "smb://" or "smb://ipaddress" or something else (with appropriate IP address)?

Please try entering this into your browser and see if you get a listing (replace xbox with the IP and smb:// with the share path if it's different):
Code:
http://[b]xbox[/b]/xbmcCmds/xbmcHttp?command=GetMediaLocation(music;[b]smb://[/b];pathsonly)

When I try to access the "smb://" share I have the same problem, but "smb://ipaddress" works fine.

In my sources.xml, the shares are in the form:
Code:
smb://[i]username:password[/i]@[i]hostname[/i]/[i]sharename[/i]

I tried the command in Safari and firefox but just got "Error:Unknown command".
Reply

Logout Mark Read Team Forum Stats Members Help
[WIP] Unofficial XBMC iPhone Remote0