]> git.sesse.net Git - casparcg/commitdiff
2.1.0:
authorronag <ronag@362d55ac-95cf-4e76-9f9a-cbaa9c17b72d>
Fri, 16 Dec 2011 22:48:13 +0000 (22:48 +0000)
committerronag <ronag@362d55ac-95cf-4e76-9f9a-cbaa9c17b72d>
Fri, 16 Dec 2011 22:48:13 +0000 (22:48 +0000)
Merged revision(s) 1898-1900 from server/trunk:
Fixed Neptune support.
........

........
Another Neptune fix, don't conflict with Hawrys.
........

git-svn-id: https://casparcg.svn.sourceforge.net/svnroot/casparcg/server/branches/2.1.0@1901 362d55ac-95cf-4e76-9f9a-cbaa9c17b72d

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

index f5127e0ff9683a774ff7dce2adfe395249b25816..e6aac33f01ac8c0219d0d8cbd0d012a39f1b9f2c 100644 (file)
@@ -73,6 +73,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 909dea4498426c328a556dfd680eeea4a1d8a790..1fd9d339a20e7f6ea443849ec416b3ead2bddd44 100644 (file)
@@ -50,6 +50,9 @@ public:
                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..bd88a3bdbab60e13f2065d48fe40ac97d6ba64be 100644 (file)
@@ -111,6 +111,9 @@ void MiscellaneousCommand::Setup(const std::vector<std::wstring>& parameters)
        {\r
                layer_ = _ttoi(parameters[4].c_str());\r
                filename_ = parameters[5];\r
+               if(filename_.find(L"PK/") == std::wstring::npos && filename_.find(L"PK\\") == std::wstring::npos)\r
+                       filename_ = L"PK/" + filename_;\r
+\r
                state_ = 1;\r
                if(parameters.size() > 7) {\r
                        std::wstringstream dataStream;\r
@@ -132,7 +135,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