SFe 4.0 Release Candidate 2 #74
sylvia-leaf
announced in
Announcements
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
SFe 4.0 Release Candidate 2 (4.0-rc2)
A few more changes based on things we learnt about legacy SF
We know that a release candidate should mostly be completed in terms of the details of feature implementation, but some changes for consistency and optimisation were required this time.
This specification was released earlier than planned, due to the release of Polyphone 2.5, as well as the fact that @sylvia-leaf will be on holiday. Please expect the next version to release over the next few weeks.
The "nice-looking" version of the specification
Release Candidate 1a was focused on fixing a few issues, but most notably included a formatted specification in .PDF format.
Unfortunately, due to me not having access to the computer where the editable version of this specification is stored, RC2 will only be available in Markdown. RC3 should include a formatted .PDF version however.
Updating the feature flags system
The feature flags system is a system that allows the SFe player to communicate to the bank what features are available. SFe players will need to be able to warn the user whenever banks have a feature flag set that the player is not able to use.
Using feature flags ensures compatibility, and in future versions of SFe, may allow "branching" of parameters depending on whether or not different features are supported. This should improve compatibility for banks that implement such "branching" with SFe players that don't support all the features.
Because we determined that E-mu never released ROM sets other than the basic 1MB General MIDI sound set that you should be familiar with if you used the AWE cards back in the day, we integrated the SiliconSF feature set branch into the extended metadata one.
Slight changes to handling of duplicated presets
Duplicated presets are now handled in the same way, regardless of whether they are within or between files/banks. Previously, we expected users to handle information that would be stored in
ISFe-list
in the future.Now, SFe players will allow you to select the preset that you want to use, out of the duplicated presets. If this function isn't implemented, then the prescribed behaviour is simply to select the first preset in the file, or the preset in the first file loaded.
No references to future versions in current specifications
The SFe technical specification is strictly for specifying how programs and banks for the current SFe specification should be written, and not future versions.
We've therefore removed references to the future versions in current specifications. For example, we removed references to dynamic RIFF in RC1a.
It's important to clarify that this is not because we now no longer have any plans to implement these features, but rather that the specification should be focused on the current version rather than any future versions.
Section 3.2 lists a few future improvements that we plan to make, and many of them are listed on GitHub anyway. If it's on either of these places, then we plan to include the feature, just in a future version.
Changes to how we use GitHub
We now use GitHub Projects to visualise the progress of SFe development. GitHub Projects pages are split by SFe major version - for example SFe 5 will have a different project page to SFe 4.
A new issue template for communication has also been added.
About future plans
These haven't changed too much, but here is a recap:
4.1 will include
DMOD
andPNMM
subchunk support. Polyphone 2.5 is likely to include at least limited support for theDMOD
subchunk.4.2 will include the first new generator ENUMs, preliminary SFCF support, MIDI lyrics, RMIDI and SFLIST support.
4.3 will include the
prsw
subchunk, official support for extended MIDI resets, and changes to the filter part of the SFe synthesis model.4.4 will include the first extra DLS features beyond SFCF, and the first versions of AL1 and AL3.
4.5 will include dynamic RIFF by spessasus.
4.6 will include the SFZ-based abstraction levels above AL3.
4.7 will include conditional start and key switching.
What's Changed
Full Changelog: 4.0-rc1...4.0-rc2
This discussion was created from the release SFe 4.0 Release Candidate 2.
Beta Was this translation helpful? Give feedback.
All reactions