J'ai banni définitivement SDL (utilisé juste pour la temporisation)
This commit is contained in:
parent
a241329658
commit
13471bd34d
|
@ -1,8 +1,8 @@
|
||||||
#include "lecture.h"
|
#include "lecture.h"
|
||||||
|
|
||||||
void lireTick (FMOD_SYSTEM* system, Motif* m, int tmp, FMOD_SOUND* sample[], FMOD_CHANNEL* chan[], int nbrPortees) { // On va lire les ticks (plus petite division temporelle de la playlist) de haut en bas
|
void lireTick (FMOD_SYSTEM* system, Motif* m, int tmp, FMOD_SOUND* sample[], FMOD_CHANNEL* chan[], int nbrPortees, int tempo) { // On va lire les ticks (plus petite division temporelle de la playlist) de haut en bas
|
||||||
|
|
||||||
int tempsPrecedent = SDL_GetTicks();
|
//int tempsPrecedent = SDL_GetTicks();
|
||||||
|
|
||||||
for (int chaine = 0; chaine < nbrPortees; chaine++) { // On va lire les chaines une à une par numéro croissant
|
for (int chaine = 0; chaine < nbrPortees; chaine++) { // On va lire les chaines une à une par numéro croissant
|
||||||
if (m != NULL) {
|
if (m != NULL) {
|
||||||
|
@ -21,13 +21,16 @@ void lireTick (FMOD_SYSTEM* system, Motif* m, int tmp, FMOD_SOUND* sample[], FMO
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
while (SDL_GetTicks() - tempsPrecedent < 125) {} // Si 250 ms se sont écoulées (il faudra régler ce temps sur le tempo)
|
/* while (SDL_GetTicks() - tempsPrecedent < 125) {} // Si 125 ms se sont écoulées (il faudra régler ce temps sur le tempo)
|
||||||
tempsPrecedent = tempsPrecedent + 125;
|
tempsPrecedent = tempsPrecedent + 125;
|
||||||
|
Avouez que ce serait con qu'on ait besoin de SDL juste pour la temporisation
|
||||||
|
alors qu'on peut utiliser la fonction native usleep pour ça, et beaucoup plus simplement. */
|
||||||
|
usleep(60000/tempo);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
void lecture (int nombreChaines, Motif* melodie[]) {
|
void lecture (int nombreChaines, int tempo, Motif* melodie[]) {
|
||||||
|
|
||||||
FMOD_SYSTEM *system;
|
FMOD_SYSTEM *system;
|
||||||
|
|
||||||
|
@ -40,7 +43,7 @@ void lecture (int nombreChaines, Motif* melodie[]) {
|
||||||
|
|
||||||
//INITIALISATION SAMPLES ET CHANNELS
|
//INITIALISATION SAMPLES ET CHANNELS
|
||||||
|
|
||||||
FMOD_CHANNEL *chan[nombreChaines]; // On ouvre le nombre de chaines nécessaires dans le mixer
|
FMOD_CHANNEL **chan = malloc(nombreChaines*sizeof(FMOD_CHANNEL*)); // On ouvre le nombre de chaines nécessaires dans le mixer
|
||||||
|
|
||||||
FMOD_SOUND *sample[5]; // On charge les samples avec un message d'erreur en cas d'échec
|
FMOD_SOUND *sample[5]; // On charge les samples avec un message d'erreur en cas d'échec
|
||||||
|
|
||||||
|
@ -84,7 +87,7 @@ void lecture (int nombreChaines, Motif* melodie[]) {
|
||||||
for (courant = 0; courant < taille; courant++) {
|
for (courant = 0; courant < taille; courant++) {
|
||||||
for (int i = 0; i < melodie[courant] -> nbrTmp; i++) {
|
for (int i = 0; i < melodie[courant] -> nbrTmp; i++) {
|
||||||
printf("lecture temps %d : N=%d I=%d\n",i,getNote(melodie[courant],0,i),getInstrument(melodie[courant],0,i));
|
printf("lecture temps %d : N=%d I=%d\n",i,getNote(melodie[courant],0,i),getInstrument(melodie[courant],0,i));
|
||||||
lireTick (system, melodie[courant], i, sample, chan, nombreChaines);
|
lireTick (system, melodie[courant], i, sample, chan, nombreChaines, tempo);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -94,6 +97,4 @@ void lecture (int nombreChaines, Motif* melodie[]) {
|
||||||
}
|
}
|
||||||
FMOD_System_Close(system);
|
FMOD_System_Close(system);
|
||||||
FMOD_System_Release(system);
|
FMOD_System_Release(system);
|
||||||
|
|
||||||
SDL_Quit();
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -4,15 +4,15 @@
|
||||||
|
|
||||||
#include "../melodie/melodie.h"
|
#include "../melodie/melodie.h"
|
||||||
// #include "../instruments/instrument.h"
|
// #include "../instruments/instrument.h"
|
||||||
|
// #include <SDL2/SDL.h>
|
||||||
#include <SDL2/SDL.h>
|
// #include <SDL2/SDL_mixer.h>
|
||||||
#include <SDL2/SDL_mixer.h>
|
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
|
#include <unistd.h>
|
||||||
#include "../fmod/include/fmod.h"
|
#include "../fmod/include/fmod.h"
|
||||||
|
|
||||||
#define NBR_MS
|
#define NBR_MS
|
||||||
|
|
||||||
void lecture(int nbrChaines, Motif* melodie[]);
|
void lecture(int nbrChaines, int tempo, Motif* melodie[]);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
Loading…
Reference in New Issue