The UK Home Automation Archive

Archive Home
Group Home
Search Archive


Advanced Search

The UKHA-ARCHIVE IS CEASING OPERATIONS 31 DEC 2024

Latest message you have seen: Re: xPL CM12 Service and TabletPC


[Message Prev][Message Next][Thread Prev][Thread Next][Message Index][Thread Index]

xPLMediaNet Progress and some details


  • Subject: xPLMediaNet Progress and some details
  • From: "Tony Tofts" <tony@xxxxxxxxxx>
  • Date: Fri, 8 Apr 2005 06:52:41 +0100


Hi all,

Just a quick update on the progress so far...

Have finished the web server, this looks pretty much like the xplrionet
server. However, it uses the modular design of xplmedianet by communicating
with the sources as if it is a client, so is totally dynamic in the same
way
as the devices. I think the jukebox mode is an improvement too.

The rio client is almost complete, it now supports (for the first time)
having it's display used as a 4 line xpl osd device, so when this is
combined with ir zoning and xplhal you can script menus's etc for
controlling things like lights or whatever as well as displaying incoming
call details (if you have good eyesight) etc. At some point xplmedianet
will
gain it's own scripting module (the modular design means you can basically
bolt in anything you like)

Still to do before an initial test alpha release is TTS for the rio and
more
testing of the web interface as I'm not convinced this is totally stable
yet.

For those interested in how things link together here's some sample entries
from the ini file:

This is an entry for a source module (in this case the music scanner
source):

<source>
<main module="MEDIA" enabled="y"
title="Music" type="M" scanner="y"
purge="y" />
<settings database="" />
<settings stats="Y" months="2" />
<scan paths="c:\MP3" files="mp3,wma,wav,flac,ogg"
/>
<tags files="mp3,wma,wav,flac,ogg"
helper="mediatags" />
<menus artist="Artist" album="Album"
track="Track" genre="Genre" />
<menus artistjukebox="Artist Jukebox" albumjukebox="Album
Jukebox"
genrejukebox="Genre Jukebox" />
<titles main="Music Selection" artist="Artists"
album="Albums"
track="Tracks" genre="Genres" />
<titles artistjukebox="Artist Jukebox"
albumjukebox="Album Jukebox"
genrejukebox="Genre Jukebox" />
</source>

The 'main' section informs the core that the module is called MEDIA(.dll),
it's enabled, the source will be called 'Music' (this is changeable), It's
type is 'M' for music (this allows a client to request approriate sources
only), does it have a scanner and does it support purge (the main web page,
but could be anything, uses this to provide a list of scanners that can be
run)

Scan paths is the root paths to scan, and files is the extensions to
include

Tags files/helper matches extensions against modules that can read the tags
(in this case the same helper works for all supported tags, but this could
be different).

All source modules also support the user overriding the default menu/title
texts

The above is a typical entry, and all source sections follow a similar
pattern

The following is the BROWSE source module:

<source>
<main module="BROWSE" enabled="y" title="Browse
Music" type="M"
scanner="n" />
<scan paths="c:\MP3,C:\MVPTEST"
files="mp3,wma,wav,flac,ogg" />
<tags files="mp3,wma,wav,flac,ogg"
helper="mediatags" />
<menus browse="Browse" />
<titles main="Browser" Browse="Browse" />
<web style="browse" title="Browser" />
</source>

As you can see, this module can easily be 're-used' to provide a source
module for browsing pictures and videos simply by creating a new 'source'
entry in the ini with appropriate values...

A typical client entry (in this case rio) is:

<client>
<main type="rio" enabled="y" module="RIO"
/>
<settings volume="25" balance="0"
contrast="5" brightness="48"
lineout="n" />
<settings clock="y" clocklight="20"
clock24hr="n" />
<settings zone="master" />
<patch usebold="y" />
<load module="SSDP" port="21075"
portmap="111" />
<load module="MOUNT" port="21077" />
<load module="NFS" port="21078"
filename="helpers\receiver.arf" />
<load module="PORTMAP" port="111"
mount="21077" nfs="21078" />
<load module="TRIO" port="19680" />
</client>

The 'main' section specifies a fixed client type, whether it's enabled, and
the module RIO(.dll)

The settings sections are default values (when xplmedianet closes, the
client is asked to write it's own values back to clients.xml, and in future
when the client loads these are loaded in place of the above defaults)

The 'load' sections load all the support dll's for the client that cannot
be
loaded globally, along with any relevant settings (so these modules can be
re-used for other client types)

Obviously there are a lot of other sections/dll's for things like global
modules including dhcp, web server, transcoders, tts core, mediacasts,
various helpers etc etc

Each client (and web) has no understanding of how any source module (or any
other module) works. They exchange information in a standard format at all
times using a series of pre-defined functions that all modules of a
particular type must support.

Have posted a complete copy of the current (very much subject to change
still!) full xplmedianet.xml ini file in the group file section

As I'm working this weekend I can't say when the first test will be
available, but hopefully it will be out in the next 7 to 10 days.

Regards
Tony



xPL Links: http://www.xplproject.org.uk http://www.xplhal.com http://www.xpl.myby.co.uk
To Post a Message: ukha_xpl@xxxxxxx
To Subscribe:  ukha_xpl-subscribe@xxxxxxx
To Unsubscribe:  ukha_xpl-unsubscribe@xxxxxxx

xPL Main Index | xPL Thread Index | xPL Home | Archives Home

Comments to the Webmaster are always welcomed, please use this contact form . Note that as this site is a mailing list archive, the Webmaster has no control over the contents of the messages. Comments about message content should be directed to the relevant mailing list.