Difference between revisions of "Bemix Notes"

From SlugWiki
Jump to: navigation, search
(Results)
(Client)
Line 33: Line 33:
 
==Client==
 
==Client==
 
The "client" output format returns data in a simple newline-delimited list.  String values are not delimited by quote characters, and list items are delimited by commas (including a comma after the final element).  The format of each line is <code>name=value</code>, where <code>name</code> is the name of the variable being returned, and <code>value</code> is the value of the variable.  No whitespace characters are inserted between <code>name</code>, <code>=</code>, and <code>value</code>.
 
The "client" output format returns data in a simple newline-delimited list.  String values are not delimited by quote characters, and list items are delimited by commas (including a comma after the final element).  The format of each line is <code>name=value</code>, where <code>name</code> is the name of the variable being returned, and <code>value</code> is the value of the variable.  No whitespace characters are inserted between <code>name</code>, <code>=</code>, and <code>value</code>.
 +
 +
The MIME type of the client output is 'text/plain'.
  
 
''The result of the playlist command:''
 
''The result of the playlist command:''

Revision as of 22:51, 15 January 2006

Bemix is a web-based media player. It supports multiple soundcards and various networked client types, allowing a group to use a centralized server to control several speakers. Commands are issued through URLs, where the URL portion of the address represents the command to be issued, while the GET portion of the URL passes in parameters to the server.

URL Scheme

All URLs are relative to http://slugwiki.mit.edu:8080/, and all URLs have an output=[html, client]. An example URL is http://slugwiki.mit.edu:8080/play?output=client&playerId=2

Players

  • play?playerId=x
  • pause?playerId=x
  • stop?playerId=x
  • loadList?playerId=x&playlistId=y
  • player?playerId=x

Playlist

  • create?name=x
  • delete?playlistId=x
  • add?playlistId=x&song=y
  • remove?playlistId=x&index=y
  • playlist?playlistId=x

Browsing

  • browse?dir=x

General

  • players
  • playlists

Results

Each command returns a data structure through HTTP defining variable names and values. A variable name, value combination is referred to as a field. Every command contains at least one success field, whose values may be either true or false. If any tag is false, it should be assumed that the entire command failed. Each command may optionally return a comment field as well, whose value gives some indication of why an operation may have failed.

Client Types

Bemix is capable of dumping data in multiple of formats. Currently on "client" and "html" formats are planned, but XML/RDF formats are possibly in the future. The format of the export is indicated in the URL by the output parameter.

Client

The "client" output format returns data in a simple newline-delimited list. String values are not delimited by quote characters, and list items are delimited by commas (including a comma after the final element). The format of each line is name=value, where name is the name of the variable being returned, and value is the value of the variable. No whitespace characters are inserted between name, =, and value.

The MIME type of the client output is 'text/plain'.

The result of the playlist command:

id=30
name=the list
success=true

The result of the playlists command:

ids=32,30,31,
success=true