Similarly to what we have done for sprites, we want to support a way to produce music and sounds for the engine (see #30)
The first iteration could be a text based format, similar to the ringtone composer of the old Nokia phones.
We would support only 4 waves: Sine (0), Square (1), Triangle (2), Noise (3). We need to limit number of tracks (can be still 4).
It could read something like
120 // bpm
10 // volume
10 // repeats (-1 for loop)
1: 16e2 16f#3 4-
^
`---- wave type
The items in the bottom rows represent notes. For example: 16eb2 means "an Eb that lasts a 16th and it's on the second octave". Dashes represent pauses.
Similarly to what we have done for sprites, we want to support a way to produce music and sounds for the engine (see #30)
The first iteration could be a text based format, similar to the ringtone composer of the old Nokia phones.
We would support only 4 waves: Sine (0), Square (1), Triangle (2), Noise (3). We need to limit number of tracks (can be still 4).
It could read something like
The items in the bottom rows represent notes. For example: 16eb2 means "an Eb that lasts a 16th and it's on the second octave". Dashes represent pauses.