summaryrefslogtreecommitdiff
path: root/rotord/src/rotor.h
diff options
context:
space:
mode:
authorTim Redfern <tim@eclectronics.org>2013-08-20 17:26:56 +0100
committerTim Redfern <tim@eclectronics.org>2013-08-20 17:26:56 +0100
commit18b3b3a7f81e03ac7833eb8b99ea9c59274f872a (patch)
tree129c0ff46750178bf840482c08464baea71192dc /rotord/src/rotor.h
parent1ba9ed9c71f11b638fb829ed9ff5946df09bab35 (diff)
fixed signal_colour, creating audio visualisation framework
Diffstat (limited to 'rotord/src/rotor.h')
-rwxr-xr-xrotord/src/rotor.h27
1 files changed, 19 insertions, 8 deletions
diff --git a/rotord/src/rotor.h b/rotord/src/rotor.h
index fc557cd..84a42e3 100755
--- a/rotord/src/rotor.h
+++ b/rotord/src/rotor.h
@@ -28,13 +28,24 @@ namespace Rotor {
class Image_node;
class Parameter;
+ class Audio_frame{
+ public:
+ Audio_frame(uint16_t *_samples,int _channels,int _numsamples){
+ samples=_samples;
+ channels=_channels;
+ numsamples=_numsamples;
+ }
+ uint16_t *samples;
+ int channels,numsamples;
+ };
class Time_spec{
public:
Time_spec(){};
- Time_spec(float _time,float _framerate,float _duration){ time=_time; framerate=_framerate; duration=_duration;};
+ Time_spec(float _time,float _framerate,float _duration,Audio_frame *_audio=nullptr){ time=_time; framerate=_framerate; duration=_duration; audio=_audio;};
float time; //num/denom ?
float framerate;
float duration;
+ Audio_frame *audio;
Time_spec lastframe() const{
return Time_spec(time-(1.0f/framerate),framerate,duration);
}
@@ -44,10 +55,10 @@ namespace Rotor {
};
class Frame_spec: public Time_spec{
public:
- Frame_spec(float _time,float _framerate,float _duration,int _w,int _h)
- { time=_time; framerate=_framerate; duration=_duration; w=_w; h=_h;};
- Frame_spec(int _frame,float _framerate,float _duration,int _w,int _h)
- { time=((float)_frame)/_framerate; framerate=_framerate; duration=_duration; w=_w; h=_h;};
+ Frame_spec(float _time,float _framerate,float _duration,int _w,int _h,Audio_frame *_audio=nullptr)
+ { time=_time; framerate=_framerate; duration=_duration; w=_w; h=_h;audio=_audio;};
+ Frame_spec(int _frame,float _framerate,float _duration,int _w,int _h,Audio_frame *_audio=nullptr)
+ { time=((float)_frame)/_framerate; framerate=_framerate; duration=_duration; w=_w; h=_h;audio=_audio;};
int h,w;
Frame_spec lastframe(){
return Frame_spec(time-(1.0f/framerate),framerate,duration,w,h);
@@ -381,14 +392,14 @@ namespace Rotor {
public:
Signal_colour(){
create_signal_input("Selector","Selector input");
- create_attribute("colours","palette list of web colours","Colours","000000");
+ create_attribute("palette","palette list of web colours","Colour palette","000000");
title="Signal colour";
description="Cycles through a palette of background colours according to selector signal";
};
Signal_colour(map<string,string> &settings):Signal_colour() {
base_settings(settings);
- for (int i=0;i<attributes["colours"]->value.size()/6;i++){
- palette.push_back(Colour(attributes["colours"]->value.substr(i*6,6)));
+ for (int i=0;i<attributes["palette"]->value.size()/6;i++){
+ palette.push_back(Colour(attributes["palette"]->value.substr(i*6,6)));
}
prevcol=-1;
};