.scl support is buggy

Started by uncloned, February 02, 2010, 04:04:26

Previous topic - Next topic


I spent today mostly working on the Tuning code, in particular implementing .scl export. While doing so, I noticed that .scl import was severely broken, and I implemented the following fixes in https://source.openmpt.org/browse/openmpt/?op=revision&rev=8536:

  • Fix: Tuning: scl: .scl files that contain n frequencies are meant to describe scales with n notes per repeating group. OpenMPT imported them as scales with n+1 notes per repeating group.
  • Fix: Tuning: scl: Setting GroupRatio=1 is completely wrong. Scale files only describe a single octave and should be repeated properly.
  • Fix: Tuning: scl: Looking at various scale files from the official Scala archive, it is pretty obvious that scale files support non-octave repeating scales. In scale files, the first ratio is an implicit 1/1. As a consequence, the last value is redundant for octave-repeating scales (and stored as 2/1 in almost all cases). The last ratio is meant to be interpreted as the repeating ratio.

Saga Musix pointed me to this ancient 7 years old bug report, which I apparently just fixed, without knowing it even existed.

Additionally, I implemented importing note names from .scl in https://source.openmpt.org/browse/openmpt/?op=revision&rev=8537

.scl export is available as of r8539 in 1.27 test builds (available as usual at https://builds.openmpt.org/).


Thank you !!

It looks like I have to give this a test drive!