XBMP Installation and User Guide
--------------------------------

1.1	Introduction

1.2	Features

1.3	Supported media

1.3.1	DIVX
1.3.2	XVID
1.3.3	MP3
1.3.4	WMV
1.3.5   VCD
1.3.6   SVCD

1.4	Requirements 

1.4.1	XBMP
1.4.2	XStream

1.4.2.1	Network connection
1.4.2.2	PC with .Net Framework

2.1	The different ways of using XBMP

2.1.1	DVD
2.1.2	HD
2.1.3	XStream
2.1.4	other streaming server

3.1	Configuration

3.1.1	Tag syntax	
3.1.2	xbmp config.xml

3.1.2.1	<map> - Tag
3.1.2.2 <local> - Tag
3.1.2.3 <remote> - Tag

3.1.3	xstream config.xml
3.1.4	catalogue.xml

3.1.4.1	<catalogue> - Tag
3.1.4.2	<media> - Tag
3.1.4.3	<share> - Tag
3.1.4.4	<title> - Tag
3.1.4.5	<artists> - Tag
3.1.4.6	<summary> - Tag
3.1.4.7	<picture> - Tag
3.1.4.7	<map> - Tag
3.1.4.8	catalogue.xml example

3.1.5	xstream Installation

4.1	Controller Options

4.1.1	Gamepad
4.1.2	DVD Remote

5.1	Version History
5.2	Disclaimer
5.3	Report Bugs
5.4	Credits

-----------------------------------------------------------------------------------------

1.1	Introduction

	Hello and welcome to XBMP, the Xbox Mediaplayer! You made the right (and at the moment)
	the only choice by downloading this cool looking and nifty divx and mp3 player
	for the console of your heart, the Xbox! :)

        This release of XB Media Player is special, it marks the joining of development effort
        between d7o3g4q and RUNTiME.  The codebase is virtually a complete re-write of past
        efforts.

        Undertaking a more architectural role, d7o3g4q has re-written much of the demuxer and
        stream based parsing in order to address the synchronisation issues in earlier builds.
        This work is something of a challenge and should be by no means be trivialised.

        On the UI and network fence RUNTiME has been involved in adding new features to the
        user interface and performing on-going server maintainence, occasionally getting his 
        hands dirty to provide us with additional codec support.

-----------------------------------------------------------------------------------------

1.2	Features

	Xbmp allows you to play different media from hd, dvd/cd or even over the network. you can
	watch movies, listen to music or just start look at it and be happy... :)

-----------------------------------------------------------------------------------------

1.3	Supported Media

	Currently, following types of media are supported:

1.3.1	DIVX

	At the moment, xbmp supports DIVX 3.11 ;-) and 4.0. We are currently thinking about v5.0,
	but its not included in this release.  Our priority is support for these two fine but now aging
        codecs.

1.3.2	XVID

	You may not have heard of this, but it is a very promising codec which performs as well as if not
        better than DivX 5.0, and best part of it, the format is completely open.  At the time of writing,
        XBMP has support for movies encoded with the latest stable version.  See xvid.org for further
        details.

1.3.3	MP3

	The current implementation is alpha quality.  While many MP3s work we have come across a couple
        that don't.

1.3.4	WMV

	Not that common, but also a nice to have feature. Playback of Windows Media Video 7 and 8.
        This is currently restricted to HDD cached mode, until the network buffering has been optimised.

1.3.5	VCD

	Xbmp offers the playback of VCD and MPEG files, but just some files at the moment. We are working
	on it and we will surely have complete support for this.

1.3.6	SVCD

	Not included in this release!

-----------------------------------------------------------------------------------------

1.4	Requirements

1.4.1	XBMP

	The most important thing you need for xbmp to run is obviously a Microsoft Xbox. But this is not enough.
	A normal retail xbox is not able to run software, which is not officially signed by MS, which means that
	you need to have a so called "modchip". There are alot different modchips available at the moment and
	new chips are on its way, so we cant really recommend a specific one. A good source for infos about modchips
	is http://www.xbox-scene.com or www.xboxhacker.net.

1.4.2	XStream

1.4.2.1	Network connection

	For using the Xstream server over the network, you need A NETWORK! Correct. This can be with a direct
	connection between the xbox and your pc with a crosslink cable or you have a hub/switch, where you
	connect your pc and your xbox to (then with a normal patch-cable of course).

1.4.2.2	PC with .Net Framework

	For Xstream server, you need a PC with the Microsoft .Net framework. You can download this for W2k/XP over the
	WindowsUpdate or diretly at the MS-website. 

-----------------------------------------------------------------------------------------

2.1	The different ways of using XBMP

	Like we said before, there are different ways of using XBMP at the moment ... Lets see what we got here:

2.1.1	DVD

	You can burn the xbmp on a dvd with some of your finest movies or mp3. 
	You boot the dvd in your xbox and enjoy the show.

2.1.2	HD

	You can start the xbmp from your xbox harddisk. For doing hat, you probably need the evolution-x dashboard.
	Just copy xbmp on e: or f: (if you have installed a bigger harddisk with the evo-bios) and start it with
	an entry in the evodash.

2.1.3	XStream

	But now to the coolest way we think. You can stream movies and mp3 over the network from your pc. Just enter
	a shared directory in the xstream config file, enter the ip of your pc in the xbmp config file, start both
	and of you go. Detailed instructions are given later.

2.1.4	Other streaming servers

	There are other streaming server available right now, which are nice also. Some of them are now purely Java-based,
	some run without the .Net framework. Definately nice. Which server you choose is your choice, but for the latest
	features and the highest compatibility, we recommend to use our xstream server.

-----------------------------------------------------------------------------------------

3.1	Configuration

	Now comes the funny part. The Configuration of xbmp and xstream arent that complicated. With a little knowledge
	it should be done in seconds, with no knowledge in minutes and who takes longer than half an hour ... we feel
	very sorry for you! :) hehe
	
	Most important before fooling around with the config files is to know the syntax of the config-files:

3.1.1	Tag Syntax	

	Every input you make needs to be in special tags. 

	The syntax of a tag looks like this:

	<tagname>YOUR INPUT</tagname>
	^^^^^^^^^	   ^^^^^^^^^^
	open tag	   close tag

3.1.2	xbmp config.xml

	This file is for doing some major configuration for the xbmp. Here is an example of a config.xml:
	
	<configuration>
 
 	<media>
	
		<map>E:,Harddisk0\Partition1</map>
   		<local>D:\Media\Video</local>
    		<remote>192.168.1.2</remote>

 	</media>

 	<controls>

    		<offset>25,-4</offset>
		etc.

 	</controls>

	</configuration>

	Please dont touch this config-file, except the three tags map, local and remote between the <media> tag.

3.1.2.1	<map> - Tag

	This tag allows you to mount a partition to use it with xbmp. Its a more advanced feature and should only
	be used by people who know what the are doing (as it should be allways in life). :)
	
	If you want to map the E: drive of the xbox for use with xbmp, then you need this:
	
		<map>E:,Harddisk0\Partition1</map>
	
	For people, who have upgraded their HD with Evo-X, you surely want to map the F: drive of the xbox for 
	use with xbmp. If thats the case, you need to do this:
	
		<map>F:,Harddisk0\Partition6</map>
	
	Never remap D:, your DVD-Rom. NEVER! Thanks for listening! :)

3.1.2.2	<local> - Tag

	In the local tag, you can enter a directory on a drive inside the xbox.
	
	For example the path \Media\Video on your DVD-Rom, you need to enter this:
	
		<local>D:\Media\Video</local>
		
	If you want to access local files on the Xbox harddisk and you have mapped the partition before with the map tag,
	then you enter this for example:
	
		<local>F:\data\movies</local>

	Its important that you map the partition first. If you dont do that, you can force xbmp to refuse cooperation! :)
	
3.1.2.3	<remote> - Tag

	This tag is needed for the connection to you xstream server. Here you enter the ip of your server (the pc where
	the xstream application is running). 
	
	For example if your server has the IP-address 192.168.1.2 you enter this:

    		<remote>192.168.1.2</remote>	
	
	If it has an other IP address, which is most likely, you need to change this tag to the correct value.
	

3.1.3	xstream config.xml

	The config.xml of the xstream server has only one tag, that should be of your interest.
	
	For example, a xstream config.xml can look like this:
	
	<configuration>
  		<appSettings>
    			<add key="SharedStreams" value="s:\shared\movies" />
  		</appSettings>
	</configuration>

	The only tag you are allowed to change is the <add> tag. 
	
3.1.3.1	<add> - Tag
	
	It allows you to add a key called "SharedStreams" with a specific value, which is here for example 
	"S:\shared\movies". Here you need to enter the directory on your pc, that you want to share with your 
	xbox. This path needs to exist, else the xstream server wont start.
	
	So lets see, to make it easier to understand. If you have your zillions of porn clips on you 
	pc's E-Drive in the subfolder "\temp\hide\unintersting\please_dont_look_in_here_mommy\pr0n" :) then
	your <add> tag needs to look like this:
	
    		<add key="SharedStreams" value="e:\temp\hide\unintersting\please_dont_look_in_here_mommy\pr0n" />
    		
    	Should be a piece of cake. But dont touch the other tags!

3.1.4	catalogue.xml

	The catalogue.xml can be used to organize and to nicely catalogue your media.  This can be placed in
         the root of your CD/DVD or in the same directory as your XStream executable.

	All the informations here are in so called tags.  Currently, this is a manual process but there
        is already a 3rd party servers which provides a nice front-end for editing this information.  

3.1.4.1	<catalogue> - Tag

	The catalogue.xml file starts with a special tag called <catalogue> and ends with 
	</catalogue>. Everything you enter needs to be between these two tags. 

	The file would look like this:

	<catalogue>
		YOUR STUFF
	</catalogue>

3.1.4.2	<media> - Tag

	Every Media you want to describe with some infos and a pic needs to be in a special tag 
	again. This tag is called media and it is opened and closed with a <media> and a </media>. 
	I think you allready guess right that everything you want to "say" about this specific media 
	needs to be between these two tags. Every single media needs its own tag. So you need to open 
	and close this tag for every "data block". 

	For two different media the file would look like this:

	<catalogue>
	  	<media>
  			YOUR MEDIA 1
  		</media>
  		
 	 	<media>
  			YOUR MEDIA 2
 	 	</media>
	</catalogue>

	Every media tag contents a so called "data block". This block can store special tags which 
	contain specific data. As usual, every tag needs to be opened and closed.

	Valid tags for a "data block" are:

3.1.4.3	<share> - Tag

	In the share tag, you set some kind of mask for the file that you want to comment. You can 
	enter the complete filename or just a part of it. 

	Lets say you enter:

	<share>TheMatrix</share>

	Every filename in the media folder is checked now for this name and will show the infos which 
	are entered in the complete data block when you select it with xbmp on your xbox. If there are 
	two files with "TheMatrix" in its name like

	TheMatrix.avi
	WhatisTheMatrix.avi

	Both files will have the same datablock and also the same informations. This can be very usefull 
	if you want to comment a whole series.

	You call the tag like this:

	<share>Enterprise</share>

	So in case of every Enterprise episode has a filename with a "Enterprise", it has the same infos 
	and picture. If you want to make it more specific for every episode, you just need to enter more 
	of the wished filename in the <share> tag like this for example:

	<share>Enterprise-S01E15</share>

	Now it checks every filename in the media folder for "Enterprise-S01E15".

	You can choose how exact the media detection should work by just entering more or less of the filename!

3.1.4.4	<title> - Tag

	In the title tag, you enter the complete title of the media that you want to be shown by xbmp 
	when choosing the file.

	For example:

	<title>The Matrix</title>
	
	or

	<title>Star Trek - Enterprise: S01E01 - Broken Bow Part 1</title>

	You can write what you want, but it should make sense. :)

3.1.4.5 <artists> - Tag

	In the artist tag, you can enter the actors which are starring in the movie or artists which made 
	the song. This can be everything from Flipper to Gina Wild. :) You can add several artists by just 
	seperating them with a , like this:

	<artists>Keanu Reeves, Laurence Fishburne, Carrie Ann Moss.</artists>

3.1.4.6 <summary> - Tag

	In the summary tag, you can give a short description of the movie or the song. It shouldnt be too 
	long because you have only limited space in the xbmp to view it (and you would spoil the ending by 
	telling the whole story, hehe). 

3.1.4.7 <picture> - Tag

	Last but not least, the long awaited picture part. Here you can add the path to a small jpeg picture 
	with the size of 61 width and 90 pixel in height. Just take the movie poster or the cover picture, 
	resize it and save it as a jpeg with your favorite picture tool (Photoshop, PaintBrush etc...). 
	We would recommend to have one folder with all the small pictures in it. 

	To make it easier to understand, here is an example of a picture tag:

	<picture>S:\shared\pictures\matrix.jpg</picture>

	This means a file called "matrix.jpg" on the "S:" drive in the "\shared\pictures\" subdirectory will 
	be shown when selecting the media. The picture tag says, that it is a shared network path on you 
	xstream server. 

	If you where creating a compilation DVD on your XBOX, you would create a catalogue.xml file on the root
        of your DVD and refers to the pictures held locally on the DVD like this:

	<picture>D:\pictures\matrix.jpg</picture>

	Now you know all the tags which can be used in the datablock inside the media tag. A complete Media tag
	for the movie "The Matrix" could look like this:

	<media>
		<share>thematrx</share>
    		<title>The Matrix</title>
    		<artists>Keanu Reeves, Laurence Fishburne, Carrie Ann Moss.</artists>
    		<summary>In the near future, a computer hacker named Neo discovers the disturbing reality that 
    		all life on Earth is nothing more than an elaborate facade.</summary>
    		<picture>S:\shared\pictures\matrix.jpg</picture>
  	</media>

	Dont forget!!! The complete catalogue.xml needs to start with a <catalogue> and end with a </catalogue>.

-----------------------------------------------------------------------------------------
	
4.1	Controller Options

	The xbmp needs to be controlled by something and so we dont think you are telepathic so you need to use your 
	fingers. :) How you do that i tell you now:

4.1.1	Gamepad

	You will control XBMP with your gamepad. We assume you have a standard gamepad with all the needed buttons.
	
	A - Button     (Select)
	
			This button is the normal button for selcting an item just like in all the games you know.
	
	B - Button     (Enable/Disable HDD Caching)

			With this option you can enable the caching to the xbox harddisk. Before playing, it will copy
			the complete movie or song to the harddisk. This can take a while. It depends on the network
			speed and the size of the file. Use this option if you feel the need for it... :)

	Y - Button     (Rescan DVD media)

			With this button you can refresh the contents of an inserted media in your DVD-drive. 
			But BEWARE. In this version, if you rescan the contents of the DVD-Drive, you wont be able
			to switch to your local stored files on the harddisk unless you restart the player. This
			problem will be addressed in the next version.

        Black - Button (Disable/Enable correct aspect ratio)

			With this button, you can choose, if xbmp should playback the movie in its original display
			ratio or if it should expand it to fullscreen.

        White - Button (Toggle between Local and Remote media view)
        
        		This button allows you to switch between your shared files over xstream and your local files
	
			Just a reminder! After you have rescanned the contents of your DVD-Drive, then you just be
			able to switch between DVD and Xstream. Your local saved files on your harddrive wont be
			accessible until you restart the player.
	
	Start - Button (Reboot CD/DVD)
	
			This button does two different things. It depends on where you start the xbmp from. If you booted
			xbmp from a cdrw/dvd, this button will reboot the cd and restart xbmp. If you have started xbmp
			from harddisk, it will restart to your dashboard (probably evodash).
	
	Back - Button  (Exit to Dashboard)
	
			With this button you can exit to your dashboard. This will be the default dashboard (original/evo)
	
	D - Pad        (Select files and buttons)

			With the D-Pad you make all your selections. With up and down on the media listing you choose
			the file and when you allready play a media file, you can use left or right to choose the control
			buttons like play, pause, rewind, forward and mute (rewind and forward are currently disabled). 

	Left Trigger   (Decrease e.g. lower volume control)
	
			Once you've started a media file, you can select the volume control with the DPAD
                        and lower the volume with the left trigger.
	
	Right Trigger  (Increase e.g. raise volume control)
	
			Once you've started a media file, you can select the volume control with the DPAD
                        and raise the volume with the right trigger.
	
4.1.2	DVD Remote

	I swear you drooled as you have seen this but wait up, we need to dissappoint you. Actually, we dont support
	the Xbox DVD remote. Its on our todo-list, but at the moment its not possible. Just wait a little bit... there
	will surely be a solution sometimes.

-----------------------------------------------------------------------------------------

5.1	Version History


        This release:

        XB Media Player B5 - Joint offering, coded by d7o3g4q and RUNTiME

        d7o3g4q: Porting of FFMPEG DivX 3.x and DivX 4.x codecs.
                 Architecture: AVI Demuxer, StreamBuffer.
                 Decoupling of Audio / Video and synchronisation.
                 MP3 support (alpha).
                 VCD support (alpha).

        RUNTiME: Client side and Server-side (inc. XStream) network code.
                 Control panel UI
                 Local and remote media preview UI.
                 Widescreen support, and HDD Caching.
                 WMV 7 and 8 support.
                 AC3 5.1 -> 2 ch support.
                 XVID support.


        Previously:

	XB Player B3 and B4 - Alternative offerings, coded by RUNTiME.
        XBOX Media Player - Technology Demonstrator, coded by d7o3g4q.

-----------------------------------------------------------------------------------------

5.2	Disclaimer

	All Rights Reserved Xbox Media Player  2002. This project and site does NOT condone piracy. 
	This software is marked to be freely distributed, and SHALL NOT be sold to a mass market. 
	This software HAS BEEN fully tested before each release, and should NOT have any defects in the 
	software, however the makers of the Xbox Media Player / XBPLAYER is not responsible for any damages 
	or loss resulting from any information or software obtained from this site. All names & Anything 
	written in this manual that is a trademark, character, copyrights, or symbol belonging to any company 
	on this site, belongs to their respective owners. Xbox is a registered trademark of Microsoft. Xbox 
	Media Player is not affiliated with Microsoft corp. in any way and neither is the project. 
	If opening your Xbox, you will void the "WARRANTY"! d7o3g4q, RUNTiME, Xbox Media Player, XBPLAYER & this 
	manual is not responsible for any damages or loss resulting from any information or software obtained from 
	this manual.
	
	SUPPORT THE COMPANIES THAT PRODUCE QUALITY SOFTWARE!
	IF YOU ENJOYED A PRODUCT, BUY IT! SOFTWARE AUTHORS DESERVE SUPPORT!!

	All Rights Reserved Xbox Media Player  2002

-----------------------------------------------------------------------------------------

5.3	Report Bugs!

	This is a beta version and it surely has some or maybe even alot of bugs. If you find a bug, you can keep it 
	or what is alot better ... tell us. Telling us would make sense if you want it to be solved in future version. 
	But before writing us an email or spamming the well known irc channels, please look if the problem was caused
	by you. Check first if its not your fault and try to locate exactly the problem. It easily happens, that you
	forget something in an config file or that your pc is "lousy" installed or so. :) If you still experience the
	problem or the bug wont leave, then we are happy if you could tell us.
	
	Please use the xboxhacker.net media forum to feedback your comments, remembering to excercise due care and
        consideration when creating a new thread or replying to someone elses post.

-----------------------------------------------------------------------------------------
	
5.4	Credits

	XBMP is written by RUNTiME and d7o3g4q. Graphics by T-Money, Manual by CaRNiVoRe.