Création module mélodie, ajout d'un module dans la TODO liste...
This commit is contained in:
parent
392c1c25b5
commit
2ad7ba464c
|
@ -18,3 +18,4 @@ documentation/latex/refman.toc
|
|||
sources/motifs/.motifs.c.swp
|
||||
sources/motifs/.motifs.h.swp
|
||||
sources/motifs/motifs.o
|
||||
sources/melodie/melodie.o
|
|
@ -1,4 +1,4 @@
|
|||
samples.h
|
||||
samples.h
|
||||
— ajouterSample
|
||||
— supprimerSample
|
||||
— previsualiserSample
|
||||
|
@ -18,28 +18,28 @@ instruments.h
|
|||
— definirBalance
|
||||
— definirVolume
|
||||
|
||||
motifs.h (en cours)
|
||||
motifs.h (en attente)
|
||||
— ajouterMotif (ok)
|
||||
— supprimerMotif (ok)
|
||||
— ajouterNote (ok)
|
||||
— modifierNote (à venir)
|
||||
— modifierNote (ok)
|
||||
— supprimerNote (ok)
|
||||
— definirRefMotif (attente de l'IG)
|
||||
— definirNbTemps (idem)
|
||||
— definirCommentaire (idem)
|
||||
— definirBoucle (idem)
|
||||
— definirRefMotif (ok)
|
||||
— definirNbTemps (après le proto)
|
||||
— definirNom (ok)
|
||||
|
||||
melodie.h
|
||||
— motifPrecedent
|
||||
— motifSuivant
|
||||
melodie.h (en attente)
|
||||
— definirCourant (ok)
|
||||
— calculerTemps (en secondes) (ça viendra)
|
||||
— definirModeEdition (pareil)
|
||||
— definirIntrument (ça demande des connaissance en Glade, ça...)
|
||||
— definirBPM (idem)
|
||||
— definirNbTicks (itou)
|
||||
|
||||
lecture.h
|
||||
— lireNote
|
||||
— lireMelodie
|
||||
— calculerTemps (en secondes)
|
||||
— definirNote
|
||||
— definirEffet
|
||||
— definirModeEdition
|
||||
— definirIntrument
|
||||
— definirBPM
|
||||
— definirNbTicks
|
||||
— Stop
|
||||
— exportSon
|
||||
|
||||
effets.h
|
||||
|
|
|
@ -0,0 +1,36 @@
|
|||
#include "melodie.h"
|
||||
|
||||
void afficherListeMelodie(){
|
||||
// TODO
|
||||
}
|
||||
|
||||
void affocherListeMotifs(){
|
||||
// TODO
|
||||
}
|
||||
|
||||
void afficherMotifActuel(){
|
||||
// TODO
|
||||
}
|
||||
|
||||
void definirCourant(int i){
|
||||
courant = i;
|
||||
}
|
||||
|
||||
void ajouterMotifVirtuel(){
|
||||
for (int i = taille; i > courant; i--) {
|
||||
melodie[i] = melodie[i-1];
|
||||
}
|
||||
taille++;
|
||||
melodie[courant] = liste;
|
||||
}
|
||||
|
||||
void definirMotifVirtuel(Motif* m){
|
||||
melodie[courant] = m;
|
||||
}
|
||||
|
||||
void supprimerMotifVirtuel(){
|
||||
taille--;
|
||||
for (int i = courant; i < taille; i--) {
|
||||
melodie[i] = melodie[i+1];
|
||||
}
|
||||
}
|
|
@ -3,7 +3,30 @@
|
|||
|
||||
#include <stdlib.h>
|
||||
#include <stdio.h>
|
||||
#include "../motifs/motifs.h"
|
||||
|
||||
#define MAX_PATTERNS 256
|
||||
|
||||
Motif* melodie[MAX_PATTERNS] = {NULL};
|
||||
|
||||
int courant = 0;
|
||||
|
||||
int taille = 0;
|
||||
|
||||
// Les trois fonctions suivantes servent au couplage avec la GUI.
|
||||
|
||||
void afficherListeMelodie();
|
||||
|
||||
void afficherListeMotifs();
|
||||
|
||||
void afficherMotifActuel();
|
||||
|
||||
void definirCourant(int i);
|
||||
|
||||
void ajouterMotifVirtuel();
|
||||
|
||||
void definirMotifVirtuel(Motif* m);
|
||||
|
||||
void supprimerMotifVirtuel();
|
||||
|
||||
#endif
|
|
@ -9,9 +9,9 @@ int getIdMotif(Motif* m){
|
|||
}
|
||||
}
|
||||
|
||||
void ajouterMotif(int nbrPortees, int nbrTmp){
|
||||
void ajouterMotif(){
|
||||
Motif* m = malloc(sizeof(Motif));
|
||||
m->nbrTmp = nbrTmp;
|
||||
m->nbrTmp = DEFNBRTMP;
|
||||
m->suivant = liste;
|
||||
m->motif = malloc(nbrPortees*sizeof(Portee));
|
||||
char* nombre = NULL;
|
||||
|
@ -19,12 +19,12 @@ void ajouterMotif(int nbrPortees, int nbrTmp){
|
|||
m->nom = strcat("Motif ", nombre);
|
||||
int i;
|
||||
for (i=0; i<nbrPortees; i++) {
|
||||
m->motif[i] = calloc(nbrTmp,sizeof(Note));
|
||||
m->motif[i] = calloc(DEFNBRTMP,sizeof(Note));
|
||||
}
|
||||
liste = m;
|
||||
}
|
||||
|
||||
void definirNomMotif(char* nom, Motif* m){
|
||||
void definirNomMotif(Motif* m, char* nom){
|
||||
m->nom = nom;
|
||||
}
|
||||
|
||||
|
|
|
@ -4,6 +4,8 @@
|
|||
#include <stdlib.h>
|
||||
#include <stdio.h>
|
||||
|
||||
#define DEFNBRTMP 16
|
||||
|
||||
typedef struct _note{
|
||||
int note;
|
||||
int octave;
|
||||
|
@ -18,20 +20,22 @@ typedef struct _motif{
|
|||
char* nom;
|
||||
int nbrTmp;
|
||||
Portee* motif;
|
||||
struct _motif* suivant;
|
||||
struct _motif* suivant;
|
||||
} Motif;
|
||||
|
||||
Motif* liste = NULL;
|
||||
|
||||
int nbrTmp = 16;
|
||||
|
||||
int nbrPortees = 4;
|
||||
|
||||
int getIdMotif(Motif* m);
|
||||
|
||||
void ajouterMotif(int nbrPortees, int nbrTmp);
|
||||
void ajouterMotif();
|
||||
|
||||
void definirNomMotif(char* nom, Motif* m);
|
||||
void definirNomMotif(Motif* m, char* nom);
|
||||
|
||||
// void definirNbrTmp(Motif* m, int nbrTmp);
|
||||
// C'est chiant de changer le nomre de temps en cours de route,
|
||||
// donc on le fera après le proto.
|
||||
|
||||
void supprimerMotif(Motif** cellule); // cellule correspond à l'adresse de l'élément de la liste (avec &)
|
||||
|
||||
|
|
Loading…
Reference in New Issue