summaryrefslogtreecommitdiff
path: root/rotord/rotor.cpp
diff options
context:
space:
mode:
authorTim Redfern <tim@herge.(none)>2013-05-15 15:54:27 +0100
committerTim Redfern <tim@herge.(none)>2013-05-15 15:54:27 +0100
commit06848f0cc48de1d7fa0f06636adeb1d30faf10de (patch)
tree61bde32b711e81e421cec9788385e69756e1d989 /rotord/rotor.cpp
parent92b9ab519a4e7eb0a0d365229835b044d431566c (diff)
all ready for new sins render
Diffstat (limited to 'rotord/rotor.cpp')
-rwxr-xr-xrotord/rotor.cpp15
1 files changed, 10 insertions, 5 deletions
diff --git a/rotord/rotor.cpp b/rotord/rotor.cpp
index 59a1697..52c76df 100755
--- a/rotord/rotor.cpp
+++ b/rotord/rotor.cpp
@@ -12,7 +12,7 @@ Node_factory::Node_factory(){
add_type("signal_output",new Signal_output());
add_type("testcard",new Testcard());
add_type("video_output",new Video_output());
- add_type("video_input",new Video_input());
+ add_type("video_loader",new Video_loader());
add_type("on_off",new On_off());
add_type("invert",new Invert());
add_type("video_cycler",new Video_cycler());
@@ -30,6 +30,11 @@ bool Signal_input::connect(Signal_node* source) {
}
else return false;
}
+void Parameter_input::update(const Time_spec& time){ //gets input and updates variable
+ if (receiver){
+ *receiver=((Signal_node*)connection)->get_output(time);
+ }
+}
bool Image_input::connect(Image_node* source) {
if (source->output_type=="image") {
connection=(Node*)source;
@@ -215,7 +220,7 @@ bool Video_output::render(const float duration, const float framerate,const stri
return false;
}
-bool Video_input::load(const string &filename){
+bool Video_loader::load(const string &filename){
//gstreamer needs absolute paths ALWAYS
//string uri="file:///home/tim/workspace/rotor/rotord/"+filename;
Poco::Path path;
@@ -226,13 +231,13 @@ bool Video_input::load(const string &filename){
player->setPaused(true);
player->setFrameByFrame(true);
player->update();
- cerr<<"Rotor::Video_input loaded "<<filename<<", "<<player->getDuration()<<" seconds "<<", "<<player->getWidth()<<"x"<<player->getHeight()<<endl;
+ cerr<<"Rotor::Video_loader: "<<filename<<", "<<player->getDuration()<<" seconds "<<", "<<player->getWidth()<<"x"<<player->getHeight()<<endl;
image->setup_fromRGB(player->getWidth(),player->getHeight(),(uint8_t*) player->getPixels());
return true;
}
return false;
}
-Image* Video_input::get_output(const Frame_spec &frame){
+Image* Video_loader::output(const Frame_spec &frame){
//wonder about the actual mechanism used by gstreamer
//have to implment callback when seek is ready?
//presume gstreamer caches a loaded frame?
@@ -260,7 +265,7 @@ Image* Video_input::get_output(const Frame_spec &frame){
//}
player->update();
image->RGBdata=player->getPixels(); //don't really know why this is needed every frame
- //cerr<<"Video_input: retrieving frame "<<((int) (frame.time*frame.framerate))<<endl;
+ //cerr<<"Video_loader: retrieving frame "<<((int) (frame.time*frame.framerate))<<endl;
return image;
}
return nullptr;