* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
+ * (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
#include "asset.h"
#include "assets.h"
#include "autoconf.h"
-#include "colormodels.h"
+#include "bccmodels.h"
#include "bchash.h"
#include "edl.h"
#include "edlsession.h"
aconfig_in = new AudioInConfig;
vconfig_in = new VideoInConfig;
recording_format = new Asset;
- interpolation_type = CUBIC_LINEAR;
+ interpolation_type = CUBIC_CUBIC;
interpolate_raw = 1;
white_balance_raw = 1;
test_playback_edits = 1;
strcpy(default_atransition, "");
strcpy(default_vtransition, "");
default_transition_length = 1.0;
- folderlist_format = ASSETS_ICONS;
+ folderlist_format = FOLDERS_ICONS;
frame_rate = 25; // just has to be something by default
autos_follow_edits = 1; // this is needed for predictability
labels_follow_edits = 1;
int EDLSession::need_rerender(EDLSession *ptr)
{
- return (playback_preload != ptr->playback_preload) ||
- (interpolation_type != ptr->interpolation_type) ||
+ return (interpolation_type != ptr->interpolation_type) ||
(video_every_frame != ptr->video_every_frame) ||
(video_asynchronous != ptr->video_asynchronous) ||
(real_time_playback != ptr->real_time_playback) ||
auto_conf->load_defaults(defaults);
autos_follow_edits = defaults->get("AUTOS_FOLLOW_EDITS", 1);
brender_start = defaults->get("BRENDER_START", brender_start);
- cmodel_to_text(string, BC_RGBA8888);
- color_model = cmodel_from_text(defaults->get("COLOR_MODEL", string));
+ BC_CModels::to_text(string, BC_RGBA8888);
+ color_model = BC_CModels::from_text(defaults->get("COLOR_MODEL", string));
eyedrop_radius = defaults->get("EYEDROP_RADIUS", 0);
crop_x1 = defaults->get("CROP_X1", 0);
crop_x2 = defaults->get("CROP_X2", 320);
typeless_keyframes = defaults->get("TYPELESS_KEYFRAMES", 0);
cwindow_dest = defaults->get("CWINDOW_DEST", 0);
cwindow_mask = defaults->get("CWINDOW_MASK", 0);
- cwindow_meter = defaults->get("CWINDOW_METER", 1);
+ cwindow_meter = defaults->get("CWINDOW_METER", 0);
cwindow_operation = defaults->get("CWINDOW_OPERATION", 0);
- cwindow_scrollbars = defaults->get("CWINDOW_SCROLLBARS", 1);
+ cwindow_scrollbars = defaults->get("CWINDOW_SCROLLBARS", 0);
cwindow_xscroll = defaults->get("CWINDOW_XSCROLL", 0);
cwindow_yscroll = defaults->get("CWINDOW_YSCROLL", 0);
cwindow_zoom = defaults->get("CWINDOW_ZOOM", (float)1);
output_w = defaults->get("OUTPUTW", 720);
output_h = defaults->get("OUTPUTH", 480);
playback_buffer = defaults->get("PLAYBACK_BUFFER", 4096);
- playback_preload = defaults->get("PLAYBACK_PRELOAD", 0);
playback_software_position = defaults->get("PLAYBACK_SOFTWARE_POSITION", 0);
delete playback_config;
playback_config = new PlaybackConfig;
// record_speed = defaults->get("RECORD_SPEED", 24);
record_fragment_size = defaults->get("RECORD_FRAGMENT_SIZE", 2048);
record_write_length = defaults->get("RECORD_WRITE_LENGTH", 131072);
+
+// set some defaults that work
+ recording_format->video_data = 1;
+ recording_format->audio_data = 1;
+ recording_format->format = FILE_FFMPEG;
+ strcpy(recording_format->acodec, "mp4.qt");
+ strcpy(recording_format->vcodec, "mp4.qt");
+ recording_format->channels = 2;
+ recording_format->sample_rate = 48000;
+ recording_format->bits = 16;
+ recording_format->dither = 0;
+
record_realtime_toc = defaults->get("RECORD_REALTIME_TOC", 1);
- recording_format->load_defaults(defaults,
- "RECORD_",
- 1,
- 1,
- 1,
- 1,
- 1);
- safe_regions = defaults->get("SAFE_REGIONS", 1);
+ recording_format->load_defaults(defaults, "RECORD_", 1, 1, 1, 1, 1);
+
+ safe_regions = defaults->get("SAFE_REGIONS", 0);
sample_rate = defaults->get("SAMPLERATE", 48000);
scrub_speed = defaults->get("SCRUB_SPEED", (float)2);
show_assets = defaults->get("SHOW_ASSETS", 1);
video_tracks = defaults->get("VTRACKS", 1);
video_write_length = defaults->get("VIDEO_WRITE_LENGTH", 30);
view_follows_playback = defaults->get("VIEW_FOLLOWS_PLAYBACK", 1);
- vwindow_meter = defaults->get("VWINDOW_METER", 1);
+ vwindow_meter = defaults->get("VWINDOW_METER", 0);
decode_subtitles = defaults->get("DECODE_SUBTITLES", decode_subtitles);
defaults->update("ATRACKS", audio_tracks);
defaults->update("AUTOS_FOLLOW_EDITS", autos_follow_edits);
defaults->update("BRENDER_START", brender_start);
- cmodel_to_text(string, color_model);
+ BC_CModels::to_text(string, color_model);
defaults->update("COLOR_MODEL", string);
defaults->update("EYEDROP_RADIUS", eyedrop_radius);
defaults->update("CROP_X1", crop_x1);
defaults->update("OUTPUTW", output_w);
defaults->update("OUTPUTH", output_h);
defaults->update("PLAYBACK_BUFFER", playback_buffer);
- defaults->update("PLAYBACK_PRELOAD", playback_preload);
defaults->update("PLAYBACK_SOFTWARE_POSITION", playback_software_position);
playback_config->save_defaults(defaults);
defaults->update("PLAYBACK_REALTIME", real_time_playback);
int EDLSession::load_video_config(FileXML *file, int append_mode, uint32_t load_flags)
{
- char string[1024];
+ char string[BCTEXTLEN];
if(append_mode) return 0;
interpolation_type = file->tag.get_property("INTERPOLATION_TYPE", interpolation_type);
interpolate_raw = file->tag.get_property("INTERPOLATE_RAW", interpolate_raw);
white_balance_raw = file->tag.get_property("WHITE_BALANCE_RAW", white_balance_raw);
- cmodel_to_text(string, color_model);
- color_model = cmodel_from_text(file->tag.get_property("COLORMODEL", string));
+ BC_CModels::to_text(string, color_model);
+ color_model = BC_CModels::from_text(file->tag.get_property("COLORMODEL", string));
video_channels = file->tag.get_property("CHANNELS", video_channels);
for(int i = 0; i < video_channels; i++)
{
mpeg4_deblock = file->tag.get_property("MPEG4_DEBLOCK", mpeg4_deblock);
plugins_follow_edits = file->tag.get_property("PLUGINS_FOLLOW_EDITS", plugins_follow_edits);
single_standalone = file->tag.get_property("SINGLE_STANDALONE", single_standalone);
- playback_preload = file->tag.get_property("PLAYBACK_PRELOAD", playback_preload);
safe_regions = file->tag.get_property("SAFE_REGIONS", safe_regions);
show_assets = file->tag.get_property("SHOW_ASSETS", 1);
show_titles = file->tag.get_property("SHOW_TITLES", 1);
file->tag.set_property("MPEG4_DEBLOCK", mpeg4_deblock);
file->tag.set_property("PLUGINS_FOLLOW_EDITS", plugins_follow_edits);
file->tag.set_property("SINGLE_STANDALONE", single_standalone);
- file->tag.set_property("PLAYBACK_PRELOAD", playback_preload);
file->tag.set_property("SAFE_REGIONS", safe_regions);
file->tag.set_property("SHOW_ASSETS", show_assets);
file->tag.set_property("SHOW_TITLES", show_titles);
int EDLSession::save_video_config(FileXML *file)
{
- char string[1024];
+ char string[BCTEXTLEN];
file->tag.set_title("VIDEO");
file->tag.set_property("INTERPOLATION_TYPE", interpolation_type);
file->tag.set_property("INTERPOLATE_RAW", interpolate_raw);
file->tag.set_property("WHITE_BALANCE_RAW", white_balance_raw);
- cmodel_to_text(string, color_model);
+ BC_CModels::to_text(string, color_model);
file->tag.set_property("COLORMODEL", string);
file->tag.set_property("CHANNELS", video_channels);
for(int i = 0; i < video_channels; i++)
playback_config = new PlaybackConfig;
playback_config->copy_from(session->playback_config);
playback_cursor_visible = session->playback_cursor_visible;
- playback_preload = session->playback_preload;
playback_software_position = session->playback_software_position;
real_time_playback = session->real_time_playback;
real_time_record = session->real_time_record;