X-Git-Url: http://git.cinelerra-gg.org/git/?a=blobdiff_plain;f=cinelerra-5.1%2Fcinelerra%2Fformatpopup.C;h=0793e59ece6ab0db9df3fabe35cce580084af424;hb=fbb844da24c44cce0509451116df248c861ef8f7;hp=e80769ce8ea9cf8f0d9d6f7d12cbca9c556876aa;hpb=30bdb85eb33a8ee7ba675038a86c6be59c43d7bd;p=goodguy%2Fhistory.git diff --git a/cinelerra-5.1/cinelerra/formatpopup.C b/cinelerra-5.1/cinelerra/formatpopup.C index e80769ce..0793e59e 100644 --- a/cinelerra-5.1/cinelerra/formatpopup.C +++ b/cinelerra-5.1/cinelerra/formatpopup.C @@ -20,68 +20,70 @@ */ #include "bcsignals.h" -#include "file.inc" +#include "file.h" #include "filesystem.h" #include "ffmpeg.h" #include "formatpopup.h" #include "language.h" -#include "pluginserver.h" - -FormatPopup::FormatPopup(ArrayList *plugindb, - int x, int y, int use_brender) +FormatPopup::FormatPopup(int x, int y, int do_audio, int do_video, int use_brender) : BC_ListBox(x, y, 200, 200, LISTBOX_TEXT, 0, 0, 0, 1, 0, 1) { - this->plugindb = plugindb; + this->do_audio = do_audio; + this->do_video = do_video; this->use_brender = use_brender; set_tooltip(_("Change file format")); } -void FormatPopup::create_objects() +void FormatPopup::post_item(int format) { - format_items.append(new BC_ListBoxItem(_(FFMPEG_NAME))); + if( (do_audio && File::renders_audio(format)) || + (do_video && File::renders_video(format)) ) + format_items.append(new BC_ListBoxItem(File::formattostr(format))); +} - if(!use_brender) - { - format_items.append(new BC_ListBoxItem(_(AC3_NAME))); - format_items.append(new BC_ListBoxItem(_(AIFF_NAME))); - format_items.append(new BC_ListBoxItem(_(AU_NAME))); - format_items.append(new BC_ListBoxItem(_(FLAC_NAME))); - format_items.append(new BC_ListBoxItem(_(JPEG_NAME))); +void FormatPopup::create_objects() +{ + if(!use_brender) { + post_item(FILE_FFMPEG); + post_item(FILE_AC3); + post_item(FILE_AIFF); + post_item(FILE_AU); + post_item(FILE_FLAC); } - format_items.append(new BC_ListBoxItem(_(JPEG_LIST_NAME))); - if(!use_brender) - { - format_items.append(new BC_ListBoxItem(_(EXR_NAME))); - format_items.append(new BC_ListBoxItem(_(EXR_LIST_NAME))); - format_items.append(new BC_ListBoxItem(_(WAV_NAME))); - format_items.append(new BC_ListBoxItem(_(RAWDV_NAME))); - format_items.append(new BC_ListBoxItem(_(AMPEG_NAME))); - format_items.append(new BC_ListBoxItem(_(VMPEG_NAME))); - format_items.append(new BC_ListBoxItem(_(VORBIS_NAME))); - format_items.append(new BC_ListBoxItem(_(OGG_NAME))); - format_items.append(new BC_ListBoxItem(_(PCM_NAME))); - format_items.append(new BC_ListBoxItem(_(PNG_NAME))); + post_item(FILE_JPEG); + post_item(FILE_JPEG_LIST); + + if(!use_brender) { +#ifdef HAVE_OPENEXR + post_item(FILE_EXR); + post_item(FILE_EXR_LIST); +#endif + post_item(FILE_WAV); + post_item(FILE_RAWDV); + post_item(FILE_AMPEG); + post_item(FILE_VMPEG); + post_item(FILE_VORBIS); + post_item(FILE_OGG); + post_item(FILE_PCM); } - format_items.append(new BC_ListBoxItem(_(PNG_LIST_NAME))); - if(!use_brender) - { - format_items.append(new BC_ListBoxItem(_(TGA_NAME))); - } - - format_items.append(new BC_ListBoxItem(_(TGA_LIST_NAME))); - + post_item(FILE_PNG); + post_item(FILE_PNG_LIST); if(!use_brender) - { - format_items.append(new BC_ListBoxItem(_(TIFF_NAME))); - } + post_item(FILE_PPM); + post_item(FILE_PPM_LIST); + if(!use_brender) + post_item(FILE_TGA); + post_item(FILE_TGA_LIST); + if(!use_brender) + post_item(FILE_TIFF); + post_item(FILE_TIFF_LIST); - format_items.append(new BC_ListBoxItem(_(TIFF_LIST_NAME))); update(&format_items, 0, 0, 1); } @@ -96,10 +98,9 @@ int FormatPopup::handle_event() } -FFMPEGPopup::FFMPEGPopup(ArrayList *plugindb, int x, int y) - : BC_ListBox(x, y, 50, 200, LISTBOX_TEXT, 0, 0, 0, 1, 0, 1) +FFMPEGPopup::FFMPEGPopup(int x, int y) + : BC_ListBox(x, y, 100, 200, LISTBOX_TEXT, 0, 0, 0, 1, 0, 1) { - this->plugindb = plugindb; set_tooltip(_("Set ffmpeg file type")); } @@ -125,6 +126,7 @@ void FFMPEGPopup::create_objects() } } + BC_ListBoxItem::sort_items(ffmpeg_types); update(&ffmpeg_types, 0, 0, 1); }