Lumi/knowledge/plugins/now-playing.md
2026-07-24 14:44:27 +02:00

7.8 KiB

id title scope status priority visibility category tags generated editable
plugin.now_playing Song Overlay plugins active 10 user Plugin plugin, now_playing true false

Song Overlay

Provider-neutral song state, chat announcements, and a customizable Lumi Overlay source.

Metadata

Plugin ID: now_playing Version: 0.1.2 Default state: enabled

Web Routes

  • /plugins/now_playing
  • GET /plugins/now_playing
  • POST /plugins/now_playing/settings
  • POST /plugins/now_playing/overlay/install
  • POST /plugins/now_playing/overlay/remove
  • POST /plugins/now_playing/test-announcement
  • GET /plugins/now_playing/api/companion/ping
  • POST /plugins/now_playing/api/companion/state
  • GET /plugins/now_playing/render/:token
  • GET /plugins/now_playing/render/:token/state
  • GET /plugins/now_playing/render/:token/events
  • GET /plugins/now_playing/render/:token/cover/:hash

Route Reference

MOUNT /plugins/now_playing

  • Purpose: Mounts the plugin router at this base WebUI path.
  • Inputs: No request parameters detected by static analysis.
  • Response format: Plugin router mount point.
  • Access: Access is controlled by the mount options and individual plugin routes.
  • Side effects: No direct route action; child routes handle requests.
  • Limits/notes: Mount metadata is inferred from static source scanning.

GET /plugins/now_playing

  • Purpose: Renders or serves the now_playing plugin page.
  • Inputs: No request parameters detected by static analysis.
  • Response format: HTML page rendered from an EJS view
  • Access: No explicit access guard detected in the route handler; check surrounding router/mount middleware.
  • Side effects: Usually read-only.
  • Limits/notes: Generated from static route source analysis; confirm exact behavior in the handler before changing integrations.

POST /plugins/now_playing/settings

  • Purpose: Processes the now_playing plugin action for settings.
  • Inputs: body: full submitted body is passed to a helper; exact fields are defined by the matching form/service
  • Response format: HTTP redirect after handling the request
  • Access: No explicit access guard detected in the route handler; check surrounding router/mount middleware.
  • Side effects: writes or mutates server-side state
  • Limits/notes: Generated from static route source analysis; confirm exact behavior in the handler before changing integrations. Errors are caught and usually returned as a flash message, JSON error, or error page. Most non-API POST routes are browser form submissions and usually redirect after completion.

POST /plugins/now_playing/overlay/install

  • Purpose: Processes the now_playing plugin action for overlay install.
  • Inputs: body: scene_id
  • Response format: HTTP redirect after handling the request
  • Access: No explicit access guard detected in the route handler; check surrounding router/mount middleware.
  • Side effects: writes or mutates server-side state
  • Limits/notes: Generated from static route source analysis; confirm exact behavior in the handler before changing integrations. Errors are caught and usually returned as a flash message, JSON error, or error page. Most non-API POST routes are browser form submissions and usually redirect after completion.

POST /plugins/now_playing/overlay/remove

  • Purpose: Processes the now_playing plugin action for overlay remove.
  • Inputs: No request parameters detected by static analysis.
  • Response format: HTTP redirect after handling the request
  • Access: No explicit access guard detected in the route handler; check surrounding router/mount middleware.
  • Side effects: writes or mutates server-side state
  • Limits/notes: Generated from static route source analysis; confirm exact behavior in the handler before changing integrations. Errors are caught and usually returned as a flash message, JSON error, or error page. Most non-API POST routes are browser form submissions and usually redirect after completion.

POST /plugins/now_playing/test-announcement

  • Purpose: Processes the now_playing plugin action for test announcement.
  • Inputs: No request parameters detected by static analysis.
  • Response format: HTTP redirect after handling the request
  • Access: logged-in session required or used
  • Side effects: Action route; side effects were not detected statically.
  • Limits/notes: Generated from static route source analysis; confirm exact behavior in the handler before changing integrations. Errors are caught and usually returned as a flash message, JSON error, or error page. Most non-API POST routes are browser form submissions and usually redirect after completion.

GET /plugins/now_playing/api/companion/ping

  • Purpose: Renders or serves the now_playing plugin page for api companion ping.
  • Inputs: No request parameters detected by static analysis.
  • Response format: JSON response
  • Access: No explicit access guard detected in the route handler; check surrounding router/mount middleware.
  • Side effects: Usually read-only.
  • Limits/notes: Generated from static route source analysis; confirm exact behavior in the handler before changing integrations. API consumers should expect JSON unless the response format says otherwise.

POST /plugins/now_playing/api/companion/state

  • Purpose: Processes the now_playing plugin action for api companion state.
  • Inputs: body: full submitted body is passed to a helper; exact fields are defined by the matching form/service
  • Response format: JSON response
  • Access: No explicit access guard detected in the route handler; check surrounding router/mount middleware.
  • Side effects: writes or mutates server-side state
  • Limits/notes: Generated from static route source analysis; confirm exact behavior in the handler before changing integrations. Errors are caught and usually returned as a flash message, JSON error, or error page. Most non-API POST routes are browser form submissions and usually redirect after completion. API consumers should expect JSON unless the response format says otherwise.

GET /plugins/now_playing/render/:token

  • Purpose: Renders or serves the now_playing plugin page for render token.
  • Inputs: path params: token
  • Response format: HTML page rendered from an EJS view
  • Access: No explicit access guard detected in the route handler; check surrounding router/mount middleware.
  • Side effects: Usually read-only.
  • Limits/notes: Generated from static route source analysis; confirm exact behavior in the handler before changing integrations.

GET /plugins/now_playing/render/:token/state

  • Purpose: Renders or serves the now_playing plugin page for render token state.
  • Inputs: path params: token
  • Response format: JSON response
  • Access: No explicit access guard detected in the route handler; check surrounding router/mount middleware.
  • Side effects: Usually read-only.
  • Limits/notes: Generated from static route source analysis; confirm exact behavior in the handler before changing integrations.

GET /plugins/now_playing/render/:token/events

  • Purpose: Renders or serves the now_playing plugin page for render token events.
  • Inputs: path params: token
  • Response format: streaming event response
  • Access: No explicit access guard detected in the route handler; check surrounding router/mount middleware.
  • Side effects: writes or mutates server-side state
  • Limits/notes: Generated from static route source analysis; confirm exact behavior in the handler before changing integrations.

GET /plugins/now_playing/render/:token/cover/:hash

  • Purpose: Renders or serves the now_playing plugin page for render token cover hash.
  • Inputs: path params: hash, token
  • Response format: static file response
  • Access: No explicit access guard detected in the route handler; check surrounding router/mount middleware.
  • Side effects: Usually read-only.
  • Limits/notes: Generated from static route source analysis; confirm exact behavior in the handler before changing integrations.

Commands

  • No plugin command triggers detected.

Source

Plugin folder: plugins/now_playing