X-Git-Url: http://git.cinelerra-gg.org/git/?a=blobdiff_plain;f=cinelerra-5.0%2Fcinelerra%2Fwavecache.C;fp=cinelerra-5.0%2Fcinelerra%2Fwavecache.C;h=0000000000000000000000000000000000000000;hb=30bdb85eb33a8ee7ba675038a86c6be59c43d7bd;hp=ffeeed60b4c6c727d37ffe7bdf904fa498f6a6b0;hpb=52fcc46226f9df46f9ce9d0566dc568455a7db0b;p=goodguy%2Fhistory.git diff --git a/cinelerra-5.0/cinelerra/wavecache.C b/cinelerra-5.0/cinelerra/wavecache.C deleted file mode 100644 index ffeeed60..00000000 --- a/cinelerra-5.0/cinelerra/wavecache.C +++ /dev/null @@ -1,107 +0,0 @@ - -/* - * 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 - * - */ - -#include "cstrdup.h" -#include "indexable.h" -#include "mutex.h" -#include "wavecache.h" - -#include - - -WaveCacheItem::WaveCacheItem() - : CacheItemBase() -{ -} - -WaveCacheItem::~WaveCacheItem() -{ -} - -int WaveCacheItem::get_size() -{ - return sizeof(WaveCacheItem) + (path ? strlen(path) : 0); -} - - - -WaveCache::WaveCache() - : CacheBase() -{ -} - -WaveCache::~WaveCache() -{ -} - - -WaveCacheItem* WaveCache::get_wave(int indexable_id, - int channel, - int64_t start, - int64_t end) -{ - lock->lock("WaveCache::get_wave"); - WaveCacheItem *result = 0; - - result = (WaveCacheItem*)get_item(start); - while(result && result->position == start) - { - if(result->indexable_id == indexable_id && - result->channel == channel && - result->end == end) - { - result->age = get_age(); - return result; - } - else - result = (WaveCacheItem*)result->next; - } - - lock->unlock(); - return 0; -} - -void WaveCache::put_wave(Indexable *indexable, - int channel, - int64_t start, - int64_t end, - double high, - double low) -{ - lock->lock("WaveCache::put_wave"); - WaveCacheItem *item = new WaveCacheItem; - item->indexable_id = indexable->id; - item->path = cstrdup(indexable->path); - item->channel = channel; - item->position = start; - item->end = end; - item->high = high; - item->low = low; - - put_item(item); - lock->unlock(); -} - - - - - -