X-Git-Url: https://git.cinelerra-gg.org/git/?a=blobdiff_plain;f=cinelerra-5.1%2Fcinelerra%2Fpatchbay.C;h=381e1c0f4d925ce329b171c6c2d23ada7bd9c494;hb=f7775d64092420a00bab4d1df06fa524eda59b63;hp=3292eeb5543911fe576d85f51b266b77d4de1e75;hpb=7fd85fb66168f6b518c5f2d73e04036e87faa0e1;p=goodguy%2Fcinelerra.git diff --git a/cinelerra-5.1/cinelerra/patchbay.C b/cinelerra-5.1/cinelerra/patchbay.C index 3292eeb5..381e1c0f 100644 --- a/cinelerra-5.1/cinelerra/patchbay.C +++ b/cinelerra-5.1/cinelerra/patchbay.C @@ -283,6 +283,7 @@ int PatchBay::cursor_motion_event() track; track = track->next) { + if( track->is_hidden() ) continue; int y = track->y_pixel - mwindow->edl->local_session->track_start[pane->number]; int h = track->vertical_span(mwindow->theme); if(cursor_y >= y && cursor_y < y + h) @@ -301,16 +302,16 @@ int PatchBay::cursor_motion_event() } break; case Tracks::RECORD: - if(track->record != new_status) + if(track->armed != new_status) { - track->record = new_status; + track->armed = new_status; update_gui = 1; } break; case Tracks::GANG: - if(track->gang != new_status) + if(track->ganged != new_status) { - track->gang = new_status; + track->ganged = new_status; update_gui = 1; } break; @@ -451,10 +452,9 @@ int PatchBay::update() // Every patch has a GUI regardless of whether or not it is visible. // Make sure GUI's are allocated for every patch and deleted for non-existant // patches. - for(Track *current = mwindow->edl->tracks->first; - current; - current = NEXT, patch_count++) + for(Track *current = mwindow->edl->tracks->first; current; current = NEXT) { + if( current->is_hidden() ) continue; PatchGUI *patchgui = 0; int y = current->y_pixel; y -= mwindow->edl->local_session->track_start[pane->number]; @@ -502,6 +502,7 @@ int PatchBay::update() patches.append(patchgui); patchgui->create_objects(); } + ++patch_count; } while(patches.total > patch_count) @@ -521,8 +522,8 @@ void PatchBay::synchronize_faders(float change, int data_type, Track *skip) current = NEXT) { if(current->data_type == data_type && - current->gang && - current->record && + current->armed_gang(skip) && + current->is_armed() && current != skip) { FloatAutos *fade_autos = (FloatAutos*)current->automation->autos[AUTOMATION_FADE]; @@ -551,15 +552,11 @@ void PatchBay::synchronize_faders(float change, int data_type, Track *skip) void PatchBay::synchronize_nudge(int64_t value, Track *skip) { - for(Track *current = mwindow->edl->tracks->first; - current; - current = NEXT) - { - if(current->data_type == skip->data_type && - current->gang && - current->record && - current != skip) - { + Track *current = mwindow->edl->tracks->first; + for( ; current; current = NEXT ) { + if( current->data_type == skip->data_type && + current->armed_gang(skip) && current->is_armed() && + current != skip ) { current->nudge = value; PatchGUI *patch = get_patch_of(current); if(patch) patch->update(patch->x, patch->y);