split resource_thread update into separate audio/video threads, boxblur layout tweaks
[goodguy/cinelerra.git] / cinelerra-5.1 / cinelerra / localsession.C
index 9556dce3d6ebd693e6b3d5dde01230e6d552d179..e0e8efa87c4f2dfbc7de39d34e6c6061051aacc7 100644 (file)
@@ -64,6 +64,7 @@ LocalSession::LocalSession(EDL *edl)
        strcpy(clip_notes, _("Hello world"));
        strcpy(clip_icon, "");
        clipboard_length = 0;
+       asset2edl = 0;
        loop_playback = 0;
        loop_start = loop_end = 0;
        playback_start = -1;
@@ -79,34 +80,25 @@ LocalSession::LocalSession(EDL *edl)
                track_start[i] = 0;
        }
 
+       reset_view_limits();
        automation_mins[AUTOGROUPTYPE_AUDIO_FADE] = -80;
        automation_maxs[AUTOGROUPTYPE_AUDIO_FADE] = 6;
-
        automation_mins[AUTOGROUPTYPE_VIDEO_FADE] = 0;
        automation_maxs[AUTOGROUPTYPE_VIDEO_FADE] = 100;
-
-       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;
-
-       automation_mins[AUTOGROUPTYPE_Y] = -100;
-       automation_maxs[AUTOGROUPTYPE_Y] = 100;
-
        automation_mins[AUTOGROUPTYPE_INT255] = 0;
        automation_maxs[AUTOGROUPTYPE_INT255] = 255;
 
        zoombar_showautotype = AUTOGROUPTYPE_AUDIO_FADE;
+       zoombar_showautocolor = -1;
 
        floatauto_type = FloatAuto::SMOOTH;
 
        red = green = blue = 0;
        red_max = green_max = blue_max = 0;
        use_max = 0;
+       solo_track_id = -1;
 }
 
 LocalSession::~LocalSession()
@@ -146,6 +138,7 @@ void LocalSession::copy_from(LocalSession *that)
        green_max = that->green_max;
        blue_max = that->blue_max;
        use_max = that->use_max;
+       solo_track_id = that->solo_track_id;
 
        for (int i = 0; i < AUTOGROUPTYPE_COUNT; i++) {
                automation_mins[i] = that->automation_mins[i];
@@ -236,6 +229,8 @@ void LocalSession::synchronize_params(LocalSession *that)
        red_max = that->red_max;
        green_max = that->green_max;
        blue_max = that->blue_max;
+       if( solo_track_id < 0 || that->solo_track_id < 0 )
+               solo_track_id = that->solo_track_id;
 }
 
 
@@ -499,3 +494,13 @@ int LocalSession::outpoint_valid()
        return out_point >= 0;
 }
 
+void LocalSession::reset_view_limits()
+{
+       automation_mins[AUTOGROUPTYPE_ZOOM] = 0.005;
+       automation_maxs[AUTOGROUPTYPE_ZOOM] = 5.000;
+       automation_mins[AUTOGROUPTYPE_X] = -100;
+       automation_maxs[AUTOGROUPTYPE_X] = 100;
+       automation_mins[AUTOGROUPTYPE_Y] = -100;
+       automation_maxs[AUTOGROUPTYPE_Y] = 100;
+}
+