🪛Web Application Integration

Bring support for the Looking Glass display to your web app

The best way to integrate with the Bridge Media Player using a web app is to use the Bridge.js library. This is the same library that we use for Looking Glass Blocks. The Bridge.js library exposes typesafe objects and methods for interacting with the Bridge REST API. See the Bridge.js README file for detailed information on how to use Bridge.js in your web application.

REST API Reference

Get Bridge version

Endpoint: /bridge_version

Example Payload: none

Example Response:

{
    "name": "value",
    "payload": {
        "name": "payload",
        "type": "STRING",
        "value": "2.4.7"
    },
    "status": {
        "name": "status",
        "type": "WSTRING",
        "value": "Completion"
    }
}

Start media player session

Endpoint: /enter_orchestration

Example Payload:

{
    "name": "default"
}

Example Response:

{
    "name": "value",
    "orchestration": {
        "name": "orchestration",
        "type": "WSTRING",
        "value": "default"
    },
    "payload": {
        "name": "payload",
        "type": "WSTRING",
        "value": "1a6aed0d-77bf-4129-8e01-71d61c58473d"
    },
    "status": {
        "name": "status",
        "type": "WSTRING",
        "value": "Completion"
    }
}

Query Looking Glass displays

Endpoint: /available_output_devices

Example Payload:

{
    "orchestration": "1a6aed0d-77bf-4129-8e01-71d61c58473d"
}

Example Response:

{
    "name": "value",
    "orchestration": {
        "name": "orchestration",
        "type": "WSTRING",
        "value": "1a6aed0d-77bf-4129-8e01-71d61c58473d"
    },
    "payload": {
        "name": "payload",
        "type": "VARIANT_MAP",
        "value": {
            "0": {
                "name": "0",
                "type": "VARIANT_MAP",
                "value": {
                    "calibration": {
                        "name": "calibration",
                        "type": "WSTRING",
                        "value": ""
                    },
                    "defaultQuilt": {
                        "name": "defaultQuilt",
                        "type": "WSTRING",
                        "value": "{}"
                    },
                    "hardwareVersion": {
                        "name": "hardwareVersion",
                        "type": "WSTRING",
                        "value": "thirdparty"
                    },
                    "hwid": {
                        "name": "hwid",
                        "type": "WSTRING",
                        "value": ""
                    },
                    "index": {
                        "name": "index",
                        "type": "UNSIGNED_INT",
                        "value": 0
                    },
                    "state": {
                        "name": "state",
                        "type": "WSTRING",
                        "value": "ok"
                    },
                    "windowCoords": {
                        "name": "windowCoords",
                        "type": "INT2",
                        "value": {
                            "x": 0,
                            "y": 0
                        }
                    }
                }
            },
            "1": {
                "name": "1",
                "type": "VARIANT_MAP",
                "value": {
                    "calibration": {
                        "name": "calibration",
                        "type": "WSTRING",
                        "value": "{\"DPI\":{\"value\":491.0},\"center\":{\"value\":0.22076533734798431},\"configVersion\":\"3.0\",\"flipImageX\":{\"value\":0.0},\"flipImageY\":{\"value\":0.0},\"flipSubp\":{\"value\":0.0},\"fringe\":{\"value\":0.0},\"invView\":{\"value\":1.0},\"pitch\":{\"value\":80.75597381591797},\"screenH\":{\"value\":2560.0},\"screenW\":{\"value\":1440.0},\"serial\":\"LKG-E\",\"slope\":{\"value\":-6.619636058807373},\"verticalAngle\":{\"value\":0.0},\"viewCone\":{\"value\":54.0}}"
                    },
                    "defaultQuilt": {
                        "name": "defaultQuilt",
                        "type": "WSTRING",
                        "value": "{ \"quiltAspect\" : 0.5625,   \"quiltX\" : 4092,  \"quiltY\" : 4092,  \"tileX\" : 11, \"tileY\" : 6}"
                    },
                    "hardwareVersion": {
                        "name": "hardwareVersion",
                        "type": "WSTRING",
                        "value": "go_p"
                    },
                    "hwid": {
                        "name": "hwid",
                        "type": "WSTRING",
                        "value": "LKG-E00194"
                    },
                    "index": {
                        "name": "index",
                        "type": "UNSIGNED_INT",
                        "value": 1
                    },
                    "state": {
                        "name": "state",
                        "type": "WSTRING",
                        "value": "ok"
                    },
                    "windowCoords": {
                        "name": "windowCoords",
                        "type": "INT2",
                        "value": {
                            "x": -1440,
                            "y": 0
                        }
                    }
                }
            }
        }
    },
    "status": {
        "name": "status",
        "type": "WSTRING",
        "value": "Completion"
    }
}

Show the media player window

Endpoint: /show_window

Example Payload:

{
    orchestration: "1a6aed0d-77bf-4129-8e01-71d61c58473d",
    show_window: true,
    head_index: -1
}

Example Response:

{
    "name": "value",
    "orchestration": {
        "name": "orchestration",
        "type": "WSTRING",
        "value": "1a6aed0d-77bf-4129-8e01-71d61c58473d"
    },
    "status": {
        "name": "status",
        "type": "WSTRING",
        "value": "Completion"
    }
}

Create new playlist

Endpoint: /instance_playlist

Example Payload:

{
    "orchestration":"57a075eb-2350-46e2-9a9c-f9754fc5a4fb",
    "name":"Cast_a7gj4o",
    "loop":true
}

Example Response:

{
    "name": "value",
    "orchestration": {
        "name": "orchestration",
        "type": "WSTRING",
        "value": "57a075eb-2350-46e2-9a9c-f9754fc5a4fb"
    },
    "payload": {
        "name": "payload",
        "type": "VARIANT_MAP",
        "value": {
            "name": {
                "name": "name",
                "type": "WSTRING",
                "value": "Cast_a7gj4o"
            }
        }
    },
    "status": {
        "name": "status",
        "type": "WSTRING",
        "value": "Completion"
    }
}

Add new playlist item

Endpoint: /insert_playlist_entry

Example Payload:

{
    "orchestration": "57a075eb-2350-46e2-9a9c-f9754fc5a4fb",
    "id": 0,
    "name": "Cast_a7gj4o",
    "index": 0,
    "uri": "https://s3.amazonaws.com/lkg-blocks/u/9aa4b54a7346471d/steampunk_qs8x13.jpg",
    "rows": 13,
    "cols": 8,
    "focus": 0,
    "zoom": 1,
    "aspect": 0.75,
    "view_count": 104,
    "isRGBD": 0,
    "tag": "steampunk"
}

Example Response:

{
    "name": "value",
    "orchestration": {
        "name": "orchestration",
        "type": "WSTRING",
        "value": "57a075eb-2350-46e2-9a9c-f9754fc5a4fb"
    },
    "payload": {
        "name": "payload",
        "type": "VARIANT_MAP",
        "value": {
            "index": {
                "name": "index",
                "type": "WSTRING",
                "value": "https://s3.amazonaws.com/lkg-blocks/u/9aa4b54a7346471d/steampunk_qs8x13.jpg"
            }
        }
    },
    "status": {
        "name": "status",
        "type": "WSTRING",
        "value": "Completion"
    }
}

Play a playlist

Endpoint: /play_playlist

Example Payload:

{
    "orchestration": "57a075eb-2350-46e2-9a9c-f9754fc5a4fb",
    "name": "Cast_a7gj4o",
    "head_index": -1
}

Example Response:

{
    "name": "value",
    "orchestration": {
        "name": "orchestration",
        "type": "WSTRING",
        "value": "57a075eb-2350-46e2-9a9c-f9754fc5a4fb"
    },
    "payload": {
        "name": "payload",
        "type": "VARIANT_MAP",
        "value": {
            "id": {
                "name": "id",
                "type": "WSTRING",
                "value": "4b3090db-f2f3-45cd-9817-406d938d4630"
            },
            "message": {
                "name": "message",
                "type": "WSTRING",
                "value": "playing playlist"
            }
        }
    },
    "status": {
        "name": "status",
        "type": "WSTRING",
        "value": "Completion"
    }
}

Playback controls

Endpoints:

/transport_control_play

/transport_control_pause

/transport_control_next

/transport_control_previous

Example Payload:

{
    "orchestration":"57a075eb-2350-46e2-9a9c-f9754fc5a4fb"
}

Example Response:

{
    "name": "value",
    "orchestration": {
        "name": "orchestration",
        "type": "WSTRING",
        "value": "57a075eb-2350-46e2-9a9c-f9754fc5a4fb"
    },
    "payload": {
        "name": "payload",
        "type": "VARIANT_MAP",
        "value": {
            "event": {
                "name": "event",
                "type": "WSTRING",
                "value": "Transport Control Pause"
            }
        }
    },
    "status": {
        "name": "status",
        "type": "WSTRING",
        "value": "Pending"
    }
}

Seek to playlist index

Endpoint: /transport_control_seek_to_index

Example Payload:

{
    "orchestration": "57a075eb-2350-46e2-9a9c-f9754fc5a4fb",
    "index": 2
}

Example Response:

{
    "name": "value",
    "orchestration": {
        "name": "orchestration",
        "type": "WSTRING",
        "value": "57a075eb-2350-46e2-9a9c-f9754fc5a4fb"
    },
    "payload": {
        "name": "payload",
        "type": "VARIANT_MAP",
        "value": {
            "event": {
                "name": "event",
                "type": "WSTRING",
                "value": "Transport Control Seek To Index"
            }
        }
    },
    "status": {
        "name": "status",
        "type": "WSTRING",
        "value": "Pending"
    }
}

Delete playlist

Endpoint: /delete_playlist

Example Payload:

{
    "orchestration":"57a075eb-2350-46e2-9a9c-f9754fc5a4fb",
    "name":"Cast_a7gj4o",
    "loop":true
}

Example Response:

{
    "name": "value",
    "orchestration": {
        "name": "orchestration",
        "type": "WSTRING",
        "value": "57a075eb-2350-46e2-9a9c-f9754fc5a4fb"
    },
    "payload": {
        "name": "payload",
        "type": "VARIANT_MAP",
        "value": {
            "name": {
                "name": "name",
                "type": "WSTRING",
                "value": "Studio Playlist"
            }
        }
    },
    "status": {
        "name": "status",
        "type": "WSTRING",
        "value": "UnknownPlaylist"
    }
}

Last updated