Skip to content

v0.4.0

Compare
Choose a tag to compare
@github-actions github-actions released this 10 Aug 12:30

Added

  • User can drop preset instruments into os.UserConfigDir()/sointu/presets/ and
    they appear in the list of presets next time sointu is started.
    (#125)
  • Ability to loop certain section of the song when playing. The loop can be set
    by using the toggle button in the song panel, or by hitting Ctrl+L.
    (#128)
  • Disable units temporarily. The disabled units are shown in gray and are not
    compiled into the patch and are considered for all purposes non-existent.
    Hitting Ctrl-D disables/re-enables the selected unit(s). The yaml file has
    field disabled: true for the unit. (#116)
  • Passing a file name on command line immediately tries loading that file (#122)
  • Massive rewrite of the GUI, in particular allowing better copying, pasting and
    scrolling of table-based data (order list and note data).
  • Dbgain unit, which allows defining the gain in decibels (-40 dB to +40dB)
  • + and - keys add/subtract values in order editor and pattern editor
    (#65)
  • The function su_power is exported so people can reuse it in the main code;
    however, as it assumes the parameter passed in st0 on the x87 stack and
    similarly returns it value in st0 on the x87 stack, to my knowledge there is
    no calling convention that would correspond this behaviour, so you need to
    define a header for it yourself and take care of putting the float value on
    x87 stack.

Fixed

  • Loading a preset did not update the IDs of the newly loaded instrument,
    causing ID collisions and sends target wrong units.
  • The x87 native filter unit was denormalizing and eating up a lot of CPU (#68)
  • Modulating delaytime in wasm could crash, because delay time was converted to
    int with i32.trunc_f32_u. Using i32.trunc_f32_s fixed this.
  • When recording notes from VSTI, no track was created for instruments that had
    no notes triggered, resulting in misalignment of the tracks from instruments.
  • 32-bit su_load_gmdls clobbered ebx, even though __stdcall demands it to be not
    touched (#130)
  • Spaces are allowed in instrument names (#120)
  • Fixed the dropdown for targeting sends making it impossible to choose certain
    ops. This was done just by reducing the default height of popup menus so they
    fit on screen (#121)
  • Warn user about sample rate being other than 44100 Hz, as this lead to weird
    behaviour. Sointu assumes the samplerate always to be 44100 Hz. (#129)

Changed

  • The scroll wheel behavior for unit integer parameters was flipped: scrolling
    up now increases the value, while scrolling down decreases the value. It was
    vice versa. (#112)