资讯动态

Mixxx 版本演进全解析:从 Qt6 迁移到 STEM 分轨的技术路线图(2.4.0 → 2.7.0)

发布时间:2026/10/15 15:22:20 来源:尧图企业网站定制
音视频桌面应用【免费下载链接】mixxxMixxx is Free DJ software that gives you everything you need to perform live mixes.项目地址https://gitcode.com/gh_mirrors/mi/mixxx点击查看免费下载本文以 Mixxx 官方 CHANGELOG.md 为主线系统梳理开源 DJ 软件 Mixxx 自 2.4.02024-02-16至 2.7.0Unreleased各版本的核心变更包括 Qt6 现代化迁移、2.6 新增的 STEM 分轨文件支持、QML 皮肤与 WebAssembly 实验、音频引擎与效果器重构、音乐库搜索与数据库演进以及多平台构建支持的调整。读完本文你可以完整掌握 Mixxx 近期版本的演进脉络了解各版本关键特性对应的源码实现位置与构建选项为升级、二次开发或贡献代码提供参考。版本时间线与里程碑概览Mixxx 的 CHANGELOG 按版本倒序组织每个版本对应一个 GitHub milestone。当前分支记录范围如下版本状态时间主题2.7.0Unreleased—下一个里程碑条目尚未填充2.6.0Unreleased—STEM 文件支持、Rendergraph、搜索过滤器扩展2.5.7unreleased—2.5 系列维护分支的未发布补丁2.5.6已发布2026-03-252.5 系列稳定维护版2.5.5已跳过—因发布流程release workflow出现问题而跳过2.5.4已发布2025-12-14控制器映射、播放列表、库扫描修复2.5.3已发布2025-09-02量化默认开启、Vinyl Control 改进2.5.2已发布2025-06-13控制器映射新增、库修复2.5.1已发布2025-04-27MIDI 学习、库搜索完善2.5.0已发布2024-12-24Qt6 现代化平台、Audio Unit 效果器、QML 实验2.4.2已发布2024-11-26控制器映射与杂项修复2.4.1已发布2024-05-08控制器映射、库与皮肤修复2.4.0已发布2024-02-16音乐库大改、同步、波形 GLSL 化、效果器重构更早版本的变更记录已不在当前分支维护原文末尾以 Older Changelog 形式指向 2.5.0 分支的历史文件。2.5.0Qt6 现代化平台迁移2.5.0 是整个 2.5 系列的地基其最重大的决策是从 Qt5 全面迁移到 Qt6。核心迁移决策Mixxx 现在使用 Qt6以获得更好的性能与现代系统兼容性相关 PR 为 #11863、#11892构建系统默认 Qt6且官方明确Qt5 构建支持将在 Mixxx 2.6 中移除平台最低要求同步提升放弃早于 macOS 11 的支持、放弃早于 Windows 10 build 1809 的支持、放弃早于 Ubuntu 22.04 的支持要求 C20 编译器并支持 GCC 14参见 CMakeLists.txt 中option(QT6 Build with Qt6 ON)默认开启项迁移伴随大量皮肤skin与库library适配工作例如禁用 macOS 触摸事件以修复 Qt6 下的触控板问题。命令行参数体系的扩展Qt6 迁移同期Mixxx 扩展了命令行参数。这些参数均在 src/util/cmdlineargs.cpp 中通过QCommandLineOption定义几个与版本变更直接相关的如下--start-autodj启动 Mixxx 后立即开始 Auto DJ无需手动点击源码注释为 Starts Auto DJ when Mixxx is launched.--rescan-library启动时强制重扫音乐库2.6 新增见下文--log-max-file-size bytes设置mixxx.log最大字节数默认 100 MB即 100000000传-1表示不限大小见 src/util/logging.cpp 与 cmdlineargs 中的参数解析与错误提示--qml加载高度不稳定的 3.0 风格 QML 界面实验特性需要配合--allow-dangerous-data-corruption-risk才能在现有用户配置上运行官方强烈建议备份数据--safe-mode禁用 OpenGL 波形与 spinny转盘控件用于启动崩溃时的排障。2.5.0 同期还实现了日志改进日志消息默认包含时间戳mixxx.log大小限制在 100 MB 以内。音频引擎与 DJ 核心功能2.5.0Beats节拍允许撤销最后一次 BPM/beats 修改#12954 等新增beats_translate_moveControlEncoder 用于整体平移节拍网格Looping/Beatjump 在无节拍网格时改用秒为单位#12961Loop 锚点beatloop anchor可从循环起点或终点双向设置与调整循环#12745Rate Tap 按钮手动点按测速#12104rolling loop 与常规循环的保存/恢复联动Tempo 锁定与调色板循环新增 Tempo locking 控件[ChannelN],tempo_lock系列新增track_color_next/track_color_prev控件用于库、Deck、Sampler 间循环切换曲目颜色Beatjump 尺寸上限为beatjump_size增加 512 的范围限制#11248Sync支持为 sync lock 设置显式 leader#2768 等修复动态曲目 sync clone 时的音高问题修复 sync 下半/倍 BPM 计算#3899禁用 sync 时不执行相位 seek#4169scratch 后重新同步到 leader#4005Slip 模式离开 slip 时保留激活的常规循环#11435Rubberband支持版本 3 finer近 Hi-Fi 质量变调设置修复缺失 padding 导致吞掉起始瞬态的问题R3 finer 的单声道兼容性改进。2.6.0STEM 分轨文件支持核心新特性2.6.0 最引人注目的新能力是STEM 文件支持。STEMStems格式将一首歌拆分为鼓、贝斯、人声、旋律等独立音轨流允许 DJ 实时分别控制各分轨的静音与音量。STEM 功能的完整链路对应源码位置从 CHANGELOG 与仓库源码可以还原 STEM 支持的完整调用链文件解析与库表将 STEM 文件加入 taglib 查找表#13612修复含特殊字符路径下 STEM 文件的问题#13784分析Analyser新增 stem 分析支持#13106引擎在 engine 中加入 STEM 流支持#13070、#14244位于 src/engine/channels/enginedeck.cpp 及 enginebuffer 等文件允许 pre-mastered 流不必匹配 stem 流属性#15246控制Control Objects新增高级 STEM 加载控制对象#13268以及stem_group,mute等按键控件#13751修复克隆 Deck 时克隆 stem 状态#15501、重置 stem 颜色#15494、修正副 Deck 上的 stem 数量断言#15655Quick FX支持在 stem 分轨上使用 Quick Effect#13123并修复加载曲目时重置 STEM Quick FX#15743effects.xml中 STEM QuickEffect 链节点命名与 Deck QuickEffect 保持一致#15530波形QML 波形渲染排除 stem 采样#13655stem 波形渲染器采用通用方式获取 group#14291皮肤LateNight、Tango、Deere 三大皮肤均加入 STEM 控件#15492 等QML 波形与 stem 相关的多处修复控制器映射Midi Fighter Spectra/Twister、Numark Mixtrack Platinum、Pioneer DDJ-FLX4 等映射新增 stems 层或支持#14932、#14931、#15768、#15528多线程 Rubberband为 STEM 的实时分轨处理配套Rubberband 变调引擎改为多线程#13143、#13649。STEM 构建选项STEM 支持依赖 FFmpegCMake 中通过default_option(STEM STEM file support FFmpeg_FOUND;FFMPEG)定义见 CMakeLists.txt即在找到 FFmpeg 时默认启用可显式-DSTEMOFF关闭。CHANGELOG 特别记录了关闭 STEM 构建时的修复#13948、#14551说明该功能已被设计为可裁剪模块。波形渲染Rendergraph 与 GLSL Shader 化波形是 Mixxx 技术演进最活跃的领域之一经历了两轮大改造2.4.0基于 QOpenGlWindow 的波形重构2.4.0 将波形、VU 表与 spinny 全面改造为基于 GLSL shader 的渲染修复了主要在 macOS 上的一系列性能问题#10989 等默认 60 Hz 波形刷新率#11918引入由锁相环驱动的 VSync 模式macOS 默认 ST_PLL其他平台默认 ST_TIMER#12469、#12489新增 RGB Stacked 波形类型#3153AllShaderRGBWaveform成为 auto 模式默认类型#11822修复 AMD 显卡下因 set interval 设置导致的性能退化#11681、OpenGL 版本检测、EGL 支持#11982 等、无 GL 上下文时的崩溃#11963。2.6.0Rendergraph 渲染框架2.6.0 引入Rendergraph 渲染库并用于波形渲染#14007 等仓库见 src/rendergraph同时简化波形偏好设置中的组合框#13220 等水平波形 Overview 增加分钟标记#13401Textured/High details 波形新增 slip 波形显示#14039OpenGL ES 下禁用 textured 波形#13381Overview 支持按 ReplayGain 缩放#14309修复高细节波形在视觉索引 65K 后环绕的问题#13491。效果器系统演进2.4.0效果器链重构与四个新效果2.4.0 对效果系统做了大重构#4467 等效果链的保存/加载、参数隐藏/重排、效果偏好设置全面翻新并新增Noise 效果#2921Pitch Shift 效果#4775Distortion 效果#10932效果参数旋钮短暂显示参数值#11032、参数单位显示#11041、ValueScaler::Integral整数吸附#11061。2.5.0Compressor、Glitch 与 Audio Unit新增Compressor 压缩器#12523其 Makeup Time 常量计算在 2.6 中继续修正见 #13261新增Glitch 效果#11329新增macOS Audio Unit (AU) 插件后端#12112 等此后 macOS 上可加载第三方 AU 效果器2.5.7 修复了同时发现 Effect 与 MusicEffect 两种 AU 的问题#16287Effect Meta 旋钮从默认 meta 位置绘制弧线#12638新增效果在偏好设置中可见支持读写 HiddenEffects#13326。2.6.0稳定性与音质修复2.6.0 效果器条目以修复为主QuickEffect 切换时的爆音crackling noise修复#15796WhiteNoise 的 leveling 与 ramp 逻辑增强#15979、#15949效果器音量量化在 engine 采样率 ≠ 曲目采样率时的问题2.5.4见 #15538Echo 失真与 send/feedback 参数 ramp 修复2.5.6见 #15985、#16006。音乐库搜索、数据库与曲目管理2.4.0库大版本2.4.0 的音乐库是重点更新对象曲目表记住库功能切换时的选中状态新增最后播放时间列CtrlEnter打开曲目属性Delete 键隐藏/移除曲目Home/End 跳转首末行BPM/时长/位率右对齐多行注释编辑器删除曲目文件Move to Trash侧边栏与搜索F2/Del 重命名与删除播放列表/箱crate搜索历史跨重启保存支持:与引号做精确匹配#12063History 树改进与清理选项数据库后端库 schema 升级到37同步文件修改时间与曲目来源见 #3978自动分析与优化数据库#4199可选在重导入时重置缺失标签元数据[Library] ResetMissingTagMetadataOnImport 1不存储缺失曲目的元数据以防与文件标签不一致#3811外部库支持将 crates/playlists/库导出到Engine Prime 与 Denon 独立控制器#2753 等Rekordbox 循环保存与 AAC 时间偏移修正#2779iTunes 导入器模块化macOS 上用iTunesLibrary兼容 Music.app#11353同步显式 leader、scratch 后重同步等见前文。2.5.0批量编辑与播放列表管理新增多曲目属性编辑器批量标签编辑器#12548 等属性编辑器聚焦到当前列的对应字段#13841曲目菜单支持按不同比率缩放 BPM#12934、星级评分#12700外部播放列表可作为 crates 导入#11852侧边栏 Shuffle playlist 动作#12498曲目菜单 Remove from disk 停止并弹出所有相关 Deck#13214播放列表移动曲目Alt Up/Down/PageUp/PageDown/Home/End#13092搜索新增特殊 BPM 过滤器、OR运算符、type过滤器、id过滤器#12072、#12061、#13338、#13694。2.6.0搜索过滤器与扫描增强--rescan-library命令行选项启动时重扫库#13661实现见 src/util/cmdlineargs.cpp搜索新增directory过滤器#15701、bpm:locked#14590、bpm:const#14642、过滤器快捷键t|title、a|artist、cm|comment、y|year见 #15115、not运算符修复#15923Key 列颜色编码与Key Color Palettes#13390、#13497Overview 小波形列#14140iTunes iOS 导入器#12690库扫描记录摘要并显示可退出的弹窗#13427扫描对话框进度条#15517拖拽目录导入#15688播放列表Unlock all 与 Delete all unlocked 菜单动作#14091更新到 libdjinterop 0.27.0#15958。控制器生态后端与映射Mixxx 的控制器支持同时覆盖 MIDI、HID、BULK 三类协议与大量硬件映射近几个版本的动作包括脚本 API 现代化为 engine 与 controller 脚本 API 增加TypeScript 声明文件#4759仓库见 res/controllers 下的engine-api.d.ts、midi-controller-api.d.ts、script-api.d.ts等提升映射开发的 IDE 补全体验弃用lodash.mixxx.js与script.deepMerge#13460引擎脚本新增isBrakeActive()、isSpinbackActive()、isSoftStartActive()便捷函数#14925HID 能力扩展支持访问 HID FeatureReports#11326新增请求 HID InputReports 以在启动时确定控制器状态#3317Linux 上使用 hidapi 的 hidraw 后端替代 libusb#4054HID 打开失败时给出明确错误信息#14184控制对象CO新增beats_translate_half移动半个拍子#14279、[Library],show_track_menu、[Library],sort_focused_column、[Library],clear_search、[Library],focused_widget、LoadTrackFromDeck/LoadTrackFromSampler、[Master],indicator_250millis/indicator_500millis#4157等MIDI 学习Learning多处修复与增强如控制框搜索、学习后不重载映射、最大学习时间后可继续#14429控制器屏幕渲染ControllerRenderingEngine支持带屏幕的控制器如 Traktor S4 MK3 屏幕资源见 res/controllers/TraktorKontrolS4MK3Screens并新增 OpenGL ES 渲染路径#15566修复与显示控制器映射的死锁#15524新增/更新映射Hercules DJControl Inpulse 500、Numark NS4FX、M-Vave SMC-Mixer/SMK-25 II、Arturia KeyLab Mk1、Icon iControls、Reloop Digital Jockey 2 IE、Numark NS6II、Numark Mixstream Pro 等Traktor S4 Mk3、DDJ-FLX4 的持续完善Key Shift、stems 支持、tempo offset 等。皮肤与界面Hotcue 交互革命2.6支持拖拽热cue按钮交换位置#13394、按曲目位置排序热cue#13808、把热cue或主cue按钮拖到 Play 按钮上实现play闩锁#14179按住 Ctrl 始终显示 tooltip#14078菜单栏2.5.0 起单按 Alt 键切换菜单栏显示/隐藏#115262.5.4 修复 Alt 显隐问题#15352 等Key Wheel调性和弦轮移至 View 菜单并成为浮动工具窗口#142562.4.0 引入 harmonic keywheel 窗口#1695皮肤缩放允许从偏好设置缩放皮肤#3960HiDPI/Retina 图标渲染与 pixmapCache 上限随 devicePixelRatio 调整#12407、#1241664 Samplers 版本LateNight 与 Deere 推出 64 采样器版本并修复其默认视图缺库的问题#11715、#14101QML 皮肤实验可通过--qml选项测试 3.0 风格的 QML 皮肤#13152仓库见 res/qml 与 res/skins/LateNightQML相关构建开关与 QML 波形渲染框架持续迭代。实验性平台iOS 与 WebAssembly2.4/2.5 时期 Mixxx 开始探索两个全新目标平台CHANGELOG 明确标注为实验性iOS可构建运行于 iOS 的 Mixxx#12672配套引入 SoundManagerIOS、QQuickStyle basic、默认音乐目录为~/Music#13498等大量适配Emscripten/WebAssembly在浏览器中硬件无关地运行 Mixxx#12918包括禁用 BGRA 渲染、控制器渲染引擎针对 Wasm 的处理#13502等。这两条实验线仍在持续打磨属于预览性质不建议用于真实演出场景。构建系统与目标平台支持CMake 选项从源码确认QT6默认ON见 CMakeLists.txtQt5 构建支持将在 2.6 移除STEM依赖 FFmpeg找到 FFmpeg 时默认开启见 CMakeLists.txtVINYLCONTROLVinyl Control 支持非 Mac App Store 构建默认开启见 CMakeLists.txtBUILD_TESTING/BUILD_BENCH允许在无 tests-tools 环境下构建#14268、#14269QGLES2为 UNIX 增加 OpenGL ES 2 选项#14489。各版本构建支持节奏2.4.0支持 macOS M1/M2Apple siliconARM 构建#11398要求 C20 但保留 Ubuntu Focal 支持新增 NixOS 支持#2820 等Windows 打包改用 Azure 签名#12465macOS 签名迁移到notarytool并启用 App Sandbox#12123、#121382.5.0Qt6 默认、GCC 14、macOS ≥ 11、Windows ≥ 10 build 1809、Ubuntu ≥ 22.04构建环境脚本新增rpm_buildenv.shFedora见 tools/rpm_buildenv.sh2.5.x 维护期Windows 构建环境更新至 Visual Studio 2022#15006支持 Ubuntu Plucky 等新版本、退役旧版本支持 Qt 6.8/6.9/6.10#14080、#15502、#14678GCC 15 LTO#152382.6.0Windows 与 macOS 更新到Qt 6.8.3要求 MSVC 2022#14655退役 Ubuntu Jammy 22.04#14784新增 Flatpak 打包文件#15695仓库见 packaging/flatpak允许任意 taglib 版本#14694VCPKG 更新#14815、#157832.5.7 维护期支持 Ubuntu Stonking 26.10 / Windows 11 25H2退役 Ubuntu Questing 25.10新增 Arch Linux 构建环境脚本#16594。已知问题2.4.0 记录2.4.0 的 CHANGELOG 专门列出了发布时的已知问题理解这些限制对升级决策很重要Windows 上 M4A/AAC 文件的音量/响度尖峰最后已知正常版本为 Windows 10 build 17763受影响版本为 Windows 10 build 19041 与 Windows 11 build 22000#12289、#11094macOS库条目改用语言相关的 Unicode Collation Algorithm (UCA) 排序主 EQ 推子存在视觉瑕疵#12517、#12630Linux启用 MIDI 控制器时可能崩溃由 Qt 5.15.5 引入已在 Qt 5.15.17 与 Qt 6.6.3 修复#12001额外采样器启动时若发现已保存的 Sampler Bank会创建多余的采样器#12657。杂项重构与工程质量近三个版本持续进行内部工程改进值得开发者关注的包括内存与并发安全引入borrowable_ptr线程安全回调方案#1713parented_ptr大量使用ControlValueAtomic现代化与ControlDoublePrivate优化#13574、#13581多线程数据竞争修复TSan 驱动的VSyncThread与 Control Indicator 修复#13873、#13875代码现代化以std::span重构缓冲逻辑#13654移除util/中一批旧类#13687 等Paintable::DrawMode改为 enum class#13424CI 与工具链GitHub Actions 工作流拆分为模块化 actions#14964引入 cmake-lint、qsscheck 等 pre-commit 钩子#13932、#14320为 release 分支同步加入自动化#15111 等日志移除冗余类名#15496支持QT_MESSAGE_PATTERN环境变量#3204mixxx.log上限 100 MB。总结如何利用这份演进路线图Mixxx 的版本演进呈现清晰的战略主线2.4.0 打牢库与波形地基 → 2.5.0 完成 Qt6 平台迁移 → 2.6.0 引入 STEM 分轨并推进 QML/Rendergraph 技术储备同时通过持续的小版本2.5.x稳定硬件映射生态。对于开发者建议按以下路径深入研究体验 STEM 分轨确认构建时-DSTEMON依赖 FFmpeg参考 src/engine/channels/enginedeck.cpp 中的 stem 流实现与 res/skins 中 Deere/LateNight 的 STEM 控件研究搜索语法从 src/library 的搜索解析代码出发配合 2.6 新增的bpm:locked、directory等过滤器跟踪渲染技术重点关注 src/rendergraph 的演进与 res/qml 皮肤它们代表了 Mixxx 3.0 的方向。更多细节可随时回到仓库根目录的 CHANGELOG.md 查看各条目的完整 PR/issue 列表构建相关配置与脚本则分别位于 CMakeLists.txt 与 tools 目录。赞分享音视频桌面应用【免费下载链接】mixxxMixxx is Free DJ software that gives you everything you need to perform live mixes.项目地址https://gitcode.com/gh_mirrors/mi/mixxx点击查看免费下载相关推荐Tweepy 版本演进全解析从 v1.0 到 v4.x 的 API 变迁与技术路线图Tweepy 版本演进全解析从 v1.0 到 v4.x 的 API 变迁与技术路线图 本文以 tweepy 官方 变更日志 https://link.gitc后端Dragonfly版本演进从v0.4.x到v1.0.x的技术路线图分析Dragonfly版本演进从v0.4.x到v1.0.x的技术路线图分析 Dragonfly作为一款高性能的P2P内容分发系统在版本演进过程中实现了从基础架构云原生css.gg 版本演进全解析从 1.0.0 到 2.1.1 的图标库技术迭代路线图css.gg 版本演进全解析从 1.0.0 到 2.1.1 的图标库技术迭代路线图 css.gg 是一个开源 CSS 图标库仓库当前以 700 纯 CSS创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价 →
↑