diff --git a/src/pifmrds/control_pipe.c b/src/pifmrds/control_pipe.c index 5f24fe0..9b8b9b8 100644 --- a/src/pifmrds/control_pipe.c +++ b/src/pifmrds/control_pipe.c @@ -163,6 +163,12 @@ ResultAndArg poll_control_pipe() { printf("\n"); resarg.res = CONTROL_PIPE_COMPRESSORDECAY_SET; resarg.arg = arg; + } else if(fifo[0] == 'C' && fifo[1] == 'O' && fifo[2] == 'A') { + printf("Set Compressor Attack to "); + printf(arg); + printf("\n"); + resarg.res = CONTROL_PIPE_COMPRESSORATTACK_SET; + resarg.arg = arg; } } return resarg; diff --git a/src/pifmrds/control_pipe.h b/src/pifmrds/control_pipe.h index 3820ee4..d9e22ff 100644 --- a/src/pifmrds/control_pipe.h +++ b/src/pifmrds/control_pipe.h @@ -19,6 +19,7 @@ #define CONTROL_PIPE_STEREO_SET 12 #define CONTROL_PIPE_GAIN_SET 13 #define CONTROL_PIPE_COMPRESSORDECAY_SET 13 +#define CONTROL_PIPE_COMPRESSORATTACK_SET 13 typedef struct { int res; diff --git a/src/pifmrds/pi_fm_rds.cpp b/src/pifmrds/pi_fm_rds.cpp index 3f6da76..3b6999c 100644 --- a/src/pifmrds/pi_fm_rds.cpp +++ b/src/pifmrds/pi_fm_rds.cpp @@ -203,6 +203,8 @@ int tx(uint32_t carrier_freq, char *audio_file, uint16_t pi, char *ps, char *rt, gaim = std::stof(pollResult.arg); } else if(pollResult.res == CONTROL_PIPE_COMPRESSORDECAY_SET) { compressor_decay = std::stof(pollResult.arg); + } else if(pollResult.res == CONTROL_PIPE_COMPRESSORATTACK_SET) { + compressor_attack = std::stof(pollResult.arg); } }