Skip to content

Releases: ltgcgo/octavia

0.5 pre-release 1

26 Sep 16:19
Compare
Choose a tag to compare
0.5 pre-release 1 Pre-release
Pre-release

Octavia 0.5 pre-release 1

Originally released at 20:40 on 1st May 2023 (UTC +0).

Also available on Deno Modules!

Try Octavia out! Play with demos on a modern machine or on a legacy machine.

Join the development discussion on Telegram!

This release is JS-only, with pre-compressed JS files. Use state.mjs if you only need the processing core, and basic.mjs if a basis for building new visualizers is needed. If you need to target legacy browsers, choose the files starting with xp_.

This version is released as the last version before the complete MIDI I/O rewrite for archival purposes. Documentation is slowly being done.

Special thanks to JayB, GFHK-SDGM, ValleyBell, now_its_dark, AWE_asikwus and MJG0117!

Additions

  • Octavia now officially supports Windows XP. (Firefox 52 ESR, Chrome 49)
  • Effect Send/Variation/EFX support for XG, GS, 05R/W, X5D, NS5R and GMega.
  • NS5R letter display and bitmap display support.
  • Utility for converting bitmaps to SysEx strings.
  • Primitive event support (note, cc, voice, pitch).
  • Channels/parts now has types (melodic, drums, drum set N) assigned to.
  • If in XG, 05R/W, X5D or NS5R mode, channels get automatically changed between melodic and drums upon MSB changes.
  • Primitive support for Active Custom Effect allocation for writing visualizers. No de-allocation yet.
  • Some SysEx commands, like GS EFX Setup and PLG150-VL Part Setup, will allocate ACE slots.
  • Drum NRPN support for XG, GS and NS5R.
  • Drum NRPN commits to "melodic" and "drums" parts will receive warnings.
  • Drum NRPN commits under modes other than XG, GS and NS5R will receive warnings.

Changes

  • Letter display SysEx strings now gets processed by the same method (setLetterDisplay).
  • Whether a channel gets considered as a drum channel is no longer solely determined by MSB values.
  • Only drum channels with correct source MSB values will get converted to corresponding drum kits upon mode changes.
  • Channel conquering are now only enabled if Octavia is in SC-88 or SC-88 Pro mode (GS with default LSB set to 2 or 3).
  • Dry level now allocates a separate internal CC register (cc128).

Fixes

  • Invalid ASCII code points in letter display SysEx strings now show up as spaces with warnings. (thanks AWE_asikwus, ValleyBell and now_its_dark)

Development related

  • snowy is now a dependency for legacy builds related to MIDI I/O.

Version credits

If you have contributed to this release but didn't get credited here, please let us know to get credited properly!

  • JayB for providing references and critical software, while also testing Octavia.
  • ValleyBell and now_its_dark for providing references and testing Octavia.
  • GFHK-SDGM, dj.tuBIG/MaliceX, AWE_asikwus and MJG0117 for extensive software testing and bug reporting.
  • redacted for freeing part of Octavia's development out of a certain Discord server under toxic moderation.

0.5 pre-release 2

20 Sep 15:10
Compare
Choose a tag to compare
0.5 pre-release 2 Pre-release
Pre-release

Octavia 0.5 pre-release 2

Also available on Deno Modules!

Try Octavia out! Play with demos on a modern machine or on a legacy machine.

Join the development discussion on Telegram!

This version is the second pre-release of version 0.5. Previous version.

If without further problems, Octavia will begin publishing release candidates.

This release is JS-only, with pre-compressed JS files. Use state.mjs if you only need the processing core, and basic.mjs if a basis for building new visualizers is needed. If you need to target legacy browsers, choose the files starting with xp_.

Too much time was wasted on the now-scrapped iteration of MIDI routing. MIDI routing didn't make it, due to the scrapped iteration being full of bugs and stability issues, and a more viable baseline approach require a rather vast change under the hood, which may or may not introduce severe negative performance impact.

Known defects

  • (critical) Certain MIDI files on some versions of Firefox crash the browsers. #22
  • (moderate) When setting GS receive channel to 0x10, receiving for that channel should be disabled. #21
  • (moderate) Line mode for Cambiare note displays isn't added yet.
  • (low) Cambiare does not provide legacy support in this version.

Postponed features

  • Baseline MIDI routing (postponed to 0.6)

Additions

  • Optional MSB writes on certain modes can now be disabled.
  • Under XG mode, switching between MU100 Native mode and MU Basic mode is now supported.
  • Experimental Yamaha S90 ES support, with full voice maps.
  • Experimental Yamaha Motif ES support.
  • Kawai GMega reverb types are now supported.
  • Direct Korg AG-10 support is removed, as it's deemed redundant with Korg X5D and Korg 05R/W support.
  • Experimental Roland StudioCanvas SD-90 support, with full voice maps.
  • Roland GS EFX toggles are now supported.
  • Basic support for Yamaha XG, Roland GS and KORG AI2 audio effects.
  • Voice IDs can now be mapped to voice names with up to 24 characters.
  • TSV-based .mdat files can now be loaded for voice ID to name maps.
  • Full MU1000 and SC-8850 NRPN support.
  • XG Drum Setup SysEx strings are now supported.
  • GS Drum Setup SysEx strings are now supported.
  • NS5R Drum Setup SysEx strings are now supported.
  • Roland MT-32 Temporary Rhythm Setup SysEx strings are now supported.
  • Roland MT-32 Device Rhythm Setup SysEx strings are now supported.
  • Cambiare now supports note displays in block, comb and piano mode.
  • Cambiare beta!

Changes

  • Meta events are now commit-based.
  • Anything related to channel voice changes will now emit voice events.
  • SC and NS5R now employ a lazy pixel-blurring technique.

Fixes

  • Drum NRPN now resets to correct default values.

Development related

  • Channel routing maps can now be retrieved via OctaviaDevice.getChSource().

Version credits

If you have contributed to this release but didn't get credited here, please let us know to get credited properly!

  • @JayB1988 for feature suggestions, and details on certain aspects of MIDI implementation.
  • @GFHK-SDGM and @ask-compu for suggestions, software testing and bug reporting.
  • @ValleyBell for indirectly finding implementation bugs.
  • MJG0117 and @now-its-dark for software testing and bug reporting.