/*
* CINELERRA
* Copyright (C) 2010 Adam Williams <broadcast at earthling dot net>
+ * Copyright (C) 2003-2016 Cinelerra CV contributors
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
int Track::is_hidden()
{
if( master ) return 0;
- if( edl->session->gang_tracks == GANG_MEDIA ) return 1;
- if( edl->session->gang_tracks == GANG_CHANNELS ) {
+ if( edl->local_session->gang_tracks == GANG_MEDIA ) return 1;
+ if( edl->local_session->gang_tracks == GANG_CHANNELS ) {
for( Track *track=previous; track; track=track->previous ) {
if( track->data_type == data_type ) return 1;
if( track->master ) return 0;
Track *Track::gang_master()
{
Track *track = this;
- switch( edl->session->gang_tracks ) {
+ switch( edl->local_session->gang_tracks ) {
case GANG_NONE:
return track;
case GANG_CHANNELS: {
Track *current = track;
int data_type = track->data_type;
- while( current && !track->master ) {
+ while( current && !current->master ) {
if( !(current = current->previous) ) break;
if( current->data_type == data_type ) track = current;
}
int Track::in_gang(Track *track)
{
- if( edl->session->gang_tracks == GANG_NONE ) return ganged;
+ if( edl->local_session->gang_tracks == GANG_NONE ) return ganged;
Track *current = this;
while( current && !current->master ) current = current->previous;
while( track && !track->master ) track = track->previous;
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( edl->session->gang_tracks == GANG_NONE ) return ganged;
+// 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;
return 1;
}
+int Track::plays()
+{
+ return play && gang_master()->play;
+}
int Track::index_in(Mixer *mixer)
{