Skip to content
reno- edited this page Apr 18, 2012 · 40 revisions

Spaces and Nodes for media data controls and organisation

Description

The Span project is a kind of CMS (Content Management Software) for media instruments.
It works with notion of project which could be highly customized for each of them, or/and could run local patches and use distant existing namespace (in localhost or with a network).
It has a powerfull mapping engine and is natively Open-Sound-Control. It could be used with a lot of protocols such as OSC, MIDI, DMX, ARTNET, SERIAL, VISCA, PJLINK, MINUIT, COPERLAN and more…

The project concept

A SPAN project file is a JSON that have multiples index and dictionaries. This format has been choose for its fastness and simplicity. However, a special syntax is needed, and we could use this online viewer to read it or another JSON viewer. A lot of little utilities should be easily found over the web.

Installation

Span abstraction is the only thing you need to put in the patch to have the span environnement ready.

Features

  • Open-Sound-Control communication
    • Multicast - Unicast - Broadcast
  • Project-manager
    • files and folder handling
    • tags and custom taxonomy
  • Multi-mapping
    • One-to-Many mapping
    • Multi-modes mapping
  • Events manager
    • Polyphonic cues player
  • Namespace Manager
    • Description files loading
    • Namespace-learning

Startup Step by step

  • Loadbang :
    • do a temp (RAM) dict (span_temp) with span folder path, runtime or patch, mac or windows, OS version, last-project.
    • load settings dict (span_settings) from library folder which is in the library folder like span patch (you cannot move them). AppVersion, AppName, credits and "last-project-path" if there is one. "none" otherwise.
  • Project load :
    • If previous path : Check if a project file is in the specified path (span_project.json).
    • if none : Create a temp folder in span main folder and create a project in from the empty template.
  • Namespace load :
    • Make a request for json files with "namespace" tag, and add them to the namespace-dict (span_namespace).
    • Overwrite namespace-dict with config values which are in project file.

Wiki pages

The project file itself : What is a SPAN project and description of the project file.

Clone this wiki locally