-
Notifications
You must be signed in to change notification settings - Fork 0
Home
Spaces and Nodes for media data controls and organisation
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…
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.
The project file itself : What is a SPAN project and description of the project file.
What does it really do? : Description of what SPAN does internally.
Span abstraction is the only thing you need to put in the patch to have the span environnement ready.
- 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
-
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.