Rack development blog

  • Rack v2 has switched from using key codes to key names, which correctly handle all keyboard layouts such as AZERTY or Dvorak. Plugin developers should use e.keyName == "q" instead of e.key == GLFW_KEY_Q for checking printable keys. Non-printable keys should still use e.key, e.g. e.key == GLFW_KEY_ESCAPE. More information in the docstrings when Rack v2 source code is released.

  • Overhauled Rack engine threading model. Now all Engine methods are thread-safe and can safely be called from anywhere, with a few additional rules specified in the docstrings. Performance of threading is improved, and after all bugs are fixed with public testing, engine stability will be increased (decreased thread-related crashes).

  • Removed engine pausing. This feature no longer makes sense after the recent engine restructure that allows modules to be processed on the audio thread.

24 Likes