aboutsummaryrefslogtreecommitdiff
path: root/externals/grill/flext/source/flmspbuffer.h
diff options
context:
space:
mode:
authorThomas Grill <xovo@users.sourceforge.net>2002-10-22 23:07:10 +0000
committerThomas Grill <xovo@users.sourceforge.net>2002-10-22 23:07:10 +0000
commitd62e56f4df9594f72ce501f5e19c974fd18e7295 (patch)
tree635d4af7a7c2425098e60ca277086ec436b617f7 /externals/grill/flext/source/flmspbuffer.h
parentc6f373c281ecb5cd1f4aa7a070e15cc61ab8793c (diff)
This commit was generated by cvs2svn to compensate for changes in r186,
which included commits to RCS files with non-trunk default branches. svn path=/trunk/; revision=187
Diffstat (limited to 'externals/grill/flext/source/flmspbuffer.h')
-rwxr-xr-xexternals/grill/flext/source/flmspbuffer.h83
1 files changed, 83 insertions, 0 deletions
diff --git a/externals/grill/flext/source/flmspbuffer.h b/externals/grill/flext/source/flmspbuffer.h
new file mode 100755
index 00000000..4a8ffe69
--- /dev/null
+++ b/externals/grill/flext/source/flmspbuffer.h
@@ -0,0 +1,83 @@
+/*
+
+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 flmspbuffer.h
+ \brief Definition of the Max/MSP buffer structure
+ \internal
+
+ This file comes from David Zicarellis inofficial package index.sit
+ The latter is not easily found so i included the original file buffer.h with flext
+*/
+
+#if defined(MAXMSP) && !defined(__FLEXT_MSPBUFFER_H)
+#define __FLEXT_MSPBUFFER_H
+
+enum {
+ MAXCHAN = 4
+};
+
+enum {
+ bi_basefreq = 0,
+ bi_detune,
+ bi_lowfreq,
+ bi_hifreq,
+ bi_lowvel,
+ bi_hivel,
+ bi_gain,
+ bi_numparams
+};
+
+typedef struct _buffer
+{
+ t_object b_obj; // doesn't have any signals so it doesn't need to be pxobject
+ long b_valid; // flag is off during read replacement or editing operation
+ float *b_samples; // stored with interleaved channels if multi-channel
+ long b_frames; // number of sample frames (each one is sizeof(float) * b_nchans bytes)
+ long b_nchans; // number of channels
+ long b_size; // size of buffer in floats
+ float b_sr; // sampling rate of the buffer
+ float b_1oversr; // 1 / sr
+ float b_msr; // sr * .001
+ // Mac-specific stuff
+ float *b_memory; // pointer to where memory starts (initial padding for interp)
+ t_symbol *b_name;
+ short b_vol;
+ short b_space;
+ // looping info (from AIFF file)
+ long b_susloopstart; // in samples
+ long b_susloopend; // in samples
+ long b_relloopstart; // in samples
+ long b_relloopend; // in samples
+ // instrument info (from AIFF file)
+ short b_inst[bi_numparams];
+ // window stuff
+ void *b_wind;
+ double b_pixperfr;
+ double b_frperpix;
+ long b_imagesize;
+ Point b_scroll;
+ long b_scrollscale;
+ long b_selbegin[MAXCHAN];
+ long b_selend[MAXCHAN];
+ long b_zoom;
+ long b_zim[11];
+ void *b_mouseout;
+ long b_format; // 'AIFF' or 'Sd2f'
+ t_symbol *b_filename; // last file read (not written) for readagain message
+ long b_oldnchans; // used for resizing window in case of # of channels change
+ void *b_doneout;
+ long b_outputbytes; // number of bytes used for output sample (1-4)
+ long b_modtime; // last modified time ("dirty" method)
+} t_buffer;
+
+#define BUFWIND(x) ((t_wind *)(x->b_wind))
+
+
+#endif