46 lines
1.6 KiB
C
46 lines
1.6 KiB
C
#ifndef REMOTE_PARAMS_H
|
|
#define REMOTE_PARAMS_H
|
|
|
|
#include <stdbool.h>
|
|
#include <stdint.h>
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
/* Couche commune du controle a distance (BLE maintenant, Wi-Fi ensuite) : elle expose les
|
|
* parametres de AudioEffects_GetParams() sous forme d'identifiants d'un octet avec une valeur
|
|
* entiere signee 16 bits. Aucune dependance au transport.
|
|
*
|
|
* Valeur sur le fil (int16) = valeur reelle * echelle, bornee a la plage du parametre :
|
|
* booleen (actif/inactif) 0 ou 1
|
|
* niveaux 0.0..1.0 echelle 1000 (500 = 0.5)
|
|
* gain d'une bande d'egaliseur echelle 10 (-60 = -6.0 dB)
|
|
* delai d'echo echelle 1 (250 = 250 ms)
|
|
*
|
|
* Identifiants :
|
|
* 0x00 audio_on_off 0x01 master_volume
|
|
* 0x10 octaver.enabled 0x11 down2 0x12 down1 0x13 dry 0x14 up1 0x15 up2
|
|
* 0x20 equalizer.enabled 0x30..0x39 gain des bandes 0 a 9
|
|
* 0x50 overdrive.enabled 0x51 drive 0x52 tone 0x53 level
|
|
* 0x60 saturation.enabled 0x61 drive 0x62 level
|
|
* 0x70 echo.enabled 0x71 delay_ms 0x72 feedback 0x73 mix
|
|
* 0x80 reverb.enabled 0x81 room_size 0x82 damping 0x83 mix
|
|
*/
|
|
|
|
/* Applique une valeur recue. Retourne false si l'identifiant est inconnu. */
|
|
bool RemoteParams_Set(uint8_t id, int16_t value);
|
|
|
|
/* Lit la valeur courante d'un parametre. Retourne false si l'identifiant est inconnu. */
|
|
bool RemoteParams_Get(uint8_t id, int16_t *value);
|
|
|
|
/* Parcours de tous les parametres (pour envoyer un instantane de l'etat). */
|
|
uint8_t RemoteParams_Count(void);
|
|
uint8_t RemoteParams_IdAt(uint8_t index);
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
#endif /* REMOTE_PARAMS_H */
|