Commit e1a45797 authored by thomas's avatar thomas
Browse files

no message


git-svn-id: https://svn.grrrr.org/ext/trunk@384 4d9ac71a-51e6-0310-8455-cad1006bcd31
parent 18dff014
# Microsoft Developer Studio Project File - Name="lib1" - Package Owner=<4>
# Microsoft Developer Studio Generated Build File, Format Version 6.00
# ** NICHT BEARBEITEN **
# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102
CFG=lib1 - Win32 Debug
!MESSAGE Dies ist kein gltiges Makefile. Zum Erstellen dieses Projekts mit NMAKE
!MESSAGE verwenden Sie den Befehl "Makefile exportieren" und fhren Sie den Befehl
!MESSAGE
!MESSAGE NMAKE /f "lib1.mak".
!MESSAGE
!MESSAGE Sie knnen beim Ausfhren von NMAKE eine Konfiguration angeben
!MESSAGE durch Definieren des Makros CFG in der Befehlszeile. Zum Beispiel:
!MESSAGE
!MESSAGE NMAKE /f "lib1.mak" CFG="lib1 - Win32 Debug"
!MESSAGE
!MESSAGE Fr die Konfiguration stehen zur Auswahl:
!MESSAGE
!MESSAGE "lib1 - Win32 Release" (basierend auf "Win32 (x86) Dynamic-Link Library")
!MESSAGE "lib1 - Win32 Debug" (basierend auf "Win32 (x86) Dynamic-Link Library")
!MESSAGE
# Begin Project
# PROP AllowPerConfigDependencies 0
# PROP Scc_ProjName "lib1"
# PROP Scc_LocalPath "."
CPP=cl.exe
MTL=midl.exe
RSC=rc.exe
!IF "$(CFG)" == "lib1 - Win32 Release"
# PROP BASE Use_MFC 0
# PROP BASE Use_Debug_Libraries 0
# PROP BASE Output_Dir "Release"
# PROP BASE Intermediate_Dir "Release"
# PROP BASE Target_Dir ""
# PROP Use_MFC 0
# PROP Use_Debug_Libraries 0
# PROP Output_Dir "msvc"
# PROP Intermediate_Dir "msvc"
# PROP Ignore_Export_Lib 0
# PROP Target_Dir ""
# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /YX /FD /c
# ADD CPP /nologo /W3 /GR- /GX- /O2 /I "..\..\source" /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "NT" /D "PD" /YX /FD /c
# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
# ADD BASE RSC /l 0xc07 /d "NDEBUG"
# ADD RSC /l 0xc07 /d "NDEBUG"
BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# ADD BSC32 /nologo
LINK32=link.exe
# ADD BASE LINK32 kernel32.lib /nologo /dll /machine:I386
# ADD LINK32 kernel32.lib user32.lib pd.lib flext-pdwin.lib /nologo /dll /machine:I386 /out:"../msvc/lib1.dll" /libpath:"..\..\pd-msvc"
!ELSEIF "$(CFG)" == "lib1 - Win32 Debug"
# PROP BASE Use_MFC 0
# PROP BASE Use_Debug_Libraries 1
# PROP BASE Output_Dir "Debug"
# PROP BASE Intermediate_Dir "Debug"
# PROP BASE Target_Dir ""
# PROP Use_MFC 0
# PROP Use_Debug_Libraries 1
# PROP Output_Dir "msvc-debug"
# PROP Intermediate_Dir "msvc-debug"
# PROP Ignore_Export_Lib 0
# PROP Target_Dir ""
# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /YX /FD /GZ /c
# ADD CPP /nologo /W3 /Gm /GR- /GX- /ZI /Od /I "..\..\source" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "NT" /D "PD" /Fr /YX /FD /GZ /c
# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32
# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
# ADD BASE RSC /l 0xc07 /d "_DEBUG"
# ADD RSC /l 0xc07 /d "_DEBUG"
BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# ADD BSC32 /nologo
LINK32=link.exe
# ADD BASE LINK32 kernel32.lib user32.lib /nologo /dll /debug /machine:I386 /pdbtype:sept
# ADD LINK32 kernel32.lib user32.lib pd.lib flext_d-pdwin.lib /nologo /dll /debug /machine:I386 /pdbtype:sept /libpath:"..\..\pd-msvc"
!ENDIF
# Begin Target
# Name "lib1 - Win32 Release"
# Name "lib1 - Win32 Debug"
# Begin Source File
SOURCE=.\main.cpp
# End Source File
# End Target
# End Project
/*
flext tutorial - library 1
Copyright (c) 2002 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)
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment