From 3d6d0e17a2db6cc27217dc321cfbb58e8a09bbd7 Mon Sep 17 00:00:00 2001 From: EillesWan Date: Thu, 20 Nov 2025 16:05:30 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8E=BB=E4=BA=BA=E5=B7=A5=E6=99=BA=E8=83=BD?= =?UTF-8?q?=E9=82=A3=E8=BE=B9=E7=9C=8B=E7=9C=8B=EF=BC=8C=E6=88=91=E7=9B=B4?= =?UTF-8?q?=E6=8E=A5=E6=8A=84=E5=90=A7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Musicreater/data.py | 34 ++++++++++++++++++++++++++++++++-- 1 file changed, 32 insertions(+), 2 deletions(-) diff --git a/Musicreater/data.py b/Musicreater/data.py index 2c89e65..f124868 100644 --- a/Musicreater/data.py +++ b/Musicreater/data.py @@ -19,13 +19,40 @@ Terms & Conditions: License.md in the root directory # 若需转载或借鉴 许可声明请查看仓库目录下的 License.md -from math import sin, cos, asin, radians, degrees, sqrt, atan +from math import sin, cos, asin, radians, degrees, sqrt, atan, inf from dataclasses import dataclass -from typing import Optional, Any, List, Tuple, Union, Dict, Sequence +from typing import Optional, Any, List, Tuple, Union, Dict, Sequence, Callable +import bisect +from .types import FittingFunctionType from .constants import MC_PITCHED_INSTRUMENT_LIST +class ArgumentCurve: + + base_line: float = 0 + """基线/默认值""" + + default_curve: Callable[[float], float] + """默认曲线""" + + defined_curves: Dict[float, "ArgumentCurve"] = {} + """调整后的曲线集合""" + + left_border: float = 0 + """定义域左边界""" + + right_border: float = inf + """定义域右边界""" + + def __init__(self, baseline: float = 0, default_function: Callable[[float], float] = lambda x: 0, function_set: Dict = {}) -> None: + pass + + def __call__(self, *args: Any, **kwds: Any) -> Any: + pass + + + class SoundAtmos: sound_distance: float @@ -326,6 +353,9 @@ class SingleTrack(list): sound_position: SoundAtmos """声像方位""" + argument_curves: Dict[str, FittingFunctionType] + """参数曲线""" + extra_info: Dict[str, Any] """你觉得放什么好?"""