summaryrefslogtreecommitdiff
path: root/rotord/src/rotor.h
diff options
context:
space:
mode:
authorTim Redfern <tim@eclectronics.org>2013-09-10 12:56:08 +0100
committerTim Redfern <tim@eclectronics.org>2013-09-10 12:56:08 +0100
commit959b4591baa048b692e38c39c8db89317023ccea (patch)
treef819b7b5ecc614bbe5c4e40fd573b33b55fb5edc /rotord/src/rotor.h
parent1ba984e17672dd214e4e239c6806ee2e739432e8 (diff)
cvimage release
Diffstat (limited to 'rotord/src/rotor.h')
-rw-r--r--rotord/src/rotor.h55
1 files changed, 15 insertions, 40 deletions
diff --git a/rotord/src/rotor.h b/rotord/src/rotor.h
index 7a26a5b..fbefa66 100644
--- a/rotord/src/rotor.h
+++ b/rotord/src/rotor.h
@@ -255,17 +255,6 @@ namespace Rotor {
float image_time; //? could be used to detect image reuse?
};
- class Audio_processor: public Signal_node {
- public:
- virtual Audio_processor(){};
- virtual ~Audio_processor(){};
- virtual int process_frame(uint8_t *data,int samples)=0;
- virtual bool init(int _channels,int _bits,int _samples,int _rate)=0;
- virtual void cleanup()=0;
- virtual void print_summary(){};
- virtual string get_features(){};
- int channels,bits,samples,rate;
- };
class LUT {
LUT(){
lut=nullptr;
@@ -289,6 +278,17 @@ namespace Rotor {
protected:
unsigned char *lut;
};
+ class Audio_processor: public Signal_node {
+ public:
+ virtual Audio_processor(){};
+ virtual ~Audio_processor(){};
+ virtual int process_frame(uint8_t *data,int samples)=0;
+ virtual bool init(int _channels,int _bits,int _samples,int _rate)=0;
+ virtual void cleanup()=0;
+ virtual void print_summary(){};
+ virtual string get_features(){};
+ int channels,bits,samples,rate;
+ };
//actual nodes-------------------------------------------------
class Time: public Signal_node {
public:
@@ -605,10 +605,11 @@ namespace Rotor {
image=image.add_wrap(*in2);
break;
case BLEND_blend: //has to be last because of initialser of *in? go figure
+ //problem here with leak
image*=(1.0f-parameters["amount"]->value);
- Image in=(*in2);
- in*=parameters["amount"]->value;
- image+=in;
+ Image *in=(*in2)*parameters["amount"]->value;
+ image+=(*in);
+ delete in;
break;
}
return &image;
@@ -1121,32 +1122,6 @@ namespace Rotor {
private:
unordered_map<string,Node*> type_map;
};
- class Audio_thumbnailer: public Audio_processor {
- public:
- Audio_thumbnailer(){
- height=128;
- width=512; //fit
- data=new uint8_t[height*width];
- memset(data,0,height*width);
- vectordata =new float[width];
- };
- ~Audio_thumbnailer(){
- delete[] data;
- delete[] vectordata;
- };
- Audio_thumbnailer* clone(map<string,string> &_settings) { return new Audio_thumbnailer();};
- bool init(int _channels,int _bits,int _samples,int _rate);
- void cleanup(){};
- int process_frame(uint8_t *data,int samples_in_frame);
- string print();
- void print_vector(xmlIO XML);
- uint8_t *data;
- float *vectordata;
- int height,width,samples_per_column;
- int column,out_sample,sample,samples;
- int offset;
- double scale,accum;
- };
}
#endif