Skip to content

klystrack-plus v0.10.0-alpha3

Compare
Choose a tag to compare
@LTVA1 LTVA1 released this 01 Jan 08:42
· 14 commits to master since this release

Added:

  • FastTracker II - like envelopes (volume and panning for main instrument, volume for FM operators)
  • pattern loop commands (FastTracker II - style)
  • fine portamento up/down (4 times coarser than extra fine portamento up/down)
  • More imported XMs (minimal manual adjustments after import) and a demo instrument demonstrating new envelopes
  • Support for old filter: if module is from original klystrack it uses old filter, otherwise new filter is kept.
  • Faster slide command (2fxx, 16 times faster than 03xx).
  • .fzt file import (modules from my other tracker)
  • .fzt file export (with a lot of limitations)
  • More keys to enter notes: (provided your base octave is 4th one which is default) [ and ] for F-6 and G-6 respectively, , and L are C-5 and C#5 (aliases of Q and 2 respectively)
  • Filter resonance up and filter resonance down effects
  • Grooves and effect to set groove
  • Effects to slide up and down 1-15 semitones from current note (basically stolen FamiTracker Qxy and Rxy effects)
  • Effect for position jump (e.g. Bxx in MOD/XM format)
  • FamiTracker import (VRC7 instruments aren't supported, slide & portamento as usual are a bit off)
  • Effect for delayed note transpose (a full copy of FamiTracker Txy effect)
  • Song message (F11 to open and close, copypaste text from clipboard or write in it, Esc to toggle editing; in-klystrack editing very limited and kinda inconvenient, so you better use some external text editor with monospace font and then paste the text into klystrack)
  • Panbrello effect command
  • Ctrl+Shift+V to paste pattern data from OpenMPT/Furnace/other klystrack instance
  • Cubic spline interpolation by @system64MC (in this release has awfully sounding sound spikes when you ping-pong loop the sample)
  • Fine panning slide left & right commands
  • Set LFO shapes commands (vibrato, tremolo, PWM, panbrello)
  • Commands to finely set LFO speeds and depths (00-FF parameter range)
  • Extended commands for retrigger, note cut, note delay (00-FF parameter range)
  • Wavetable and local sample editors now show sample loop points and current sample position (latter only during playback)
  • 3 more example songs (all covers as usual)
  • In klystron playback library (ksnd.dll) the KSongInfo struct now has song_message char* null-terminated string which holds song description (if present)
  • F7 shortcut to play only one pattern row (plays pattern row and stops)
  • Setting for play from cursor and aforementioned shortcut behaviour: before, if you haven't clicked a pattern row with mouse, when you pressed F6 it started playing from the start of the pattern, now you can tell it to always play from current position, have you selected it by clicking with mouse or not. By default this behaviour is enabled in this release, but you can restore the old one with Prefs->Play from cursor at pat. start

Changed:

  • way better XM import (still not ideal but much much better than before): envelopes import, more volume column/effect column stuff imported
  • Slight improvements for AHX and MOD import (position jump command support and minor tweaks)
  • renamed fine portamento up/down to extra fine portamento up/down
  • Extended filter resonance range from 0-f to 0-ff; old instruments are imported correctly - range is remapped during loading
  • synth engine should run a bit faster (more efficient) due to compile flags tweaks
  • Changed LFO system to be more precise, thus automatic PWM should be smoother (especially on slow speeds and 100+ Hz rates)
  • PWM is now slower 16 times to allow very slow PWM common in C64 songs lead instruments. Old songs' PWM speed is remapped to new range during loading (panbrello speed is also 16 times slower than vibrato/tremolo)
  • autosaves now always happen in the folder where executable is (before if you opened song or some module which can be imported and the file was in different folder klystrack created autosaves folder there instead of its own folder)
  • 01xx, 02xx, 0Axy, 07xx, 08xx, 21xx, 22xx, 17xx, 19xx, 44xx, 45xx, 46xx, 47xx, 4exx, 4fxx, 71xx and 72xx effects now have memory:
    new behaviour:
C-4 00 .. .... 02ff
... .. .. .... ....
... .. .. .... ....
... .. .. .... 0200

(portamento happens each tick until 0200 is encountered)

equivalent old behaviour:

C-4 00 .. .... 02ff
... .. .. .... 02ff
... .. .. .... 02ff
... .. .. .... ....

Old modules use old behaviour so nothing breaks. New behaviour applies to pattern effects only, in instrument / FM ops programs and pattern volume column old behaviour is left.

  • smoother progress bar for wav files export

Fixed:

  • Fixed blurriness on HiDPI displays (QHD/4K/8K/etc screens or small FHD screens)
  • Fixed false mouse hits in pattern editor when you try to scroll to the right clicking on slider button and in addition to scrolling to the right you scrolled down by a lot
  • Fixed critical crash when entering FX bus editor and having song rate higher than 1000
  • Fixed critical crash when deleting/optimizing instruments
  • Killing duplicate samples feature now actually works
  • Fix autosave failing when song filename has illegal symbols (" ' ! / \ etc.)
  • Fix wrong 5xxx command behaviour in imported xm and mod (it was setting loop point for looped samples rather than doing a one-time offset it should; a consequence of addition of dynamic loop points for samples)
  • Fix . (period) key deletion being one step laggy when undoing it
  • Fix Hubbard .sid import dialog being not responsive to window size changes
  • Fix wrong behaviour of some effects (bug that emerged in 0.10.0-alpha1)
  • Fix FM modulator not obeying its base note/finetune/vibrato
  • Fix crash when changing sample loop end point and enabling pingpong loop in sample editor when short looped sample is playing

Known problems:

  • Sample which length is not 2^n, used in 4-op fm on modulated operator, will produce some spikes on oscilloscope and generally sound bad