diff --git a/src/ControlManager.cpp b/src/ControlManager.cpp index 4c037d0..ca6abe3 100644 --- a/src/ControlManager.cpp +++ b/src/ControlManager.cpp @@ -900,6 +900,17 @@ bool Control::receiveSourceAttribute(Source *target, const std::string &attribut target->call( new Seek( hh, mm, ss, ms ), true ); } } + /// e.g. '/vimix/current/ffwd f 50' + else if ( attribute.compare(OSC_SOURCE_FFWD) == 0) { + float v = 0.f; + float t = 0.f; + arguments >> v; + if (arguments.Eos()) + arguments >> osc::EndMessage; + else + arguments >> t >> osc::EndMessage; + target->call( new PlayFastForward( v, t ) ); + } /// e.g. '/vimix/current/speed f 0.25' else if (attribute.compare(OSC_SOURCE_SPEED) == 0) { float v = 0.f; diff --git a/src/ControlManager.h b/src/ControlManager.h index 55da174..1634838 100644 --- a/src/ControlManager.h +++ b/src/ControlManager.h @@ -51,6 +51,7 @@ #define OSC_SOURCE_SIZE "/size" #define OSC_SOURCE_ANGLE "/angle" #define OSC_SOURCE_SEEK "/seek" +#define OSC_SOURCE_FFWD "/ffwd" #define OSC_SOURCE_SPEED "/speed" #define OSC_SOURCE_CONTENTS "/contents" #define OSC_SOURCE_BRIGHTNESS "/brightness"