jdiderik / SW-2018

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

ScreenWerk 2018

Model for Media and Playlist

! Make sure you detect any recursions that might get described.

Media

refers to single media, URL, Playlist or Layout and optionally length - different media types have different default values for length:

---
id: 1
playlistId:
layoutId:
URL:
image: 
audio: 
video: 
vimeo: https://vimeo.com/152526698
youtube: 
soundcloud:
length: 30

Playlist

sets delay and defines position on screen within containing element (%) for playback of ordered list of Medias

---
id: 1
delay: 0.5
orderedMedias:
- 1
- 12
- 10

Layout

---
- playlistId: 1
  top: 0
  left: 0
  height: 100
  width: 50
- playlistId: 2
  top: 0
  left: 50
  height: 100
  width: 50

Crontab

is used for generating named system events at certain moments.

Event

SW events are "things" that happen inside ScreenWerk.
Elements can subscribe and "react" on these events.

Every element emits started and stopped events. In addition every element could emit custom named, delayed events:

  • Playback started
  • Playback stopped
  • My custom event label

System events:

  • Player started - emitted once when all elements are loaded and subscriptions registered.

Configuration

is a set of Crontab items that a screen can be tied to.

Action

  • Media actions:
    • Start playback
    • Stop playback
    • Emit delayed event

Subscription

Elements can subscribe to Events:

---
- subscriptionId: 1
  listener: 1
  emitter:
  eventName: Player started
  action: Start
  actionDelay: 2
  actionEventName:
- subscriptionId: 2
  listener: 1
  emitter: 1
  eventName: Stopped
  action:
  actionDelay: 2
  actionEventName: Unload

About

License:MIT License


Languages

Language:JavaScript 95.5%Language:CSS 2.7%Language:HTML 1.7%