[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