X-Git-Url: http://git.cinelerra-gg.org/git/?a=blobdiff_plain;f=cinelerra-5.0%2Fcinelerra%2Fassets.C;fp=cinelerra-5.0%2Fcinelerra%2Fassets.C;h=0000000000000000000000000000000000000000;hb=30bdb85eb33a8ee7ba675038a86c6be59c43d7bd;hp=27a4b4e32deea23bb81cee88b461e4de0881aeab;hpb=52fcc46226f9df46f9ce9d0566dc568455a7db0b;p=goodguy%2Fhistory.git diff --git a/cinelerra-5.0/cinelerra/assets.C b/cinelerra-5.0/cinelerra/assets.C deleted file mode 100644 index 27a4b4e3..00000000 --- a/cinelerra-5.0/cinelerra/assets.C +++ /dev/null @@ -1,244 +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 "asset.h" -#include "assets.h" -#include "awindowgui.inc" -#include "batch.h" -#include "cache.h" -#include "bchash.h" -#include "edl.h" -#include "file.h" -#include "filexml.h" -#include "filesystem.h" -#include "indexfile.h" -#include "mainsession.h" -#include "threadindexer.h" -#include - -Assets::Assets(EDL *edl) : List() -{ - this->edl = edl; -} - -Assets::~Assets() -{ - delete_all(); -} - -int Assets::load(FileXML *file, uint32_t load_flags) -{ - int result = 0; - - while(!result) - { - result = file->read_tag(); - if(!result) - { - if(file->tag.title_is("/ASSETS")) - { - result = 1; - } - else - if(file->tag.title_is("ASSET")) - { - const char *path = file->tag.get_property("SRC"); - if(path && path[0] != 0) - { - Asset *new_asset = new Asset(path); - new_asset->read(file); - Asset *asset = update(new_asset); - asset->copy_from(new_asset,1); - new_asset->Garbage::remove_user(); - } - } - } - } - return 0; -} - -int Assets::save(FileXML *file, char *path) -{ - file->tag.set_title("ASSETS"); - file->append_tag(); - file->append_newline(); - - for(Asset* current = first; current; current = NEXT) - { - current->write(file, - 0, - path); - } - - file->tag.set_title("/ASSETS"); - file->append_tag(); - file->append_newline(); - file->append_newline(); - return 0; -} - -void Assets::copy_from(Assets *assets) -{ - delete_all(); - - for(Asset *current = assets->first; current; current = NEXT) - { - Asset *new_asset; - append(new_asset = new Asset); - new_asset->copy_from(current, 1); - } -} - -Assets& Assets::operator=(Assets &assets) -{ -printf("Assets::operator= 1\n"); - copy_from(&assets); - return *this; -} - - -void Assets::update_index(Asset *asset) -{ - if(!asset) return; - for(Asset* current = first; current; current = NEXT) - { - if(current->test_path(asset->path)) - { - current->update_index(asset); - } - } -} - -Asset* Assets::update(Asset *asset) -{ - if(!asset) return 0; - - for(Asset* current = first; current; current = NEXT) - { -// Asset already exists. - if(current->test_path(asset->path)) - { - return current; - } - } - -// Asset doesn't exist. - Asset *asset_copy = new Asset(*asset); - append(asset_copy); - return asset_copy; -} - -int Assets::delete_all() -{ - while(first) - { - remove_asset(first); - } - return 0; -} - -Asset* Assets::update(const char *path) -{ - Asset* current = first; - - while(current) - { - if(current->test_path(path)) - { - return current; - } - current = NEXT; - } - - return append(new Asset(path)); -} - -Asset* Assets::get_asset(const char *filename) -{ - Asset* current = first; - Asset* result = 0; - - while(current) - { -//printf("Assets::get_asset %p %s\n", filename, filename); - if(current->test_path(filename)) - { - result = current; - break; - } - current = current->next; - } - - return result; -} - -void Assets::remove_asset(Asset *asset) -{ - remove_pointer(asset); - asset->Garbage::remove_user(); -} - - -int Assets::number_of(Asset *asset) -{ - int i; - Asset *current; - - for(i = 0, current = first; current && current != asset; i++, current = NEXT) - ; - - return i; -} - -Asset* Assets::asset_number(int number) -{ - int i; - Asset *current; - - for(i = 0, current = first; i < number && current; i++, current = NEXT) - ; - - return current; -} - -int Assets::update_old_filename(char *old_filename, char *new_filename) -{ - for(Asset* current = first; current; current = NEXT) - { - if(!strcmp(current->path, old_filename)) - { - current->update_path(new_filename); - } - } - return 0; -} - - -int Assets::dump(FILE *fp) -{ - for(Asset *current = first; current; current = NEXT) - { - current->dump(fp); - } - return 0; -} - -