aboutsummaryrefslogtreecommitdiff
path: root/externals/grill/flext/tutorial/lib1/main.cpp
diff options
context:
space:
mode:
authorThomas Grill <xovo@users.sourceforge.net>2009-04-01 21:13:09 +0000
committerThomas Grill <xovo@users.sourceforge.net>2009-04-01 21:13:09 +0000
commit0ed7a8b68dd73e2b0473b8127aeca99f3bac9061 (patch)
tree5c67818b38a5cc2f9caa5ca7f8640ca356adf02b /externals/grill/flext/tutorial/lib1/main.cpp
parentbb4c7f6a245394d09dac9adfb2efb093d3d98452 (diff)
cleaned up grill externals - replaced with svn:externals to svn.grrrr.org/ext/trunk/
svn path=/trunk/; revision=10951
Diffstat (limited to 'externals/grill/flext/tutorial/lib1/main.cpp')
-rw-r--r--externals/grill/flext/tutorial/lib1/main.cpp132
1 files changed, 0 insertions, 132 deletions
diff --git a/externals/grill/flext/tutorial/lib1/main.cpp b/externals/grill/flext/tutorial/lib1/main.cpp
deleted file mode 100644
index e90c154d..00000000
--- a/externals/grill/flext/tutorial/lib1/main.cpp
+++ /dev/null
@@ -1,132 +0,0 @@
-/*
-flext tutorial - library 1
-
-Copyright (c) 2002,2003 Thomas Grill (xovo@gmx.net)
-For information on usage and redistribution, and for a DISCLAIMER OF ALL
-WARRANTIES, see the file, "license.txt," in this distribution.
-
--------------------------------------------------------------------------
-
-This is an example of an external library containing a few simple objects
-
-It uses attributes, so be sure that you've already worked through attr1 and attr2
-
-*/
-
-// Enable attribute processing
-// For clarity, this is done here, but you'd better specify it as a compiler definition
-#define FLEXT_ATTRIBUTES 1
-
-// include flext header
-#include <flext.h>
-
-// check for appropriate flext version
-#if !defined(FLEXT_VERSION) || (FLEXT_VERSION < 400)
-#error You need at least flext version 0.4.0
-#endif
-
-
-// -------------------------------------------------------------------------------------
-// Define the base class
-// Note that you don't have to instantiate the base class (with FLEXT_NEW or variants)
-
-class libbase:
- // inherit from basic flext class
- public flext_base
-{
- // obligatory flext header (class name,base class name)
- FLEXT_HEADER(libbase,flext_base)
-
-public:
- // constructor
- libbase();
-
-protected:
- void Output(float f) const { ToOutFloat(0,f); }
-
- // method for floats into left inlet
- virtual void m_trigger(float f) = 0;
-
- float arg; // argument variable
-private:
- FLEXT_CALLBACK_F(m_trigger) // callback for method "m_trigger" (with one float argument)
- FLEXT_ATTRVAR_F(arg)
-};
-
-libbase::libbase():
- arg(0) // initialize argument
-{
- // define inlets:
- // first inlet must always by of type anything (or signal for dsp objects)
- AddInAnything(); // add one inlet for any message
-
- // define outlets:
- AddOutFloat(); // add one float outlet (has index 0)
-
- // register methods
- FLEXT_ADDMETHOD(0,m_trigger); // register method (for float messages) "m_float" for inlet 0
-
- // register attributes
- FLEXT_ADDATTR_VAR1("arg",arg); // register attribute "arg"
-}
-
-
-// ------------------------------------------------------------------
-// Define the actual library objects (derived from the base class)
-// These classes have an implementation of the virtual function m_trigger
-
-class libadd:
- public libbase
-{
- // obligatory flext header, inherit from libbase
- FLEXT_HEADER(libadd,libbase)
-public:
- virtual void m_trigger(float f) { Output(f+arg); }
-};
-
-FLEXT_LIB("lib1.+",libadd);
-
-
-
-class libsub:
- public libbase
-{
- // obligatory flext header, inherit from libbase
- FLEXT_HEADER(libsub,libbase)
-public:
- virtual void m_trigger(float f) { Output(f-arg); }
-};
-
-FLEXT_LIB("lib1.-",libsub);
-
-
-
-class libmul:
- public libbase
-{
- // obligatory flext header, inherit from libbase
- FLEXT_HEADER(libmul,libbase)
-public:
- virtual void m_trigger(float f) { Output(f*arg); }
-};
-
-FLEXT_LIB("lib1.*",libmul);
-
-
-// ------------------------------------------------
-// Do the library setup
-
-static void lib_setup()
-{
- post("flext tutorial lib1, (C)2002 Thomas Grill");
- post("lib1: lib1.+ lib1.- lib1.*");
- post("");
-
- // call the objects' setup routines
- FLEXT_SETUP(libadd);
- FLEXT_SETUP(libsub);
- FLEXT_SETUP(libmul);
-}
-
-// setup the library
-FLEXT_LIB_SETUP(lib1,lib_setup)