diff --git a/sources/TODO_fonctions b/sources/TODO_fonctions index 777f2df..07aa7d7 100644 --- a/sources/TODO_fonctions +++ b/sources/TODO_fonctions @@ -1,4 +1,4 @@ -samples.h +samples.h — ajouterSample — supprimerSample — previsualiserSample @@ -21,6 +21,8 @@ instruments.h motifs.h — ajouterMotif — supprimerMotif + — ajouterNote + — supprimerNote — definirRefMotif — definirNbTemps — definirCommentaire diff --git a/sources/melodie/melodie.c b/sources/melodie/melodie.c new file mode 100644 index 0000000..e69de29 diff --git a/sources/motifs/motifs.c b/sources/motifs/motifs.c new file mode 100644 index 0000000..0f9dd6c --- /dev/null +++ b/sources/motifs/motifs.c @@ -0,0 +1,23 @@ +#include "motifs.h" + +void ajouterMotif(int nbrPortees, int nbrTmp){ + Motif m = malloc(nbrPortees*sizeof(Portee)); + int i; + for (i=0; isuivant = tab; + tab = l; +} + +void supprimerMotif(Liste** cellule, int nbrPortees){ + int i; + for (i=0; imotif[i]); + } + free((*cellule)->motif); + Liste* aux = (*cellule)->suivant; + free((*cellule)); + *cellule = aux; +} diff --git a/sources/motifs/motifs.h b/sources/motifs/motifs.h new file mode 100644 index 0000000..2e01f92 --- /dev/null +++ b/sources/motifs/motifs.h @@ -0,0 +1,30 @@ +#include +#include +#include "instruments.h" +#include "effets.h" + +#define NBRPORT 4 +#define NBRMOTIF 16 + +typedef struct _note{ + int note; + int octave; + int intrument; + int volume; + int effet; + } Note; + +typedef Note* Portee; + +typedef Portee* Motif; + +typedef struct _liste{ + Motif motif; + struct _liste* suivant; + } Liste; + +Liste* tab; + +void ajouterMotif(int nbrPortees, int nbrTmp); + +void supprimerMotif(Liste** cellule, int nbrPortees); // cellule correspond à l'adresse de l'élément de la liste (avec &)