================================================
        显示器亮度控制 SAORI (Brightness Control)
================================================

【简介】
这是一个用于伪春菜(SSP)的SAORI模块，可以控制电脑显示器的亮度。
支持多显示器、平滑过渡、亮度查询等功能。

【文件说明】
brightness_saori.dll  - 主程序文件（SAORI模块）

【系统要求】
- Windows Vista/7/8/10/11
- SSP (伺か) 2.0以上
- 显示器必须支持DDC/CI协议
- 需要管理员权限运行SSP

【安装方法】
1. 将 brightness_saori.dll 复制到以下目录：
   SSP/ghost/你的ゴースト名/saori/

2. 在字典中调用前需要先加载：
   _load = LOADLIB("brightness_saori.dll")

【命令列表】
================================================

1. GETINFO - 获取所有显示器信息
   -------------------------------------------------
   格式: REQUESTLIB("brightness_saori.dll", "GETINFO")
   返回: 显示器数量、每个显示器的描述和当前亮度
   示例: _info = REQUESTLIB("brightness_saori.dll", "GETINFO")
   结果: "检测到 1 个显示器\n\n显示器 1:\n  描述: Generic PnP Monitor\n  当前亮度: 50%"

2. GET - 获取指定显示器的当前亮度
   -------------------------------------------------
   格式: REQUESTLIB("brightness_saori.dll", "GET", "显示器编号")
   参数: 显示器编号 - 从1开始
   返回: 亮度百分比数值
   示例: _bright = REQUESTLIB("brightness_saori.dll", "GET", "1")
   结果: "50"

3. SET - 直接设置显示器亮度
   -------------------------------------------------
   格式: REQUESTLIB("brightness_saori.dll", "SET", "显示器编号", "亮度值")
   参数: 显示器编号 - 从1开始
         亮度值 - 0-100之间的整数
   返回: 1=成功, 0/空值=失败
   示例: _result = REQUESTLIB("brightness_saori.dll", "SET", "1", "50")
   结果: "1"

4. SET smooth - 平滑过渡设置亮度
   -------------------------------------------------
   格式: REQUESTLIB("brightness_saori.dll", "SET", "显示器编号", "亮度值", "smooth", "步数", "延迟")
   参数: 显示器编号 - 从1开始
         亮度值 - 0-100之间的整数
         步数 - 过渡分多少步完成（默认10，范围1-100）
         延迟 - 每步间隔毫秒数（默认50，范围1-1000）
   返回: 1=成功, 0/空值=失败
   示例: _result = REQUESTLIB("brightness_saori.dll", "SET", "1", "75", "smooth", "20", "50")
   结果: "1"

5. ALL - 设置所有显示器亮度
   -------------------------------------------------
   格式: REQUESTLIB("brightness_saori.dll", "ALL", "亮度值")
   参数: 亮度值 - 0-100之间的整数
   返回: 1=全部成功, 0/空值=部分失败
   示例: _result = REQUESTLIB("brightness_saori.dll", "ALL", "60")
   结果: "1"

6. ALL smooth - 平滑设置所有显示器
   -------------------------------------------------
   格式: REQUESTLIB("brightness_saori.dll", "ALL", "亮度值", "smooth", "步数", "延迟")
   参数: 亮度值 - 0-100之间的整数
         步数 - 过渡分多少步完成（默认10）
         延迟 - 每步间隔毫秒数（默认50）
   返回: 1=全部成功, 0/空值=部分失败
   示例: _result = REQUESTLIB("brightness_saori.dll", "ALL", "60", "smooth", "20", "50")
   结果: "1"

7. HELP - 显示帮助信息
   -------------------------------------------------
   格式: REQUESTLIB("brightness_saori.dll", "HELP")
   返回: 所有命令的简单说明
   示例: _help = REQUESTLIB("brightness_saori.dll", "HELP")

【平滑过渡参数详解】
================================================

步数 (steps) 的作用：
  将亮度变化分成多个小步骤完成。
  步数越多，过渡越平滑，但耗时越长。

  推荐值：
  - 5-10步：快速变化，适合日常快速调节
  - 10-20步：平滑自然，最推荐
  - 20-30步：非常平滑，适合演示效果
  - 30-50步：缓慢渐变，适合氛围变化

延迟 (delay) 的作用：
  每一步之间的等待时间（毫秒）。
  延迟越长，过渡速度越慢。

  推荐值：
  - 20-30ms：快速过渡
  - 30-50ms：速度适中，最推荐
  - 50-80ms：缓慢过渡
  - 80-100ms：非常缓慢

总耗时计算：
  总时间 = 步数 × 延迟（毫秒）
  例如：20步 × 50ms = 1000ms = 1秒

【使用示例】
================================================

; 加载DLL
OnDllBoot:
    _load = LOADLIB("brightness_saori.dll")
    if !_load {
        表示,SAORI加载失败！
        return
    }
    表示,SAORI加载成功！

; 获取显示器信息
OnDllInfo:
    _dll = "brightness_saori.dll"
    _info = REQUESTLIB(_dll, "GETINFO")
    表示,显示器信息:\n%(_info)

; 获取当前亮度
OnGetBright:
    _dll = "brightness_saori.dll"
    _bright = REQUESTLIB(_dll, "GET", "1")
    表示,当前亮度: %(_bright)

; 设置亮度50%
OnSet50:
    _dll = "brightness_saori.dll"
    _result = REQUESTLIB(_dll, "SET", "1", "50")
    if _result == "1" {
        表示,亮度设置成功！
    } else {
        表示,亮度设置失败！
    }

; 平滑设置亮度75%
OnSet75Smooth:
    _dll = "brightness_saori.dll"
    _result = REQUESTLIB(_dll, "SET", "1", "75", "smooth", "20", "50")
    表示,平滑设置结果: %(_result)

; 设置所有显示器60%
OnAll60:
    _dll = "brightness_saori.dll"
    _result = REQUESTLIB(_dll, "ALL", "60")
    表示,全部设置结果: %(_result)

; 卸载DLL
OnClose:
    UNLOADLIB("brightness_saori.dll")

【注意事项】
================================================

1. 管理员权限
   - 亮度控制需要系统权限
   - 请以管理员身份运行SSP

2. 显示器支持
   - 显示器必须支持DDC/CI协议
   - 可以在显示器菜单中开启DDC/CI选项
   - 部分笔记本内置屏幕可能不支持

3. 返回值说明
   - GETINFO：返回详细信息（含\\n转义符）
   - GET：返回亮度数值（如"50"）
   - SET/ALL：返回1=成功，0/空值=失败

4. 参数范围
   - 显示器编号：从1开始
   - 亮度值：0-100
   - 步数：1-100
   - 延迟：1-1000毫秒

5. 编码
   - 请求使用UTF-8
   - 响应使用UTF-8
   - 返回文本中的换行用\\n表示

【版本信息】
================================================
版本: 1.0
最后更新: 2024-01
支持平台: Windows + SSP

【联系方式】
================================================
如有问题，请参考伪春菜社区文档。

================================================
           感谢使用亮度控制SAORI
================================================