Skip to content

Conversation

@amemya
Copy link

@amemya amemya commented Nov 25, 2025

Although libsndfile supports AIFF, it was not enabled in LibSndFile.jl. This PR adds format"AIFF" to the supported_formats list and implements the necessary format code mapping in src/LibSndFile.jl.

I will also submit a PR to FileIO.jl to register the AIFF file extension.

@ssfrr
Copy link
Collaborator

ssfrr commented Dec 15, 2025

Can you also add an aiff file to the test files, so we can verify that support works as intended?

@ViralBShah
Copy link

I merged the FileIO PR. Does it need a new release for this to merge?

Copilot AI review requested due to automatic review settings January 30, 2026 01:01
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This pull request adds support for AIFF (Audio Interchange File Format) files to LibSndFile.jl. Although libsndfile natively supports AIFF, it was not previously enabled in LibSndFile.jl. The PR description also mentions a planned follow-up PR to FileIO.jl to register the AIFF file extension.

Changes:

  • Added format"AIFF" to the supported formats list in LibSndFile.jl
  • Implemented format code mapping for AIFF in libsndfile_h.jl
  • Added comprehensive test coverage including read/write tests and FileIO integration tests

Reviewed changes

Copilot reviewed 3 out of 4 changed files in this pull request and generated no comments.

File Description
src/LibSndFile.jl Added format"AIFF" to the supported_formats tuple, enabling AIFF support throughout the library via metaprogramming
src/libsndfile_h.jl Added formatcode mapping for AIFF format type to the existing SF_FORMAT_AIFF constant
test/runtests.jl Added comprehensive test coverage including AIFF reading/writing tests, test helper functions, reference file path, and FileIO integration test
test/440left_880right_0.5amp.aiff Added binary reference test file with the same audio content as other format reference files

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@amemya
Copy link
Author

amemya commented Jan 30, 2026

Can you also add an aiff file to the test files, so we can verify that support works as intended?

Sorry I didn't notice your reply.

I added a new test AIFF file and made some minor updates to runtests.jl

@amemya
Copy link
Author

amemya commented Jan 30, 2026

I merged the FileIO PR. Does it need a new release for this to merge?

Yes, FileIO needs a new release for the CI to pass.
The test includes FileIO integration tests for AIFF format, which requires the AIFF registry entry that was added in the merged PR.

@ViralBShah
Copy link

FileIO tests seem to be failing (perhaps not related to this). I'm happy to help with merging PRs - but may not be able to debug the issue.

Would be nice to see this all through though!

@amemya
Copy link
Author

amemya commented Jan 31, 2026

I checked the CI logs, and the error confirms that the tests are failing simply because the new FileIO version hasn't been released yet.

FileIO Integration: Error During Test at /home/runner/work/LibSndFile.jl/LibSndFile.jl/test/runtests.jl:311
  Got exception outside of a @test
  No applicable_savers found for UNKNOWN

The CI is using the currently installed version of FileIO, which doesn't yet have the AIFF registry entry we merged. It doesn't know how to handle .aiff files, leading to the No applicable_savers found error.

Could you please tag a new release for FileIO? Once that's available, the tests should pass after a re-run.

@ViralBShah
Copy link

FileIO tests themselves need fixing. I opened an issue there.

@ViralBShah
Copy link

Registered a new upstream version. This will need FileIO 1.18.0

@amemya
Copy link
Author

amemya commented Jan 31, 2026

Thanks for the release!
I noticed from the logs that the CI was still picking up FileIO v1.17.1. I've updated the Project.toml compat to require v1.18 explicitly. This should force the CI to use the new version.

@amemya
Copy link
Author

amemya commented Feb 1, 2026

1.6 macOS latest is failing, but it doesn't seem to be a code issue.

Looking at the logs, the runner is arm64, but the job requires 1.6. I don't think Julia 1.6 had an arm64 version for macOS.
So, the workflow file needs updating.
I could fix it here, but is it okay to include that fix in this PR? or should I split it into a separate PR?

Either way, I think this can probably be ignored.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants