diff options
| author | Comment <tim@gray.(none)> | 2013-02-17 22:23:47 +0000 |
|---|---|---|
| committer | Comment <tim@gray.(none)> | 2013-02-17 22:23:47 +0000 |
| commit | 42a67a912a283f9012828660f07bc5743527317a (patch) | |
| tree | 4fd24a6fd60c6a2d61562988f3506d571c42fc8c | |
| parent | 09c827e0b4aa62401ac1ed84107bd5570b2580be (diff) | |
minor ptogress
| -rwxr-xr-x[-rw-r--r--] | rotord/rotord.cpp | 27 | ||||
| -rwxr-xr-x[-rw-r--r--] | rotord/rotord.h | 24 | ||||
| -rwxr-xr-x[-rw-r--r--] | rotord/vampHost.h | 9 |
3 files changed, 52 insertions, 8 deletions
diff --git a/rotord/rotord.cpp b/rotord/rotord.cpp index 315e856..e794b7d 100644..100755 --- a/rotord/rotord.cpp +++ b/rotord/rotord.cpp @@ -21,10 +21,32 @@ void RotorRequestHandler::handleRequest(HTTPServerRequest& request,HTTPServerRes ostr << "</p></body></html>"; } - RotorRequestHandlerFactory::RotorRequestHandlerFactory(const std::string& format):_format(format){ } +AudioAnalyserHandler::AudioAnalyserHandler(const vampHost::Settings& _settings): settings(_settings){ +} + +void AudioAnalyserHandler::handleRequest(HTTPServerRequest& request,HTTPServerResponse& response) { + + response.setChunkedTransferEncoding(true); + response.setContentType("text/html"); + + string audioData=vampHost:: + + std::ostream& ostr = response.send(); + ostr << "<html><head><title>RotorServer powered by " + "POCO C++ Libraries</title>"; + ostr << "</head>"; + ostr << "<body><p style=\"text-align: center; " + "font-size: 48px;\">"; + ostr << dt; + ostr << "</p></body></html>"; +} + +AudioAnalyserFactory::AudioAnalyserFactory(const vampHost::Settings& _settings): settings(_settings){ +} + HTTPRequestHandler* RotorRequestHandlerFactory::createRequestHandler(const HTTPServerRequest& request){ Application& app = Application::instance(); @@ -46,9 +68,10 @@ HTTPRequestHandler* RotorRequestHandlerFactory::createRequestHandler(const HTTPS if (segments.size() == 0) { return new RotorRequestHandler(_format); } - else if (segments[0]=="vamp") { + else if (segments[0]=="vamp"&&segments.size()>3) { // vamp/plugin/filter/filename // how do deal with error condition? + return new RotorRequestHandler(_format); //string audioData=runPlugin(string myname, string soname, string id, // string output, int outputNo, string wavname, // string outfilename, bool useFrames); diff --git a/rotord/rotord.h b/rotord/rotord.h index 6def0a8..20ea2c6 100644..100755 --- a/rotord/rotord.h +++ b/rotord/rotord.h @@ -49,24 +49,36 @@ class RotorRequestHandler: public HTTPRequestHandler std::string _format; }; -class RotorAudioAnalyserHandler: public HTTPRequestHandler +class RotorRequestHandlerFactory: public HTTPRequestHandlerFactory { public: - RotorAudioAnalyserHandler(const std::string& format); - void handleRequest(HTTPServerRequest& request,HTTPServerResponse& response); + RotorRequestHandlerFactory(const std::string& format); + HTTPRequestHandler* createRequestHandler(const HTTPServerRequest& request); private: std::string _format; }; -class RotorRequestHandlerFactory: public HTTPRequestHandlerFactory + +class AudioAnalyserHandler: public HTTPRequestHandler { public: - RotorRequestHandlerFactory(const std::string& format); + AudioAnalyserHandler(const vampHost::Settings& _settings); + void handleRequest(HTTPServerRequest& request,HTTPServerResponse& response); + private: + vampHost::Settings settings; +}; + +class AudioAnalyserFactory: public HTTPRequestHandlerFactory +{ + public: + AudioAnalyserFactory(const vampHost::Settings& _settings); HTTPRequestHandler* createRequestHandler(const HTTPServerRequest& request); private: - std::string _format; + vampHost::Settings settings; }; + + class RotorServer: public Poco::Util::ServerApplication { public: diff --git a/rotord/vampHost.h b/rotord/vampHost.h index e46520c..6bc6b75 100644..100755 --- a/rotord/vampHost.h +++ b/rotord/vampHost.h @@ -26,6 +26,15 @@ using Vamp::HostExt::PluginInputDomainAdapter; #define HOST_VERSION "1.5" namespace vampHost { + + class Settings{ + Settings(string _so="",string _filter="",string _id="",string _input=""); + string soname; + string filtername; + string id; + string inputFile; + string output; + }; void printFeatures(int, int, int, Plugin::FeatureSet, ofstream *, bool frames); |
