plugin/transtions gang operations, commercial compile fix, segv in select_asset,...
[goodguy/cinelerra.git] / cinelerra-5.1 / cinelerra / edlsession.C
index 5aef800dbc8d0abc5fa657f6495ed3a619109b97..74eb3471d944ea832c0165c19bc98cf2952e2838 100644 (file)
@@ -129,6 +129,7 @@ EDLSession::EDLSession(EDL *edl)
        scrub_speed = 2.;
        show_assets = 1;
        show_titles = 1;
+       gang_tracks = GANG_NONE;
        si_useduration = 1;
        si_duration = 3;
        test_playback_edits = 1;
@@ -324,6 +325,7 @@ int EDLSession::load_defaults(BC_Hash *defaults)
 
        show_assets = defaults->get("SHOW_ASSETS", 1);
        show_titles = defaults->get("SHOW_TITLES", 1);
+       gang_tracks = defaults->get("GANG_TRACKS", GANG_NONE);
 //     test_playback_edits = defaults->get("TEST_PLAYBACK_EDITS", 1);
        time_format = defaults->get("TIME_FORMAT", TIME_HMSF);
        nudge_format = defaults->get("NUDGE_FORMAT", 1);
@@ -462,6 +464,7 @@ int EDLSession::save_defaults(BC_Hash *defaults)
        defaults->update("SI_DURATION",si_duration);
        defaults->update("SHOW_ASSETS", show_assets);
        defaults->update("SHOW_TITLES", show_titles);
+       defaults->update("GANG_TRACKS", gang_tracks);
 //     defaults->update("TEST_PLAYBACK_EDITS", test_playback_edits);
        defaults->update("TIME_FORMAT", time_format);
        defaults->update("NUDGE_FORMAT", nudge_format);
@@ -501,7 +504,7 @@ int EDLSession::save_defaults(BC_Hash *defaults)
 void EDLSession::boundaries()
 {
        Workarounds::clamp(audio_tracks, 0, (int)BC_INFINITY);
-       Workarounds::clamp(audio_channels, 1, MAXCHANNELS - 1);
+       Workarounds::clamp(audio_channels, 0, MAXCHANNELS - 1);
        Workarounds::clamp(sample_rate, 1, 1000000);
        Workarounds::clamp(video_tracks, 0, (int)BC_INFINITY);
        Workarounds::clamp(video_channels, 1, MAXCHANNELS - 1);
@@ -646,6 +649,7 @@ int EDLSession::load_xml(FileXML *file,
                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);
+               gang_tracks = file->tag.get_property("GANG_TRACKS", GANG_NONE);
 //             test_playback_edits = file->tag.get_property("TEST_PLAYBACK_EDITS", test_playback_edits);
                time_format = file->tag.get_property("TIME_FORMAT", time_format);
                nudge_format = file->tag.get_property("NUDGE_FORMAT", nudge_format);
@@ -715,6 +719,7 @@ int EDLSession::save_xml(FileXML *file)
        file->tag.set_property("SAFE_REGIONS", safe_regions);
        file->tag.set_property("SHOW_ASSETS", show_assets);
        file->tag.set_property("SHOW_TITLES", show_titles);
+       file->tag.set_property("GANG_TRACKS", gang_tracks);
        file->tag.set_property("TEST_PLAYBACK_EDITS", test_playback_edits);
        file->tag.set_property("TIME_FORMAT", time_format);
        file->tag.set_property("NUDGE_FORMAT", nudge_format);
@@ -891,6 +896,7 @@ int EDLSession::copy(EDLSession *session)
        si_duration = session->si_duration;
        show_assets = session->show_assets;
        show_titles = session->show_titles;
+       gang_tracks = session->gang_tracks;
        test_playback_edits = session->test_playback_edits;
        time_format = session->time_format;
        nudge_format = session->nudge_format;