Освещение
Ресурсы освещения взаимодействуют с canvas и текущими воспроизводимыми эффектами. Здесь можно увидеть текущий эффект, сменить его, изменить его пресет или перебрать все установленные эффекты пользователя.
| Метод | Конечная точка |
|---|---|
| GET | lighting |
| PATCH | lighting/global_brightness |
| PATCH | lighting/enabled |
| GET | lighting/effects |
| GET | lighting/effect/:id |
| GET | lighting/effect/:id/presets |
| PATCH | lighting/effect/:id/presets |
| POST | lighting/effect/:id/apply |
| GET | lighting/next |
| POST | lighting/next |
| GET | lighting/previous |
| POST | lighting/previous |
| POST | lighting/shuffle |
Получение текущего эффекта
Заголовок раздела «Получение текущего эффекта»Получает информацию о текущем воспроизводимом эффекте, глобальной яркости и состоянии воспроизведения canvas. Ссылка self может быть использована для получения дополнительной информации об этом эффекте при необходимости.
curl http://localhost:16038/api/v1/lighting{ "api_version": "1.0", "data": { "attributes": { "enabled": true, "global_brightness": 50, "name": "Neon Shift" }, "id": "Neon Shift.html", "links": { "self": "/api/v1/lighting/effects/Neon Shift.html" }, "type": "current_effect" }, "id": 6, "method": "/api/v1/lighting", "params": {}, "status": "ok"}Установка глобальной яркости
Заголовок раздела «Установка глобальной яркости»Устанавливает текущую глобальную яркость.
curl -X PATCH -d "{\"global_brightness\":73}" http://localhost:16038/api/v1/lighting/global_brightness{ "api_version": "1.0", "data": { "attributes": { "enabled": true, "global_brightness": 73 }, "type": "effect" }, "id": 3, "method": "/api/v1/lighting/global_brightness", "params": { "body": { "global_brightness": 73 } }, "status": "ok"}Воспроизведение/пауза canvas
Заголовок раздела «Воспроизведение/пауза canvas»Устанавливает, активен ли canvas в данный момент. При отключении все устройства будут получать чёрный (#000000) для всех цветовых запросов.
curl -X PATCH -d "{\"enabled\":false}" http://localhost:16038/api/v1/lighting/enabled{ "api_version": "1.0", "data": { "attributes": { "enabled": false, "global_brightness": 73 }, "type": "effect" }, "id": 4, "method": "/api/v1/lighting/enabled", "params": { "body": { "enabled": false } }, "status": "ok"}Получение установленных эффектов
Заголовок раздела «Получение установленных эффектов»Возвращает список всех установленных эффектов пользователя.
- Учитывая потенциальный размер полезной нагрузки этой конечной точки, следует ограничивать количество обращений к ней.
curl http://localhost:16038/api/v1/lighting/effects{ "apiVersion": "1.0", "data": { "items": [ { "attributes": { "name": " Wolfenstein II: TNC" }, "id": "-MQtFeX-o2hMR6sv8aFr", "links": { "apply": "/api/v1/lighting/effects/-MQtFeX-o2hMR6sv8aFr/apply", "self": "/api/v1/lighting/effects/-MQtFeX-o2hMR6sv8aFr" }, "type": "effect" }, { "attributes": { "name": "4th Dimension" }, "id": "-N-YhDDs2ZIGJ42azDgJ", "links": { "apply": "/api/v1/lighting/effects/-N-YhDDs2ZIGJ42azDgJ/apply", "self": "/api/v1/lighting/effects/-N-YhDDs2ZIGJ42azDgJ" }, "type": "effect" }, ... ], "type": "effects" }, "id": 7, "method": "/api/v1/lighting/effects", "params": {}, "status": "ok"}Получение информации об эффекте
Заголовок раздела «Получение информации об эффекте»Возвращает подробную информацию о конкретном эффекте.
- Если указанный id эффекта не существует, эта конечная точка вернёт ошибку 404.
curl http://localhost:16038/api/v1/lighting/effects/-Mg1qujV9F4rabJxlSOS{ "api_version": "1.0", "data": { "attributes": { "description": "A colorful drizzle of softly moving lines.", "developer_effect": false, "image": "https://imagedelivery.net/uPA_EtOZxmT3DaI0aRG2mQ/-Mg1qujV9F4rabJxlSOS/main/dashcard", "name": "Drizzle", "parameters": { "backColorMode": { "label": "Background Color Mode", "type": "combobox", "value": "Static" }, "backHue": { "label": "Background Color (Static)", "type": "color", "value": "#320056" }, "confHue": { "label": "Line Color (Static)", "type": "color", "value": "#ff0000" }, "confLength": { "label": "Line Length", "type": "number", "value": 70 } }, "publisher": "SignalRGB", "uses_audio": false, "uses_input": false, "uses_meters": false, "uses_video": false }, "id": "-Mg1qujV9F4rabJxlSOS", "links": { "apply": "/api/v1/lighting/effects/-Mg1qujV9F4rabJxlSOS/apply", "self": "/api/v1/lighting/effects/-Mg1qujV9F4rabJxlSOS" }, "type": "effect" }, "id": 1, "method": "/api/v1/lighting/effects/-Mg1qujV9F4rabJxlSOS", "params": { "id": "-Mg1qujV9F4rabJxlSOS" }, "status": "ok"}{ "api_version": "1.0", "errors": [ { "code": "404", "detail": "The requested effect was not found", "title": "Not Found" } ], "id": 2, "method": "/api/v1/lighting/effects/-Mg1qujV9F4rabJxlSO", "params": { "id": "-Mg1qujV9F4rabJxlSO" }, "status": "error"}Получение пресетов эффекта
Заголовок раздела «Получение пресетов эффекта»Возвращает список доступных пресетов для данного эффекта.
- Если указанный id эффекта не существует, эта конечная точка вернёт ошибку 404.
curl http://localhost:16038/api/v1/lighting/effects/-Mg1qujV9F4rabJxlSOS/presets{ "api_version": "1.0", "data": { "id": "-Mg1qujV9F4rabJxlSOS", "items": [ { "id": "My Fancy Preset 1", "type": "preset" }, { "id": "My Other Preset", "type": "preset" } ], "type": "presets" }, "id": 1, "method": "/api/v1/lighting/effects/-Mg1qujV9F4rabJxlSOS/presets", "params": { "id": "-Mg1qujV9F4rabJxlSOS" }, "status": "ok"}{ "api_version": "1.0", "errors": [ { "code": "404", "detail": "The requested effect was not found", "title": "Not Found" } ], "id": 4, "method": "/api/v1/lighting/effects/-Mg1qujV9F4rabJxlSS/presets", "params": { "id": "-Mg1qujV9F4rabJxlSS" }, "status": "error"}Применение пресета эффекта
Заголовок раздела «Применение пресета эффекта»Применяет целевой пресет эффекта для данного id эффекта.
- Если указанный id эффекта или пресет не существует, эта конечная точка вернёт ошибку 404.
curl -X PATCH -d "{\"preset\":\"My Fancy Preset 1\"}" http://localhost:16038/api/v1/lighting/effects/-Mg1qujV9F4rabJxlSOS/presetsПрименение эффекта
Заголовок раздела «Применение эффекта»Применяет указанный id эффекта, если он существует.
- Если указанный id эффекта не существует, эта конечная точка вернёт ошибку 404.
curl -X POST http://localhost:16038/api/v1/lighting/effects/-Mg1qujV9F4rabJxlSOS/apply{ "api_version": "1.0", "id": 3, "method": "/api/v1/lighting/effects/-Mg1qujV9F4rabJxlSOS/apply", "params": { "id": "-Mg1qujV9F4rabJxlSOS" }, "status": "ok"}{ "api_version": "1.0", "errors": [ { "code": "404", "detail": "The requested effect was not found", "title": "Not Found" } ], "id": 4, "method": "/api/v1/lighting/effects/-Mg1qujV9F4rabJxlSS/apply", "params": { "id": "-Mg1qujV9F4rabJxlSS" }, "status": "error"}Получение следующего эффекта
Заголовок раздела «Получение следующего эффекта»Возвращает информацию о следующем эффекте в истории, если он доступен. Если история эффектов не содержит следующего эффекта, эта конечная точка вернёт ошибку 409.
curl http://localhost:16038/api/v1/lighting/next{ "api_version": "1.0", "data": { "attributes": { "name": "Drizzle" }, "id": "-Mg1qujV9F4rabJxlSOS", "links": { "self": "/api/v1/lighting/effects/-Mg1qujV9F4rabJxlSOS" }, "type": "effect" }, "id": 5, "method": "/api/v1/lighting/next", "params": {}, "status": "ok"}{ "api_version": "1.0", "errors": [ { "code": "409", "detail": "Effect History doesn't contain a next effect", "title": "No Next Effect" } ], "id": 24, "method": "/api/v1/lighting/next", "params": {}, "status": "error"}Применение следующего эффекта
Заголовок раздела «Применение следующего эффекта»Имитирует операцию быстрой перемотки вперёд для текущего воспроизводимого эффекта. Если в истории нет следующего эффекта, SignalRGB переключится на случайный установленный эффект (не игровой, не от разработчика).
Возвращает вновь применённый эффект.
curl -X POST http://localhost:16038/api/v1/lighting/next{ "api_version": "1.0", "data": { "attributes": { "name": "Drizzle" }, "id": "-Mg1qujV9F4rabJxlSOS", "links": { "self": "/api/v1/lighting/effects/-Mg1qujV9F4rabJxlSOS" }, "type": "effect" }, "id": 5, "method": "/api/v1/lighting/next", "params": {}, "status": "ok"}{ "api_version": "1.0", "errors": [ { "code": "409", "detail": "Effect History doesn't contain a next effect", "title": "No Next Effect" } ], "id": 24, "method": "/api/v1/lighting/next", "params": {}, "status": "error"}Получение предыдущего эффекта
Заголовок раздела «Получение предыдущего эффекта»Возвращает информацию о предыдущем эффекте в истории, если он доступен. Если история эффектов не содержит предыдущего эффекта, эта конечная точка вернёт ошибку 409.
curl http://localhost:16038/api/v1/lighting/previous{ "api_version": "1.0", "data": { "attributes": { "name": "Gradient Generator" }, "id": "-MA7wCKkv_359cmwPOEK", "links": { "self": "/api/v1/lighting/effects/-MA7wCKkv_359cmwPOEK" }, "type": "effect" }, "id": 7, "method": "/api/v1/lighting/previous", "params": {}, "status": "ok"}{ "api_version": "1.0", "errors": [ { "code": "409", "detail": "Effect History doesn't contain a previous effect", "title": "No Previous Effect" } ], "id": 15, "method": "/api/v1/lighting/previous", "params": {}, "status": "error"}Применение предыдущего эффекта
Заголовок раздела «Применение предыдущего эффекта»Имитирует операцию перемотки назад для текущего воспроизводимого эффекта. Если в истории нет предыдущего эффекта, вернёт ошибку 409.
Возвращает вновь применённый эффект.
curl -X POST http://localhost:16038/api/v1/lighting/previous{ "api_version": "1.0", "data": { "attributes": { "name": "Gradient Generator" }, "id": "-MA7wCKkv_359cmwPOEK", "links": { "self": "/api/v1/lighting/effects/-MA7wCKkv_359cmwPOEK" }, "type": "effect" }, "id": 7, "method": "/api/v1/lighting/previous", "params": {}, "status": "ok"}{ "api_version": "1.0", "errors": [ { "code": "409", "detail": "Effect History doesn't contain a previous effect", "title": "No Previous Effect" } ], "id": 15, "method": "/api/v1/lighting/previous", "params": {}, "status": "error"}Применение случайного эффекта
Заголовок раздела «Применение случайного эффекта»Имитирует операцию перемешивания для текущего воспроизводимого эффекта. SignalRGB переключится на случайный установленный эффект (не игровой, не от разработчика).
Возвращает вновь применённый эффект.
curl -X POST http://localhost:16038/api/v1/lighting/shuffle{ "api_version": "1.0", "data": { "attributes": { "name": "Borealis" }, "id": "-N1LC8HkC4fZ6IlFA30j", "links": { "self": "/api/v1/lighting/effects/-N1LC8HkC4fZ6IlFA30j" }, "type": "effect" }, "id": 6, "method": "/api/v1/lighting/shuffle", "params": {}, "status": "ok"}