API

MusicSpace comes with a number of demo patches and tutorials that illustrate the way it works. Experienced Max/MSP users should easily find their way through these tutorials.

 

 


 

 

Home >> MusicSpace >> Download & API

Download and installation

Prerequisite

To use MusicSpace, you need the Max/MSP environment from Cycling '74. A free demo version (fully functional for a limited amount of time) can be downloaded from their website. You may also use the free runtime version but you will not be able to edit your own patches. MusicSpace works with Max for MacOS and Windows.

Download

The MusicSpace package is divided into two archives: the system itself and a set of demo patches, help and tutorials.


Download and unpack the MusicSpace system archive. Place the content of this archive in the Max Java lib folder
e.g. C:\Program Files\Cycling '74\Max 5.0\Cycling '74\java\lib\ 

Download the demo archive
Download and unpack the example patches archive. This can be placed anywhere on your computer.

 

.

1. Each of these patches contains in its lower right corner a sub-patch that recalls the list of key shortcuts available in MusicSpace as well as the list of messages that can be sent to the system.

Parsing messages from MusicSpace

The two leftmost outputs of the MusicSpace mxj object are used to deliver real time messages (1st outlet) and scene description messages (2nd outlet).

For more details, have a look at the "MSTuto ParsingMessages" patch.

Storing / Restoring scenes

The Scene description outlet (2nd outlet) is triggered when MusicSpace receives a "DumpScene" message. The data can then be stored in a message box or a qlist, typically to restore the scene later. For more information about this topic, see “MSTuto Storing Restoring” patch.

 

Description of the palettes

Objects Palette


For creating objects, click on the corresponding icon and pick a location in the main window area.


  Source: the basic object in MusicSpace. Sends its coordinates respectively to the Avatar in different ways (polar, cartesian) through the 2nd outlet of the corresponding max object.
   
Position object: this object creates a simple position reference to be used with a lift constraint or dynamic source move messages.
   
Handle Object: this object is just a graphical reference. Its image and name can be changed freely. Its display layer index is higher than any other object (see the "display menu").
   
Compound object: a set of objects composed of two position objects and a lift constraint attached to them.

Constraints Palette

The constraints palette shows a set of predefined constraints that can be applied to selected sources. To create a constraint, select a set of object and click on the corresponding constraint icon.
 
 
Opposite Levels Constraint: when a sound source is moved closer to the avatar, the other constrained sources are moved further away.
 
Constant Balance Constraint: the overall ratio between constrained sound sources remains constant when a constrained source is moved.
 
Constant Angle Constraint: constrained objects remain in a constant angle (according to the listener's position).
 
Constant Balance & Angle Constraint: this constraint is equivalent to the combination of the constant balance constraint and the constant angle constraint.
 
Radial Limit Constraint: selected object may not cross this radial limit. This constraint may be parametrized (ctrl + click) to decide whether the constraint can or not push a sound source and whether a sound source can or not push the constraint object.
 
Closest Only Constraint: only the closest (from the avatar) constrained object is activated. Other objects are dynamically muted.
 
Angular Limit Constraint: selected sound source may not cross this angular limit.
 
Group Constraint: selected sound sources are constrained to remain at the same distance of each other. Note that this constraint is editable (CTRL + click on the constraint object). Activating the thread (see the edit window will make this object move randomly across the screen).
 
Stereo Pair Constraint: applies to two sources and helps moving them as if they constituted a stereo pair.
 
Orientation Constraint: adds an orientation and opening parameter to sound sources.
 
Solid Bar Constraint: applies to a pair of objects and preserves the distance between them.
 

Navigation Palette

This palette sends messages to Max that can be interpreted freely according to the patch.
     
  Play / Pause: sends a command play / pause message to max
  Stop: sends a command / stop message to max
  Record: sends a command / record message to max.
   

Tools Palette

The tools palette contains various commands.
     
 
Lock: used to lock / unlock the constraints that have been defined. In this position, the system is locked, i.e. the constraint algorithm is "on
 
Show/Hide Constraints: Hide all selected constraints (up) or show all constraints (down)
 
Show/Hide Circles: Show / hide a radial circle centered on the avatar for each of the sound sources (useful to visualize the respective distances of two objects to the avatar).