X-Git-Url: https://git.cinelerra-gg.org/git/?p=goodguy%2Fcinelerra.git;a=blobdiff_plain;f=cinelerra-5.1%2Fplugins%2Ftitler%2Ftitler.C;h=95218e4c83dc0545be551aa2b73b73c64c553f40;hp=11e454ec855c0812dec82ca2835c1d35b1fab04d;hb=refs%2Fheads%2Fmaster;hpb=bddf34d0b865e2a0df03926eae45caa038d4f787 diff --git a/cinelerra-5.1/plugins/titler/titler.C b/cinelerra-5.1/plugins/titler/titler.C index 11e454ec..b4157811 100644 --- a/cinelerra-5.1/plugins/titler/titler.C +++ b/cinelerra-5.1/plugins/titler/titler.C @@ -57,8 +57,13 @@ #include #include #include +#if defined (__linux__) #include #include +#endif +#if defined (__FreeBSD__) +#include +#endif #include #include #include @@ -76,7 +81,7 @@ REGISTER_PLUGIN(TitleMain) #else #define DEFAULT_ENCODING "ISO8859-1" #endif -#define DEFAULT_TIMECODEFORMAT TIME_HMS +#define DEFAULT_TIMECODEFORMAT TIME_HMSF static inline int kw_strcmp(const char *ap, const char *bp) { return !strcmp(ap, bp) ? 0 : strcmp(ap,_(bp)); @@ -87,11 +92,11 @@ TitleConfig::TitleConfig() strcpy(font, "fixed"); strcpy(encoding, DEFAULT_ENCODING); style = FONT_ALIAS; - size = 24; - color = BLACK; + size = 48; + color = WHITE; alpha = 0xff; outline_size = 0.; - outline_color = WHITE; + outline_color = RED; outline_alpha = 0xff; color_stroke = 0xff0000; stroke_width = 0.0; @@ -110,11 +115,10 @@ TitleConfig::TitleConfig() next_keyframe_position = 0; prev_keyframe_position = 0; timecode = 0; - dropshadow = 2; + dropshadow = 0; background = 0; strcpy(background_path, ""); timecode_format = DEFAULT_TIMECODEFORMAT; - drag = 0; loop_playback = 0; } @@ -154,7 +158,6 @@ int TitleConfig::equivalent(TitleConfig &that) background == that.background && !strcmp(background_path, that.background_path) && timecode_format == that.timecode_format && -// drag == that.drag && loop_playback == that.loop_playback; } @@ -189,7 +192,6 @@ void TitleConfig::copy_from(TitleConfig &that) background = that.background; strcpy(background_path, that.background_path); timecode_format = that.timecode_format; - drag = that.drag; loop_playback = that.loop_playback; } @@ -236,7 +238,6 @@ void TitleConfig::interpolate(TitleConfig &prev, TitleConfig &next, background = prev.background; strcpy(background_path, prev.background_path); timecode_format = prev.timecode_format; - drag = prev.drag; loop_playback = prev.loop_playback; } @@ -935,6 +936,7 @@ TitleMain::TitleMain(PluginServer *server) if( cpus > 8 ) cpus = 8; last_position = -1; need_reconfigure = 1; + drag = 0; } TitleMain::~TitleMain() @@ -944,7 +946,8 @@ TitleMain::~TitleMain() background = 0; } delete render_engine; - delete video_cache; + if( video_cache ) + video_cache->remove_user(); delete overlay_frame; delete bg_file; delete bg_frame; @@ -967,6 +970,18 @@ int TitleMain::is_synthesis() { return 1; } NEW_WINDOW_MACRO(TitleMain, TitleWindow); +void TitleMain::render_gui(void *data) +{ + TitleMain *tilter = (TitleMain *)data; + tilter->drag = drag; +} + +int TitleMain::is_dragging() +{ + drag = 0; + send_render_gui(this); + return drag; +} void TitleMain::build_previews(TitleWindow *gui) { @@ -1186,7 +1201,7 @@ int TitleMain::load_font(BC_FontEntry *font) Indexable *TitleMain::open_background(const char *filename) { delete render_engine; render_engine = 0; - delete video_cache; video_cache = 0; + if( video_cache ) { video_cache->remove_user(); video_cache = 0; } delete bg_file; bg_file = new File; Asset *asset = new Asset(filename); @@ -1203,7 +1218,7 @@ Indexable *TitleMain::open_background(const char *filename) nested_edl->create_objects(); nested_edl->set_path(filename); nested_edl->load_xml(&xml_file, LOAD_ALL); - TransportCommand command; + TransportCommand command(server->preferences); //command.command = audio_tracks ? NORMAL_FWD : CURRENT_FRAME; command.command = CURRENT_FRAME; command.get_edl()->copy_all(nested_edl); @@ -2451,7 +2466,7 @@ int TitleMain::process_realtime(VFrame *input_ptr, VFrame *output_ptr) if( !result ) draw_overlay(); - if( config.drag ) + if( is_dragging() ) draw_boundry(); return 0; @@ -2544,7 +2559,6 @@ void TitleMain::save_data(KeyFrame *keyframe) output.tag.set_property("TIMECODEFORMAT", config.timecode_format); output.tag.set_property("WINDOW_W", config.window_w); output.tag.set_property("WINDOW_H", config.window_h); - output.tag.set_property("DRAG", config.drag); output.tag.set_property("BACKGROUND", config.background); output.tag.set_property("BACKGROUND_PATH", config.background_path); output.tag.set_property("LOOP_PLAYBACK", config.loop_playback); @@ -2608,7 +2622,6 @@ void TitleMain::read_data(KeyFrame *keyframe) config.timecode_format = input.tag.get_property("TIMECODEFORMAT", config.timecode_format); config.window_w = input.tag.get_property("WINDOW_W", config.window_w); config.window_h = input.tag.get_property("WINDOW_H", config.window_h); - config.drag = input.tag.get_property("DRAG", config.drag); config.background = input.tag.get_property("BACKGROUND", config.background); input.tag.get_property("BACKGROUND_PATH", config.background_path); config.loop_playback = input.tag.get_property("LOOP_PLAYBACK", config.loop_playback);