comparison src/xs_config.c @ 722:5923dfff1fac

Unify xs_sid*_filter_t into one.
author Matti Hamalainen <ccr@tnsp.org>
date Tue, 10 Feb 2009 03:25:49 +0200
parents 2b6a29eefffb
children 9321ffa2ea7e
comparison
equal deleted inserted replaced
721:2b6a29eefffb 722:5923dfff1fac
314 xmms_show_message(_(PACKAGE_NAME " Error"), msg, _("OK"), TRUE, NULL, NULL); 314 xmms_show_message(_(PACKAGE_NAME " Error"), msg, _("OK"), TRUE, NULL, NULL);
315 g_free(msg); 315 g_free(msg);
316 } 316 }
317 317
318 318
319 static void xs_filter_free(xs_sid2_filter_t *filter) 319 static void xs_filter_free(xs_sid_filter_t *filter)
320 { 320 {
321 if (filter) { 321 if (filter) {
322 g_free(filter->name); 322 g_free(filter->name);
323 filter->name = NULL; 323 filter->name = NULL;
324 g_free(filter); 324 g_free(filter);
326 } 326 }
327 327
328 328
329 #define XS_FITEM (4 * 2) 329 #define XS_FITEM (4 * 2)
330 330
331 static gboolean xs_filter_load_into(XS_CONFIG_FILE *cfg, gint nFilter, xs_sid2_filter_t *filter) 331 static gboolean xs_filter_load_into(XS_CONFIG_FILE *cfg, gint nFilter, xs_sid_filter_t *filter)
332 { 332 {
333 gchar tmpKey[64], *tmpStr; 333 gchar tmpKey[64], *tmpStr;
334 334
335 /* Get fields from config */ 335 /* Get fields from config */
336 g_snprintf(tmpKey, sizeof(tmpKey), "filter%dType", nFilter); 336 g_snprintf(tmpKey, sizeof(tmpKey), "filter%dType", nFilter);
397 397
398 return TRUE; 398 return TRUE;
399 } 399 }
400 400
401 401
402 static xs_sid2_filter_t * xs_filter_load(XS_CONFIG_FILE *cfg, gint nFilter) 402 static xs_sid_filter_t * xs_filter_load(XS_CONFIG_FILE *cfg, gint nFilter)
403 { 403 {
404 xs_sid2_filter_t *filter; 404 xs_sid_filter_t *filter;
405 405
406 /* Allocate filter struct */ 406 /* Allocate filter struct */
407 if ((filter = g_malloc0(sizeof(xs_sid2_filter_t))) == NULL) 407 if ((filter = g_malloc0(sizeof(xs_sid_filter_t))) == NULL)
408 return NULL; 408 return NULL;
409 409
410 if (!xs_filter_load_into(cfg, nFilter, filter)) { 410 if (!xs_filter_load_into(cfg, nFilter, filter)) {
411 xs_error("Error loading filter %d from configuration.\n", nFilter); 411 xs_error("Error loading filter %d from configuration.\n", nFilter);
412 xs_filter_free(filter); 412 xs_filter_free(filter);
415 return filter; 415 return filter;
416 } 416 }
417 417
418 418
419 #if 0 419 #if 0
420 static gboolean xs_filter_save(XS_CONFIG_FILE *cfg, xs_sid2_filter_t *pFilter, gint nFilter) 420 static gboolean xs_filter_save(XS_CONFIG_FILE *cfg, xs_sid_filter_t *pFilter, gint nFilter)
421 { 421 {
422 gchar *tmpValue, tmpKey[64]; 422 gchar *tmpValue, tmpKey[64];
423 gint i, j; 423 gint i, j;
424 424
425 /* Allocate memory for value string */ 425 /* Allocate memory for value string */
467 xs_findnext(inLine, linePos); 467 xs_findnext(inLine, linePos);
468 return (inLine[*linePos] == sep); 468 return (inLine[*linePos] == sep);
469 } 469 }
470 470
471 471
472 static gboolean xs_chkf(xs_sid2_filter_t *filter, const gchar *str, const gchar *name, gint type) 472 static gboolean xs_chkf(xs_sid_filter_t *filter, const gchar *str, const gchar *name, gint type)
473 { 473 {
474 if (g_strncasecmp(str, name, strlen(name))) 474 if (g_strncasecmp(str, name, strlen(name)))
475 return FALSE; 475 return FALSE;
476 if (filter->type != type) { 476 if (filter->type != type) {
477 if (filter->type == -1) { 477 if (filter->type == -1) {
483 } 483 }
484 } else 484 } else
485 return TRUE; 485 return TRUE;
486 } 486 }
487 487
488 static gboolean xs_filters_import(const gchar *filename, xs_sid2_filter_t **pFilters, gint *nFilters) 488 static gboolean xs_filters_import(const gchar *filename, xs_sid_filter_t **pFilters, gint *nFilters)
489 { 489 {
490 FILE *inFile; 490 FILE *inFile;
491 gchar inLine[XS_BUF_SIZE], tmpStr[XS_BUF_SIZE]; 491 gchar inLine[XS_BUF_SIZE], tmpStr[XS_BUF_SIZE];
492 gchar *sectName = NULL; 492 gchar *sectName = NULL;
493 gboolean inSection, isError = FALSE; 493 gboolean inSection, isError = FALSE;
494 size_t lineNum, i; 494 size_t lineNum, i;
495 xs_sid2_filter_t *filter = NULL; 495 xs_sid_filter_t *filter = NULL;
496 496
497 fprintf(stderr, "xs_filters_import(%s)\n", filename); 497 fprintf(stderr, "xs_filters_import(%s)\n", filename);
498 498
499 if ((inFile = fopen(filename, "ra")) == NULL) { 499 if ((inFile = fopen(filename, "ra")) == NULL) {
500 xs_filters_error(""); 500 xs_filters_error("");
537 } else if (inLine[linePos] == '[') { 537 } else if (inLine[linePos] == '[') {
538 /* Check for existing section */ 538 /* Check for existing section */
539 if (inSection) { 539 if (inSection) {
540 /* Submit definition */ 540 /* Submit definition */
541 fprintf(stderr, "filter ends: %s\n", sectName); 541 fprintf(stderr, "filter ends: %s\n", sectName);
542 if ((filter = g_malloc0(sizeof(xs_sid2_filter_t))) == NULL) { 542 if ((filter = g_malloc0(sizeof(xs_sid_filter_t))) == NULL) {
543 fprintf(stderr, "could not allocate ..\n"); 543 fprintf(stderr, "could not allocate ..\n");
544 } else { 544 } else {
545 545
546 } 546 }
547 g_free(sectName); 547 g_free(sectName);
575 fclose(inFile); 575 fclose(inFile);
576 return TRUE; 576 return TRUE;
577 } 577 }
578 578
579 579
580 static gboolean xs_filter_export(FILE *outFile, xs_sid2_filter_t *filter) 580 static gboolean xs_filter_export(FILE *outFile, xs_sid_filter_t *filter)
581 { 581 {
582 fprintf(outFile, 582 fprintf(outFile,
583 "[Filter%s]\n" 583 "[Filter%s]\n"
584 "type=%d\n", 584 "type=%d\n",
585 filter->name, filter->type); 585 filter->name, filter->type);
627 fprintf(outFile, "\n"); 627 fprintf(outFile, "\n");
628 return TRUE; 628 return TRUE;
629 } 629 }
630 630
631 631
632 static gboolean xs_filters_export(const gchar *filename, xs_sid2_filter_t **filters, gint nFilters) 632 static gboolean xs_filters_export(const gchar *filename, xs_sid_filter_t **filters, gint nFilters)
633 { 633 {
634 gboolean result = TRUE; 634 gboolean result = TRUE;
635 FILE *outFile; 635 FILE *outFile;
636 gint n; 636 gint n;
637 637
713 713
714 /* Filters and presets are a special case */ 714 /* Filters and presets are a special case */
715 xs_filter_load_into(cfg, 0, &xs_cfg.sid2Filter); 715 xs_filter_load_into(cfg, 0, &xs_cfg.sid2Filter);
716 716
717 if (xs_cfg.sid2NFilterPresets > 0) { 717 if (xs_cfg.sid2NFilterPresets > 0) {
718 xs_cfg.sid2FilterPresets = g_malloc0(xs_cfg.sid2NFilterPresets * sizeof(xs_sid2_filter_t *)); 718 xs_cfg.sid2FilterPresets = g_malloc0(xs_cfg.sid2NFilterPresets * sizeof(xs_sid_filter_t *));
719 if (!xs_cfg.sid2FilterPresets) { 719 if (!xs_cfg.sid2FilterPresets) {
720 xs_error("Allocation of sid2FilterPresets structure failed!\n"); 720 xs_error("Allocation of sid2FilterPresets structure failed!\n");
721 } else { 721 } else {
722 for (i = 0; i < xs_cfg.sid2NFilterPresets; i++) { 722 for (i = 0; i < xs_cfg.sid2NFilterPresets; i++) {
723 xs_cfg.sid2FilterPresets[i] = xs_filter_load(cfg, i); 723 xs_cfg.sid2FilterPresets[i] = xs_filter_load(cfg, i);
1030 gtk_adjustment_set_value(gtk_range_get_adjustment(GTK_RANGE(LUW("cfg_sp1_filter_fm"))), XS_SIDPLAY1_FM); 1030 gtk_adjustment_set_value(gtk_range_get_adjustment(GTK_RANGE(LUW("cfg_sp1_filter_fm"))), XS_SIDPLAY1_FM);
1031 gtk_adjustment_set_value(gtk_range_get_adjustment(GTK_RANGE(LUW("cfg_sp1_filter_ft"))), XS_SIDPLAY1_FT); 1031 gtk_adjustment_set_value(gtk_range_get_adjustment(GTK_RANGE(LUW("cfg_sp1_filter_ft"))), XS_SIDPLAY1_FT);
1032 } 1032 }
1033 1033
1034 1034
1035 void xs_cfg_sp2_filter_update(XSCurve *curve, xs_sid2_filter_t *f) 1035 void xs_cfg_sp2_filter_update(XSCurve *curve, xs_sid_filter_t *f)
1036 { 1036 {
1037 assert(curve); 1037 assert(curve);
1038 assert(f); 1038 assert(f);
1039 1039
1040 xs_curve_reset(curve); 1040 xs_curve_reset(curve);