annotate src/xs_config.c @ 831:9cd807b431c8

If we have reSID FP builder, we should not bail out. A theoretical situation, as it is, though.
author Matti Hamalainen <ccr@tnsp.org>
date Thu, 08 Nov 2012 00:37:00 +0200
parents 0617f844ebdb
children 29f3c3f29c0d
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1
183e7cbc1036 Initial revision
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
1 /*
3
279b1e12df2b Updated to version 0.8-devel
Matti Hamalainen <ccr@tnsp.org>
parents: 1
diff changeset
2 XMMS-SID - SIDPlay input plugin for X MultiMedia System (XMMS)
1
183e7cbc1036 Initial revision
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
3
183e7cbc1036 Initial revision
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
4 Configuration dialog
183e7cbc1036 Initial revision
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
5
324
dd201740a720 Changed copyright text.
Matti Hamalainen <ccr@tnsp.org>
parents: 308
diff changeset
6 Programmed and designed by Matti 'ccr' Hamalainen <ccr@tnsp.org>
723
9321ffa2ea7e Update copyright years.
Matti Hamalainen <ccr@tnsp.org>
parents: 722
diff changeset
7 (C) Copyright 1999-2009 Tecnic Software productions (TNSP)
1
183e7cbc1036 Initial revision
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
8
183e7cbc1036 Initial revision
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
9 This program is free software; you can redistribute it and/or modify
183e7cbc1036 Initial revision
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
10 it under the terms of the GNU General Public License as published by
183e7cbc1036 Initial revision
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
11 the Free Software Foundation; either version 2 of the License, or
183e7cbc1036 Initial revision
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
12 (at your option) any later version.
183e7cbc1036 Initial revision
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
13
183e7cbc1036 Initial revision
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
14 This program is distributed in the hope that it will be useful,
183e7cbc1036 Initial revision
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
15 but WITHOUT ANY WARRANTY; without even the implied warranty of
183e7cbc1036 Initial revision
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
16 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
183e7cbc1036 Initial revision
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
17 GNU General Public License for more details.
183e7cbc1036 Initial revision
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
18
412
7f694e5a1493 Updated GNU GPL (new FSF address) and some cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 402
diff changeset
19 You should have received a copy of the GNU General Public License along
7f694e5a1493 Updated GNU GPL (new FSF address) and some cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 402
diff changeset
20 with this program; if not, write to the Free Software Foundation, Inc.,
7f694e5a1493 Updated GNU GPL (new FSF address) and some cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 402
diff changeset
21 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
1
183e7cbc1036 Initial revision
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
22 */
40
1788f4ce6a44 Numerous changes towards 0.8
Matti Hamalainen <ccr@tnsp.org>
parents: 24
diff changeset
23 #include "xs_config.h"
533
9ca430524698 Audacious-related cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 524
diff changeset
24
9ca430524698 Audacious-related cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 524
diff changeset
25 #ifdef AUDACIOUS_PLUGIN
652
7a2d62a249a4 Synchronize with Aud-SID.
Matti Hamalainen <ccr@tnsp.org>
parents: 647
diff changeset
26 #include <audacious/plugin.h>
720
0feeaf698a54 Clean up the XS_CFG_* macros a bit.
Matti Hamalainen <ccr@tnsp.org>
parents: 713
diff changeset
27 #define XS_CONFIG_FILE mcs_handle_t
0feeaf698a54 Clean up the XS_CFG_* macros a bit.
Matti Hamalainen <ccr@tnsp.org>
parents: 713
diff changeset
28 #define XS_CONFIG_OPEN aud_cfg_db_open
0feeaf698a54 Clean up the XS_CFG_* macros a bit.
Matti Hamalainen <ccr@tnsp.org>
parents: 713
diff changeset
29 #define XS_CONFIG_FREE aud_cfg_db_close
533
9ca430524698 Audacious-related cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 524
diff changeset
30
720
0feeaf698a54 Clean up the XS_CFG_* macros a bit.
Matti Hamalainen <ccr@tnsp.org>
parents: 713
diff changeset
31 #define XS_CFG_SET_STRING(q,z) aud_cfg_db_set_string(cfg, XS_CONFIG_IDENT, q, z)
0feeaf698a54 Clean up the XS_CFG_* macros a bit.
Matti Hamalainen <ccr@tnsp.org>
parents: 713
diff changeset
32 #define XS_CFG_SET_FLOAT(q,z) aud_cfg_db_set_float(cfg, XS_CONFIG_IDENT, q, z)
0feeaf698a54 Clean up the XS_CFG_* macros a bit.
Matti Hamalainen <ccr@tnsp.org>
parents: 713
diff changeset
33 #define XS_CFG_SET_INT(q,z) aud_cfg_db_set_int(cfg, XS_CONFIG_IDENT, q, z)
0feeaf698a54 Clean up the XS_CFG_* macros a bit.
Matti Hamalainen <ccr@tnsp.org>
parents: 713
diff changeset
34 #define XS_CFG_SET_BOOL(q,z) aud_cfg_db_set_bool(cfg, XS_CONFIG_IDENT, q, z)
0feeaf698a54 Clean up the XS_CFG_* macros a bit.
Matti Hamalainen <ccr@tnsp.org>
parents: 713
diff changeset
35 #define XS_CFG_GET_STRING(q,z) aud_cfg_db_get_string(cfg, XS_CONFIG_IDENT, q, z)
0feeaf698a54 Clean up the XS_CFG_* macros a bit.
Matti Hamalainen <ccr@tnsp.org>
parents: 713
diff changeset
36 #define XS_CFG_GET_FLOAT(q,z) aud_cfg_db_get_float(cfg, XS_CONFIG_IDENT, q, z)
0feeaf698a54 Clean up the XS_CFG_* macros a bit.
Matti Hamalainen <ccr@tnsp.org>
parents: 713
diff changeset
37 #define XS_CFG_GET_INT(q,z) aud_cfg_db_get_int(cfg, XS_CONFIG_IDENT, q, z)
0feeaf698a54 Clean up the XS_CFG_* macros a bit.
Matti Hamalainen <ccr@tnsp.org>
parents: 713
diff changeset
38 #define XS_CFG_GET_BOOL(q,z) aud_cfg_db_get_bool(cfg, XS_CONFIG_IDENT, q, z)
533
9ca430524698 Audacious-related cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 524
diff changeset
39 #else
3
279b1e12df2b Updated to version 0.8-devel
Matti Hamalainen <ccr@tnsp.org>
parents: 1
diff changeset
40 #include <xmms/configfile.h>
720
0feeaf698a54 Clean up the XS_CFG_* macros a bit.
Matti Hamalainen <ccr@tnsp.org>
parents: 713
diff changeset
41 #define XS_CONFIG_FILE ConfigFile
0feeaf698a54 Clean up the XS_CFG_* macros a bit.
Matti Hamalainen <ccr@tnsp.org>
parents: 713
diff changeset
42 #define XS_CONFIG_OPEN xmms_cfg_open_default_file
0feeaf698a54 Clean up the XS_CFG_* macros a bit.
Matti Hamalainen <ccr@tnsp.org>
parents: 713
diff changeset
43 #define XS_CONFIG_FREE xmms_cfg_free
533
9ca430524698 Audacious-related cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 524
diff changeset
44
720
0feeaf698a54 Clean up the XS_CFG_* macros a bit.
Matti Hamalainen <ccr@tnsp.org>
parents: 713
diff changeset
45 #define XS_CFG_SET_STRING(q,z) xmms_cfg_write_string(cfg, XS_CONFIG_IDENT, q, z)
0feeaf698a54 Clean up the XS_CFG_* macros a bit.
Matti Hamalainen <ccr@tnsp.org>
parents: 713
diff changeset
46 #define XS_CFG_SET_FLOAT(q,z) xmms_cfg_write_float(cfg, XS_CONFIG_IDENT, q, z)
0feeaf698a54 Clean up the XS_CFG_* macros a bit.
Matti Hamalainen <ccr@tnsp.org>
parents: 713
diff changeset
47 #define XS_CFG_SET_INT(q,z) xmms_cfg_write_int(cfg, XS_CONFIG_IDENT, q, z)
0feeaf698a54 Clean up the XS_CFG_* macros a bit.
Matti Hamalainen <ccr@tnsp.org>
parents: 713
diff changeset
48 #define XS_CFG_SET_BOOL(q,z) xmms_cfg_write_boolean(cfg, XS_CONFIG_IDENT, q, z)
0feeaf698a54 Clean up the XS_CFG_* macros a bit.
Matti Hamalainen <ccr@tnsp.org>
parents: 713
diff changeset
49 #define XS_CFG_GET_STRING(q,z) xmms_cfg_read_string(cfg, XS_CONFIG_IDENT, q, z)
0feeaf698a54 Clean up the XS_CFG_* macros a bit.
Matti Hamalainen <ccr@tnsp.org>
parents: 713
diff changeset
50 #define XS_CFG_GET_FLOAT(q,z) xmms_cfg_read_float(cfg, XS_CONFIG_IDENT, q, z)
0feeaf698a54 Clean up the XS_CFG_* macros a bit.
Matti Hamalainen <ccr@tnsp.org>
parents: 713
diff changeset
51 #define XS_CFG_GET_INT(q,z) xmms_cfg_read_int(cfg, XS_CONFIG_IDENT, q, z)
0feeaf698a54 Clean up the XS_CFG_* macros a bit.
Matti Hamalainen <ccr@tnsp.org>
parents: 713
diff changeset
52 #define XS_CFG_GET_BOOL(q,z) xmms_cfg_read_boolean(cfg, XS_CONFIG_IDENT, q, z)
533
9ca430524698 Audacious-related cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 524
diff changeset
53 #endif
3
279b1e12df2b Updated to version 0.8-devel
Matti Hamalainen <ccr@tnsp.org>
parents: 1
diff changeset
54 #include <stdio.h>
589
a437571d0fc5 Work on GUI and filter config code.
Matti Hamalainen <ccr@tnsp.org>
parents: 583
diff changeset
55 #include <ctype.h>
3
279b1e12df2b Updated to version 0.8-devel
Matti Hamalainen <ccr@tnsp.org>
parents: 1
diff changeset
56 #include "xs_glade.h"
279b1e12df2b Updated to version 0.8-devel
Matti Hamalainen <ccr@tnsp.org>
parents: 1
diff changeset
57 #include "xs_interface.h"
63
05220299c6e8 Kuumaa paskaa
Matti Hamalainen <ccr@tnsp.org>
parents: 57
diff changeset
58 #include "xs_support.h"
548
ba80c052e425 Configuration widget naming cleanups and GUI-related improvements;
Matti Hamalainen <ccr@tnsp.org>
parents: 542
diff changeset
59
1
183e7cbc1036 Initial revision
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
60
183e7cbc1036 Initial revision
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
61 /*
3
279b1e12df2b Updated to version 0.8-devel
Matti Hamalainen <ccr@tnsp.org>
parents: 1
diff changeset
62 * Global widgets
1
183e7cbc1036 Initial revision
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
63 */
359
b1a858b8cb1a Re-indentation all (non-generated) code.
Matti Hamalainen <ccr@tnsp.org>
parents: 349
diff changeset
64 static GtkWidget *xs_configwin = NULL,
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
65 *xs_sldb_fileselector = NULL,
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
66 *xs_stil_fileselector = NULL,
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
67 *xs_hvsc_selector = NULL,
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
68 *xs_filt_importselector = NULL,
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
69 *xs_filt_exportselector = NULL;
40
1788f4ce6a44 Numerous changes towards 0.8
Matti Hamalainen <ccr@tnsp.org>
parents: 24
diff changeset
70
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
71 #define LUW(x) lookup_widget(xs_configwin, x)
1
183e7cbc1036 Initial revision
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
72
593
91ca76e6c23f More work towards filter configuration.
Matti Hamalainen <ccr@tnsp.org>
parents: 592
diff changeset
73 /* Samplerates
91ca76e6c23f More work towards filter configuration.
Matti Hamalainen <ccr@tnsp.org>
parents: 592
diff changeset
74 */
785
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
75 static const gchar *xs_samplerates_table[] =
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
76 {
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
77 "8000", "11025", "22050",
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
78 "44100", "48000", "64000",
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
79 "96000"
593
91ca76e6c23f More work towards filter configuration.
Matti Hamalainen <ccr@tnsp.org>
parents: 592
diff changeset
80 };
91ca76e6c23f More work towards filter configuration.
Matti Hamalainen <ccr@tnsp.org>
parents: 592
diff changeset
81
785
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
82 static const gint xs_nsamplerates_table = sizeof(xs_samplerates_table) / sizeof(xs_samplerates_table[0]);
1
183e7cbc1036 Initial revision
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
83
183e7cbc1036 Initial revision
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
84 /*
183e7cbc1036 Initial revision
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
85 * Configuration specific stuff
183e7cbc1036 Initial revision
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
86 */
228
a9a5924eb10c Have and use a mutex for xs_cfg configuration structure.
Matti Hamalainen <ccr@tnsp.org>
parents: 224
diff changeset
87 XS_MUTEX(xs_cfg);
702
b5b6b13a6d85 Renamed some types.
Matti Hamalainen <ccr@tnsp.org>
parents: 684
diff changeset
88 struct xs_cfg_t xs_cfg;
228
a9a5924eb10c Have and use a mutex for xs_cfg configuration structure.
Matti Hamalainen <ccr@tnsp.org>
parents: 224
diff changeset
89
702
b5b6b13a6d85 Renamed some types.
Matti Hamalainen <ccr@tnsp.org>
parents: 684
diff changeset
90 static xs_cfg_item_t xs_cfgtable[] = {
684
4bf845090a25 Indentation cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 666
diff changeset
91 { CTYPE_INT, &xs_cfg.audioBitsPerSample, "audioBitsPerSample" },
4bf845090a25 Indentation cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 666
diff changeset
92 { CTYPE_INT, &xs_cfg.audioChannels, "audioChannels" },
4bf845090a25 Indentation cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 666
diff changeset
93 { CTYPE_INT, &xs_cfg.audioFrequency, "audioFrequency" },
3
279b1e12df2b Updated to version 0.8-devel
Matti Hamalainen <ccr@tnsp.org>
parents: 1
diff changeset
94
684
4bf845090a25 Indentation cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 666
diff changeset
95 { CTYPE_BOOL, &xs_cfg.mos8580, "mos8580" },
4bf845090a25 Indentation cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 666
diff changeset
96 { CTYPE_BOOL, &xs_cfg.forceModel, "forceModel" },
4bf845090a25 Indentation cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 666
diff changeset
97 { CTYPE_BOOL, &xs_cfg.emulateFilters, "emulateFilters" },
713
06db79680afe Added new variables for distortion tunables and made few changes to SID1
Matti Hamalainen <ccr@tnsp.org>
parents: 712
diff changeset
98 { CTYPE_FLOAT, &xs_cfg.sid1Filter.fs, "filterFs" },
06db79680afe Added new variables for distortion tunables and made few changes to SID1
Matti Hamalainen <ccr@tnsp.org>
parents: 712
diff changeset
99 { CTYPE_FLOAT, &xs_cfg.sid1Filter.fm, "filterFm" },
06db79680afe Added new variables for distortion tunables and made few changes to SID1
Matti Hamalainen <ccr@tnsp.org>
parents: 712
diff changeset
100 { CTYPE_FLOAT, &xs_cfg.sid1Filter.ft, "filterFt" },
684
4bf845090a25 Indentation cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 666
diff changeset
101 { CTYPE_INT, &xs_cfg.memoryMode, "memoryMode" },
4bf845090a25 Indentation cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 666
diff changeset
102 { CTYPE_INT, &xs_cfg.clockSpeed, "clockSpeed" },
4bf845090a25 Indentation cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 666
diff changeset
103 { CTYPE_BOOL, &xs_cfg.forceSpeed, "forceSpeed" },
75
653c9b0d1320 SIDPlay2 support "works" now. Borked problems with threads.
Matti Hamalainen <ccr@tnsp.org>
parents: 72
diff changeset
104
684
4bf845090a25 Indentation cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 666
diff changeset
105 { CTYPE_INT, &xs_cfg.playerEngine, "playerEngine" },
190
e036ad3350d6 Cleanup
Matti Hamalainen <ccr@tnsp.org>
parents: 177
diff changeset
106
684
4bf845090a25 Indentation cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 666
diff changeset
107 { CTYPE_INT, &xs_cfg.sid2Builder, "sid2Builder" },
4bf845090a25 Indentation cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 666
diff changeset
108 { CTYPE_INT, &xs_cfg.sid2OptLevel, "sid2OptLevel" },
4bf845090a25 Indentation cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 666
diff changeset
109 { CTYPE_INT, &xs_cfg.sid2NFilterPresets, "sid2NFilterPresets" },
75
653c9b0d1320 SIDPlay2 support "works" now. Borked problems with threads.
Matti Hamalainen <ccr@tnsp.org>
parents: 72
diff changeset
110
684
4bf845090a25 Indentation cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 666
diff changeset
111 { CTYPE_BOOL, &xs_cfg.playMaxTimeEnable, "playMaxTimeEnable" },
4bf845090a25 Indentation cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 666
diff changeset
112 { CTYPE_BOOL, &xs_cfg.playMaxTimeUnknown, "playMaxTimeUnknown" },
4bf845090a25 Indentation cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 666
diff changeset
113 { CTYPE_INT, &xs_cfg.playMaxTime, "playMaxTime" },
4bf845090a25 Indentation cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 666
diff changeset
114 { CTYPE_BOOL, &xs_cfg.playMinTimeEnable, "playMinTimeEnable" },
4bf845090a25 Indentation cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 666
diff changeset
115 { CTYPE_INT, &xs_cfg.playMinTime, "playMinTime" },
4bf845090a25 Indentation cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 666
diff changeset
116 { CTYPE_BOOL, &xs_cfg.songlenDBEnable, "songlenDBEnable" },
4bf845090a25 Indentation cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 666
diff changeset
117 { CTYPE_STR, &xs_cfg.songlenDBPath, "songlenDBPath" },
3
279b1e12df2b Updated to version 0.8-devel
Matti Hamalainen <ccr@tnsp.org>
parents: 1
diff changeset
118
684
4bf845090a25 Indentation cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 666
diff changeset
119 { CTYPE_BOOL, &xs_cfg.stilDBEnable, "stilDBEnable" },
4bf845090a25 Indentation cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 666
diff changeset
120 { CTYPE_STR, &xs_cfg.stilDBPath, "stilDBPath" },
4bf845090a25 Indentation cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 666
diff changeset
121 { CTYPE_STR, &xs_cfg.hvscPath, "hvscPath" },
40
1788f4ce6a44 Numerous changes towards 0.8
Matti Hamalainen <ccr@tnsp.org>
parents: 24
diff changeset
122
624
0bf32fa002bf Merge in some Aud-SID #ifs etc.
Matti Hamalainen <ccr@tnsp.org>
parents: 621
diff changeset
123 #ifndef AUDACIOUS_PLUGIN
684
4bf845090a25 Indentation cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 666
diff changeset
124 { CTYPE_INT, &xs_cfg.subsongControl, "subsongControl" },
4bf845090a25 Indentation cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 666
diff changeset
125 { CTYPE_BOOL, &xs_cfg.detectMagic, "detectMagic" },
652
7a2d62a249a4 Synchronize with Aud-SID.
Matti Hamalainen <ccr@tnsp.org>
parents: 647
diff changeset
126 #endif
3
279b1e12df2b Updated to version 0.8-devel
Matti Hamalainen <ccr@tnsp.org>
parents: 1
diff changeset
127
684
4bf845090a25 Indentation cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 666
diff changeset
128 { CTYPE_BOOL, &xs_cfg.titleOverride, "titleOverride" },
4bf845090a25 Indentation cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 666
diff changeset
129 { CTYPE_STR, &xs_cfg.titleFormat, "titleFormat" },
258
e255f23abf33 Automatic subtune changing options added to config.
Matti Hamalainen <ccr@tnsp.org>
parents: 245
diff changeset
130
684
4bf845090a25 Indentation cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 666
diff changeset
131 { CTYPE_BOOL, &xs_cfg.subAutoEnable, "subAutoEnable" },
4bf845090a25 Indentation cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 666
diff changeset
132 { CTYPE_BOOL, &xs_cfg.subAutoMinOnly, "subAutoMinOnly" },
4bf845090a25 Indentation cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 666
diff changeset
133 { CTYPE_INT, &xs_cfg.subAutoMinTime, "subAutoMinTime" },
40
1788f4ce6a44 Numerous changes towards 0.8
Matti Hamalainen <ccr@tnsp.org>
parents: 24
diff changeset
134 };
3
279b1e12df2b Updated to version 0.8-devel
Matti Hamalainen <ccr@tnsp.org>
parents: 1
diff changeset
135
785
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
136 static const gint xs_ncfgtable = sizeof(xs_cfgtable) / sizeof(xs_cfgtable[0]);
57
85811bcd049e Improved, re-written configuration code and lots of minor fixes
Matti Hamalainen <ccr@tnsp.org>
parents: 50
diff changeset
137
85811bcd049e Improved, re-written configuration code and lots of minor fixes
Matti Hamalainen <ccr@tnsp.org>
parents: 50
diff changeset
138
785
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
139 static xs_wid_item_t xs_cfgitems[] = {
684
4bf845090a25 Indentation cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 666
diff changeset
140 { WTYPE_BGROUP, CTYPE_INT, "cfg_res_16bit", &xs_cfg.audioBitsPerSample, XS_RES_16BIT },
4bf845090a25 Indentation cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 666
diff changeset
141 { WTYPE_BGROUP, CTYPE_INT, "cfg_res_8bit", &xs_cfg.audioBitsPerSample, XS_RES_8BIT },
4bf845090a25 Indentation cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 666
diff changeset
142 { WTYPE_BGROUP, CTYPE_INT, "cfg_chn_mono", &xs_cfg.audioChannels, XS_CHN_MONO },
4bf845090a25 Indentation cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 666
diff changeset
143 { WTYPE_BGROUP, CTYPE_INT, "cfg_chn_stereo", &xs_cfg.audioChannels, XS_CHN_STEREO },
4bf845090a25 Indentation cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 666
diff changeset
144 { WTYPE_BGROUP, CTYPE_INT, "cfg_chn_autopan", &xs_cfg.audioChannels, XS_CHN_AUTOPAN },
4bf845090a25 Indentation cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 666
diff changeset
145 { WTYPE_COMBO, CTYPE_INT, "cfg_samplerate", &xs_cfg.audioFrequency, XS_AUDIO_FREQ },
57
85811bcd049e Improved, re-written configuration code and lots of minor fixes
Matti Hamalainen <ccr@tnsp.org>
parents: 50
diff changeset
146
684
4bf845090a25 Indentation cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 666
diff changeset
147 { WTYPE_BGROUP, CTYPE_INT, "cfg_emu_sidplay1", &xs_cfg.playerEngine, XS_ENG_SIDPLAY1 },
4bf845090a25 Indentation cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 666
diff changeset
148 { WTYPE_BGROUP, CTYPE_INT, "cfg_emu_sidplay2", &xs_cfg.playerEngine, XS_ENG_SIDPLAY2 },
4bf845090a25 Indentation cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 666
diff changeset
149 { WTYPE_BGROUP, CTYPE_INT, "cfg_emu_mem_real", &xs_cfg.memoryMode, XS_MPU_REAL },
4bf845090a25 Indentation cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 666
diff changeset
150 { WTYPE_BGROUP, CTYPE_INT, "cfg_emu_mem_banksw", &xs_cfg.memoryMode, XS_MPU_BANK_SWITCHING },
4bf845090a25 Indentation cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 666
diff changeset
151 { WTYPE_BGROUP, CTYPE_INT, "cfg_emu_mem_transrom", &xs_cfg.memoryMode, XS_MPU_TRANSPARENT_ROM },
4bf845090a25 Indentation cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 666
diff changeset
152 { WTYPE_BGROUP, CTYPE_INT, "cfg_emu_mem_playsid", &xs_cfg.memoryMode, XS_MPU_PLAYSID_ENVIRONMENT },
78
ab522ab65c85 Various fixes and improvements
Matti Hamalainen <ccr@tnsp.org>
parents: 77
diff changeset
153
684
4bf845090a25 Indentation cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 666
diff changeset
154 { WTYPE_BUTTON, CTYPE_BOOL, "cfg_emu_mos8580", &xs_cfg.mos8580, 0 },
4bf845090a25 Indentation cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 666
diff changeset
155 { WTYPE_BUTTON, CTYPE_BOOL, "cfg_emu_sid_force", &xs_cfg.forceModel, 0 },
4bf845090a25 Indentation cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 666
diff changeset
156 { WTYPE_BGROUP, CTYPE_INT, "cfg_emu_clock_ntsc", &xs_cfg.clockSpeed, XS_CLOCK_NTSC },
4bf845090a25 Indentation cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 666
diff changeset
157 { WTYPE_BGROUP, CTYPE_INT, "cfg_emu_clock_pal", &xs_cfg.clockSpeed, XS_CLOCK_PAL },
4bf845090a25 Indentation cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 666
diff changeset
158 { WTYPE_BUTTON, CTYPE_BOOL, "cfg_emu_clock_force", &xs_cfg.forceSpeed, 0 },
4bf845090a25 Indentation cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 666
diff changeset
159 { WTYPE_BUTTON, CTYPE_BOOL, "cfg_emu_sp2_opt", &xs_cfg.sid2OptLevel, 0 },
87
94497283affa Various fixes and improvements
Matti Hamalainen <ccr@tnsp.org>
parents: 78
diff changeset
160
773
45108b3d88db Add resid-fp and resid backend to sidplay2fp support.
Matti Hamalainen <ccr@tnsp.org>
parents: 761
diff changeset
161 { WTYPE_BGROUP, CTYPE_INT, "cfg_emu_sp2_resid_fp", &xs_cfg.sid2Builder, XS_BLD_RESID_FP },
684
4bf845090a25 Indentation cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 666
diff changeset
162 { WTYPE_BGROUP, CTYPE_INT, "cfg_emu_sp2_resid", &xs_cfg.sid2Builder, XS_BLD_RESID },
4bf845090a25 Indentation cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 666
diff changeset
163 { WTYPE_BGROUP, CTYPE_INT, "cfg_emu_sp2_hardsid", &xs_cfg.sid2Builder, XS_BLD_HARDSID },
57
85811bcd049e Improved, re-written configuration code and lots of minor fixes
Matti Hamalainen <ccr@tnsp.org>
parents: 50
diff changeset
164
684
4bf845090a25 Indentation cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 666
diff changeset
165 { WTYPE_BUTTON, CTYPE_BOOL, "cfg_emu_filters", &xs_cfg.emulateFilters, 0 },
713
06db79680afe Added new variables for distortion tunables and made few changes to SID1
Matti Hamalainen <ccr@tnsp.org>
parents: 712
diff changeset
166 { WTYPE_SCALE, CTYPE_FLOAT, "cfg_sp1_filter_fs", &xs_cfg.sid1Filter.fs, 0 },
06db79680afe Added new variables for distortion tunables and made few changes to SID1
Matti Hamalainen <ccr@tnsp.org>
parents: 712
diff changeset
167 { WTYPE_SCALE, CTYPE_FLOAT, "cfg_sp1_filter_fm", &xs_cfg.sid1Filter.fm, 0 },
06db79680afe Added new variables for distortion tunables and made few changes to SID1
Matti Hamalainen <ccr@tnsp.org>
parents: 712
diff changeset
168 { WTYPE_SCALE, CTYPE_FLOAT, "cfg_sp1_filter_ft", &xs_cfg.sid1Filter.ft, 0 },
64
d3bb914e3af3 Fixes for sidplay2 stuff
Matti Hamalainen <ccr@tnsp.org>
parents: 63
diff changeset
169
684
4bf845090a25 Indentation cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 666
diff changeset
170 { WTYPE_BUTTON, CTYPE_BOOL, "cfg_maxtime_enable", &xs_cfg.playMaxTimeEnable, 0 },
4bf845090a25 Indentation cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 666
diff changeset
171 { WTYPE_BUTTON, CTYPE_BOOL, "cfg_maxtime_unknown", &xs_cfg.playMaxTimeUnknown, 0 },
4bf845090a25 Indentation cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 666
diff changeset
172 { WTYPE_SPIN, CTYPE_INT, "cfg_maxtime", &xs_cfg.playMaxTime, 0 },
4bf845090a25 Indentation cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 666
diff changeset
173 { WTYPE_BUTTON, CTYPE_BOOL, "cfg_mintime_enable", &xs_cfg.playMinTimeEnable, 0 },
4bf845090a25 Indentation cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 666
diff changeset
174 { WTYPE_SPIN, CTYPE_INT, "cfg_mintime", &xs_cfg.playMinTime, 0 },
4bf845090a25 Indentation cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 666
diff changeset
175 { WTYPE_BUTTON, CTYPE_BOOL, "cfg_sld_enable", &xs_cfg.songlenDBEnable, 0 },
4bf845090a25 Indentation cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 666
diff changeset
176 { WTYPE_TEXT, CTYPE_STR, "cfg_sld_dbpath", &xs_cfg.songlenDBPath, 0 },
57
85811bcd049e Improved, re-written configuration code and lots of minor fixes
Matti Hamalainen <ccr@tnsp.org>
parents: 50
diff changeset
177
684
4bf845090a25 Indentation cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 666
diff changeset
178 { WTYPE_BUTTON, CTYPE_BOOL, "cfg_stil_enable", &xs_cfg.stilDBEnable, 0 },
4bf845090a25 Indentation cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 666
diff changeset
179 { WTYPE_TEXT, CTYPE_STR, "cfg_stil_dbpath", &xs_cfg.stilDBPath, 0 },
4bf845090a25 Indentation cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 666
diff changeset
180 { WTYPE_TEXT, CTYPE_STR, "cfg_hvsc_path", &xs_cfg.hvscPath, 0 },
360
3bea6584259f Indentation fixes and SID model forcing
Matti Hamalainen <ccr@tnsp.org>
parents: 359
diff changeset
181
624
0bf32fa002bf Merge in some Aud-SID #ifs etc.
Matti Hamalainen <ccr@tnsp.org>
parents: 621
diff changeset
182 #ifndef AUDACIOUS_PLUGIN
684
4bf845090a25 Indentation cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 666
diff changeset
183 { WTYPE_BGROUP, CTYPE_INT, "cfg_subctrl_none", &xs_cfg.subsongControl, XS_SSC_NONE },
4bf845090a25 Indentation cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 666
diff changeset
184 { WTYPE_BGROUP, CTYPE_INT, "cfg_subctrl_seek", &xs_cfg.subsongControl, XS_SSC_SEEK },
4bf845090a25 Indentation cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 666
diff changeset
185 { WTYPE_BGROUP, CTYPE_INT, "cfg_subctrl_popup", &xs_cfg.subsongControl, XS_SSC_POPUP },
4bf845090a25 Indentation cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 666
diff changeset
186 { WTYPE_BGROUP, CTYPE_INT, "cfg_subctrl_patch", &xs_cfg.subsongControl, XS_SSC_PATCH },
78
ab522ab65c85 Various fixes and improvements
Matti Hamalainen <ccr@tnsp.org>
parents: 77
diff changeset
187
684
4bf845090a25 Indentation cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 666
diff changeset
188 { WTYPE_BUTTON, CTYPE_BOOL, "cfg_detectmagic", &xs_cfg.detectMagic, 0 },
652
7a2d62a249a4 Synchronize with Aud-SID.
Matti Hamalainen <ccr@tnsp.org>
parents: 647
diff changeset
189 #endif
57
85811bcd049e Improved, re-written configuration code and lots of minor fixes
Matti Hamalainen <ccr@tnsp.org>
parents: 50
diff changeset
190
684
4bf845090a25 Indentation cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 666
diff changeset
191 { WTYPE_BUTTON, CTYPE_BOOL, "cfg_ftitle_override", &xs_cfg.titleOverride, 0 },
4bf845090a25 Indentation cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 666
diff changeset
192 { WTYPE_TEXT, CTYPE_STR, "cfg_ftitle_format", &xs_cfg.titleFormat, 0 },
72
e3b205a6bc7e Lots re-arranging and new code for upcoming modularization.
Matti Hamalainen <ccr@tnsp.org>
parents: 69
diff changeset
193
684
4bf845090a25 Indentation cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 666
diff changeset
194 { WTYPE_BUTTON, CTYPE_BOOL, "cfg_subauto_enable", &xs_cfg.subAutoEnable, 0 },
4bf845090a25 Indentation cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 666
diff changeset
195 { WTYPE_BUTTON, CTYPE_BOOL, "cfg_subauto_min_only", &xs_cfg.subAutoMinOnly, 0 },
4bf845090a25 Indentation cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 666
diff changeset
196 { WTYPE_SPIN, CTYPE_INT, "cfg_subauto_mintime", &xs_cfg.subAutoMinTime, 0 },
57
85811bcd049e Improved, re-written configuration code and lots of minor fixes
Matti Hamalainen <ccr@tnsp.org>
parents: 50
diff changeset
197 };
85811bcd049e Improved, re-written configuration code and lots of minor fixes
Matti Hamalainen <ccr@tnsp.org>
parents: 50
diff changeset
198
785
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
199 static const gint xs_nwidtable = sizeof(xs_cfgitems) / sizeof(xs_cfgitems[0]);
1
183e7cbc1036 Initial revision
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
200
183e7cbc1036 Initial revision
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
201
548
ba80c052e425 Configuration widget naming cleanups and GUI-related improvements;
Matti Hamalainen <ccr@tnsp.org>
parents: 542
diff changeset
202 /* Reset/initialize the configuration
1
183e7cbc1036 Initial revision
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
203 */
271
eebb38debe35 Separate xs_init_configuration() from xs_read_configuration()
Matti Hamalainen <ccr@tnsp.org>
parents: 260
diff changeset
204 void xs_init_configuration(void)
1
183e7cbc1036 Initial revision
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
205 {
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
206 /* Lock configuration mutex */
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
207 XSDEBUG("initializing configuration ...\n");
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
208 XS_MUTEX_LOCK(xs_cfg);
3
279b1e12df2b Updated to version 0.8-devel
Matti Hamalainen <ccr@tnsp.org>
parents: 1
diff changeset
209
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
210 memset(&xs_cfg, 0, sizeof(xs_cfg));
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
211
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
212 /* Initialize values with sensible defaults */
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
213 xs_cfg.audioBitsPerSample = XS_RES_16BIT;
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
214 xs_cfg.audioChannels = XS_CHN_MONO;
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
215 xs_cfg.audioFrequency = XS_AUDIO_FREQ;
3
279b1e12df2b Updated to version 0.8-devel
Matti Hamalainen <ccr@tnsp.org>
parents: 1
diff changeset
216
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
217 xs_cfg.mos8580 = FALSE;
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
218 xs_cfg.forceModel = FALSE;
230
608f31f6c095 Raw cleanup.
Matti Hamalainen <ccr@tnsp.org>
parents: 228
diff changeset
219
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
220 /* Filter values */
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
221 xs_cfg.emulateFilters = TRUE;
713
06db79680afe Added new variables for distortion tunables and made few changes to SID1
Matti Hamalainen <ccr@tnsp.org>
parents: 712
diff changeset
222 xs_cfg.sid1Filter.fs = XS_SIDPLAY1_FS;
06db79680afe Added new variables for distortion tunables and made few changes to SID1
Matti Hamalainen <ccr@tnsp.org>
parents: 712
diff changeset
223 xs_cfg.sid1Filter.fm = XS_SIDPLAY1_FM;
06db79680afe Added new variables for distortion tunables and made few changes to SID1
Matti Hamalainen <ccr@tnsp.org>
parents: 712
diff changeset
224 xs_cfg.sid1Filter.ft = XS_SIDPLAY1_FT;
44
90cd38b28a72 Various fixes and transmogrifying for dual emulation engine environment
Matti Hamalainen <ccr@tnsp.org>
parents: 42
diff changeset
225
761
641b7693fecc Cosmetic cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 750
diff changeset
226 #if defined(HAVE_SIDPLAY2)
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
227 xs_cfg.playerEngine = XS_ENG_SIDPLAY2;
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
228 xs_cfg.memoryMode = XS_MPU_REAL;
761
641b7693fecc Cosmetic cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 750
diff changeset
229 #elif defined(HAVE_SIDPLAY1)
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
230 xs_cfg.playerEngine = XS_ENG_SIDPLAY1;
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
231 xs_cfg.memoryMode = XS_MPU_BANK_SWITCHING;
77
3fca0b13a80a Configuration panel tweaking
Matti Hamalainen <ccr@tnsp.org>
parents: 75
diff changeset
232 #else
141
7327a985aee8 Typofixes
Matti Hamalainen <ccr@tnsp.org>
parents: 136
diff changeset
233 #error This should not happen! No emulator engines configured in!
77
3fca0b13a80a Configuration panel tweaking
Matti Hamalainen <ccr@tnsp.org>
parents: 75
diff changeset
234 #endif
44
90cd38b28a72 Various fixes and transmogrifying for dual emulation engine environment
Matti Hamalainen <ccr@tnsp.org>
parents: 42
diff changeset
235
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
236 xs_cfg.clockSpeed = XS_CLOCK_PAL;
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
237 xs_cfg.forceSpeed = FALSE;
75
653c9b0d1320 SIDPlay2 support "works" now. Borked problems with threads.
Matti Hamalainen <ccr@tnsp.org>
parents: 72
diff changeset
238
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
239 xs_cfg.sid2OptLevel = 0;
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
240 xs_cfg.sid2NFilterPresets = 0;
621
11e24183ff23 Properly initialize xs_cfg struct; Check for 0 in sid2NFilterPresets.
Matti Hamalainen <ccr@tnsp.org>
parents: 620
diff changeset
241
831
9cd807b431c8 If we have reSID FP builder, we should not bail out. A theoretical
Matti Hamalainen <ccr@tnsp.org>
parents: 793
diff changeset
242 #if defined(HAVE_RESID_BUILDER) || defined(HAVE_RESID_FP_BUILDER)
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
243 xs_cfg.sid2Builder = XS_BLD_RESID;
761
641b7693fecc Cosmetic cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 750
diff changeset
244 #elif defined(HAVE_HARDSID_BUILDER)
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
245 xs_cfg.sid2Builder = XS_BLD_HARDSID;
761
641b7693fecc Cosmetic cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 750
diff changeset
246 #elif defined(HAVE_SIDPLAY2)
641b7693fecc Cosmetic cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 750
diff changeset
247 # error This should not happen! No supported SIDPlay2 builders configured in!
78
ab522ab65c85 Various fixes and improvements
Matti Hamalainen <ccr@tnsp.org>
parents: 77
diff changeset
248 #endif
75
653c9b0d1320 SIDPlay2 support "works" now. Borked problems with threads.
Matti Hamalainen <ccr@tnsp.org>
parents: 72
diff changeset
249
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
250 xs_cfg.playMaxTimeEnable = FALSE;
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
251 xs_cfg.playMaxTimeUnknown = FALSE;
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
252 xs_cfg.playMaxTime = 150;
169
676ec1a1ab93 Minimum playtime option
Matti Hamalainen <ccr@tnsp.org>
parents: 161
diff changeset
253
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
254 xs_cfg.playMinTimeEnable = FALSE;
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
255 xs_cfg.playMinTime = 15;
3
279b1e12df2b Updated to version 0.8-devel
Matti Hamalainen <ccr@tnsp.org>
parents: 1
diff changeset
256
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
257 xs_cfg.songlenDBEnable = FALSE;
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
258 xs_pstrcpy(&xs_cfg.songlenDBPath, "~/C64Music/Songlengths.txt");
359
b1a858b8cb1a Re-indentation all (non-generated) code.
Matti Hamalainen <ccr@tnsp.org>
parents: 349
diff changeset
259
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
260 xs_cfg.stilDBEnable = FALSE;
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
261 xs_pstrcpy(&xs_cfg.stilDBPath, "~/C64Music/DOCUMENTS/STIL.txt");
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
262 xs_pstrcpy(&xs_cfg.hvscPath, "~/C64Music");
3
279b1e12df2b Updated to version 0.8-devel
Matti Hamalainen <ccr@tnsp.org>
parents: 1
diff changeset
263
652
7a2d62a249a4 Synchronize with Aud-SID.
Matti Hamalainen <ccr@tnsp.org>
parents: 647
diff changeset
264 #if defined(HAVE_SONG_POSITION) && !defined(AUDACIOUS_PLUGIN)
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
265 xs_cfg.subsongControl = XS_SSC_PATCH;
78
ab522ab65c85 Various fixes and improvements
Matti Hamalainen <ccr@tnsp.org>
parents: 77
diff changeset
266 #else
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
267 xs_cfg.subsongControl = XS_SSC_POPUP;
78
ab522ab65c85 Various fixes and improvements
Matti Hamalainen <ccr@tnsp.org>
parents: 77
diff changeset
268 #endif
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
269 xs_cfg.detectMagic = FALSE;
1
183e7cbc1036 Initial revision
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
270
745
9dc5378cc806 Remove XMMS_EXTRA stuff, as we require XMMS 1.2.10+ now.
Matti Hamalainen <ccr@tnsp.org>
parents: 723
diff changeset
271 xs_cfg.titleOverride = FALSE;
3
279b1e12df2b Updated to version 0.8-devel
Matti Hamalainen <ccr@tnsp.org>
parents: 1
diff changeset
272
652
7a2d62a249a4 Synchronize with Aud-SID.
Matti Hamalainen <ccr@tnsp.org>
parents: 647
diff changeset
273 #ifdef AUDACIOUS_PLUGIN
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
274 xs_pstrcpy(&xs_cfg.titleFormat, "${artist} - ${title} (${copyright}) <${subsong-id}/${subsong-num}> [${sid-model}/${sid-speed}]");
652
7a2d62a249a4 Synchronize with Aud-SID.
Matti Hamalainen <ccr@tnsp.org>
parents: 647
diff changeset
275 #else
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
276 xs_pstrcpy(&xs_cfg.titleFormat, "%p - %t (%c) <%n/%N> [%m/%C]");
652
7a2d62a249a4 Synchronize with Aud-SID.
Matti Hamalainen <ccr@tnsp.org>
parents: 647
diff changeset
277 #endif
3
279b1e12df2b Updated to version 0.8-devel
Matti Hamalainen <ccr@tnsp.org>
parents: 1
diff changeset
278
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
279 xs_cfg.subAutoEnable = FALSE;
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
280 xs_cfg.subAutoMinOnly = TRUE;
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
281 xs_cfg.subAutoMinTime = 15;
260
7a23dfef023d More subauto poking.
Matti Hamalainen <ccr@tnsp.org>
parents: 258
diff changeset
282
359
b1a858b8cb1a Re-indentation all (non-generated) code.
Matti Hamalainen <ccr@tnsp.org>
parents: 349
diff changeset
283
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
284 /* Unlock the configuration */
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
285 XS_MUTEX_UNLOCK(xs_cfg);
271
eebb38debe35 Separate xs_init_configuration() from xs_read_configuration()
Matti Hamalainen <ccr@tnsp.org>
parents: 260
diff changeset
286 }
eebb38debe35 Separate xs_init_configuration() from xs_read_configuration()
Matti Hamalainen <ccr@tnsp.org>
parents: 260
diff changeset
287
eebb38debe35 Separate xs_init_configuration() from xs_read_configuration()
Matti Hamalainen <ccr@tnsp.org>
parents: 260
diff changeset
288
548
ba80c052e425 Configuration widget naming cleanups and GUI-related improvements;
Matti Hamalainen <ccr@tnsp.org>
parents: 542
diff changeset
289 /* Filter configuration handling
ba80c052e425 Configuration widget naming cleanups and GUI-related improvements;
Matti Hamalainen <ccr@tnsp.org>
parents: 542
diff changeset
290 */
721
2b6a29eefffb More work on implementing working filter saving, loading, importing and
Matti Hamalainen <ccr@tnsp.org>
parents: 720
diff changeset
291 static void xs_filters_error(const gchar *fmt, ...)
2b6a29eefffb More work on implementing working filter saving, loading, importing and
Matti Hamalainen <ccr@tnsp.org>
parents: 720
diff changeset
292 {
2b6a29eefffb More work on implementing working filter saving, loading, importing and
Matti Hamalainen <ccr@tnsp.org>
parents: 720
diff changeset
293 va_list ap;
2b6a29eefffb More work on implementing working filter saving, loading, importing and
Matti Hamalainen <ccr@tnsp.org>
parents: 720
diff changeset
294 gchar *msg;
2b6a29eefffb More work on implementing working filter saving, loading, importing and
Matti Hamalainen <ccr@tnsp.org>
parents: 720
diff changeset
295
2b6a29eefffb More work on implementing working filter saving, loading, importing and
Matti Hamalainen <ccr@tnsp.org>
parents: 720
diff changeset
296 va_start(ap, fmt);
2b6a29eefffb More work on implementing working filter saving, loading, importing and
Matti Hamalainen <ccr@tnsp.org>
parents: 720
diff changeset
297 msg = g_strdup_vprintf(fmt, ap);
2b6a29eefffb More work on implementing working filter saving, loading, importing and
Matti Hamalainen <ccr@tnsp.org>
parents: 720
diff changeset
298 va_end(ap);
2b6a29eefffb More work on implementing working filter saving, loading, importing and
Matti Hamalainen <ccr@tnsp.org>
parents: 720
diff changeset
299
2b6a29eefffb More work on implementing working filter saving, loading, importing and
Matti Hamalainen <ccr@tnsp.org>
parents: 720
diff changeset
300 xmms_show_message(_(PACKAGE_NAME " Error"), msg, _("OK"), TRUE, NULL, NULL);
2b6a29eefffb More work on implementing working filter saving, loading, importing and
Matti Hamalainen <ccr@tnsp.org>
parents: 720
diff changeset
301 g_free(msg);
2b6a29eefffb More work on implementing working filter saving, loading, importing and
Matti Hamalainen <ccr@tnsp.org>
parents: 720
diff changeset
302 }
2b6a29eefffb More work on implementing working filter saving, loading, importing and
Matti Hamalainen <ccr@tnsp.org>
parents: 720
diff changeset
303
2b6a29eefffb More work on implementing working filter saving, loading, importing and
Matti Hamalainen <ccr@tnsp.org>
parents: 720
diff changeset
304
722
5923dfff1fac Unify xs_sid*_filter_t into one.
Matti Hamalainen <ccr@tnsp.org>
parents: 721
diff changeset
305 static void xs_filter_free(xs_sid_filter_t *filter)
721
2b6a29eefffb More work on implementing working filter saving, loading, importing and
Matti Hamalainen <ccr@tnsp.org>
parents: 720
diff changeset
306 {
785
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
307 if (filter)
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
308 {
721
2b6a29eefffb More work on implementing working filter saving, loading, importing and
Matti Hamalainen <ccr@tnsp.org>
parents: 720
diff changeset
309 g_free(filter->name);
2b6a29eefffb More work on implementing working filter saving, loading, importing and
Matti Hamalainen <ccr@tnsp.org>
parents: 720
diff changeset
310 filter->name = NULL;
2b6a29eefffb More work on implementing working filter saving, loading, importing and
Matti Hamalainen <ccr@tnsp.org>
parents: 720
diff changeset
311 g_free(filter);
2b6a29eefffb More work on implementing working filter saving, loading, importing and
Matti Hamalainen <ccr@tnsp.org>
parents: 720
diff changeset
312 }
2b6a29eefffb More work on implementing working filter saving, loading, importing and
Matti Hamalainen <ccr@tnsp.org>
parents: 720
diff changeset
313 }
2b6a29eefffb More work on implementing working filter saving, loading, importing and
Matti Hamalainen <ccr@tnsp.org>
parents: 720
diff changeset
314
2b6a29eefffb More work on implementing working filter saving, loading, importing and
Matti Hamalainen <ccr@tnsp.org>
parents: 720
diff changeset
315
552
9494fee305fa Config item changes; Unfinished filter preset handling functions.
Matti Hamalainen <ccr@tnsp.org>
parents: 548
diff changeset
316 #define XS_FITEM (4 * 2)
9494fee305fa Config item changes; Unfinished filter preset handling functions.
Matti Hamalainen <ccr@tnsp.org>
parents: 548
diff changeset
317
722
5923dfff1fac Unify xs_sid*_filter_t into one.
Matti Hamalainen <ccr@tnsp.org>
parents: 721
diff changeset
318 static gboolean xs_filter_load_into(XS_CONFIG_FILE *cfg, gint nFilter, xs_sid_filter_t *filter)
548
ba80c052e425 Configuration widget naming cleanups and GUI-related improvements;
Matti Hamalainen <ccr@tnsp.org>
parents: 542
diff changeset
319 {
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
320 gchar tmpKey[64], *tmpStr;
785
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
321 gint i, j;
552
9494fee305fa Config item changes; Unfinished filter preset handling functions.
Matti Hamalainen <ccr@tnsp.org>
parents: 548
diff changeset
322
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
323 /* Get fields from config */
721
2b6a29eefffb More work on implementing working filter saving, loading, importing and
Matti Hamalainen <ccr@tnsp.org>
parents: 720
diff changeset
324 g_snprintf(tmpKey, sizeof(tmpKey), "filter%dType", nFilter);
2b6a29eefffb More work on implementing working filter saving, loading, importing and
Matti Hamalainen <ccr@tnsp.org>
parents: 720
diff changeset
325 if (!XS_CFG_GET_INT(tmpKey, &(filter->type)))
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
326 return FALSE;
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
327
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
328 g_snprintf(tmpKey, sizeof(tmpKey), "filter%dName", nFilter);
720
0feeaf698a54 Clean up the XS_CFG_* macros a bit.
Matti Hamalainen <ccr@tnsp.org>
parents: 713
diff changeset
329 if (!XS_CFG_GET_STRING(tmpKey, &tmpStr))
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
330 return FALSE;
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
331
721
2b6a29eefffb More work on implementing working filter saving, loading, importing and
Matti Hamalainen <ccr@tnsp.org>
parents: 720
diff changeset
332 filter->name = g_strdup(tmpStr);
2b6a29eefffb More work on implementing working filter saving, loading, importing and
Matti Hamalainen <ccr@tnsp.org>
parents: 720
diff changeset
333 if (filter->name == NULL)
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
334 return FALSE;
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
335
785
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
336 switch (filter->type)
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
337 {
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
338 case 1:
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
339
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
340 /* Types 1 has points */
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
341 g_snprintf(tmpKey, sizeof(tmpKey), "filter%dNPoints", nFilter);
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
342 if (!XS_CFG_GET_INT(tmpKey, &(filter->npoints)))
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
343 return FALSE;
721
2b6a29eefffb More work on implementing working filter saving, loading, importing and
Matti Hamalainen <ccr@tnsp.org>
parents: 720
diff changeset
344
785
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
345 g_snprintf(tmpKey, sizeof(tmpKey), "filter%dPoints", nFilter);
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
346 if (!XS_CFG_GET_STRING(tmpKey, &tmpStr))
721
2b6a29eefffb More work on implementing working filter saving, loading, importing and
Matti Hamalainen <ccr@tnsp.org>
parents: 720
diff changeset
347 return FALSE;
785
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
348
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
349 for (i = 0, j = 0; i < filter->npoints; i++, j += XS_FITEM)
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
350 {
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
351 if (sscanf(&tmpStr[j], "%4x%4x",
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
352 &(filter->points[i].x),
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
353 &(filter->points[i].y)) != 2)
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
354 return FALSE;
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
355 }
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
356 break;
721
2b6a29eefffb More work on implementing working filter saving, loading, importing and
Matti Hamalainen <ccr@tnsp.org>
parents: 720
diff changeset
357
785
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
358 case 3:
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
359 /* Type 3 has tunables */
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
360 g_snprintf(tmpKey, sizeof(tmpKey), "filter%dData", nFilter);
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
361 if (!XS_CFG_GET_STRING(tmpKey, &tmpStr))
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
362 return FALSE;
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
363
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
364 if (sscanf(tmpStr, "%f,%f,%f,%f", &filter->rate, &filter->point,
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
365 &filter->voice_nonlinearity, &filter->cf_treshold) != 4)
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
366 return FALSE;
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
367
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
368 g_snprintf(tmpKey, sizeof(tmpKey), "filter%dData3", nFilter);
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
369 if (!XS_CFG_GET_STRING(tmpKey, &tmpStr))
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
370 return FALSE;
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
371
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
372 if (sscanf(tmpStr, "%f,%f,%f,%f", &filter->baseresistance,
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
373 &filter->offset, &filter->steepness,
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
374 &filter->minimumfetresistance) != 4)
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
375 return FALSE;
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
376 break;
721
2b6a29eefffb More work on implementing working filter saving, loading, importing and
Matti Hamalainen <ccr@tnsp.org>
parents: 720
diff changeset
377
785
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
378 case 4:
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
379 /* Type 4 has fewer tunables */
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
380 g_snprintf(tmpKey, sizeof(tmpKey), "filter%dData4", nFilter);
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
381 if (!XS_CFG_GET_STRING(tmpKey, &tmpStr))
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
382 return FALSE;
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
383
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
384 if (sscanf(tmpStr, "%f,%f", &filter->k, &filter->b) != 2)
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
385 return FALSE;
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
386 break;
721
2b6a29eefffb More work on implementing working filter saving, loading, importing and
Matti Hamalainen <ccr@tnsp.org>
parents: 720
diff changeset
387
785
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
388 default:
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
389 xs_error("Unknown filter type %d for '%s' (#%d).\n", filter->type, filter->name, nFilter);
721
2b6a29eefffb More work on implementing working filter saving, loading, importing and
Matti Hamalainen <ccr@tnsp.org>
parents: 720
diff changeset
390 return FALSE;
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
391 }
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
392
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
393 return TRUE;
548
ba80c052e425 Configuration widget naming cleanups and GUI-related improvements;
Matti Hamalainen <ccr@tnsp.org>
parents: 542
diff changeset
394 }
ba80c052e425 Configuration widget naming cleanups and GUI-related improvements;
Matti Hamalainen <ccr@tnsp.org>
parents: 542
diff changeset
395
552
9494fee305fa Config item changes; Unfinished filter preset handling functions.
Matti Hamalainen <ccr@tnsp.org>
parents: 548
diff changeset
396
722
5923dfff1fac Unify xs_sid*_filter_t into one.
Matti Hamalainen <ccr@tnsp.org>
parents: 721
diff changeset
397 static xs_sid_filter_t * xs_filter_load(XS_CONFIG_FILE *cfg, gint nFilter)
552
9494fee305fa Config item changes; Unfinished filter preset handling functions.
Matti Hamalainen <ccr@tnsp.org>
parents: 548
diff changeset
398 {
722
5923dfff1fac Unify xs_sid*_filter_t into one.
Matti Hamalainen <ccr@tnsp.org>
parents: 721
diff changeset
399 xs_sid_filter_t *filter;
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
400
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
401 /* Allocate filter struct */
722
5923dfff1fac Unify xs_sid*_filter_t into one.
Matti Hamalainen <ccr@tnsp.org>
parents: 721
diff changeset
402 if ((filter = g_malloc0(sizeof(xs_sid_filter_t))) == NULL)
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
403 return NULL;
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
404
785
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
405 if (!xs_filter_load_into(cfg, nFilter, filter))
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
406 {
721
2b6a29eefffb More work on implementing working filter saving, loading, importing and
Matti Hamalainen <ccr@tnsp.org>
parents: 720
diff changeset
407 xs_error("Error loading filter %d from configuration.\n", nFilter);
2b6a29eefffb More work on implementing working filter saving, loading, importing and
Matti Hamalainen <ccr@tnsp.org>
parents: 720
diff changeset
408 xs_filter_free(filter);
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
409 return NULL;
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
410 } else
721
2b6a29eefffb More work on implementing working filter saving, loading, importing and
Matti Hamalainen <ccr@tnsp.org>
parents: 720
diff changeset
411 return filter;
552
9494fee305fa Config item changes; Unfinished filter preset handling functions.
Matti Hamalainen <ccr@tnsp.org>
parents: 548
diff changeset
412 }
9494fee305fa Config item changes; Unfinished filter preset handling functions.
Matti Hamalainen <ccr@tnsp.org>
parents: 548
diff changeset
413
721
2b6a29eefffb More work on implementing working filter saving, loading, importing and
Matti Hamalainen <ccr@tnsp.org>
parents: 720
diff changeset
414
652
7a2d62a249a4 Synchronize with Aud-SID.
Matti Hamalainen <ccr@tnsp.org>
parents: 647
diff changeset
415 #if 0
722
5923dfff1fac Unify xs_sid*_filter_t into one.
Matti Hamalainen <ccr@tnsp.org>
parents: 721
diff changeset
416 static gboolean xs_filter_save(XS_CONFIG_FILE *cfg, xs_sid_filter_t *pFilter, gint nFilter)
548
ba80c052e425 Configuration widget naming cleanups and GUI-related improvements;
Matti Hamalainen <ccr@tnsp.org>
parents: 542
diff changeset
417 {
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
418 gchar *tmpValue, tmpKey[64];
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
419 gint i, j;
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
420
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
421 /* Allocate memory for value string */
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
422 tmpValue = g_malloc(sizeof(gchar) * XS_FITEM * (pFilter->npoints + 1));
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
423 if (tmpValue == NULL)
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
424 return FALSE;
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
425
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
426 /* Make value string */
785
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
427 for (i = 0, j = 0; i < pFilter->npoints; i++, j += XS_FITEM)
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
428 {
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
429 g_snprintf(&tmpValue[j], XS_FITEM+1, "%04x%04x",
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
430 pFilter->points[i].x,
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
431 pFilter->points[i].y);
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
432 }
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
433
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
434 /* Write into the configuration */
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
435 g_snprintf(tmpKey, sizeof(tmpKey), "filter%dName", nFilter);
720
0feeaf698a54 Clean up the XS_CFG_* macros a bit.
Matti Hamalainen <ccr@tnsp.org>
parents: 713
diff changeset
436 XS_CFG_SET_STRING(tmpKey, pFilter->name);
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
437
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
438 g_snprintf(tmpKey, sizeof(tmpKey), "filter%dNPoints", nFilter);
720
0feeaf698a54 Clean up the XS_CFG_* macros a bit.
Matti Hamalainen <ccr@tnsp.org>
parents: 713
diff changeset
439 XS_CFG_SET_INT(tmpKey, pFilter->npoints);
552
9494fee305fa Config item changes; Unfinished filter preset handling functions.
Matti Hamalainen <ccr@tnsp.org>
parents: 548
diff changeset
440
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
441 g_snprintf(tmpKey, sizeof(tmpKey), "filter%dPoints", nFilter);
720
0feeaf698a54 Clean up the XS_CFG_* macros a bit.
Matti Hamalainen <ccr@tnsp.org>
parents: 713
diff changeset
442 XS_CFG_SET_STRING(tmpKey, tmpValue);
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
443
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
444 g_free(tmpValue);
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
445 return TRUE;
548
ba80c052e425 Configuration widget naming cleanups and GUI-related improvements;
Matti Hamalainen <ccr@tnsp.org>
parents: 542
diff changeset
446 }
652
7a2d62a249a4 Synchronize with Aud-SID.
Matti Hamalainen <ccr@tnsp.org>
parents: 647
diff changeset
447 #endif
548
ba80c052e425 Configuration widget naming cleanups and GUI-related improvements;
Matti Hamalainen <ccr@tnsp.org>
parents: 542
diff changeset
448
721
2b6a29eefffb More work on implementing working filter saving, loading, importing and
Matti Hamalainen <ccr@tnsp.org>
parents: 720
diff changeset
449
548
ba80c052e425 Configuration widget naming cleanups and GUI-related improvements;
Matti Hamalainen <ccr@tnsp.org>
parents: 542
diff changeset
450 /* Filter exporting and importing. These functions export/import
ba80c052e425 Configuration widget naming cleanups and GUI-related improvements;
Matti Hamalainen <ccr@tnsp.org>
parents: 542
diff changeset
451 * filter settings to/from SIDPlay2 INI-type files.
ba80c052e425 Configuration widget naming cleanups and GUI-related improvements;
Matti Hamalainen <ccr@tnsp.org>
parents: 542
diff changeset
452 */
600
7fcaf6b59b20 Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 593
diff changeset
453 static gboolean xs_fgetitem(gchar *inLine, size_t *linePos, gchar sep, gchar *tmpStr, size_t tmpMax)
7fcaf6b59b20 Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 593
diff changeset
454 {
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
455 size_t i;
721
2b6a29eefffb More work on implementing working filter saving, loading, importing and
Matti Hamalainen <ccr@tnsp.org>
parents: 720
diff changeset
456
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
457 for (i = 0; i < tmpMax && inLine[*linePos] &&
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
458 inLine[*linePos] != sep; i++, (*linePos)++)
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
459 tmpStr[i] = inLine[*linePos];
721
2b6a29eefffb More work on implementing working filter saving, loading, importing and
Matti Hamalainen <ccr@tnsp.org>
parents: 720
diff changeset
460
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
461 tmpStr[i] = 0;
721
2b6a29eefffb More work on implementing working filter saving, loading, importing and
Matti Hamalainen <ccr@tnsp.org>
parents: 720
diff changeset
462 while (--i > 0 && isspace(tmpStr[i])) tmpStr[i] = 0;
2b6a29eefffb More work on implementing working filter saving, loading, importing and
Matti Hamalainen <ccr@tnsp.org>
parents: 720
diff changeset
463
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
464 xs_findnext(inLine, linePos);
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
465 return (inLine[*linePos] == sep);
600
7fcaf6b59b20 Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 593
diff changeset
466 }
7fcaf6b59b20 Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 593
diff changeset
467
711
d18884383ca3 Fix off by one.
Matti Hamalainen <ccr@tnsp.org>
parents: 702
diff changeset
468
722
5923dfff1fac Unify xs_sid*_filter_t into one.
Matti Hamalainen <ccr@tnsp.org>
parents: 721
diff changeset
469 static gboolean xs_chkf(xs_sid_filter_t *filter, const gchar *str, const gchar *name, gint type)
721
2b6a29eefffb More work on implementing working filter saving, loading, importing and
Matti Hamalainen <ccr@tnsp.org>
parents: 720
diff changeset
470 {
2b6a29eefffb More work on implementing working filter saving, loading, importing and
Matti Hamalainen <ccr@tnsp.org>
parents: 720
diff changeset
471 if (g_strncasecmp(str, name, strlen(name)))
2b6a29eefffb More work on implementing working filter saving, loading, importing and
Matti Hamalainen <ccr@tnsp.org>
parents: 720
diff changeset
472 return FALSE;
785
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
473
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
474 if (filter->type != type)
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
475 {
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
476 if (filter->type == -1)
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
477 {
721
2b6a29eefffb More work on implementing working filter saving, loading, importing and
Matti Hamalainen <ccr@tnsp.org>
parents: 720
diff changeset
478 filter->type = type;
2b6a29eefffb More work on implementing working filter saving, loading, importing and
Matti Hamalainen <ccr@tnsp.org>
parents: 720
diff changeset
479 return TRUE;
785
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
480 }
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
481 else
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
482 {
721
2b6a29eefffb More work on implementing working filter saving, loading, importing and
Matti Hamalainen <ccr@tnsp.org>
parents: 720
diff changeset
483 xs_error("Unexpected key '%s' for filter type %d.\n");
2b6a29eefffb More work on implementing working filter saving, loading, importing and
Matti Hamalainen <ccr@tnsp.org>
parents: 720
diff changeset
484 return FALSE;
2b6a29eefffb More work on implementing working filter saving, loading, importing and
Matti Hamalainen <ccr@tnsp.org>
parents: 720
diff changeset
485 }
2b6a29eefffb More work on implementing working filter saving, loading, importing and
Matti Hamalainen <ccr@tnsp.org>
parents: 720
diff changeset
486 } else
2b6a29eefffb More work on implementing working filter saving, loading, importing and
Matti Hamalainen <ccr@tnsp.org>
parents: 720
diff changeset
487 return TRUE;
2b6a29eefffb More work on implementing working filter saving, loading, importing and
Matti Hamalainen <ccr@tnsp.org>
parents: 720
diff changeset
488 }
2b6a29eefffb More work on implementing working filter saving, loading, importing and
Matti Hamalainen <ccr@tnsp.org>
parents: 720
diff changeset
489
722
5923dfff1fac Unify xs_sid*_filter_t into one.
Matti Hamalainen <ccr@tnsp.org>
parents: 721
diff changeset
490 static gboolean xs_filters_import(const gchar *filename, xs_sid_filter_t **pFilters, gint *nFilters)
548
ba80c052e425 Configuration widget naming cleanups and GUI-related improvements;
Matti Hamalainen <ccr@tnsp.org>
parents: 542
diff changeset
491 {
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
492 FILE *inFile;
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
493 gchar inLine[XS_BUF_SIZE], tmpStr[XS_BUF_SIZE];
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
494 gchar *sectName = NULL;
721
2b6a29eefffb More work on implementing working filter saving, loading, importing and
Matti Hamalainen <ccr@tnsp.org>
parents: 720
diff changeset
495 gboolean inSection, isError = FALSE;
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
496 size_t lineNum, i;
722
5923dfff1fac Unify xs_sid*_filter_t into one.
Matti Hamalainen <ccr@tnsp.org>
parents: 721
diff changeset
497 xs_sid_filter_t *filter = NULL;
593
91ca76e6c23f More work towards filter configuration.
Matti Hamalainen <ccr@tnsp.org>
parents: 592
diff changeset
498
721
2b6a29eefffb More work on implementing working filter saving, loading, importing and
Matti Hamalainen <ccr@tnsp.org>
parents: 720
diff changeset
499 fprintf(stderr, "xs_filters_import(%s)\n", filename);
593
91ca76e6c23f More work towards filter configuration.
Matti Hamalainen <ccr@tnsp.org>
parents: 592
diff changeset
500
785
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
501 if ((inFile = fopen(filename, "ra")) == NULL)
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
502 {
721
2b6a29eefffb More work on implementing working filter saving, loading, importing and
Matti Hamalainen <ccr@tnsp.org>
parents: 720
diff changeset
503 xs_filters_error("");
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
504 return FALSE;
721
2b6a29eefffb More work on implementing working filter saving, loading, importing and
Matti Hamalainen <ccr@tnsp.org>
parents: 720
diff changeset
505 }
593
91ca76e6c23f More work towards filter configuration.
Matti Hamalainen <ccr@tnsp.org>
parents: 592
diff changeset
506
592
7ae251af5f83 Some macro magic for simplifying the repetitive code.
Matti Hamalainen <ccr@tnsp.org>
parents: 590
diff changeset
507 fprintf(stderr, "importing...\n");
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
508
721
2b6a29eefffb More work on implementing working filter saving, loading, importing and
Matti Hamalainen <ccr@tnsp.org>
parents: 720
diff changeset
509 inSection = FALSE;
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
510 lineNum = 0;
785
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
511 while (fgets(inLine, XS_BUF_SIZE, inFile) != NULL && !isError)
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
512 {
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
513 size_t linePos = 0;
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
514 lineNum++;
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
515
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
516 xs_findnext(inLine, &linePos);
785
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
517 if (isalpha(inLine[linePos]))
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
518 {
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
519 /* A new key/value pair */
785
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
520 if (!xs_fgetitem(inLine, &linePos, '=', tmpStr, XS_BUF_SIZE))
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
521 {
721
2b6a29eefffb More work on implementing working filter saving, loading, importing and
Matti Hamalainen <ccr@tnsp.org>
parents: 720
diff changeset
522 xs_error("Invalid line '%s' :: expected =", inLine);
2b6a29eefffb More work on implementing working filter saving, loading, importing and
Matti Hamalainen <ccr@tnsp.org>
parents: 720
diff changeset
523 isError = TRUE;
785
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
524 }
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
525 else
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
526 if (inSection)
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
527 {
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
528 linePos++;
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
529 xs_findnext(inLine, &linePos);
721
2b6a29eefffb More work on implementing working filter saving, loading, importing and
Matti Hamalainen <ccr@tnsp.org>
parents: 720
diff changeset
530
785
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
531 if (xs_chkf(filter, tmpStr, "points", 1))
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
532 {
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
533 }
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
534 else
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
535 if (xs_chkf(filter, tmpStr, "point", 1))
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
536 {
721
2b6a29eefffb More work on implementing working filter saving, loading, importing and
Matti Hamalainen <ccr@tnsp.org>
parents: 720
diff changeset
537
785
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
538 }
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
539 else
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
540 if (!g_strncasecmp(tmpStr, "type", 4))
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
541 {
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
542 if (filter->type != -1)
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
543 {
721
2b6a29eefffb More work on implementing working filter saving, loading, importing and
Matti Hamalainen <ccr@tnsp.org>
parents: 720
diff changeset
544 xs_error("Filter type %d already set for '%s'\n",
2b6a29eefffb More work on implementing working filter saving, loading, importing and
Matti Hamalainen <ccr@tnsp.org>
parents: 720
diff changeset
545 filter->type, sectName);
2b6a29eefffb More work on implementing working filter saving, loading, importing and
Matti Hamalainen <ccr@tnsp.org>
parents: 720
diff changeset
546 }
785
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
547 }
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
548 else
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
549 {
721
2b6a29eefffb More work on implementing working filter saving, loading, importing and
Matti Hamalainen <ccr@tnsp.org>
parents: 720
diff changeset
550 xs_error("Unsupported definition '%s' @ '%s'\n",
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
551 tmpStr, sectName);
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
552 }
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
553 }
785
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
554 }
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
555 else
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
556 if (inLine[linePos] == '[')
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
557 {
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
558 /* Check for existing section */
785
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
559 if (inSection)
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
560 {
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
561 /* Submit definition */
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
562 fprintf(stderr, "filter ends: %s\n", sectName);
785
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
563 if ((filter = g_malloc0(sizeof(xs_sid_filter_t))) == NULL)
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
564 {
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
565 fprintf(stderr, "could not allocate ..\n");
785
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
566 }
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
567 else
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
568 {
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
569
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
570 }
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
571 g_free(sectName);
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
572 }
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
573
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
574 /* New filter(?) section starts */
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
575 linePos++;
711
d18884383ca3 Fix off by one.
Matti Hamalainen <ccr@tnsp.org>
parents: 702
diff changeset
576 for (i = 0; i < XS_BUF_SIZE-1 && inLine[linePos] && inLine[linePos] != ']'; i++, linePos++)
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
577 tmpStr[i] = inLine[linePos];
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
578 tmpStr[i] = 0;
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
579
785
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
580 if (inLine[linePos] != ']')
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
581 {
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
582 fprintf(stderr, "invalid! expected ']': %s\n", inLine);
785
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
583 }
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
584 else
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
585 {
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
586 if (!g_strncasecmp(tmpStr, "filter", 6))
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
587 {
721
2b6a29eefffb More work on implementing working filter saving, loading, importing and
Matti Hamalainen <ccr@tnsp.org>
parents: 720
diff changeset
588 sectName = strdup(tmpStr + 6);
2b6a29eefffb More work on implementing working filter saving, loading, importing and
Matti Hamalainen <ccr@tnsp.org>
parents: 720
diff changeset
589 fprintf(stderr, "filter: %s\n", sectName);
2b6a29eefffb More work on implementing working filter saving, loading, importing and
Matti Hamalainen <ccr@tnsp.org>
parents: 720
diff changeset
590 inSection = TRUE;
785
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
591 }
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
592 else
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
593 {
721
2b6a29eefffb More work on implementing working filter saving, loading, importing and
Matti Hamalainen <ccr@tnsp.org>
parents: 720
diff changeset
594 fprintf(stderr, "ignoring section: %s\n", tmpStr);
2b6a29eefffb More work on implementing working filter saving, loading, importing and
Matti Hamalainen <ccr@tnsp.org>
parents: 720
diff changeset
595 inSection = FALSE;
2b6a29eefffb More work on implementing working filter saving, loading, importing and
Matti Hamalainen <ccr@tnsp.org>
parents: 720
diff changeset
596 }
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
597 }
785
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
598 }
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
599 else if (inLine[linePos] != '#' && inLine[linePos] != ';' && inLine[linePos] != 0)
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
600 {
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
601 /* Syntax error */
721
2b6a29eefffb More work on implementing working filter saving, loading, importing and
Matti Hamalainen <ccr@tnsp.org>
parents: 720
diff changeset
602 xs_error("Syntax error: '%s'\n", inLine);
2b6a29eefffb More work on implementing working filter saving, loading, importing and
Matti Hamalainen <ccr@tnsp.org>
parents: 720
diff changeset
603 isError = TRUE;
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
604 }
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
605 }
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
606
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
607 fclose(inFile);
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
608 return TRUE;
548
ba80c052e425 Configuration widget naming cleanups and GUI-related improvements;
Matti Hamalainen <ccr@tnsp.org>
parents: 542
diff changeset
609 }
ba80c052e425 Configuration widget naming cleanups and GUI-related improvements;
Matti Hamalainen <ccr@tnsp.org>
parents: 542
diff changeset
610
ba80c052e425 Configuration widget naming cleanups and GUI-related improvements;
Matti Hamalainen <ccr@tnsp.org>
parents: 542
diff changeset
611
722
5923dfff1fac Unify xs_sid*_filter_t into one.
Matti Hamalainen <ccr@tnsp.org>
parents: 721
diff changeset
612 static gboolean xs_filter_export(FILE *outFile, xs_sid_filter_t *filter)
548
ba80c052e425 Configuration widget naming cleanups and GUI-related improvements;
Matti Hamalainen <ccr@tnsp.org>
parents: 542
diff changeset
613 {
785
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
614 gint i;
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
615
721
2b6a29eefffb More work on implementing working filter saving, loading, importing and
Matti Hamalainen <ccr@tnsp.org>
parents: 720
diff changeset
616 fprintf(outFile,
2b6a29eefffb More work on implementing working filter saving, loading, importing and
Matti Hamalainen <ccr@tnsp.org>
parents: 720
diff changeset
617 "[Filter%s]\n"
2b6a29eefffb More work on implementing working filter saving, loading, importing and
Matti Hamalainen <ccr@tnsp.org>
parents: 720
diff changeset
618 "type=%d\n",
2b6a29eefffb More work on implementing working filter saving, loading, importing and
Matti Hamalainen <ccr@tnsp.org>
parents: 720
diff changeset
619 filter->name, filter->type);
2b6a29eefffb More work on implementing working filter saving, loading, importing and
Matti Hamalainen <ccr@tnsp.org>
parents: 720
diff changeset
620
785
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
621 switch (filter->type)
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
622 {
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
623 case 1:
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
624 fprintf(outFile, "points=%d\n", filter->npoints);
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
625
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
626 for (i = 0; i < filter->npoints; i++)
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
627 {
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
628 fprintf(outFile,
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
629 "point%d=%d,%d\n",
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
630 i + 1,
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
631 filter->points[i].x,
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
632 filter->points[i].y);
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
633 }
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
634 break;
721
2b6a29eefffb More work on implementing working filter saving, loading, importing and
Matti Hamalainen <ccr@tnsp.org>
parents: 720
diff changeset
635
785
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
636 case 3:
721
2b6a29eefffb More work on implementing working filter saving, loading, importing and
Matti Hamalainen <ccr@tnsp.org>
parents: 720
diff changeset
637 fprintf(outFile,
785
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
638 "DistortionRate = %f\n"
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
639 "DistortionPoint = %f\n"
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
640 "VoiceNonlinearity = %f\n"
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
641 "DistortionCFThreshold = %f\n",
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
642 filter->rate, filter->point,
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
643 filter->voice_nonlinearity,
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
644 filter->cf_treshold);
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
645
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
646 fprintf(outFile,
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
647 "Type3BaseResistance = %f\n"
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
648 "Type3Offset = %f\n"
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
649 "Type3Steepness = %f\n"
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
650 "Type3MinimumFETResistance = %f\n",
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
651 filter->baseresistance, filter->offset,
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
652 filter->steepness, filter->minimumfetresistance);
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
653 break;
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
654
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
655 case 4:
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
656 fprintf(outFile,
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
657 "Type4K=%f\n"
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
658 "Type4B=%f\n",
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
659 filter->k, filter->b);
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
660 break;
721
2b6a29eefffb More work on implementing working filter saving, loading, importing and
Matti Hamalainen <ccr@tnsp.org>
parents: 720
diff changeset
661
785
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
662 default:
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
663 xs_error("Filter '%s' has type %d, which is unsupported by export.\n",
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
664 filter->name, filter->type);
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
665 return FALSE;
721
2b6a29eefffb More work on implementing working filter saving, loading, importing and
Matti Hamalainen <ccr@tnsp.org>
parents: 720
diff changeset
666 }
2b6a29eefffb More work on implementing working filter saving, loading, importing and
Matti Hamalainen <ccr@tnsp.org>
parents: 720
diff changeset
667
2b6a29eefffb More work on implementing working filter saving, loading, importing and
Matti Hamalainen <ccr@tnsp.org>
parents: 720
diff changeset
668 fprintf(outFile, "\n");
2b6a29eefffb More work on implementing working filter saving, loading, importing and
Matti Hamalainen <ccr@tnsp.org>
parents: 720
diff changeset
669 return TRUE;
2b6a29eefffb More work on implementing working filter saving, loading, importing and
Matti Hamalainen <ccr@tnsp.org>
parents: 720
diff changeset
670 }
2b6a29eefffb More work on implementing working filter saving, loading, importing and
Matti Hamalainen <ccr@tnsp.org>
parents: 720
diff changeset
671
2b6a29eefffb More work on implementing working filter saving, loading, importing and
Matti Hamalainen <ccr@tnsp.org>
parents: 720
diff changeset
672
785
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
673 static gboolean xs_filters_export(const gchar *filename, xs_sid_filter_t **filters, gint nfilters)
721
2b6a29eefffb More work on implementing working filter saving, loading, importing and
Matti Hamalainen <ccr@tnsp.org>
parents: 720
diff changeset
674 {
2b6a29eefffb More work on implementing working filter saving, loading, importing and
Matti Hamalainen <ccr@tnsp.org>
parents: 720
diff changeset
675 gboolean result = TRUE;
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
676 FILE *outFile;
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
677 gint n;
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
678
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
679 /* Open/create the file */
785
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
680 if ((outFile = fopen(filename, "wa")) == NULL)
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
681 {
721
2b6a29eefffb More work on implementing working filter saving, loading, importing and
Matti Hamalainen <ccr@tnsp.org>
parents: 720
diff changeset
682 xs_filters_error("Could not open '%s' for writing! Not exporting.", filename);
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
683 return FALSE;
721
2b6a29eefffb More work on implementing working filter saving, loading, importing and
Matti Hamalainen <ccr@tnsp.org>
parents: 720
diff changeset
684 }
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
685
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
686 /* Header */
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
687 fprintf(outFile,
713
06db79680afe Added new variables for distortion tunables and made few changes to SID1
Matti Hamalainen <ccr@tnsp.org>
parents: 712
diff changeset
688 "; SIDPlay2 compatible filter definition file\n"
06db79680afe Added new variables for distortion tunables and made few changes to SID1
Matti Hamalainen <ccr@tnsp.org>
parents: 712
diff changeset
689 "; Exported by " PACKAGE_STRING "\n\n");
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
690
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
691 /* Write each filter spec in "INI"-style format */
785
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
692 for (n = 0; n < nfilters; n++)
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
693 {
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
694 if (!xs_filter_export(outFile, filters[n]))
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
695 {
721
2b6a29eefffb More work on implementing working filter saving, loading, importing and
Matti Hamalainen <ccr@tnsp.org>
parents: 720
diff changeset
696 result = FALSE;
2b6a29eefffb More work on implementing working filter saving, loading, importing and
Matti Hamalainen <ccr@tnsp.org>
parents: 720
diff changeset
697 break;
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
698 }
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
699 }
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
700
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
701 fclose(outFile);
721
2b6a29eefffb More work on implementing working filter saving, loading, importing and
Matti Hamalainen <ccr@tnsp.org>
parents: 720
diff changeset
702
2b6a29eefffb More work on implementing working filter saving, loading, importing and
Matti Hamalainen <ccr@tnsp.org>
parents: 720
diff changeset
703 if (!result)
2b6a29eefffb More work on implementing working filter saving, loading, importing and
Matti Hamalainen <ccr@tnsp.org>
parents: 720
diff changeset
704 xs_filters_error("Some filters could not be exported!");
2b6a29eefffb More work on implementing working filter saving, loading, importing and
Matti Hamalainen <ccr@tnsp.org>
parents: 720
diff changeset
705
2b6a29eefffb More work on implementing working filter saving, loading, importing and
Matti Hamalainen <ccr@tnsp.org>
parents: 720
diff changeset
706 return result;
548
ba80c052e425 Configuration widget naming cleanups and GUI-related improvements;
Matti Hamalainen <ccr@tnsp.org>
parents: 542
diff changeset
707 }
ba80c052e425 Configuration widget naming cleanups and GUI-related improvements;
Matti Hamalainen <ccr@tnsp.org>
parents: 542
diff changeset
708
721
2b6a29eefffb More work on implementing working filter saving, loading, importing and
Matti Hamalainen <ccr@tnsp.org>
parents: 720
diff changeset
709
548
ba80c052e425 Configuration widget naming cleanups and GUI-related improvements;
Matti Hamalainen <ccr@tnsp.org>
parents: 542
diff changeset
710 /* Get the configuration (from file or default)
271
eebb38debe35 Separate xs_init_configuration() from xs_read_configuration()
Matti Hamalainen <ccr@tnsp.org>
parents: 260
diff changeset
711 */
eebb38debe35 Separate xs_init_configuration() from xs_read_configuration()
Matti Hamalainen <ccr@tnsp.org>
parents: 260
diff changeset
712 void xs_read_configuration(void)
eebb38debe35 Separate xs_init_configuration() from xs_read_configuration()
Matti Hamalainen <ccr@tnsp.org>
parents: 260
diff changeset
713 {
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
714 XS_CONFIG_FILE *cfg;
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
715 gint i;
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
716 gchar *tmpStr;
271
eebb38debe35 Separate xs_init_configuration() from xs_read_configuration()
Matti Hamalainen <ccr@tnsp.org>
parents: 260
diff changeset
717
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
718 /* Try to open the XMMS configuration file */
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
719 XS_MUTEX_LOCK(xs_cfg);
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
720 XSDEBUG("loading from config-file ...\n");
271
eebb38debe35 Separate xs_init_configuration() from xs_read_configuration()
Matti Hamalainen <ccr@tnsp.org>
parents: 260
diff changeset
721
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
722 cfg = XS_CONFIG_OPEN();
50
dae6d3c2268d Minor fixes, updated to support default XMMS configfile
Matti Hamalainen <ccr@tnsp.org>
parents: 45
diff changeset
723
785
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
724 if (cfg == NULL)
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
725 {
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
726 XSDEBUG("Could not open configuration, trying to write defaults...\n");
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
727 xs_write_configuration();
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
728 return;
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
729 }
1
183e7cbc1036 Initial revision
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
730
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
731 /* Read the new settings from XMMS configuration file */
785
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
732 for (i = 0; i < xs_ncfgtable; i++)
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
733 switch (xs_cfgtable[i].itemType)
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
734 {
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
735 case CTYPE_INT:
720
0feeaf698a54 Clean up the XS_CFG_* macros a bit.
Matti Hamalainen <ccr@tnsp.org>
parents: 713
diff changeset
736 XS_CFG_GET_INT(xs_cfgtable[i].itemName,
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
737 (gint *) xs_cfgtable[i].itemData);
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
738 break;
40
1788f4ce6a44 Numerous changes towards 0.8
Matti Hamalainen <ccr@tnsp.org>
parents: 24
diff changeset
739
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
740 case CTYPE_BOOL:
720
0feeaf698a54 Clean up the XS_CFG_* macros a bit.
Matti Hamalainen <ccr@tnsp.org>
parents: 713
diff changeset
741 XS_CFG_GET_BOOL(xs_cfgtable[i].itemName,
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
742 (gboolean *) xs_cfgtable[i].itemData);
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
743 break;
40
1788f4ce6a44 Numerous changes towards 0.8
Matti Hamalainen <ccr@tnsp.org>
parents: 24
diff changeset
744
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
745 case CTYPE_FLOAT:
720
0feeaf698a54 Clean up the XS_CFG_* macros a bit.
Matti Hamalainen <ccr@tnsp.org>
parents: 713
diff changeset
746 XS_CFG_GET_FLOAT(xs_cfgtable[i].itemName,
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
747 (gfloat *) xs_cfgtable[i].itemData);
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
748 break;
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
749
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
750 case CTYPE_STR:
720
0feeaf698a54 Clean up the XS_CFG_* macros a bit.
Matti Hamalainen <ccr@tnsp.org>
parents: 713
diff changeset
751 if (XS_CFG_GET_STRING(xs_cfgtable[i].itemName,
0feeaf698a54 Clean up the XS_CFG_* macros a bit.
Matti Hamalainen <ccr@tnsp.org>
parents: 713
diff changeset
752 (gchar **) &tmpStr)) {
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
753 xs_pstrcpy((gchar **) xs_cfgtable[i].itemData, tmpStr);
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
754 g_free(tmpStr);
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
755 }
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
756 break;
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
757 }
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
758
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
759 /* Filters and presets are a special case */
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
760 xs_filter_load_into(cfg, 0, &xs_cfg.sid2Filter);
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
761
785
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
762 if (xs_cfg.sid2NFilterPresets > 0)
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
763 {
722
5923dfff1fac Unify xs_sid*_filter_t into one.
Matti Hamalainen <ccr@tnsp.org>
parents: 721
diff changeset
764 xs_cfg.sid2FilterPresets = g_malloc0(xs_cfg.sid2NFilterPresets * sizeof(xs_sid_filter_t *));
785
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
765 if (!xs_cfg.sid2FilterPresets)
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
766 {
666
50e036a32db8 De-gettextize.
Matti Hamalainen <ccr@tnsp.org>
parents: 665
diff changeset
767 xs_error("Allocation of sid2FilterPresets structure failed!\n");
785
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
768 }
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
769 else
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
770 {
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
771 for (i = 0; i < xs_cfg.sid2NFilterPresets; i++)
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
772 xs_cfg.sid2FilterPresets[i] = xs_filter_load(cfg, i);
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
773 }
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
774 }
40
1788f4ce6a44 Numerous changes towards 0.8
Matti Hamalainen <ccr@tnsp.org>
parents: 24
diff changeset
775
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
776 XS_CONFIG_FREE(cfg);
40
1788f4ce6a44 Numerous changes towards 0.8
Matti Hamalainen <ccr@tnsp.org>
parents: 24
diff changeset
777
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
778 XS_MUTEX_UNLOCK(xs_cfg);
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
779 XSDEBUG("OK\n");
1
183e7cbc1036 Initial revision
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
780 }
183e7cbc1036 Initial revision
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
781
40
1788f4ce6a44 Numerous changes towards 0.8
Matti Hamalainen <ccr@tnsp.org>
parents: 24
diff changeset
782
548
ba80c052e425 Configuration widget naming cleanups and GUI-related improvements;
Matti Hamalainen <ccr@tnsp.org>
parents: 542
diff changeset
783 /* Write the current configuration
40
1788f4ce6a44 Numerous changes towards 0.8
Matti Hamalainen <ccr@tnsp.org>
parents: 24
diff changeset
784 */
1788f4ce6a44 Numerous changes towards 0.8
Matti Hamalainen <ccr@tnsp.org>
parents: 24
diff changeset
785 gint xs_write_configuration(void)
1788f4ce6a44 Numerous changes towards 0.8
Matti Hamalainen <ccr@tnsp.org>
parents: 24
diff changeset
786 {
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
787 XS_CONFIG_FILE *cfg;
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
788 gint i;
40
1788f4ce6a44 Numerous changes towards 0.8
Matti Hamalainen <ccr@tnsp.org>
parents: 24
diff changeset
789
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
790 XSDEBUG("writing configuration ...\n");
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
791 XS_MUTEX_LOCK(xs_cfg);
40
1788f4ce6a44 Numerous changes towards 0.8
Matti Hamalainen <ccr@tnsp.org>
parents: 24
diff changeset
792
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
793 /* Try to open the XMMS configuration file */
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
794 cfg = XS_CONFIG_OPEN();
533
9ca430524698 Audacious-related cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 524
diff changeset
795
9ca430524698 Audacious-related cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 524
diff changeset
796 #ifndef AUDACIOUS_PLUGIN
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
797 if (!cfg) cfg = xmms_cfg_new();
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
798 if (!cfg) return -1;
50
dae6d3c2268d Minor fixes, updated to support default XMMS configfile
Matti Hamalainen <ccr@tnsp.org>
parents: 45
diff changeset
799 #endif
40
1788f4ce6a44 Numerous changes towards 0.8
Matti Hamalainen <ccr@tnsp.org>
parents: 24
diff changeset
800
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
801 /* Write the new settings to XMMS configuration file */
785
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
802 for (i = 0; i < xs_ncfgtable; i++)
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
803 switch (xs_cfgtable[i].itemType)
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
804 {
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
805 case CTYPE_INT:
720
0feeaf698a54 Clean up the XS_CFG_* macros a bit.
Matti Hamalainen <ccr@tnsp.org>
parents: 713
diff changeset
806 XS_CFG_SET_INT(xs_cfgtable[i].itemName,
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
807 *(gint *) xs_cfgtable[i].itemData);
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
808 break;
359
b1a858b8cb1a Re-indentation all (non-generated) code.
Matti Hamalainen <ccr@tnsp.org>
parents: 349
diff changeset
809
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
810 case CTYPE_BOOL:
720
0feeaf698a54 Clean up the XS_CFG_* macros a bit.
Matti Hamalainen <ccr@tnsp.org>
parents: 713
diff changeset
811 XS_CFG_SET_BOOL(xs_cfgtable[i].itemName,
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
812 *(gboolean *) xs_cfgtable[i].itemData);
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
813 break;
40
1788f4ce6a44 Numerous changes towards 0.8
Matti Hamalainen <ccr@tnsp.org>
parents: 24
diff changeset
814
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
815 case CTYPE_FLOAT:
720
0feeaf698a54 Clean up the XS_CFG_* macros a bit.
Matti Hamalainen <ccr@tnsp.org>
parents: 713
diff changeset
816 XS_CFG_SET_FLOAT(xs_cfgtable[i].itemName,
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
817 *(gfloat *) xs_cfgtable[i].itemData);
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
818 break;
40
1788f4ce6a44 Numerous changes towards 0.8
Matti Hamalainen <ccr@tnsp.org>
parents: 24
diff changeset
819
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
820 case CTYPE_STR:
720
0feeaf698a54 Clean up the XS_CFG_* macros a bit.
Matti Hamalainen <ccr@tnsp.org>
parents: 713
diff changeset
821 XS_CFG_SET_STRING(xs_cfgtable[i].itemName,
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
822 *(gchar **) xs_cfgtable[i].itemData);
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
823 break;
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
824 }
40
1788f4ce6a44 Numerous changes towards 0.8
Matti Hamalainen <ccr@tnsp.org>
parents: 24
diff changeset
825
552
9494fee305fa Config item changes; Unfinished filter preset handling functions.
Matti Hamalainen <ccr@tnsp.org>
parents: 548
diff changeset
826
652
7a2d62a249a4 Synchronize with Aud-SID.
Matti Hamalainen <ccr@tnsp.org>
parents: 647
diff changeset
827 #ifndef AUDACIOUS_PLUGIN
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
828 xmms_cfg_write_default_file(cfg);
652
7a2d62a249a4 Synchronize with Aud-SID.
Matti Hamalainen <ccr@tnsp.org>
parents: 647
diff changeset
829 #endif
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
830 XS_CONFIG_FREE(cfg);
40
1788f4ce6a44 Numerous changes towards 0.8
Matti Hamalainen <ccr@tnsp.org>
parents: 24
diff changeset
831
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
832 XS_MUTEX_UNLOCK(xs_cfg);
359
b1a858b8cb1a Re-indentation all (non-generated) code.
Matti Hamalainen <ccr@tnsp.org>
parents: 349
diff changeset
833
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
834 return 0;
40
1788f4ce6a44 Numerous changes towards 0.8
Matti Hamalainen <ccr@tnsp.org>
parents: 24
diff changeset
835 }
1788f4ce6a44 Numerous changes towards 0.8
Matti Hamalainen <ccr@tnsp.org>
parents: 24
diff changeset
836
1788f4ce6a44 Numerous changes towards 0.8
Matti Hamalainen <ccr@tnsp.org>
parents: 24
diff changeset
837
548
ba80c052e425 Configuration widget naming cleanups and GUI-related improvements;
Matti Hamalainen <ccr@tnsp.org>
parents: 542
diff changeset
838 /* Configuration panel was canceled
1
183e7cbc1036 Initial revision
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
839 */
612
32fc27395220 About window wasn't handling delete_event properly, fixed; Cleaned up event handling a bit.
Matti Hamalainen <ccr@tnsp.org>
parents: 608
diff changeset
840 XS_DEF_WINDOW_CLOSE(cfg_cancel, configwin)
1
183e7cbc1036 Initial revision
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
841
183e7cbc1036 Initial revision
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
842
548
ba80c052e425 Configuration widget naming cleanups and GUI-related improvements;
Matti Hamalainen <ccr@tnsp.org>
parents: 542
diff changeset
843 /* Configuration was accepted, save the settings
1
183e7cbc1036 Initial revision
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
844 */
40
1788f4ce6a44 Numerous changes towards 0.8
Matti Hamalainen <ccr@tnsp.org>
parents: 24
diff changeset
845 void xs_cfg_ok(void)
1
183e7cbc1036 Initial revision
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
846 {
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
847 gint i;
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
848 gfloat tmpValue;
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
849 gint tmpInt;
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
850 const gchar *tmpStr;
487
6357b7fe5b0d Added new WTYPE_COMBO, the audio frequency selection now uses a combobox.
Matti Hamalainen <ccr@tnsp.org>
parents: 424
diff changeset
851
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
852 /* Get lock on configuration */
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
853 XS_MUTEX_LOCK(xs_cfg);
57
85811bcd049e Improved, re-written configuration code and lots of minor fixes
Matti Hamalainen <ccr@tnsp.org>
parents: 50
diff changeset
854
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
855 XSDEBUG("get data from widgets to config...\n");
3
279b1e12df2b Updated to version 0.8-devel
Matti Hamalainen <ccr@tnsp.org>
parents: 1
diff changeset
856
785
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
857 for (i = 0; i < xs_nwidtable; i++)
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
858 switch (xs_cfgitems[i].widType)
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
859 {
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
860 case WTYPE_BGROUP:
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
861 /* Check if toggle-button is active */
785
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
862 if (GTK_TOGGLE_BUTTON(LUW(xs_cfgitems[i].widName))->active)
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
863 {
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
864 /* Yes, set the constant value */
785
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
865 *((gint *) xs_cfgitems[i].itemData) = xs_cfgitems[i].itemSet;
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
866 }
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
867 break;
63
05220299c6e8 Kuumaa paskaa
Matti Hamalainen <ccr@tnsp.org>
parents: 57
diff changeset
868
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
869 case WTYPE_COMBO:
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
870 /* Get text from text-widget */
785
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
871 tmpStr = gtk_entry_get_text(GTK_ENTRY(LUW(xs_cfgitems[i].widName)));
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
872 if (sscanf(tmpStr, "%d", &tmpInt) != 1)
785
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
873 tmpInt = xs_cfgitems[i].itemSet;
487
6357b7fe5b0d Added new WTYPE_COMBO, the audio frequency selection now uses a combobox.
Matti Hamalainen <ccr@tnsp.org>
parents: 424
diff changeset
874
785
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
875 *((gint *) xs_cfgitems[i].itemData) = tmpInt;
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
876 break;
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
877
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
878 case WTYPE_SPIN:
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
879 case WTYPE_SCALE:
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
880 /* Get the value */
785
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
881 switch (xs_cfgitems[i].widType)
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
882 {
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
883 case WTYPE_SPIN:
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
884 tmpValue = gtk_spin_button_get_adjustment(GTK_SPIN_BUTTON(LUW(xs_cfgitems[i].widName)))->value;
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
885 break;
359
b1a858b8cb1a Re-indentation all (non-generated) code.
Matti Hamalainen <ccr@tnsp.org>
parents: 349
diff changeset
886
785
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
887 case WTYPE_SCALE:
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
888 tmpValue = gtk_range_get_adjustment(GTK_RANGE(LUW(xs_cfgitems[i].widName)))->value;
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
889 break;
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
890
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
891 default:
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
892 tmpValue = -1;
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
893 break;
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
894 }
359
b1a858b8cb1a Re-indentation all (non-generated) code.
Matti Hamalainen <ccr@tnsp.org>
parents: 349
diff changeset
895
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
896 /* Set the value */
785
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
897 switch (xs_cfgitems[i].itemType)
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
898 {
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
899 case CTYPE_INT:
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
900 *((gint *) xs_cfgitems[i].itemData) = (gint) tmpValue;
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
901 break;
359
b1a858b8cb1a Re-indentation all (non-generated) code.
Matti Hamalainen <ccr@tnsp.org>
parents: 349
diff changeset
902
785
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
903 case CTYPE_FLOAT:
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
904 *((gfloat *) xs_cfgitems[i].itemData) = tmpValue;
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
905 break;
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
906 }
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
907 break;
1
183e7cbc1036 Initial revision
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
908
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
909 case WTYPE_BUTTON:
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
910 /* Check if toggle-button is active */
785
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
911 *((gboolean *) xs_cfgitems[i].itemData) =
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
912 (GTK_TOGGLE_BUTTON(LUW(xs_cfgitems[i].widName))->active);
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
913 break;
359
b1a858b8cb1a Re-indentation all (non-generated) code.
Matti Hamalainen <ccr@tnsp.org>
parents: 349
diff changeset
914
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
915 case WTYPE_TEXT:
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
916 /* Get text from text-widget */
785
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
917 xs_pstrcpy((gchar **) xs_cfgitems[i].itemData,
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
918 gtk_entry_get_text(GTK_ENTRY(LUW(xs_cfgitems[i].widName))));
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
919 break;
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
920 }
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
921
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
922 /* Get filter settings */
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
923 /*
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
924 if (!xs_curve_get_points(XS_CURVE(LUW("")), &xs_cfg.sid2Filter.points, &xs_cfg.sid2Filter.npoints)) {
666
50e036a32db8 De-gettextize.
Matti Hamalainen <ccr@tnsp.org>
parents: 665
diff changeset
925 xs_error("Warning: Could not get filter curve widget points!\n");
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
926 }
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
927 */
1
183e7cbc1036 Initial revision
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
928
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
929 /* Release lock */
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
930 XS_MUTEX_UNLOCK(xs_cfg);
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
931
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
932 /* Close window */
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
933 gtk_widget_destroy(xs_configwin);
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
934 xs_configwin = NULL;
147
a7abcda7a86c SLDB, STIL and emulation engine settings are now updated
Matti Hamalainen <ccr@tnsp.org>
parents: 141
diff changeset
935
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
936 /* Write settings */
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
937 xs_write_configuration();
1
183e7cbc1036 Initial revision
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
938
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
939 /* Re-initialize */
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
940 xs_reinit();
1
183e7cbc1036 Initial revision
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
941 }
183e7cbc1036 Initial revision
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
942
183e7cbc1036 Initial revision
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
943
652
7a2d62a249a4 Synchronize with Aud-SID.
Matti Hamalainen <ccr@tnsp.org>
parents: 647
diff changeset
944 /* Confirmation window
7a2d62a249a4 Synchronize with Aud-SID.
Matti Hamalainen <ccr@tnsp.org>
parents: 647
diff changeset
945 */
7a2d62a249a4 Synchronize with Aud-SID.
Matti Hamalainen <ccr@tnsp.org>
parents: 647
diff changeset
946 gboolean xs_confirmwin_delete(GtkWidget *widget, GdkEvent *event, gpointer user_data)
7a2d62a249a4 Synchronize with Aud-SID.
Matti Hamalainen <ccr@tnsp.org>
parents: 647
diff changeset
947 {
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
948 (void) widget;
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
949 (void) event;
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
950 (void) user_data;
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
951
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
952 return FALSE;
652
7a2d62a249a4 Synchronize with Aud-SID.
Matti Hamalainen <ccr@tnsp.org>
parents: 647
diff changeset
953 }
7a2d62a249a4 Synchronize with Aud-SID.
Matti Hamalainen <ccr@tnsp.org>
parents: 647
diff changeset
954
7a2d62a249a4 Synchronize with Aud-SID.
Matti Hamalainen <ccr@tnsp.org>
parents: 647
diff changeset
955
7a2d62a249a4 Synchronize with Aud-SID.
Matti Hamalainen <ccr@tnsp.org>
parents: 647
diff changeset
956
548
ba80c052e425 Configuration widget naming cleanups and GUI-related improvements;
Matti Hamalainen <ccr@tnsp.org>
parents: 542
diff changeset
957 /* HVSC songlength-database file selector response-functions
3
279b1e12df2b Updated to version 0.8-devel
Matti Hamalainen <ccr@tnsp.org>
parents: 1
diff changeset
958 */
589
a437571d0fc5 Work on GUI and filter config code.
Matti Hamalainen <ccr@tnsp.org>
parents: 583
diff changeset
959 void xs_cfg_sldb_browse(GtkButton * button, gpointer user_data)
1
183e7cbc1036 Initial revision
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
960 {
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
961 (void) button;
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
962 (void) user_data;
359
b1a858b8cb1a Re-indentation all (non-generated) code.
Matti Hamalainen <ccr@tnsp.org>
parents: 349
diff changeset
963
785
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
964 if (xs_sldb_fileselector != NULL)
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
965 {
665
94186706beed Use macro wrapping for Gtk+ v1 vs v2 differences, yet again.
Matti Hamalainen <ccr@tnsp.org>
parents: 660
diff changeset
966 XS_WINDOW_PRESENT(xs_sldb_fileselector);
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
967 return;
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
968 }
42
Matti Hamalainen <ccr@tnsp.org>
parents: 40
diff changeset
969
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
970 xs_sldb_fileselector = create_xs_sldb_fs();
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
971 XS_MUTEX_LOCK(xs_cfg);
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
972 gtk_file_selection_set_filename(GTK_FILE_SELECTION(xs_sldb_fileselector), xs_cfg.songlenDBPath);
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
973 XS_MUTEX_UNLOCK(xs_cfg);
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
974 gtk_widget_show(xs_sldb_fileselector);
3
279b1e12df2b Updated to version 0.8-devel
Matti Hamalainen <ccr@tnsp.org>
parents: 1
diff changeset
975 }
279b1e12df2b Updated to version 0.8-devel
Matti Hamalainen <ccr@tnsp.org>
parents: 1
diff changeset
976
279b1e12df2b Updated to version 0.8-devel
Matti Hamalainen <ccr@tnsp.org>
parents: 1
diff changeset
977
589
a437571d0fc5 Work on GUI and filter config code.
Matti Hamalainen <ccr@tnsp.org>
parents: 583
diff changeset
978 void xs_sldb_fs_ok(GtkButton *button, gpointer user_data)
3
279b1e12df2b Updated to version 0.8-devel
Matti Hamalainen <ccr@tnsp.org>
parents: 1
diff changeset
979 {
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
980 (void) button;
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
981 (void) user_data;
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
982
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
983 /* Selection was accepted! */
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
984 gtk_entry_set_text(GTK_ENTRY(LUW("cfg_sld_dbpath")),
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
985 gtk_file_selection_get_filename(GTK_FILE_SELECTION(xs_sldb_fileselector)));
40
1788f4ce6a44 Numerous changes towards 0.8
Matti Hamalainen <ccr@tnsp.org>
parents: 24
diff changeset
986
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
987 /* Close file selector window */
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
988 gtk_widget_destroy(xs_sldb_fileselector);
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
989 xs_sldb_fileselector = NULL;
40
1788f4ce6a44 Numerous changes towards 0.8
Matti Hamalainen <ccr@tnsp.org>
parents: 24
diff changeset
990 }
1788f4ce6a44 Numerous changes towards 0.8
Matti Hamalainen <ccr@tnsp.org>
parents: 24
diff changeset
991
612
32fc27395220 About window wasn't handling delete_event properly, fixed; Cleaned up event handling a bit.
Matti Hamalainen <ccr@tnsp.org>
parents: 608
diff changeset
992 XS_DEF_WINDOW_CLOSE(sldb_fs_cancel, sldb_fileselector)
589
a437571d0fc5 Work on GUI and filter config code.
Matti Hamalainen <ccr@tnsp.org>
parents: 583
diff changeset
993 XS_DEF_WINDOW_DELETE(sldb_fs, sldb_fileselector)
a437571d0fc5 Work on GUI and filter config code.
Matti Hamalainen <ccr@tnsp.org>
parents: 583
diff changeset
994
a437571d0fc5 Work on GUI and filter config code.
Matti Hamalainen <ccr@tnsp.org>
parents: 583
diff changeset
995
548
ba80c052e425 Configuration widget naming cleanups and GUI-related improvements;
Matti Hamalainen <ccr@tnsp.org>
parents: 542
diff changeset
996 /* STIL-database file selector response-functions
1
183e7cbc1036 Initial revision
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
997 */
359
b1a858b8cb1a Re-indentation all (non-generated) code.
Matti Hamalainen <ccr@tnsp.org>
parents: 349
diff changeset
998 void xs_cfg_stil_browse(GtkButton * button, gpointer user_data)
40
1788f4ce6a44 Numerous changes towards 0.8
Matti Hamalainen <ccr@tnsp.org>
parents: 24
diff changeset
999 {
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1000 (void) button;
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1001 (void) user_data;
341
e065deeb086f Removed 'unused argument' warnings, some cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 324
diff changeset
1002
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1003 if (xs_stil_fileselector != NULL) {
665
94186706beed Use macro wrapping for Gtk+ v1 vs v2 differences, yet again.
Matti Hamalainen <ccr@tnsp.org>
parents: 660
diff changeset
1004 XS_WINDOW_PRESENT(xs_stil_fileselector);
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1005 return;
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1006 }
40
1788f4ce6a44 Numerous changes towards 0.8
Matti Hamalainen <ccr@tnsp.org>
parents: 24
diff changeset
1007
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1008 xs_stil_fileselector = create_xs_stil_fs();
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1009 XS_MUTEX_LOCK(xs_cfg);
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1010 gtk_file_selection_set_filename(GTK_FILE_SELECTION(xs_stil_fileselector), xs_cfg.stilDBPath);
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1011 XS_MUTEX_UNLOCK(xs_cfg);
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1012 gtk_widget_show(xs_stil_fileselector);
40
1788f4ce6a44 Numerous changes towards 0.8
Matti Hamalainen <ccr@tnsp.org>
parents: 24
diff changeset
1013 }
1788f4ce6a44 Numerous changes towards 0.8
Matti Hamalainen <ccr@tnsp.org>
parents: 24
diff changeset
1014
1788f4ce6a44 Numerous changes towards 0.8
Matti Hamalainen <ccr@tnsp.org>
parents: 24
diff changeset
1015
589
a437571d0fc5 Work on GUI and filter config code.
Matti Hamalainen <ccr@tnsp.org>
parents: 583
diff changeset
1016 void xs_stil_fs_ok(GtkButton *button, gpointer user_data)
1
183e7cbc1036 Initial revision
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
1017 {
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1018 (void) button;
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1019 (void) user_data;
579
6b2c682cc0a8 Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 578
diff changeset
1020
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1021 /* Selection was accepted! */
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1022 gtk_entry_set_text(GTK_ENTRY(LUW("cfg_stil_dbpath")),
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1023 gtk_file_selection_get_filename(GTK_FILE_SELECTION(xs_stil_fileselector)));
1
183e7cbc1036 Initial revision
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
1024
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1025 /* Close file selector window */
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1026 gtk_widget_destroy(xs_stil_fileselector);
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1027 xs_stil_fileselector = NULL;
1
183e7cbc1036 Initial revision
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
1028 }
183e7cbc1036 Initial revision
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
1029
183e7cbc1036 Initial revision
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
1030
612
32fc27395220 About window wasn't handling delete_event properly, fixed; Cleaned up event handling a bit.
Matti Hamalainen <ccr@tnsp.org>
parents: 608
diff changeset
1031 XS_DEF_WINDOW_CLOSE(stil_fs_cancel, stil_fileselector)
589
a437571d0fc5 Work on GUI and filter config code.
Matti Hamalainen <ccr@tnsp.org>
parents: 583
diff changeset
1032 XS_DEF_WINDOW_DELETE(stil_fs, stil_fileselector)
a437571d0fc5 Work on GUI and filter config code.
Matti Hamalainen <ccr@tnsp.org>
parents: 583
diff changeset
1033
a437571d0fc5 Work on GUI and filter config code.
Matti Hamalainen <ccr@tnsp.org>
parents: 583
diff changeset
1034
548
ba80c052e425 Configuration widget naming cleanups and GUI-related improvements;
Matti Hamalainen <ccr@tnsp.org>
parents: 542
diff changeset
1035 /* HVSC location selector response-functions
127
ddb513bd2610 Improved audio format support, now supported formats are "queried" from
Matti Hamalainen <ccr@tnsp.org>
parents: 116
diff changeset
1036 */
359
b1a858b8cb1a Re-indentation all (non-generated) code.
Matti Hamalainen <ccr@tnsp.org>
parents: 349
diff changeset
1037 void xs_cfg_hvsc_browse(GtkButton * button, gpointer user_data)
127
ddb513bd2610 Improved audio format support, now supported formats are "queried" from
Matti Hamalainen <ccr@tnsp.org>
parents: 116
diff changeset
1038 {
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1039 (void) button;
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1040 (void) user_data;
341
e065deeb086f Removed 'unused argument' warnings, some cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 324
diff changeset
1041
785
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
1042 if (xs_hvsc_selector != NULL)
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
1043 {
665
94186706beed Use macro wrapping for Gtk+ v1 vs v2 differences, yet again.
Matti Hamalainen <ccr@tnsp.org>
parents: 660
diff changeset
1044 XS_WINDOW_PRESENT(xs_hvsc_selector);
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1045 return;
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1046 }
127
ddb513bd2610 Improved audio format support, now supported formats are "queried" from
Matti Hamalainen <ccr@tnsp.org>
parents: 116
diff changeset
1047
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1048 xs_hvsc_selector = create_xs_hvsc_fs();
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1049 XS_MUTEX_LOCK(xs_cfg);
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1050 gtk_file_selection_set_filename(GTK_FILE_SELECTION(xs_hvsc_selector), xs_cfg.hvscPath);
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1051 XS_MUTEX_UNLOCK(xs_cfg);
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1052 gtk_widget_show(xs_hvsc_selector);
127
ddb513bd2610 Improved audio format support, now supported formats are "queried" from
Matti Hamalainen <ccr@tnsp.org>
parents: 116
diff changeset
1053 }
ddb513bd2610 Improved audio format support, now supported formats are "queried" from
Matti Hamalainen <ccr@tnsp.org>
parents: 116
diff changeset
1054
ddb513bd2610 Improved audio format support, now supported formats are "queried" from
Matti Hamalainen <ccr@tnsp.org>
parents: 116
diff changeset
1055
589
a437571d0fc5 Work on GUI and filter config code.
Matti Hamalainen <ccr@tnsp.org>
parents: 583
diff changeset
1056 void xs_hvsc_fs_ok(GtkButton *button, gpointer user_data)
127
ddb513bd2610 Improved audio format support, now supported formats are "queried" from
Matti Hamalainen <ccr@tnsp.org>
parents: 116
diff changeset
1057 {
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1058 (void) button;
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1059 (void) user_data;
579
6b2c682cc0a8 Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 578
diff changeset
1060
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1061 /* Selection was accepted! */
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1062 gtk_entry_set_text(GTK_ENTRY(LUW("cfg_hvsc_path")),
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1063 gtk_file_selection_get_filename(GTK_FILE_SELECTION(xs_hvsc_selector)));
127
ddb513bd2610 Improved audio format support, now supported formats are "queried" from
Matti Hamalainen <ccr@tnsp.org>
parents: 116
diff changeset
1064
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1065 /* Close file selector window */
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1066 gtk_widget_destroy(xs_hvsc_selector);
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1067 xs_hvsc_selector = NULL;
127
ddb513bd2610 Improved audio format support, now supported formats are "queried" from
Matti Hamalainen <ccr@tnsp.org>
parents: 116
diff changeset
1068 }
ddb513bd2610 Improved audio format support, now supported formats are "queried" from
Matti Hamalainen <ccr@tnsp.org>
parents: 116
diff changeset
1069
ddb513bd2610 Improved audio format support, now supported formats are "queried" from
Matti Hamalainen <ccr@tnsp.org>
parents: 116
diff changeset
1070
612
32fc27395220 About window wasn't handling delete_event properly, fixed; Cleaned up event handling a bit.
Matti Hamalainen <ccr@tnsp.org>
parents: 608
diff changeset
1071 XS_DEF_WINDOW_CLOSE(hvsc_fs_cancel, hvsc_selector)
589
a437571d0fc5 Work on GUI and filter config code.
Matti Hamalainen <ccr@tnsp.org>
parents: 583
diff changeset
1072 XS_DEF_WINDOW_DELETE(hvsc_fs, hvsc_selector)
a437571d0fc5 Work on GUI and filter config code.
Matti Hamalainen <ccr@tnsp.org>
parents: 583
diff changeset
1073
a437571d0fc5 Work on GUI and filter config code.
Matti Hamalainen <ccr@tnsp.org>
parents: 583
diff changeset
1074
578
d9290bd40037 Moved functions.
Matti Hamalainen <ccr@tnsp.org>
parents: 577
diff changeset
1075 /* Filter handling
d9290bd40037 Moved functions.
Matti Hamalainen <ccr@tnsp.org>
parents: 577
diff changeset
1076 */
d9290bd40037 Moved functions.
Matti Hamalainen <ccr@tnsp.org>
parents: 577
diff changeset
1077 void xs_cfg_sp1_filter_reset(GtkButton * button, gpointer user_data)
d9290bd40037 Moved functions.
Matti Hamalainen <ccr@tnsp.org>
parents: 577
diff changeset
1078 {
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1079 (void) button;
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1080 (void) user_data;
578
d9290bd40037 Moved functions.
Matti Hamalainen <ccr@tnsp.org>
parents: 577
diff changeset
1081
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1082 gtk_adjustment_set_value(gtk_range_get_adjustment(GTK_RANGE(LUW("cfg_sp1_filter_fs"))), XS_SIDPLAY1_FS);
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1083 gtk_adjustment_set_value(gtk_range_get_adjustment(GTK_RANGE(LUW("cfg_sp1_filter_fm"))), XS_SIDPLAY1_FM);
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1084 gtk_adjustment_set_value(gtk_range_get_adjustment(GTK_RANGE(LUW("cfg_sp1_filter_ft"))), XS_SIDPLAY1_FT);
578
d9290bd40037 Moved functions.
Matti Hamalainen <ccr@tnsp.org>
parents: 577
diff changeset
1085 }
d9290bd40037 Moved functions.
Matti Hamalainen <ccr@tnsp.org>
parents: 577
diff changeset
1086
d9290bd40037 Moved functions.
Matti Hamalainen <ccr@tnsp.org>
parents: 577
diff changeset
1087
722
5923dfff1fac Unify xs_sid*_filter_t into one.
Matti Hamalainen <ccr@tnsp.org>
parents: 721
diff changeset
1088 void xs_cfg_sp2_filter_update(XSCurve *curve, xs_sid_filter_t *f)
589
a437571d0fc5 Work on GUI and filter config code.
Matti Hamalainen <ccr@tnsp.org>
parents: 583
diff changeset
1089 {
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1090 assert(curve);
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1091 assert(f);
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1092
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1093 xs_curve_reset(curve);
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1094 xs_curve_set_range(curve, 0,0, XS_SIDPLAY2_NFPOINTS, XS_SIDPLAY2_FMAX);
785
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
1095 if (!xs_curve_set_points(curve, f->points, f->npoints))
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
1096 {
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1097 // FIXME
666
50e036a32db8 De-gettextize.
Matti Hamalainen <ccr@tnsp.org>
parents: 665
diff changeset
1098 xs_error("Warning: Could not set filter curve widget points!\n");
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1099 }
589
a437571d0fc5 Work on GUI and filter config code.
Matti Hamalainen <ccr@tnsp.org>
parents: 583
diff changeset
1100 }
a437571d0fc5 Work on GUI and filter config code.
Matti Hamalainen <ccr@tnsp.org>
parents: 583
diff changeset
1101
a437571d0fc5 Work on GUI and filter config code.
Matti Hamalainen <ccr@tnsp.org>
parents: 583
diff changeset
1102
592
7ae251af5f83 Some macro magic for simplifying the repetitive code.
Matti Hamalainen <ccr@tnsp.org>
parents: 590
diff changeset
1103 void xs_cfg_sp2_presets_update(void)
589
a437571d0fc5 Work on GUI and filter config code.
Matti Hamalainen <ccr@tnsp.org>
parents: 583
diff changeset
1104 {
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1105 GList *tmpList = NULL;
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1106 gint i;
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1107
785
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
1108 for (i = 0; i < xs_cfg.sid2NFilterPresets; i++)
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
1109 {
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1110 tmpList = g_list_append(tmpList,
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1111 (gpointer) xs_cfg.sid2FilterPresets[i]->name);
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1112 }
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1113
750
3180bf22090f Update copyright.
Matti Hamalainen <ccr@tnsp.org>
parents: 748
diff changeset
1114 if (tmpList != NULL)
3180bf22090f Update copyright.
Matti Hamalainen <ccr@tnsp.org>
parents: 748
diff changeset
1115 gtk_combo_set_popdown_strings(GTK_COMBO(LUW("cfg_sp2_filter_combo")), tmpList);
3180bf22090f Update copyright.
Matti Hamalainen <ccr@tnsp.org>
parents: 748
diff changeset
1116
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1117 g_list_free(tmpList);
589
a437571d0fc5 Work on GUI and filter config code.
Matti Hamalainen <ccr@tnsp.org>
parents: 583
diff changeset
1118 }
a437571d0fc5 Work on GUI and filter config code.
Matti Hamalainen <ccr@tnsp.org>
parents: 583
diff changeset
1119
a437571d0fc5 Work on GUI and filter config code.
Matti Hamalainen <ccr@tnsp.org>
parents: 583
diff changeset
1120
578
d9290bd40037 Moved functions.
Matti Hamalainen <ccr@tnsp.org>
parents: 577
diff changeset
1121 void xs_cfg_sp2_filter_load(GtkButton *button, gpointer user_data)
d9290bd40037 Moved functions.
Matti Hamalainen <ccr@tnsp.org>
parents: 577
diff changeset
1122 {
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1123 const gchar *tmpStr;
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1124 gint i, j;
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1125
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1126 (void) button;
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1127 (void) user_data;
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1128
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1129 XS_MUTEX_LOCK(xs_cfg);
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1130
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1131 tmpStr = gtk_entry_get_text(GTK_ENTRY(LUW("cfg_sp2_filter_combo_entry")));
785
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
1132 for (i = 0, j = -1; i < xs_cfg.sid2NFilterPresets; i++)
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
1133 {
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
1134 if (!strcmp(tmpStr, xs_cfg.sid2FilterPresets[i]->name))
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
1135 {
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1136 j = i;
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1137 break;
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1138 }
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1139 }
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1140
785
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
1141 if (j != -1)
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
1142 {
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1143 fprintf(stderr, "Updating from '%s'\n", tmpStr);
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1144 xs_cfg_sp2_filter_update(
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1145 XS_CURVE(LUW("cfg_sp2_filter_curve")),
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1146 xs_cfg.sid2FilterPresets[i]);
785
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
1147 }
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
1148 else
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
1149 {
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1150 /* error/warning: no such filter preset */
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1151 fprintf(stderr, "No such filter preset '%s'!\n", tmpStr);
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1152 }
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1153
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1154 XS_MUTEX_UNLOCK(xs_cfg);
578
d9290bd40037 Moved functions.
Matti Hamalainen <ccr@tnsp.org>
parents: 577
diff changeset
1155 }
d9290bd40037 Moved functions.
Matti Hamalainen <ccr@tnsp.org>
parents: 577
diff changeset
1156
d9290bd40037 Moved functions.
Matti Hamalainen <ccr@tnsp.org>
parents: 577
diff changeset
1157
d9290bd40037 Moved functions.
Matti Hamalainen <ccr@tnsp.org>
parents: 577
diff changeset
1158 void xs_cfg_sp2_filter_save(GtkButton *button, gpointer user_data)
d9290bd40037 Moved functions.
Matti Hamalainen <ccr@tnsp.org>
parents: 577
diff changeset
1159 {
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1160 /*
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1161 1) check if textentry matches any current filter name
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1162 yes) ask if saving over ok?
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1163 no) ...
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1164
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1165 2) save current filter to the name
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1166 */
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1167 const gchar *tmpStr;
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1168 gint i, j;
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1169
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1170 (void) button;
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1171 (void) user_data;
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1172
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1173 XS_MUTEX_LOCK(xs_cfg);
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1174
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1175 tmpStr = gtk_entry_get_text(GTK_ENTRY(LUW("cfg_sp2_filter_combo_entry")));
785
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
1176 for (i = 0, j = -1; i < xs_cfg.sid2NFilterPresets; i++)
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
1177 {
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
1178 if (!strcmp(tmpStr, xs_cfg.sid2FilterPresets[i]->name))
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
1179 {
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1180 j = i;
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1181 break;
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1182 }
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1183 }
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1184
785
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
1185 if (j != -1)
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
1186 {
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1187 fprintf(stderr, "Found, confirm overwrite?\n");
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1188 }
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1189
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1190 fprintf(stderr, "saving!\n");
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1191
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1192 xs_cfg_sp2_presets_update();
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1193
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1194 XS_MUTEX_UNLOCK(xs_cfg);
578
d9290bd40037 Moved functions.
Matti Hamalainen <ccr@tnsp.org>
parents: 577
diff changeset
1195 }
d9290bd40037 Moved functions.
Matti Hamalainen <ccr@tnsp.org>
parents: 577
diff changeset
1196
d9290bd40037 Moved functions.
Matti Hamalainen <ccr@tnsp.org>
parents: 577
diff changeset
1197
d9290bd40037 Moved functions.
Matti Hamalainen <ccr@tnsp.org>
parents: 577
diff changeset
1198 void xs_cfg_sp2_filter_delete(GtkButton *button, gpointer user_data)
d9290bd40037 Moved functions.
Matti Hamalainen <ccr@tnsp.org>
parents: 577
diff changeset
1199 {
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1200 (void) button;
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1201 (void) user_data;
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1202 /*
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1203 1) confirm
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1204 2) delete
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1205 */
578
d9290bd40037 Moved functions.
Matti Hamalainen <ccr@tnsp.org>
parents: 577
diff changeset
1206 }
d9290bd40037 Moved functions.
Matti Hamalainen <ccr@tnsp.org>
parents: 577
diff changeset
1207
d9290bd40037 Moved functions.
Matti Hamalainen <ccr@tnsp.org>
parents: 577
diff changeset
1208
d9290bd40037 Moved functions.
Matti Hamalainen <ccr@tnsp.org>
parents: 577
diff changeset
1209 void xs_cfg_sp2_filter_import(GtkButton *button, gpointer user_data)
d9290bd40037 Moved functions.
Matti Hamalainen <ccr@tnsp.org>
parents: 577
diff changeset
1210 {
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1211 (void) button;
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1212 (void) user_data;
589
a437571d0fc5 Work on GUI and filter config code.
Matti Hamalainen <ccr@tnsp.org>
parents: 583
diff changeset
1213
785
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
1214 if (xs_filt_importselector != NULL)
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
1215 {
665
94186706beed Use macro wrapping for Gtk+ v1 vs v2 differences, yet again.
Matti Hamalainen <ccr@tnsp.org>
parents: 660
diff changeset
1216 XS_WINDOW_PRESENT(xs_filt_importselector);
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1217 return;
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1218 }
589
a437571d0fc5 Work on GUI and filter config code.
Matti Hamalainen <ccr@tnsp.org>
parents: 583
diff changeset
1219
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1220 xs_filt_importselector = create_xs_filter_import_fs();
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1221 gtk_widget_show(xs_filt_importselector);
578
d9290bd40037 Moved functions.
Matti Hamalainen <ccr@tnsp.org>
parents: 577
diff changeset
1222 }
d9290bd40037 Moved functions.
Matti Hamalainen <ccr@tnsp.org>
parents: 577
diff changeset
1223
d9290bd40037 Moved functions.
Matti Hamalainen <ccr@tnsp.org>
parents: 577
diff changeset
1224
d9290bd40037 Moved functions.
Matti Hamalainen <ccr@tnsp.org>
parents: 577
diff changeset
1225 void xs_filter_import_fs_ok(GtkButton *button, gpointer user_data)
d9290bd40037 Moved functions.
Matti Hamalainen <ccr@tnsp.org>
parents: 577
diff changeset
1226 {
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1227 const gchar *tmpStr;
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1228 (void) button;
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1229 (void) user_data;
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1230
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1231 XS_MUTEX_LOCK(xs_cfg);
592
7ae251af5f83 Some macro magic for simplifying the repetitive code.
Matti Hamalainen <ccr@tnsp.org>
parents: 590
diff changeset
1232
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1233 /* Selection was accepted! */
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1234 tmpStr = gtk_file_selection_get_filename(GTK_FILE_SELECTION(xs_filt_importselector));
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1235 xs_filters_import(tmpStr, xs_cfg.sid2FilterPresets, &xs_cfg.sid2NFilterPresets);
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1236 xs_cfg_sp2_presets_update();
589
a437571d0fc5 Work on GUI and filter config code.
Matti Hamalainen <ccr@tnsp.org>
parents: 583
diff changeset
1237
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1238 /* Close file selector window */
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1239 gtk_widget_destroy(xs_filt_importselector);
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1240 xs_filt_importselector = NULL;
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1241 XS_MUTEX_UNLOCK(xs_cfg);
578
d9290bd40037 Moved functions.
Matti Hamalainen <ccr@tnsp.org>
parents: 577
diff changeset
1242 }
d9290bd40037 Moved functions.
Matti Hamalainen <ccr@tnsp.org>
parents: 577
diff changeset
1243
d9290bd40037 Moved functions.
Matti Hamalainen <ccr@tnsp.org>
parents: 577
diff changeset
1244
612
32fc27395220 About window wasn't handling delete_event properly, fixed; Cleaned up event handling a bit.
Matti Hamalainen <ccr@tnsp.org>
parents: 608
diff changeset
1245 XS_DEF_WINDOW_CLOSE(filter_import_fs_cancel, filt_importselector)
589
a437571d0fc5 Work on GUI and filter config code.
Matti Hamalainen <ccr@tnsp.org>
parents: 583
diff changeset
1246 XS_DEF_WINDOW_DELETE(filter_import_fs, filt_importselector)
a437571d0fc5 Work on GUI and filter config code.
Matti Hamalainen <ccr@tnsp.org>
parents: 583
diff changeset
1247
a437571d0fc5 Work on GUI and filter config code.
Matti Hamalainen <ccr@tnsp.org>
parents: 583
diff changeset
1248
590
7d94e9e5dfb7 Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 589
diff changeset
1249 void xs_cfg_sp2_filter_export(GtkButton *button, gpointer user_data)
7d94e9e5dfb7 Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 589
diff changeset
1250 {
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1251 (void) button;
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1252 (void) user_data;
590
7d94e9e5dfb7 Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 589
diff changeset
1253
785
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
1254 if (xs_filt_exportselector != NULL)
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
1255 {
665
94186706beed Use macro wrapping for Gtk+ v1 vs v2 differences, yet again.
Matti Hamalainen <ccr@tnsp.org>
parents: 660
diff changeset
1256 XS_WINDOW_PRESENT(xs_filt_exportselector);
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1257 return;
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1258 }
590
7d94e9e5dfb7 Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 589
diff changeset
1259
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1260 xs_filt_exportselector = create_xs_filter_export_fs();
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1261 gtk_widget_show(xs_filt_exportselector);
590
7d94e9e5dfb7 Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 589
diff changeset
1262 }
7d94e9e5dfb7 Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 589
diff changeset
1263
7d94e9e5dfb7 Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 589
diff changeset
1264
578
d9290bd40037 Moved functions.
Matti Hamalainen <ccr@tnsp.org>
parents: 577
diff changeset
1265 void xs_filter_export_fs_ok(GtkButton *button, gpointer user_data)
d9290bd40037 Moved functions.
Matti Hamalainen <ccr@tnsp.org>
parents: 577
diff changeset
1266 {
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1267 const gchar *tmpStr;
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1268 (void) button;
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1269 (void) user_data;
589
a437571d0fc5 Work on GUI and filter config code.
Matti Hamalainen <ccr@tnsp.org>
parents: 583
diff changeset
1270
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1271 XS_MUTEX_LOCK(xs_cfg);
592
7ae251af5f83 Some macro magic for simplifying the repetitive code.
Matti Hamalainen <ccr@tnsp.org>
parents: 590
diff changeset
1272
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1273 /* Selection was accepted! */
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1274 tmpStr = gtk_file_selection_get_filename(GTK_FILE_SELECTION(xs_filt_exportselector));
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1275 xs_filters_export(tmpStr, xs_cfg.sid2FilterPresets, xs_cfg.sid2NFilterPresets);
592
7ae251af5f83 Some macro magic for simplifying the repetitive code.
Matti Hamalainen <ccr@tnsp.org>
parents: 590
diff changeset
1276
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1277 /* Close file selector window */
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1278 gtk_widget_destroy(xs_filt_exportselector);
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1279 xs_filt_exportselector = NULL;
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1280 XS_MUTEX_UNLOCK(xs_cfg);
578
d9290bd40037 Moved functions.
Matti Hamalainen <ccr@tnsp.org>
parents: 577
diff changeset
1281 }
d9290bd40037 Moved functions.
Matti Hamalainen <ccr@tnsp.org>
parents: 577
diff changeset
1282
d9290bd40037 Moved functions.
Matti Hamalainen <ccr@tnsp.org>
parents: 577
diff changeset
1283
612
32fc27395220 About window wasn't handling delete_event properly, fixed; Cleaned up event handling a bit.
Matti Hamalainen <ccr@tnsp.org>
parents: 608
diff changeset
1284 XS_DEF_WINDOW_CLOSE(filter_export_fs_cancel, filt_exportselector)
589
a437571d0fc5 Work on GUI and filter config code.
Matti Hamalainen <ccr@tnsp.org>
parents: 583
diff changeset
1285 XS_DEF_WINDOW_DELETE(filter_export_fs, filt_exportselector)
a437571d0fc5 Work on GUI and filter config code.
Matti Hamalainen <ccr@tnsp.org>
parents: 583
diff changeset
1286
a437571d0fc5 Work on GUI and filter config code.
Matti Hamalainen <ccr@tnsp.org>
parents: 583
diff changeset
1287
548
ba80c052e425 Configuration widget naming cleanups and GUI-related improvements;
Matti Hamalainen <ccr@tnsp.org>
parents: 542
diff changeset
1288 /* Selection toggle handlers
127
ddb513bd2610 Improved audio format support, now supported formats are "queried" from
Matti Hamalainen <ccr@tnsp.org>
parents: 116
diff changeset
1289 */
359
b1a858b8cb1a Re-indentation all (non-generated) code.
Matti Hamalainen <ccr@tnsp.org>
parents: 349
diff changeset
1290 void xs_cfg_emu_filters_toggled(GtkToggleButton * togglebutton, gpointer user_data)
77
3fca0b13a80a Configuration panel tweaking
Matti Hamalainen <ccr@tnsp.org>
parents: 75
diff changeset
1291 {
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1292 gboolean isActive = GTK_TOGGLE_BUTTON(togglebutton)->active;
341
e065deeb086f Removed 'unused argument' warnings, some cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 324
diff changeset
1293
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1294 (void) user_data;
172
505da1389e5c Twiddling
Matti Hamalainen <ccr@tnsp.org>
parents: 169
diff changeset
1295
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1296 gtk_widget_set_sensitive(LUW("cfg_filters_notebook"), isActive);
77
3fca0b13a80a Configuration panel tweaking
Matti Hamalainen <ccr@tnsp.org>
parents: 75
diff changeset
1297 }
3fca0b13a80a Configuration panel tweaking
Matti Hamalainen <ccr@tnsp.org>
parents: 75
diff changeset
1298
652
7a2d62a249a4 Synchronize with Aud-SID.
Matti Hamalainen <ccr@tnsp.org>
parents: 647
diff changeset
1299
359
b1a858b8cb1a Re-indentation all (non-generated) code.
Matti Hamalainen <ccr@tnsp.org>
parents: 349
diff changeset
1300 void xs_cfg_ftitle_override_toggled(GtkToggleButton * togglebutton, gpointer user_data)
77
3fca0b13a80a Configuration panel tweaking
Matti Hamalainen <ccr@tnsp.org>
parents: 75
diff changeset
1301 {
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1302 gboolean isActive = GTK_TOGGLE_BUTTON(togglebutton)->active;
341
e065deeb086f Removed 'unused argument' warnings, some cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 324
diff changeset
1303
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1304 (void) user_data;
78
ab522ab65c85 Various fixes and improvements
Matti Hamalainen <ccr@tnsp.org>
parents: 77
diff changeset
1305
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1306 gtk_widget_set_sensitive(LUW("cfg_ftitle_box"), isActive);
78
ab522ab65c85 Various fixes and improvements
Matti Hamalainen <ccr@tnsp.org>
parents: 77
diff changeset
1307 }
652
7a2d62a249a4 Synchronize with Aud-SID.
Matti Hamalainen <ccr@tnsp.org>
parents: 647
diff changeset
1308
78
ab522ab65c85 Various fixes and improvements
Matti Hamalainen <ccr@tnsp.org>
parents: 77
diff changeset
1309
359
b1a858b8cb1a Re-indentation all (non-generated) code.
Matti Hamalainen <ccr@tnsp.org>
parents: 349
diff changeset
1310 void xs_cfg_emu_sidplay1_toggled(GtkToggleButton * togglebutton, gpointer user_data)
78
ab522ab65c85 Various fixes and improvements
Matti Hamalainen <ccr@tnsp.org>
parents: 77
diff changeset
1311 {
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1312 (void) togglebutton;
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1313 (void) user_data;
78
ab522ab65c85 Various fixes and improvements
Matti Hamalainen <ccr@tnsp.org>
parents: 77
diff changeset
1314 }
ab522ab65c85 Various fixes and improvements
Matti Hamalainen <ccr@tnsp.org>
parents: 77
diff changeset
1315
ab522ab65c85 Various fixes and improvements
Matti Hamalainen <ccr@tnsp.org>
parents: 77
diff changeset
1316
359
b1a858b8cb1a Re-indentation all (non-generated) code.
Matti Hamalainen <ccr@tnsp.org>
parents: 349
diff changeset
1317 void xs_cfg_emu_sidplay2_toggled(GtkToggleButton * togglebutton, gpointer user_data)
78
ab522ab65c85 Various fixes and improvements
Matti Hamalainen <ccr@tnsp.org>
parents: 77
diff changeset
1318 {
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1319 gboolean isActive = GTK_TOGGLE_BUTTON(togglebutton)->active;
341
e065deeb086f Removed 'unused argument' warnings, some cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 324
diff changeset
1320
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1321 (void) user_data;
77
3fca0b13a80a Configuration panel tweaking
Matti Hamalainen <ccr@tnsp.org>
parents: 75
diff changeset
1322
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1323 gtk_widget_set_sensitive(LUW("cfg_emu_mem_real"), isActive);
77
3fca0b13a80a Configuration panel tweaking
Matti Hamalainen <ccr@tnsp.org>
parents: 75
diff changeset
1324
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1325 gtk_widget_set_sensitive(LUW("cfg_sidplay2_frame"), isActive);
712
f82e0adf19f0 Disable optimization button when distortion patched libSIDPlay2 is in use,
Matti Hamalainen <ccr@tnsp.org>
parents: 711
diff changeset
1326
f82e0adf19f0 Disable optimization button when distortion patched libSIDPlay2 is in use,
Matti Hamalainen <ccr@tnsp.org>
parents: 711
diff changeset
1327 /* Optimization mode removed from distortion patch */
793
0617f844ebdb Meh, revert some previous changes.
Matti Hamalainen <ccr@tnsp.org>
parents: 785
diff changeset
1328 #ifdef HAVE_SIDPLAY2_FP
0617f844ebdb Meh, revert some previous changes.
Matti Hamalainen <ccr@tnsp.org>
parents: 785
diff changeset
1329 gtk_widget_set_sensitive(LUW("cfg_emu_sp2_opt"), isActive);
0617f844ebdb Meh, revert some previous changes.
Matti Hamalainen <ccr@tnsp.org>
parents: 785
diff changeset
1330 #else
0617f844ebdb Meh, revert some previous changes.
Matti Hamalainen <ccr@tnsp.org>
parents: 785
diff changeset
1331 gtk_widget_set_sensitive(LUW("cfg_emu_sp2_opt"), FALSE);
0617f844ebdb Meh, revert some previous changes.
Matti Hamalainen <ccr@tnsp.org>
parents: 785
diff changeset
1332 #endif
77
3fca0b13a80a Configuration panel tweaking
Matti Hamalainen <ccr@tnsp.org>
parents: 75
diff changeset
1333
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1334 gtk_widget_set_sensitive(LUW("cfg_chn_autopan"), !isActive);
177
6e350784aa57 Various cleanups. Min-playtime option now works. Configuration has more
Matti Hamalainen <ccr@tnsp.org>
parents: 172
diff changeset
1335
793
0617f844ebdb Meh, revert some previous changes.
Matti Hamalainen <ccr@tnsp.org>
parents: 785
diff changeset
1336 #ifdef HAVE_RESID_FP_BUILDER
0617f844ebdb Meh, revert some previous changes.
Matti Hamalainen <ccr@tnsp.org>
parents: 785
diff changeset
1337 gtk_widget_set_sensitive(LUW("cfg_emu_sp2_resid_fp"), isActive);
0617f844ebdb Meh, revert some previous changes.
Matti Hamalainen <ccr@tnsp.org>
parents: 785
diff changeset
1338 #else
0617f844ebdb Meh, revert some previous changes.
Matti Hamalainen <ccr@tnsp.org>
parents: 785
diff changeset
1339 gtk_widget_set_sensitive(LUW("cfg_emu_sp2_resid_fp"), FALSE);
0617f844ebdb Meh, revert some previous changes.
Matti Hamalainen <ccr@tnsp.org>
parents: 785
diff changeset
1340 #endif
0617f844ebdb Meh, revert some previous changes.
Matti Hamalainen <ccr@tnsp.org>
parents: 785
diff changeset
1341
0617f844ebdb Meh, revert some previous changes.
Matti Hamalainen <ccr@tnsp.org>
parents: 785
diff changeset
1342 #ifdef HAVE_RESID_BUILDER
0617f844ebdb Meh, revert some previous changes.
Matti Hamalainen <ccr@tnsp.org>
parents: 785
diff changeset
1343 gtk_widget_set_sensitive(LUW("cfg_emu_sp2_resid"), isActive);
0617f844ebdb Meh, revert some previous changes.
Matti Hamalainen <ccr@tnsp.org>
parents: 785
diff changeset
1344 #else
0617f844ebdb Meh, revert some previous changes.
Matti Hamalainen <ccr@tnsp.org>
parents: 785
diff changeset
1345 gtk_widget_set_sensitive(LUW("cfg_emu_sp2_resid"), FALSE);
0617f844ebdb Meh, revert some previous changes.
Matti Hamalainen <ccr@tnsp.org>
parents: 785
diff changeset
1346 #endif
0617f844ebdb Meh, revert some previous changes.
Matti Hamalainen <ccr@tnsp.org>
parents: 785
diff changeset
1347
0617f844ebdb Meh, revert some previous changes.
Matti Hamalainen <ccr@tnsp.org>
parents: 785
diff changeset
1348 #ifdef HAVE_HARDSID_BUILDER
0617f844ebdb Meh, revert some previous changes.
Matti Hamalainen <ccr@tnsp.org>
parents: 785
diff changeset
1349 gtk_widget_set_sensitive(LUW("cfg_emu_sp2_hardsid"), isActive);
0617f844ebdb Meh, revert some previous changes.
Matti Hamalainen <ccr@tnsp.org>
parents: 785
diff changeset
1350 #else
0617f844ebdb Meh, revert some previous changes.
Matti Hamalainen <ccr@tnsp.org>
parents: 785
diff changeset
1351 gtk_widget_set_sensitive(LUW("cfg_emu_sp2_hardsid"), isActive);
0617f844ebdb Meh, revert some previous changes.
Matti Hamalainen <ccr@tnsp.org>
parents: 785
diff changeset
1352 #endif
77
3fca0b13a80a Configuration panel tweaking
Matti Hamalainen <ccr@tnsp.org>
parents: 75
diff changeset
1353 }
3fca0b13a80a Configuration panel tweaking
Matti Hamalainen <ccr@tnsp.org>
parents: 75
diff changeset
1354
3fca0b13a80a Configuration panel tweaking
Matti Hamalainen <ccr@tnsp.org>
parents: 75
diff changeset
1355
359
b1a858b8cb1a Re-indentation all (non-generated) code.
Matti Hamalainen <ccr@tnsp.org>
parents: 349
diff changeset
1356 void xs_cfg_mintime_enable_toggled(GtkToggleButton * togglebutton, gpointer user_data)
177
6e350784aa57 Various cleanups. Min-playtime option now works. Configuration has more
Matti Hamalainen <ccr@tnsp.org>
parents: 172
diff changeset
1357 {
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1358 gboolean isActive = GTK_TOGGLE_BUTTON(togglebutton)->active;
341
e065deeb086f Removed 'unused argument' warnings, some cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 324
diff changeset
1359
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1360 (void) user_data;
177
6e350784aa57 Various cleanups. Min-playtime option now works. Configuration has more
Matti Hamalainen <ccr@tnsp.org>
parents: 172
diff changeset
1361
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1362 gtk_widget_set_sensitive(LUW("cfg_mintime_box"), isActive);
177
6e350784aa57 Various cleanups. Min-playtime option now works. Configuration has more
Matti Hamalainen <ccr@tnsp.org>
parents: 172
diff changeset
1363 }
6e350784aa57 Various cleanups. Min-playtime option now works. Configuration has more
Matti Hamalainen <ccr@tnsp.org>
parents: 172
diff changeset
1364
6e350784aa57 Various cleanups. Min-playtime option now works. Configuration has more
Matti Hamalainen <ccr@tnsp.org>
parents: 172
diff changeset
1365
359
b1a858b8cb1a Re-indentation all (non-generated) code.
Matti Hamalainen <ccr@tnsp.org>
parents: 349
diff changeset
1366 void xs_cfg_maxtime_enable_toggled(GtkToggleButton * togglebutton, gpointer user_data)
177
6e350784aa57 Various cleanups. Min-playtime option now works. Configuration has more
Matti Hamalainen <ccr@tnsp.org>
parents: 172
diff changeset
1367 {
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1368 gboolean isActive = GTK_TOGGLE_BUTTON(LUW("cfg_maxtime_enable"))->active;
177
6e350784aa57 Various cleanups. Min-playtime option now works. Configuration has more
Matti Hamalainen <ccr@tnsp.org>
parents: 172
diff changeset
1369
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1370 (void) togglebutton;
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1371 (void) user_data;
341
e065deeb086f Removed 'unused argument' warnings, some cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 324
diff changeset
1372
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1373 gtk_widget_set_sensitive(LUW("cfg_maxtime_unknown"), isActive);
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1374 gtk_widget_set_sensitive(LUW("cfg_maxtime_box"), isActive);
177
6e350784aa57 Various cleanups. Min-playtime option now works. Configuration has more
Matti Hamalainen <ccr@tnsp.org>
parents: 172
diff changeset
1375 }
6e350784aa57 Various cleanups. Min-playtime option now works. Configuration has more
Matti Hamalainen <ccr@tnsp.org>
parents: 172
diff changeset
1376
6e350784aa57 Various cleanups. Min-playtime option now works. Configuration has more
Matti Hamalainen <ccr@tnsp.org>
parents: 172
diff changeset
1377
589
a437571d0fc5 Work on GUI and filter config code.
Matti Hamalainen <ccr@tnsp.org>
parents: 583
diff changeset
1378 void xs_cfg_sldb_enable_toggled(GtkToggleButton * togglebutton, gpointer user_data)
177
6e350784aa57 Various cleanups. Min-playtime option now works. Configuration has more
Matti Hamalainen <ccr@tnsp.org>
parents: 172
diff changeset
1379 {
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1380 gboolean isActive = GTK_TOGGLE_BUTTON(togglebutton)->active;
177
6e350784aa57 Various cleanups. Min-playtime option now works. Configuration has more
Matti Hamalainen <ccr@tnsp.org>
parents: 172
diff changeset
1381
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1382 (void) user_data;
177
6e350784aa57 Various cleanups. Min-playtime option now works. Configuration has more
Matti Hamalainen <ccr@tnsp.org>
parents: 172
diff changeset
1383
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1384 gtk_widget_set_sensitive(LUW("cfg_sld_box"), isActive);
177
6e350784aa57 Various cleanups. Min-playtime option now works. Configuration has more
Matti Hamalainen <ccr@tnsp.org>
parents: 172
diff changeset
1385 }
6e350784aa57 Various cleanups. Min-playtime option now works. Configuration has more
Matti Hamalainen <ccr@tnsp.org>
parents: 172
diff changeset
1386
6e350784aa57 Various cleanups. Min-playtime option now works. Configuration has more
Matti Hamalainen <ccr@tnsp.org>
parents: 172
diff changeset
1387
359
b1a858b8cb1a Re-indentation all (non-generated) code.
Matti Hamalainen <ccr@tnsp.org>
parents: 349
diff changeset
1388 void xs_cfg_stil_enable_toggled(GtkToggleButton * togglebutton, gpointer user_data)
260
7a23dfef023d More subauto poking.
Matti Hamalainen <ccr@tnsp.org>
parents: 258
diff changeset
1389 {
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1390 gboolean isActive = GTK_TOGGLE_BUTTON(togglebutton)->active;
359
b1a858b8cb1a Re-indentation all (non-generated) code.
Matti Hamalainen <ccr@tnsp.org>
parents: 349
diff changeset
1391
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1392 (void) user_data;
341
e065deeb086f Removed 'unused argument' warnings, some cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 324
diff changeset
1393
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1394 gtk_widget_set_sensitive(LUW("cfg_stil_box1"), isActive);
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1395 gtk_widget_set_sensitive(LUW("cfg_stil_box2"), isActive);
260
7a23dfef023d More subauto poking.
Matti Hamalainen <ccr@tnsp.org>
parents: 258
diff changeset
1396 }
7a23dfef023d More subauto poking.
Matti Hamalainen <ccr@tnsp.org>
parents: 258
diff changeset
1397
7a23dfef023d More subauto poking.
Matti Hamalainen <ccr@tnsp.org>
parents: 258
diff changeset
1398
359
b1a858b8cb1a Re-indentation all (non-generated) code.
Matti Hamalainen <ccr@tnsp.org>
parents: 349
diff changeset
1399 void xs_cfg_subauto_enable_toggled(GtkToggleButton * togglebutton, gpointer user_data)
260
7a23dfef023d More subauto poking.
Matti Hamalainen <ccr@tnsp.org>
parents: 258
diff changeset
1400 {
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1401 gboolean isActive = GTK_TOGGLE_BUTTON(togglebutton)->active;
359
b1a858b8cb1a Re-indentation all (non-generated) code.
Matti Hamalainen <ccr@tnsp.org>
parents: 349
diff changeset
1402
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1403 (void) user_data;
359
b1a858b8cb1a Re-indentation all (non-generated) code.
Matti Hamalainen <ccr@tnsp.org>
parents: 349
diff changeset
1404
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1405 gtk_widget_set_sensitive(LUW("cfg_subauto_min_only"), isActive);
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1406 gtk_widget_set_sensitive(LUW("cfg_subauto_box"), isActive);
359
b1a858b8cb1a Re-indentation all (non-generated) code.
Matti Hamalainen <ccr@tnsp.org>
parents: 349
diff changeset
1407 }
b1a858b8cb1a Re-indentation all (non-generated) code.
Matti Hamalainen <ccr@tnsp.org>
parents: 349
diff changeset
1408
260
7a23dfef023d More subauto poking.
Matti Hamalainen <ccr@tnsp.org>
parents: 258
diff changeset
1409
359
b1a858b8cb1a Re-indentation all (non-generated) code.
Matti Hamalainen <ccr@tnsp.org>
parents: 349
diff changeset
1410 void xs_cfg_subauto_min_only_toggled(GtkToggleButton * togglebutton, gpointer user_data)
b1a858b8cb1a Re-indentation all (non-generated) code.
Matti Hamalainen <ccr@tnsp.org>
parents: 349
diff changeset
1411 {
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1412 gboolean isActive = GTK_TOGGLE_BUTTON(togglebutton)->active &&
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1413 GTK_TOGGLE_BUTTON(LUW("cfg_subauto_enable"))->active;
341
e065deeb086f Removed 'unused argument' warnings, some cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 324
diff changeset
1414
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1415 (void) user_data;
359
b1a858b8cb1a Re-indentation all (non-generated) code.
Matti Hamalainen <ccr@tnsp.org>
parents: 349
diff changeset
1416
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1417 gtk_widget_set_sensitive(LUW("cfg_subauto_box"), isActive);
260
7a23dfef023d More subauto poking.
Matti Hamalainen <ccr@tnsp.org>
parents: 258
diff changeset
1418 }
7a23dfef023d More subauto poking.
Matti Hamalainen <ccr@tnsp.org>
parents: 258
diff changeset
1419
172
505da1389e5c Twiddling
Matti Hamalainen <ccr@tnsp.org>
parents: 169
diff changeset
1420
359
b1a858b8cb1a Re-indentation all (non-generated) code.
Matti Hamalainen <ccr@tnsp.org>
parents: 349
diff changeset
1421 void xs_cfg_mintime_changed(GtkEditable * editable, gpointer user_data)
172
505da1389e5c Twiddling
Matti Hamalainen <ccr@tnsp.org>
parents: 169
diff changeset
1422 {
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1423 gint tmpValue;
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1424 GtkAdjustment *tmpAdj;
359
b1a858b8cb1a Re-indentation all (non-generated) code.
Matti Hamalainen <ccr@tnsp.org>
parents: 349
diff changeset
1425
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1426 (void) user_data;
341
e065deeb086f Removed 'unused argument' warnings, some cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 324
diff changeset
1427
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1428 tmpAdj = gtk_spin_button_get_adjustment(GTK_SPIN_BUTTON(LUW("cfg_maxtime")));
177
6e350784aa57 Various cleanups. Min-playtime option now works. Configuration has more
Matti Hamalainen <ccr@tnsp.org>
parents: 172
diff changeset
1429
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1430 tmpValue = (gint) gtk_spin_button_get_adjustment(GTK_SPIN_BUTTON(editable))->value;
359
b1a858b8cb1a Re-indentation all (non-generated) code.
Matti Hamalainen <ccr@tnsp.org>
parents: 349
diff changeset
1431
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1432 if (tmpValue > tmpAdj->value)
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1433 gtk_adjustment_set_value(tmpAdj, tmpValue);
172
505da1389e5c Twiddling
Matti Hamalainen <ccr@tnsp.org>
parents: 169
diff changeset
1434 }
505da1389e5c Twiddling
Matti Hamalainen <ccr@tnsp.org>
parents: 169
diff changeset
1435
505da1389e5c Twiddling
Matti Hamalainen <ccr@tnsp.org>
parents: 169
diff changeset
1436
359
b1a858b8cb1a Re-indentation all (non-generated) code.
Matti Hamalainen <ccr@tnsp.org>
parents: 349
diff changeset
1437 void xs_cfg_maxtime_changed(GtkEditable * editable, gpointer user_data)
172
505da1389e5c Twiddling
Matti Hamalainen <ccr@tnsp.org>
parents: 169
diff changeset
1438 {
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1439 gint tmpValue;
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1440 GtkAdjustment *tmpAdj;
359
b1a858b8cb1a Re-indentation all (non-generated) code.
Matti Hamalainen <ccr@tnsp.org>
parents: 349
diff changeset
1441
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1442 (void) user_data;
341
e065deeb086f Removed 'unused argument' warnings, some cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 324
diff changeset
1443
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1444 tmpAdj = gtk_spin_button_get_adjustment(GTK_SPIN_BUTTON(LUW("cfg_mintime")));
177
6e350784aa57 Various cleanups. Min-playtime option now works. Configuration has more
Matti Hamalainen <ccr@tnsp.org>
parents: 172
diff changeset
1445
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1446 tmpValue = (gint) gtk_spin_button_get_adjustment(GTK_SPIN_BUTTON(editable))->value;
359
b1a858b8cb1a Re-indentation all (non-generated) code.
Matti Hamalainen <ccr@tnsp.org>
parents: 349
diff changeset
1447
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1448 if (tmpValue < tmpAdj->value)
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1449 gtk_adjustment_set_value(tmpAdj, tmpValue);
172
505da1389e5c Twiddling
Matti Hamalainen <ccr@tnsp.org>
parents: 169
diff changeset
1450 }
505da1389e5c Twiddling
Matti Hamalainen <ccr@tnsp.org>
parents: 169
diff changeset
1451
505da1389e5c Twiddling
Matti Hamalainen <ccr@tnsp.org>
parents: 169
diff changeset
1452
589
a437571d0fc5 Work on GUI and filter config code.
Matti Hamalainen <ccr@tnsp.org>
parents: 583
diff changeset
1453 XS_DEF_WINDOW_DELETE(configwin, configwin)
577
fdddab8f0c1b Scrubbing through the filter configuration code; Configuration dialog
Matti Hamalainen <ccr@tnsp.org>
parents: 553
diff changeset
1454
fdddab8f0c1b Scrubbing through the filter configuration code; Configuration dialog
Matti Hamalainen <ccr@tnsp.org>
parents: 553
diff changeset
1455
548
ba80c052e425 Configuration widget naming cleanups and GUI-related improvements;
Matti Hamalainen <ccr@tnsp.org>
parents: 542
diff changeset
1456 /* Execute the configuration panel
1
183e7cbc1036 Initial revision
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
1457 */
183e7cbc1036 Initial revision
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
1458 void xs_configure(void)
183e7cbc1036 Initial revision
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
1459 {
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1460 gint i;
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1461 gfloat tmpValue;
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1462 gchar tmpStr[64];
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1463 GList *tmpList = NULL;
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1464 GtkWidget *tmpCurve;
359
b1a858b8cb1a Re-indentation all (non-generated) code.
Matti Hamalainen <ccr@tnsp.org>
parents: 349
diff changeset
1465
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1466 /* Check if the window already exists */
785
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
1467 if (xs_configwin)
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
1468 {
665
94186706beed Use macro wrapping for Gtk+ v1 vs v2 differences, yet again.
Matti Hamalainen <ccr@tnsp.org>
parents: 660
diff changeset
1469 XS_WINDOW_PRESENT(xs_configwin);
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1470 return;
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1471 }
1
183e7cbc1036 Initial revision
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
1472
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1473 /* Create the window */
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1474 xs_configwin = create_xs_configwin();
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1475
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1476 /* Get lock on configuration */
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1477 XS_MUTEX_LOCK(xs_cfg);
487
6357b7fe5b0d Added new WTYPE_COMBO, the audio frequency selection now uses a combobox.
Matti Hamalainen <ccr@tnsp.org>
parents: 424
diff changeset
1478
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1479 /* Add samplerates */
785
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
1480 for (i = 0; i < xs_nsamplerates_table; i++)
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
1481 {
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1482 tmpList = g_list_append (tmpList,
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1483 (gpointer) xs_samplerates_table[i]);
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1484 }
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1485 gtk_combo_set_popdown_strings(GTK_COMBO(LUW("cfg_samplerate_combo")), tmpList);
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1486 g_list_free(tmpList);
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1487
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1488 /* Create the custom filter curve widget for libSIDPlay2 */
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1489 xs_cfg_sp2_presets_update();
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1490 tmpCurve = xs_curve_new();
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1491 xs_cfg_sp2_filter_update(XS_CURVE(tmpCurve), &xs_cfg.sid2Filter);
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1492 gtk_widget_set_name(tmpCurve, "cfg_sp2_filter_curve");
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1493 gtk_widget_ref(tmpCurve);
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1494 gtk_object_set_data_full(GTK_OBJECT(xs_configwin),
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1495 "cfg_sp2_filter_curve", tmpCurve, (GtkDestroyNotify) gtk_widget_unref);
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1496 gtk_widget_show(tmpCurve);
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1497 gtk_container_add(GTK_CONTAINER(LUW("cfg_sp2_filter_frame")), tmpCurve);
548
ba80c052e425 Configuration widget naming cleanups and GUI-related improvements;
Matti Hamalainen <ccr@tnsp.org>
parents: 542
diff changeset
1498
349
b5e54614b35a More unused argument warning removal, bit of code for filter editor.
Matti Hamalainen <ccr@tnsp.org>
parents: 346
diff changeset
1499
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1500 /* Based on available optional parts, gray out options */
75
653c9b0d1320 SIDPlay2 support "works" now. Borked problems with threads.
Matti Hamalainen <ccr@tnsp.org>
parents: 72
diff changeset
1501 #ifndef HAVE_SIDPLAY1
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1502 gtk_widget_set_sensitive(LUW("cfg_emu_sidplay1"), FALSE);
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1503 gtk_widget_set_sensitive(LUW("cfg_box_filter_sidplay1"), FALSE);
42
Matti Hamalainen <ccr@tnsp.org>
parents: 40
diff changeset
1504 #endif
Matti Hamalainen <ccr@tnsp.org>
parents: 40
diff changeset
1505
77
3fca0b13a80a Configuration panel tweaking
Matti Hamalainen <ccr@tnsp.org>
parents: 75
diff changeset
1506 #ifndef HAVE_SIDPLAY2
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1507 gtk_widget_set_sensitive(LUW("cfg_emu_sidplay2"), FALSE);
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1508 gtk_widget_set_sensitive(LUW("cfg_box_filter_sidplay2"), FALSE);
75
653c9b0d1320 SIDPlay2 support "works" now. Borked problems with threads.
Matti Hamalainen <ccr@tnsp.org>
parents: 72
diff changeset
1509 #endif
653c9b0d1320 SIDPlay2 support "works" now. Borked problems with threads.
Matti Hamalainen <ccr@tnsp.org>
parents: 72
diff changeset
1510
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1511 gtk_widget_set_sensitive(LUW("cfg_resid_frame"), FALSE);
624
0bf32fa002bf Merge in some Aud-SID #ifs etc.
Matti Hamalainen <ccr@tnsp.org>
parents: 621
diff changeset
1512
652
7a2d62a249a4 Synchronize with Aud-SID.
Matti Hamalainen <ccr@tnsp.org>
parents: 647
diff changeset
1513 #if !defined(HAVE_SONG_POSITION) && !defined(AUDACIOUS_PLUGIN)
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1514 gtk_widget_set_sensitive(LUW("cfg_subctrl_patch"), FALSE);
652
7a2d62a249a4 Synchronize with Aud-SID.
Matti Hamalainen <ccr@tnsp.org>
parents: 647
diff changeset
1515 #endif
647
3833592748eb Fixed configuration dialog, thanks to Joker for pointing out the flaws.
Matti Hamalainen <ccr@tnsp.org>
parents: 643
diff changeset
1516
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1517 xs_cfg_ftitle_override_toggled(GTK_TOGGLE_BUTTON(LUW("cfg_ftitle_override")), NULL);
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1518 xs_cfg_emu_filters_toggled(GTK_TOGGLE_BUTTON(LUW("cfg_emu_filters")), NULL);
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1519 xs_cfg_emu_sidplay1_toggled(GTK_TOGGLE_BUTTON(LUW("cfg_emu_sidplay1")), NULL);
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1520 xs_cfg_emu_sidplay2_toggled(GTK_TOGGLE_BUTTON(LUW("cfg_emu_sidplay2")), NULL);
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1521 xs_cfg_mintime_enable_toggled(GTK_TOGGLE_BUTTON(LUW("cfg_mintime_enable")), NULL);
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1522 xs_cfg_maxtime_enable_toggled(GTK_TOGGLE_BUTTON(LUW("cfg_maxtime_enable")), NULL);
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1523 xs_cfg_sldb_enable_toggled(GTK_TOGGLE_BUTTON(LUW("cfg_sld_enable")), NULL);
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1524 xs_cfg_stil_enable_toggled(GTK_TOGGLE_BUTTON(LUW("cfg_stil_enable")), NULL);
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1525 xs_cfg_subauto_enable_toggled(GTK_TOGGLE_BUTTON(LUW("cfg_subauto_enable")), NULL);
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1526 xs_cfg_subauto_min_only_toggled(GTK_TOGGLE_BUTTON(LUW("cfg_subauto_min_only")), NULL);
77
3fca0b13a80a Configuration panel tweaking
Matti Hamalainen <ccr@tnsp.org>
parents: 75
diff changeset
1527
3
279b1e12df2b Updated to version 0.8-devel
Matti Hamalainen <ccr@tnsp.org>
parents: 1
diff changeset
1528
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1529 /* Set current data to widgets */
785
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
1530 for (i = 0; i < xs_nwidtable; i++)
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
1531 {
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
1532 switch (xs_cfgitems[i].widType)
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
1533 {
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1534 case WTYPE_BGROUP:
785
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
1535 assert(xs_cfgitems[i].itemType == CTYPE_INT);
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1536 /* Check if current value matches the given one */
785
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
1537 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(LUW(xs_cfgitems[i].widName)),
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
1538 (*((gint *) xs_cfgitems[i].itemData) == xs_cfgitems[i].itemSet));
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1539 break;
63
05220299c6e8 Kuumaa paskaa
Matti Hamalainen <ccr@tnsp.org>
parents: 57
diff changeset
1540
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1541 case WTYPE_COMBO:
785
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
1542 assert(xs_cfgitems[i].itemType == CTYPE_INT);
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
1543 g_snprintf(tmpStr, sizeof(tmpStr), "%d", *(gint *) xs_cfgitems[i].itemData);
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
1544 gtk_entry_set_text(GTK_ENTRY(LUW(xs_cfgitems[i].widName)), tmpStr);
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1545 break;
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1546
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1547 case WTYPE_SPIN:
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1548 case WTYPE_SCALE:
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1549 /* Get the value */
785
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
1550 switch (xs_cfgitems[i].itemType)
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
1551 {
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
1552 case CTYPE_INT:
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
1553 tmpValue = (gfloat) * ((gint *) xs_cfgitems[i].itemData);
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
1554 break;
359
b1a858b8cb1a Re-indentation all (non-generated) code.
Matti Hamalainen <ccr@tnsp.org>
parents: 349
diff changeset
1555
785
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
1556 case CTYPE_FLOAT:
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
1557 tmpValue = *((gfloat *) xs_cfgitems[i].itemData);
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
1558 break;
359
b1a858b8cb1a Re-indentation all (non-generated) code.
Matti Hamalainen <ccr@tnsp.org>
parents: 349
diff changeset
1559
785
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
1560 default:
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
1561 tmpValue = -1;
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
1562 assert(0);
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
1563 break;
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1564 }
359
b1a858b8cb1a Re-indentation all (non-generated) code.
Matti Hamalainen <ccr@tnsp.org>
parents: 349
diff changeset
1565
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1566 /* Set the value */
785
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
1567 switch (xs_cfgitems[i].widType)
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
1568 {
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
1569 case WTYPE_SPIN:
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
1570 gtk_adjustment_set_value(gtk_spin_button_get_adjustment
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
1571 (GTK_SPIN_BUTTON(LUW(xs_cfgitems[i].widName))), tmpValue);
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
1572 break;
359
b1a858b8cb1a Re-indentation all (non-generated) code.
Matti Hamalainen <ccr@tnsp.org>
parents: 349
diff changeset
1573
785
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
1574 case WTYPE_SCALE:
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
1575 gtk_adjustment_set_value(gtk_range_get_adjustment
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
1576 (GTK_RANGE(LUW(xs_cfgitems[i].widName))), tmpValue);
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
1577 break;
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1578 }
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1579 break;
359
b1a858b8cb1a Re-indentation all (non-generated) code.
Matti Hamalainen <ccr@tnsp.org>
parents: 349
diff changeset
1580
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1581 case WTYPE_BUTTON:
785
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
1582 assert(xs_cfgitems[i].itemType == CTYPE_BOOL);
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1583 /* Set toggle-button */
785
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
1584 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(LUW(xs_cfgitems[i].widName)),
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
1585 *((gboolean *) xs_cfgitems[i].itemData));
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1586 break;
359
b1a858b8cb1a Re-indentation all (non-generated) code.
Matti Hamalainen <ccr@tnsp.org>
parents: 349
diff changeset
1587
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1588 case WTYPE_TEXT:
785
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
1589 assert(xs_cfgitems[i].itemType == CTYPE_STR);
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1590 /* Set text to text-widget */
785
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
1591 if (*(gchar **) xs_cfgitems[i].itemData != NULL)
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
1592 {
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
1593 gtk_entry_set_text(GTK_ENTRY(LUW(xs_cfgitems[i].widName)),
fcda6f365e02 More cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 773
diff changeset
1594 *(gchar **) xs_cfgitems[i].itemData);
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1595 }
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1596 break;
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1597 }
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1598 }
228
a9a5924eb10c Have and use a mutex for xs_cfg configuration structure.
Matti Hamalainen <ccr@tnsp.org>
parents: 224
diff changeset
1599
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1600 /* Release the configuration */
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1601 XS_MUTEX_UNLOCK(xs_cfg);
228
a9a5924eb10c Have and use a mutex for xs_cfg configuration structure.
Matti Hamalainen <ccr@tnsp.org>
parents: 224
diff changeset
1602
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1603 /* Show the widget */
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
1604 gtk_widget_show(xs_configwin);
1
183e7cbc1036 Initial revision
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
1605 }