示例#1
0
//-------------------------------------------------------------------
// PURPOSE:     Save parameters to paramset for script
//                  Use: conf.script_file, conf.script_param_set
// PARAMETERS:  enforce = 1 mean save always
//                      = 0 mean save only if any values was changed
//                        (script_loaded_params[i] != conf.script_vars[i])
//
// NOTE:    1. create SCRIPT_DATA_PATH/scriptname.cfg 
//                      which store # of last saved paramset
//          2. create SCRIPT_DATA_PATH/scriptname_PARAMSETNUM 
//                      which param_str
//-------------------------------------------------------------------
void save_params_values( int enforce )
{
    if (conf.script_param_save && (conf.script_param_set != DEFAULT_PARAM_SET))
    {
        // Write paramsetnum file
        make_param_filename( MAKE_PARAMSETNUM_FILENAME, conf.script_file, 0);
        save_int_value_file( cfg_name, conf.script_param_set );

        int i, changed=0;

        // Check is anything changed since last time
        for(i = 0; i < SCRIPT_NUM_PARAMS; i++)
        {
            if (script_loaded_params[i] != conf.script_vars[i]) changed++;
            script_loaded_params[i] = conf.script_vars[i];
        }

        if (enforce || changed)
        {
            // Write parameters file
            make_param_filename( MAKE_PARAM_FILENAME, conf.script_file, conf.script_param_set);
            do_save_param_file(cfg_param_name);
        }
    }
}
示例#2
0
文件: gui_script.c 项目: c10ud/CHDK
//-------------------------------------------------------------------
// PURPOSE:     Save parameters to paramset for script
//                  Use: conf.script_file, conf.script_param_set
// PARAMETERS:  enforce = 1 mean save always
//                      = 0 mean save only if any values was changed
//                        (script_params[i].old_val != script_params[i].val)
//
// NOTE:    1. create SCRIPT_DATA_PATH/scriptname.cfg 
//                      which store # of last saved paramset
//          2. create SCRIPT_DATA_PATH/scriptname_PARAMSETNUM 
//                      which param_str
//-------------------------------------------------------------------
void save_params_values( int enforce )
{
    if (conf.script_param_save && (conf.script_param_set != DEFAULT_PARAM_SET))
    {
        // Write paramsetnum file
        if (conf.script_param_set != last_script_param_set)
        {
            char *nm = make_param_filename(MAKE_PARAMSETNUM_FILENAME);
            save_int_value_file( nm, conf.script_param_set );
            last_script_param_set = conf.script_param_set;
        }

        int i, changed=0;

        // Check is anything changed since last time
        sc_param *p = script_params;
        while (p)
        {
            if (p->old_val != p->val)
            {
                changed++;
                p->old_val = p->val;
            }
            p = p->next;
        }

        if (enforce || changed)
        {
            // Write parameters file
            do_save_param_file();
        }
    }
}