Skip to content

GDSiON 0.7-beta6

Latest
Compare
Choose a tag to compare
@github-actions github-actions released this 02 Dec 16:04

This is a relatively small release aiming to fix a crash related to the stereo chorus effect. I did, however, decide to include a couple of additional improvements which were on my TODO list. The names of the voices generated by the preset util have been cleaned up and standardized a bit. And there is also an API change with minor compatibility breakage:

Breaking changes

  • SiONDriver.play has been split into two methods — the original one that now expects you to pass at least some data for it to play, and the new one, called SiONDriver.stream, which simply initiates streaming. This is done for semantic clarity, as the driver technically doesn't have a "playing" state, it can be streaming, compiling, or rendering. The play method is initiating streaming behind the scenes, but it doesn't put the driver into a different state. We could technically talk about the driver "playing" whatever data was given to it, but that's a different concept which we currently do not track.

Accompanying this change two new methods are introduced, SiONDriver.is_streaming and SiONDriver.is_paused. They report on the corresponding states of the driver. This is the main reason for the split and "rename", so it's clear what constitutes "streaming" and why it's not called "playing".

Do note that while SiONDriver.play can no longer be called without any arguments, you should still be able to call it with a null passed as its first argument, which would be equivalent to calling the new stream method. So only empty calls to play() need to be substituted with stream() after upgrading to beta 6.


This is a beta release to invite more people to test it. Even with that caveat, GDSiON 0.7 betas can be used in production, and indeed are used to power Bosca Ceoil Blue, a beginner-friendly music making app, and Glasan-FX, a simple sound effects tool. After some time passes, and some stability fixes are made, this release will be promoted to a stable one.

Note

Version 0.7 signifies the next iteration of the synthesizer, fixing and cleaning up the previously available version 0.6.6 for the Flash platform. Please note that in the interest of making a good and easy to use library we leave some room for breaking changes until the project reaches 1.0. These changes will be communicated in future release notes and will be based on the necessity to address feedback and real life use cases.

Built from commit bd0eed8b886ff0566e8f13e02079a7767a7bfbc1. If you experience issues, please report them as soon as you can.

Downloads

These archives contain GDSiON binaries for both debug and release exports.

Installation

  1. Extract the contents of the archive to your project's root folder.
  2. Make sure that you now have a bin folder (i.e. res://bin), and that it contains libgdsion.gdextension and some other files starting with libgdsion.
  3. Restart the editor.

You must download a build for each platform you plan on exporting to. The libgdsion.gdextension is the same in every download and can be safely overwritten when extracting multiple archives.

Example project

The example project showcases one of many applications of the synthesizer library in an interactive way. It's the best way to start experimenting with GDSiON!

The example project source archive contains GDSiON binaries for all platforms. It may be required for you to open the project twice to import everything correctly.