Nsound  0.9.4
BufferSelection.h
Go to the documentation of this file.
1 //-----------------------------------------------------------------------------
2 //
3 // $Id: BufferSelection.h 912 2015-07-26 00:50:29Z weegreenblobbie $
4 //
5 // Nsound is a C++ library and Python module for audio synthesis featuring
6 // dynamic digital filters. Nsound lets you easily shape waveforms and write
7 // to disk or plot them. Nsound aims to be as powerful as Csound but easy to
8 // use.
9 //
10 // Copyright (c) 2009-Present Nick Hilton
11 //
12 // weegreenblobbie_yahoo_com (replace '_' with '@' and '.')
13 //
14 //-----------------------------------------------------------------------------
15 
16 //-----------------------------------------------------------------------------
17 //
18 // This program is free software; you can redistribute it and/or modify
19 // it under the terms of the GNU General Public License as published by
20 // the Free Software Foundation; either version 2 of the License, or
21 // (at your option) any later version.
22 //
23 // This program is distributed in the hope that it will be useful,
24 // but WITHOUT ANY WARRANTY; without even the implied warranty of
25 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
26 // GNU Library General Public License for more details.
27 //
28 // You should have received a copy of the GNU General Public License
29 // along with this program; if not, write to the Free Software
30 // Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
31 //
32 //-----------------------------------------------------------------------------
33 #ifndef _NSOUND_BUFFER_SELECTION_H_
34 #define _NSOUND_BUFFER_SELECTION_H_
35 
36 #include <Nsound/Nsound.h>
37 
38 #include <vector>
39 
40 namespace Nsound
41 {
42 
43 // Forward
44 class Buffer;
45 
46 typedef std::vector< boolean > BooleanVector;
47 
48 //-----------------------------------------------------------------------------
50 //
70 {
71 
72 public:
73 
74  BufferSelection(Buffer & buffer, const BooleanVector & bv);
75  BufferSelection(const BufferSelection & copy);
78 
79  BufferSelection & operator+=(const float64 & rhs);
80  BufferSelection & operator-=(const float64 & rhs);
81  BufferSelection & operator*=(const float64 & rhs);
82  BufferSelection & operator/=(const float64 & rhs);
83  BufferSelection & operator^=(const float64 & rhs);
84  BufferSelection & operator=(const float64 & rhs);
85 
86  // For SWIG
87  void set(const float64 & rhs){this->operator=(rhs);};
88 
89 protected:
90 
93 };
94 
95 };
96 
97 #endif
BufferSelection(Buffer &buffer, const BooleanVector &bv)
BufferSelection & operator^=(const float64 &rhs)
void set(const float64 &rhs)
double float64
Definition: Nsound.h:146
BufferSelection & operator=(const BufferSelection &rhs)
BufferSelection & operator/=(const float64 &rhs)
BufferSelection & operator+=(const float64 &rhs)
A Buffer for storing audio samples.
Definition: Buffer.h:60
std::vector< boolean > BooleanVector
A helper class for advance operators.
BufferSelection & operator-=(const float64 &rhs)
BufferSelection & operator*=(const float64 &rhs)