version update, chg shortcut for del last trk, ogg fixes/tweaks
[goodguy/cinelerra.git] / cinelerra-5.1 / cinelerra / mwindow.C
index bd75cbbac482ef4196b6bce9407d31febefdb27c..c959af278e7dd832f0a173c6ba3b8df2fe8b2a50 100644 (file)
@@ -268,7 +268,9 @@ MWindow::~MWindow()
        delete beeper;
        delete create_bd;       create_bd = 0;
        delete create_dvd;      create_dvd = 0;
+#ifdef HAVE_SHUTTLE
        delete shuttle;         shuttle = 0;
+#endif
 #ifdef HAVE_WINTV
        delete wintv;           wintv = 0;
 #endif
@@ -675,6 +677,7 @@ int MWindow::init_plugins(MWindow *mwindow, Preferences *preferences)
 
 int MWindow::init_ladspa_plugins(MWindow *mwindow, Preferences *preferences)
 {
+#ifdef HAVE_LADSPA
        char *path = getenv("LADSPA_PATH");
        char ladspa_path[BCTEXTLEN];
        if( !path ) {
@@ -719,6 +722,7 @@ int MWindow::init_ladspa_plugins(MWindow *mwindow, Preferences *preferences)
                }
                fclose(fp);
        }
+#endif
        return 1;
 }
 
@@ -742,7 +746,7 @@ void MWindow::scan_plugin_index(MWindow *mwindow, Preferences *preferences, FILE
        char plugin_path[BCTEXTLEN];
        sprintf(plugin_path, "%s/%s", plug_dir, plug_path);
        FileSystem fs;
-       fs.set_filter( "[*.plugin][*.so]" );
+       fs.set_filter( "[*.plugin][*.so][*.dll]" );
        int result = fs.update(plugin_path);
        if( result || !fs.dir_list.total ) return;
        int vis_id = idx++;
@@ -2139,14 +2143,12 @@ if(debug) printf("MWindow::load_filenames %d\n", __LINE__);
                        session->group_number += groups;
                        switch( edl_mode ) {
                        case LOADMODE_EDL_CLIP: {
-                               sprintf(new_edl->local_session->clip_title, _("Clip %d"),
-                                       session->clip_number++);
-                               char string[BCSTRLEN];
-                               time_t t;  time(&t);
-                               ctime_r(&t, string);
-                               snprintf(new_edl->local_session->clip_notes,
-                                       sizeof(new_edl->local_session->clip_notes),
-                                       +("%sFrom: %s"), string, filename);
+                               strcpy(new_edl->local_session->clip_title,
+                                       filenames->get(i));
+                                       struct stat st;
+                               time_t t = !stat(filenames->get(i),&st) ?
+                                               st.st_mtime : time(&t);
+                               ctime_r(&t, new_edl->local_session->clip_notes);
                                switch( load_mode ) {
                                case LOADMODE_REPLACE:
                                case LOADMODE_REPLACE_CONCATENATE:
@@ -4289,7 +4291,10 @@ void MWindow::save_project(const char *dir, int save_mode, int overwrite, int re
        char progress_title[BCTEXTLEN];
        sprintf(progress_title, _("Saving to %s:\n"), dir);
        int total_assets = save_edl->assets->total();
+       gui->lock_window("MWindow::save_project");
        MainProgressBar *progress = mainprogress->start_progress(progress_title, total_assets);
+       gui->unlock_window();
+
        int ret = 0;
        Asset *current = save_edl->assets->first;
        for( int i=0; !ret && current; ++i, current=NEXT ) {