rework android-rmt display, add a few buttons
[goodguy/history.git] / cinelerra-5.0 / cinelerra / assetedit.C
index 443733cc18d4df3714b59b5fc3059e8a6198e2c4..5422d97eef2c77cc954b099022010a3f34746457 100644 (file)
@@ -68,6 +68,7 @@ AssetEdit::AssetEdit(MWindow *mwindow)
 
 AssetEdit::~AssetEdit()
 {
+       close_window();
        changed_params->remove_user();
 }
 
@@ -76,7 +77,7 @@ void AssetEdit::edit_asset(Indexable *indexable)
 {
        if(this->indexable)
        {
-               BC_DialogThread::close_window();
+               close_window();
        }
 
        this->indexable = indexable;
@@ -795,9 +796,14 @@ DetailAssetThread::DetailAssetThread(MWindow *mwindow)
 }
 
 DetailAssetThread::~DetailAssetThread()
+{
+       stop();
+}
+
+void DetailAssetThread::stop()
 {
        if( Thread::running() ) {
-               dwindow->lock_window("DetailAssetThread::~DetailAssetThread");
+               dwindow->lock_window("DetailAssetThread::stop");
                dwindow->set_done(1);
                dwindow->unlock_window();
                Thread::join();
@@ -813,10 +819,10 @@ void DetailAssetWindow::create_objects()
        if( !mwindow->preferences->get_asset_file_path(asset, file_name) ) {
                switch( asset->format ) {
                case FILE_MPEG:
-                       FileMPEG::get_info(asset->path, file_name, &info[0]);
+                       FileMPEG::get_info(asset->path, file_name, &info[0],len);
                        break;
                case FILE_FFMPEG:
-                       FileFFMPEG::get_info(asset->path, &info[0]);
+                       FileFFMPEG::get_info(asset->path, &info[0],len);
                        break;
                }
        }
@@ -830,11 +836,10 @@ void DetailAssetWindow::create_objects()
 
 void DetailAssetThread::start(Asset *asset)
 {
-       if( !Thread::running() ) {
-               delete dwindow;
-               dwindow = new DetailAssetWindow(mwindow, asset);
-               Thread::start();
-       }
+       stop();
+       delete dwindow;
+       dwindow = new DetailAssetWindow(mwindow, asset);
+       Thread::start();
 }
 
 void DetailAssetThread::run()