Station Manager

From ETC Public Wiki
Jump to: navigation, search


Overview

The Station Manager runs on each station machine. Everything for that station is started from this program - in order to "start a station" you want to run this program however you should really let the Bridge Manager handle that. It starts and monitors the Viewport, the Button Manager, the Touch Manager, the Animated Background Plates, and the Content Menu.


Operation

Stations - Bridge1 - Bridge6

Location - the sb-system folder

Started by - the Bridge Manager

Manual Start - on each station run C:\Bridge\sb-system\run_StationManager.bat


Software

Written in Python using the Panda3D libraries. Has the following components

  • run_StationManager.bat => bat file to manualy start the program
  • main_StationManager.py => main Station Manager code base
  • config_StationManager.py => important config data, list of programs that the manager should start and monitor
  • config_Ports.py => list of OSC ports for network communications
  • OSCmanager.py => open ports as receivers and senders for network communications
  • process.py => window controls using the windows api


Features

Manage Resources Start and monitor hardware managers. If a manager crashes then restart it.

  • Viewport
  • Button Manager
  • Touch Manager
  • Content Menu
  • Animated Background Plates


System Requests Using OSC Networking Communications, Receiver SYSTEM is created to listen for system requests from the Bridge Button Manager..

  • blackout - enable/disable blackout of the screens.
  • audio - a request to play an audio file using the stations sound speakers.


Touch Requests Using OSC Networking Communications, Receiver TOUCH is created to listen for touch data from the Touch Manager.

  • tuio/2Dcur - receive touch data.


Button Requests Using OSC Networking Communications, Receiver BUTTONS is created to listen for button data from the Button Manager.

  • buttons - receive touch data.


Phone Requests Using OSC Networking Communications, Receivers PHONE and LDCALL are created to listen for services requests from the Bridge Manager, other Station Managers, or Content.

  • phone/hello - A program has requested services, note the addr and port, create a sender for communications
  • phone/bye - A program no longer needs services, stop sending them data and remove their sender
  • phone/request - A program has requested services of either the Station Manager or the Bridge Manager
  • ldcall/hello - A program running on another station has requested services, note the addr and port, create a sender for communications
  • ldcall/bye - A program running on another station no longer needs services, stop sending them data and remove their sender


Communications Using OSC Networking Communications, communicate with other modules running on the Brain Box.

  • Sender BIGBROTHER - pass the ping message to the Bridge Manager
  • Sender NOTIFY - pass an error onto the Notify Manager to document the problem
  • Sender SYSTEM - pass system request to the Bridge Manager
  • Sender TOUCH_REQUEST - pass data to the Touch Manager


Hand Shaking Keep track of what programs or content require which services as well as what OSC Ports they are expecting data on. Pass data from Managers to Content.


Blackout While the Station Manager normally runs minimized in the background, Blackout mode maximizes the window and covers both the TV and projection space with a black screen to hide what is being displayed on the screens. It is more for show then function and easily allows the station to suddenly "go dark".


Audio A request from the Bridge Manager may be received to play an audio file on the stations speakers. This is such a simple request that the Station Manager will just load the requested file and play the sound. The audio file must be located in C:\Bridge\audio\requests\.


Configurable Parameters

What parameters can be adjusted in the config_BridgeManager.py file

  • STATION : int - which station am I; 1-6
  • PING_DELAY : int - how long to wait ( in seconds ) before sending a ping to the Bridge Manager
  • POLL_DELAY : int - how long to wait ( in seconds ) before checking to see if a stated program is still running
  • PROGS : list of dictionaries - what programs should be started and monitored, what is their paths, and a boolean to start them or not

Possible needs to change these

  • Program booleans could be set to false to prevent them from automatically starting for testing purposes
  • Poll delays could be tweaked for performance reasons
  • Nightly shut down time might be adjusted - especially for events like the BVW show


Interface

The Station Manager runs, minimized, on each station and has no UI.

However, when the Blackout function is engaged the window maximizes and covers both screens.

Keyboard Shortcuts


Esc to exit