Merge CV, ver=5.1; ops/methods from HV, and interface from CV where possible
[goodguy/history.git] / cinelerra-5.0 / cinelerra / threadindexer.C
diff --git a/cinelerra-5.0/cinelerra/threadindexer.C b/cinelerra-5.0/cinelerra/threadindexer.C
deleted file mode 100644 (file)
index edd756f..0000000
+++ /dev/null
@@ -1,172 +0,0 @@
-
-/*
- * CINELERRA
- * Copyright (C) 2008 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 "asset.h"
-#include "assets.h"
-#include "bcprogressbox.h"
-#include "condition.h"
-#include "bchash.h"
-#include "filesystem.h"
-#include "guicast.h"
-#include "indexfile.h"
-#include "language.h"
-#include "loadfile.h"
-#include "mwindowgui.h"
-#include "mwindow.h"
-#include "threadindexer.h"
-
-#include <string.h>
-
-// This doesn't appear to be used anymore.
-
-
-
-
-ThreadIndexer::ThreadIndexer(MWindow *mwindow, Assets *assets)
- : Thread()
-{
-       this->mwindow = mwindow;
-       this->assets = assets;
-       set_synchronous(0);
-       indexfile = new IndexFile(mwindow);
-       interrupt_lock = new Condition(0, "ThreadIndexer::ThreadIndexer");
-}
-
-ThreadIndexer::~ThreadIndexer()
-{
-       delete indexfile;
-       delete interrupt_lock;
-}
-
-int ThreadIndexer::start_build()
-{
-       interrupt_flag = 0;
-       start();
-}
-
-// build all here to allow editing during build
-void ThreadIndexer::run()
-{
-// check locations of each asset
-       FILE *test_file;
-       Asset *current_asset;
-       char new_filename[1024], old_filename[1024];
-       int result = 0;
-       BC_ProgressBox *progress = 0;
-
-       for(current_asset = assets->first; current_asset; current_asset = current_asset->next)
-       {
-               if(!(test_file = fopen(current_asset->path, "rb")))
-               {
-// file doesn't exist
-                       strcpy(old_filename, current_asset->path);
-
-                       result = 1;
-// get location from user
-                       char directory[1024];
-                       sprintf(directory, "~");
-                       mwindow->defaults->get("DIRECTORY", directory);
-
-                       char string[1024], name[1024];
-                       FileSystem dir;
-                       dir.extract_name(name, old_filename);
-                       sprintf(string, _("Where is %s?"), name);
-
-                       LocateFileWindow window(mwindow, directory, string);
-                       window.create_objects();
-                       int result2 = window.run_window();
-
-                       mwindow->defaults->update("DIRECTORY", 
-                               window.get_submitted_path());
-
-                       if(result2 == 1)
-                       {
-                               new_filename[0] = 0;
-                       }
-                       else
-                       {
-                               strcpy(new_filename, 
-                                       window.get_submitted_path());
-                       }
-
-// update assets containing old location
-                       assets->update_old_filename(old_filename, new_filename);
-               }
-               else
-               {
-                       fclose(test_file);
-               }
-       }
-
-
-// test index of each asset
-       for(current_asset = assets->first; 
-               current_asset && !interrupt_flag; 
-               current_asset = current_asset->next)
-       {
-// test for an index file already built before creating progress bar
-               if(current_asset->index_status == INDEX_NOTTESTED && 
-                       current_asset->audio_data)
-               {
-                       if(indexfile->open_index(mwindow, current_asset))
-                       {
-// doesn't exist
-// try to create now
-                               if(!progress)
-                               {
-                                       progress = new BC_ProgressBox(mwindow->gui->get_abs_cursor_x(1),
-                                               mwindow->gui->get_abs_cursor_y(1),
-                                               _("Building Indexes..."), 
-                                               1);
-                                       progress->start();
-                               }
-
-//                             indexfile->create_index(current_asset, 0, progress);
-                               if(progress->is_cancelled()) interrupt_flag = 1;
-                       }
-                       else
-                       {
-                               if(current_asset->index_status == INDEX_NOTTESTED) 
-                                       current_asset->index_status = INDEX_READY;   // index has been tested
-                               indexfile->close_index();
-                       }
-               }
-       }
-
-// progress box is only created when an index is built
-       if(progress)     
-       {       
-               progress->stop_progress();
-               delete progress;
-               progress = 0;
-       }
-
-       interrupt_lock->unlock();
-}
-
-int ThreadIndexer::interrupt_build()
-{
-       interrupt_flag = 1;
-       indexfile->interrupt_index();
-       interrupt_lock->lock(" ThreadIndexer::interrupt_build");
-       interrupt_lock->unlock();
-}
-