summaryrefslogtreecommitdiffstats
path: root/generate_utils.py
diff options
context:
space:
mode:
authoryum <yum.food.vr@gmail.com>2022-12-17 17:51:12 -0800
committeryum <yum.food.vr@gmail.com>2022-12-17 17:51:12 -0800
commitee8213d1d2c2008d2d996929500c9e87dac325a3 (patch)
treef5fb3da0fea10a30229c3642c4312fd457ac293a /generate_utils.py
parent4d836989720523cd0363927e3e066f56b9dc445c (diff)
Finish python virtual env
GUI can now download all TaSTT dependencies and install them into a virtual environment. * Add buttons to check embedded python version & install dependencies * Add class to wrap interacting with embedded Python * Put all TaSTT python scripts into a folder
Diffstat (limited to 'generate_utils.py')
-rw-r--r--generate_utils.py130
1 files changed, 0 insertions, 130 deletions
diff --git a/generate_utils.py b/generate_utils.py
deleted file mode 100644
index e8fcc8b..0000000
--- a/generate_utils.py
+++ /dev/null
@@ -1,130 +0,0 @@
-from math import ceil
-from math import floor
-
-def replaceMacros(lines, macro_defs):
- for k,v in macro_defs.items():
- lines = lines.replace("%" + k + "%", v)
- return lines
-
-# Note, (BOARD_ROWS * BOARD_COLS % NUM_LAYERS) must equal 0. If not, writing to
-# the last cell will (with the current implementation) wrap around to the front
-# of the board.
-BOARD_ROWS=4
-BOARD_COLS=48
-NUM_REGIONS = 24
-CHARS_PER_CELL=256
-BYTES_PER_CHAR=2
-
-NUM_LAYERS=ceil((BOARD_ROWS * BOARD_COLS) / NUM_REGIONS)
-
-# Implementation detail. We use this parameter to return from the terminal
-# state of the FX layer to the starting state.
-def getDummyParam():
- return "TaSTT_Dummy"
-
-def getHipToggleParam():
- return "TaSTT_Hip_Toggle"
-
-def getHandToggleParam():
- return "TaSTT_Hand_Toggle"
-
-def getToggleParam():
- return "TaSTT_Toggle"
-
-def getScaleParam():
- return "TaSTT_Scale"
-
-# When this is set to true, the board will emit a soft beep sound. It's used to
-# grab attention when speaking.
-def getSpeechNoiseToggleParam():
- return "TaSTT_Speech_Noise_Toggle"
-
-# This is used to disable speaking noises.
-def getSpeechNoiseEnableParam():
- return "TaSTT_Speech_Noise_Enable"
-
-# When this is set to true, the board clears.
-def getClearBoardParam():
- return "TaSTT_Clear_Board"
-
-def getLockWorldParam():
- return "TaSTT_Lock_World"
-
-# Each layer controls a group of cells. There's only one letter per layer, thus
-# this is also the name of the parameter which sets the letter for a layer.
-def getLayerParam(which_layer: int, byte: int) -> str:
- return "TaSTT_L%02dB%01d" % (which_layer, byte)
-
-def getLayerName(which_layer: int, byte: int) -> str:
- return getLayerParam(which_layer, byte)
-
-def getBlendParam(which_layer: int, byte: int) -> str:
- return "TaSTT_L%02dB%01d_Blend" % (which_layer, byte)
-
-def getDefaultStateName(which_layer:int , byte: int):
- return "TaSTT_L%02dB%01d_Do_Nothing" % (which_layer, byte)
-
-def getActiveStateName(which_layer: int, byte: int):
- return "TaSTT_L%02dB%01d_Active" % (which_layer, byte)
-
-def getSelectStateName(which_layer, select):
- return "TaSTT_L%02d_S%02d_B%01d" % (which_layer, select, byte)
-
-def getBlendStateName(which_layer, select, byte):
- return "TaSTT_L%02d_S%02d_B%01d_Blend" % (which_layer, select, byte)
-
-def getLetterStateName(which_layer, select, letter, byte):
- return "TaSTT_L%02d_S%02d_L%03d_B%01d" % (which_layer, select, letter, byte)
-
-def getSelectParam() -> str:
- return "TaSTT_Select"
-
-def getEnableParam():
- return "TaSTT_Enable"
-
-def getIndicator0Param():
- return "TaSTT_Indicator_0"
-
-def getIndicator1Param():
- return "TaSTT_Indicator_1"
-
-def getBoardIndex(which_layer, select):
- # Because we divide the board into a multiple of 8 cells, some cells may
- # describe animations which don't exist, depending on the size of the board.
- # We work around this by simply wrapping those animations back to the top
- # of the board, and rely on the OSC controller to simply not reference
- # those cells.
- return (select * NUM_LAYERS + which_layer) % (BOARD_ROWS * BOARD_COLS)
-
-def getShaderParamByRowColByte(row, col, byte):
- return "_Letter_Row%02d_Col%02d_Byte%01d" % (row, col, byte)
-
-# Mapping from layer to shader param.
-def getShaderParam(which_layer, select, byte):
- index = getBoardIndex(which_layer, select)
-
- col = index % BOARD_COLS
- row = floor(index / BOARD_COLS)
-
- return getShaderParamByRowCol(row, col, byte)
-
-# The name of the animation which writes `letter` at a specific position in the
-# display.
-def getLetterAnimationName(row, col, letter, nth_byte):
- return "R%02dC%02dL%02dB%01d" % (row, col, letter, nth_byte)
-
-# The name of the animation which clears the entire board.
-def getClearAnimationName():
- return "TaSTT_Clear_Board"
-
-def getAnimationNameByLayerAndIndex(which_layer, select, letter, nth_byte):
- index = getBoardIndex(which_layer, select)
-
- col = index % BOARD_COLS
- row = floor(index / BOARD_COLS)
-
- return "R%02dC%02dL%02dB%01d" % (row, col, letter, nth_byte)
-
-# Returns the path to the animation for the given shader parameter + letter.
-def getAnimationPath(shader_param, letter):
- return "generated/animations/%s_Letter%02d.anim" % (shader_param, letter)