From 19fdf69664f187a07ad775415e2492a00a2226ab Mon Sep 17 00:00:00 2001 From: Quantum Date: Fri, 20 Dec 2019 19:34:48 -0500 Subject: [PATCH] Split config.c into a separate object file --- Makefile.am | 6 +++--- cava.c | 7 +------ config.c | 42 ++++++++++++------------------------------ config.h | 26 +++++++++++++++++++++++--- 4 files changed, 39 insertions(+), 42 deletions(-) diff --git a/Makefile.am b/Makefile.am index 2fc4e5b..4f0fb44 100644 --- a/Makefile.am +++ b/Makefile.am @@ -9,9 +9,9 @@ ACLOCAL_AMFLAGS = -I m4 M_CPPFLAGS = -DSYSTEM_LIBINIPARSER=@SYSTEM_LIBINIPARSER@ bin_PROGRAMS = cava -cava_SOURCES = cava.c input/common.c input/alsa.c input/fifo.c input/portaudio.c input/pulse.c \ - input/sndio.c input/shmem.c output/terminal_bcircle.c output/terminal_ncurses.c \ - output/terminal_noncurses.c output/raw.c +cava_SOURCES = cava.c config.c input/common.c input/alsa.c input/fifo.c input/portaudio.c \ + input/pulse.c input/sndio.c input/shmem.c output/terminal_bcircle.c \ + output/terminal_ncurses.c output/terminal_noncurses.c output/raw.c cava_LDFLAGS = -L/usr/local/lib -Wl,-rpath /usr/local/lib cava_CPPFLAGS = -DPACKAGE=\"$(PACKAGE)\" -DVERSION=\"$(VERSION)\" \ -D_POSIX_SOURCE -D _POSIX_C_SOURCE=200809L diff --git a/cava.c b/cava.c index 0f6d693..2c084f4 100644 --- a/cava.c +++ b/cava.c @@ -12,6 +12,7 @@ #include #include #include +#include #include #include @@ -47,13 +48,7 @@ #include "input/shmem.h" #include "input/sndio.h" -#include - -// We need to make sure that clang-format does not order the .h files before the .c files. -// clang-format off #include "config.h" -#include "config.c" -// clang-format on #ifdef __GNUC__ // curses.h or other sources may already define diff --git a/config.c b/config.c index 71ad749..359c73e 100644 --- a/config.c +++ b/config.c @@ -1,27 +1,16 @@ -#define MAX_ERROR_LEN 1024 +#include "config.h" + +#include +#include +#include +#include +#include +#include double smoothDef[5] = {1, 1, 1, 1, 1}; char *inputMethod, *outputMethod, *channels; -struct config_params { - - char *color, *bcolor, *raw_target, *audio_source, - /**gradient_color_1, *gradient_color_2,*/ **gradient_colors, *data_format, *mono_option; - char bar_delim, frame_delim; - double monstercat, integral, gravity, ignore, sens; - unsigned int lowcf, highcf; - double *smooth; - int smcount, customEQ, im, om, col, bgcol, autobars, stereo, is_bin, ascii_range, bit_format, - gradient, gradient_count, fixedbars, framerate, bw, bs, autosens, overshoot, waves, - FFTbufferSize, fifoSample; -}; - -struct error_s { - char message[MAX_ERROR_LEN]; - int length; -}; - void write_errorf(void *err, const char *fmt, ...) { struct error_s *error = (struct error_s *)err; va_list args; @@ -138,11 +127,7 @@ bool validate_colors(void *params, void *err) { return true; } -bool validate_config(char supportedInput[255], void *params, void *err) { - - struct config_params *p = (struct config_params *)params; - struct error_s *error = (struct error_s *)err; - +bool validate_config(char supportedInput[255], struct config_params *p, struct error_s *error) { // validate: input method p->im = 0; if (strcmp(inputMethod, "alsa") == 0) { @@ -385,11 +370,8 @@ bool load_colors(struct config_params *p, dictionary *ini, void *err) { return true; } -bool load_config(char configPath[255], char supportedInput[255], void *params, bool colorsOnly, - void *err) { - - struct config_params *p = (struct config_params *)params; - struct error_s *error = (struct error_s *)err; +bool load_config(char configPath[255], char supportedInput[255], struct config_params *p, + bool colorsOnly, struct error_s *error) { FILE *fp; // config: creating path to default config file @@ -565,7 +547,7 @@ bool load_config(char configPath[255], char supportedInput[255], void *params, b } #endif - bool result = validate_config(supportedInput, params, error); + bool result = validate_config(supportedInput, p, error); iniparser_freedict(ini); return result; } diff --git a/config.h b/config.h index 69e513b..0dc5c1d 100644 --- a/config.h +++ b/config.h @@ -1,6 +1,26 @@ -#include +#pragma once + #include #include -bool load_config(char configPath[255], char supportedInput[255], void *p, bool colorsOnly, - void *error); +#define MAX_ERROR_LEN 1024 + +struct config_params { + char *color, *bcolor, *raw_target, *audio_source, + /**gradient_color_1, *gradient_color_2,*/ **gradient_colors, *data_format, *mono_option; + char bar_delim, frame_delim; + double monstercat, integral, gravity, ignore, sens; + unsigned int lowcf, highcf; + double *smooth; + int smcount, customEQ, im, om, col, bgcol, autobars, stereo, is_bin, ascii_range, bit_format, + gradient, gradient_count, fixedbars, framerate, bw, bs, autosens, overshoot, waves, + FFTbufferSize, fifoSample; +}; + +struct error_s { + char message[MAX_ERROR_LEN]; + int length; +}; + +bool load_config(char configPath[255], char supportedInput[255], struct config_params *p, + bool colorsOnly, struct error_s *error);