68 lines
1.7 KiB
C
68 lines
1.7 KiB
C
/**
|
|
* @file samples.h
|
|
*
|
|
* Gestion des samples
|
|
*
|
|
* @version 1
|
|
* @author Guy
|
|
* @date Mai 2014
|
|
*/
|
|
|
|
#ifndef _samples_h
|
|
#define _samples_h
|
|
|
|
#include <stdlib.h>
|
|
#include <stdio.h>
|
|
#include <string.h>
|
|
#include "../fmod/include/fmod.h"
|
|
|
|
typedef struct _sample{
|
|
//TODO
|
|
// Je propose un truc, mais c'est à Quentin de le compléter,
|
|
// voire de le changer complètement.
|
|
char chemin[500]; // contient le nom du fichier WAV (qui sera placé dans le sous-dossier samples)
|
|
char nom[10]; // 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[500];
|
|
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
|