*Foobar2000 Remote Interface 1.2
*By Trex6662k5 (http://xbmc-ri.blogspot.com/)
------

*Foobar2000 - Peter Pawlowski
*foo_controlserver - Jason Poloski
---
*Font blitting - Peter Thoman
*TmpImages, scroller - Jonny2002
---
*UI buttons - Aeroman (Smoke Aeroman x32)
*Icon - kaibyaku2
*Background - Lettie
---
*Powered by Elxx's LUAPlayer compile
------

Inspiration
---
*XBMC Remote Interface - Originally coded by Jonny2002. Improved on by myself.
*Foobar Remote Control PC - Coded in AutoIT by ICT
------

*Having improved on XBMC RI, I decided to tinker further with it.
*View playlists, tracklists, change repeat and shuffle modes, control playback funtions, queuing.
------

Ideal scenarios
---
*Cant be bothered to get out of bed
*Wireless headphone owner. Tends to listen to music around the house or even outside.
*Scare people shitless.
------

Requirements
---
*Tested on Foobar2000 v0.9.4.2
*foo_controlserver 1.0.0 beta 1

*Foobar2000 MUST be installed AND running WITH foo_controlserver in the components folder for Foobar2000 to LOAD it.
*foo_controlserver MUST also be CONFIGURED PROPERLY in order for the script to WORK.

*In Foobar2000 preferences, tools. Fields MUST be configured excactly as written below
*%length_seconds%|$if(%album artist%,%album artist%,%artist%)|%album%|%tracknumber%|%title%

*Failure to do so will cause malfunction.

*For security I recommend entering allowed IP addresses that are able to connect to Foobar2000
*I also recommend Increasing number of clients to about 5.

------

Installation
---
*Since I expect everyone to be using firmware by Darkalex, I have only made a 1.0 EBOOT.

*Extract archive to the GAME folder configured with the 1.5 Kernel.

*Open settings.ini and configure.
------

Notes Worth Reading
---
*When the script connects to Foobar2000 and your music magically starts seeking or volume changes
Make sure the analogue stick is dead in the centre.

*I intentionally left out the currently playing; play time since I dont use it myself in my Foobar2000 setup.

*I got corruption on transfering data, I solved this by putting a 7ms pause on the network function. If you get errors then increase the pause rate in settings.ini

*Default playlist is the default UI playlist. Libary View is usually the ColumnsUI active playlist
Unless you renamed it.

*At times the script fails to grab the inital data. This might be because I'm pulling the data too fast but I've tried other ways (it currently looks absolutely horrible), if it does this press start till all fields are filled in. Order, volume, playlist and tracklist.

------

Controls
---
*R Trigger - Next
*L Trigger - Previous

*Triangle - Pause \ Resume
*Circle - Random
*Square - Stop
*Cross - Select Item

*Analog Stick 
	Up \ Down - Volume
	Left \ Right - Seek
*Select
	In playlist - Add to queue
	In queue - Remove from queue.
*Start - Refresh information

------

Things to improve on
---
*Tracklist display.
*Queuing a playlist adds its contents to the queue. <Done>
*Album art (This requires me learning C++ though)

------

Changes and additions since 1.0
---

*Made the analogue stick a little less sensitive
*Moved to Elxx's build of Luaplayer
	Faster WiFi (its magic)
	I had to make more fonts because of Luaplayer's <2.0 inability to alpha blend image to image
	Now works great at 100mhz
*Moved a few global varibles to local

------

Changes and additions since 1.1
---

!!!Consider this a final unless bugs require killing. Until I improve tracklist display.

*Minor optimisations
	Moved more global varibles to local
	Optimised local split()
*If the queue is broken, reset the counter.
*Next, Previous, Random buttons now change colour when pressed
	Play, Pause, Stop still rely on actual Foobar2000 status.
*Killed a bug which crashed the psp if you attempted to scroll a blank tracklist.
	Killed related bugs
*Cleared the queue if you pressed Previous (Since foo_controlserver also does this)
*Added the ability to add a playlist to queue (Although it MIGHT miss a few of the last tracks)
*Made the TMP images refresh often when new data gets added.
	Now changing the playlist also updates the playlist count in the playlist
*Added more Error messages