/* -----------------------------------------------------------------------------
	GSFramework
	Copyright 2001-2013 Emmanuel Julien. All Rights Reserved.
----------------------------------------------------------------------------- */


		#include "automation/automation_source_group.h"

		using namespace GS::Automation;


//------------------------------------------------------------------------------
void				SourceGroup::Dispose(float blend)
{	ListForeachPtr(Source *, s, source_list)
		s->Dispose(blend);	}
void				SourceGroup::SetTime(const GS::Time &t)
{	ListForeachPtr(Source *, s, source_list)
		s->time = t;			}
void				SourceGroup::SetTimeScale(float scale)
{	ListForeachPtr(Source *, s, source_list)
		s->time_scale = scale;	}
void				SourceGroup::SetWeight(float weight, float blend)
{	ListForeachPtr(Source *, s, source_list)
		s->SetWeight(weight, blend);	}
void				SourceGroup::SetRelative(bool relative)
{	ListForeachPtr(Source *, s, source_list)
		s->relative = relative;	}
void				SourceGroup::SetLoop(const GS::Time &start, const GS::Time &end)
{	ListForeachPtr(Source *, s, source_list)
		s->SetLoop(start, end);		}
void				SourceGroup::SetLoopMode(GS::Curve::LoopMode mode)
{	ListForeachPtr(Source *, s, source_list)
		s->SetLoopMode(mode);		}
bool				SourceGroup::IsDone() const
{
	ListForeachPtr(Source *, s, source_list)
		if	(!s->IsDone())
			return false;
	return true;
}
//------------------------------------------------------------------------------
