BOOST_FOREACH(auto& layout, layouts_element)
{
repository.register_layout(create_layout_from_string(
- layout.first,
+ layout.second.get<std::wstring>(L"name"),
layout.second.get<std::wstring>(L"type"),
layout.second.get<int>(L"num-channels"),
layout.second.get<std::wstring>(L"channels")));
<predefined-clients>\r
</predefined-clients>\r
</osc>\r
- <audio>\r
- <channel-layouts>\r
- </channel-layouts>\r
- <mix-configs>\r
- </mix-configs>\r
- </audio>\r
</configuration>\r
\r
<!--\r
</osc>\r
<audio>\r
<channel-layouts>\r
- <mono>\r
+ <channel-layout>\r
+ <name>mono</name>\r
<type>1.0</type>\r
<num-channels>1</num-channels>\r
<channels>C</channels>\r
- </mono>\r
- <stereo>\r
+ </channel-layout>\r
+ <channel-layout>\r
+ <name>stereo</name>\r
<type>2.0</type>\r
<num-channels>2</num-channels>\r
<channels>L R</channels>\r
- </stereo>\r
- <dts>\r
+ </channel-layout>\r
+ <channel-layout>\r
+ <name>dts</name>\r
<type>5.1</type>\r
<num-channels>6</num-channels>\r
<channels>C L R Ls Rs LFE</channels>\r
- </dts>\r
- <dolbye>\r
+ </channel-layout>\r
+ <channel-layout>\r
+ <name>dolbye</name>\r
<type>5.1+stereomix</type>\r
<num-channels>8</num-channels>\r
<channels>L R C LFE Ls Rs Lmix Rmix</channels>\r
- </dolbye>\r
- <dolbydigital>\r
+ </channel-layout>\r
+ <channel-layout>\r
+ <name>dolbydigital</name>\r
<type>5.1</type>\r
<num-channels>6</num-channels>\r
<channels>L C R Ls Rs LFE</channels>\r
- </dolbydigital>\r
- <smpte>\r
+ </channel-layout>\r
+ <channel-layout>\r
+ <name>smpte</name>\r
<type>5.1</type>\r
<num-channels>6</num-channels>\r
<channels>L R C LFE Ls Rs</channels>\r
- </smpte>\r
- <passthru>\r
+ </channel-layout>\r
+ <channel-layout>\r
+ <name>passthru</name>\r
<type>16ch</type>\r
<num-channels>16</num-channels>\r
<channels />\r
- </passthru>\r
+ </channel-layout>\r
</channel-layouts>\r
<mix-configs>\r
<mix-config>\r
{\r
register_default_channel_layouts(default_channel_layout_repository());\r
register_default_mix_configs(default_mix_config_repository());\r
- parse_channel_layouts(\r
- default_channel_layout_repository(),\r
- pt.get_child(L"configuration.audio.channel-layouts"));\r
- parse_mix_configs(\r
- default_mix_config_repository(),\r
- pt.get_child(L"configuration.audio.mix-configs"));\r
+\r
+ auto channel_layouts =\r
+ pt.get_child_optional(L"configuration.audio.channel-layouts");\r
+ auto mix_configs =\r
+ pt.get_child_optional(L"configuration.audio.mix-configs");\r
+\r
+ if (channel_layouts)\r
+ parse_channel_layouts(\r
+ default_channel_layout_repository(), *channel_layouts);\r
+\r
+ if (mix_configs)\r
+ parse_mix_configs(\r
+ default_mix_config_repository(), *mix_configs);\r
}\r
\r
void setup_channels(const boost::property_tree::wptree& pt)\r