Användarkontroller
Användarkontroller i ett plugin tar formen av globala variabler som kan ändras av slutanvändaren. De exporteras från pluginet via ControllableParameters() som returnerar en array med inställningsobjekt enligt nedan.
export function ControllableParameters(){ return [ {"property":"LightingMode", "label":"Lighting Mode", "type":"combobox", "values":["Canvas","Forced"], "default":"Canvas"}, {"property":"forcedColor", "label":"Forced Color","min":"0","max":"360","type":"color","default":"#009bde"}, {"property":"SettingControl", "label":"Enable Setting Control","type":"boolean","default":"false"}, {"property":"dpi1", "label":"DPI","step":"50", "type":"number","min":"200", "max":"18000","default":"800"} ];}Vart och ett av dessa inställningsobjekt har alltid ett par grundläggande parametrar. Dessa gäller för alla plugin-användarkontroller.
| Parameter | Värde | Typ |
|---|---|---|
| property | Namnet på variabeln du vill tilldela kontrollen. | String |
| label | Etiketten som visas för användaren. | String |
| type | Kontrolltypen. För tillfället giltiga alternativ: boolean, number, hue, color, combobox och textfield | String |
| default | Standardvärdet för kontrollen. | Variabel |
Nummereglage
Section titled “Nummereglage”Nummerkontroll låter användaren välja ett talvärde med ett reglage.
{"property":"dpi1", "label":"DPI","step":"50", "type":"number","min":"200", "max":"18000","default":"800"},
Den här kontrollen stöder följande attribut:
| Parameter | Värde | Typ |
|---|---|---|
| property | Namnet på variabeln du vill tilldela kontrollen. | String |
| label | Etiketten som visas för användaren. | String |
| type | ”number” | String |
| default | Standardvärdet för kontrollen. | String, Int |
| min | Minsta valbara värde för reglaget. Det här attributet stöder negativa värden. | String, Int |
| max | Maximalt valbara värde för reglaget. | String, Int |
| step | Det stegvärde som reglaget ökar och minskar med | String, Int |
Boolean-växel
Section titled “Boolean-växel”Boolean-kontroll låter användaren välja värdet på en boolesk variabel med en växelkontroll.
{"property":"AngleSnap", "label":"Angle Snapping", "type":"boolean", "default":"0"},
Den här kontrollen stöder följande attribut:
| Parameter | Värde | Typ |
|---|---|---|
| property | Namnet på variabeln du vill tilldela kontrollen. | String |
| label | Etiketten som visas för användaren. | String |
| type | ”boolean” | String |
| default | Standardvärdet för växeln. Sätt detta till 1 för att göra standardtillståndet “på”. | String, Int |
Toneglage
Section titled “Toneglage”Tonväljar-kontrollen låter användaren välja färgens tonkomponent med en reglage-kontroll.

Den här kontrollen stöder följande attribut:
| Parameter | Värde | Typ |
|---|---|---|
| property | Namnet på variabeln du vill tilldela kontrollen. | String |
| label | Etiketten som visas för användaren. | String |
| type | ”hue” | String, Int |
| default | Standardvärdet för toneglaget. | String |
| min | Minsta valbara tonvärde. Det här värdet måste vara mellan 0 och 359. | String, Int |
| max | Maximalt valbara tonvärde. Det här värdet måste vara mellan 1 och 360. | String, Int |
Färgväljare
Section titled “Färgväljare”Färgkontroll låter användaren välja en färg med ett tonskiva, ett mättnadseglage och ett ljusstyrkeeglage. Nyckelikonen öppnar en mer avancerad färgpalett för urval.
{"property":"forcedColor", "label":"Forced Color","min":"0","max":"360","type":"color","default":"#009bde"},
Den här kontrollen stöder följande attribut:
| Parameter | Värde | Typ |
|---|---|---|
| property | Namnet på variabeln du vill tilldela kontrollen. | String |
| label | Etiketten som visas för användaren. | String |
| type | ”color” | String |
| default | Standardvärdet för färgväljaren. Måste anges som ett hex-värde i formatet #RRGGBB | String |
| min | Minsta valbara tonvärde. Det här värdet måste vara mellan 0 och 359. | Int |
| max | Maximalt valbara tonvärde. Det här värdet måste vara mellan 1 och 360. | Int |
Kombinationsruta
Section titled “Kombinationsruta”Kombinationsruta-kontrollen låter användaren välja från en rullgardinsmeny med förinställda värden.
{"property":"SleepModeTime", "label":"Sleep After x Minutes", "type":"combobox", "values":[5,10,15,30,60], "default":10},
Den här kontrollen stöder följande attribut:
| Parameter | Värde | Typ |
|---|---|---|
| property | Namnet på variabeln du vill tilldela kontrollen. | String |
| label | Etiketten som visas för användaren. | String |
| type | ”combobox” | String |
| default | Standardvärdet för kombinationsrutan. Det här värdet måste finnas i values-arrayen | String, Int |
| values | En array med värden för rullgardinsmenyn. Giltiga typer är string och integer. | [String, Int] |
Textfält
Section titled “Textfält”Textfältets kontroll låter användaren mata in text med ett valfritt RegEx-filter.
{"property":"textBox", "label":"Text Field", "type":"textfield", "default":"3"},
Den här kontrollen stöder följande attribut:
| Parameter | Värde | Typ |
|---|---|---|
| property | Namnet på variabeln du vill tilldela kontrollen. | String |
| label | Etiketten som visas för användaren. | String |
| type | ”textfield” | String |
| default | Standardvärdet för textfältet. | String, Int |
| filter | Valfritt RegEx-filter för att begränsa användarinmatning | RegEx String |
on*Changed-callbacks
Section titled “on*Changed-callbacks”När en användare ändrar en kontroll anropar SignalRGB motsvarande on[property]Changed()-funktion före nästa Render()-anrop. Funktionsnamnet måste exakt matcha egenskapsnamnet i ControllableParameters(), med prefixet on och suffixet Changed. Det är skiftlägeskänsligt.
// ControllableParameters-post:{"property":"dpi1", "label":"DPI", "step":"50", "type":"number", "min":"200", "max":"18000", "default":"800"},
// Motsvarande callback:export function ondpi1Changed() { setDpi(dpi1);}Inbyggda callbacks
Section titled “Inbyggda callbacks”Dessa callbacks kan användas utan en motsvarande ControllableParameters-post:
| Funktion | Beskrivning |
|---|---|
onBrightnessChanged() | Anropas när användaren rör enhetens huvudljusstyrkereglage. |