Skip to content

Replaced msgpack implementation#28831

Merged
igorkorsukov merged 1 commit intomusescore:masterfrom
igorkorsukov:global/msgpack
Jul 17, 2025
Merged

Replaced msgpack implementation#28831
igorkorsukov merged 1 commit intomusescore:masterfrom
igorkorsukov:global/msgpack

Conversation

@igorkorsukov
Copy link
Contributor

@igorkorsukov igorkorsukov commented Jul 17, 2025

For msgpack I first took a third-party implementation (https://github.com/mikeloomisgg/cppack). I liked it, simple, clear, easy to use.
But the experience of use showed some problems:

  • floats from -1 to 1 were not packed correctly (there is a PR that fixes this, but the author does not merge it fix: unpack failed when value between -1.0 to 1.0 mikeloomisgg/cppack#17)
  • It is inconvenient to add packing/unpacking functions for your types; we need to modify the type itself.
  • Not very efficiently implemented, temporary buffers are often created and then copied

This is a new implementation, a completely different implementation for each type (especially differences for float and double), and a slightly different design, more flexible and efficient.

@igorkorsukov igorkorsukov merged commit 1ca78a5 into musescore:master Jul 17, 2025
13 checks passed
@igorkorsukov igorkorsukov deleted the global/msgpack branch November 11, 2025 10:34
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.

2 participants