1 /*
2     Musical Spectrum plugin for the DeaDBeeF audio player
3 
4     Copyright (C) 2015 Christian Boxdörfer <christian.boxdoerfer@posteo.de>
5 
6     Based on DeaDBeeFs stock spectrum.
7     Copyright (c) 2009-2015 Alexey Yakovenko <waker@users.sourceforge.net>
8     Copyright (c) 2011 William Pitcock <nenolod@dereferenced.org>
9 
10     This program is free software; you can redistribute it and/or
11     modify it under the terms of the GNU General Public License
12     as published by the Free Software Foundation; either version 2
13     of the License, or (at your option) any later version.
14 
15     This program is distributed in the hope that it will be useful,
16     but WITHOUT ANY WARRANTY; without even the implied warranty of
17     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
18     GNU General Public License for more details.
19 
20     You should have received a copy of the GNU General Public License
21     along with this program; if not, write to the Free Software
22     Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
23 */
24 
25 #ifndef CONFIG_HEADER
26 #define CONFIG_HEADER
27 
28 #define     CONFSTR_MS_REFRESH_INTERVAL       "musical_spectrum.refresh_interval"
29 #define     CONFSTR_MS_FFT_SIZE               "musical_spectrum.fft_size"
30 #define     CONFSTR_MS_DB_RANGE               "musical_spectrum.db_range"
31 #define     CONFSTR_MS_ENABLE_HGRID           "musical_spectrum.enable_hgrid"
32 #define     CONFSTR_MS_ENABLE_VGRID           "musical_spectrum.enable_vgrid"
33 #define     CONFSTR_MS_ENABLE_OCTAVE_GRID     "musical_spectrum.enable_octave_grid"
34 #define     CONFSTR_MS_ENABLE_BAR_MODE        "musical_spectrum.enable_bar_mode"
35 #define     CONFSTR_MS_DISPLAY_OCTAVES        "musical_spectrum.display_octaves_on_hover"
36 #define     CONFSTR_MS_NUM_BARS               "musical_spectrum.num_bars"
37 #define     CONFSTR_MS_BAR_W                  "musical_spectrum.bar_w"
38 #define     CONFSTR_MS_GAPS                   "musical_spectrum.gaps"
39 #define     CONFSTR_MS_DRAW_STYLE             "musical_spectrum.draw_style"
40 #define     CONFSTR_MS_FILL_SPECTRUM          "musical_spectrum.fill_spectrum"
41 #define     CONFSTR_MS_BAR_FALLOFF            "musical_spectrum.bar_falloff"
42 #define     CONFSTR_MS_BAR_DELAY              "musical_spectrum.bar_delay"
43 #define     CONFSTR_MS_PEAK_FALLOFF           "musical_spectrum.peak_falloff"
44 #define     CONFSTR_MS_PEAK_DELAY             "musical_spectrum.peak_delay"
45 #define     CONFSTR_MS_GRADIENT_ORIENTATION   "musical_spectrum.gradient_orientation"
46 #define     CONFSTR_MS_ALIGNMENT              "musical_spectrum.alignment"
47 #define     CONFSTR_MS_WINDOW                 "musical_spectrum.window"
48 #define     CONFSTR_MS_COLOR_BG               "musical_spectrum.color.background"
49 #define     CONFSTR_MS_COLOR_VGRID            "musical_spectrum.color.vgrid"
50 #define     CONFSTR_MS_COLOR_HGRID            "musical_spectrum.color.hgrid"
51 #define     CONFSTR_MS_COLOR_OCTAVE_GRID      "musical_spectrum.color.octave_grid"
52 #define     CONFSTR_MS_NUM_COLORS             "musical_spectrum.num_colors"
53 #define     CONFSTR_MS_COLOR_GRADIENT         "musical_spectrum.color.gradient_"
54 
55 #define MAX_NUM_COLORS 16
56 #define NUM_DEFAULT_COLORS 6
57 
58 extern int CONFIG_REFRESH_INTERVAL;
59 extern int CONFIG_DB_RANGE;
60 extern int CONFIG_ENABLE_HGRID;
61 extern int CONFIG_ENABLE_VGRID;
62 extern int CONFIG_ENABLE_OCTAVE_GRID;
63 extern int CONFIG_ALIGNMENT;
64 extern int CONFIG_ENABLE_BAR_MODE;
65 extern int CONFIG_DISPLAY_OCTAVES;
66 extern int CONFIG_BAR_FALLOFF;
67 extern int CONFIG_BAR_DELAY;
68 extern int CONFIG_PEAK_FALLOFF;
69 extern int CONFIG_PEAK_DELAY;
70 extern int CONFIG_GRADIENT_ORIENTATION;
71 extern int CONFIG_NUM_COLORS;
72 extern int CONFIG_FFT_SIZE;
73 extern int CONFIG_WINDOW;
74 extern int CONFIG_NUM_BARS;
75 extern int CONFIG_BAR_W;
76 extern int CONFIG_GAPS;
77 extern int CONFIG_DRAW_STYLE;
78 extern int CONFIG_FILL_SPECTRUM;
79 extern GdkColor CONFIG_COLOR_BG;
80 extern GdkColor CONFIG_COLOR_VGRID;
81 extern GdkColor CONFIG_COLOR_HGRID;
82 extern GdkColor CONFIG_COLOR_OCTAVE_GRID;
83 extern GdkColor CONFIG_GRADIENT_COLORS[];
84 extern uint32_t CONFIG_COLOR_BG32;
85 extern uint32_t CONFIG_COLOR_VGRID32;
86 extern uint32_t CONFIG_COLOR_HGRID32;
87 extern uint32_t CONFIG_COLOR_OCTAVE_GRID32;
88 
89 extern int FFT_INDEX;
90 
91 enum WINDOW { BLACKMAN_HARRIS = 0, HANNING = 1 };
92 enum ALIGNMENT { LEFT = 0, RIGHT = 1, CENTER = 2 };
93 
94 void
95 load_config (void);
96 
97 void
98 save_config (void);
99 
100 #endif
101