Nsound.h

Go to the documentation of this file.
00001 
00002 //
00003 //  $Id: Nsound.h.in 713 2012-04-09 01:10:14Z weegreenblobbie $
00004 //
00005 //  Nsound is a C++ library and Python module for audio synthesis featuring
00006 //  dynamic digital filters. Nsound lets you easily shape waveforms and write
00007 //  to disk or plot them. Nsound aims to be as powerful as Csound but easy to
00008 //  use.
00009 //
00010 //  Copyright (c) 2004, 2005 Nick Hilton
00011 //
00012 //  weegreenblobbie_at_yahoo_com
00013 //
00015 
00017 //
00018 //  This program is free software; you can redistribute it and/or modify
00019 //  it under the terms of the GNU General Public License as published by
00020 //  the Free Software Foundation; either version 2 of the License, or
00021 //  (at your option) any later version.
00022 //
00023 //  This program is distributed in the hope that it will be useful,
00024 //  but WITHOUT ANY WARRANTY; without even the implied warranty of
00025 //  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00026 //  GNU Library General Public License for more details.
00027 //
00028 //  You should have received a copy of the GNU General Public License
00029 //  along with this program; if not, write to the Free Software
00030 //  Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
00031 //
00033 #ifndef _NSOUND_H_
00034 #define _NSOUND_H_
00035 
00036 #define PACKAGE_NAME "nsound"
00037 
00038 #define NSOUND_VERSION_A 0
00039 #define NSOUND_VERSION_B 8
00040 #define NSOUND_VERSION_C 2
00041 
00042 #define PACKAGE_RELEASE "nsound-0.8.2"
00043 
00044 namespace Nsound
00045 {
00046 
00047 // setup boolean type
00048 typedef bool boolean;
00049 
00050 // Signed types
00051 
00052 typedef signed char  byte;
00053 typedef signed char  int8;
00054 typedef signed short int16;
00055 typedef signed int   int32;
00056 typedef signed long long int64;
00057 
00058 typedef float float32;
00059 typedef double float64;
00060 
00061 // unsigned types
00062 
00063 typedef unsigned char ubyte;
00064 typedef unsigned char uint8;
00065 typedef unsigned short uint16;
00066 typedef unsigned int uint32;
00067 typedef unsigned long long uint64;
00068 
00069 // Always declare these 64 bit types for use with Wavefiles
00070 typedef signed long long raw_int64;
00071 typedef unsigned long long raw_uint64;
00072 typedef double raw_float64;
00073 
00074 };
00075 
00076 // endianess
00077 #define NSOUND_LITTLE_ENDIAN
00078 
00079 // Platform
00080 #define NSOUND_PLATFORM_OS_LINUX
00081 
00082 // 64 bit floats enabled?
00083 #define NSOUND_64_BIT
00084 
00085 // Sample size
00086 #define NSOUND_SAMPLE_SIZE sizeof(float64)
00087 
00088 // M_PI macro
00089 // M_PI is defined in math.h
00090 
00091 // Define if we have Python module pylab (matplotlib) C API
00092 #define NSOUND_C_PYLAB
00093 
00094 // Define if we have libao available
00095 #define NSOUND_LIBPORTAUDIO
00096 
00097 // Define if we have libao available
00098 #define NSOUND_LIBAO
00099 
00100 // Ensure Python.h is included before anything else.
00101 #ifdef NSOUND_C_PYLAB
00102     #include <Python.h>
00103 #endif
00104 
00105 // OpenMP usage
00106 #define NSOUND_OPENMP
00107 
00108 #ifdef NSOUND_OPENMP
00109     #include <omp.h>
00110 #endif
00111 
00112 // Cuda usage
00113 #undef NSOUND_CUDA // disabled
00114 
00115 #ifdef NSOUND_CUDA
00116     #include <cuda.h>
00117 #endif
00118 
00120 // Macros
00121 
00122 #define LINE_PREFIX __FILE__ << ":" << __LINE__ << ": "
00123 #define ERROR_HEADER __FILE__ << ":" << __LINE__ << ": ***ERROR: "
00124 #define WARNING_HEADER  __FILE__ << ":" << __LINE__ << ": ***WARNING: "
00125 
00126 
00127 #endif
Generated on Sun Apr 15 20:10:05 2012 for nsound by  doxygen 1.6.3