]> git.sesse.net Git - casparcg/commitdiff
Fixed Neptune support.
authorronag <ronag@362d55ac-95cf-4e76-9f9a-cbaa9c17b72d>
Fri, 16 Dec 2011 10:02:46 +0000 (10:02 +0000)
committerronag <ronag@362d55ac-95cf-4e76-9f9a-cbaa9c17b72d>
Fri, 16 Dec 2011 10:02:46 +0000 (10:02 +0000)
git-svn-id: https://casparcg.svn.sourceforge.net/svnroot/casparcg/server/trunk@1898 362d55ac-95cf-4e76-9f9a-cbaa9c17b72d

core/video_channel.cpp
modules/flash/producer/cg_producer.cpp
protocol/cii/CIICommandsImpl.cpp
protocol/cii/CIIProtocolStrategy.cpp

index 458a59d141f82e0c7efd85b29cbdaec856af0aa0..411a9fe8babfc6a4d19240e432a3ef56240885b1 100644 (file)
@@ -70,6 +70,9 @@ public:
        \r
        void set_video_format_desc(const video_format_desc& format_desc)\r
        {\r
+               if(format_desc.format == core::video_format::invalid)\r
+                       BOOST_THROW_EXCEPTION(invalid_argument() << msg_info("Invalid video-format"));\r
+\r
                try\r
                {\r
                        output_->set_video_format_desc(format_desc);\r
index 0236304814fefad7791354b04a53a19c6e57eda3..6aa284eff50088a65065686034eaeb0f2802a3dd 100644 (file)
@@ -45,11 +45,14 @@ public:
                : flash_producer_(frame_producer)\r
        {}\r
        \r
-       boost::unique_future<std::wstring> add(int layer, std::wstring filename,  bool play_on_load, const std::wstring& label, const std::wstring& data)\r
+       boost::unique_future<std::wstring> add(int layer, std::wstring filename,  bool play_on_load, const std::wstring& label, std::wstring data)\r
        {\r
                if(filename.size() > 0 && filename[0] == L'/')\r
                        filename = filename.substr(1, filename.size()-1);\r
 \r
+               if(boost::filesystem::wpath(filename).extension() == L"")\r
+                       filename += L".ft";\r
+               \r
                auto str = (boost::wformat(L"<invoke name=\"Add\" returntype=\"xml\"><arguments><number>%1%</number><string>%2%</string>%3%<string>%4%</string><string><![CDATA[%5%]]></string></arguments></invoke>") % layer % filename % (play_on_load?TEXT("<true/>"):TEXT("<false/>")) % label % data).str();\r
 \r
                CASPAR_LOG(info) << flash_producer_->print() << " Invoking add-command: " << str;\r
@@ -194,11 +197,19 @@ safe_ptr<cg_producer> get_default_cg_producer(const safe_ptr<core::video_channel
 {      \r
        auto flash_producer = video_channel->stage()->foreground(render_layer).get();\r
 \r
-       if(flash_producer->print().find(L"flash[") == std::string::npos) // UGLY hack\r
+       try\r
+       {\r
+               if(flash_producer->print().find(L"flash[") == std::string::npos) // UGLY hack\r
+               {\r
+                       flash_producer = make_safe<cg_producer>(flash::create_producer(video_channel->mixer(), boost::assign::list_of<std::wstring>()));        \r
+                       video_channel->stage()->load(render_layer, flash_producer); \r
+                       video_channel->stage()->play(render_layer);\r
+               }\r
+       }\r
+       catch(...)\r
        {\r
-               flash_producer = make_safe<cg_producer>(flash::create_producer(video_channel->mixer(), boost::assign::list_of<std::wstring>()));        \r
-               video_channel->stage()->load(render_layer, flash_producer); \r
-               video_channel->stage()->play(render_layer);\r
+               CASPAR_LOG_CURRENT_EXCEPTION();\r
+               throw;\r
        }\r
 \r
        return static_pointer_cast<cg_producer>(flash_producer);\r
index 306e6b60ad5852d3037557f9a1c4ea31531ef548..2d0843000554251ca8aae8eef168ed6c00837d34 100644 (file)
@@ -132,7 +132,7 @@ void MiscellaneousCommand::Setup(const std::vector<std::wstring>& parameters)
                std::wstring value = parameters[3];\r
                std::transform(value.begin(), value.end(), value.begin(), toupper);\r
 \r
-               //this->pCIIStrategy_->GetChannel()->SetVideoFormat(value); TODO\r
+               this->pCIIStrategy_->GetChannel()->set_video_format_desc(core::video_format_desc::get(value));\r
        }\r
 }\r
 \r
index 537b72fbdc691282d2752e3cbc9ba050324dfa21..0c4b719b4c7a344d609467bc98955484570c1bf6 100644 (file)
@@ -83,7 +83,7 @@ void CIIProtocolStrategy::Parse(const TCHAR* pData, int charCount, IO::ClientInf
 \r
 void CIIProtocolStrategy::ProcessMessage(const std::wstring& message)\r
 {\r
-       CASPAR_LOG(debug) << message.c_str();\r
+       CASPAR_LOG(debug) << L"Received: " << message.c_str();\r
 \r
        std::vector<std::wstring> tokens;\r
        int tokenCount = TokenizeMessage(message, &tokens);\r