Skip to content

.AUP importer - #11205

Merged
luapmartin merged 3 commits into
audacity:masterfrom
LeoWattenberg:aup-import
Jul 13, 2026
Merged

luapmartin merged 3 commits into
audacity:masterfrom
LeoWattenberg:aup-import

Conversation

@LeoWattenberg

Copy link
Copy Markdown
Contributor

A basic importer for .AUP which bypasses legacy architecture by letting libsndfile do stuff instead. It only gets you the wavedata and labels right now, not envelopes or any of the other stuff (though it appears that was brittle previously, too, #1643) – and I'm not sure I care too much about those advanced features, anyway.

  • I signed CLA
  • The title of the pull request describes an issue it addresses
  • If changes are extensive, then there is a sequence of easily reviewable commits
  • Each commit's message describes its purpose and effects
  • There are no behavior changes unnecessary for the stated purpose of the PR

Recommended:

  • Each commit compiles and runs on my machine without known undesirable changes of behavior

QA:

  • Testflow test cases have been run

@coderabbitai

coderabbitai Bot commented Jun 18, 2026 •

Copy link
Copy Markdown

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Repository UI (base), Organization UI (inherited)

Review profile: CHILL

Plan: Pro

Run ID: 88e5a844-e074-4766-a86b-5abbe62e37cd

📥 Commits

Reviewing files that changed from the base of the PR and between affad1a and e52458e.

📒 Files selected for processing (1)
  • CMakeLists.txt
🚧 Files skipped from review as they are similar to previous changes (1)
  • CMakeLists.txt

📝 Walkthrough

Walkthrough

A new LegacyAupImporter parses legacy Audacity .aup XML, resolves block and alias audio files, and renders clips to temporary WAV files. Au3Importer now detects and imports .aup projects, recreates wave and label tracks, and supports conditional title and tempo handling. CMake adds importer sources, links libsndfile, and conditionally builds importer tests. New tests cover audio rendering, stereo handling, labels, missing data, aliases, sequences, and related project structures.

Estimated code review effort: 4 (Complex) | ~60 minutes

Sequence Diagram(s)

sequenceDiagram
  participant Client
  participant Au3Importer
  participant LegacyAupImporter
  participant TrackeditProject
  Client->>Au3Importer: import(filePath)
  Au3Importer->>Au3Importer: detect legacy .aup
  Au3Importer->>LegacyAupImporter: resolve(filePath)
  LegacyAupImporter-->>Au3Importer: Result(tracks, labelTracks)
  Au3Importer->>TrackeditProject: add wave tracks, clips, and labels
  Au3Importer-->>Client: success or failure
Loading
🚥 Pre-merge checks | ✅ 3 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Description check ⚠️ Warning The description follows the checklist but is missing the required "Resolves:" issue link section from the template. Add a "Resolves:" line linking the issue, and keep the short change summary and checklist in the template format.
✅ Passed checks (3 passed)
Check name Status Explanation
Title check ✅ Passed The title is short and matches the main change: adding an AUP importer.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

Warning

Review ran into problems

🔥 Problems

Linked repositories: Public OSS repositories can only analyze public repositories installed in this organization. No linked repositories were analyzed; skipped musescore/musescore.


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@kryksyh kryksyh moved this from Design - Todo to Ready for QA in [AU4] Main Board(archive) Jun 22, 2026
@ianalarina ianalarina moved this from Ready For Dev to Ready for QA in [AU4] Release Maintenance Jun 23, 2026
@teetow

teetow commented Jun 24, 2026

Copy link
Copy Markdown
Collaborator

LGTM.

I'm sure there are people who would want more conversion features, but I think this should cover the vast majority. We can extend it later if there's enough demand for it. PRs welcome, of course!

@chinakov chinakov moved this from Ready for QA to In QA in [AU4] Release Maintenance Jun 29, 2026
@chinakov chinakov moved this from In QA to Ready for QA in [AU4] Release Maintenance Jun 29, 2026
@dozzzzer dozzzzer moved this from Ready for QA to In QA in [AU4] Release Maintenance Jun 29, 2026
@dozzzzer dozzzzer self-assigned this Jun 29, 2026
@dozzzzer dozzzzer moved this from In QA to Ready for Merge in [AU4] Release Maintenance Jun 29, 2026
@dozzzzer dozzzzer moved this from Ready for Merge to In QA in [AU4] Release Maintenance Jun 29, 2026
@dozzzzer

Copy link
Copy Markdown
Contributor

@LeoWattenberg

It works really well, with the only exception of being a bit too slow when opening large projects, and even more so when closing them. Don't mind this being merged as is, though.

@dozzzzer dozzzzer moved this from In QA to Ready for Merge in [AU4] Release Maintenance Jun 29, 2026
@luapmartin
luapmartin merged commit 908ad0a into audacity:master Jul 13, 2026
17 checks passed
@github-project-automation github-project-automation Bot moved this from Ready for QA to Done in [AU4] Main Board(archive) Jul 13, 2026
@github-project-automation github-project-automation Bot moved this from Ready for Merge to Done in [AU4] Release Maintenance Jul 13, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

7 participants