oscp remote protocol v1.4

commands:
EHLO <int>	// use as first command, number defines listing type (values: 0, 1, 2)
STOP		// stop playing
PAUSE		// toggle pause, reply: PAUSE=<0|1>
QUIT		// quit server
LOAD		// restart current file
LOAD <int>	// play entry #number
LOAD2 <str>	// play specified file
LOADFAV <int>	// load configured fav number, see ~/.oscp.conf
SETFAV <int>	// set cur dir to specified fav number, see ~/.oscp.conf
NEXT		// load next file
PREV		// load previous file
FFWD		// seek forward (15s default)
RWND		// seek back (15s default)
SEEK <int>	// seek to #number s
SHUFFLE		// toggle shuffle (random play), reply: SHUFFLE=<0|1>
SHUFFLE2	// toggle shuffle2 (randomize list), reply: SHUFFLE=<0|2>
REPEAT		// toggle repeat, reply: REPEAT=<0|1>
VIDS		// toggle vids
SCROBBLER	// toggle scrobbling
SCROBLOVE	// love track (add to favourites on last.fm)
VOL-		// decrease volume, reply: VOL=<-1..100>
VOL+		// increase volume, reply: VOL=<-1..100>
VOLS <int>	// set volume, reply: VOL=<-1..100>
GO_PARENT	// change to parent dir
MAKE_RECURSIVE_LIST <str> // add files to list recursively starting from cwd
		// with optional string as a filter (fnmatch pattern)
GET_CUR		// get current play position, reply: CUR=<int>
GET_LISTNAME	// get list name, reply: LISTNAME=<string>
GET_CWD		// get current dir, reply: CWD=<string>

GET_INFO	// get song info (if any), reply:
INFO_START
TITLE=<str>
ARTIST=<str>
GENRE=<str>
ALBUM=<str>
COMMENT=<str>
YEAR=<str>
INFO_END

GET_LIST	// get current list, NAMn are selected by initial EHLO n. reply:
LIST_START <int>// item count
NAM0[0]=<int>,/some/long/path/file.mp3	// number is file type, <0 for dir-like
or
NAM1[0]=<int>,file.mp3
or
NAM2[0]=<int>,path/file.mp3
...iterates through list
LIST_END

EQ <int>	// turn eq off/on (values: 0/1)
EQ1 <float>	// set eq band 1 (60Hz) to <float> (-4..4)
..		// 2:170 3:310 4:600 5:1k 6:3k 7:6k 8:12k 9:14k 10:16k
EQ11 <float>	// set eq band 11 (22kHz) to <float> (-4..4)
