Skip to content

v 0.0.14

Compare
Choose a tag to compare
@undisbeliever undisbeliever released this 05 Dec 07:50
· 226 commits to main since this release

Changelog

Known bugs:

  • Sample Analyser spectrum can only analyse the first 16384 samples in a long BRR sample.

Audio driver changes:

  • SET_MUSIC_CHANNELS IO command now key-offs the disabled channels
  • Added volume slides
  • Added tremolo
  • Added pan slides
  • Added panbrello

Bytecode assembly changes:

  • Fixed maximum vibrato quarter wavelength value
  • Added $ hexadecimal number parsing to bytecode assembly
  • Instructions with signed arguments (adjust_volume and adjust_pan) now require a + or - sign
  • Fixed note range after a loop with a skip_last_loop instruction

MML changes:

  • Fixed maximum vibrato quarter wavelength value
  • Added px set pan command
    • px0 is centered
    • Negative px values pan to the left. px-64 is 100% to the left.
    • Positive px values pan to the right. px+64 is 100% to the right.
  • Out-of-range errors now show the value that was out-of-range
  • Added subroutine no-instrument note tracking.
    • The compiler now emits an error if a subroutine call would play an out-of-range note.
    • The GUI's subroutine playback will now use the first MML instrument that can play all of the
      subroutine's no-instrument notes.
  • Fixed a panic with non-ASCII UTF-8 in MML
  • Fixed negative hexadecimal numbers in #FirFilter
  • Fixed note range after a loop with a : skip-last-loop command

BRR changes:

  • Added gaussian overflow glitch detector (3 maximum-negative values in a row)
  • Added a gaussian overflow glitch penalty to the BRR encoder (Optional - on by default)

GUI changes:

  • Added a way to set the instrument and settings when previewing song subroutines
    • Click on the ! button in the song toolbar and a new textbox will appear
    • Input (or paste) the MML you want to execute before the subroutine is played
      (ie, @Flute E would set the instrument to Flute and turn on echo)
    • Preview the subroutine with the Play from line start (F6) or Play from cursor (F7) buttons.
    • Be aware, no notes in the "! preview prefix" textbox will not be played.
  • Added a song start field to the song tab
    • Sets the starting position when playing the song with the play-button or F5
    • Pressing "set" or F9 while editing the song selects the start position
    • Useful for editing and previewing ! MML subroutines.
      Press F9 before the subroutines is called, edit macro, press F5 to listen to the macro.
    • Pressing Shift + "set" or Shift+F9 will also mute the other channels.
    • Pressing Shift + play-button or Shift+F5 will play the song from the beginning
  • Shift clicking the channel buttons A-H will select only one channel (Ctrl+Shift 0-9).
  • Fixed a panic in the Sample Analyser if the sample is longer than 16384 samples.
  • Sample Analyser now uses Hann window when calculating the spectrum.
  • Fixed unable to click on the comment textbox in the sample editor.
  • Fixed rust bytecode interpreter going off the rails after a channel ends

Compiler changes:

  • Increased maximum common-audio-data size
  • Added tad-compiler 64tass-enums command
  • Added tad-compiler 64tass-export command
  • Added hexadecimal segment suffix to tad-compiler ca65-export
    (using the -x or -X command line options)
  • Moved ca65-export LoadAudioData to the start of the first segment.

65816 API changes:

  • Added a 64tass API (identical to the ca65 API)
  • Renamed MAX_PAN to TAD_MAX_PAN
  • Renamed CENTER_PAN to TAD_CENTER_PAN
  • Renamed MIN_TICK_CLOCK to TAD_MIN_TICK_CLOCK