Looking Glass Playback API

Transport controls for the Bridge media player

OpenAPI Specification

looking-glass-playback-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Looking Glass Bridge Autostart Playback API
  version: '1.0'
  description: 'HTTP REST API exposed by Looking Glass Bridge, the local runtime application that connects a host machine to Looking Glass holographic (light field) displays. Web and native applications call this local API to query connected displays, open the Bridge media player, build and control playlists of Quilt and RGBD holograms, and drive playback. The API is served on the loopback interface only (http://localhost:33334/); every operation is an HTTP POST with a JSON request body and returns a JSON envelope of the shape { "success": boolean, "response": object|null }. The official, typesafe way to consume this API is the @lookingglass/bridge (bridge.js) client library. This description was generated by the API Evangelist enrichment pipeline from Looking Glass''s public documentation and the open-source bridge.js client; endpoint signatures are, per the vendor, under active development.'
  contact:
    name: Looking Glass Factory
    url: https://lookingglassfactory.com
  x-generated-by: API Evangelist enrichment pipeline
  x-source:
  - https://docs.lookingglassfactory.com/software/looking-glass-bridge-sdk/web-application-integration
  - https://github.com/Looking-Glass/bridge.js
servers:
- url: http://localhost:33334/
  description: Looking Glass Bridge local loopback server (default port)
tags:
- name: Playback
  description: Transport controls for the Bridge media player
paths:
  /show_window:
    post:
      operationId: show_window
      summary: Show or hide the Bridge media player window on the display
      tags:
      - Playback
      requestBody:
        $ref: '#/components/requestBodies/Orchestrated'
      responses:
        '200':
          $ref: '#/components/responses/Envelope'
  /play_playlist:
    post:
      operationId: play_playlist
      summary: Play a playlist on the Looking Glass display
      tags:
      - Playback
      requestBody:
        $ref: '#/components/requestBodies/PlaylistRef'
      responses:
        '200':
          $ref: '#/components/responses/Envelope'
  /transport_control_play:
    post:
      operationId: transport_control_play
      summary: Resume playback
      tags:
      - Playback
      requestBody:
        $ref: '#/components/requestBodies/Orchestrated'
      responses:
        '200':
          $ref: '#/components/responses/Envelope'
  /transport_control_pause:
    post:
      operationId: transport_control_pause
      summary: Pause playback
      tags:
      - Playback
      requestBody:
        $ref: '#/components/requestBodies/Orchestrated'
      responses:
        '200':
          $ref: '#/components/responses/Envelope'
  /transport_control_next:
    post:
      operationId: transport_control_next
      summary: Skip to the next hologram in the playlist
      tags:
      - Playback
      requestBody:
        $ref: '#/components/requestBodies/Orchestrated'
      responses:
        '200':
          $ref: '#/components/responses/Envelope'
  /transport_control_previous:
    post:
      operationId: transport_control_previous
      summary: Skip to the previous hologram in the playlist
      tags:
      - Playback
      requestBody:
        $ref: '#/components/requestBodies/Orchestrated'
      responses:
        '200':
          $ref: '#/components/responses/Envelope'
  /transport_control_seek_to_index:
    post:
      operationId: transport_control_seek_to_index
      summary: Jump to a specific index within the playlist
      tags:
      - Playback
      requestBody:
        $ref: '#/components/requestBodies/SeekToIndex'
      responses:
        '200':
          $ref: '#/components/responses/Envelope'
components:
  requestBodies:
    SeekToIndex:
      description: Seek to a playlist index.
      content:
        application/json:
          schema:
            allOf:
            - $ref: '#/components/schemas/OrchestrationRef'
            - type: object
              properties:
                index:
                  type: integer
                  description: Zero-based playlist index to seek to.
    PlaylistRef:
      description: References a playlist by name within an orchestration.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/PlaylistRef'
    Orchestrated:
      description: Requires the orchestration token for the session.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/OrchestrationRef'
  schemas:
    ResponseEnvelope:
      type: object
      description: Standard Bridge response envelope returned by every endpoint.
      properties:
        success:
          type: boolean
          description: Whether the operation succeeded.
        response:
          description: Operation payload when successful, otherwise null.
          type:
          - object
          - 'null'
      required:
      - success
    PlaylistRef:
      type: object
      properties:
        orchestration:
          type: string
        playlist_name:
          type: string
          description: Name of the target playlist.
    OrchestrationRef:
      type: object
      properties:
        orchestration:
          type: string
          description: Orchestration token returned by enter_orchestration.
      required:
      - orchestration
  responses:
    Envelope:
      description: Standard Bridge response envelope.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ResponseEnvelope'