BPM-Studio HTTP Interface - Documentation

All player related commands have the following form:
	play1 - play the left player 	
	play2 - play the right player 	
All LIST_ commands have the following form:
	LIST_Clear1 = clear the left playlist
	LIST_Clear2 = clear the right playlist
	LIST_Clear4 = clear the filelist
 	Commands which return all entries from a list will be terminated with
	<br><br> to mark the end of the returned list.
o GETVERSION
	action:
		get the current version of BPM-Studio
	argument:
		none.
	return:
		Version of BPM-Studio, or 0 on error.
	example:
		http://localhost:80/getversion
o GETSERIAL
	action:
		get the serial of BPM-Studio
	argument:
		none.
	return:
		Serialnumber of the BPM-Studio dongle, or 0 on error.
	example:
		http://localhost:80/getserial
o CLOSE
	action:
		close BPM-Studio
	argument:
		none.
	return:
		1 on success, 0 otherwise.
	example:
		http://localhost:80/close


o PLAY(n), PAUSE(n), STOP(n), CUE(n), CUP(n), PREV(n), NEXT(n) 
	These commands all have the same syntax, they have the same action as the 
	buttons on the screen.
	action:
		like clicking on it.
	argument:
		none.
	return:
		1 on success, 0 otherwise.
	example:
		http://localhost:80/command  (the command is one of the above)

o SEEKFORW(n)
	seek stepwise trough the file
	action:
		like clicking on it.
	argument:
		none.
	return:
		1 on success, 0 otherwise.
	example:
		http://localhost:80/seekforw1
o SEEKBACK(n)
	seek stepwise trough the file
	action:
		like clicking on it.
	argument:
		none.
	return:
		1 on success, 0 otherwise.
	example:
		http://localhost:80/seekback1
o SEEKSTOP(n)
	stop seeking trough the file
	action:
		like clicking on it.
	argument:
		none.
	return:
		1 on success, 0 otherwise.
	example:
		http://localhost:80/seekstop1
o GETPLAYSTATE(n)
	action:
		get the playing status of the player.
	argument:
		none.
	return:
		0 = not playing
		1 = playing 
		2 = paused 
		3 = seekmode 
	example:
		http://localhost:80/getplaystate1

o GETPLAYTIME(n)
	action:
		returns the length in milliseconds of the current song 
	argument:
		none
	return:
		-1 if not playing.
	example:
		http://localhost:80/getplaytime1

o GETCURTIME(n)
	action:
		returns the position in milliseconds of the current song 
	argument:
		none
	return:
		-1 if not playing.
	example:
		http://localhost:80/getcurtime1

o JUMPTOTIME(n)	
	action:
		sets the position in milliseconds of the current song
	argument:
		position in milliseconds to jump to
	return:
		1 on success, 0 otherwise.
	example:
		http://localhost:80/jumptotime1=1000  (jump to 1 second.)

o GETTIMEMOE(n)	
	action:
		get time mode (remaining or elapsed)
	argument:
		none
	return:
		0 = remaining
		1 = elapsed
	example:
		http://localhost:80/gettime1

o SETTIMEMODE(n)	
	action:
		toggle the time between remaining elapsed
	argument:
		0 = remaing
		1 = elapsed
	return:
		1 on success, 0 otherwise.
	example:
		http://localhost:80/settime1=0  (set remaining.)

o GETINFO(n)	
	action:
		gets info about the current playing song. The value it returns depends 
		on the value of 'argument'
	argument:
		0         Samplerate (i.e. 44100)
		1         Bitrate  (i.e. 128)
		2         Channels (i.e. 2)
		3         BPM (i.e. 136)
		4         Track Nr (i.e. 10)
	return:
		Gets info or 0 on error.
	example:
		http://localhost:80/getinfo1=0
o FADEOUT(n)
	action:
		Fades out current song.
	argument:
		fadeout time in milliseconds
	return:
		0 on error, 1 otherwise.
	example:
		http://localhost:80/fadeout1=2000    (fadeout with 2 seconds)

o SETSHUFFLE(n)
	action:
		Toggle shuffle on and off
	argument:
		0 = off
		1 = on
	return:
		0 on error, 1 otherwise.
	example:
		http://localhost:80/setshuffle1=1

o GETSHUFFLE(n)
	action:
		Gets the status of shuffle
	argument:
		none
	return:
		1 if shuffle is on, 0 otherwise.
	example:
		http://localhost:80/getshuffle1

o SETREPEAT(n)
	action:
		Toggle repeat on and off
	argument:
		0 = off
		1 = on
	return:
		0 on error, 1 otherwise.
	example:
		http://localhost:80/setrepeat1=1

o GETREPEAT(n)
	action:
		Gets the status of repeat
	argument:
		none
	return:
		1 if repeat is on, 0 otherwise.
	example:
		http://localhost:80/getrepeat1

o SETSINGLE(n)
	action:
		Toggle single on and off
	argument:
		0 = off
		1 = on
	return:
		0 on error, 1 otherwise.
	example:
		http://localhost:80/setsingle1=1

o GETSINGLE(n)
	action:
		Gets the status of single
	argument:
		none
	return:
		1 if single is on, 0 otherwise.
	example:
		http://localhost:80/getsingle1

o SETPITCH(n)
	action:
		Toggle pitch on and off
	argument:
		0 = off
		1 = on
	return:
		0 on error, 1 otherwise.
	example:
		http://localhost:80/setpitch1=1

o GETPITCH(n)
	action:
		Gets the status of pitch
	argument:
		none
	return:
		1 if pitch is on, 0 otherwise.
	example:
		http://localhost:80/getpitch1

o SETPITCHMODE(n)
	action:
		Toggle pitch and tempo
	argument:
		0 = pitch
		1 = tempo
	return:
		0 on error, 1 otherwise.
	example:
		http://localhost:80/setpitchmode1=1

o GETPITCHMODE(n)
	action:
		Gets the status of pitchmode
	argument:
		none
	return:
		0 if pitch is on, 1 if tempo is on.
	example:
		http://localhost:80/getpitchmode1

o SETBPMDISPLAY(n)
	action:
		enable bpm display
	argument:
		0 = pitch display
		1 = bpm display
	return:
		0 on error, 1 otherwise.
	example:
		http://localhost:80/setbpmdisplay1=1
o GETBPMDISPLAY(n)
	action:
		get the status of the bpm display
	argument:
		none
	return:
		0 if pitch display, 1 if bpm display.
	example:
		http://localhost:80/getbpmdisplay1
o MATCH(n)
	action:
		Match BPM to other player
	argument:
		none
	return:
		0 on error, 1 otherwise.
	example:
		http://localhost:80/match1
o GETPITCHRANGE(n)
	action:
		get the current pitch range
	argument:
		none
	return:
		0 on error, pitch range otherwise.
	example:
		http://localhost:80/getpitchrange1
o GETTEMPORANGE(n)
	action:
		get the current tempo range
	argument:
		none
	return:
		0 on error, tempo range otherwise.
	example:
		http://localhost:80/gettemporange1
o SETSPEED(n)
	action:
		set player pitch or tempo
	argument:
		pitch or tempo in percent*10
	return:
		0 on error, 1 otherwise.
	example:
		http://localhost:80/setspeed1=-40  (set pitch to -4.0%
o GETSPEED(n)
	action:
		get player pitch or tempo
	argument:
		none
	return:
		player pitch or tempo in percent*10.
	example:
		http://localhost:80/getspeed1
o SETAUTO(n)
	action:
		set autoplay mode
	argument:
		0 = off
		1 = on
	return:
		0 on error, 1 otherwise.
	example:
		http://localhost:80/setauto
o GETAUTO
	action:
		get autoplay mode
	argument:
		none
	return:
		0 = off
		1 = on
	example:
		http://localhost:80/getauto
o FADENOW
	action:
		fade to next player
	argument:
		none
	return:
		0 on error, 1 otherwise.
	example:
		http://localhost:80/fadenow
o SETWAITLIST
	action:
		enable waitlist or single playlist
	argument:
		0 = single playlists
		1 = waitlist
	return:
		0 on error, 1 otherwise.
	example:
		http://localhost:80/setwaitlist=1
o GETWAITLIST
	action:
		get waitlist state
	argument:
		none
	return:
		0 = single playlist
		1 = waitlist
	example:
		http://localhost:80/getwaitlist
o SETFADETIME
	action:
		set the fade time in millisconds
	argument:
		fadetime in milliseconds
	return:
		0 on error, 1 otherwise.
	example:
		http://localhost:80/setfadetime=3000
o GETFADETIME
	action:
		get the fadetime in milliseconds
	argument:
		none
	return:
		fadetime in milliseconds
	example:
		http://localhost:80/getfadetime

o SETCROSSFADE
	action:
		set the crossfade volume (-100..0..100)
	argument:
		crossfade (-100..0..100)
	return:
		0 on error, 1 otherwise.
	example:
		http://localhost:80/setcrossfade=0
o GETCROSSFADE
	action:
		get the crossfade volume
	argument:
		none
	return:
		crossfade volume (-100..0..100)
	example:
		http://localhost:80/getcrossfade 
o SETFADEPRESET
	action:
		select the default fade presets
	argument:
		preset (0..6), 0 = default, 1..6 = fade buttons
	return:
		none
	example:
		http://localhost:80/setfadepreset=0 
o SMP_PLAY(n)
	action:
		play a sampler channel (n)
	argument:
		none
	return:
		0 on error, 1 otherwise.
	example:
		http://localhost:80/smp_play1 
o SMP_PLAY(n)
	action:
		play a sampler channel (n)
	argument:
		none
	return:
		0 on error, 1 otherwise.
	example:
		http://localhost:80/smp_stop1 
o SMP_LOAD(n)
	action:
		load a file in sampler channel (n)
	argument:
		full path + filename 
	return:
		0 on error, 1 otherwise.
	example:
		http://localhost:80/smp_load1=c:\test.mp3
o SMP_FREE(n)
	action:
		free a sampler channel (n)
	argument:
		none
	return:
		0 on error, 1 otherwise.
	example:
		http://localhost:80/smp_free1
o SMP_GETLOOP(n)
	action:
		get loop mode for a sampler channel (n)
	argument:
		none
	return:
		0 = off
		1 = on
	example:
		http://localhost:80/smp_getloop1 
o SMP_SETLOOP(n)
	action:
		set loop mode for a sampler channel (n)
	argument:
		0 = off
		1 = on
	return:
		0 on error, 1 otherwise.
	example:
		http://localhost:80/smp_setloop1=1 
o SMP_LOAD_BANK
	action:
		load a complete sampler bank
	argument:
		full path + filename 
	return:
		0 on error, 1 otherwise.
	example:
		http://localhost:80/smp_load_bank=c:\sampler.smp
o SMP_SAVE_BANK
	action:
		save a sampler bank
	argument:
		full path + filename 
	return:
		0 on error, 1 otherwise.
	example:
		http://localhost:80/smp_save_bank=c:\sampler.smp
o SMP_CLEAR
	action:
		clear all sampler channels
	argument:
		none 
	return:
		0 on error, 1 otherwise.
	example:
		http://localhost:80/smp_clear
o SETVOLUME_PLAYER(n)
	action:
		set the player volume
	argument:
		volume (0..100)
	return:
		0 on error, 1 otherwise.
	example:
		http://localhost:80/setvolume_player1=100
o GETVOLUME_PLAYER(n)
	action:
		get the player volume
	argument:
		none
	return:
		volume (0..100)
	example:
		http://localhost:80/getvolume_player1
o SETVOLUME_SAMPLER
	action:
		set the sampler volume
	argument:
		volume (0..100)
	return:
		0 on error, 1 otherwise.
	example:
		http://localhost:80/setvolume_sampler=100
o GETVOLUME_SAMPLER
	action:
		get the sampler volume
	argument:
		none
	return:
		volume (0..100)
	example:
		http://localhost:80/getvolume_sampler
o SETVOLUME_MONITOR
	action:
		set the monitor volume
	argument:
		volume (0..100)
	return:
		0 on error, 1 otherwise.
	example:
		http://localhost:80/setvolume_monitor=100
o GETVOLUME_MONITOR
	action:
		get the monitor volume
	argument:
		none
	return:
		volume (0..100)
	example:
		http://localhost:80/getvolume_monitor
o SETVOLUME_MASTER
	action:
		set the master volume
	argument:
		volume (0..100)
	return:
		0 on error, 1 otherwise.
	example:
		http://localhost:80/setvolume_master=100
o GETVOLUME_MASTER
	action:
		get the master volume
	argument:
		none
	return:
		volume (0..100)
	example:
		http://localhost:80/getvolume_master
 o SETMUTE_PLAYER(n)
	action:
		set the player mute
	argument:
		0 = off
		1 = on
	return:
		0 on error, 1 otherwise.
	example:
		http://localhost:80/setmute_player1=1
o GETMUTE_PLAYER(n)
	action:
		get the player mute
	argument:
		none
	return:
		0 = off
		1 = on
	example:
		http://localhost:80/getmute_player1
o SETMUTE_SAMPLER
	action:
		set the sampler mute
	argument:
		0 = off
		1 = on
	return:
		0 on error, 1 otherwise.
	example:
		http://localhost:80/setmute_sampler=1
o GETMUTE_SAMPLER
	action:
		get the sampler mute
	argument:
		none
	return:
		0 = off
		1 = on
	example:
		http://localhost:80/getmute_sampler
o SETMUTE_MONITOR
	action:
		set the monitor mute
	argument:
		0 = off
		1 = on
	return:
		0 on error, 1 otherwise.
	example:
		http://localhost:80/setmute_monitorr=1
o GETMUTE_MONITOR
	action:
		get the monitor mute
	argument:
		none
	return:
		0 = off
		1 = on
	example:
		http://localhost:80/getmute_monitor
o SETMUTE_MASTER
	action:
		set the master mute
	argument:
		0 = off
		1 = on
	return:
		0 on error, 1 otherwise.
	example:
		http://localhost:80/setmute_master=1
o GETMUTE_MASTER
	action:
		get the master mute
	argument:
		none
	return:
		0 = off
		1 = on
	example:
		http://localhost:80/getmute_master
o PLAYER_LOADFILE(n)
	action:
		load a file in the player
	argument:
		full path + filename 		
	return:
		0 on error, 1 otherwise.
	example:
		http://localhost:80/player_loadfile1=c:\test.mp3
o PLAYER_LOADTRACK(n)
	action:
		load a track from the playlist to the player
	argument:
		index of track (zero based)		
	return:
		0 on error, 1 otherwise.
	example:
		http://localhost:80/player_loadtrack1=5
o GETGROUPS
	action:
		returns all groups from the archive, the hirarchy is organized by tabs
	argument:
		none		
	return:
		0 on error, 1 otherwise.
	example:
		http://localhost:80/getgroups
o SELECTGROUP
	action:
		select a specific group by it's name
	argument:
		name of group		
	return:
		0 on error, 1 otherwise.
	example:
		http://localhost:80/select_group=Best Of
o LIST_CLEAR(n)
	action:
		clears the contents of the list
	argument:
		none.
	return:
		1 on success, 0 otherwise.
	example:
		http://localhost:80/list_clear1
o LIST_GETCOUNT(n)
	action:
		get the number of track in the list.
	argument:
		none.
	return:
		the number of tracks
	example:
		http://localhost:80/list_getlength1
o LIST_ADDFILE(n)
	action:
		add a file to the end of a list
	argument:
		full path + filename.
	return:
		1 on success, 0 otherwise.
	example:
		http://localhost:80/list_addfile1=c:\test.mp3
o LIST_REMOVE(n)
	action:
		remove a entry from list
	argument:
		index in list (zereo based).
	return:
		1 on success, 0 otherwise.
	example:
		http://localhost:80/list_remove1=5
o LIST_LOAD(n)
	action:
		load a playlist file
	argument:
		full path + filename.
	return:
		1 on success, 0 otherwise.
	example:
		http://localhost:80/list_load1=c:\test.pls
o LIST_SAVE(n)
	action:
		save a playlist file
	argument:
		full path + filename.
	return:
		1 on success, 0 otherwise.
	example:
		http://localhost:80/list_save1=c:\test.pls
o LIST_COPY(n)
	action:
		copy entries from one list to another list
	argument:
		comma delimited:

		1.destination list
		1.index in source list
		3.index in destination list
	return:
		1 on success, 0 otherwise.
	example:
		http://localhost:80/list_copy1=2,0,3
o LIST_MOVE(n)
	action:
		move entries from one list to another list (or in the same list)
	argument:
		comma delimited:

		1.destination list
		1.index in source list
		3.index in destination list
	return:
		1 on success, 0 otherwise.
	example:
		http://localhost:80/list_move1=2,0,3
o LIST_GETFILE(n)
	action:
		returns the file name of the list entry at index 'argument'.
		note:	if no argument is specified, returns a list of all the file names in
			the list seperated by '<br>'.
	argument:
		index in the list from which to retrieve title.
		note : the list is zero indexed so track 1 is 0.
	return:
		Filename of track or 0 on error.
	example:
		http://localhost:80/list_getfile1  (get file name at list index 1)
		or 
		http://localhost:80/list_getfile  (get a list of file names)

o LIST_GETARTIST(n)
	action:
		returns the artist of the list entry at index 'argument'.
		note:	if no argument is specified, returns a list of all the artists in
			the list seperated by '<br>'.
	argument:
		index in the list from which to retrieve artist.
		note : the list is zero indexed so track 1 is 0.
	return:
		artist of track or 0 on error.
	example:
		http://localhost:80/list_getartist1  (get artist at list index 1)
		or 
		http://localhost:80/list_getartist  (get a list of artists)

o LIST_GETTITLE(n)
	action:
		returns the title of the list entry at index 'argument'.
		note:	if no argument is specified, returns a list of all the titles in
			the list seperated by '<br>'.
	argument:
		index in the list from which to retrieve title.
		note : the list is zero indexed so track 1 is 0.
	return:
		title of track or 0 on error.
	example:
		http://localhost:80/list_gettitle1  (get title at list index 1)
		or 
		http://localhost:80/list_gettitle  (get a list of titles)

o LIST_GETVERSION(n)
	action:
		returns the version of the list entry at index 'argument'.
		note:	if no argument is specified, returns a list of all the versions in
			the list seperated by '<br>'.
	argument:
		index in the list from which to retrieve version.
		note : the list is zero indexed so track 1 is 0.
	return:
		version of track or 0 on error.
	example:
		http://localhost:80/list_getversion1  (get version at list index 1)
		or 
		http://localhost:80/list_getversion  (get a list of versions)

o LIST_GETALBUM(n)
	action:
		returns the album of the list entry at index 'argument'.
		note:	if no argument is specified, returns a list of all the albums in
			the list seperated by '<br>'.
	argument:
		index in the list from which to retrieve album.
		note : the list is zero indexed so track 1 is 0.
	return:
		title of track or 0 on error.
	example:
		http://localhost:80/list_getalbum1  (get album at list index 1)
		or 
		http://localhost:80/list_getalbum  (get a list of albums)

o LIST_GETGENRE(n)
	action:
		returns the genre of the list entry at index 'argument'.
		note:	if no argument is specified, returns a list of all the genres in
			the list seperated by '<br>'.
	argument:
		index in the list from which to retrieve genres.
		note : the list is zero indexed so track 1 is 0.
	return:
		genres of track or 0 on error.
	example:
		http://localhost:80/list_getgenre1  (get genre at list index 1)
		or 
		http://localhost:80/list_getgenre  (get a list of genres)

o LIST_GETCOMMENT(n)
	action:
		returns the comment of the list entry at index 'argument'.
		note:	if no argument is specified, returns a list of all the comments in
			the list seperated by '<br>'.
	argument:
		index in the list from which to retrieve comment.
		note : the list is zero indexed so track 1 is 0.
	return:
		comment of track or 0 on error.
	example:
		http://localhost:80/list_getcomment1  (get comment at list index 1)
		or 
		http://localhost:80/list_getcomment  (get a list of comments)

o LIST_GETYEAR(n)
	action:
		returns the year of the list entry at index 'argument'.
		note:	if no argument is specified, returns a list of all the years in
			the list seperated by '<br>'.
	argument:
		index in the list from which to retrieve year.
		note : the list is zero indexed so track 1 is 0.
	return:
		year of track or 0 on error.
	example:
		http://localhost:80/list_getyear1  (get year at list index 1)
		or 
		http://localhost:80/list_getyear  (get a list of years)

o LIST_GETBPM(n)
	action:
		returns the bpm of the list entry at index 'argument'.
		note:	if no argument is specified, returns a list of all the bpm's in
			the list seperated by '<br>'.
	argument:
		index in the list from which to retrieve bpm.
		note : the list is zero indexed so track 1 is 0.
	return:
		bpm of track or 0 on error.
	example:
		http://localhost:80/list_getbpm1  (get bpm at list index 1)
		or 
		http://localhost:80/list_getbpm  (get a list of bpm's)

o LIST_GETTIME(n)
	action:
		returns the time of the list entry at index 'argument'.
		note:	if no argument is specified, returns a list of all the times in
			the list seperated by '<br>'.
	argument:
		index in the list from which to retrieve time.
		note : the list is zero indexed so track 1 is 0.
	return:
		time of track or 0 on error.
	example:
		http://localhost:80/list_gettime1  (get time at list index 1)
		or 
		http://localhost:80/list_gettime  (get a list of time)

www.alcatech.com ALCATech GmbH ©2001