]> git.sesse.net Git - casparcg/commitdiff
* Added interactive parameter to screen consumer in XML configuration. Default is...
authorHelge Norberg <helge.norberg@svt.se>
Tue, 26 May 2015 12:13:55 +0000 (14:13 +0200)
committerHelge Norberg <helge.norberg@svt.se>
Tue, 26 May 2015 12:13:55 +0000 (14:13 +0200)
* Made screen consumers created via ADD to by default be windowed and interactive. Add FULLSCREEN and NON_INTERACTIVE to negate behavior.

modules/screen/consumer/screen_consumer.cpp
shell/casparcg.config

index fc71f14281dcc72fbd7d1955752ced0292e045e3..d30e63e73b5b1470bfbae9903ccfd839245ffbb2 100644 (file)
@@ -654,9 +654,9 @@ spl::shared_ptr<core::frame_consumer> create_consumer(const std::vector<std::wst
        if(params.size() > 1)
                config.screen_index = boost::lexical_cast<int>(params[1]);
                
-       config.windowed         = std::find(params.begin(), params.end(), L"WINDOWED") != params.end();
+       config.windowed         = std::find(params.begin(), params.end(), L"FULLSCREEN") == params.end();
        config.key_only         = std::find(params.begin(), params.end(), L"KEY_ONLY") != params.end();
-       config.interactive      = std::find(params.begin(), params.end(), L"INTERACTIVE") != params.end();
+       config.interactive      = std::find(params.begin(), params.end(), L"NON_INTERACTIVE") == params.end();
 
        auto name_it    = std::find(params.begin(), params.end(), L"NAME");
        if(name_it != params.end() && ++name_it != params.end())
@@ -668,13 +668,14 @@ spl::shared_ptr<core::frame_consumer> create_consumer(const std::vector<std::wst
 spl::shared_ptr<core::frame_consumer> create_preconfigured_consumer(const boost::property_tree::wptree& ptree, core::interaction_sink* sink) 
 {
        configuration config;
-       config.name                             = ptree.get(L"name",     config.name);
-       config.screen_index             = ptree.get(L"device",   config.screen_index+1)-1;
-       config.windowed                 = ptree.get(L"windowed", config.windowed);
-       config.key_only                 = ptree.get(L"key-only", config.key_only);
-       config.auto_deinterlace = ptree.get(L"auto-deinterlace", config.auto_deinterlace);
-       config.vsync                    = ptree.get(L"vsync", config.vsync);
-       
+       config.name                             = ptree.get(L"name",                            config.name);
+       config.screen_index             = ptree.get(L"device",                          config.screen_index+1)-1;
+       config.windowed                 = ptree.get(L"windowed",                        config.windowed);
+       config.key_only                 = ptree.get(L"key-only",                                config.key_only);
+       config.auto_deinterlace = ptree.get(L"auto-deinterlace",                config.auto_deinterlace);
+       config.vsync                    = ptree.get(L"vsync",                           config.vsync);
+       config.interactive              = ptree.get(L"interactive",                     config.interactive);
+
        auto stretch_str = ptree.get(L"stretch", L"default");
        if(stretch_str == L"uniform")
                config.stretch = screen::stretch::uniform;
index 6f45ebb840bfaae9decaf789d729d40b342dbaaa..01dcf8df47ec027a326921b6ac74ee652a5fb5af 100644 (file)
                 <device>[0..]</device>\r
                 <aspect-ratio>default [default|4:3|16:9]</aspect-ratio>\r
                 <stretch>fill [none|fill|uniform|uniform_to_fill]</stretch>\r
-                <windowed>false [true|false]</windowed>\r
+                <windowed>true [true|false]</windowed>\r
                 <key-only>false [true|false]</key-only>\r
                 <auto-deinterlace>true [true|false]</auto-deinterlace>\r
                 <vsync>false [true|false]</vsync>\r
+                <interactive>true [true|false]</interactive>\r
             </screen>\r
             <file>\r
                 <path></path>\r