-
Notifications
You must be signed in to change notification settings - Fork 0
Control Panels
All Control Panel TOPs Common page:
- Use Parent Panel's Resolution (Flip when taller than wide)
- NOT using Global Res Multiplier (reserved for generators only)
- Aspect: Resolution
- Smoothness: Interpolate (reserved for Panels)
- Fill doesn't matter? just 'Fill'?
- Pixel Format: 8-bit fixed RGBA
Grey in 3 shades?:
- 25%
- 50%
- 75%
or in 4 shades?:
- 0% --- 000
- 20% -- 051
- 40% -- 102
- 60% -- 153
- 80% -- 204
- 100% - 255
Don't use colors for indicators? Save color for external attributes. Use Symbols for indicators? Tough to do reliably in TD
- "Off" or "On" - AKA panel "state"
- "Inside" or "Outside" - AKA panel "inside"
- "Pressed" or "Released" - AKA panel "select"
Never use 0 or 100%? 100% should be reserved for borders and text. 0% should be reserved for non-existant / blank background.
Also don't use 80% since it's too close to 100%. So only 20%, 40%, 60%
- 20% - Released Outside?
- 40% - Released Inside?
- 40% - Pressed Outside? if that even exists...
- 60% - Pressed Inside?
Indicators / Symbols:
- On or Off
- Checked or Unchecked?
- Locked or Unlocked
- Plus or Minus
- Up, Down, Left, Right
- Tall(er), Short(er), Thinn(er), Wide(er)
- Transport Controls:
- Play - Arrowhead pointing to the right. (pointing left for play backwards)
- Pause - Two vertical bars.
- Stop - Square or octagon.
- Rewind - Two Arrowheads pointing left. (three for faster)
- Forward - Two Arrowheads pointing right. (three for faster)
- Next - Vertical bar and then arrowhead pointing right?
- Previous - Arrowhead pointing left and then vertical bar?
- First - Arrowhead pointing right and then vertical bar?
- Last - Vertical bar and then arrowhead pointing left?
- Sizes - should be even, despite aspect ratio, so use 'pixels' as unit and always reference 'W'
- TOP Resolution:
- W:
max(parent().width, parent().height)Unit: Pixels - H:
min(parent().height, parent().width)Unit: Pixels
- W:
- Rectangle Size:
- X:
parent().width-(parent().width/10)Unit: Pixels - Y:
parent().height-(parent().width/10)Unit: Pixels
- X:
- TOP Resolution:
- Background
- Color: Black
- Alpha: 50% - Panel BGcolor will influence
- Fill - use for inside / pressed
- Color: 20%-outside, 40%-inside|pressed, 60%-inside&pressed
0.2+(parent().panel.inside*0.2)+(parent().panel.select*0.2)
- Alpha: 50% - Panel BGcolor will influence
- Color: 20%-outside, 40%-inside|pressed, 60%-inside&pressed
- Border - Use for state
- Color: 100%
- Alpha: 100%
- Width:
parent().panel.state*(min(parent().width,parent().height)/20) - Offset: 0.5 aka 50% - this has border bisect edge
- Corner Radius - probably not... but if so:
min(parent().width,parent().height)/10
- Text:
parent().base.replace('_',' ') - Word Wrap: On
- Size: Always Auto-Fit
- Space:
min(parent().width,parent().height)/5
- Flip X or Flip Y (TBD?) should flip as soon as height is greater than width (hence the +1)
int(parent().height/(parent().width+1))
- Flop can then reference Flip as Flip will never go above 1.
Based off "SliderType" parameter. Should be either a horizontal, vertical, or combo of both bars (for UV) that use same rounding (but also work as square). Use add TOP to add both, have alpha of both be half of each, still need to figure out how to add fill alphas.
Slidertype will change which bar shows up and whether one or two channels come out the chop output. Channel names should be panle name plus U or V?
Need to figure out how to get bars to stay inside panel rather than going to edge?
Right click centers both to 0.5?
Text will be the only thing that flips based only on panel size, irregardless of U or V