Releases: adakite1/skysongbuilder
Releases · adakite1/skysongbuilder
v0.1.3
v0.1.3-pre3
New Features and Other Changes:
- MIDI Marker
LoopEnd
for looping a MIDI file early. DAWs tend to add additional space at the end of MIDI files, causing looping to start later than desired. TheLoopEnd
marker can now be used to precisely define when to loop back. - GM percussion channel handling. When both Bank Select and Program Change messages are absent from channel 10, patches
128:000
,127:000
or126:000
will be used by default if any of them are available in one of the soundfonts. - Massive code clean ups for MIDI event import.
v0.1.3-pre2
Fixes:
- Fixed the export of non-looped raw audio songs.
v0.1.3-pre
New Features and Other Changes:
- Support for raw audio songs. See the example soundtrack.yml.
- Revamped configuration file parsing. Most options can now be defined both globally and on each song.
- Clean ups and optimizations, as well as some refactoring.
v0.1.2
Stable release. Contains all new additions from the pre-releases.
v0.1.2-pre7
New Features and Other Changes:
- Take instrument mappings into account when shedding samples. Soundfonts are split into three sections, Samples, Instruments, and then Presets. Previously only the Samples and the Presets have been considered, but now the Instruments layer is also considered.
- Default to preset 000:000 (piano) when no MIDI Bank Select and Program Change messages are found.
- Handle the edge case that a preset has exactly 256 sample mappings, which creates the song files with no errors but doesn't play in DSE as it is limited to exactly 255 sample mappings per preset.
v0.1.2-pre6
New Features and Other Changes:
- Support for MIDI pitch bend.
v0.1.2-pre5
New Features and Other Changes:
- Experimental scripting language built on MIDI markers for inserting DSE events manually. These are advanced options, use with care.
- Example:
dsec FadeSongVolume(12, 0x1234_u16be); FadeSongVolume(0x56_i16be, 0x12); Signal(1); Signal(3); Signal(2)
(these are dummy values) - Each command/event insertion is done by
DSEEventName(parameters)
, with each event separated by a semicolon. - Parameter typing can be omitted only for single bytes. Larger number types such as 32-bit integers must have its type specified like so:
0x1234_u16be
. The type definition is an underscore followed by the type name, followed by the endianness. - Events can be inserted into different tracks by use of the
trk
special command followed by a number, so for example,trk1
will insert all subsequent DSE commands to track 1. - Track 0 is the meta events track. A special command
evttrk
is included for convenience to switch to it.
- Example:
v0.1.2-pre4
New Features and Other Changes:
- Track note velocities in addition to notes, and strip samples that are in a used key range but aren't actually used due to the velocity range mapping.
v0.1.2-pre3
New Features, Fixes, and Other Changes:
- Fixed a major bug in preset id mapping. (See d1485d7)
- Fixed the mapping of soundfont instrument/preset level attenuation. (See adakite1/dse@4a9fec2)
- More flexible handling of parameters in the
Signal(uint8 value)
MIDI marker command.