Difference between revisions of "SLOrkitecture"

From CCRMA Wiki
Jump to: navigation, search
(Example Use Case)
(Example Use Case)
Line 15: Line 15:
 
The Client is defined by slork-client.cpp and uses the ClientSocket class.
 
The Client is defined by slork-client.cpp and uses the ClientSocket class.
  
== Example Use Case ==
+
=== Example Use Case ===
 
:*test
 
:*test
 
:*test
 
:*test
  
 
== Code Documentation ==
 
== Code Documentation ==

Revision as of 03:43, 18 February 2009

Network Architecture for the Stanford Laptop Orchestra (SLOrk)

David Bao, Isak Herman, Craig Hanson

Background

During the Spring of 2008, the Stanford Laptop Orchestra (SLOrk) was established at the Stanford University Center for Computer Research in Music and Acoustics (CCRMA). The orchestra is made up of up to 20 workstations composed of Apple MacBook laptops, custom hand-assembled hemispheric speaker arrays, and various controllers. Each laptop is essentially transformed into an instrument by means of software patches currently written in ChucK, a strongly-timed and on-the-fly audio programming language.

One of the largest difficulties with performing as an orchestra is when a piece is dependant on timing across the network. Currently, network-driven pieces have a single server that builds the network connections based on a hand-coded list of clients. This proves to be an extremely tedious approach to setting up the network and has caused numerous issues during performances. Examples of such problems are misspelling computer names and failing to include certain computers on the clients list, which easily lead to delays in the middle of the performance.

Current Design

Server

The Server is defined by slork-server.cpp and uses the classes ServerSocket and Stdin.

Client

The Client is defined by slork-client.cpp and uses the ClientSocket class.

Example Use Case

  • test
  • test

Code Documentation