/** * @file samples.h * * Gestion des samples * * @version 1 * @author Guy * @date Mai 2014 */ #ifndef _samples_h #define _samples_h #include #include #include #include "../fmod/include/fmod.h" #define NMAX_SAMPLES 10 typedef struct _sample{ //TODO // Je propose un truc, mais c'est à Quentin de le compléter, // voire de le changer complètement. char* chemin; // contient le nom du fichier WAV (qui sera placé dans le sous-dossier samples) char* nom; // juste un nom pour qu'on puisse humainement identifier le sample // Infos relatives au resampling unsigned long int deb; // numéro de l'échantillon de début unsigned long int fin; // numéro de l'échantillon de fin float hauteur_ref; // fréquence de la hauteur du sample à l'état brut (sans repitching) } Sample; /** * Il s'agit de définir une liste des samples à supprimer lors de la prochaine sauvegarde. */ typedef struct _poubelle{ char* chemin; struct _poubelle* suiv; } Poubelle; /** * Cette fonction à valeur booléenne détermine si le fichier doit être copié dans le dossier de sauvegarde. */ int doitEtreSauvegarde(Sample* tab[], int i); /** * Cette procédure définit le statut du fichier comme déjà copié dans la sauvegarde. */ void setSauvegarde(Sample* tab[], int i); void ajouterSample(Sample* tab[], int i, char* chemin); void supprimerSample(Sample* tab[], int i, Poubelle** poub); //void setResampling(Sample* sample, int deb, int fin); void setNom(Sample* sample, char nom[]); void setHauteur(Sample* sample, float hauteur); //unsigned long int getDeb(Sample* sample); //unsigned long int getFin(Sample* sample); char* getNom(Sample* sample); float getHauteur(Sample* sample); #endif