GamelistEditorPlus(版本: 2025.4.29)
GamelistEditorPlus 功能简介 (版本: 2025.4.29)
GamelistEditorPlus 是一款使用 Python 和 PyQt5 开发的图形化工具,专为管理和编辑模拟器前端(如 EmulationStation、RetroArch 等)常用的 gamelist.xml 文件而设计。它旨在提供一个功能全面、操作便捷的界面,以增强和维护您的游戏收藏信息。
主要功能包括:
强大的 Gamelist 编辑能力:
导入与解析: 支持加载标准的 gamelist.xml 文件,并优先使用高性能的 lxml 库进行解析(若可用)。
游戏列表管理: 以清晰列表展示所有游戏,支持按游戏名称(中文、英文)、拼音首字母(需 pypinyin 库)或文件路径进行快速搜索和过滤。
灵活排序: 可根据游戏名称的拼音或字母顺序进行升序或降序排列。
元数据编辑: 提供直观的表单编辑游戏的核心信息,包括:名称、简介、开发商、发行商、发布日期、玩家人数、类型、评分、游玩次数、最后游玩时间、游戏时长、语言等。
快捷操作: 支持直接在游戏列表中双击修改游戏名称;通过点击标签快速切换“收藏”和“隐藏”状态。
智能保存: 保存更改时,能根据当前列表排序重新组织 XML 文件内 <game> 节点的顺序,并提供格式化输出(美化 XML)。
媒体预览与播放:
集成显示: 自动加载并显示与选中游戏关联的媒体文件,包括游戏截图 (image) 和标题图 (marquee)。
内置视频播放器: 使用 av 库在后台线程流畅播放游戏视频 (video),支持循环、暂停和恢复,不阻塞主界面。
在线信息刮削 (ScreenScraper):
自动刮削: 集成强大的 ScreenScraper.fr API,可根据游戏名称(支持从路径自动提取并允许用户修改)自动搜索游戏信息。
平台检测: 能尝试根据 gamelist.xml 文件所在的文件夹名称自动识别对应的游戏平台 ID。
结果选择: 当搜索到多个匹配项时,会弹出对话框供用户选择最准确的游戏。
信息获取: 自动抓取选定游戏的详细元数据(名称、简介、开发商、评分等)和各种媒体资源的下载链接(封面、视频、标题图、说明书等)。
后台执行: 刮削过程在后台线程进行,避免界面卡顿。
在线翻译功能:
一键翻译: 支持调用兼容 OpenAI 的在线翻译 API(代码中预设为阿里云通义千问),将英文或其他语言的游戏名称和简介快速翻译成中文。
语境优化: 翻译简介时会提示 API 使用游戏相关术语,力求翻译更专业。
后台处理: 翻译任务同样在后台线程执行。
媒体下载与处理:
按需下载: 在保存刮削数据时,用户可以选择需要下载哪些类型的媒体文件(如仅下载图片和视频,不下载说明书)。
后台下载: 使用带进度条的后台线程下载选中的媒体文件。
格式转换 (可选): 如果安装了 Pillow 库,下载的图片(截图、标题图等)会自动转换为 PNG 格式保存,有助于保持兼容性和可能的透明度支持。
实用工具与用户体验:
冗余文件清理: 提供强大的媒体清理工具,可扫描指定的媒体目录,找出并安全删除那些在当前 gamelist.xml 中未被引用的文件,释放磁盘空间(操作前有详细风险提示和确认)。
详细日志: 界面底部提供带时间戳和状态图标的操作日志,方便追踪操作过程和排查问题。
现代化界面: 采用精心设计的深色主题,视觉舒适;界面布局合理,易于上手。
状态反馈: 通过等待光标、进度对话框等方式反馈耗时操作的状态。
安全提示: 对未保存的更改提供醒目的标记,并在关闭或导入新文件前提示用户保存。
依赖处理: 优雅地处理 pypinyin, openai, lxml, Pillow 等可选库的缺失,仅禁用相关功能而不影响核心编辑。
总而言之,GamelistEditorPlus 旨在成为一个功能强大、易于使用的 gamelist.xml 管理和增强工具,特别适合需要批量整理、刮削和翻译游戏信息的模拟器玩家。