[Clam-devel] My adventures with sample by sample processing (part II)

Xavier Amatriain xavier at create.ucsb.edu
Wed Jan 3 10:03:16 PST 2007


I'll do more than that, I am attaching the files. I will try to add them
soon to svn if you agree.

See that when constructing this FlowControlPolicy the user has to
specify the list of branches, being a branch a list of Processings plus
a number of executions for the branch. Using this simple construct I
have been able to specify pretty easily complex networks.

On Wed, 2007-01-03 at 18:51 +0100, Pau Arumi wrote:
> about the static scheduling: i want more details please. that sounds 
> interesting! 
-- 

/*********************************
 *       Xavier Amatriain        *
 *  Associate Director - MATi    *
 *  Research Director - CREATE   *
 *    UCSB, Santa Barbara CA     *
 *      1-(805)- 893 83 52       *
 ********************************/

-------------- next part --------------
A non-text attachment was scrubbed...
Name: StaticFlowControl.cxx
Type: text/x-c++src
Size: 1879 bytes
Desc: not available
URL: <http://lists.clam-project.org/pipermail/clam-devel-clam-project.org/attachments/20070103/c9d56183/attachment-0004.cxx>
-------------- next part --------------
/*
 * Copyright (c) 2001-2004 MUSIC TECHNOLOGY GROUP (MTG)
 *                         UNIVERSITAT POMPEU FABRA
 *
 *
 * 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
 * the Free Software Foundation; either version 2 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program; if not, write to the Free Software
 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 *
 */


#ifndef  _StaticFlowControl_hxx_
#define  _StaticFlowControl_hxx_

#include "FlowControl.hxx"
#include <list>

namespace CLAM
{

class Processing;

struct StaticCycleBranch
{
	std::list<std::string> processingNames;
	int nLoops;
};

typedef std::list<StaticCycleBranch> StaticCycle;

class StaticFlowControl : public FlowControl
{
public:
	StaticFlowControl( int frameSize , StaticCycle& c );
	virtual ~StaticFlowControl(){}

	void Do();

private:
	void AddProcessingsToDo( std::list<Processing*> &);
	void SetCycle(StaticCycle& c);
	std::list< Processing* > mCycle;
	StaticCycle mCycleDef;
};

} // namespace CLAM

#endif //  _StaticFlowControl_hxx_


More information about the clam-devel mailing list