Commit 68d486f4 authored by maybites's avatar maybites
Browse files

initial commit

parents
config.json
config_peer.json
debug.log
package-lock.json
# Telemersive Gateway 0.1.0
Telemersive Gateway is a peer application implementing the telemersive-bus protocol. It communicates with the telemersive-router to connect all peers inside a telemersive room.
## Installation
### Requirements
You need to have [MaxMSP](https://cycling74.com/) installed. There is no need for a license.
### Download
To install the Telemersive Gateway: clone the gitlab repository into a directory called 'TeSApp'. It is important, that the directory is called this way, otherwise the MaxProject will not work:
```
git clone https://gitlab.zhdk.ch/TPF/tesapp.git
```
### Startup
1. open MaxMSP
2. Go to File > Open.. and navigate to 'TeSApp.maxproj'
3. Inside the new Project Window locate 'TeSApp.maxpat' and double click it
4. You might be confronted with different popup windows mentioning missing dependencies:
* Missing MaxPackages like Spout (on Windows) or Syphon (on OSX) -> simply follow the 'install' button.
* Missing NodeJS Libraries -> the [config] window should be already open > go to tab 'debug' and press 'script npm install'. Once the debug tool turns from blue to green, you are good to go.
5. If you want to get videostreams or synchronize your files: set paths to externals > tab 'externals'.
* For enabling videostreams you need to donwload ultragrid and point the app to the ultragrid app.
* For synching files on windows you need to have cygwin installed. During the installation process, make sure you install 'rsync', which is not installed by default. On OSX this is installed by default.
* **Windows only:** If you want to send Mocap data from Motive (Optitrack), you need the NatNet2OSC apps. Motive 2.x will work with NatNet3. If you only want to receive data, there is no need for this external.
### login
1. Enter your credentials under the tab 'login'. This infos are confidential and are only provided on a need to know basis.
* Broker URL: e.g. 'telematics.zhdk.com'
* Broker Port: e.g. '1883'
* Broker User: e.g. 'peer'
* Broker Pwd:
* Network Card: If your machine has more than one network card available, you will have to choose which one you want to use.
* press 'connect'
If the connection is successful, the red 'disconnect' button gets highlighted and the green 'connect' button greyed-out.
2. Once you are connected, you can either create a room or join an already existing room. In any case, the procedure is the same:
* Enter your PeerName
* Select a room from the menu or enter a room name.
* Enter the room password
* press 'join'
If the room join is successful, the red 'leave' button gets highlighted and the green 'join' button greyed-out.
3. press 'save' to save all the credentials for your next login.
4. press 'close' to close the [config]-window.
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>BuildMachineOSBuild</key>
<string>18D109</string>
<key>CFBundleDevelopmentRegion</key>
<string>English</string>
<key>CFBundleExecutable</key>
<string>shell</string>
<key>CFBundleGetInfoString</key>
<string>shell 8.0.0, Copyright ©2018 Bill Orcutt/Jeremy Bernstein</string>
<key>CFBundleIdentifier</key>
<string>com.bootsquad.shell</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundlePackageType</key>
<string>iLaX</string>
<key>CFBundleShortVersionString</key>
<string>8.0.0</string>
<key>CFBundleSignature</key>
<string>max2</string>
<key>CFBundleSupportedPlatforms</key>
<array>
<string>MacOSX</string>
</array>
<key>CFBundleVersion</key>
<string>8.0.0</string>
<key>CSResourcesFileMapped</key>
<true/>
<key>DTCompiler</key>
<string>com.apple.compilers.llvm.clang.1_0</string>
<key>DTPlatformBuild</key>
<string>9F2000</string>
<key>DTPlatformVersion</key>
<string>GM</string>
<key>DTSDKBuild</key>
<string>17E189</string>
<key>DTSDKName</key>
<string>macosx10.13</string>
<key>DTXcode</key>
<string>0941</string>
<key>DTXcodeBuild</key>
<string>9F2000</string>
</dict>
</plist>
iLaXmax2
\ No newline at end of file
This diff is collapsed.
{
"patcher" : {
"fileversion" : 1,
"appversion" : {
"major" : 8,
"minor" : 2,
"revision" : 0,
"architecture" : "x64",
"modernui" : 1
}
,
"classnamespace" : "box",
"rect" : [ 969.0, 245.0, 435.0, 511.0 ],
"bglocked" : 0,
"openinpresentation" : 1,
"default_fontsize" : 12.0,
"default_fontface" : 0,
"default_fontname" : "Arial",
"gridonopen" : 1,
"gridsize" : [ 15.0, 15.0 ],
"gridsnaponopen" : 1,
"objectsnaponopen" : 1,
"statusbarvisible" : 2,
"toolbarvisible" : 1,
"lefttoolbarpinned" : 0,
"toptoolbarpinned" : 0,
"righttoolbarpinned" : 0,
"bottomtoolbarpinned" : 0,
"toolbars_unpinned_last_save" : 0,
"tallnewobj" : 0,
"boxanimatetime" : 200,
"enablehscroll" : 1,
"enablevscroll" : 1,
"devicewidth" : 0.0,
"description" : "",
"digest" : "",
"tags" : "",
"style" : "",
"subpatcher_template" : "",
"showontab" : 1,
"assistshowspatchername" : 0,
"boxes" : [ {
"box" : {
"id" : "obj-2",
"maxclass" : "newobj",
"numinlets" : 0,
"numoutlets" : 0,
"patcher" : {
"fileversion" : 1,
"appversion" : {
"major" : 8,
"minor" : 2,
"revision" : 0,
"architecture" : "x64",
"modernui" : 1
}
,
"classnamespace" : "box",
"rect" : [ 0.0, 26.0, 435.0, 485.0 ],
"bglocked" : 0,
"openinpresentation" : 0,
"default_fontsize" : 12.0,
"default_fontface" : 0,
"default_fontname" : "Arial",
"gridonopen" : 1,
"gridsize" : [ 15.0, 15.0 ],
"gridsnaponopen" : 1,
"objectsnaponopen" : 1,
"statusbarvisible" : 2,
"toolbarvisible" : 1,
"lefttoolbarpinned" : 0,
"toptoolbarpinned" : 0,
"righttoolbarpinned" : 0,
"bottomtoolbarpinned" : 0,
"toolbars_unpinned_last_save" : 0,
"tallnewobj" : 0,
"boxanimatetime" : 200,
"enablehscroll" : 1,
"enablevscroll" : 1,
"devicewidth" : 0.0,
"description" : "",
"digest" : "",
"tags" : "",
"style" : "",
"subpatcher_template" : "",
"showontab" : 1,
"assistshowspatchername" : 0,
"boxes" : [ {
"box" : {
"id" : "obj-11",
"linecount" : 2,
"maxclass" : "message",
"numinlets" : 2,
"numoutlets" : 1,
"outlettype" : [ "" ],
"patching_rect" : [ 301.0, 155.0, 115.0, 35.0 ],
"presentation" : 1,
"presentation_linecount" : 3,
"presentation_rect" : [ 342.0, 68.0, 101.0, 49.0 ],
"text" : "script npm uninstall telemersive-bus"
}
}
, {
"box" : {
"id" : "obj-1",
"maxclass" : "message",
"numinlets" : 2,
"numoutlets" : 1,
"outlettype" : [ "" ],
"patching_rect" : [ 301.0, 78.0, 83.0, 22.0 ],
"text" : "script npm init"
}
}
, {
"box" : {
"id" : "obj-5",
"linecount" : 2,
"maxclass" : "message",
"numinlets" : 2,
"numoutlets" : 1,
"outlettype" : [ "" ],
"patching_rect" : [ 301.0, 115.0, 101.0, 35.0 ],
"presentation" : 1,
"presentation_linecount" : 2,
"presentation_rect" : [ 327.0, 53.0, 101.0, 35.0 ],
"text" : "script npm install telemersive-bus"
}
}
, {
"box" : {
"id" : "obj-10",
"maxclass" : "newobj",
"numinlets" : 0,
"numoutlets" : 1,
"outlettype" : [ "" ],
"patching_rect" : [ 17.0, 22.5, 102.0, 22.0 ],
"text" : "r iManagerOutput"
}
}
, {
"box" : {
"id" : "obj-4",
"maxclass" : "newobj",
"numinlets" : 1,
"numoutlets" : 0,
"patching_rect" : [ 268.0, 249.0, 95.0, 22.0 ],
"text" : "s iManagerInput"
}
}
, {
"box" : {
"id" : "obj-7",
"maxclass" : "newobj",
"numinlets" : 2,
"numoutlets" : 2,
"outlettype" : [ "", "" ],
"patching_rect" : [ 17.0, 54.5, 73.0, 22.0 ],
"text" : "route rooms"
}
}
, {
"box" : {
"id" : "obj-3",
"maxclass" : "dict.view",
"numinlets" : 1,
"numoutlets" : 0,
"patching_rect" : [ 17.0, 115.0, 235.0, 348.0 ]
}
}
, {
"box" : {
"id" : "obj-2",
"maxclass" : "newobj",
"numinlets" : 1,
"numoutlets" : 0,
"patching_rect" : [ 71.0, 86.5, 32.0, 22.0 ],
"text" : "print"
}
}
, {
"box" : {
"id" : "obj-20",
"maxclass" : "message",
"numinlets" : 2,
"numoutlets" : 1,
"outlettype" : [ "" ],
"patching_rect" : [ 295.0, 40.5, 133.0, 22.0 ],
"text" : "delRoom myToonStage"
}
}
, {
"box" : {
"id" : "obj-19",
"maxclass" : "message",
"numinlets" : 2,
"numoutlets" : 1,
"outlettype" : [ "" ],
"patching_rect" : [ 173.0, 78.0, 31.0, 22.0 ],
"text" : "ping"
}
}
, {
"box" : {
"id" : "obj-17",
"maxclass" : "message",
"numinlets" : 2,
"numoutlets" : 1,
"outlettype" : [ "" ],
"patching_rect" : [ 295.0, 16.5, 130.0, 22.0 ],
"text" : "delRoom myTestRoom"
}
}
, {
"box" : {
"id" : "obj-12",
"maxclass" : "message",
"numinlets" : 2,
"numoutlets" : 1,
"outlettype" : [ "" ],
"patching_rect" : [ 108.0, 78.0, 63.0, 22.0 ],
"text" : "getRooms"
}
}
, {
"box" : {
"id" : "obj-9",
"maxclass" : "message",
"numinlets" : 2,
"numoutlets" : 1,
"outlettype" : [ "" ],
"patching_rect" : [ 122.0, 40.5, 171.0, 22.0 ],
"text" : "addRoom myToonStage super"
}
}
, {
"box" : {
"id" : "obj-8",
"maxclass" : "message",
"numinlets" : 2,
"numoutlets" : 1,
"outlettype" : [ "" ],
"patching_rect" : [ 122.0, 17.0, 157.0, 22.0 ],
"text" : "addRoom myTestRoom silly"
}
}
],
"lines" : [ {
"patchline" : {
"destination" : [ "obj-7", 0 ],
"source" : [ "obj-10", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-4", 0 ],
"source" : [ "obj-11", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-4", 0 ],
"source" : [ "obj-12", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-4", 0 ],
"source" : [ "obj-17", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-4", 0 ],
"source" : [ "obj-19", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-4", 0 ],
"source" : [ "obj-20", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-4", 0 ],
"source" : [ "obj-5", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-2", 0 ],
"source" : [ "obj-7", 1 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-3", 0 ],
"source" : [ "obj-7", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-4", 0 ],
"source" : [ "obj-8", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-4", 0 ],
"source" : [ "obj-9", 0 ]
}
}
]
}
,
"patching_rect" : [ 143.0, 144.0, 77.0, 22.0 ],
"saved_object_attributes" : {
"description" : "",
"digest" : "",
"globalpatchername" : "",
"tags" : ""
}
,
"text" : "p Debugging"
}
}
, {
"box" : {
"id" : "obj-1",
"maxclass" : "newobj",
"numinlets" : 0,
"numoutlets" : 0,
"patcher" : {
"fileversion" : 1,
"appversion" : {
"major" : 8,
"minor" : 2,
"revision" : 0,
"architecture" : "x64",
"modernui" : 1
}
,
"classnamespace" : "box",
"rect" : [ 969.0, 271.0, 435.0, 485.0 ],
"bglocked" : 0,
"openinpresentation" : 0,
"default_fontsize" : 12.0,
"default_fontface" : 0,
"default_fontname" : "Arial",
"gridonopen" : 1,
"gridsize" : [ 15.0, 15.0 ],
"gridsnaponopen" : 1,
"objectsnaponopen" : 1,
"statusbarvisible" : 2,
"toolbarvisible" : 1,
"lefttoolbarpinned" : 0,
"toptoolbarpinned" : 0,
"righttoolbarpinned" : 0,
"bottomtoolbarpinned" : 0,
"toolbars_unpinned_last_save" : 0,
"tallnewobj" : 0,
"boxanimatetime" : 200,
"enablehscroll" : 1,
"enablevscroll" : 1,
"devicewidth" : 0.0,
"description" : "",
"digest" : "",
"tags" : "",
"style" : "",
"subpatcher_template" : "",
"showontab" : 1,
"assistshowspatchername" : 0,
"boxes" : [ {
"box" : {
"id" : "obj-13",
"maxclass" : "message",
"numinlets" : 2,
"numoutlets" : 1,
"outlettype" : [ "" ],
"patching_rect" : [ 21.0, 18.0, 31.0, 22.0 ],
"text" : "ping"
}
}
, {
"box" : {
"id" : "obj-2",
"linecount" : 2,
"maxclass" : "message",
"numinlets" : 2,
"numoutlets" : 1,
"outlettype" : [ "" ],
"patching_rect" : [ 158.5, 44.5, 231.0, 35.0 ],
"presentation" : 1,
"presentation_linecount" : 3,
"presentation_rect" : [ 122.5, 60.5, 182.0, 49.0 ],
"text" : "configure telemersion.zhdk.ch 3883 3591 manager manager tBusMaxManager"
}
}
, {
"box" : {
"bgmode" : 0,
"border" : 0,
"clickthrough" : 0,
"enablehscroll" : 0,
"enablevscroll" : 0,
"id" : "obj-11",
"lockeddragscroll" : 0,
"maxclass" : "bpatcher",
"name" : "n4m.monitor.maxpat",
"numinlets" : 1,
"numoutlets" : 1,
"offset" : [ 0.0, 0.0 ],
"outlettype" : [ "bang" ],
"patching_rect" : [ 21.0, 228.0, 400.0, 220.0 ],
"presentation" : 1,
"presentation_rect" : [ 21.0, 216.0, 400.0, 220.0 ],
"viewvisibility" : 1
}
}
, {
"box" : {
"id" : "obj-10",
"maxclass" : "newobj",
"numinlets" : 0,
"numoutlets" : 1,
"outlettype" : [ "" ],
"patching_rect" : [ 38.0, 44.5, 93.0, 22.0 ],
"text" : "r iManagerInput"
}
}
, {
"box" : {
"id" : "obj-4",
"maxclass" : "newobj",
"numinlets" : 1,
"numoutlets" : 0,
"patching_rect" : [ 21.0, 188.0, 104.0, 22.0 ],
"text" : "s iManagerOutput"
}
}
, {
"box" : {
"id" : "obj-27",
"maxclass" : "message",
"numinlets" : 2,
"numoutlets" : 1,
"outlettype" : [ "" ],
"patching_rect" : [ 274.5, 89.5, 66.0, 22.0 ],
"presentation" : 1,
"presentation_rect" : [ 223.5, 89.5, 66.0, 22.0 ],
"text" : "disconnect"
}
}
, {
"box" : {
"id" : "obj-26",
"maxclass" : "message",
"numinlets" : 2,
"numoutlets" : 1,
"outlettype" : [ "" ],
"patching_rect" : [ 158.5, 89.5, 51.0, 22.0 ],
"presentation" : 1,
"presentation_rect" : [ 107.5, 89.5, 51.0, 22.0 ],
"text" : "connect"
}
}
, {
"box" : {
"id" : "obj-6",
"maxclass" : "message",
"numinlets" : 2,
"numoutlets" : 1,
"outlettype" : [ "" ],
"patching_rect" : [ 276.0, 12.0, 63.0, 22.0 ],
"presentation" : 1,
"presentation_rect" : [ 225.0, 12.0, 63.0, 22.0 ],
"text" : "script stop"
}
}
, {
"box" : {
"id" : "obj-70",
"maxclass" : "message",
"numinlets" : 2,
"numoutlets" : 1,
"outlettype" : [ "" ],
"patching_rect" : [ 158.5, 12.0, 64.0, 22.0 ],
"presentation" : 1,
"presentation_rect" : [ 107.5, 12.0, 64.0, 22.0 ],
"text" : "script start"
}
}
, {
"box" : {
"id" : "obj-1",
"maxclass" : "newobj",
"numinlets" : 1,
"numoutlets" : 2,
"outlettype" : [ "", "" ],
"patching_rect" : [ 21.0, 154.0, 229.0, 22.0 ],