VHSTape
Quick Start
from terminaltexteffects.effects.effect_vhstape import VHSTape
effect = VHSTape("YourTextHere")
with effect.terminal_output() as terminal:
for frame in effect:
terminal.print(frame)
Lines of characters glitch left and right and lose detail like an old VHS tape.
Classes:
Name | Description |
---|---|
VHSTape |
Lines of characters glitch left and right and lose detail like an old VHS tape. |
VHSTapeConfig |
Configuration for the VHSTape effect. |
VHSTapeIterator |
Effect iterator for the VHSTape effect. Does not normally need to be called directly. |
VHSTape
Bases: BaseEffect[VHSTapeConfig]
Lines of characters glitch left and right and lose detail like an old VHS tape.
Attributes:
Name | Type | Description |
---|---|---|
effect_config |
VHSTapeConfig
|
Configuration for the effect. |
terminal_config |
TerminalConfig
|
Configuration for the terminal. |
Source code in terminaltexteffects/effects/effect_vhstape.py
__init__(input_data)
Initialize the effect with the provided input data.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
input_data |
str
|
The input data to use for the effect. |
required |
VHSTapeConfig
dataclass
Bases: ArgsDataClass
Configuration for the VHSTape effect.
Attributes:
Name | Type | Description |
---|---|---|
final_gradient_stops |
tuple[Color, ...]
|
Tuple of colors for the final color gradient. If only one color is provided, the characters will be displayed in that color. |
final_gradient_steps |
tuple[int, ...] | int
|
Tuple of the number of gradient steps to use. More steps will create a smoother and longer gradient animation. Valid values are n > 0. |
final_gradient_direction |
Direction
|
Direction of the final gradient. |
glitch_line_colors |
tuple[Color, ...]
|
Tuple of colors for the characters when a single line is glitching. Colors are applied in order as an animation. |
glitch_wave_colors |
tuple[Color, ...]
|
Tuple of colors for the characters in lines that are part of the glitch wave. Colors are applied in order as an animation. |
noise_colors |
tuple[Color, ...]
|
Tuple of colors for the characters during the noise phase. |
glitch_line_chance |
float
|
Chance that a line will glitch on any given frame. |
noise_chance |
float
|
Chance that all characters will experience noise on any given frame. Valid values are 0 <= n <= 1. |
total_glitch_time |
int
|
Total time, in frames, that the glitching phase will last. Valid values are n > 0. |
Source code in terminaltexteffects/effects/effect_vhstape.py
28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 |
|
final_gradient_direction: Gradient.Direction = ArgField(cmd_name='--final-gradient-direction', type_parser=argvalidators.GradientDirection.type_parser, default=Gradient.Direction.VERTICAL, metavar=argvalidators.GradientDirection.METAVAR, help='Direction of the final gradient.')
class-attribute
instance-attribute
Gradient.Direction : Direction of the final gradient.
final_gradient_steps: tuple[int, ...] | int = ArgField(cmd_name='--final-gradient-steps', type_parser=argvalidators.PositiveInt.type_parser, nargs='+', default=12, metavar=argvalidators.PositiveInt.METAVAR, help='Space separated, unquoted, list of the number of gradient steps to use. More steps will create a smoother and longer gradient animation.')
class-attribute
instance-attribute
tuple[int, ...] | int : Int or Tuple of ints for the number of gradient steps to use. More steps will create a smoother and longer gradient animation.
final_gradient_stops: tuple[Color, ...] = ArgField(cmd_name=['--final-gradient-stops'], type_parser=argvalidators.ColorArg.type_parser, nargs='+', default=(Color('ab48ff'), Color('e7b2b2'), Color('fffebd')), metavar=argvalidators.ColorArg.METAVAR, help='Space separated, unquoted, list of colors for the character gradient (applied from bottom to top). If only one color is provided, the characters will be displayed in that color.')
class-attribute
instance-attribute
tuple[Color, ...] : Tuple of colors for the final color gradient. If only one color is provided, the characters will be displayed in that color.
glitch_line_chance: float = ArgField(cmd_name='--glitch-line-chance', type_parser=argvalidators.Ratio.type_parser, default=0.05, metavar=argvalidators.Ratio.METAVAR, help='Chance that a line will glitch on any given frame.')
class-attribute
instance-attribute
float : Chance that a line will glitch on any given frame.
glitch_line_colors: tuple[Color, ...] = ArgField(cmd_name='--glitch-line-colors', type_parser=argvalidators.ColorArg.type_parser, nargs='+', default=(Color('ffffff'), Color('ff0000'), Color('00ff00'), Color('0000ff'), Color('ffffff')), metavar=argvalidators.ColorArg.METAVAR, help='Space separated, unquoted, list of colors for the characters when a single line is glitching. Colors are applied in order as an animation.')
class-attribute
instance-attribute
tuple[Color, ...] : Tuple of colors for the characters when a single line is glitching. Colors are applied in order as an animation.
glitch_wave_colors: tuple[Color, ...] = ArgField(cmd_name='--glitch-wave-colors', type_parser=argvalidators.ColorArg.type_parser, nargs='+', default=(Color('ffffff'), Color('ff0000'), Color('00ff00'), Color('0000ff'), Color('ffffff')), metavar=argvalidators.ColorArg.METAVAR, help='Space separated, unquoted, list of colors for the characters in lines that are part of the glitch wave. Colors are applied in order as an animation.')
class-attribute
instance-attribute
tuple[Color, ...] : Tuple of colors for the characters in lines that are part of the glitch wave. Colors are applied in order as an animation.
noise_chance: float = ArgField(cmd_name='--noise-chance', type_parser=argvalidators.Ratio.type_parser, default=0.004, metavar=argvalidators.Ratio.METAVAR, help='Chance that all characters will experience noise on any given frame.')
class-attribute
instance-attribute
float : Chance that all characters will experience noise on any given frame.
noise_colors: tuple[Color, ...] = ArgField(cmd_name='--noise-colors', type_parser=argvalidators.ColorArg.type_parser, nargs='+', default=(Color('1e1e1f'), Color('3c3b3d'), Color('6d6c70'), Color('a2a1a6'), Color('cbc9cf'), Color('ffffff')), metavar=argvalidators.ColorArg.METAVAR, help='Space separated, unquoted, list of colors for the characters during the noise phase.')
class-attribute
instance-attribute
tuple[Color, ...] : Tuple of colors for the characters during the noise phase.
total_glitch_time: int = ArgField(cmd_name='--total-glitch-time', type_parser=argvalidators.PositiveInt.type_parser, default=1000, metavar=argvalidators.PositiveInt.METAVAR, help='Total time, frames, that the glitching phase will last.')
class-attribute
instance-attribute
int : Total time, frames, that the glitching phase will last.