"My Home Automation Projects"

iJukebox for MediaNet

Please also read the Disclaimer

MediaNet - iJukebox

Purpose: To provide an iPhone Style CoverFlow Touchscreen Interface for MediaNet Devices

Pre-requisites:
Microsoft Windows 2000(?), XP, 2003 or Vista
.NET Framework 2.0
MediaNet Jukebox Source Module
MediaNet Media Source Module (for playing individual tracks)
MediaNet iJukebox Protocol Interface Module
MediaNet CoverFlow Support Module
Access to Medianet folder on MediaNet server via network (or local)
Access to Music folder(s) on server via network (or local)

Too install (once above met) simply extract this zip into a folder on the PC to run iJukebox

CONTROL.xml

<control>
    <medianet ip="192.168.250.100" port="8900" data="c:\data.mdb" />
        specify the ip address of the MediaNet server
        specify port to use (uses 2 ports e.g. 8900 also uses 8901)
       This must match the iJukebox protocol module loaded for it
        specify the path/filename for access to the medianet database

    <music medianet="" ijukebox=""/>
        if the medianet paths have a different root to those accessible by iJukebox you must specify
        the start of the medianet path that is to be changed, and what iJukebox should  change it to
       
this entry should be repeated for each unique root path for your music
        e.g. if your music is on the local medianet server and stored in medianet as something like c:\music\
        then another PC running ijukebox would need an entry to transpose it to \\servername\sharename\music\
       
an alternative is to have medianet access local music thru a local network share rather than c:\ d:\ etc
    <screen width="800" height="600" widthadjust="1" heightadjust="1" />
        specify the touchscreen width and height
        specify multipliers to stretch by for correct visual display
        e.g. my 800x480 display will only work in 800x600 mode so a 1.25 height adjust multipier corrects the visuals

    <covers width="200" height="200" top="60" left="20" spacing="80" realtime="y" transparent="y" rgb="255,255,255" />
        specify the width and height of the full album cover to use
        specify the pixel position for the top of the album display
        specify the pixel position from the left for the first album
        specify the gap in pixels between albums
        specify if pc has sufficient power to display seletion changes DURING a finger drag
        specify if transparent png images are to be used
        specify text colour in rgb format for artist/album display at top of screen 

    <commands width="60" height="60" top="500" left="20" />
        specify the width and height of the command buttons
        specify the pixel position from the top of the screen to display command buttons
        specify the pixel position from the left for the first command button

    <status enabled="y" top="340" left="12" font="arial" size="18" rgb="255,255,255" />
        specify if device status is shown, it's position and font name, size and text colour as rgb
    <artist enabled="y" top="370" left="12" font="arial" size="18" rgb="255,255,255" />
        specify if currently playing artist is shown, it's position and font name, size and text colour as rgb
    <album enabled="y" top="400" left="12" font="arial" size="18" rgb="255,255,255" />
        specify if current playing album is shown, it's position and font name, size and text colour as rgb
    <track enabled="y" top="430" left="12" font="arial" size="18" rgb="255,255,255" />
        specify if current playing track is shown, it's position and font name, size and text colour as rgb
    <ijukebox dragwidth="60" clickdelay="500" sortbyalbum="n" withclear="y" />
        specify how many pixels across screen should cause an album selection change
        specify how many milliseconds to ignore a click for after a drag
        this is to try and prevent accidental clicking and will need to be experimented with
        to find the correct value for your screens sensitivity
        specify whether to sort by album rather than artist/album
        specify whether to clear the device playlist before queuing selection
    <clients rows="8" columns="2" font="arial" size="24" height="44" width="300" />
        specify the number of rows and columns to use to display a list of devices for selection
        specify the font name and size to use
        specify the height and width of the device buttons

    <tracks rows="12"  />
        specify number of tracks to display on tracks screen
    <devices default="Office" />
        specify the start up device to control
</control>

You may have more than one running copy of iJukebox running on the same port
In this scenario the running copies will work in synch with each other

To use iJukebox:
To navigate albums either drag across the screen left/right or click on individual albums
or click/tap the top left/right screen corners for faster navigation
To play an album double click/tap the selected album
To control the device click on the appropriate graphic in the lower portion of the screen

To display/select individual tracks click/tap on the album/artist display at the top of the screen

Click/tap a tracks name to queue the track
Click/tap a tracks number to clear the current device playlist before queuing the track
To scroll list up/down click/tap the arrows
To return to album selection screen just click/tap any other part of screen

To select a device click/tap on a blank portion of the lower half of the screen, this will pop up a list of devices

Simply click/tap on the required device, and the screen will return to the coverflow view
This same screen also provides buttons for sorting either by album or artist and an a-z index
The device list also has a quit button for exiting the application

Using a non-standard background requires that transparent="y" be set in both iJukebox control.xml and CoverFlow loader.xml
Replace the backgound.jpg with the required image
If you need to specify a screen width/height adjust then the new image must also be adjusted
e.g. my screen is physically 800x480 but PC displays as 800x600
So I created my 800x480 image and then resized without maintaining aspect ratio to 800x600