Merge CV, ver=5.1; ops/methods from HV, and interface from CV where possible
[goodguy/history.git] / cinelerra-5.0 / cinelerra / picture.C
diff --git a/cinelerra-5.0/cinelerra/picture.C b/cinelerra-5.0/cinelerra/picture.C
deleted file mode 100644 (file)
index ede473b..0000000
+++ /dev/null
@@ -1,276 +0,0 @@
-
-/*
- * CINELERRA
- * Copyright (C) 2011 Adam Williams <broadcast at earthling dot net>
- * 
- * 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 <ctype.h>
-#include "bchash.h"
-#include "mwindow.h"
-#include "picture.h"
-#include <string.h>
-
-
-
-
-
-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;
-}
-
-
-
-
-
-
-
-