add bins/folders, fix listbox bad wdw ref, hide vicons fix, remove sort by time
[goodguy/history.git] / cinelerra-5.1 / cinelerra / asset.C
index 0993b12fc1c47ff65e8c36da313f18dad53acbc2..ec82d0e9e6ead12eb2d7e245f161a5579303b35b 100644 (file)
@@ -72,7 +72,6 @@ int Asset::init_values()
        path[0] = 0;
 // Has to be unknown for file probing to succeed
        format = FILE_UNKNOWN;
-       fformat[0] = 0;
        bits = 0;
        byte_order = 0;
        signed_ = 0;
@@ -84,10 +83,13 @@ int Asset::init_values()
        strcpy(vcodec, "");
        strcpy(acodec, "");
 
+       strcpy(fformat,"mp4");
        ff_audio_options[0] = 0;
-       ff_video_options[0] = 0;
+       ff_sample_format[0] = 0;
        ff_audio_bitrate = 0;
        ff_audio_quality = -1;
+       ff_video_options[0] = 0;
+       ff_pixel_format[0] = 0;
        ff_video_bitrate = 0;
        ff_video_quality = -1;
 
@@ -97,6 +99,7 @@ int Asset::init_values()
        interlace_mode = ILACE_MODE_UNDETECTED;
        interlace_fixmethod = ILACE_FIXMETHOD_NONE;
 
+       mp3_bitrate = 224;
        ampeg_bitrate = 256;
        ampeg_derivative = 3;
 
@@ -223,9 +226,11 @@ void Asset::copy_format(Asset *asset, int do_index)
        strcpy(acodec, asset->acodec);
 
        strcpy(ff_audio_options, asset->ff_audio_options);
-       strcpy(ff_video_options, asset->ff_video_options);
+       strcpy(ff_sample_format, asset->ff_sample_format);
        ff_audio_bitrate = asset->ff_audio_bitrate;
        ff_audio_quality = asset->ff_audio_quality;
+       strcpy(ff_video_options, asset->ff_video_options);
+       strcpy(ff_pixel_format, asset->ff_pixel_format);
        ff_video_bitrate = asset->ff_video_bitrate;
        ff_video_quality = asset->ff_video_quality;
 
@@ -353,6 +358,7 @@ int Asset::equivalent(Asset &asset, int test_audio, int test_video, EDL *edl)
                        !strcmp(acodec, asset.acodec));
                if(result && format == FILE_FFMPEG)
                        result = !strcmp(ff_audio_options, asset.ff_audio_options) &&
+                               !strcmp(ff_sample_format, asset.ff_sample_format) &&
                                ff_audio_bitrate == asset.ff_audio_bitrate &&
                                ff_audio_quality == asset.ff_audio_quality;
        }
@@ -373,6 +379,7 @@ int Asset::equivalent(Asset &asset, int test_audio, int test_video, EDL *edl)
                        jpeg_sphere == asset.jpeg_sphere);
                if(result && format == FILE_FFMPEG)
                        result = !strcmp(ff_video_options, asset.ff_video_options) &&
+                               !strcmp(ff_pixel_format, asset.ff_pixel_format) &&
                                ff_video_bitrate == asset.ff_video_bitrate &&
                                ff_video_quality == asset.ff_video_quality;
        }
@@ -452,9 +459,7 @@ int Asset::read(FileXML *file,
                        else
                        if(file->tag.title_is("FOLDER"))
                        {
-                               const char *string = file->tag.get_property("NUMBER");
-                               awindow_folder = string ? atoi(string) :
-                                       AWindowGUI::folder_number(file->read_text());
+                               awindow_folder = file->tag.get_property("NUMBER", AW_MEDIA_FOLDER);
                        }
                        else
                        if(file->tag.title_is("VIDEO"))
@@ -795,9 +800,11 @@ void Asset::load_defaults(BC_Hash *defaults,
        theora_keyframe_force_frequency = GET_DEFAULT("THEORA_FORCE_KEYFRAME_FREQUENCY", theora_keyframe_force_frequency);
 
        GET_DEFAULT("FF_AUDIO_OPTIONS", ff_audio_options);
+       GET_DEFAULT("FF_SAMPLE_FORMAT", ff_sample_format);
        ff_audio_bitrate = GET_DEFAULT("FF_AUDIO_BITRATE", ff_audio_bitrate);
        ff_audio_quality = GET_DEFAULT("FF_AUDIO_QUALITY", ff_audio_quality);
        GET_DEFAULT("FF_VIDEO_OPTIONS", ff_video_options);
+       GET_DEFAULT("FF_PIXEL_FORMAT", ff_pixel_format);
        ff_video_bitrate = GET_DEFAULT("FF_VIDEO_BITRATE", ff_video_bitrate);
        ff_video_quality = GET_DEFAULT("FF_VIDEO_QUALITY", ff_video_quality);
 
@@ -887,9 +894,11 @@ void Asset::save_defaults(BC_Hash *defaults,
                UPDATE_DEFAULT("VORBIS_MAX_BITRATE", vorbis_max_bitrate);
 
                UPDATE_DEFAULT("FF_AUDIO_OPTIONS", ff_audio_options);
+               UPDATE_DEFAULT("FF_SAMPLE_FORMAT", ff_sample_format);
                UPDATE_DEFAULT("FF_AUDIO_BITRATE", ff_audio_bitrate);
                UPDATE_DEFAULT("FF_AUDIO_QUALITY", ff_audio_quality);
                UPDATE_DEFAULT("FF_VIDEO_OPTIONS", ff_video_options);
+               UPDATE_DEFAULT("FF_PIXEL_FORMAT",  ff_pixel_format);
                UPDATE_DEFAULT("FF_VIDEO_BITRATE", ff_video_bitrate);
                UPDATE_DEFAULT("FF_VIDEO_QUALITY", ff_video_quality);
 
@@ -988,9 +997,11 @@ int Asset::dump(FILE *fp)
        fprintf(fp,"   format %d\n", format);
        fprintf(fp,"   fformat=\"%s\"\n", fformat);
        fprintf(fp,"   ff_audio_options=\"%s\"\n", ff_audio_options);
+       fprintf(fp,"   ff_sample_format=\"%s\"\n", ff_sample_format);
        fprintf(fp,"   ff_audio_bitrate=%d\n", ff_audio_bitrate);
        fprintf(fp,"   ff_audio_quality=%d\n", ff_audio_quality);
        fprintf(fp,"   ff_video_options=\"%s\"\n", ff_video_options);
+       fprintf(fp,"   ff_pixel_format=\"%s\"\n", ff_pixel_format);
        fprintf(fp,"   ff_video_bitrate=%d\n", ff_video_bitrate);
        fprintf(fp,"   ff_video_quality=%d\n", ff_video_quality);
        fprintf(fp,"   audio_data %d channels %d samplerate %d bits %d"