PDA

View Full Version : Is an NMT skin possible?



trotsky10
2008-10-14, 01:38
Hi,

Being an owner of one of the Syabas based Networked media tank devices, I was wondering if it would be possible (or has been done?) to create a skin for the NMT (Popcorn-Hour, EGreat, Istar Mini, etc etc) much like the ipeng or nokia skins. For me I think it would be great to have a visual controller on my tv for when people are around at parties to browse my collection (and my wife) without needing the new controller or a laptop etc.

I know NMT devices html browser is very basic in what is supports so wasn't sure.

I haven't tried the existing skins on it. Might have a play later.

st2000
2008-10-14, 07:12
trotsky10 wrote:
> Hi,
>
> Being an owner of one of the Syabas based Networked media tank devices,
> I was wondering if it would be possible (or has been done?) to create a
> skin for the NMT (Popcorn-Hour, EGreat, Istar Mini, etc etc) much like
> the ipeng or nokia skins. For me I think it would be great to have a
> visual controller on my tv for when people are around at parties to
> browse my collection (and my wife) without needing the new controller
> or a laptop etc.
>
> I know NMT devices html browser is very basic in what is supports so
> wasn't sure.
>
> I haven't tried the existing skins on it. Might have a play later.
>
>

Humm, by skinning do you mean a custom GUI?

It's been a while, and things might have progressed but...

The NMT uses a media player which literally takes over the GUI. So far
I don't think anyone has done much past putting up text when the built
in media player is not being a hog.

The Syabas software in the NMT (which is based on Linux) has an internet
browser which should support something called, I think, PHP? That is,
in addition to what a normal (basic) browser does, it should understand
extensions which allow the end user to interact with media servers (i.e.
pressing play will play something instead of reloading the web page and
then playing something).

This last feature can be thought of as supporting a custom GUI to the
casual user (i.e. they can't tell the different - almost). To that end,
you would want to use something like WizD or Swisscenter. These two
media servers should support the extended html the Syabas usually puts
into their software package.

So <yes I know this is a slimdevices list and I'm pulling it way off
topic> if you download one of the above servers and point it at your
music collections you will probably get some of the functionality you
are looking for. However, you will <back on topic> be going in the
wrong direction if you want to keep the slimdevices paradigm (i.e. play
lists, radio and other services).

----

Say, this isn't you is it?:
> http://www.networkedmediatank.com/showthread.php?tid=9319&pid=81464
....just about the same question.

----

So, someone enlighten me, how do the ipeng and nokia slimdevices plugins
work? Is it actually the PHP thing?

Strangely enough, 5 minutes on the ipeng site doesn't lead me to any
kind of "here's a 30000 foot view of what's going on" page.

I ask because, I think, we can already get the NMT to play from a
slimdevices back end. If all that is needed is a PHP plug in, and that
has already been done for the iPhone and the Nokia 770... well... humm.

Where's the, I assume, the PERL scripts for these two plugins?

....interesting project, thanks

trotsky10
2008-10-15, 01:14
Yep that is me.

Scratch the swisscenter etc. I have them but they are not as good as squeezecenter and don't support everything i.e. ape etc. As I mentioned in the thread on networkedmediatank I am actually not looking to play the music through the NMT but only use the web browsing capabilities to control the squeezebox through squeezecenter.

Classic, Ipeng and nokia skins (yes web based GUI probably written with php) area available through squeezecenter giving a different style web based GUI for displaying on different devices:

http://<server>:9000/classic
http://<server>:9000/ipeng
http://<server>:9000/touch


etc

Would be great to have one that works and looks nice on the NMT. Though I haven't tried all the existing one's to see if they work yet, so if anyone knows or has already tried I would love to know. Otherwise when I get the chance I will update here.

trotsky10
2008-10-16, 13:00
Just to update here (as have updated at the NMT forum).

The only skin that seemed to work with the NMT was the handheld skin. The only problem is that when the play icon is clicked on I get a big 'Request was not able to be processed message'.

If I can get a play request to work (I am not so fussy about the now playing to be updated or shown) then I will be tempted to create a skin for the NMT for browsing with album cover art. Can anyone help?

trotsky10
2008-10-18, 08:12
Hi,

you can see I can't get this out of my head.

st2000 the ipeng and nokia770 and other skins use the methods detailed in:

http://wiki.slimdevices.com/index.php/SkinDevelopment

basically it uses the perl template toolkit

http://www.template-toolkit.org/

Here is where I am now:

Ok I have been looking around and also put questions on the slimdevices forum but still have the main problem that I can see no way for a link in html to tell the squeezecenter server to play or add music selected to the current playlist. The two methods I tried using status.html (or .xml or .txt etc) and using the Ajax.Request (and also tried XMLHttpRequest) didn't work for me.

If it is not possible then this in effect voids my idea of just adding a new skin to squeezecenter for the NMT or alternatively creating a YAMJ type static html creator program.

So I am thinking of writing my server program to do it. Hopefully there will be some interest in this otherwise it is a nice little project for me anyway :-)

funkstar
2008-10-18, 11:32
It seems to me there are two possible ways to get an interface on the NMT.

1. Create a skin that the built in browser can use.

2. Create a plugin/app for the NMT that communicates with SqueezeCenter via either a) SlimProto, b) the HTTP interface or c) the CLI.

the first is definitely going to be the easiest, but also the least flexible. For this to would the Skin needs to be on the SqueezeCenter machine so it can interperate the skin files, just like all the other skins there.

Some references:
http://wiki.slimdevices.com/index.php/CLI
http://wiki.slimdevices.com/index.php/SlimProtoTCPProtocol
http://wiki.slimdevices.com/index.php/SqueezeCenter

trotsky10
2008-10-18, 14:27
It seems to me there are two possible ways to get an interface on the NMT.

1. Create a skin that the built in browser can use.

2. Create a plugin/app for the NMT that communicates with SqueezeCenter via either a) SlimProto, b) the HTTP interface or c) the CLI.

the first is definitely going to be the easiest, but also the least flexible. For this to would the Skin needs to be on the SqueezeCenter machine so it can interperate the skin files, just like all the other skins there.

Some references:
http://wiki.slimdevices.com/index.php/CLI
http://wiki.slimdevices.com/index.php/SlimProtoTCPProtocol
http://wiki.slimdevices.com/index.php/SqueezeCenter

thanks. I was also thinking along those lines. My problem was that the usual way of calling the player controls from a skin,which was my preferred route, don't seem to be working on the NMT browser which led me to think either I need to find out how to add perl telnet code to talk to the CLI on the server side within the skin or write a seperate app to serve the NMT the compatible HTML pages.

Sadly it seems I am inching to the latter though I would prefer the former :-)

trotsky10
2008-10-19, 01:34
I have had a quick look again at skins and the perl template toolkit.

Does anyone know for instance if it is possible for me to use the perl CLI plugin within the skin template to issue the play commands to the players? I was thinking for instance having a player.html which would process argumemts passed to it and feed them to the CLI plugin then give an html message or so. Sounds a bit like my own status.html to me so I have in the back of my mind maybe I am missing something. Remember this is all because the standard html wrapper status.html (txt, xml etc) doesn't work on the NMT for some reason.

Sorry if my questions are obvious but I am learning as I go on as you can probably guess ;-)

bpa
2008-10-19, 03:23
An alternative approach would be to bypass skins altogether and through a plugin add your own pages to the SC server using
Slim::Web::HTTP::addPageFunction

Then you can put whatever contents you like - the calling URL need not have any conetnt just params on the URL.

This will require more work in the SC Plugin especially if gathering album/artist info but it may be cleaner.

Edit:

I am not familiar with the NMT so this suggestion will only be applicable if you want a few simple operations and you seems to be getting a complex solution with telnet and CLI from a Skin.

trotsky10
2008-10-28, 02:20
I have written my own web application.

To see how it looks and works please got to:

http://www.networkedmediatank.com/showthread.php?tid=9899