annotate src/DynamicVector.h @ 2:5581023e0de4

Added separate CannamMidiFileLoader class to handle the loading in.
author Andrew N Robertson <andrew.robertson@eecs.qmul.ac.uk>
date Fri, 19 Aug 2011 01:26:40 +0100
parents 1a32ce016bb9
children 4a8e6a6cd224
rev   line source
andrew@0 1 /*
andrew@0 2 * DynamicVector.h
andrew@0 3 * midiCannamReader
andrew@0 4 *
andrew@0 5 * Created by Andrew on 18/07/2011.
andrew@0 6 * Copyright 2011 QMUL. All rights reserved.
andrew@0 7 *
andrew@0 8 */
andrew@0 9
andrew@0 10 //OPTIMIZE CONSTRAINED VECTOR
andrew@0 11
andrew@0 12 #include "stdlib.h"
andrew@0 13 #include "ofMain.h"
andrew@0 14
andrew@0 15 #ifndef _DYNAMIC_VECTOR
andrew@0 16 #define _DYNAMIC_VECTOR
andrew@0 17
andrew@0 18 class DynamicVector{
andrew@0 19 public:
andrew@0 20 DynamicVector();
andrew@0 21
andrew@0 22 void createVector(int len);
andrew@0 23 void renormalise();
andrew@0 24 void translateDistribution(int translationIndex);
andrew@0 25 typedef std::vector<double> DoubleVector;
andrew@0 26 DoubleVector array;
andrew@0 27 double getMaximum();
andrew@2 28 double getIntegratedEstimate();
andrew@2 29
andrew@0 30 void drawVector(const int& minIndex, const int& maxIndex);
andrew@0 31 void drawConstrainedVector(const int& minIndex, const int& maxIndex, const int& minScreenIndex, const int& maxScreenIndex);
andrew@0 32
andrew@0 33 void addConstant(double value);
andrew@0 34 void addGaussianShape(double mean, double stddev, double factor);
andrew@2 35 void addTriangularShape(double mean, double width, double factor);
andrew@0 36 void addToIndex(int index, double constant);
andrew@0 37
andrew@0 38 void doProduct(DynamicVector& arrayOne, DynamicVector& arrayTwo);
andrew@0 39
andrew@0 40 double getIndexInRealTerms(const int& index);
andrew@0 41 double getRealTermsAsIndex(double value);
andrew@1 42 double getValueAtMillis(const double& millis);
andrew@0 43
andrew@0 44 void printArray();
andrew@0 45 void zero();
andrew@0 46
andrew@0 47 void copyFromDynamicVector(const DynamicVector& dynamicVec);
andrew@0 48
andrew@0 49 //variables
andrew@0 50 int length, arraySize;
andrew@0 51 double maximumValue;
andrew@0 52 int MAPestimate;
andrew@0 53
andrew@0 54 double offset;
andrew@0 55 double scalar;//each array point is this much of the quantity
andrew@0 56 //i.e. array[index] contributes to (offset + scalar*index) in real terms
andrew@0 57
andrew@0 58 };
andrew@0 59
andrew@0 60 #endif