summaryrefslogtreecommitdiff
path: root/rotord/src/rotor.h
diff options
context:
space:
mode:
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 ℑ
@@ -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