X-Git-Url: http://git.cinelerra-gg.org/git/?a=blobdiff_plain;f=cinelerra-5.0%2Fcinelerra%2Fpicture.C;fp=cinelerra-5.0%2Fcinelerra%2Fpicture.C;h=0000000000000000000000000000000000000000;hb=30bdb85eb33a8ee7ba675038a86c6be59c43d7bd;hp=ede473bf162d5bf109b44c86d7508fad81511dd6;hpb=52fcc46226f9df46f9ce9d0566dc568455a7db0b;p=goodguy%2Fhistory.git diff --git a/cinelerra-5.0/cinelerra/picture.C b/cinelerra-5.0/cinelerra/picture.C deleted file mode 100644 index ede473bf..00000000 --- a/cinelerra-5.0/cinelerra/picture.C +++ /dev/null @@ -1,276 +0,0 @@ - -/* - * CINELERRA - * Copyright (C) 2011 Adam Williams - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - * - */ - -#include -#include "bchash.h" -#include "mwindow.h" -#include "picture.h" -#include - - - - - -PictureItem::PictureItem() -{ - name[0] = 0; - min = 0; - max = 0; - default_ = 0; - step = 0; - type = 0; - value = 0; - device_id = 0; -} - - -PictureItem::~PictureItem() -{ -} - -void PictureItem::copy_from(PictureItem *src) -{ - strcpy(this->name, src->name); - this->device_id = src->device_id; - this->min = src->min; - this->max = src->max; - this->default_ = src->default_; - this->step = src->step; - this->type = src->type; - this->value = src->value; -} - -char* PictureItem::get_default_string(char *string) -{ - sprintf(string, "VIDEO_%s_VALUE", name); - int len = strlen(string); - for(int i = 0; i < len; i++) - string[i] = toupper(string[i]); - return string; -} - - - - - - - - -PictureConfig::PictureConfig() -{ - char path[BCTEXTLEN]; - MWindow::create_defaults_path(path, PICTURE_FILE); - defaults = new BC_Hash(path); - - - brightness = -1; - hue = -1; - color = -1; - contrast = -1; - whiteness = -1; - - use_brightness = 0; - use_contrast = 0; - use_color = 0; - use_hue = 0; - use_whiteness = 0; -} - -PictureConfig::~PictureConfig() -{ - controls.remove_all_objects(); - delete defaults; -} - -void PictureConfig::copy_settings(PictureConfig *picture) -{ - this->brightness = picture->brightness; - this->hue = picture->hue; - this->color = picture->color; - this->contrast = picture->contrast; - this->whiteness = picture->whiteness; - - - for(int i = 0; i < picture->controls.total; i++) - { - PictureItem *src_item = picture->controls.values[i]; - PictureItem *dst_item = 0; - for(int j = 0; j < controls.total; j++) - { - if(controls.values[j]->device_id == src_item->device_id) - { - dst_item = controls.values[j]; - break; - } - } - if(!dst_item) - { - dst_item = new PictureItem; - controls.append(dst_item); - } - dst_item->copy_from(src_item); - } -} - -void PictureConfig::copy_usage(PictureConfig *picture) -{ - this->use_brightness = picture->use_brightness; - this->use_contrast = picture->use_contrast; - this->use_color = picture->use_color; - this->use_hue = picture->use_hue; - this->use_whiteness = picture->use_whiteness; - -// Add the controls if they don't exists but don't replace existing values. - for(int i = 0; i < picture->controls.total; i++) - { - PictureItem *src = picture->controls.values[i]; - int got_it = 0; - for(int j = 0; j < controls.total; j++) - { - if(controls.values[j]->device_id == src->device_id) - { - got_it = 1; - break; - } - } - if(!got_it) - { - PictureItem *dst = new PictureItem; - controls.append(dst); - dst->copy_from(src); - } - } -} - -void PictureConfig::load_defaults() -{ - if(!defaults) - { - printf("PictureConfig::load_defaults: no defaults pointer.\n"); - return; - } - - - defaults->load(); - brightness = defaults->get("VIDEO_BRIGHTNESS", 0); - hue = defaults->get("VIDEO_HUE", 0); - color = defaults->get("VIDEO_COLOR", 0); - contrast = defaults->get("VIDEO_CONTRAST", 0); - whiteness = defaults->get("VIDEO_WHITENESS", 0); - -// The device must be probed first to keep unsupported controls from getting -// displayed. - for(int i = 0; i < controls.total; i++) - { - PictureItem *item = controls.values[i]; - char string[BCTEXTLEN]; - item->get_default_string(string); - item->value = defaults->get(string, item->value); -//printf("PictureConfig::load_defaults %s %d %d\n", item->name, item->device_id, item->value); - } -} - -void PictureConfig::save_defaults() -{ - if(!defaults) - { - printf("PictureConfig::save_defaults: no defaults pointer.\n"); - return; - } - defaults->update("VIDEO_BRIGHTNESS", brightness); - defaults->update("VIDEO_HUE", hue); - defaults->update("VIDEO_COLOR", color); - defaults->update("VIDEO_CONTRAST", contrast); - defaults->update("VIDEO_WHITENESS", whiteness); - for(int i = 0; i < controls.total; i++) - { - PictureItem *item = controls.values[i]; - char string[BCTEXTLEN]; - item->get_default_string(string); - defaults->update(string, item->value); -//printf("PictureConfig::save_defaults %s %d %d\n", string, item->device_id, item->value); - } - defaults->save(); -} - -void PictureConfig::dump() -{ - printf(" VIDEO_BRIGHTNESS=%d\n", brightness); - printf(" VIDEO_HUE=%d\n", hue); - printf(" VIDEO_COLOR=%d\n", color); - printf(" VIDEO_CONTRAST=%d\n", contrast); - printf(" VIDEO_WHITENESS=%d\n", whiteness); - for(int i = 0; i < controls.total; i++) - { - PictureItem *item = controls.values[i]; - char string[BCTEXTLEN]; - item->get_default_string(string); - printf(" %s=%d\n", string, item->value); - } -} - -PictureItem* PictureConfig::new_item(const char *name) -{ - for(int i = 0; i < controls.total; i++) - { - if(!strcmp(controls.values[i]->name, name)) return controls.values[i]; - } - PictureItem *item = new PictureItem; - strcpy(item->name, name); - controls.append(item); - return item; -} - -PictureItem* PictureConfig::get_item(const char *name, int id) -{ - for(int i = 0; i < controls.total; i++) - { - if(!strcmp(controls.values[i]->name, name) && - controls.values[i]->device_id == id) return controls.values[i]; - } - return 0; -} - -int PictureConfig::set_item(int device_id, int value) -{ - for(int i = 0; i < controls.total; i++) - { - if(controls.values[i]->device_id == device_id) - { - if(controls.values[i]->value != value) - { - controls.values[i]->value = value; - return 1; - } - return 0; - } - } - - return 0; -} - - - - - - - -