Example #1
0
EnvelopeProcessor::ErrorCode EnvelopeProcessor::processSelectedTakes()
{
	ErrorCode res = eERRORCODE_OK;
	list<MediaItem*> items;
	GetSelectedMediaItems(items);
	if(items.empty())
		return eERRORCODE_NOITEMSELECTED;

	Undo_BeginBlock2(0);

	for(list<MediaItem*>::iterator item = items.begin(); res == eERRORCODE_OK && item != items.end(); item++)
	{
		list<MediaItem_Take*> takes;
		GetMediaItemTakes(*item, takes, _envModParams.activeTakeOnly);
		//if(takes.empty())
		//	return eERRORCODE_NOITEMSELECTED;

		for(list<MediaItem_Take*>::iterator take = takes.begin(); take != takes.end(); take++)
		{
			res = processTakeEnv(*take);
			UpdateItemInProject(*item);
			if (res != eERRORCODE_OK)
				break;
		}
	}

	//Undo_OnStateChangeEx("Item Envelope LFO", UNDO_STATE_ALL, -1);
//	UpdateTimeline();
	Undo_EndBlock2(NULL, __LOCALIZE("Take envelope processor","sws_undo"), UNDO_STATE_TRACKCFG);

	return eERRORCODE_OK;
}
Example #2
0
void GetSelectedMediaTakes(list<MediaItem_Take*> &takes, bool bActiveOnly)
{
	takes.clear();
	list<MediaItem*> items;
	GetSelectedMediaItems(items);

	for(list<MediaItem*>::iterator item = items.begin(); item != items.end(); item++)
		GetMediaItemTakes(*item, takes, bActiveOnly);
}