davy7125 / polyphone

A soundfont editor for quickly designing musical instruments.
https://www.polyphone.io
GNU General Public License v3.0
348 stars 46 forks source link

regression: value larger than 16-bit signed integer cannot be stored in sample offset fields #141

Closed mrbumpy409 closed 2 years ago

mrbumpy409 commented 3 years ago

It is no longer possible to store a value smaller than -32768 or larger than 32767 in the following fields:

This worked correctly in Polyphone versions earlier than 2.1.2. I ran a git bisect, and the commit that caused the bug is f80fc38b406ad094a1d3d2563da5d8124818e2e3. Looking at the code (granted, I do not know C++), it would appear that the problem is caused by the new rounding function, which converts the entered number into a 16-bit signed integer before it can be split into coarse/fine offset values.

mirabilos commented 3 years ago

Thanks, added to the Debian package in version 2.2.0.20210109+dfsg1-2 (should show up in *buntu and, eventually, my PPA, later)