ponytracker/sources/motifs/motifs.h

50 lines
1023 B
C

#ifndef _motif_h
#define _motif_h
#include <stdlib.h>
#include <stdio.h>
typedef struct _note{
int note;
int octave;
int instrument;
int volume;
int effet;
} Note;
typedef Note** Portee;
typedef struct _motif{
char* nom;
int nbrTmp;
Portee* motif;
struct _motif* suivant;
} Motif;
Motif* liste = NULL;
int nbrTmp = 16;
int nbrPortees = 4;
int getIdMotif(Motif* m);
void ajouterMotif(int nbrPortees, int nbrTmp);
void definirNomMotif(char* nom, Motif* m);
void supprimerMotif(Motif** cellule); // cellule correspond à l'adresse de l'élément de la liste (avec &)
void definirNote(Motif* m, int portee, int tmp, int note);
void definirOctave(Motif* m, int portee, int tmp, int octave);
void definirInstrument(Motif* m, int portee, int tmp, int intrument);
void definirVolume(Motif* m, int portee, int tmp, int volume);
void definirEffet(Motif* m, int portee, int tmp, int effet);
void supprimerNote(Motif* m, int portee, int tmp);
#endif