summaryrefslogtreecommitdiff
path: root/rotord/rotor.h
diff options
context:
space:
mode:
Diffstat (limited to 'rotord/rotor.h')
-rwxr-xr-xrotord/rotor.h25
1 files changed, 20 insertions, 5 deletions
diff --git a/rotord/rotor.h b/rotord/rotor.h
index 21161a2..18b1f19 100755
--- a/rotord/rotor.h
+++ b/rotord/rotor.h
@@ -139,7 +139,7 @@ namespace Rotor {
};
class Node{
- public:;
+ public:
virtual Node* clone(map<string,string> &_settings)=0;
UUID uid; //every usable node has a UUID
int id;
@@ -299,6 +299,20 @@ namespace Rotor {
float framerate;
float duration;
};
+ class base_audio_processor {
+ public:
+ base_audio_processor();
+ base_audio_processor(int _channels,int _bits);
+ virtual bool process_chunk(char *data,int num_samples);
+ int channels,bits;
+ };
+ class audio_thumbnailer: public base_audio_processor {
+ public:
+ audio_thumbnailer(int _channels,int _bits) {
+ channels=_channels;
+ bits=_bits;
+ };
+ };
class Render_context: public Poco::Task { //Poco task object
//manages a 'patchbay'
//high level interfaces for the wizard
@@ -314,15 +328,16 @@ namespace Rotor {
void cancel(); //interrupt locking process
int make_preview(int nodeID, float time); //starts a frame preview - returns status code - how to retrieve?
int load_graph(Poco::UUID uid);
- bool load_graph(string &graph_filename); //should eventually be as above
+ bool load_graph(string &graph_filename); //should eventually be as above
UUID save_graph(); //returns UUID of saved graph
- bool load_audio(string &filename);
+ bool load_audio(string &filename,vector<base_audio_processor*> processors);
Render_requirements get_requirements();
- int load_video(int num,string &filename); //can be performance or clip
+ int load_video(int num,string &filename); //can be performance or clip
private:
int state;
- float progress; //for a locking process: audio analysis or rendering
+ float progress; //for a locking process: audio analysis or rendering
+ //thread only does one thing at once
std::deque<int> work_queue;
Poco::Mutex mutex; //lock for access from parent thread
std::string audio_filename;