Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update to libdjinterop 0.24.3 - support for Engine 4.1/4.2 #14172

Open
wants to merge 5 commits into
base: 2.5
Choose a base branch
from

Conversation

mr-smidge
Copy link
Contributor

@mr-smidge mr-smidge commented Jan 14, 2025

Update to libdjinterop 0.23.2 0.24.3, which provides support for Engine 4.1/4.2, i.e. the latest.

Tested successfully on my SC5000 hardware.

Once happy with the basic local build, we can update the package in the PPA and vcpkg.

@mr-smidge
Copy link
Contributor Author

QQ: I've set this PR to merge into the 2.5 branch - is that correct?

m_pVersionCombo->insertItem(0,
QString::fromStdString(version.name),
QString::fromStdString(to_application_version_string(schemaVersion)),
Copy link
Contributor Author

@mr-smidge mr-smidge Jan 14, 2025

Choose a reason for hiding this comment

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

A breaking change introduced in recent libdjinterop is that the "versions" that it works with are now aligned with the database schema (i.e. the Engine Library), rather than the marketing versions of the apps that use the schema (Engine OS, Engine DJ).

This is a more reliable model. For user-friendliness, the new to_application_version_string() provides the human-readable description of the apps associated with this schema.

Copy link
Member

Choose a reason for hiding this comment

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

I'm a little unfamiliar with engine OS. Can the user easily check what schema version(s) their hardware supports?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

The schema isn't exposed to the end user - they will see a friendly name in the drop-down as before:
image

@mr-smidge mr-smidge changed the title Update to libdjinterop 0.23.2 - support for Engine 4.1/4.2 Update to libdjinterop 0.24.0 - support for Engine 4.1/4.2 Jan 18, 2025
@mr-smidge mr-smidge marked this pull request as draft January 18, 2025 15:15
@mr-smidge
Copy link
Contributor Author

Putting this back to draft whilst I fix some cross-platform build issues...

@mr-smidge mr-smidge force-pushed the enh/libdjinterop-0_23_2 branch from 5f2cf4e to f412016 Compare January 19, 2025 01:14
@mr-smidge mr-smidge changed the title Update to libdjinterop 0.24.0 - support for Engine 4.1/4.2 Update to libdjinterop 0.24.1 - support for Engine 4.1/4.2 Jan 19, 2025
@daschuer
Copy link
Member

daschuer commented Jan 19, 2025

I've set this PR to merge into the 2.5 branch - is that correct?

Yes. But we need to update vcpkg as well and we need the PPA source package.

@mr-smidge
Copy link
Contributor Author

I've set this PR to merge into the 2.5 branch - is that correct?

Yes. But we need to update vcpkg as well and we need the PPA source package.

I'm always careful after last time, because it seems as soon as I upload a new package to the PPA, Launchpad considers the old one fair game for auto-deleting! So I may do this last.

@mr-smidge
Copy link
Contributor Author

Have bumped to version 0.24.3 in order to fix an issue with the Ubuntu package. This is now built: https://launchpad.net/~xsco/+archive/ubuntu/djinterop

@JoergAtGithub apologies, we'll need to bump the vcpkg build to 0.24.3 for consistency. However, we do know that 0.24.2 built successfully so hopefully this won't cause any trouble.

Thanks.

@mr-smidge mr-smidge marked this pull request as ready for review January 24, 2025 09:16
@mr-smidge mr-smidge changed the title Update to libdjinterop 0.24.1 - support for Engine 4.1/4.2 Update to libdjinterop 0.24.3 - support for Engine 4.1/4.2 Jan 24, 2025
@daschuer
Copy link
Member

Ah I remember. Since libdjinterop requires the EXACT version anyway we did not require a vcpkg update.

Did you consider to keep a stable ABI at one point? The requirement would be that old builds, let's say requiring 0.22 will also compile with 0.24.

@mr-smidge
Copy link
Contributor Author

Did you consider to keep a stable ABI at one point? The requirement would be that old builds, let's say requiring 0.22 will also compile with 0.24.

This is definitely on the cards for a 1.x release of libdjinterop.

I don't have much experience of maintaining a stable ABI on C++ libraries before, but was thinking of trying out tools like abidiff and integrating checks into the CI pipeline. I've raised an issue for this: xsco/libdjinterop#146

@Swiftb0y
Copy link
Member

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

Successfully merging this pull request may close these issues.

3 participants