Sources motifs
This commit is contained in:
@@ -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
|
||||
|
||||
0
sources/melodie/melodie.c
Normal file
0
sources/melodie/melodie.c
Normal file
23
sources/motifs/motifs.c
Normal file
23
sources/motifs/motifs.c
Normal file
@@ -0,0 +1,23 @@
|
||||
#include "motifs.h"
|
||||
|
||||
void ajouterMotif(int nbrPortees, int nbrTmp){
|
||||
Motif m = malloc(nbrPortees*sizeof(Portee));
|
||||
int i;
|
||||
for (i=0; i<nbrPortees; i++) {
|
||||
m[i] = malloc(nbrTmp*sizeof(Note));
|
||||
}
|
||||
Liste* l = malloc(sizeof(Liste));
|
||||
l->suivant = tab;
|
||||
tab = l;
|
||||
}
|
||||
|
||||
void supprimerMotif(Liste** cellule, int nbrPortees){
|
||||
int i;
|
||||
for (i=0; i<nbrPortees; i++) {
|
||||
free((*cellule)->motif[i]);
|
||||
}
|
||||
free((*cellule)->motif);
|
||||
Liste* aux = (*cellule)->suivant;
|
||||
free((*cellule));
|
||||
*cellule = aux;
|
||||
}
|
||||
30
sources/motifs/motifs.h
Normal file
30
sources/motifs/motifs.h
Normal file
@@ -0,0 +1,30 @@
|
||||
#include <stdlib.h>
|
||||
#include <stdio.h>
|
||||
#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 &)
|
||||
Reference in New Issue
Block a user