only return average music

This commit is contained in:
Mylloon 2022-05-19 12:01:08 +02:00
parent 586dafb33f
commit 4ea7bfdfd7
Signed by: Anri
GPG key ID: A82D63DFF8D1317F
2 changed files with 11 additions and 17 deletions

View file

@ -8,11 +8,8 @@
// Charge et lance la musique
void initialisationMusique(Mix_Music *, const char *);
// Renvoie le stream de la musique
Uint8 *musiqueStream(void);
// Renvoie la taille du stream de la musique
int musiqueStreamTaille(void);
// Renvoie une moyenne de l'intensité du son
float moyenneMusique(void);
// Libère la musique en mémoire
void liberationMusique(Mix_Music *);

View file

@ -3,24 +3,21 @@
#include "../includes/audio.h"
// Stocke les données à propos de la musique
struct infos {
Uint8 *stream;
int taille;
} musique_infos;
static float moyenne;
Uint8 *musiqueStream(void) {
return musique_infos.stream;
}
int musiqueStreamTaille(void) {
return musique_infos.taille;
float moyenneMusique(void) {
return moyenne;
}
void callback(void *_, Uint8 *stream, int taille) {
(void)_;
musique_infos.stream = stream;
musique_infos.taille = taille;
int i = 0;
float moyenne_calcul = 0.f;
for(signed short * stream16 = (signed short *)stream; i < taille / 2; ++i) {
moyenne_calcul += stream16[i] / ((1 << 15) - 1.);
}
moyenne = fabs(moyenne_calcul / i);
}
void initialisationMusique(Mix_Music *musique, const char *filename) {