Przejdź do głównej zawartości

Oświetlenie

Zasoby oświetlenia działają na canvas i aktualnie odtwarzanych efektach. Tutaj możesz sprawdzić aktualny efekt, zmienić go, zmienić jego ustawienie wstępne lub przeglądać wszystkie aktualnie zainstalowane efekty użytkownika.

MetodaPunkt końcowy
GETlighting
PATCHlighting/global_brightness
PATCHlighting/enabled
GETlighting/effects
GETlighting/effect/:id
GETlighting/effect/:id/presets
PATCHlighting/effect/:id/presets
POSTlighting/effect/:id/apply
GETlighting/next
POSTlighting/next
GETlighting/previous
POSTlighting/previous
POSTlighting/shuffle

Pobiera informacje o aktualnie odtwarzanym efekcie, globalnej jasności i statusie odtwarzania canvas. Link self można użyć do uzyskania dalszych informacji o tym efekcie, jeśli jest to pożądane.

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

Ustawia bieżącą globalną jasność.

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

Ustawia, czy canvas jest aktualnie aktywny. Po wyłączeniu wszystkie urządzenia otrzymują czarny (#000000) dla wszystkich żądań kolorów.

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

Zwraca listę wszystkich zainstalowanych efektów użytkownika.

  • Ze względu na potencjalny rozmiar ładunku tego punktu końcowego, należy ograniczyć liczbę wywołań do niego.
Okno terminala
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"
}

Zwraca szczegółowe informacje o konkretnym efekcie.

  • Jeśli podany ID efektu nie istnieje, ten punkt końcowy zwraca błąd 404.
Okno terminala
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"
}

Zwraca listę dostępnych ustawień wstępnych dla tego efektu.

  • Jeśli podany ID efektu nie istnieje, ten punkt końcowy zwraca błąd 404.
Okno terminala
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"
}

Stosuje docelowe ustawienie wstępne efektu dla podanego ID efektu.

  • Jeśli podany ID efektu lub ustawienie wstępne nie istnieje, ten punkt końcowy zwraca błąd 404.
Okno terminala
curl -X PATCH -d "{\"preset\":\"My Fancy Preset 1\"}" http://localhost:16038/api/v1/lighting/effects/-Mg1qujV9F4rabJxlSOS/presets

Stosuje podany ID efektu, jeśli istnieje.

  • Jeśli podany ID efektu nie istnieje, ten punkt końcowy zwraca błąd 404.
Okno terminala
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"
}

Zwraca informacje o następnym efekcie w historii, jeśli jest dostępny. Jeśli historia efektów nie zawiera następnego efektu, ten punkt końcowy zwraca błąd 409.

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

Symuluje operację przejścia do następnego efektu w multimediach na aktualnie odtwarzanym efekcie. Jeśli w historii nie ma następnego efektu, SignalRGB losowo wybiera zainstalowany, nieintegrujący gier, niebędący efektem deweloperskim efekt.

Zwraca nowo zastosowany efekt.

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

Zwraca informacje o poprzednim efekcie w historii, jeśli jest dostępny. Jeśli historia efektów nie zawiera poprzedniego efektu, ten punkt końcowy zwraca błąd 409.

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

Symuluje operację cofnięcia w multimediach na aktualnie odtwarzanym efekcie. Jeśli w historii nie ma poprzedniego efektu, zwraca błąd 409.

Zwraca nowo zastosowany efekt.

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

Symuluje operację losowego wyboru w multimediach na aktualnie odtwarzanym efekcie. SignalRGB losowo wybiera zainstalowany, nieintegrujący gier, niebędący efektem deweloperskim efekt.

Zwraca nowo zastosowany efekt.

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