X-Git-Url: http://git.cinelerra-gg.org/git/?a=blobdiff_plain;f=cinelerra-5.1%2Fplugins%2Fdenoiseseltempavg%2Fseltempavgwindow.h;fp=cinelerra-5.1%2Fplugins%2Fdenoiseseltempavg%2Fseltempavgwindow.h;h=3a2199ba79e2c2d734ea32b78c4ad2d54d24b43c;hb=30bdb85eb33a8ee7ba675038a86c6be59c43d7bd;hp=0000000000000000000000000000000000000000;hpb=52fcc46226f9df46f9ce9d0566dc568455a7db0b;p=goodguy%2Fhistory.git diff --git a/cinelerra-5.1/plugins/denoiseseltempavg/seltempavgwindow.h b/cinelerra-5.1/plugins/denoiseseltempavg/seltempavgwindow.h new file mode 100644 index 00000000..3a2199ba --- /dev/null +++ b/cinelerra-5.1/plugins/denoiseseltempavg/seltempavgwindow.h @@ -0,0 +1,193 @@ + +/* + * CINELERRA + * Copyright (C) 2008 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 + * + */ + +#ifndef TIMEAVGWINDOW_H +#define TIMEAVGWINDOW_H + + +class SelTempAvgThread; +class SelTempAvgWindow; + +class SelTempAvgParanoid; +class SelTempAvgNoSubtract; +class SelTempAvgStartKeyframe; +class SelTempAvgMask; + +class SelTempAvgOffsetRadial; +class SelTempAvgMethodRadial; + +class SelTempAvgSlider; + +class SelTempAvgThreshSlider; +class SelTempAvgOffsetValue; +class SelTempAvgGainValue; + + +#include "guicast.h" +#include "mutex.h" +#include "seltempavg.h" + + + + + +enum { + AVG_RY, + AVG_GU, + AVG_BV, + STD_RY, + STD_GU, + STD_BV +}; + +enum { + MASK_RY, + MASK_GU, + MASK_BV +}; + + +class SelTempAvgWindow : public PluginClientWindow +{ +public: + SelTempAvgWindow(SelTempAvgMain *client); + ~SelTempAvgWindow(); + + void create_objects(); + + SelTempAvgMain *client; + SelTempAvgSlider *total_frames; + + SelTempAvgThreshSlider *avg_threshold_RY, *avg_threshold_GU, *avg_threshold_BV; + SelTempAvgThreshSlider *std_threshold_RY, *std_threshold_GU, *std_threshold_BV; + SelTempAvgMask *mask_RY, *mask_GU, *mask_BV; + + SelTempAvgOffsetRadial *offset_fixed, *offset_restartmarker; + SelTempAvgMethodRadial *method_none, *method_seltempavg, *method_stddev, *method_average; + + SelTempAvgParanoid *paranoid; + SelTempAvgNoSubtract *no_subtract; + SelTempAvgStartKeyframe *offset_restartmarker_keyframe; + BC_TextBox *offset_restartmarker_pos; + + SelTempAvgOffsetValue *offset_fixed_value; + SelTempAvgGainValue *gain; +}; + +class SelTempAvgThreshSlider : public BC_TextBox +{ +public: + SelTempAvgThreshSlider(SelTempAvgMain *client, int x, int y, int type, float curval); + ~SelTempAvgThreshSlider(); + int handle_event(); + int type; + SelTempAvgMain *client; +}; + + +class SelTempAvgOffsetValue : public BC_TextBox +{ +public: + SelTempAvgOffsetValue(SelTempAvgMain *client, int x, int y); + ~SelTempAvgOffsetValue(); + int handle_event(); + SelTempAvgMain *client; +}; + + +class SelTempAvgGainValue : public BC_TextBox +{ +public: + SelTempAvgGainValue(SelTempAvgMain *client, int x, int y); + ~SelTempAvgGainValue(); + int handle_event(); + SelTempAvgMain *client; +}; + + +class SelTempAvgSlider : public BC_ISlider +{ +public: + SelTempAvgSlider(SelTempAvgMain *client, int x, int y); + ~SelTempAvgSlider(); + int handle_event(); + + SelTempAvgMain *client; +}; + + +class SelTempAvgOffsetRadial : public BC_Radial +{ +public: + SelTempAvgOffsetRadial(SelTempAvgMain *client, SelTempAvgWindow *gui, int x, int y, int type, char *caption); + int handle_event(); + SelTempAvgMain *client; + SelTempAvgWindow *gui; + int type; +}; + + +class SelTempAvgMethodRadial : public BC_Radial +{ +public: + SelTempAvgMethodRadial(SelTempAvgMain *client, SelTempAvgWindow *gui, int x, int y, int type, char *caption); + int handle_event(); + SelTempAvgMain *client; + SelTempAvgWindow *gui; + int type; +}; + +class SelTempAvgParanoid : public BC_CheckBox +{ +public: + SelTempAvgParanoid(SelTempAvgMain *client, int x, int y); + int handle_event(); + SelTempAvgMain *client; +}; + +class SelTempAvgNoSubtract : public BC_CheckBox +{ +public: + SelTempAvgNoSubtract(SelTempAvgMain *client, int x, int y); + int handle_event(); + SelTempAvgMain *client; +}; + +class SelTempAvgMask : public BC_CheckBox +{ +public: + SelTempAvgMask(SelTempAvgMain *client, int x, int y,int type, int val); + int handle_event(); + SelTempAvgMain *client; + int type; +}; + + +class SelTempAvgStartKeyframe : public BC_CheckBox +{ +public: + SelTempAvgStartKeyframe(SelTempAvgMain *client, int x, int y); + int handle_event(); + SelTempAvgMain *client; +}; + + +#endif