Page Menu
Home
desp's stash
Search
Configure Global Search
Log In
Files
F369026
profiles.py
No One
Temporary
Actions
Download File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Award Token
Flag For Later
Size
2 KB
Subscribers
None
profiles.py
View Options
try
:
#local script
from
lib.datatypes
import
PictureMatrix
,
RGB
,
FusionLightData
,
FusionLightEffect
,
FusionLightColor
,
FusionLightDirection
from
lib.device
import
get_device
except
ImportError
:
#as a module
from
.lib.datatypes
import
PictureMatrix
,
RGB
,
FusionLightData
,
FusionLightEffect
,
FusionLightColor
,
FusionLightDirection
from
.lib.device
import
get_device
from
cv2.typing
import
MatLike
import
sys
,
cv2
"""
For setting images in / switching between profiles.
"""
if
len
(
sys
.
argv
)
<
2
:
print
(
f
'Usage: {__file__} <profile id> [image path]'
)
exit
(
-
1
)
#only allow properly supported profile ids since theres not much point in supporting it especially when it gets reset after reboot
#(even though profile ids way higher than this is actually writable and persistent, see set_custom_light_effect comments)
try
:
profile
=
int
(
sys
.
argv
[
1
])
if
profile
not
in
range
(
5
):
raise
TypeError
()
except
:
print
(
'Invalid profile given (must be from 0-4).'
)
exit
(
-
1
)
dev
=
get_device
()
if
len
(
sys
.
argv
)
>
2
:
#load a new image
def
set_image
(
raw
:
MatLike
)
->
None
:
pre
=
cv2
.
resize
(
raw
,
(
19
,
6
),
interpolation
=
cv2
.
INTER_AREA
)
im
=
cv2
.
cvtColor
(
pre
,
cv2
.
COLOR_BGR2RGB
)
pixels
=
[]
h
,
w
,
_
=
im
.
shape
for
y
in
range
(
h
):
for
x
in
range
(
w
):
pixels
.
append
(
RGB
(
*
im
[
y
,
x
]))
#adjustment needed to give true colors (maybe it's just my keyboard)
dev
.
set_custom_light_effect
(
profile
,
PictureMatrix
.
pixel_matrix_to_keys
(
pixels
),
adjust
=
dev
.
ADJUST_RGB
)
set_image
(
cv2
.
imread
(
sys
.
argv
[
2
]))
else
:
#at runtime this would not reload if we dont set_custom_light_effect so we need to do it anyways
#(unless we are not in any of the custom profiles then the last image will show up right when we do set_simple_light_effect)
load
=
PictureMatrix
.
from_bytes
(
dev
.
get_custom_light_effect
(
profile
))
dev
.
set_custom_light_effect
(
profile
,
load
)
dev
.
set_simple_light_effect
(
FusionLightData
(
FusionLightEffect
.
Custom1
+
profile
,
1
,
255
,
FusionLightColor
.
White
,
FusionLightDirection
.
Left2Right
))
File Metadata
Details
Attached
Mime Type
text/x-python
Expires
Sun, Jul 6, 4:26 AM (13 h, 46 m)
Storage Engine
local-disk
Storage Format
Raw Data
Storage Handle
b9/34/0de4089080f110845e62dee5de30
Attached To
rAERO GIGABYTE Aero Fusion controller lib
Event Timeline
Log In to Comment