MLV_audio.h(3)

📦
version 3.1.0 · 2 versions
, in ubuntu jammy

✨ MLV_audio.h ✨

Bonjour bestie 💖 bienvenue dans la page de manuel de MLV_audio.h, une page de la section 3 (Library Functions Manual). Oui oui, on est sur du lourd : c'est le header qui te donne tous les prototypes pour faire jouer de la musique et des samples avec la bibliothèque MLV. Mets ta playlist de côté deux minutes, on va lire ça ensemble 🎧


🌸 NAME 🌸

MLV_audio.h — ce fichier définit les prototypes des fonctions qui te permettent de faire jouer de la musique et des échantillons sonores à l'aide de la bibliothèque MLV. Voilà. C'est le boss final du son 🎵


🎀 SYNOPSIS 🎀

💫 Définitions de type 💫

  • typedef struct _MLV_Music MLV_Music — ce type code un morceau de musique 🎼
  • typedef struct _MLV_Sound MLV_Sound — ce type code un échantillon sonore 🔊

🦋 Fonctions 🦋

  1. int MLV_init_audio () — cette fonction initialise la bibliothèque MLV pour pouvoir jouer de la musique et des sons. Genre tu appuies sur ON ✨
  2. void MLV_free_audio () — ferme proprement les différents périphériques audios. Bye bye, on range derrière soi 🧹
  3. int MLV_change_audio_buffer_size (int buffer_size) — change la taille du buffer audio. La taille doit être une puissance de 2. Pas 3, pas 5. Deux. 💅
  4. void MLV_change_number_of_parallel_sounds (unsigned int n) — change le nombre d'échantillons sonores qui peuvent être joués en même temps. Yes, on peut tout jouer en simultané, on est en 2022 pas en 1998 🔥
  5. MLV_Music * MLV_load_music (const char *file_music) — charge un fichier contenant de la musique en mémoire 📥
  6. void MLV_free_music (MLV_Music *music) — ferme un morceau de musique chargé en mémoire.
  7. void MLV_play_music (const MLV_Music *music, float volume, int loop) — joue un morceau de musique qui est chargé en mémoire ▶️
  8. void MLV_stop_music () — arrête toutes les musiques. Tout. D'un coup. ⏹️
  9. MLV_Sound * MLV_load_sound (const char *file_sound) — charge un fichier contenant un échantillon sonore en mémoire.
  10. void MLV_free_sound (MLV_Sound *sound) — ferme un échantillon sonore chargé en mémoire.
  11. void MLV_play_sound (const MLV_Sound *sound, float volume) — joue un échantillon sonore chargé en mémoire.
  12. void MLV_stop_all_sounds () — arrête tous les échantillons sonores. Silence total, main character moment 🫶

💜 Description détaillée 💜

Ce fichier définit les prototypes des fonctions permettant de faire jouer de la musique et des échantillons sonores à l'aide de la bibliothèque MLV.

🌟 Auteur 🌟

  • Adrien Boussicault
  • Marc Zipstein

👑 Documentation des fonctions 👑

🎚️ int MLV_change_audio_buffer_size (int buffer_size)

Change la taille du buffer audio. La taille doit être une puissance de 2. Alors écoute bien, parce que c'est ça le tea ☕ : le programme remplit périodiquement un buffer audio, et c'est la carte son qui le fait jouer. Plus la taille du buffer audio est grande, plus le programme a le temps de remplir le buffer avant qu'il se vide. Mais aussi : plus le buffer est grand, plus le programme met du temps à le remplir. C'est un trade-off, un vrai balancier, no cap.

Donc si tu as un temps de latence entre une action et l'exécution sonore du son correspondant, c'est que tu dois réduire la taille du buffer audio. Le son arrive en retard, bestie, il faut raccourcir la distance 🏃‍♀️

Et si le son est coupé et crépite, c'est que le buffer est trop petit et que le processeur est trop lent pour remplir le buffer avant qu'il se vide. Dans ce cas tu dois agrandir la taille du buffer. Le crackling, c'est pas un vibe, c'est un bug 💀

MLV_change_buffer_size te permet d'ajuster la taille de ce buffer. Par défaut la taille du buffer est mise à 1024.

Si tu utilises le programme uniquement pour jouer de la musique, nous te conseillons de configurer la taille du buffer à 4096. Ça, c'est le réglage qui ate ✨

Paramètres

  • buffer_size — taille du buffer audio (une puissance de 2)

Renvoie

  • Renvoie 0 si l'infrastructure audio a été correctement initialisée, renvoie -1 sinon.

🔊 void MLV_change_number_of_parallel_sounds (unsigned int n)

Change le nombre d'échantillons sonores qui peuvent être joués en même temps. Plusieurs sons en même temps ? Pas de souci, on gère 💅

Paramètres

  • n — le nombre d'échantillons sonores.

🎼 void MLV_free_music (MLV_Music * music)

Ferme un morceau de musique chargé en mémoire. On libère, on range, on remercie 🙏

Paramètres

  • music — le morceau de musique à fermer

Exemples

  • advanced/03_music.c.

🎵 void MLV_free_sound (MLV_Sound * sound)

Ferme un échantillon sonore chargé en mémoire.

Paramètres

  • sound — l'échantillon sonore à fermer

Exemples

  • advanced/04_sound.c.

✨ int MLV_init_audio ()

Cette fonction initialise la bibliothèque MLV pour pouvoir jouer de la musique et des sons. C'est le once upon a time de ton aventure audio 🧚

Renvoie

  • Renvoie 0 si l'infrastructure audio a été correctement initialisée, renvoie -1 sinon.

Exemples

  • advanced/03_music.c, advanced/04_sound.c, advanced/09_animation.c, et advanced/11_animation_book.c.

📥 MLV_Music* MLV_load_music (const char * file_music)

Charge un fichier contenant de la musique en mémoire. Cette fonction prend en paramètre le chemin d'accès du fichier contenant la musique et renvoie un pointeur vers l'espace mémoire où a été chargée la musique. Un pointer vers la musique, quoi, le GPS du son 🗺️

Les formats de fichier acceptés sont les suivants : .ogg, .mp3, .wav, etc ... (la liste continue, iykyk)

Paramètres

  • file_music — chemin d'accès vers un fichier contenant de la musique codée en format .wav.

Renvoie

  • Un pointeur vers la musique chargée en mémoire, ou NULL si la bibliothèque n'a pas réussi à charger la musique en mémoire.

Exemples

  • advanced/03_music.c.

📥 MLV_Sound* MLV_load_sound (const char * file_sound)

Charge un fichier contenant un échantillon sonore en mémoire. Cette fonction prend en paramètre le chemin d'accès du fichier contenant l'échantillon sonore et renvoie un pointeur vers l'espace mémoire où a été chargé l'échantillon sonore. Pareil que pour la musique, mais en mode sample 🎤

Les formats de fichier acceptés sont les suivants : WAVE, AIFF, RIFF, OGG, and VOC.

Paramètres

  • file_sound — chemin d'accès vers un fichier contenant un échantillon sonore.

Renvoie

  • Null si le fichier n'a pas pu être chargé en mémoire. Un pointeur vers l'échantillon sonore sinon.

Exemples

  • advanced/04_sound.c, et advanced/09_animation.c.

▶️ void MLV_play_music (const MLV_Music * music, float volume, int loop)

Joue un morceau de musique qui est chargé en mémoire. Le moment main character 🎶

Paramètres

  • music — le morceau de musique à jouer.
  • volume — le volume sonore.
  • loop — le nombre de fois que le morceau doit être joué. Si loop est strictement négatif, le morceau sera joué indéfiniment. Genre pour toujours. Forever. Infinite loop de son 🔁

Exemples

  • advanced/03_music.c.

🔊 void MLV_play_sound (const MLV_Sound * sound, float volume)

Joue un échantillon sonore chargé en mémoire.

Paramètres

  • sound — l'échantillon sonore à jouer.
  • volume — le volume sonore.

Exemples

  • advanced/04_sound.c.

💖 Auteur 💖

Généré automatiquement par Doxygen pour MLV-3.1.0 à partir du code source.


Et voilà, t'es grave calée sur le son maintenant 🌈 N'oublie pas de libérer tes musiques et tes sons, on n'est pas des gens qui laissent fuiter de la mémoire, periodt 💅

Cette page vient de la version <strong>MLV-3.1.0</strong>, datée du <strong>Samedi 29 Janvier 2022</strong> 🎀 bisous, va coder 🫶

📦 where this page comes from