add BC_SCALE env var for hi def monitors, cleanup theme data
[goodguy/cinelerra.git] / cinelerra-5.1 / cinelerra / edlsession.C
index 98e7ea4a9afd4dcb782cdf54253ebc2cb3042964..001208442958b4cd16061a03a71ba23220008036 100644 (file)
@@ -44,8 +44,9 @@ EDLSession::EDLSession(EDL *edl)
        for(int i = 0; i < MAXCHANNELS; i++)
                achannel_positions[i] = 0;
        assetlist_format = ASSETS_ICONS;
+       int xs100 = xS(100);
        for(int i = 0; i < ASSET_COLUMNS; i++)
-               asset_columns[i] = 100;
+               asset_columns[i] = xs100;
        auto_conf = new AutoConf;
        awindow_folder = AW_MEDIA_FOLDER;
        aspect_w = 4;  aspect_h = 3;
@@ -53,12 +54,13 @@ EDLSession::EDLSession(EDL *edl)
        audio_tracks = 2;
        autos_follow_edits = 1; // this is needed for predictability
        auto_keyframes = 0;
+       span_keyframes = 0;
        brender_start = brender_end = 0.0;
        clipboard_length = 0; // unused
        color_model = BC_RGBA8888;
        interlace_mode = ILACE_MODE_UNDETECTED;
-       crop_x1 = 0; crop_x2 = 320;
-       crop_y1 = 0; crop_y2 = 240;
+       crop_x1 = 0; crop_x2 = xS(320);
+       crop_y1 = 0; crop_y2 = yS(240);
        eyedrop_radius = 0;
        ruler_x1 = ruler_y1 = 0.0;
        ruler_x2 = ruler_y2 = 0.0;
@@ -72,6 +74,8 @@ EDLSession::EDLSession(EDL *edl)
        cwindow_xscroll = cwindow_yscroll = 0;
        cwindow_zoom = 1.0;
        cwindow_click2play = 0;
+       cwindow_clear_color = BLACK;
+       cwindow_clear_alpha = 0;
        strcpy(default_atransition, INIT_ATRANSITION);
        strcpy(default_vtransition, INIT_VTRANSITION);
        default_transition_length = 1.0;
@@ -177,7 +181,9 @@ int EDLSession::need_rerender(EDLSession *ptr)
                (white_balance_raw != ptr->white_balance_raw) ||
                (proxy_disabled_scale != ptr->proxy_disabled_scale) ||
                (proxy_scale != ptr->proxy_scale) ||
-               (proxy_use_scaler != ptr->proxy_use_scaler));
+               (proxy_use_scaler != ptr->proxy_use_scaler) ||
+               (cwindow_clear_color != ptr->cwindow_clear_color) ||
+               (cwindow_clear_alpha != ptr->cwindow_clear_alpha));
 }
 
 void EDLSession::equivalent_output(EDLSession *session, double *result)
@@ -253,6 +259,8 @@ int EDLSession::load_defaults(BC_Hash *defaults)
        cwindow_yscroll = defaults->get("CWINDOW_YSCROLL", 0);
        cwindow_zoom = defaults->get("CWINDOW_ZOOM", (float)1);
        cwindow_click2play = defaults->get("CWINDOW_CLICK2PLAY", 0);
+       cwindow_clear_color = defaults->get("CWINDOW_CLEAR_COLOR", BLACK);
+       cwindow_clear_alpha = defaults->get("CWINDOW_CLEAR_ALPHA", 0);
        sprintf(default_atransition, INIT_ATRANSITION);
        defaults->get("DEFAULT_ATRANSITION", default_atransition);
        sprintf(default_vtransition, INIT_VTRANSITION);
@@ -274,6 +282,7 @@ int EDLSession::load_defaults(BC_Hash *defaults)
        single_standalone = defaults->get("SINGLE_STANDALONE", 1);
        playback_preload = defaults->get("PLAYBACK_PRELOAD", 0);
        auto_keyframes = defaults->get("AUTO_KEYFRAMES", 0);
+       span_keyframes = defaults->get("SPAN_KEYFRAMES", 0);
        meter_format = defaults->get("METER_FORMAT", METER_DB);
        min_meter_db = defaults->get("MIN_METER_DB", -85);
        max_meter_db = defaults->get("MAX_METER_DB", 6);
@@ -399,6 +408,8 @@ int EDLSession::save_defaults(BC_Hash *defaults)
        defaults->update("CWINDOW_YSCROLL", cwindow_yscroll);
        defaults->update("CWINDOW_ZOOM", cwindow_zoom);
        defaults->update("CWINDOW_CLICK2PLAY", cwindow_click2play);
+       defaults->update("CWINDOW_CLEAR_COLOR", cwindow_clear_color);
+       defaults->update("CWINDOW_CLEAR_ALPHA", cwindow_clear_alpha);
        defaults->update("DEFAULT_ATRANSITION", default_atransition);
        defaults->update("DEFAULT_VTRANSITION", default_vtransition);
        defaults->update("DEFAULT_TRANSITION_LENGTH", default_transition_length);
@@ -419,6 +430,7 @@ int EDLSession::save_defaults(BC_Hash *defaults)
        defaults->update("SINGLE_STANDALONE", single_standalone);
        defaults->update("PLAYBACK_PRELOAD", playback_preload);
        defaults->update("AUTO_KEYFRAMES", auto_keyframes);
+       defaults->update("SPAN_KEYFRAMES", span_keyframes);
        defaults->update("METER_FORMAT", meter_format);
        defaults->update("MIN_METER_DB", min_meter_db);
        defaults->update("MAX_METER_DB", max_meter_db);
@@ -597,6 +609,7 @@ int EDLSession::load_xml(FileXML *file,
                }
                auto_conf->load_xml(file);
                auto_keyframes = file->tag.get_property("AUTO_KEYFRAMES", auto_keyframes);
+               span_keyframes = file->tag.get_property("SPAN_KEYFRAMES", span_keyframes);
                autos_follow_edits = file->tag.get_property("AUTOS_FOLLOW_EDITS", autos_follow_edits);
                brender_start = file->tag.get_property("BRENDER_START", brender_start);
                brender_end = file->tag.get_property("BRENDER_END", brender_end);
@@ -621,6 +634,8 @@ int EDLSession::load_xml(FileXML *file,
                cwindow_yscroll = file->tag.get_property("CWINDOW_YSCROLL", cwindow_yscroll);
                cwindow_zoom = file->tag.get_property("CWINDOW_ZOOM", cwindow_zoom);
                cwindow_click2play = file->tag.get_property("CWINDOW_CLICK2PLAY", cwindow_click2play);
+               cwindow_clear_color = file->tag.get_property("CWINDOW_CLEAR_COLOR", cwindow_clear_color);
+               cwindow_clear_alpha = file->tag.get_property("CWINDOW_CLEAR_ALPHA", cwindow_clear_alpha);
                editing_mode = file->tag.get_property("EDITING_MODE", editing_mode);
                folderlist_format = file->tag.get_property("FOLDERLIST_FORMAT", folderlist_format);
                highlighted_track = file->tag.get_property("HIGHLIGHTED_TRACK", 0);
@@ -663,6 +678,7 @@ int EDLSession::save_xml(FileXML *file)
        }
        auto_conf->save_xml(file);
        file->tag.set_property("AUTO_KEYFRAMES", auto_keyframes);
+       file->tag.set_property("SPAN_KEYFRAMES", span_keyframes);
        file->tag.set_property("AUTOS_FOLLOW_EDITS", autos_follow_edits);
        file->tag.set_property("BRENDER_START", brender_start);
        file->tag.set_property("BRENDER_END", brender_end);
@@ -687,6 +703,8 @@ int EDLSession::save_xml(FileXML *file)
        file->tag.set_property("CWINDOW_YSCROLL", cwindow_yscroll);
        file->tag.set_property("CWINDOW_ZOOM", cwindow_zoom);
        file->tag.set_property("CWINDOW_CLICK2PLAY", cwindow_click2play);
+       file->tag.set_property("CWINDOW_CLEAR_COLOR", cwindow_clear_color);
+       file->tag.set_property("CWINDOW_CLEAR_ALPHA", cwindow_clear_alpha);
        file->tag.set_property("EDITING_MODE", editing_mode);
        file->tag.set_property("FOLDERLIST_FORMAT", folderlist_format);
        file->tag.set_property("HIGHLIGHTED_TRACK", highlighted_track);
@@ -822,6 +840,8 @@ int EDLSession::copy(EDLSession *session)
        cwindow_yscroll = session->cwindow_yscroll;
        cwindow_zoom = session->cwindow_zoom;
        cwindow_click2play = session->cwindow_click2play;
+       cwindow_clear_color = session->cwindow_clear_color;
+       cwindow_clear_alpha = session->cwindow_clear_alpha;
        strcpy(default_atransition, session->default_atransition);
        strcpy(default_vtransition, session->default_vtransition);
        default_transition_length = session->default_transition_length;
@@ -841,6 +861,7 @@ int EDLSession::copy(EDLSession *session)
        plugins_follow_edits = session->plugins_follow_edits;
        single_standalone = session->single_standalone;
        auto_keyframes = session->auto_keyframes;
+       span_keyframes = session->span_keyframes;
 //     last_playback_position = session->last_playback_position;
        meter_format = session->meter_format;
        min_meter_db = session->min_meter_db;