Skip to content
reno- edited this page Apr 30, 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 the notion of a "project" which could be highly customized, run local patches and/or use distant existing namespace (in localhost or with a network).
It has a powerfull mapping engine and is natively (OSC) 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 has multiple indexes and dictionaries. This format has been chosen for its speed 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.

A central database

All the requests are done in a single place.

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 :
    • Create the span database, it is a RAM dictionary

    • Add a system key and fill in with :

      • "isruntime" : 0,
      • "os" : "macintosh",
      • "osversion" : "73",
      • "maxversion" : "605",
    • Add a span subkey to system with :

      • "credits" : "produced by didascalie.net & developped by Tom Mays & Renaud Rubiano",
      • "license" : "GNU-LGPL",
      • "status" : "alpha", * "version" : { * "major" : 0 * "minor" : 0, * "revision" : 1
      • "preferences" : { * "name" : "span.preferences.json", * "path" : "~/Library/Application Support/span
      • "path" : "work:/Users/Renaud/Documents/SVNs/span/lib/
    • 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 it 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

default-span-database : What is SPAN database on load.

Clone this wiki locally