#include <core/help/help_repository.h>
#include <core/help/help_sink.h>
#include <core/help/util.h>
+#include <core/consumer/syncto/syncto_consumer.h>
+#include <core/producer/text/text_producer.h>
+#include <core/producer/scene/xml_scene_producer.h>
+#include <core/producer/cg_proxy.h>
#include <protocol/amcp/amcp_command_repository.h>
#include <protocol/amcp/AMCPCommandsImpl.h>
return shared_from_this();
};
+ spl::shared_ptr<paragraph_builder> strong(std::wstring text) override
+ {
+ out_ << L"'''" << std::move(text) << L"'''";
+ return shared_from_this();
+ };
+
spl::shared_ptr<paragraph_builder> see(std::wstring item) override
{
out_ << L"[[#" << item << L"|" << item << L"]]";
~mediawiki_definition_list_builder()
{
- out_ << L"\n" << std::endl;
+ out_ << std::endl;
}
spl::shared_ptr<definition_list_builder> item(std::wstring term, std::wstring description) override
out_ << std::endl;
}
private:
- void begin_item(const std::wstring& name) override
+ void begin_item(const std::wstring& name) override
{
out_ << L"==" << name << L"==\n" << std::endl;
}
file.flush();
}
+void generate_producers_help(const core::help_repository& help_repo)
+{
+ boost::filesystem::wofstream file(L"producers_help.wiki");
+ mediawiki_help_sink sink(file);
+
+ sink.start_section(L"Producers (Input Modules)");
+ help_repo.help({ L"producer" }, sink);
+
+ file.flush();
+}
+
+void generate_consumers_help(const core::help_repository& help_repo)
+{
+ boost::filesystem::wofstream file(L"consumers_help.wiki");
+ mediawiki_help_sink sink(file);
+
+ sink.start_section(L"Consumers (Output Modules)");
+ help_repo.help({ L"consumer" }, sink);
+
+ file.flush();
+}
+
int main(int argc, char** argv)
{
- //env::configure(L"casparcg.config");
- //log::set_log_level(L"info");
+ if (intercept_command_line_args(argc, argv))
+ {
+ return 0;
+ }
+ env::configure(L"casparcg.config");
spl::shared_ptr<core::system_info_provider_repository> system_info_provider_repo;
spl::shared_ptr<core::cg_producer_registry> cg_registry;
auto media_info_repo = core::create_in_memory_media_info_repository();
spl::shared_ptr<core::help_repository> help_repo;
- spl::shared_ptr<core::frame_producer_registry> producer_registry;
+ auto producer_registry = spl::make_shared<core::frame_producer_registry>(help_repo);
+ auto consumer_registry = spl::make_shared<core::frame_consumer_registry>(help_repo);
std::promise<bool> shutdown_server_now;
protocol::amcp::amcp_command_repository repo(
{ },
cg_registry,
help_repo,
producer_registry,
+ consumer_registry,
+ nullptr,
shutdown_server_now);
protocol::amcp::register_commands(repo);
- core::module_dependencies dependencies(system_info_provider_repo, cg_registry, media_info_repo, producer_registry);
+ core::module_dependencies dependencies(system_info_provider_repo, cg_registry, media_info_repo, producer_registry, consumer_registry);
initialize_modules(dependencies);
+ core::init_cg_proxy_as_producer(dependencies);
+ core::scene::init(dependencies);
+ core::syncto::init(dependencies);
generate_amcp_commands_help(*help_repo);
+ generate_producers_help(*help_repo);
+ generate_consumers_help(*help_repo);
uninitialize_modules();
-
+
return 0;
}