# PonyTracker: Fichier source de sources/motifs/motifs.c

Tout Structures de données Espaces de nommage Fichiers Fonctions Variables Définitions de type Énumérations Valeurs énumérées Macros Pages
motifs.c
Aller à la documentation de ce fichier.
#include <string.h>
#include "motifs.h"
int getIdMotif(Motif* m){
if (m == NULL) {
return 0;
} else {
return getIdMotif(m->suivant)+1;
}
}
void ajouterMotif(Motif** pliste, int nbrTmp, int nbrPortees){
Motif* m = malloc(sizeof(Motif));
m->nbrTmp = DEFNBRTMP;
m->suivant = *pliste;
m->motif = malloc(nbrPortees*sizeof(Portee*));
strcpy(m->nom,"Motif ");
char nombre[10];
sprintf(nombre,"%d",getIdMotif(m));
strcat(m->nom, nombre);
int i;
for (i=0; i<nbrPortees; i++) {
(*m->motif)[i] = calloc(DEFNBRTMP,sizeof(Note));
}
*pliste = m;
}
void definirNomMotif(Motif* m, char* nom){
strcpy(m->nom,nom);
}
void supprimerMotif(Motif** cellule, int nbrPortees){
int i;
for (i=0; i<nbrPortees; i++) {
free((*((*cellule)->motif))[i]);
}
free((*cellule)->motif);
Motif* aux = (*cellule)->suivant;
free((*cellule));
*cellule = aux;
}
void definirNote(Motif* m, int portee, int tmp, int note){
(*(*m->motif)[portee])[tmp].note = note;
}
void definirOctave(Motif* m, int portee, int tmp, int octave){
(*(*m->motif)[portee])[tmp].octave = octave;
}
void definirInstrument(Motif* m, int portee, int tmp, int instrument){
(*(*m->motif)[portee])[tmp].instrument = instrument;
}
void definirVolume(Motif* m, int portee, int tmp, int volume){
(*(*m->motif)[portee])[tmp].volume = volume;
}
void definirEffet(Motif* m, int portee, int tmp, int effet){
(*(*m->motif)[portee])[tmp].effet = effet;
}
void supprimerNote(Motif* m, int portee, int tmp){
(*(*m->motif)[portee])[tmp].note = 0;
}
int getNote(Motif* m, int portee, int tmp){
return (*(*m->motif)[portee])[tmp].note;
}
int getOctave(Motif* m, int portee, int tmp){
return (*(*m->motif)[portee])[tmp].octave;
}
int getInstrument(Motif* m, int portee, int tmp){
return (*(*m->motif)[portee])[tmp].instrument;
}
int getVolume(Motif* m, int portee, int tmp){
return (*(*m->motif)[portee])[tmp].volume;
}
int getEffet(Motif* m, int portee, int tmp){
return (*(*m->motif)[portee])[tmp].note;
}
getInstrument
int getInstrument(Motif *m, int portee, int tmp)
Definition: motifs.c:85
ajouterMotif
void ajouterMotif(Motif **pliste, int nbrTmp, int nbrPortees)
Definition: motifs.c:22
getNote
int getNote(Motif *m, int portee, int tmp)
Definition: motifs.c:77
_motif::nom
char nom[10]
Definition: motifs.h:32
getEffet
int getEffet(Motif *m, int portee, int tmp)
Definition: motifs.c:93
_motif
Definition: motifs.h:31
definirOctave
void definirOctave(Motif *m, int portee, int tmp, int octave)
Definition: motifs.c:57
definirNomMotif
void definirNomMotif(Motif *m, char *nom)
Definition: motifs.c:38
_note
Definition: motifs.h:19
_motif::motif
Mesure * motif
Definition: motifs.h:34
definirNote
void definirNote(Motif *m, int portee, int tmp, int note)
Definition: motifs.c:53
_motif::nbrTmp
int nbrTmp
Definition: motifs.h:33
_motif::suivant
struct _motif * suivant
Definition: motifs.h:35
Portee
Note Portee[]
Definition: motifs.h:27
getVolume
int getVolume(Motif *m, int portee, int tmp)
Definition: motifs.c:89
getIdMotif
int getIdMotif(Motif *m)
Definition: motifs.c:14
supprimerNote
void supprimerNote(Motif *m, int portee, int tmp)
Definition: motifs.c:73
definirEffet
void definirEffet(Motif *m, int portee, int tmp, int effet)
Definition: motifs.c:69
DEFNBRTMP
#define DEFNBRTMP
Definition: motifs.h:17
motifs.h
definirInstrument
void definirInstrument(Motif *m, int portee, int tmp, int instrument)
Definition: motifs.c:61
definirVolume
void definirVolume(Motif *m, int portee, int tmp, int volume)
Definition: motifs.c:65
getOctave
int getOctave(Motif *m, int portee, int tmp)
Definition: motifs.c:81
supprimerMotif
void supprimerMotif(Motif **cellule, int nbrPortees)
Definition: motifs.c:42