I come up with this topic because I’m confused about ATMLib.
Since i’m in the middle of making a new game I’ve started to think about some BMG and because I have no idea/talent about music I’ve asked a friend to compose some things. ATMLib has this wonderful visual tool on Team a.r.g.'s site which I wanted to share with him so he can make some music. I started a small search on the forums and read through some topics and I got really confused.
There seems to be 3 ATMLib repos atm:
- Team a.r.g.'s ATMLib - afaik the original
- dxxb’s ATMLib
- moduscreate’s ATMLib which is called ATMlib2
Libraries in the IDEs:
Both libraries in the Arduino Library and PlatformIO Library-Managers link to Team a.r.g.'s ATMLib.
Known issues in Team a.r.g.'s ATMLib:
There seems to be a bug in Team a.r.g.'s ATMLib which is resolved in the other forks.
Known issues in moduscreate’s ATMLib:
moduscreate’s ATMLib has a new format of the audio-format which is not backwards compatible. That’s why moduscreate made an updated version of the Tracker Editor which is undocumented and only hard to find through forum posts.
The documentation is not updated and leads to unanswered issues with the playback:
Taking a brief look at the code shows that the ATMLib2 methods
atm_synth_play_score(const uint8_t *song)/ATMsynth ::play(const uint8_t *song) expect the address of the scores struct and not to the raw data as in the original ATMLib.
What I wish for:
- Merge the different forks as @JO3RI mentioned it in this post.
- Update the documentation
– By telling the way it really works.
– Update the examples.
– Put in a link to the right Editor and make a big hint which says “Only works in Firefox” - Yes, this took me a while.
If that’s not an option:
- Please fix the bug in Team a.r.g.'s ATMLib and tell everybody to forget ATMLib2 atm. (not the preferred way)