/** * @file instruments.h * * Gestion des instruments * * @version 1 * @author Guy * @date Mai 2014 */ #ifndef _instruments_h #define _instruments_h #include #include #include #include #include "../samples/samples.h" typedef struct _enveloppe { unsigned long int tmp; // axe des temps (abscisse sur le graphe de l'enveloppe) int volume; // axe du volume (ordonnée sur le graphe de l'enveloppe) struct _enveloppe* suite; } Enveloppe; typedef struct _intrument { Sample* sample; Enveloppe enveloppe; int balance; int volume; char nom[20]; } Instrument; void ajouterInstrument(Instrument* tab[], int i); void supprimerInstrument(Instrument* tab[], int i); int getVolume(Instrument* inst); int getBalance(Instrument* inst); char* getNomInst(Instrument* inst); void setVolume(Instrument* inst, int volume); void setBalance(Instrument* inst, int balance); void setNomInst(Instrument* inst, char* nom); /* * Cette fonction prend une note et une octave en paramètre et renvoie la valeur à entrer dans le pitch shifter. */ float rapportPitch(Instrument* inst, int note, int octave); #endif