Parabéns pelo artigo! Conteúdo muito bom.

Um questionamento sobre o código: por que você decidiu criar um estrutura para cada parte do wave? Da forma que fez, para representar o wave tenho que instânciar 4 estruturas diferentes.

Não seria mais legível ter apenas um estrutura que representa o wave completo? Dentro desta estrutura poderia ter todos os campos, inclusive outras estruturas, se necessário.

Obrigado. Até que faz sentido botar tudo dentro de uma estrutura, eu criei separado por causa que fica mais fácil de explicar aí acabou que depois na parte de otimizar eu nem pensei em colocar tudo junto.