PonyTracker
Un projet de tracker de musique
 Tout Structures de données Espaces de nommage Fichiers Fonctions Variables Définitions de type Énumérations Valeurs énumérées Macros Pages
motifs.h
Aller à la documentation de ce fichier.
1 
11 #ifndef _motif_h
12 #define _motif_h
13 
14 #include <stdlib.h>
15 #include <stdio.h>
16 
17 #define DEFNBRTMP 16
18 
19 typedef struct _note{
20  int note;
21  int octave;
23  int volume;
24  int effet;
25 } Note;
26 
27 typedef Note Portee[];
28 
29 typedef Portee* Mesure[];
30 
31 typedef struct _motif{
32  char nom[10];
33  int nbrTmp;
35  struct _motif* suivant;
36 } Motif;
37 
43 int getIdMotif(Motif* m);
44 
51 void ajouterMotif(Motif** pliste, int nbrTmp, int nbrPortees);
52 
58 void definirNomMotif(Motif* m, char* nom);
59 
60 // void definirNbrTmp(Motif* m, int nbrTmp);
61 // C'est chiant de changer le nomre de temps en cours de route,
62 // donc on le fera après le proto.
63 
69 void supprimerMotif(Motif** cellule, int nbrPortees); // cellule correspond à l'adresse de l'élément de la liste (avec &)
70 
78 void definirNote(Motif* m, int portee, int tmp, int note);
79 
87 void definirOctave(Motif* m, int portee, int tmp, int octave);
88 
96 void definirInstrument(Motif* m, int portee, int tmp, int intrument);
97 
105 void definirVolume(Motif* m, int portee, int tmp, int volume);
106 
114 void definirEffet(Motif* m, int portee, int tmp, int effet);
115 
122 void supprimerNote(Motif* m, int portee, int tmp);
123 
124 // Maintenant, voici les getters (qui intéressent entre autres Majora)
125 
132 int getNote(Motif* m, int portee, int tmp);
133 
140 int getOctave(Motif* m, int portee, int tmp);
141 
148 int getInstrument(Motif* m, int portee, int tmp);
149 
156 int getVolume(Motif* m, int portee, int tmp);
157 
164 int getEffet(Motif* m, int portee, int tmp);
165 
166 #endif
void supprimerNote(Motif *m, int portee, int tmp)
Definition: motifs.c:73
int getVolume(Motif *m, int portee, int tmp)
Definition: motifs.c:89
char nom[10]
Definition: motifs.h:32
void ajouterMotif(Motif **pliste, int nbrTmp, int nbrPortees)
Definition: motifs.c:22
Definition: motifs.h:31
int getIdMotif(Motif *m)
Definition: motifs.c:14
Portee * Mesure[]
Definition: motifs.h:29
int getOctave(Motif *m, int portee, int tmp)
Definition: motifs.c:81
Definition: motifs.h:19
Mesure * motif
Definition: motifs.h:34
int getNote(Motif *m, int portee, int tmp)
Definition: motifs.c:77
void definirOctave(Motif *m, int portee, int tmp, int octave)
Definition: motifs.c:57
int nbrTmp
Definition: motifs.h:33
int effet
Definition: motifs.h:24
void definirVolume(Motif *m, int portee, int tmp, int volume)
Definition: motifs.c:65
int octave
Definition: motifs.h:21
struct _motif * suivant
Definition: motifs.h:35
struct _note Note
Note Portee[]
Definition: motifs.h:27
struct _motif Motif
int getEffet(Motif *m, int portee, int tmp)
Definition: motifs.c:93
void definirNomMotif(Motif *m, char *nom)
Definition: motifs.c:38
void supprimerMotif(Motif **cellule, int nbrPortees)
Definition: motifs.c:42
void definirEffet(Motif *m, int portee, int tmp, int effet)
Definition: motifs.c:69
int instrument
Definition: motifs.h:22
int note
Definition: motifs.h:20
void definirNote(Motif *m, int portee, int tmp, int note)
Definition: motifs.c:53
int getInstrument(Motif *m, int portee, int tmp)
Definition: motifs.c:85
void definirInstrument(Motif *m, int portee, int tmp, int intrument)
Definition: motifs.c:61
int volume
Definition: motifs.h:23