-
Notifications
You must be signed in to change notification settings - Fork 0
/
gestionAvanzada.c
122 lines (93 loc) · 3.87 KB
/
gestionAvanzada.c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
#include "MT-10.h"
#include "printf.h"
void GestionAvanzadaReverberacion(void);
void GestionAvanzadaEcualizacion(void);
void GestionAvanzada(){
char opcion;
do{
printf("Seleccione una de las siguientes opciones avanzada\n");
output("1) Seleccion de pre-sets de Reverberacion\n");
output("2) Seleccion de pre-sets de Ecualizacion\n");
output("E) Volver al menu principal");
output("====================\n");
opcion=teclado();
switch (opcion){
case '1': printf("Seleccion de parametros de Reverberacion\n");
GestionAvanzadaReverberacion();
break;
case '2': printf("Configuracion de Ecualizacion\n");
GestionAvanzadaEcualizacion();
break;
case 'E': printf("Volver al menu principal\n");
break;
default: output("====\nTecla no valida, por favor vuelva a introducir una opcion\n");
}
}while(opcion!= 'E');
}
void GestionAvanzadaReverberacion(){
static int atenuaciones[9] = {3, 4, 5, 2, 0, 0, 0, 0, 0};
static int retardos[9] = { 800, 1600, 800, 3200, 0, 0, 0, 0, 0};
static int parametros = 4;
int i;
int opcion;
printf("\n=========\nSeleccione alguno de los siguientes parametros de reverberacion a aplicar:\n");
for (i=0; i< parametros; i++)
printf("%d) Atenuacion: %d Reverberacion: %d\n", i + 1, atenuaciones[i], retardos[i]);
printf("O pulse la tecla 0 para añadir un parametro de reverberacion y aplicarlo\n");
opcion = teclado() - '0';
while (opcion< 0 || opcion > parametros){
printf("Por favor pulse una tecla correcta\n");
opcion = teclado() - '0';
}
if(opcion >0 && opcion <= parametros){
atenuacion_reverberacion = atenuaciones[opcion -1];
retardo_reverberacion = retardos[opcion - 1];
estado = 3;
}
else if(opcion == 0 && parametros < 9){
GestionReverberacion();
atenuaciones[parametros] = atenuacion_reverberacion;
retardos[parametros] = retardo_reverberacion;
estado = 3;
parametros ++;
}
}
void GestionAvanzadaEcualizacion(){
static int ecualizaciones[9][7] = {{0,1,2,3,4,5,6},{0,15,0,15,0,15,0},{15,13,11,9,7,5,0},{0,0,0,0,0,0,0},{0,0,0,0,0,0,0},{0,0,0,0,0,0,0},{0,0,0,0,0,0,0},{0,0,0,0,0,0,0},{0,0,0,0,0,0,0}};
static int parametros = 3;
int i;
int opcion;
printf("\n=========\nSeleccione alguno de los siguientes parametros de ecualizacion a aplicar:\n");
printf("\n====BANDA: 32Hz 64Hz 125Hz 250Hz 500Hz 1kHz 2kHz=====\n");
for (i=0, i< parametros; i++){
printf("%d)Nivel %d %d %d %d %d %d %d\n", i + 1, ecualizaciones[i][0], ecualizaciones[i][1], ecualizaciones[i][2],
ecualizaciones[i][3], ecualizaciones[i][4], ecualizaciones[i][5], ecualizaciones[i][6]);
}
printf("O pulse la tecla 0 para añadir un parametro de reverberacion y aplicarlo\n");
opcion = teclado() - '0';
while (opcion< 0 || opcion > parametros){
printf("Por favor pulse una tecla correcta\n");
opcion = teclado() - '0';
}
if(opcion >0 && opcion <= parametros){
for (i=0; i<7; i++)
nv[i] = ecualizaciones [opcion - 1][i];
estado = 2;
}
else if(opcion == 0 && parametros < 9){
printf("=====\nIntroduzca un nuevo parametro de ecualizacion, pulse de forma pausada el nivel para las distintas bandas de frecuencia\n");
for(i = 0;i < 7; i++){
printf("Nivel para la banda del filtro%d\n", i + 1);
do{
opcion = teclado() - '0';
if (opcion< 0 || opcion > 9)
printf("Error pulse un nv entre 0 y 9\n");
} while(opcion< 0 || opcion > 9);
ecualizaciones[parametros][i] = opcion;
}
for(i=0; i<7; i++)
nv[i] = ecualizaciones[parametros][i];
estado = 2;
parametros ++;
}
}