Lighting
Các tài nguyên Lighting giao tiếp với canvas và các hiệu ứng đang phát hiện tại. Tại đây bạn có thể xem hiệu ứng hiện tại, thay đổi nó, thay đổi preset của nó hoặc lặp qua tất cả các hiệu ứng được cài đặt của người dùng.
| Phương thức | Endpoint |
|---|---|
| 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 |
Lấy hiệu ứng hiện tại
Phần tiêu đề “Lấy hiệu ứng hiện tại”Lấy thông tin về hiệu ứng đang phát hiện tại, độ sáng toàn cục và trạng thái phát canvas. Self link có thể được sử dụng để lấy thêm thông tin về hiệu ứng này nếu cần.
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"}Đặt độ sáng toàn cục
Phần tiêu đề “Đặt độ sáng toàn cục”Đặt độ sáng toàn cục hiện tại.
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"}Phát/Tạm dừng canvas
Phần tiêu đề “Phát/Tạm dừng canvas”Xác định xem canvas có đang hoạt động hay không. Khi bị vô hiệu hóa, tất cả thiết bị nhận màu đen (#000000) cho tất cả các yêu cầu màu.
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"}Lấy các hiệu ứng đã cài đặt
Phần tiêu đề “Lấy các hiệu ứng đã cài đặt”Trả về danh sách tất cả các hiệu ứng đã cài đặt của người dùng.
- Do kích thước payload tiềm năng của endpoint này, số lần gọi nên được giảm thiểu.
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"}Lấy thông tin hiệu ứng
Phần tiêu đề “Lấy thông tin hiệu ứng”Trả về thông tin chi tiết về một hiệu ứng cụ thể.
- Nếu ID hiệu ứng được chỉ định không tồn tại, endpoint này trả về lỗi 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"}Lấy preset của hiệu ứng
Phần tiêu đề “Lấy preset của hiệu ứng”Trả về danh sách các preset có sẵn cho hiệu ứng này.
- Nếu ID hiệu ứng được chỉ định không tồn tại, endpoint này trả về lỗi 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"}Áp dụng preset của hiệu ứng
Phần tiêu đề “Áp dụng preset của hiệu ứng”Áp dụng preset hiệu ứng đích cho ID hiệu ứng được chỉ định.
- Nếu ID hiệu ứng hoặc preset được chỉ định không tồn tại, endpoint này trả về lỗi 404.
curl -X PATCH -d "{\"preset\":\"My Fancy Preset 1\"}" http://localhost:16038/api/v1/lighting/effects/-Mg1qujV9F4rabJxlSOS/presetsÁp dụng hiệu ứng
Phần tiêu đề “Áp dụng hiệu ứng”Áp dụng ID hiệu ứng được chỉ định, nếu tồn tại.
- Nếu ID hiệu ứng được chỉ định không tồn tại, endpoint này trả về lỗi 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"}Lấy hiệu ứng tiếp theo
Phần tiêu đề “Lấy hiệu ứng tiếp theo”Trả về thông tin về hiệu ứng tiếp theo trong lịch sử, nếu có sẵn. Nếu lịch sử hiệu ứng không chứa hiệu ứng tiếp theo, endpoint này trả về lỗi 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"}Áp dụng hiệu ứng tiếp theo
Phần tiêu đề “Áp dụng hiệu ứng tiếp theo”Mô phỏng thao tác bỏ qua media tiến cho hiệu ứng đang phát hiện tại. Nếu không có hiệu ứng tiếp theo trong lịch sử, SignalRGB chọn một hiệu ứng đã cài đặt ngẫu nhiên không phải là hiệu ứng tích hợp game hay hiệu ứng phát triển.
Trả về hiệu ứng mới được áp dụng.
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"}Lấy hiệu ứng trước đó
Phần tiêu đề “Lấy hiệu ứng trước đó”Trả về thông tin về hiệu ứng trước đó trong lịch sử, nếu có sẵn. Nếu lịch sử hiệu ứng không chứa hiệu ứng trước đó, endpoint này trả về lỗi 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"}Áp dụng hiệu ứng trước đó
Phần tiêu đề “Áp dụng hiệu ứng trước đó”Mô phỏng thao tác bỏ qua media lùi cho hiệu ứng đang phát hiện tại. Nếu không có hiệu ứng trước đó trong lịch sử, endpoint này trả về lỗi 409.
Trả về hiệu ứng mới được áp dụng.
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"}Áp dụng hiệu ứng ngẫu nhiên
Phần tiêu đề “Áp dụng hiệu ứng ngẫu nhiên”Mô phỏng thao tác xáo trộn media cho hiệu ứng đang phát hiện tại. SignalRGB chọn một hiệu ứng đã cài đặt ngẫu nhiên không phải là hiệu ứng tích hợp game hay hiệu ứng phát triển.
Trả về hiệu ứng mới được áp dụng.
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"}