Morb – Spezifizierung Entwutf I · Feb 28, 06:16 pm
Preludium
MORB stellt eigentlich, jedenfalls so wie wir es implementieren wollen, kein Server-Client-Modell dar. Jedoch ist für mich MORB die logische Einheit, die alle Benutzer miteinander verknüpft und es ist auch das System, das die Anfragen/Verteilung organisiert. MORB wird als Plattform bei jedem Benutzer als Hintergrundprogramm mitlaufen und synchronisiert sich mit allen anderen Instanzen der eingeloggten Benutzer. Trotzdem werde ich in diesem Entwurf von einem Client sprechen, wenn es darum geht, dass ein Benutzer vom MORB (was auch als verteilter Server gesehen werden kann) Daten anfordert.
Spezifizierung des MORB-Protokolls
Konstellationen
Es gibt eigentlich nur zwei grundlegende Konstellationen
1. Daten zu MORB
2. Daten vom MORB
Im ersten Fall Daten zu MORB werden Daten generiert und an das MORB-System gesendet.
Typen der Generierung
Interface produziert Daten (Midi-Controller, iPod, Joystick, Tastatur, WEE)
Strukturgeneratoren: Unterprogramme des Environments (FLEM/JMX), die Daten erzeugen (Listen, Trigger, Kontroll-Envelopes), um Parameter automatisiert zu steuern (Amplitude, Frequenz)
Im zweiten Fall Daten vom MORB werden Information vom MORB abgeholt und interpretiert
Typen der Interpretation
Audiogenerator oder -modulator empfängt die Daten und wendet sie auf den angegeben Parameter an
ein in Reihe geschalteter Strukturgenerator verarbeitet die Daten und gibt sie weiter
Für die Registrierung der Metadaten
ID : Benutzer(Source) : Generatortyp : Generatorname : Datentyp
Daten des Brokers (Welche Daten gehen von wem zu wem)
Benutzer (Source) : Benutzer (Target) : Generatorname/ID
Daten-Stream (Object-Message)
Benutzer (Source) : Generatorname/ID : Parametername : Value
als OSC Message könnte das so aussehen /jschmidt/sinus/amp/0.3
Generator-Anfrage (Request)
Der Benutzer (Target) wählt einen Eintrag vom Broker aus
Diese Einträge könnten durch ein Dropdown-Menü angezeigt werden, in dem alle Generatoren aufgelistet werden
Use-Cases
1.Anmelden an Broker
Benutzer startet seine Umgebung (FLEM/JMX), MORB wird aktiviert und prüft auf weitere Instanzen im Netz. Gibt es schon vorhandene Registrierungen, so werden diese mit aufgenommen und der neue Benutzer mit eingetragen.
2.Generator-Anfrage (Request)
Wird einem Interpeter ein Generator zugewiesen, so wird diese Konstellation im MORB festgehalten
3.Verteilen der Daten
Der Broker wird anhand der Requests die Daten an alle registrierten Benutzer schicken, die sich über die Generator-Anfrage beim Verteiler gemeldet haben.
— Johannes Schmidt
Kommentare
Kommentarfunktion für diesen Artikel geschlossen.