Releases: djzmo/render-ojn
Release list
RenderOJN 1.0.1
Adds support for Korea-era encrypted new OJN wrappers, which 1.0.0 rejected
outright. They are decrypted transparently -- pass the file exactly as you would
an ordinary one, no extra option needed.
What's new
- Korea-era
newOJN wrappers are now supported. Across the three reference
installations this brings 494 charts into range that could not previously
be opened at all. - No sample-package work was needed: every
new-wrapped chart pairs with an
M30, OMC, or OJM package that was already supported. The encryption is on the
chart container only.
Downloads
| Platform | File | Requirement |
|---|---|---|
| Windows x64 | RenderOJN-1.0.1-windows-x64.zip |
— |
| Linux x86-64 | RenderOJN-1.0.1-linux-x86_64-glibc2.17.tar.gz |
glibc 2.17+ |
SHA-256:
ba5d2e38777d1a0f8464e16e74cb288e6db65a29f0e83f9090e9d61b73ec0bdc RenderOJN-1.0.1-windows-x64.zip
9d1dc64ba25653c5864e0aeac0863228766a8841d0b1920f74d15886d70ece14 RenderOJN-1.0.1-linux-x86_64-glibc2.17.tar.gz
Verification
All 958 charts across three retail installations now parse, up from 464 in
1.0.0, and 957 of them render. The single exception is one chart whose sample
package carries header counts that disagree with the other 951 packages in the
corpus; it is rejected deliberately rather than accepted on the strength of a
lone specimen.
Every one of the 494 new wrappers decrypts to a valid ordinary OJN across the
eight block sizes those files use. Decryption was also checked against an
independent reimplementation, which reproduced the renderer's output to the
exact sample on both a plain decrypted chart and the hardest case in the corpus
(decryption combined with 15 measure fractions and mid-measure tempo changes).
Also covered by 829 test assertions, libFuzzer smoke runs on both parsers with
seeds for the new decryption paths, and a clean ASan/UBSan pass in the
glibc-2.17 release container. The o2ma100 reference render is byte-identical
to 1.0.0, confirming ordinary charts are unaffected.
macOS and the Windows x86 legacy build remain untested -- presets exist, but
no machine was available to build or verify them.
RenderOJN 1.0.0
First release of the CMake/vcpkg rewrite, replacing the FMOD- and Boost-based
0.8.2 implementation. Both archives are portable and ship no runtime DLLs.
What's new
- Rewritten on CMake and vcpkg; FMOD and Boost are no longer used.
- Correct timing for fractional measures, mid-measure BPM changes, and
subdivisions that do not divide 192. - Output length follows chart content, so late notes are no longer clipped.
- Supports M30 flags 0/16/32 and sparse OMC/OJM directory slots.
- Added
--sample-packageto override sample-package lookup. - Output is written to a temporary file and published only after rendering,
encoding, and tagging all succeed, so a failed run leaves no partial file.
Downloads
| Platform | File | Requirement |
|---|---|---|
| Windows x64 | RenderOJN-1.0.0-windows-x64.zip |
— |
| Linux x86-64 | RenderOJN-1.0.0-linux-x86_64-glibc2.17.tar.gz |
glibc 2.17+ |
SHA-256:
e0157f1f4d1ae234057eb4cfc9d8ddbe48ebc7d2f67685177f2b80b787aa86cf RenderOJN-1.0.0-windows-x64.zip
c6426400817beff106488b194de9d289ac6d3002b4d7b73c17411effa86a9616 RenderOJN-1.0.0-linux-x86_64-glibc2.17.tar.gz
Verification
Validated against 958 charts and 980 sample packages from three retail
installations: all 464 ordinary charts parse, decode, and render, and the 494
Korea-era new wrappers are skipped as expected. Also covered by 800 test
assertions, libFuzzer smoke runs on both parsers, and a clean ASan/UBSan pass
in the glibc-2.17 release container.
macOS and the Windows x86 legacy build are untested — presets exist, but no
machine was available to build or verify them.
Korea-era new OJN wrappers remain unsupported and are rejected with an
actionable error.