View Issue Details

IDProjectCategoryView StatusLast Update
0000577Cinelerra-GG[All Projects] Bugpublic2021-06-20 12:25
ReporterPhyllisSmith Assigned ToPhyllisSmith  
PrioritynormalSeveritymajorReproducibilityalways
Status feedbackResolutionopen 
Product Version 
Target VersionFixed in Version 
Summary0000577: Gand Channels and Gang Media are not doing Armed tracks correctly
Description@Scossu has discovered that as stated in the manual when using gang channels and gang media, disarmed tracks are supposed
to be ignored (meaning that they should be treated as armed) if not the first in the set. This makes it difficult to see that things are getting unaligned because you can not see which tracks are disarmed in those modes.
TagsNo tags attached.

Activities

IgorBeg

IgorBeg

2021-06-20 12:25

reporter   ~0004840

I would like to be clear. You, @PhyllisSmith, have found the right place where to look. The right code was already there, I just commented on some lines after testing two release of Cinelerra-GG. I wouldn't be able to make the right adjustments to the code.
Thanks PhyllisSmith!

Thanks @Andrea_Paz for testing.
Andrea_Paz

Andrea_Paz

2021-06-19 09:08

manager   ~0004830

From my (few) tests everything seems to work as indicated. I tried cutting out a region and adding a plugin and everything is OK. I haven't tried multicam.
PhyllisSmith

PhyllisSmith

2021-06-18 15:35

manager   ~0004829

@Andrea_Paz
Yes, it is difficult to keep track of it !!
Before, with the bug, if you were in either Gang Channels or Gang Media mode and you had a track that was not the first track of the set DISARMED, changes such as deleting a section or adding a plugin would not be propagated to the disarmed track an it should have been (because you can not see it -- that was the intended design).
Now, with the fix it is working properly again and changes are properly made to the disarmed track. Also, as IgornBeg pointed out for when the "Play" patchbay button is disabled the following holds (I will add this to the manual today as I see it is missing.)
       - Gang flags in the patchbay specifically when in Gang Channels or Gang Media modes will
        operate as set in the Master Track. For example, if when in Gang Channels mode, you turn off
       “Play track” on the visible audio track, none of the associated channels (i.e. the other stereo or
        other 5 channels will play). And if in Gang Media mode, if you turn on “Play track” for the
        Master Track, all associated video and audio tracks will play unless you turned off “Play track” for
        some of the associated audio/video slave tracks which will not play.

I had to read the section in the manual several times before I could remember how to use it.
Andrea_Paz

Andrea_Paz

2021-06-18 09:00

manager   ~0004828

I'm sorry but I can't follow the thread well: how did it work before in ganged and how does it work now? I tried playing with the play track and arm buttons in the 3 modes of ganged. Turning the buttons on/off does not affect the other tracks, whether master or slave.
PhyllisSmith

PhyllisSmith

2021-06-17 23:52

manager   ~0004827

@IgorBeg
All testing good. I checked in the mod to GIT. (No, YOU are great!)
@Andrea_Paz
Please test also after rebuilding if you have some extra time.
PhyllisSmith

PhyllisSmith

2021-06-17 13:39

manager   ~0004826

@IgorBeg
Oh, thank you! I will test today.
IgorBeg

IgorBeg

2021-06-17 08:43

reporter   ~0004825

@PhyllisSmith, I meant the code below. I also tried with Multi Camera (Open Camera) and it seems to work right.
When/if you have a few of time, could you test it, please?

int Track::is_armed()
{
//	return armed && gang_master()->armed;
    return gang_master()->armed;
}

int Track::is_ganged()
{
//	return ganged && gang_master()->ganged;
    return gang_master()->ganged;
}

int Track::armed_gang(Track *track)
{
//	if( !track->ganged ) return 0;
    if( edl->local_session->gang_tracks == GANG_NONE ) return ganged;
    Track *current = gang_master();
//	if( !current->ganged ) return 0;
    for(;;) {
        if( track == current ) return 1;
        current = current->next;
        if( !current || current->master ) return 0;
    }
    return 1;
}

int Track::plays()
{
    return play && gang_master()->play;
}

PhyllisSmith

PhyllisSmith

2021-06-15 12:53

manager   ~0004811

Last edited: 2021-06-15 12:57

View 3 revisions

@IgorBeg
Thanks for your input -- it seemed like "play" was the issue but when I removed only that mod, it still failed. I found the exact line and it has to do with the "Master Gang" flag in the patchbay.
(around line 1836 in track.C).
 
- return gang_master()->armed;
+ return armed && gang_master()->armed;

When I revert to the - line above, the disarmed works correctly. I am continuing to understand more today by using gdb to see the values.

IgorBeg

IgorBeg

2021-06-15 07:12

reporter   ~0004810

By my first test with both Cin_20200930 and Cin_20201031 releases it seems that the change was for the Play for the Slave tracks.
The discussion was in Mailing List (start 2020-10-09, YYYY-mm-dd) for "Can 'play track' status propagate to ganged tracks?" by Oon-Ee_Ng (and Pierre).

Could @Andrea_Paz confirm or less, please?. Thanks.

If it were so, I think, you could restore the old code except for the "int Track::plays()" function.
But, I have to try the two releases with Multi camera (Open camera) feature. I need more days to test.
IgorBeg

IgorBeg

2021-06-14 07:38

reporter   ~0004809

You are great @PhyllisSmith ! THANKS!
Undfortunately, I don't understand that code by "diff" in track.C.

I am afraid there was a reason for that change. Unfortunately I don't remember. Maybe it was in
https://www.cinelerra-gg.org/bugtracker/view.php?id=529
https://www.cinelerra-gg.org/bugtracker/view.php?id=433

I should do some tests on Cin_20200930 release (... or to build a Cin release before Cin_20201024, but I am not able).
PhyllisSmith

PhyllisSmith

2021-06-14 03:38

manager   ~0004808

@IgorBeg
I found what created the error but not sure how to fix it.
It is dated October 24, 2020 for the GIT checkin of "change track gang_master patchbay flag use to allow disabled slaves"/
Commit: a718f58e6d8061f83bd0c0b10848ac415cd21fcd
(not sure how to fix it though -- still checking)
@Andrew_R
Changed file that causes the problem is track.C --

diff --git a/cinelerra-5.1/cinelerra/track.C b/cinelerra-5.1/cinelerra/track.C
index 030348302fe3c7e6212c100e9d9dfb56f8cc7808..5c07480e249799bbc242512d11764591a357cc6e 100644 (file)
--- a/cinelerra-5.1/cinelerra/track.C
+++ b/cinelerra-5.1/cinelerra/track.C
@@ -1836,18 +1836,20 @@ int Track::in_gang(Track *track)
 
 int Track::is_armed()
 {
- return gang_master()->armed;
+ return armed && gang_master()->armed;
 }
 
 int Track::is_ganged()
 {
- return gang_master()->ganged;
+ return ganged && gang_master()->ganged;
 }
 
 int Track::armed_gang(Track *track)
 {
+ if( !track->ganged ) return 0;
        if( edl->local_session->gang_tracks == GANG_NONE ) return ganged;
        Track *current = gang_master();
+ if( !current->ganged ) return 0;
        for(;;) {
                if( track == current ) return 1;
                current = current->next;
@@ -1858,7 +1860,7 @@ int Track::armed_gang(Track *track)
 
 int Track::plays()
 {
- return gang_master()->play;
+ return play && gang_master()->play;
 }
 
 int Track::index_in(Mixer *mixer)
PhyllisSmith

PhyllisSmith

2021-06-11 21:31

manager   ~0004807

Bug cropped up in the 10/31/2020 release when changes to Gang Mode were made as were needed.

Issue History

Date Modified Username Field Change
2021-06-11 21:09 PhyllisSmith New Issue
2021-06-11 21:31 PhyllisSmith Note Added: 0004807
2021-06-14 03:38 PhyllisSmith Assigned To => PhyllisSmith
2021-06-14 03:38 PhyllisSmith Status new => confirmed
2021-06-14 03:38 PhyllisSmith Note Added: 0004808
2021-06-14 07:38 IgorBeg Note Added: 0004809
2021-06-15 07:12 IgorBeg Note Added: 0004810
2021-06-15 12:53 PhyllisSmith Note Added: 0004811
2021-06-15 12:56 PhyllisSmith Note Edited: 0004811 View Revisions
2021-06-15 12:57 PhyllisSmith Note Edited: 0004811 View Revisions
2021-06-17 08:43 IgorBeg Note Added: 0004825
2021-06-17 13:39 PhyllisSmith Note Added: 0004826
2021-06-17 23:52 PhyllisSmith Note Added: 0004827
2021-06-17 23:52 PhyllisSmith Status confirmed => feedback
2021-06-18 09:00 Andrea_Paz Note Added: 0004828
2021-06-18 15:35 PhyllisSmith Note Added: 0004829
2021-06-19 09:08 Andrea_Paz Note Added: 0004830
2021-06-20 12:25 IgorBeg Note Added: 0004840