protodomemusic / mmml

Micro Music Macro Language - An MML Implementation for 1-Bit Music on AVR Microcontrollers
GNU General Public License v3.0
96 stars 6 forks source link

multiple tracks on a single chip #9

Open farvardin opened 8 months ago

farvardin commented 8 months ago

hello,

on 4000AD the multiple tracks are configured from this line: https://github.com/protodomemusic/mmml/blob/8deaedac863aa55bed62c81cc329d19c9f88338e/misc/4000ad-album-pcbs/4000AD-album.c#L120

this way it possible to skip track by rebooting the chip.

How is it possible to find the values of all those indexes?

{0   ,6474,10169,14143}
/.../
farvardin commented 5 months ago

@protodomemusic hi, do you have some informations about this? I'd really like to release a pcb in mmml music one day :)

protodomemusic commented 5 months ago

Many apologies - this completely slipped my radar. I'm actually gently deprecating this repository as I've got a better version in development (to avoid problems like this). In the meantime, there's no nice answer to your issue as the compiler has changed since I made this PCB album. There used to be two arrays for data, the note data array (data[]) and the data index array (data_index[]) - both found in the musicdata.h file. Later on, I combined those so that the data array has the index for the channels and macros as a kind of header. The code for the 4000AD album assumes there's a second array, so the data you produce won't be compatible (unless you manually split out the header from the note data manually and put it into the respective arrays).

Despite this, in answer to your question, there is a ? command in the MMML compiler to print the current byte the compiler is on, which is what I used to make the album. If you put the ? command at the beginning of each track in your master MMML file, it'll report the byte offsets to put in that track_data_index array. That should help if you grab an older version of the compiler.

All this might be a real pain, so I'd be happy to dig back into this code and help you create your album if you'd like a hand? If so, mail me at hello@protodome.com.

farvardin commented 4 months ago

All this might be a real pain, so I'd be happy to dig back into this code and help you create your album if you'd like a hand?

thank you, I'll explore those paths, first I'll work more on the tracks (on midi) and if I ever come to finish this, I'll either try with an older compiler (if it still works), or contact you ;)