yuv colorspace/range + prefs, ffmpeg colorrange probe, x11 direct force colormodel...
[goodguy/history.git] / cinelerra-5.1 / cinelerra / formattools.C
index 14ef61070daeaadbb158c1c5322ce91e8398b89e..7d94acdc8bda3dd592e139cc09d60efe116f94c9 100644 (file)
@@ -103,23 +103,22 @@ SET_TRACE
        if(channels_tumbler) delete channels_tumbler;
 }
 
-void FormatTools::create_objects(int &init_x,
-                                               int &init_y,
-                                               int do_audio,    // Include support for audio
-                                               int do_video,   // Include support for video
-                                               int prompt_audio,  // Include checkbox for audio
-                                               int prompt_video,
-                                               int prompt_audio_channels,
-                                               int prompt_video_compression,
-                                               const char *locked_compressor,
-                                               int recording,
-                                               int *strategy,
-                                               int brender,
-                                               int horizontal_layout)
+void FormatTools::create_objects(
+               int &init_x, int &init_y,
+               int do_audio, int do_video,   // Include support for audio, video
+               int prompt_audio, int prompt_video, // Include checkbox for audio, video
+               int prompt_audio_channels,
+               int prompt_video_compression,
+               const char *locked_compressor,
+               int recording,
+               int *strategy,
+               int brender,
+               int horizontal_layout)
 {
        int x = init_x;
        int y = init_y;
        int ylev = init_y;
+       int margin = mwindow->theme->widget_border;
 
        this->locked_compressor = locked_compressor;
        this->recording = recording;
@@ -181,10 +180,10 @@ void FormatTools::create_objects(int &init_x,
 
        x = init_x;
        window->add_subwindow(format_title = new BC_Title(x, y, _("File Format:")));
-       x += 90;
+       x += format_title->get_w() + margin;
        window->add_subwindow(format_text = new BC_TextBox(x, y, 160, 1,
                File::formattostr(asset->format)));
-       x += format_text->get_w();
+       x += format_text->get_w() + margin;
 //printf("FormatTools::create_objects %d %p\n", __LINE__, window);
        window->add_subwindow(format_button = new FormatFormat(x, y, this));
        format_button->create_objects();
@@ -196,14 +195,13 @@ void FormatTools::create_objects(int &init_x,
        format_ffmpeg->create_objects();
        x = init_x;
        y += format_button->get_h() + 10;
-       if(do_audio)
-       {
-               window->add_subwindow(audio_title = new BC_Title(x, y, _("Audio:"), LARGEFONT,  BC_WindowBase::get_resources()->audiovideo_color));
-               x += 80;
+       if( do_audio ) {
+               window->add_subwindow(audio_title = new BC_Title(x, y, _("Audio:"), LARGEFONT,
+                       BC_WindowBase::get_resources()->audiovideo_color));
+               x += audio_title->get_w() + margin;
                window->add_subwindow(aparams_button = new FormatAParams(mwindow, this, x, y));
-               x += aparams_button->get_w() + 10;
-               if(prompt_audio)
-               {
+               x += aparams_button->get_w() + margin;
+               if(prompt_audio) {
                        window->add_subwindow(audio_switch = new FormatAudio(x, y, this, asset->audio_data));
                }
                x = init_x;
@@ -227,30 +225,27 @@ void FormatTools::create_objects(int &init_x,
        }
 
 //printf("FormatTools::create_objects 7\n");
-       if(do_video)
-       {
-               if(horizontal_layout && do_audio){
+       if( do_video ) {
+               if( horizontal_layout && do_audio ) {
                        x += 370;
                        y = ylev;
                }
 
 //printf("FormatTools::create_objects 8\n");
-               window->add_subwindow(video_title = new BC_Title(x, y, _("Video:"), LARGEFONT,  BC_WindowBase::get_resources()->audiovideo_color));
-               x += 80;
-               if(prompt_video_compression)
-               {
+               window->add_subwindow(video_title = new BC_Title(x, y, _("Video:"), LARGEFONT,
+                       BC_WindowBase::get_resources()->audiovideo_color));
+               x += video_title->get_w() + margin;
+               if(prompt_video_compression) {
                        window->add_subwindow(vparams_button = new FormatVParams(mwindow, this, x, y));
-                       x += vparams_button->get_w() + 10;
+                       x += vparams_button->get_w() + margin;
                }
 
 //printf("FormatTools::create_objects 9\n");
-               if(prompt_video)
-               {
+               if(prompt_video) {
                        window->add_subwindow(video_switch = new FormatVideo(x, y, this, asset->video_data));
                        y += video_switch->get_h();
                }
-               else
-               {
+               else {
                        y += vparams_button->get_h();
                }
 
@@ -770,7 +765,7 @@ int FormatVideo::handle_event()
 
 
 FormatFormat::FormatFormat(int x, int y, FormatTools *format)
- : FormatPopup(format->plugindb, x, y, format->use_brender)
+ : FormatPopup(x, y, format->do_audio, format->do_video, format->use_brender)
 {
        this->format = format;
 }
@@ -793,7 +788,8 @@ int FormatFormat::handle_event()
                        asset->ff_audio_options[0] = 0;
                        asset->ff_video_options[0] = 0;
                        format->format_text->update(selection->get_text());
-                       format->update_extension();
+                       if( !format->use_brender )
+                               format->update_extension();
                        format->close_format_windows();
                        if (format->path_recent) format->path_recent->
                                load_items(File::formattostr(format->asset->format));