Mercurial > hg > xmms-sid
comparison src/xs_config.c @ 720:0feeaf698a54
Clean up the XS_CFG_* macros a bit.
author | Matti Hamalainen <ccr@tnsp.org> |
---|---|
date | Tue, 10 Feb 2009 03:11:39 +0200 |
parents | 06db79680afe |
children | 2b6a29eefffb |
comparison
equal
deleted
inserted
replaced
719:cab9d2b182e8 | 720:0feeaf698a54 |
---|---|
22 */ | 22 */ |
23 #include "xs_config.h" | 23 #include "xs_config.h" |
24 | 24 |
25 #ifdef AUDACIOUS_PLUGIN | 25 #ifdef AUDACIOUS_PLUGIN |
26 #include <audacious/plugin.h> | 26 #include <audacious/plugin.h> |
27 #define XS_CONFIG_FILE ConfigDb | 27 #define XS_CONFIG_FILE mcs_handle_t |
28 #define XS_CONFIG_OPEN aud_cfg_db_open | 28 #define XS_CONFIG_OPEN aud_cfg_db_open |
29 #define XS_CONFIG_FREE aud_cfg_db_close | 29 #define XS_CONFIG_FREE aud_cfg_db_close |
30 | 30 |
31 #define XS_CFG_SET_STRING aud_cfg_db_set_string | 31 #define XS_CFG_SET_STRING(q,z) aud_cfg_db_set_string(cfg, XS_CONFIG_IDENT, q, z) |
32 #define XS_CFG_SET_FLOAT aud_cfg_db_set_float | 32 #define XS_CFG_SET_FLOAT(q,z) aud_cfg_db_set_float(cfg, XS_CONFIG_IDENT, q, z) |
33 #define XS_CFG_SET_INT aud_cfg_db_set_int | 33 #define XS_CFG_SET_INT(q,z) aud_cfg_db_set_int(cfg, XS_CONFIG_IDENT, q, z) |
34 #define XS_CFG_SET_BOOL aud_cfg_db_set_bool | 34 #define XS_CFG_SET_BOOL(q,z) aud_cfg_db_set_bool(cfg, XS_CONFIG_IDENT, q, z) |
35 #define XS_CFG_GET_STRING aud_cfg_db_get_string | 35 #define XS_CFG_GET_STRING(q,z) aud_cfg_db_get_string(cfg, XS_CONFIG_IDENT, q, z) |
36 #define XS_CFG_GET_FLOAT aud_cfg_db_get_float | 36 #define XS_CFG_GET_FLOAT(q,z) aud_cfg_db_get_float(cfg, XS_CONFIG_IDENT, q, z) |
37 #define XS_CFG_GET_INT aud_cfg_db_get_int | 37 #define XS_CFG_GET_INT(q,z) aud_cfg_db_get_int(cfg, XS_CONFIG_IDENT, q, z) |
38 #define XS_CFG_GET_BOOL aud_cfg_db_get_bool | 38 #define XS_CFG_GET_BOOL(q,z) aud_cfg_db_get_bool(cfg, XS_CONFIG_IDENT, q, z) |
39 #else | 39 #else |
40 #include <xmms/configfile.h> | 40 #include <xmms/configfile.h> |
41 #define XS_CONFIG_FILE ConfigFile | 41 #define XS_CONFIG_FILE ConfigFile |
42 #define XS_CONFIG_OPEN xmms_cfg_open_default_file | 42 #define XS_CONFIG_OPEN xmms_cfg_open_default_file |
43 #define XS_CONFIG_FREE xmms_cfg_free | 43 #define XS_CONFIG_FREE xmms_cfg_free |
44 | 44 |
45 #define XS_CFG_SET_STRING xmms_cfg_write_string | 45 #define XS_CFG_SET_STRING(q,z) xmms_cfg_write_string(cfg, XS_CONFIG_IDENT, q, z) |
46 #define XS_CFG_SET_FLOAT xmms_cfg_write_float | 46 #define XS_CFG_SET_FLOAT(q,z) xmms_cfg_write_float(cfg, XS_CONFIG_IDENT, q, z) |
47 #define XS_CFG_SET_INT xmms_cfg_write_int | 47 #define XS_CFG_SET_INT(q,z) xmms_cfg_write_int(cfg, XS_CONFIG_IDENT, q, z) |
48 #define XS_CFG_SET_BOOL xmms_cfg_write_boolean | 48 #define XS_CFG_SET_BOOL(q,z) xmms_cfg_write_boolean(cfg, XS_CONFIG_IDENT, q, z) |
49 #define XS_CFG_GET_STRING xmms_cfg_read_string | 49 #define XS_CFG_GET_STRING(q,z) xmms_cfg_read_string(cfg, XS_CONFIG_IDENT, q, z) |
50 #define XS_CFG_GET_FLOAT xmms_cfg_read_float | 50 #define XS_CFG_GET_FLOAT(q,z) xmms_cfg_read_float(cfg, XS_CONFIG_IDENT, q, z) |
51 #define XS_CFG_GET_INT xmms_cfg_read_int | 51 #define XS_CFG_GET_INT(q,z) xmms_cfg_read_int(cfg, XS_CONFIG_IDENT, q, z) |
52 #define XS_CFG_GET_BOOL xmms_cfg_read_boolean | 52 #define XS_CFG_GET_BOOL(q,z) xmms_cfg_read_boolean(cfg, XS_CONFIG_IDENT, q, z) |
53 #endif | 53 #endif |
54 #include <stdio.h> | 54 #include <stdio.h> |
55 #include <ctype.h> | 55 #include <ctype.h> |
56 #include "xs_glade.h" | 56 #include "xs_glade.h" |
57 #include "xs_interface.h" | 57 #include "xs_interface.h" |
309 gchar tmpKey[64], *tmpStr; | 309 gchar tmpKey[64], *tmpStr; |
310 gint i, j; | 310 gint i, j; |
311 | 311 |
312 /* Get fields from config */ | 312 /* Get fields from config */ |
313 g_snprintf(tmpKey, sizeof(tmpKey), "filter%dNPoints", nFilter); | 313 g_snprintf(tmpKey, sizeof(tmpKey), "filter%dNPoints", nFilter); |
314 if (!XS_CFG_GET_INT(cfg, XS_CONFIG_IDENT, tmpKey, &(pResult->npoints))) | 314 if (!XS_CFG_GET_INT(tmpKey, &(pResult->npoints))) |
315 return FALSE; | 315 return FALSE; |
316 | 316 |
317 g_snprintf(tmpKey, sizeof(tmpKey), "filter%dName", nFilter); | 317 g_snprintf(tmpKey, sizeof(tmpKey), "filter%dName", nFilter); |
318 if (!XS_CFG_GET_STRING(cfg, XS_CONFIG_IDENT, tmpKey, &tmpStr)) | 318 if (!XS_CFG_GET_STRING(tmpKey, &tmpStr)) |
319 return FALSE; | 319 return FALSE; |
320 | 320 |
321 pResult->name = g_strdup(tmpStr); | 321 pResult->name = g_strdup(tmpStr); |
322 if (pResult->name == NULL) { | 322 if (pResult->name == NULL) { |
323 g_free(pResult); | 323 g_free(pResult); |
324 return FALSE; | 324 return FALSE; |
325 } | 325 } |
326 | 326 |
327 g_snprintf(tmpKey, sizeof(tmpKey), "filter%dPoints", nFilter); | 327 g_snprintf(tmpKey, sizeof(tmpKey), "filter%dPoints", nFilter); |
328 if (!XS_CFG_GET_STRING(cfg, XS_CONFIG_IDENT, tmpKey, &tmpStr)) | 328 if (!XS_CFG_GET_STRING(tmpKey, &tmpStr)) |
329 return FALSE; | 329 return FALSE; |
330 | 330 |
331 for (i = 0, j = 0; i < pResult->npoints; i++, j += XS_FITEM) { | 331 for (i = 0, j = 0; i < pResult->npoints; i++, j += XS_FITEM) { |
332 if (sscanf(&tmpStr[j], "%4x%4x", | 332 if (sscanf(&tmpStr[j], "%4x%4x", |
333 &(pResult->points[i].x), | 333 &(pResult->points[i].x), |
372 pFilter->points[i].y); | 372 pFilter->points[i].y); |
373 } | 373 } |
374 | 374 |
375 /* Write into the configuration */ | 375 /* Write into the configuration */ |
376 g_snprintf(tmpKey, sizeof(tmpKey), "filter%dName", nFilter); | 376 g_snprintf(tmpKey, sizeof(tmpKey), "filter%dName", nFilter); |
377 XS_CFG_SET_STRING(cfg, XS_CONFIG_IDENT, tmpKey, pFilter->name); | 377 XS_CFG_SET_STRING(tmpKey, pFilter->name); |
378 | 378 |
379 g_snprintf(tmpKey, sizeof(tmpKey), "filter%dNPoints", nFilter); | 379 g_snprintf(tmpKey, sizeof(tmpKey), "filter%dNPoints", nFilter); |
380 XS_CFG_SET_INT(cfg, XS_CONFIG_IDENT, tmpKey, pFilter->npoints); | 380 XS_CFG_SET_INT(tmpKey, pFilter->npoints); |
381 | 381 |
382 g_snprintf(tmpKey, sizeof(tmpKey), "filter%dPoints", nFilter); | 382 g_snprintf(tmpKey, sizeof(tmpKey), "filter%dPoints", nFilter); |
383 XS_CFG_SET_STRING(cfg, XS_CONFIG_IDENT, tmpKey, tmpValue); | 383 XS_CFG_SET_STRING(tmpKey, tmpValue); |
384 | 384 |
385 g_free(tmpValue); | 385 g_free(tmpValue); |
386 return TRUE; | 386 return TRUE; |
387 } | 387 } |
388 #endif | 388 #endif |
543 | 543 |
544 /* Read the new settings from XMMS configuration file */ | 544 /* Read the new settings from XMMS configuration file */ |
545 for (i = 0; i < xs_cfgtable_max; i++) { | 545 for (i = 0; i < xs_cfgtable_max; i++) { |
546 switch (xs_cfgtable[i].itemType) { | 546 switch (xs_cfgtable[i].itemType) { |
547 case CTYPE_INT: | 547 case CTYPE_INT: |
548 XS_CFG_GET_INT(cfg, XS_CONFIG_IDENT, | 548 XS_CFG_GET_INT(xs_cfgtable[i].itemName, |
549 xs_cfgtable[i].itemName, | |
550 (gint *) xs_cfgtable[i].itemData); | 549 (gint *) xs_cfgtable[i].itemData); |
551 break; | 550 break; |
552 | 551 |
553 case CTYPE_BOOL: | 552 case CTYPE_BOOL: |
554 XS_CFG_GET_BOOL(cfg, XS_CONFIG_IDENT, | 553 XS_CFG_GET_BOOL(xs_cfgtable[i].itemName, |
555 xs_cfgtable[i].itemName, | |
556 (gboolean *) xs_cfgtable[i].itemData); | 554 (gboolean *) xs_cfgtable[i].itemData); |
557 break; | 555 break; |
558 | 556 |
559 case CTYPE_FLOAT: | 557 case CTYPE_FLOAT: |
560 XS_CFG_GET_FLOAT(cfg, XS_CONFIG_IDENT, | 558 XS_CFG_GET_FLOAT(xs_cfgtable[i].itemName, |
561 xs_cfgtable[i].itemName, | |
562 (gfloat *) xs_cfgtable[i].itemData); | 559 (gfloat *) xs_cfgtable[i].itemData); |
563 break; | 560 break; |
564 | 561 |
565 case CTYPE_STR: | 562 case CTYPE_STR: |
566 if (XS_CFG_GET_STRING(cfg, XS_CONFIG_IDENT, | 563 if (XS_CFG_GET_STRING(xs_cfgtable[i].itemName, |
567 xs_cfgtable[i].itemName, (gchar **) &tmpStr)) { | 564 (gchar **) &tmpStr)) { |
568 xs_pstrcpy((gchar **) xs_cfgtable[i].itemData, tmpStr); | 565 xs_pstrcpy((gchar **) xs_cfgtable[i].itemData, tmpStr); |
569 g_free(tmpStr); | 566 g_free(tmpStr); |
570 } | 567 } |
571 break; | 568 break; |
572 } | 569 } |
613 | 610 |
614 /* Write the new settings to XMMS configuration file */ | 611 /* Write the new settings to XMMS configuration file */ |
615 for (i = 0; i < xs_cfgtable_max; i++) { | 612 for (i = 0; i < xs_cfgtable_max; i++) { |
616 switch (xs_cfgtable[i].itemType) { | 613 switch (xs_cfgtable[i].itemType) { |
617 case CTYPE_INT: | 614 case CTYPE_INT: |
618 XS_CFG_SET_INT(cfg, XS_CONFIG_IDENT, | 615 XS_CFG_SET_INT(xs_cfgtable[i].itemName, |
619 xs_cfgtable[i].itemName, | |
620 *(gint *) xs_cfgtable[i].itemData); | 616 *(gint *) xs_cfgtable[i].itemData); |
621 break; | 617 break; |
622 | 618 |
623 case CTYPE_BOOL: | 619 case CTYPE_BOOL: |
624 XS_CFG_SET_BOOL(cfg, XS_CONFIG_IDENT, | 620 XS_CFG_SET_BOOL(xs_cfgtable[i].itemName, |
625 xs_cfgtable[i].itemName, | |
626 *(gboolean *) xs_cfgtable[i].itemData); | 621 *(gboolean *) xs_cfgtable[i].itemData); |
627 break; | 622 break; |
628 | 623 |
629 case CTYPE_FLOAT: | 624 case CTYPE_FLOAT: |
630 XS_CFG_SET_FLOAT(cfg, XS_CONFIG_IDENT, | 625 XS_CFG_SET_FLOAT(xs_cfgtable[i].itemName, |
631 xs_cfgtable[i].itemName, | |
632 *(gfloat *) xs_cfgtable[i].itemData); | 626 *(gfloat *) xs_cfgtable[i].itemData); |
633 break; | 627 break; |
634 | 628 |
635 case CTYPE_STR: | 629 case CTYPE_STR: |
636 XS_CFG_SET_STRING(cfg, XS_CONFIG_IDENT, | 630 XS_CFG_SET_STRING(xs_cfgtable[i].itemName, |
637 xs_cfgtable[i].itemName, | |
638 *(gchar **) xs_cfgtable[i].itemData); | 631 *(gchar **) xs_cfgtable[i].itemData); |
639 break; | 632 break; |
640 } | 633 } |
641 } | 634 } |
642 | 635 |