clc; clear all; close all;

%% Définition des paramètres

% Seuil: on dit que c'est facteur_seuil*max_fft(f_seuil_min,f_seuil_max)
fseuil_min=10;
fseuil_max=70;
facteur_seuil=8;

% Nature de l'enregistrement
fs=44100;                   % fréquence d'échantillonage
duree=4;                    % durée d'un enregistrement

% Définition et affichage de la fenêtre graphique et de ses boutons
[fenetre, boutons]=affichage();

%% Accordeur: définition des différentes fonctions
%             (chacune correspond à un bouton)

% String utilisé dans les callback des boutons qui vont être créés
str='seuil=facteur_seuil*max_fft(y,fs,fseuil_min,fseuil_max);';
str=[str,'accordeur(y,fs,seuil,fenetre,boutons);'];

% Permet de tester l'accordeur sur des signaux pré-enregistrés,
pre_enregistre = uicontrol (fenetre , 'style' , 'push');
set(pre_enregistre, 'position', [0 110 250 30]);
set(pre_enregistre,'string' , 'Utiliser un signal pré-enregistré');
set(pre_enregistre, 'callback' ,['load(uigetfile);',str]);

% Permet de tester l'accordeur en temps réel: quand on clique sur le 
% bouton, un enregistrement de duree_enregistrement débute
endirect = uicontrol(fenetre, 'style', 'push');
set(endirect, 'position', [320 110 250 30]);
str_endirect=['Lancer un enreigistrement de ', num2str(4), ' secondes'];
set(endirect,'string', str_endirect);
set(endirect, 'callback',['y = wavrecord(duree*fs,fs);',str]);

% Permet de fermer proprement la fenêtre
ferme = uicontrol(fenetre, 'style', 'push', 'position', [630 110 250 30]);
set(ferme,'string', 'Quitter');
set(ferme, 'callback', 'close' );
