diff options
Diffstat (limited to 'externals/grill/flext/source/flatom_part.cpp')
-rwxr-xr-x | externals/grill/flext/source/flatom_part.cpp | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/externals/grill/flext/source/flatom_part.cpp b/externals/grill/flext/source/flatom_part.cpp new file mode 100755 index 00000000..b736666a --- /dev/null +++ b/externals/grill/flext/source/flatom_part.cpp @@ -0,0 +1,37 @@ +/* + +flext - C++ layer for Max/MSP and pd (pure data) externals + +Copyright (c) 2001,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. + +*/ + +/*! \file flatom_part.cpp + \brief Definitions for handling the t_atom type and lists thereof. +*/ + +#include "flext.h" + +int flext::AtomList::Get(t_atom *argv,int mxsz) const +{ + int argc = Count(); + if(mxsz >= 0 && argc > mxsz) argc = mxsz; + + for(int i = 0; i < argc; ++i) SetAtom(argv[i],lst[i]); + + return argc; +} + + +flext::AtomList flext::AtomList::GetPart(int offs,int len) const +{ + if(offs+len > Count()) { + len = Count()-offs; + if(len < 0) len = 0; + } + + return AtomList(len,Atoms()+offs); +} + |