X-Git-Url: http://git.cinelerra-gg.org/git/?a=blobdiff_plain;f=cinelerra-5.1%2Fcinelerra%2Flocalsession.C;h=0008bcd30a1d7051253903cdc2e9de84692e3132;hb=ccd23c15fae578be22d48b1a1e8b09cb43d593ae;hp=56a1f92291d772672108b140392e80f8cb0a2fda;hpb=30bdb85eb33a8ee7ba675038a86c6be59c43d7bd;p=goodguy%2Fhistory.git diff --git a/cinelerra-5.1/cinelerra/localsession.C b/cinelerra-5.1/cinelerra/localsession.C index 56a1f922..0008bcd3 100644 --- a/cinelerra-5.1/cinelerra/localsession.C +++ b/cinelerra-5.1/cinelerra/localsession.C @@ -20,6 +20,7 @@ */ #include "automation.h" +#include "awindowgui.h" #include "clip.h" #include "bchash.h" #include "edl.h" @@ -34,6 +35,7 @@ static const char *xml_autogrouptypes_titlesmax[] = "AUTOGROUPTYPE_AUDIO_FADE_MAX", "AUTOGROUPTYPE_VIDEO_FADE_MAX", "AUTOGROUPTYPE_ZOOM_MAX", + "AUTOGROUPTYPE_SPEED_MAX", "AUTOGROUPTYPE_X_MAX", "AUTOGROUPTYPE_Y_MAX", "AUTOGROUPTYPE_INT255_MAX" @@ -44,6 +46,7 @@ static const char *xml_autogrouptypes_titlesmin[] = "AUTOGROUPTYPE_AUDIO_FADE_MIN", "AUTOGROUPTYPE_VIDEO_FADE_MIN", "AUTOGROUPTYPE_ZOOM_MIN", + "AUTOGROUPTYPE_SPEED_MIN", "AUTOGROUPTYPE_X_MIN", "AUTOGROUPTYPE_Y_MIN", "AUTOGROUPTYPE_INT255_MIN" @@ -56,7 +59,7 @@ LocalSession::LocalSession(EDL *edl) selectionstart = selectionend = 0; in_point = out_point = -1; - strcpy(folder, CLIP_FOLDER); + awindow_folder = AW_CLIP_FOLDER; sprintf(clip_title, _("Program")); strcpy(clip_notes, _("Hello world")); clipboard_length = 0; @@ -81,8 +84,11 @@ LocalSession::LocalSession(EDL *edl) automation_mins[AUTOGROUPTYPE_VIDEO_FADE] = 0; automation_maxs[AUTOGROUPTYPE_VIDEO_FADE] = 100; - automation_mins[AUTOGROUPTYPE_ZOOM] = 0.001; - automation_maxs[AUTOGROUPTYPE_ZOOM] = 4; + automation_mins[AUTOGROUPTYPE_ZOOM] = 0.005; + automation_maxs[AUTOGROUPTYPE_ZOOM] = 5.000; + + automation_mins[AUTOGROUPTYPE_SPEED] = 0.005; + automation_maxs[AUTOGROUPTYPE_SPEED] = 5.000; automation_mins[AUTOGROUPTYPE_X] = -100; automation_maxs[AUTOGROUPTYPE_X] = 100; @@ -98,6 +104,8 @@ LocalSession::LocalSession(EDL *edl) floatauto_type = FloatAuto::SMOOTH; red = green = blue = 0; + red_max = green_max = blue_max = 0; + use_max = 0; } LocalSession::~LocalSession() @@ -108,7 +116,7 @@ void LocalSession::copy_from(LocalSession *that) { strcpy(clip_title, that->clip_title); strcpy(clip_notes, that->clip_notes); - strcpy(folder, that->folder); + awindow_folder = that->awindow_folder; in_point = that->in_point; loop_playback = that->loop_playback; loop_start = that->loop_start; @@ -132,14 +140,17 @@ void LocalSession::copy_from(LocalSession *that) preview_end = that->preview_end; red = that->red; green = that->green; + blue = that->blue; + red_max = that->red_max; + green_max = that->green_max; + blue_max = that->blue_max; + use_max = that->use_max; for (int i = 0; i < AUTOGROUPTYPE_COUNT; i++) { automation_mins[i] = that->automation_mins[i]; automation_maxs[i] = that->automation_maxs[i]; } floatauto_type = that->floatauto_type; - - blue = that->blue; } void LocalSession::save_xml(FileXML *file, double start) @@ -155,7 +166,7 @@ void LocalSession::save_xml(FileXML *file, double start) file->tag.set_property("SELECTION_END", selectionend - start); file->tag.set_property("CLIP_TITLE", clip_title); file->tag.set_property("CLIP_NOTES", clip_notes); - file->tag.set_property("FOLDER", folder); + file->tag.set_property("AWINDOW_FOLDER", awindow_folder); file->tag.set_property("X_PANE", x_pane); file->tag.set_property("Y_PANE", y_pane); @@ -186,6 +197,10 @@ void LocalSession::save_xml(FileXML *file, double start) file->tag.set_property("RED", red); file->tag.set_property("GREEN", green); file->tag.set_property("BLUE", blue); + file->tag.set_property("RED_MAX", red_max); + file->tag.set_property("GREEN_MAX", green_max); + file->tag.set_property("BLUE_MAX", blue_max); + file->tag.set_property("USE_MAX", use_max); for (int i = 0; i < AUTOGROUPTYPE_COUNT; i++) { if (!Automation::autogrouptypes_fixedrange[i]) { @@ -211,6 +226,9 @@ void LocalSession::synchronize_params(LocalSession *that) red = that->red; green = that->green; blue = that->blue; + red_max = that->red_max; + green_max = that->green_max; + blue_max = that->blue_max; } @@ -223,7 +241,12 @@ void LocalSession::load_xml(FileXML *file, unsigned long load_flags) // Overwritten by MWindow::load_filenames file->tag.get_property("CLIP_TITLE", clip_title); file->tag.get_property("CLIP_NOTES", clip_notes); - file->tag.get_property("FOLDER", folder); + const char *folder = file->tag.get_property("FOLDER"); + if( folder ) { + awindow_folder = AWindowGUI::folder_number(folder); + if( awindow_folder < 0 ) awindow_folder = AW_MEDIA_FOLDER; + } + awindow_folder = file->tag.get_property("AWINDOW_FOLDER", awindow_folder); loop_playback = file->tag.get_property("LOOP_PLAYBACK", 0); loop_start = file->tag.get_property("LOOP_START", (double)0); loop_end = file->tag.get_property("LOOP_END", (double)0); @@ -250,7 +273,10 @@ void LocalSession::load_xml(FileXML *file, unsigned long load_flags) red = file->tag.get_property("RED", red); green = file->tag.get_property("GREEN", green); blue = file->tag.get_property("BLUE", blue); - + red_max = file->tag.get_property("RED_MAX", red_max); + green_max = file->tag.get_property("GREEN_MAX", green_max); + blue_max = file->tag.get_property("BLUE_MAX", blue_max); + use_max = file->tag.get_property("USE_MAX", use_max); for (int i = 0; i < AUTOGROUPTYPE_COUNT; i++) { if (!Automation::autogrouptypes_fixedrange[i]) { @@ -299,6 +325,10 @@ int LocalSession::load_defaults(BC_Hash *defaults) red = defaults->get("RED", 0.0); green = defaults->get("GREEN", 0.0); blue = defaults->get("BLUE", 0.0); + red_max = defaults->get("RED_MAX", 0.0); + green_max = defaults->get("GREEN_MAX", 0.0); + blue_max = defaults->get("BLUE_MAX", 0.0); + use_max = defaults->get("USE_MAX", 0); for (int i = 0; i < AUTOGROUPTYPE_COUNT; i++) { if (!Automation::autogrouptypes_fixedrange[i]) { @@ -329,6 +359,10 @@ int LocalSession::save_defaults(BC_Hash *defaults) defaults->update("RED", red); defaults->update("GREEN", green); defaults->update("BLUE", blue); + defaults->update("RED_MAX", red_max); + defaults->update("GREEN_MAX", green_max); + defaults->update("BLUE_MAX", blue_max); + defaults->update("USE_MAX", use_max); for (int i = 0; i < AUTOGROUPTYPE_COUNT; i++) { if (!Automation::autogrouptypes_fixedrange[i]) {