aboutsummaryrefslogtreecommitdiff
path: root/externals/grill
diff options
context:
space:
mode:
authorThomas Grill <xovo@users.sourceforge.net>2003-01-07 04:38:10 +0000
committerThomas Grill <xovo@users.sourceforge.net>2003-01-07 04:38:10 +0000
commitb8510c87be3a74307f4ad6122d75a353d350b84c (patch)
tree3c95c81f6d239b3a892b362f624ac5290b91ef82 /externals/grill
parent0182bbff2871114a4e93cc97942da621491f0e02 (diff)
""
svn path=/trunk/; revision=326
Diffstat (limited to 'externals/grill')
-rw-r--r--externals/grill/deljoin/license.txt4
-rwxr-xr-xexternals/grill/deljoin/main.cpp2
-rw-r--r--externals/grill/delsplit/license.txt4
-rwxr-xr-xexternals/grill/delsplit/main.cpp2
-rw-r--r--externals/grill/fftease/src/burrow~.cpp89
-rw-r--r--externals/grill/flext/config-pd-linux.txt5
-rw-r--r--externals/grill/flext/makefile.pd-linux16
-rw-r--r--externals/grill/flext/readme.txt76
-rw-r--r--externals/grill/flext/source/flsupport.h16
-rw-r--r--externals/grill/vasp/license.txt4
-rwxr-xr-xexternals/grill/xsample/config-pd-darwin.txt2
-rw-r--r--externals/grill/xsample/xsample.dsp10
12 files changed, 116 insertions, 114 deletions
diff --git a/externals/grill/deljoin/license.txt b/externals/grill/deljoin/license.txt
index d9d5a895..b421a0a8 100644
--- a/externals/grill/deljoin/license.txt
+++ b/externals/grill/deljoin/license.txt
@@ -1,5 +1,5 @@
deljoin - join a list with delimiter
-Copyright (C) 2002 Thomas Grill
+Copyright (C) 2002-2003 Thomas Grill
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
@@ -28,7 +28,7 @@ This package uses the flext C++ layer - See its license text below:
--- flext ----------------------------------------------
flext - C++ layer for Max/MSP and pd (pure data) externals
-Copyright (C) 2001,2002 Thomas Grill
+Copyright (C) 2001-2003 Thomas Grill
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
diff --git a/externals/grill/deljoin/main.cpp b/externals/grill/deljoin/main.cpp
index a6357163..1b02842d 100755
--- a/externals/grill/deljoin/main.cpp
+++ b/externals/grill/deljoin/main.cpp
@@ -2,7 +2,7 @@
deljoin - join a list with delimiter
-Copyright (c) 2002 Thomas Grill (xovo@gmx.net)
+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.
diff --git a/externals/grill/delsplit/license.txt b/externals/grill/delsplit/license.txt
index 47ef13a0..2b7845ee 100644
--- a/externals/grill/delsplit/license.txt
+++ b/externals/grill/delsplit/license.txt
@@ -1,5 +1,5 @@
delsplit - split a delimited list-in-a-symbol
-Copyright (C) 2002 Thomas Grill
+Copyright (C) 2002-2003 Thomas Grill
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
@@ -28,7 +28,7 @@ This package uses the flext C++ layer - See its license text below:
--- flext ----------------------------------------------
flext - C++ layer for Max/MSP and pd (pure data) externals
-Copyright (C) 2001,2002 Thomas Grill
+Copyright (C) 2001-2003 Thomas Grill
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
diff --git a/externals/grill/delsplit/main.cpp b/externals/grill/delsplit/main.cpp
index c2e6945f..9880bf63 100755
--- a/externals/grill/delsplit/main.cpp
+++ b/externals/grill/delsplit/main.cpp
@@ -2,7 +2,7 @@
delsplit - split a delimited list-in-a-symbol
-Copyright (c) 2002 Thomas Grill (xovo@gmx.net)
+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.
diff --git a/externals/grill/fftease/src/burrow~.cpp b/externals/grill/fftease/src/burrow~.cpp
index 7fbc45b8..ffb6c90a 100644
--- a/externals/grill/fftease/src/burrow~.cpp
+++ b/externals/grill/fftease/src/burrow~.cpp
@@ -28,6 +28,7 @@ protected:
virtual V m_dsp(I n,S *const *in,S *const *out);
virtual V m_signal(I n,S *const *in,S *const *out);
+ I blsz;
BL _invert;
I _inCount;
I *_bitshuffle;
@@ -45,8 +46,8 @@ protected:
F *_trigland;
private:
- V Reset();
V Clear();
+ V Delete();
V ms_thresh(F v) { _threshold = (float) (pow( 10., ((_thresh_dB = v) * .05))); }
V ms_mult(F v) { _multiplier = (float) (pow( 10., ((_mult_dB = v) * .05))); }
@@ -74,7 +75,8 @@ V burrow::setup(t_classid c)
burrow::burrow(I argc,const t_atom *argv):
_thresh_dB(-30),_mult_dB(-18),
- _invert(false)
+ _invert(false),
+ blsz(0)
{
/* parse and set object's options given */
if(argc >= 1) {
@@ -93,24 +95,25 @@ burrow::burrow(I argc,const t_atom *argv):
if(CanbeBool(argv[2]))
_invert = GetABool(argv[2]);
else
- post("%s - Invert flags must be a boolean value - set to %i",thisName(),_invert?1:0);
+ post("%s - Invert flag must be a boolean value - set to %i",thisName(),_invert?1:0);
}
ms_thresh(_thresh_dB);
ms_mult(_mult_dB);
- Reset();
+ Clear();
- AddInSignal(2);
- AddOutSignal();
+ AddInSignal("Commands and original signal");
+ AddInSignal("Modulating signal");
+ AddOutSignal("Transformed signal");
}
burrow::~burrow()
{
- Clear();
+ Delete();
}
-V burrow::Reset()
+V burrow::Clear()
{
_bitshuffle = NULL;
_trigland = NULL;
@@ -122,7 +125,7 @@ V burrow::Reset()
_output = NULL;
}
-V burrow::Clear()
+V burrow::Delete()
{
if(_bitshuffle) delete[] _bitshuffle;
if(_trigland) delete[] _trigland;
@@ -142,31 +145,35 @@ V burrow::Clear()
V burrow::m_dsp(I n,S *const *in,S *const *out)
{
- Clear();
-
- /* preset the objects data */
const I _D = Blocksize();
- const I _N = _D* 4,_Nw = _N,_N2 = _N / 2,_Nw2 = _Nw / 2;
-
- _inCount = -_Nw;
-
- /* assign memory to the buffers */
- _bitshuffle = new I[_N*2];
- _trigland = new F[_N*2];
- _inputOne = new F[_Nw];
- _inputTwo = new F[_Nw];
- _Hwin = new F[_Nw];
- _Wanal = new F[_Nw];
- _Wsyn = new F[_Nw];
- _bufferOne = new F[_N];
- _bufferTwo = new F[_N];
- _channelOne = new F[_N+2];
- _channelTwo = new F[_N+2];
- _output = new F[_Nw];
-
- /* initialize pv-lib functions */
- init_rdft( _N, _bitshuffle, _trigland);
- makewindows( _Hwin, _Wanal, _Wsyn, _Nw, _N, _D, 0);
+ if(_D != blsz) {
+ blsz = _D;
+
+ Delete();
+
+ /* preset the objects data */
+ const I _N = _D*4,_Nw = _N,_N2 = _N/2,_Nw2 = _Nw/2;
+
+ _inCount = -_Nw;
+
+ /* assign memory to the buffers */
+ _bitshuffle = new I[_N*2];
+ _trigland = new F[_N*2];
+ _inputOne = new F[_Nw];
+ _inputTwo = new F[_Nw];
+ _Hwin = new F[_Nw];
+ _Wanal = new F[_Nw];
+ _Wsyn = new F[_Nw];
+ _bufferOne = new F[_N];
+ _bufferTwo = new F[_N];
+ _channelOne = new F[_N+2];
+ _channelTwo = new F[_N+2];
+ _output = new F[_Nw];
+
+ /* initialize pv-lib functions */
+ init_rdft( _N, _bitshuffle, _trigland);
+ makewindows( _Hwin, _Wanal, _Wsyn, _Nw, _N, _D, 0);
+ }
}
V burrow::m_signal(I n,S *const *in,S *const *out)
@@ -175,9 +182,8 @@ V burrow::m_signal(I n,S *const *in,S *const *out)
S *outOne = out[0];
/* declare working variables */
- I i, j, even, odd;
- const I _D = Blocksize();
- const I _N = _D* 4,_Nw = _N,_N2 = _N / 2,_Nw2 = _Nw / 2;
+ I i, j;
+ const I _D = blsz,_N = _D*4,_Nw = _N,_N2 = _N/2,_Nw2 = _Nw/2;
/* fill our retaining buffers */
_inCount += _D;
@@ -202,10 +208,9 @@ V burrow::m_signal(I n,S *const *in,S *const *out)
/* convert to polar coordinates from complex values */
for ( i = 0; i <= _N2; i++ ) {
+ const I even = i<<1,odd = even+1;
register F a,b;
- odd = ( even = i<<1 ) + 1;
-
a = ( i == _N2 ? _bufferOne[1] : _bufferOne[even] );
b = ( i == 0 || i == _N2 ? 0. : _bufferOne[odd] );
@@ -224,12 +229,12 @@ V burrow::m_signal(I n,S *const *in,S *const *out)
/* convert back to complex form, read for the inverse fft */
for ( i = 0; i <= _N2; i++ ) {
- odd = ( even = i<<1 ) + 1;
+ const I even = i<<1,odd = even+1;
- *(_bufferOne+even) = *(_channelOne+even) * cos( *(_channelOne+odd) );
+ _bufferOne[even] = _channelOne[even] * cos( _channelOne[odd] );
if ( i != _N2 )
- *(_bufferOne+odd) = -(*(_channelOne+even)) * sin( *(_channelOne+odd) );
+ _bufferOne[odd] = -_channelOne[even] * sin( _channelOne[odd] );
}
/* do an inverse fft */
@@ -247,8 +252,6 @@ V burrow::m_signal(I n,S *const *in,S *const *out)
_output[j] = _output[j+_D];
for (; j < _N; j++ )
_output[j] = 0.;
-
- /* restore state variables */
}
diff --git a/externals/grill/flext/config-pd-linux.txt b/externals/grill/flext/config-pd-linux.txt
index 018471f1..d5060e1b 100644
--- a/externals/grill/flext/config-pd-linux.txt
+++ b/externals/grill/flext/config-pd-linux.txt
@@ -25,5 +25,6 @@ TARGDIR=./pd-linux
# (leave blank to omit installation)
INSTDIR=/usr/local/lib/pd/flext
-
-
+# additional compiler flags
+UFLAGS= -mcpu=pentiumpro # gcc 2.95
+# UFLAGS= -mcpu=pentium3 -msse # gcc 3.2
diff --git a/externals/grill/flext/makefile.pd-linux b/externals/grill/flext/makefile.pd-linux
index c48d8466..6e1901bf 100644
--- a/externals/grill/flext/makefile.pd-linux
+++ b/externals/grill/flext/makefile.pd-linux
@@ -15,11 +15,17 @@ include $(CONFIG)
# compiler+linker stuff
INCLUDES=$(PDPATH) $(SNDOBJ) $(STK)
FLAGS=-DFLEXT_SYS=2
-CFLAGS=-O6 -fno-exceptions
-CFLAGS+=-mcpu=pentiumpro # gcc 2.95
-# CFLAGS+=-mcpu=pentium3 -msse # gcc 3.2
-CFLAGS_D=-mcpu=pentiumpro -g
-CFLAGS_T=-DFLEXT_THREADS
+
+# compiler flags for optimized build
+CFLAGS=$(UFLAGS) -O6 -fno-exceptions
+
+# compiler flags for debug build
+CFLAGS_D=$(UFLAGS) -g -fno-exceptions
+
+# additional flags for threading
+CFLAGS_T=-DFLEXT_THREADS
+
+# libraries
LIBS=
# ----------------------------------------------
diff --git a/externals/grill/flext/readme.txt b/externals/grill/flext/readme.txt
index 9eac2a1b..e95e51f7 100644
--- a/externals/grill/flext/readme.txt
+++ b/externals/grill/flext/readme.txt
@@ -11,38 +11,17 @@ Donations for further development of the package are highly appreciated.
----------------------------------------------------------------------------
-Package files:
-- readme.txt: this one
-- gpl.txt,license.txt: GPL license stuff
-- flext.h: main include file
-- flstdc.h: Basic definitions in classic C - some common vocabulary for the different platforms
-- flbase.h,flbase.cpp: C++ interface
-- flclass.h,flext.cpp: actual base classes for message (flext_base) and dsp (flext_dsp) processing
-- fldsp.h,fldsp.cpp: code for signal externals
-- flthr.h,flthr.cpp: code for threaded methods
-- flsupport.h,flsupport.cpp: various flext support functions and classes
-- flatom.cpp flatom_pr.cpp: code for functions dealing with lists of atoms
-- flutil.cpp: additional utility functions
-- flxlet.cpp: code for variable inlet/outlet stuff
-- flattr.cpp: code for attribute stuff
-- flinternals.h: internal definitions for flext library
-- flbuf.cpp: buffer object handling for base classes
-- fllib.cpp: code for handling external libraries in MaxMSP
-- fldefs.h: definitions for internal flext use
-- flcwmax*.h: trivial prefix headers for Max/MSP CodeWarrior projects
-- flmspbuffer.h: MaxMSP's inofficial buffer.h included here for conveniance
-
-> for PD you need the pd source code (which is most likely part of the distribution)
-> for Max/MSP you will also need the Max/MSP SDK (and for threading the Multiprocessing library)
-
-> if you choose to compile with SndObj support you will need the respective library
-> download from: http://www.may.ie/academic/music/musictec/SndObj/main.html
-
-> if you choose to compile with STK support you will need the respective package and build a library
-> download from: http://ccrma-www.stanford.edu/software/stk/
-> For linking it may preferable to use a library of all the STK objects.
-> Under linux you can create one from the STK directory with:
-> "g++ -c -pipe -I include -D __LINUX_OSS__ src/*.cpp && ar r libstk.a *.o && rm -f *.o"
+o for PD you need the pd source code (which is most likely part of the distribution)
+o for Max/MSP you will also need the Max/MSP SDK (and for threading the Multiprocessing library)
+
+o if you choose to compile with SndObj support you will need the respective library
+ download from: http://www.may.ie/academic/music/musictec/SndObj/main.html
+
+o if you choose to compile with STK support you will need the respective package and build a library
+ download from: http://ccrma-www.stanford.edu/software/stk/
+ For linking it may preferable to use a library of all the STK objects.
+ Under linux you can create one from the STK directory with:
+ "g++ -c -pipe -I include -D __LINUX_OSS__ src/*.cpp && ar r libstk.a *.o && rm -f *.o"
----------------------------------------------------------------------------
@@ -50,40 +29,47 @@ The package should at least compile (and is tested) with the following compilers
pd - Windows:
-------------
-For any of these compilers define "FLEXT_SYS=2".
-
o Microsoft Visual C++ 6: edit "config-pd-msvc.txt" & run "build-pd-msvc.bat"
o Borland C++ 5.5 (free): edit "config-pd-bcc.txt" & run "build-pd-bcc.bat"
o Cygwin: edit "config-pd-cygwin.txt" & run "sh build-pd-cygwin.sh"
+ additional settings (e.g. target processor, compiler flags) can be made in makefile.pd-cygwin
+
+With your project using flext, be sure to define "FLEXT_SYS=2".
+
pd - linux:
-----------
-Be sure to define "FLEXT_SYS=2".
-
o GCC: edit "config-pd-linux.txt" & run "sh build-pd-linux.sh"
+ additional settings (e.g. target processor, compiler flags) can be made in makefile.pd-linux
+
+With your project using flext, be sure to define "FLEXT_SYS=2".
+
pd - MacOSX:
-----------
-Be sure to define "FLEXT_SYS=2".
-
o GCC: edit "config-pd-darwin.txt" & run "sh build-pd-darwin.sh"
+ additional settings (e.g. target processor, compiler flags) can be made in makefile.pd-darwin
+
+With your project using flext, be sure to define "FLEXT_SYS=2".
+
Max/MSP - MacOS 9:
------------------
-Be sure to define "FLEXT_SYS=1" - alternatively use the prefix file "flcwmax.h"
-
o Metrowerks CodeWarrior V6: edit & use the "flext.cw" project file
You must have the following "Source Trees" defined:
"flext" - Pointing to the flext main directory
"Cycling74" - Pointing to the Cycling 74 SDK
+
+With your project using flext, be sure to define "FLEXT_SYS=1"
+- alternatively use the prefix file "flcwmax.h"
+
+
Max/MSP - MacOSX:
------------------
-Be sure to define "FLEXT_SYS=1" - alternatively use the prefix file "flcwmax-x.h" or "flcwmax-x-thr.h" for threading support.
-
o Metrowerks CodeWarrior V6: edit & use the "flext.cw" project file
You must have the following "Source Trees" defined:
@@ -92,6 +78,11 @@ You must have the following "Source Trees" defined:
"Cycling74 OSX" - Pointing to the Cycling 74 SDK for xmax
"MP SDK" - Pointing to the Multiprocessing SDK (for threading support)
+
+With your project using flext, be sure to define "FLEXT_SYS=1"
+- alternatively use the prefix file "flcwmax-x.h" or "flcwmax-x-thr.h" for threading support.
+
+
----------------------------------------------------------------------------
Goals/features of the package:
@@ -118,6 +109,7 @@ Version history:
0.4.2:
- moved CLASS_MAINSIGNALIN to class scope (fixed "float method overwritten" warning)
- unix makefiles: CXX should be commented out if standard (to enable environmental settings)
+- introduced default returns for the different flext::GetA* functions
0.4.1:
- full port for Max@OSX
diff --git a/externals/grill/flext/source/flsupport.h b/externals/grill/flext/source/flsupport.h
index 060da5d9..0c0c62c9 100644
--- a/externals/grill/flext/source/flsupport.h
+++ b/externals/grill/flext/source/flsupport.h
@@ -208,7 +208,7 @@ public:
//! Get symbol string
static const char *GetString(const t_symbol *s) { return s->s_name; }
//! Check for symbol and get string
- static const char *GetAString(const t_symbol *s) { return s?s->s_name:""; }
+ static const char *GetAString(const t_symbol *s,const char *def = "") { return s?GetString(s):def; }
// --- atom stuff ----------------------------------------
@@ -246,7 +246,7 @@ public:
static void SetSymbol(t_atom &a,const t_symbol *s) { a.a_type = A_SYMBOL; a.a_w.w_sym = const_cast<t_symbol *>(s); }
#endif
//! Check for a symbol and get its value
- static t_symbol *GetASymbol(const t_atom &a) { return IsSymbol(a)?GetSymbol(a):NULL; } // NULL or empty symbol?
+ static t_symbol *GetASymbol(const t_atom &a,t_symbol *def = NULL) { return IsSymbol(a)?GetSymbol(a):def; } // NULL or empty symbol?
//! Check whether the atom is a string
static bool IsString(const t_atom &a) { return IsSymbol(a); }
@@ -269,14 +269,14 @@ public:
#if FLEXT_SYS == FLEXT_SYS_PD
//! Check for a float and get its value
- static float GetAFloat(const t_atom &a) { return IsFloat(a)?GetFloat(a):0; }
+ static float GetAFloat(const t_atom &a,float def = 0) { return IsFloat(a)?GetFloat(a):def; }
//! Check whether the atom is an integer
static bool IsInt(const t_atom &) { return false; }
//! Access the integer value (without type check)
static int GetInt(const t_atom &a) { return (int)GetFloat(a); }
//! Check for an integer and get its value
- static int GetAInt(const t_atom &a) { return (int)GetAFloat(a); }
+ static int GetAInt(const t_atom &a,int def = 0) { return (int)GetAFloat(a,(float)def); }
//! Set the atom to represent a integer (depending on the system)
static void SetInt(t_atom &a,int v) { a.a_type = A_FLOAT; a.a_w.w_float = (float)v; }
@@ -287,20 +287,20 @@ public:
//! Access the pointer value (without type check)
static t_gpointer *GetPointer(const t_atom &a) { return a.a_w.w_gpointer; }
//! Check for a pointer and get its value
- static void *GetAPointer(const t_atom &a) { return IsPointer(a)?GetPointer(a):NULL; }
+ static void *GetAPointer(const t_atom &a,void *def = NULL) { return IsPointer(a)?GetPointer(a):def; }
//! Set the atom to represent a pointer
static void SetPointer(t_atom &a,void *p) { a.a_type = A_POINTER; a.a_w.w_gpointer = (t_gpointer *)p; }
#elif FLEXT_SYS == FLEXT_SYS_MAX
//! Check for a float and get its value
- static float GetAFloat(const t_atom &a) { return IsFloat(a)?GetFloat(a):(IsInt(a)?GetInt(a):0); }
+ static float GetAFloat(const t_atom &a,float def = 0) { return IsFloat(a)?GetFloat(a):(IsInt(a)?GetInt(a):def); }
//! Check whether the atom is an int
static bool IsInt(const t_atom &a) { return a.a_type == A_INT; }
//! Access the integer value (without type check)
static int GetInt(const t_atom &a) { return a.a_w.w_long; }
//! Check for an integer and get its value
- static int GetAInt(const t_atom &a) { return IsInt(a)?GetInt(a):(IsFloat(a)?(int)GetFloat(a):0); }
+ static int GetAInt(const t_atom &a,int def = 0) { return IsInt(a)?GetInt(a):(IsFloat(a)?(int)GetFloat(a):def); }
//! Set the atom to represent an integer
static void SetInt(t_atom &a,int v) { a.a_type = A_INT; a.a_w.w_long = v; }
@@ -309,7 +309,7 @@ public:
//! Check whether the atom can be a pointer
static bool CanbePointer(const t_atom &a) { return IsInt(a); }
//! Check for a pointer and get its value
- static void *GetAPointer(const t_atom &a) { return IsInt(a)?(void *)GetInt(a):NULL; }
+ static void *GetAPointer(const t_atom &a,void *def = NULL) { return IsInt(a)?(void *)GetInt(a):def; }
//! Set the atom to represent a pointer
static void SetPointer(t_atom &a,void *p) { SetInt(a,(int)p); }
#else
diff --git a/externals/grill/vasp/license.txt b/externals/grill/vasp/license.txt
index 24063b2c..fecc0f5f 100644
--- a/externals/grill/vasp/license.txt
+++ b/externals/grill/vasp/license.txt
@@ -1,6 +1,6 @@
VASP modular - vector assembling signal processor
Object library for Max/MSP and PD
-Copyright (C) 2002 Thomas Grill
+Copyright (C) 2002-2003 Thomas Grill
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
@@ -40,7 +40,7 @@ VASP modular uses some code - see the license texts below.
--- flext ----------------------------------------------
flext - C++ layer for Max/MSP and pd (pure data) externals
-Copyright (C) 2001,2002 Thomas Grill
+Copyright (C) 2001-2003 Thomas Grill
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
diff --git a/externals/grill/xsample/config-pd-darwin.txt b/externals/grill/xsample/config-pd-darwin.txt
index 005a3975..7fa15a68 100755
--- a/externals/grill/xsample/config-pd-darwin.txt
+++ b/externals/grill/xsample/config-pd-darwin.txt
@@ -1,5 +1,5 @@
# xsample - extended sample objects for Max/MSP and pd (pure data)
-# Copyright (c) 2001,2002 Thomas Grill (xovo@gmx.net)
+# Copyright (c) 2001-2003 Thomas Grill (xovo@gmx.net)
#
# your c++ compiler (if not g++)
diff --git a/externals/grill/xsample/xsample.dsp b/externals/grill/xsample/xsample.dsp
index 735b77c5..ec5bffb5 100644
--- a/externals/grill/xsample/xsample.dsp
+++ b/externals/grill/xsample/xsample.dsp
@@ -38,8 +38,8 @@ RSC=rc.exe
# PROP BASE Target_Dir ""
# PROP Use_MFC 0
# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "..\msvc"
-# PROP Intermediate_Dir "..\msvc"
+# PROP Output_Dir "pd-msvc\r"
+# PROP Intermediate_Dir "pd-msvc\r"
# 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" /D "XSAMPLE_EXPORTS" /YX /FD /c
@@ -53,7 +53,7 @@ BSC32=bscmake.exe
# ADD BSC32 /nologo
LINK32=link.exe
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386
-# ADD LINK32 kernel32.lib user32.lib pd.lib flext-pdwin.lib /nologo /dll /machine:I386 /libpath:"c:\programme\audio\pd\bin" /libpath:"..\flext\pd-msvc\\"
+# ADD LINK32 kernel32.lib user32.lib pd.lib flext-pdwin.lib /nologo /dll /machine:I386 /out:"pd-msvc\xsample.dll" /libpath:"c:\programme\audio\pd\bin" /libpath:"..\flext\pd-msvc\\"
!ELSEIF "$(CFG)" == "xsample - Win32 Debug"
@@ -64,8 +64,8 @@ LINK32=link.exe
# PROP BASE Target_Dir ""
# PROP Use_MFC 0
# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "..\msvc-debug"
-# PROP Intermediate_Dir "..\msvc-debug"
+# PROP Output_Dir "pd-msvc\d"
+# PROP Intermediate_Dir "pd-msvc\d"
# 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" /D "XSAMPLE_EXPORTS" /YX /FD /GZ /c