[Clam-devel] Commit #11195: templated plugins generator

David García Garzón dgarcia at iua.upf.edu
Mon Mar 3 19:56:33 PST 2008


Oh, yes, what you are specifying is the type, then what is missing is the name 
of the port.

On Tuesday 04 Març 2008, David García Garzón wrote:
> Great, Hernan.
>
> Shouldn't be the port type an important input to specify?
>
> On Tuesday 04 Març 2008, Hernán Ordiales wrote:
> > I have added a new script in the same line: TemplateGenerator.py
> >
> > Usage: ./TemplateGenerator TEMPLATEFILE
> >
> > Example of input file:
> > Name:TestTemplate
> > BaseClass:Processing
> > i:AudioInPort
> > i:AudioInPort
> > i:AudioInPort
> > i:AudioInPort
> > o:AudioOutPort
> > o:AudioOutPort
> > ic:i,0,100
> > ic:i,0,100
> > ic:i,0,100
> > ic:i,0,100
> >
> > Convention:
> > i (input) | o (output): type
> > ic (input control) | oc (output control): integer/float, range
> >
> > Then these two commands:
> > ./TemplateGenerator.py exampleinputfile
> > ./TemplatedPluginsGenerator.py TestProcessing TestTemplate "Fundació
> > Barcelona Media Universitat Pompeu Fabra" GPL 2007
> >
> > Generates:
> >
> > "TestProcessing.hxx"
> >
> > /*
> >  * Copyright (c) 2007 Fundació Barcelona Media 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 _TestProcessing_
> > #define _TestProcessing_
> >
> > #include <CLAM/Processing.hxx>
> > #include <CLAM/AudioInPort.hxx>
> > #include <CLAM/AudioOutPort.hxx>
> > #include <CLAM/InControl.hxx>
> >
> > namespace CLAM {
> >
> > 	/**	\brief Short description
> > 	 *
> > 	 *	Description
> > 	 */
> > 	class TestProcessing: public Processing
> > 	{
> > 		/** This method returns the name of the object
> > 		 *  @return Char pointer with the name of object
> > 		 */
> > 		const char *GetClassName() const { return "TestProcessing"; }
> >
> > 		/** Ports **/
> > 		AudioInPort mInputAudiooutport0;
> > 		AudioInPort mInputAudiooutport1;
> > 		AudioInPort mInputAudiooutport2;
> > 		AudioInPort mInputAudiooutport3;
> > 		AudioOutPort mOutputAudiooutport0;
> > 		AudioOutPort mOutputAudiooutport1;
> >
> > 		/** Controls **/
> > 		InControl mInputControl0;
> > 		InControl mInputControl1;
> > 		InControl mInputControl2;
> > 		InControl mInputControl3;
> >
> > 	public:
> > 		TestProcessing(const Config & config=Config())
> >
> > 			mInputAudiooutport0("Input 0", this),
> > 			mInputAudiooutport1("Input 1", this),
> > 			mInputAudiooutport2("Input 2", this),
> > 			mInputAudiooutport3("Input 3", this),
> > 			mOutputAudiooutport0("Output 0", this),
> > 			mOutputAudiooutport1("Output 1", this),
> > 			mInputControl0("Control 0", this),
> > 			mInputControl1("Control 1", this),
> > 			mInputControl2("Control 2", this),
> > 			mInputControl3("Control 3", this)
> > 		{
> > 			Configure( config );
> > 		}
> >
> > 		~TestProcessing() {}
> >
> > 		bool Do()
> > 		{
> > 			return true;
> > 		}
> >
> > 	private:
> >
> > 	/** Child processings **/
> >
> > 	};
> >
> > };//namespace CLAM
> >
> > #endif // _TestProcessing_
> >
> >
> > and "TestProcessing.cxx":
> >
> > /*
> >  * Copyright (c) 2007 Fundació Barcelona Media 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 *
> >  */
> >
> > #include "TestProcessing.hxx"
> > #include <CLAM/ProcessingFactory.hxx>
> >
> > namespace CLAM
> > {
> >
> > namespace Hidden
> > {
> > 	static const char * metadata[] = {
> > 		"key", "TestProcessing",
> > 		"category", "Plugins",
> > 		"description", "TestProcessing",
> > 		0
> > 	};
> > 	static FactoryRegistrator<ProcessingFactory, TestProcessing> reg =
> > metadata; }
> >
> > }



-- 
David García Garzón
(Work) dgarcia at iua dot upf anotherdot es
http://www.iua.upf.edu/~dgarcia
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 189 bytes
Desc: This is a digitally signed message part.
URL: <http://lists.clam-project.org/pipermail/clam-devel-clam-project.org/attachments/20080304/8a4e23ea/attachment.sig>


More information about the clam-devel mailing list