Files
CavinHuang-comfyui-nodes-docs/nodes-docs/en-US/SaltAI_AudioViz/docs/SaltScheduleRandomValues.md
2024-06-29 18:50:22 +08:00

77 lines
2.5 KiB
Markdown

---
tags:
- Scheduling
---
# Schedule Random Values
## Documentation
- Class name: `SaltScheduleRandomValues`
- Category: `SALT/Scheduling`
- Output node: `False`
This node is designed to generate a list of random values within a specified range, optionally forcing the values to be integers. It's useful for creating randomized schedules or sequences where variability is desired.
## Input types
### Required
- **`count`**
- Specifies the number of random values to generate, dictating the length of the output list.
- Comfy dtype: `INT`
- Python dtype: `int`
- **`min_value`**
- Defines the minimum value that can be generated, setting the lower bound of the random range.
- Comfy dtype: `FLOAT`
- Python dtype: `float`
- **`max_value`**
- Sets the upper limit for the random values, establishing the maximum possible value in the range.
- Comfy dtype: `FLOAT`
- Python dtype: `float`
### Optional
- **`force_integer`**
- Determines whether the generated random values should be integers, adding a layer of control over the output data type.
- Comfy dtype: `BOOLEAN`
- Python dtype: `bool`
## Output types
- **`schedule_list`**
- Comfy dtype: `LIST`
- The list of generated random values, adhering to the specified constraints and data type.
- Python dtype: `List[float] or List[int]`
## Usage tips
- Infra type: `CPU`
- Common nodes: unknown
## Source code
```python
class SaltScheduleRandomValues:
@classmethod
def INPUT_TYPES(cls):
return {
"required": {
"count": ("INT", {"min": 1}),
"min_value": ("FLOAT", {}),
"max_value": ("FLOAT", {}),
},
"optional": {
"force_integer": ("BOOLEAN", {"default": False}),
},
}
RETURN_TYPES = ("LIST",)
RETURN_NAMES = ("schedule_list", )
FUNCTION = "generate_random"
CATEGORY = "SALT/Scheduling"
def generate_random(self, count, min_value, max_value, force_integer=False):
if min_value >= max_value:
raise ValueError("Schedule min_value must be less than max_value.")
output_type = int if force_integer or (isinstance(min_value, int) and isinstance(max_value, int)) else float
if output_type == int:
random_schedule = [random.randint(int(min_value), int(max_value)) for _ in range(count)]
else:
random_schedule = [random.uniform(min_value, max_value) for _ in range(count)]
return (random_schedule, )
```