fix awdw solo vicon crash, fix nested clip for binfolders, open edit edl
[goodguy/cinelerra.git] / cinelerra-5.1 / cinelerra / formattools.C
index 9199fff077e01c185665c8c23b9aa4d35709a0a5..643655e3bcac6aabd41095a9df95fd8baac10fa9 100644 (file)
@@ -386,8 +386,10 @@ void FormatTools::update_extension()
                if(need_extension)
                {
                        char *ptr1 = ptr;
-                       extension_ptr = asset->format != FILE_FFMPEG ?
-                               extensions.get(0) : asset->fformat;
+// change "qt" to "mov" since ffmpeg does not know qt
+                       extension_ptr = asset->format != FILE_FFMPEG ? extensions.get(0) :
+                               !strcmp(asset->fformat, "qt" ) ||
+                               !strcmp(asset->fformat, "pro" ) ? "mov" : asset->fformat ;
                        while(*extension_ptr != 0 && *extension_ptr != '/')
                                *ptr1++ = *extension_ptr++;
                        *ptr1 = 0;
@@ -464,6 +466,10 @@ void FormatTools::reposition_window(int &init_x, int &init_y)
        format_text->reposition_window(x, y);
        x += format_text->get_w();
        format_button->reposition_window(x, y);
+       x += format_button->get_w() + 5;
+       ffmpeg_type->reposition_window(x, y);
+       x += ffmpeg_type->get_w();
+       format_ffmpeg->reposition_window(x, y);
 
        x = init_x;
        y += format_button->get_h() + ys10;
@@ -742,6 +748,7 @@ int FormatFormat::handle_event()
                        asset->video_data = File::renders_video(asset);
                        asset->ff_audio_options[0] = 0;
                        asset->ff_video_options[0] = 0;
+                       asset->ff_format_options[0] = 0;
                        format->format_text->update(selection->get_text());
                        if( !format->use_brender )
                                format->update_extension();
@@ -770,10 +777,12 @@ int FormatFFMPEG::handle_event()
 {
        BC_ListBoxItem *selection = get_selection(0, 0);
        if( selection ) {
-               char *text = get_selection(0, 0)->get_text();
+               const char *text = get_selection(0, 0)->get_text();
                format->ffmpeg_type->update(text);
+// forces options load defaults
                format->asset->ff_audio_options[0] = 0;
                format->asset->ff_video_options[0] = 0;
+               format->asset->ff_format_options[0] = 0;
                FFMPEG::set_asset_format(format->asset, format->mwindow->edl, text);
                format->update_extension();
                format->close_format_windows();