You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
After a number of fixes and improvements, it is time for another beta!
Breaking changes
This release includes two breaking changes to improve usability and consistency of the API.
SiONVoice::get_mml had its chip type argument swapped from a string to an enumeration. This enumeration is, naturally, exposed to scripting. Having a string was an awkward choice from the beginning, but this is what the original SiON did. My assumption is that this allowed for more custom chip types to be created, but that's something we don't really support right now, and it's something that can be tricky to define via the scripting API.
Alongside exposing the above enumerations, a clean up was performed on existing module type, pitch table type, and pulse generation type enumerations. They should be named clearly and consistently now, with some names adjusted further to better convey their meaning.
Other major changes
The extension is now fully documented! You can read about every part of the exposed API in the Godot editor's built-in help menu. Some descriptions are minimal and can likely be extended with more details and examples, but it should already feel more friendly to get started using GDSiON.
More methods and properties exposed to the scripting API across the board, including compilation and rendering features of SiONDriver. These complete existing playback/streaming features, and come with support for queuing and executing in bulk. The API has changed slightly since ActionScript days, and we rely more on signals now. Check the docs for details on everything that has been exposed!
A giant pass on every GDSiON type has been done to improve memory safety and seal the leaks, and the extension is much more stable now. Note that to achieve this some exposed types have been changed to extend RefCounted instead of Object, which changes their inheritance chains. This is a minor compatibility breaking change, but should go unnoticed by most users.
This is a beta release to invite more people to test it. Even with that caveat, GDSiON 0.7-beta2 can be used in production, and indeed is used to power Bosca Ceoil Blue, a beginner-friendly music making app. After some time passes, and some stability fixes are made, this release will be promoted to a stable one.
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.
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 contains libgdsion.gdextension and some other files starting with libgdsion.
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.
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
-
After a number of fixes and improvements, it is time for another beta!
Breaking changes
This release includes two breaking changes to improve usability and consistency of the API.
SiONVoice::get_mml
had its chip type argument swapped from a string to an enumeration. This enumeration is, naturally, exposed to scripting. Having a string was an awkward choice from the beginning, but this is what the original SiON did. My assumption is that this allowed for more custom chip types to be created, but that's something we don't really support right now, and it's something that can be tricky to define via the scripting API.Alongside exposing the above enumerations, a clean up was performed on existing module type, pitch table type, and pulse generation type enumerations. They should be named clearly and consistently now, with some names adjusted further to better convey their meaning.
Other major changes
The extension is now fully documented! You can read about every part of the exposed API in the Godot editor's built-in help menu. Some descriptions are minimal and can likely be extended with more details and examples, but it should already feel more friendly to get started using GDSiON.
More methods and properties exposed to the scripting API across the board, including compilation and rendering features of
SiONDriver
. These complete existing playback/streaming features, and come with support for queuing and executing in bulk. The API has changed slightly since ActionScript days, and we rely more on signals now. Check the docs for details on everything that has been exposed!A giant pass on every GDSiON type has been done to improve memory safety and seal the leaks, and the extension is much more stable now. Note that to achieve this some exposed types have been changed to extend
RefCounted
instead ofObject
, which changes their inheritance chains. This is a minor compatibility breaking change, but should go unnoticed by most users.This is a beta release to invite more people to test it. Even with that caveat, GDSiON 0.7-beta2 can be used in production, and indeed is used to power Bosca Ceoil Blue, a beginner-friendly music making app. After some time passes, and some stability fixes are made, this release will be promoted to a stable one.
Version
0.7
signifies the next iteration of the synthesizer, fixing and cleaning up the previously available version0.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 reaches1.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 b56ec7a13c04417f395d6289a69129d7e8917c2e. 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
bin
folder (i.e.res://bin
), and that it containslibgdsion.gdextension
and some other files starting withlibgdsion
.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.
This discussion was created from the release GDSiON 0.7-beta2.
Beta Was this translation helpful? Give feedback.
All reactions