X-Git-Url: https://git.cinelerra-gg.org/git/?a=blobdiff_plain;f=cinelerra-5.0%2Fplugins%2Fdcoffset%2Fdcoffset.C;fp=cinelerra-5.0%2Fplugins%2Fdcoffset%2Fdcoffset.C;h=0000000000000000000000000000000000000000;hb=30bdb85eb33a8ee7ba675038a86c6be59c43d7bd;hp=8702ba5fb080ea5c43cff0a566cd602f62caa98c;hpb=52fcc46226f9df46f9ce9d0566dc568455a7db0b;p=goodguy%2Fhistory.git diff --git a/cinelerra-5.0/plugins/dcoffset/dcoffset.C b/cinelerra-5.0/plugins/dcoffset/dcoffset.C deleted file mode 100644 index 8702ba5f..00000000 --- a/cinelerra-5.0/plugins/dcoffset/dcoffset.C +++ /dev/null @@ -1,111 +0,0 @@ - -/* - * CINELERRA - * Copyright (C) 2009 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 "clip.h" -#include "bchash.h" -#include "dcoffset.h" -#include "filexml.h" -#include "language.h" -#include "samples.h" -#include "transportque.h" - -#include "vframe.h" - -#include - - -#define WINDOW_SIZE 65536 - -REGISTER_PLUGIN(DCOffset) - - - - - - - - - -DCOffset::DCOffset(PluginServer *server) - : PluginAClient(server) -{ - need_collection = 1; - reference = 0; -} - -DCOffset::~DCOffset() -{ - delete reference; -} - -const char* DCOffset::plugin_title() { return _("DC Offset"); } -int DCOffset::is_realtime() { return 1; } - - - -int DCOffset::process_buffer(int64_t size, - Samples *buffer, - int64_t start_position, - int sample_rate) -{ - load_configuration(); - double *buffer_samples = buffer->get_data(); - double *reference_samples = !reference ? 0 : reference->get_data(); - - if(need_collection) - { - if(!reference) { - reference = new Samples(WINDOW_SIZE); - reference_samples = reference->get_data(); - } - int64_t collection_start = 0; - if(get_direction() == PLAY_REVERSE) - collection_start += WINDOW_SIZE; - read_samples(reference, - 0, - sample_rate, - collection_start, - WINDOW_SIZE); - offset = 0; - for(int i = 0; i < WINDOW_SIZE; i++) - { - offset += reference_samples[i]; - } - offset /= WINDOW_SIZE; - need_collection = 0; - } - - read_samples(buffer, - 0, - sample_rate, - start_position, - size); - - for(int i = 0; i < size; i++) - { - buffer_samples[i] -= offset; - } - - return 0; -} - - -