/* Compares the current settings to the available calibration profiles and returns the matching profile -- or CUSTOM if no match is found */ Colours_preset_t Colours_GetPreset(void) { int i; if ((Atari800_tv_mode == Atari800_TV_NTSC && COLOURS_NTSC_GetPreset() != COLOURS_PRESET_STANDARD) || (Atari800_tv_mode == Atari800_TV_PAL && COLOURS_PAL_GetPreset() != COLOURS_PRESET_STANDARD)) return COLOURS_PRESET_CUSTOM; for (i = 0; i < COLOURS_PRESET_SIZE; i ++) { if (Util_almostequal(Colours_setup->hue, presets[i].hue, 0.001) && Util_almostequal(Colours_setup->saturation, presets[i].saturation, 0.001) && Util_almostequal(Colours_setup->contrast, presets[i].contrast, 0.001) && Util_almostequal(Colours_setup->brightness, presets[i].brightness, 0.001) && Util_almostequal(Colours_setup->gamma, presets[i].gamma, 0.001) && Colours_setup->black_level == presets[i].black_level && Colours_setup->white_level == presets[i].white_level) return i; } return COLOURS_PRESET_CUSTOM; }
int FILTER_NTSC_GetPreset(void) { int i; for (i = 0; i < FILTER_NTSC_PRESET_SIZE; i ++) { if (Util_almostequal(FILTER_NTSC_setup.sharpness, presets[i]->sharpness, 0.001) && Util_almostequal(FILTER_NTSC_setup.resolution, presets[i]->resolution, 0.001) && Util_almostequal(FILTER_NTSC_setup.artifacts, presets[i]->artifacts, 0.001) && Util_almostequal(FILTER_NTSC_setup.fringing, presets[i]->fringing, 0.001) && Util_almostequal(FILTER_NTSC_setup.bleed, presets[i]->bleed, 0.001) && Util_almostequal(FILTER_NTSC_setup.burst_phase, presets[i]->burst_phase, 0.001) && Util_almostequal(COLOURS_NTSC_setup.hue, presets[i]->hue, 0.001) && Util_almostequal(COLOURS_NTSC_setup.saturation, presets[i]->saturation, 0.001) && Util_almostequal(COLOURS_NTSC_setup.contrast, presets[i]->contrast, 0.001) && Util_almostequal(COLOURS_NTSC_setup.brightness, presets[i]->brightness, 0.001) && Util_almostequal(COLOURS_NTSC_setup.gamma, presets[i]->gamma, 0.001)) return i; } return FILTER_NTSC_PRESET_CUSTOM; }
Colours_preset_t COLOURS_PAL_GetPreset() { if (Util_almostequal(COLOURS_PAL_setup.color_delay, default_setup.color_delay, 0.001)) return COLOURS_PRESET_STANDARD; return COLOURS_PRESET_CUSTOM; }