🪛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

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"
    }
}

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"
    }
}

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"
    }
}

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"
    }
}

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"
    }
}

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"
    }
}

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"
    }
}

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"
    }
}

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"
    }
}

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

Change request #502: August 18 Changes