summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorComment <tim@gray.(none)>2013-02-17 22:23:47 +0000
committerComment <tim@gray.(none)>2013-02-17 22:23:47 +0000
commit42a67a912a283f9012828660f07bc5743527317a (patch)
tree4fd24a6fd60c6a2d61562988f3506d571c42fc8c
parent09c827e0b4aa62401ac1ed84107bd5570b2580be (diff)
minor ptogress
-rwxr-xr-x[-rw-r--r--]rotord/rotord.cpp27
-rwxr-xr-x[-rw-r--r--]rotord/rotord.h24
-rwxr-xr-x[-rw-r--r--]rotord/vampHost.h9
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);