Skip to content

Releases: ariinyume/DLsiteFloat

DLsiteFloat v2.3.3

Choose a tag to compare

@ariinyume ariinyume released this 16 Oct 01:49

🔧 修复

1. 关掉代理后切换音轨,本地字幕拉不起来

  • 查缓存只认「身份键」(作品 + 音轨身份);身份未知时按「找不到就放弃」处理(宁可空白,不冒险命中)。
  • 「作品键」降级为只作取证,写进日志但不再参与判定。
  • 同轨重写找「前身」改为按文件名识别,不再误摘其它音轨的条目。

2. 没有缓存的音轨显示了别的音轨的字幕

  • 去掉弱键兜底,不再有「selection-only 命中」这条路径。
  • 时间轴匹配补上反向校验:缓存条目自记的时长必须与本次请求的时长一致(此前只单向校验)。

3. 缓存格式升级

  • 索引结构由 INDEX_SCHEMA 3 升到 4;升级后本机字幕缓存会整批作废重建一次(见下方升级须知)。

⚡ 调整

「等官方字幕」的窗口由 3 秒收到 1 秒

  • 换轨后数据层先挂起、等宿主自己取回的云端字幕 JSON;窗口到点仍没等到,才回退本地磁盘缓存。
  • 不受影响的两条路径:① 盘上没有本轨缓存时走的 15 秒长窗(那条路没有本地可退,多等是对的);
    ② 完全离线(飞行模式)时直读本地。
  • 不是「本地优先」:1 秒后取本地只是「等不到就早取」,云端 JSON 到了照旧整份替换。

⚠️ 升级须知

  1. versionCode 由 1019 升到 1021:要求已装版本的 code 严格小于 1021。
    若之前装过更高 code 的包,请先卸载再装(卸载后 LSPosed 作用域需要重新勾选)。
  2. 装完请重启 SystemUI(或重启手机)。
  3. 字幕缓存会「清零」一次:本版 INDEX_SCHEMA 升到 4,旧缓存整批作废重建 ——
    设置页的占用读数会归零,把作品重新播一遍就会回来。
  4. 本地缓存字幕功能未经过长时间测试验证,不建议过于依赖该功能。

📦 产物

DLsiteFloat-2.3.3-code1021-debug.apk — 5,618,864 B
sha256 ca94d9ea6151f1bc10ca1eaed4f9a19a8b7c715b320fdafeb5e846628ea769e2
包名 io.github.ariinyume.dlsitesoundfloat;versionName 2.3.3;versionCode 1021

DLsiteFloat v2.3.2

Choose a tag to compare

@ariinyume ariinyume released this 14 Oct 09:18

✨ 新功能

实验性功能卡

设置页新增一张默认隐藏的卡片,用于收纳还在验证中的能力。

  • 解锁方式:在设置页连续点击「状态卡」五次(相邻两次间隔不超过 3 秒)。
  • 卡内总开关:关闭时其下子功能全部关闭、开关置灰,并清除相关缓存。
  • 卡内字幕缓存:查看占用读数、一键清除。

⚠️ 因为是默认关闭,升级到本版后字幕缓存会被自动关掉。要用的话请先按上面的方式解锁卡片、再把总闸打开。

字幕离线缓存

在线播放过的音轨,其字幕会自动缓存到本机 —— 之后断网 / 飞行模式 / 不挂代理时照常显示。

  • 只对「已经播过」的音轨生效;从没在线抓到过字幕的音轨,离线时仍然没有字幕。
  • 缓存只保存官方下发的那份字幕文本(按音轨存),不涉及任何音频内容。
  • 按「作品 + 音轨身份」存,换章节 / 换音轨 / 播放列表重建都不会串轨。
  • 超出储存上限后,按最早缓存顺序自动清除。
  • 云端优先、本地兜底:换轨后先等云端那份最新字幕,窗口内等不到(无网络 / 云端慢)才回退到本地已缓存的那份。

🔧 修复

  • 换作品 / 换章节时的短暂「无字幕」。
  • 快速换轨时字幕被标到别的音轨:落盘轨标签改用「字幕 JSON 到达那一刻的印章」,兜底读盘改用「本次换轨的目标键」。

♻️ 架构与内部整理

  • 播放页检测的两道前置闸抽成零状态纯判定层(DetectGatePolicy)。
  • 切断 util 包对数据层的反向依赖(新增 LineSource 接口 + AppEnv,5 处调用点零改动)。
  • 三处自绘视图的 dp 换算合并归口到 Utils.dip2pxF。

❌ 已知问题

  • 磁盘缓存的索引依旧有问题,每个作品第一轨 / 未缓存字幕的音轨会有串轨的情况,下版本修复。

📦 产物

DLsiteFloat-2.3.2-code1019-debug.apk — 5,616,276 B
sha256 c834bb9ba0c3d00e8c91a70f2d4af64af1f367956bfa2d667b5247ee6429e85c
包名 io.github.ariinyume.dlsitesoundfloat;versionName 2.3.2;versionCode 1019

DLsiteFloat v2.3.1

Choose a tag to compare

@ariinyume ariinyume released this 10 Oct 17:09

🐞 本版修了什么

1. 修复 打开(未缓存)音轨时插件无法读取到字幕

  • 新增早就能读到的「选择键」(曲目数 + 序号),不依赖时长;新轨字幕落下时同步盖章,换轨通知到达即可直接认领,不等 App 重发。
  • 新增「列表重建窗口」:旧列表消失到新列表可读之间返回的字幕 JSON,只可能属于重建后的新列表;窗口内到达即认领(两道保险:目标列表必须换了、且未超 15 秒)。
  • 更换能正面指认归属的证据 :字幕请求地址里的作品路径。同时把窗口起点改为按播放实例记账的真边沿、终点改由带时长的完整读数负责。

📖 版本信息

安装包:DLsiteFloat-2.3.1-code1006-debug.apk
版本:versionName 2.3.1 / versionCode 1006(label 1008.25)
sha256:a3e5c48c87a71f8c7ed2ec5ea7053c2e4681722ead1f363674814a37e59f0136

DLsiteFloat v2.3.0

Choose a tag to compare

@ariinyume ariinyume released this 10 Oct 03:59

本版把「液态玻璃」从实验档推成完整可调项。


🐞 本版修了什么

1. 增加 悬浮窗液体玻璃模式

  • 新增独立调节卡片 「液态玻璃效果调整」,摆在「其他」卡之前,顺序如下:液态玻璃(总开关)、环境背景亮度(霜面亮度来源)、通透度、明暗度、模糊强度、恢复液态玻璃默认设置;
  • 重写docs/液态玻璃实现与可调参数.md :新增「四个滑条的数值范围」与「参数之间的计算关系」(合成公式两步推导、默认档逐步实算、可压上限速查表、四个旋钮不正交的物理原因)。

2. 修复 偶发保存设置重启后新配置不生效


📖 版本信息

安装包:DLsiteFloat-2.3.0-code1003-debug.apk
版本:versionName 2.3.0 / versionCode 1003(label 1008.24)
sha256:a2013a6a6ee4783f3de1c9ba838447853e49e9ef184d5c0cc556c1fdb1e2abf8

DLsiteFloat v2.2.8

Choose a tag to compare

@ariinyume ariinyume released this 07 Oct 15:24

主要进行了换轨残留的根治,外加设置页观感打磨、模块激活探测修正和新的「调试日志」开关。


🐞 本版修了什么

1. 修复 换轨字幕残留

成功加载的 cues 盖一个归属印章(按播放列表身份),切回来时身份对得上就直接按当前进度恢复渲染。同时放行被 20s 静默窗挡掉的「用户切回去」这一次换轨,并让静默窗失效,避免紧接着的反向再被静默。

2. 优化 设置页UI

  • 新增「调试日志」开关(默认关):频率较高,长时间开着会淹没有用日志。现在默认只留里程碑日志(钩子挂载、种基线、真正的换轨上报 >>> track changed)与全部 WARN;排查时在设置页「其他」里打开即可。
  • 模块「未激活」误判修复:跨进程探测改为显式广播(setPackage)并重发,不再把「DLsiteSound 当前没在跑」误判成未授权。
  • 设置页观感优化:依据 MD3 设计语言完善控件呈现。

📖 版本信息

安装包:DLsiteFloat-2.2.8-code980-debug.apk
版本:versionName 2.2.8 / versionCode 980(label 1007.8)

DLsiteFloat v2.2.0

Choose a tag to compare

@ariinyume ariinyume released this 06 Oct 06:59

请务必升级!宿主 DLsiteSound 2.20.2 上,2.1.3 及更早版本会显示「无字幕」(R8 混淆导致采集点失效)


🐞 本版修了什么(v2.1.3 → v2.2.0)

1. 兼容 DLsitesound 2.20.2

三个采集点改为按签名形状定位,不硬编码混淆名 —— 每次发版重新生成 R8 映射表也不会失效(后续有问题再修)。

2. 修复 状态栏字幕行最后一个字为汉字时只出现一半

发现吸附只往右取「不小于终点的那个字起点」,修改方式为允许的裁切上限收紧到 4px。

3. 上线可视化设置页

基础字幕设置功能实测已跑通,UI还没修完。(因DLsitesound 2.20.2 版本更新而紧急发版,可恶捏)。


📖 版本信息

安装包:DLsiteFloat-2.2.0-code972-debug.apk
版本:versionName 2.2.0 / versionCode 972(label 1006.10)

DLsiteFloat v2.1.3

Choose a tag to compare

@ariinyume ariinyume released this 30 Sep 11:49

🐞 本版修了什么(v2.1.2 → v2.1.3)

1. 修复「换轨瞬间字幕突然跳成『无字幕』、悬浮窗跟着被关掉」

  • 等待判定窗 10s → 15s(冷请求实测尾部会拖到 15.6s)
  • 手上一片空白时(确实没字幕的作品)行为与旧版完全一致:照旧清空 + 关窗

2. 修复「进播放页时按钮上下小抖一下」

把快照门改成 12px 迟滞,并把两个写同一份布局参数的入口统一到同一口径(原先一个是 6px、一个是严格相等,两头都拦不住)。12px 大于 settle 抖动实测幅度,又远小于滚动跟手的真实位移(Δ444px),跟手不受影响。

3. 修复「拖动右下角手柄缩放悬浮窗时,字幕上下抖动」

把重新居中搬进「同一趟布局之后、绘制之前」的 preDraw 回调里,让「重排 → 算落点 → 绘制」落在同一帧;原来那个下一帧的任务只留作兜底(已被本帧消费时自动空转)。

4. 其它

  • 悬浮窗手势被系统打断时(ACTION_CANCEL)补一行诊断日志,方便下次取证。
  • 已实测 ColorOS 17 本插件可正常使用。

📖 版本信息

安装包:DLsiteFloat-2.1.3-code958-debug.apk
版本:versionName 2.1.3 / versionCode 958(label 0930.4)

DLsiteFloat v2.1.2

Choose a tag to compare

@ariinyume ariinyume released this 26 Sep 08:12

🐞 本版修了什么(v2.1.0 → v2.1.2)

1. 修复「按钮偶尔会出现在非播放页」

新建按钮不再用「上次结论」预判可见性 —— 一律先 GONE,把「该不该显示」完全交给紧随其后的检测;配套让 addView 触发的首帧扫描不被 150ms 节流吃掉。

2. 修复「播放页上按钮每 ~700ms 闪一次」

「整棵树扫成空」的那一趟扫描不再当作「已离开播放页」的证据。改为 60ms 后强制补一趟快检再判:真离场只晚 60ms,退化测量则被发现、不再误收。

3. 修复「偶发按键出现的位置高度变化」

新增三道闸(「页面最近没动过」接到位移时间轴 / 候选位置连续稳住 400ms / 偏置量级闸 64dp)+ stale bias healed 自愈。

4. 🆕 多语言支持

系统语言 按钮(左 / 右) 按钮「无字幕」 悬浮窗占位
简体中文 状态栏 开/关、悬浮窗 开/关 无字幕 无字幕
繁體中文 狀態欄 開/關、懸浮窗 開/關 無字幕 無字幕
其它语言 Status ON/OFF、Popup ON/OFF No Sub No Subtitles

语言判定走系统配置,进程内只判一次。

5. 锁死按钮大小与文字大小

现在胶囊的宽高、圆角、文字、各段偏移都只按「首次锁定的密度」计算,此后无论后端怎么重锁、或用户改系统「显示大小」,都不再变;文字改为固定 px 并按胶囊可用宽度自动适配。

6. 其它调整

  • 单个胶囊宽 75dp → 85dp(给英文版本留宽)
  • 切到无字幕音轨后,悬浮窗挂着「无字幕」占位的时长 4s → 5s

✅ 升级步骤

  1. 直接覆盖安装 DLsiteFloat-2.1.2-debug.apk(versionCode 954 > 951 > 950,不用卸载;只有 v1.21.0 及更早的老版本升上来才需要先卸载)
  2. 在 LSPosed 里确认作用域勾了 jp.co.eisys.dlsitesound 与 com.android.systemui 两个
  3. 🔴 重启 SystemUI 或重启手机
  4. 进 DLsiteSound 播放页验证

📖 版本信息

安装包:DLsiteFloat-2.1.2-debug.apk
版本:versionName 2.1.2 / versionCode 954(label 0926.3)

DLsiteFloat v2.1.0

Choose a tag to compare

@ariinyume ariinyume released this 24 Sep 08:50

发现自己中奖了夏洛特的签名黑胶,于是脑子一热把插件改了上了LSP仓库,这样就方便我多设备使用更新插件了,嘿嘿。
(纯分享,纯炫耀)


⚠️ 本次为包名变更版本,属于全新 App。
applicationId 由 com.sena.dlsitesoundfloat 改为 io.github.ariinyume.dlsitesoundfloat。
升级前请先卸载旧版,安装后需在 LSPosed 中重新勾选作用域,并重启 SystemUI 或手机。


变更内容(v2.0.3 → v2.1.0)

  • 包名变更:com.sena.dlsitesoundfloat → io.github.ariinyume.dlsitesoundfloat
    • 为满足 LSPosed 官方模块仓库上架要求
    • namespace、applicationId、入口类全名、跨进程广播 action 前缀同步更新
  • versionCode 949 → 950,versionName 2.0.3 → 2.1.0

延续自 v2.0.3 的能力

  • 修复「点作品大标题回作品主页时,悬浮窗/状态栏按钮比播放页晚消失」的延迟问题。
    • 为「锚点面积归零」单开最短确认档(120ms),与拖动场景的 600ms 默认档分离
    • 归零档取消采样门槛(need=0 + needSamples=1),首次检测即收起
    • 补前置门 ANCHOR_DEAD_GONE_STILL_MS=80ms:页面须已静止才收起,避免误收

安装

  1. 卸载旧版(包名已变,两者会被系统视为不同 App)
  2. 安装 DLsiteFloat-2.1.0-debug.apk
  3. 在 LSPosed 中重新勾选作用域:jp.co.eisys.dlsitesound + com.android.systemui
  4. 重启 SystemUI 或手机

环境要求

  • Android 7.0+(minSdk 24)
  • LSPosed 2.2.0+ / libxposed API 102

DLsiteFloat v2.0.3

Choose a tag to compare

@ariinyume ariinyume released this 24 Sep 07:42

🐞 修复了什么

  1. 修复「点作品大标题回作品主页时,悬浮窗/状态栏按钮比播放页晚消失」的延迟问题。
  2. 准备上LSP仓库:同步小bug修改进度,这版本可先不更新,等待后续发版。

✅ 升级步骤

  1. 先卸载旧版吗?—— 不用。但从很老的版本(v1.21.0 及更早,versionCode 12100)升上来必须先卸载。
  2. 安装 DLsiteFloat-2.0.3-debug.apk。
  3. 在 LSPosed 里确认作用域勾了 jp.co.eisys.dlsitesound 与 com.android.systemui 两个。
  4. 🔴 重启 SystemUI 或重启手机。
  5. 进 DLsiteSound 播放页验证。

📖 版本信息

安装包:DLsiteFloat-2.0.3-debug.apk
版本:versionName 2.0.3 / versionCode 949(label 0924.2)
作用域:jp.co.eisys.dlsitesound + com.android.systemui(两个都要勾)