Add background music
This commit is contained in:
parent
d8608bc7b1
commit
2befbd4a69
4 changed files with 48 additions and 1 deletions
2
Makefile
2
Makefile
|
@ -49,7 +49,7 @@ else
|
||||||
endif
|
endif
|
||||||
|
|
||||||
CPPFLAGS += $(shell sdl2-config --cflags)
|
CPPFLAGS += $(shell sdl2-config --cflags)
|
||||||
LDFLAGS += -lGL4Dummies $(shell sdl2-config --libs)
|
LDFLAGS += -lGL4Dummies $(shell sdl2-config --libs) -lSDL2_mixer
|
||||||
|
|
||||||
%.o: %.c
|
%.o: %.c
|
||||||
$(CC) $(CPPFLAGS) $(CFLAGS) -c $< -o $@
|
$(CC) $(CPPFLAGS) $(CFLAGS) -c $< -o $@
|
||||||
|
|
14
includes/audio.h
Normal file
14
includes/audio.h
Normal file
|
@ -0,0 +1,14 @@
|
||||||
|
/* TP7 */
|
||||||
|
|
||||||
|
#ifndef DEMO_AUDIO_HPP
|
||||||
|
#define DEMO_AUDIO_HPP 1
|
||||||
|
|
||||||
|
#include <SDL_mixer.h>
|
||||||
|
|
||||||
|
// Charge et lance la musique
|
||||||
|
void initialisationMusique(Mix_Music *, const char *);
|
||||||
|
|
||||||
|
// Libère la musique de la mémoire
|
||||||
|
void liberationMusique(Mix_Music *);
|
||||||
|
|
||||||
|
#endif
|
26
src/audio.c
Normal file
26
src/audio.c
Normal file
|
@ -0,0 +1,26 @@
|
||||||
|
/* TP7 */
|
||||||
|
|
||||||
|
#include "../includes/audio.h"
|
||||||
|
|
||||||
|
void initialisationMusique(Mix_Music *musique, const char *filename) {
|
||||||
|
Mix_Init(MIX_INIT_OGG);
|
||||||
|
Mix_OpenAudio(44100, AUDIO_S16LSB, 2, 1024);
|
||||||
|
musique = Mix_LoadMUS(filename);
|
||||||
|
|
||||||
|
Mix_VolumeMusic(MIX_MAX_VOLUME / 10);
|
||||||
|
|
||||||
|
Mix_PlayMusic(musique, 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
void liberationMusique(Mix_Music *musique) {
|
||||||
|
if(musique) {
|
||||||
|
if(Mix_PlayingMusic()) {
|
||||||
|
Mix_HaltMusic();
|
||||||
|
}
|
||||||
|
Mix_FreeMusic(musique);
|
||||||
|
musique = NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
Mix_CloseAudio();
|
||||||
|
Mix_Quit();
|
||||||
|
}
|
7
window.c
7
window.c
|
@ -1,9 +1,14 @@
|
||||||
#include <GL4D/gl4duw_SDL2.h>
|
#include <GL4D/gl4duw_SDL2.h>
|
||||||
|
|
||||||
#include "includes/animations.h"
|
#include "includes/animations.h"
|
||||||
|
#include "includes/audio.h"
|
||||||
|
|
||||||
|
static Mix_Music * ambiance = NULL;
|
||||||
|
|
||||||
// Comportement à la fermeture du programme
|
// Comportement à la fermeture du programme
|
||||||
void fermeture(void) {
|
void fermeture(void) {
|
||||||
|
liberationMusique(ambiance);
|
||||||
|
|
||||||
gl4duClean(GL4DU_ALL);
|
gl4duClean(GL4DU_ALL);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -23,6 +28,8 @@ int main(int argc, char *argv[]) {
|
||||||
{ 0, NULL, NULL, NULL }
|
{ 0, NULL, NULL, NULL }
|
||||||
};
|
};
|
||||||
|
|
||||||
|
initialisationMusique(ambiance, "audio/ambiance.ogg");
|
||||||
|
|
||||||
gl4dhInit(animations, dimensions[0], dimensions[1], NULL);
|
gl4dhInit(animations, dimensions[0], dimensions[1], NULL);
|
||||||
atexit(fermeture);
|
atexit(fermeture);
|
||||||
|
|
||||||
|
|
Reference in a new issue