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, calledSiONDriver.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. Theplay
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
- Download for Linux
- Download for macOS
- Download for Windows
- Download for Web (requires Godot 4.3-beta1 or later)
- Download for Android
These archives contain GDSiON binaries for both debug and release exports.
Installation
- Extract the contents of the archive to your project's root folder.
- Make sure that you now have a
bin
folder (i.e.res://bin
), and that it containslibgdsion.gdextension
and some other files starting withlibgdsion
. - 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!
- Download for Linux (x86_64)
- Download for macOS (Universal)
- Download for Windows (x86_64)
- Download for Windows (x86_32)
- Download project source
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.