X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=shell%2Fgenerate_docs.cpp;h=c5ea1807cf909ee2ad513302877e68049dbff145;hb=ff8eb9202aef3824d41592c53c9eacedf462f920;hp=78fce5b03998de4f144da285410b9a6d24daeb59;hpb=d936ee9d0aae8ffa4b6c52510a313c00e0f48d5e;p=casparcg diff --git a/shell/generate_docs.cpp b/shell/generate_docs.cpp index 78fce5b03..c5ea1807c 100644 --- a/shell/generate_docs.cpp +++ b/shell/generate_docs.cpp @@ -28,6 +28,10 @@ #include #include #include +#include +#include +#include +#include #include #include @@ -68,6 +72,12 @@ public: return shared_from_this(); }; + spl::shared_ptr strong(std::wstring text) override + { + out_ << L"'''" << std::move(text) << L"'''"; + return shared_from_this(); + }; + spl::shared_ptr see(std::wstring item) override { out_ << L"[[#" << item << L"|" << item << L"]]"; @@ -92,7 +102,7 @@ public: ~mediawiki_definition_list_builder() { - out_ << L"\n" << std::endl; + out_ << std::endl; } spl::shared_ptr item(std::wstring term, std::wstring description) override @@ -144,7 +154,7 @@ public: 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; } @@ -170,17 +180,42 @@ void generate_amcp_commands_help(const core::help_repository& help_repo) 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 system_info_provider_repo; spl::shared_ptr cg_registry; auto media_info_repo = core::create_in_memory_media_info_repository(); spl::shared_ptr help_repo; - spl::shared_ptr producer_registry; - spl::shared_ptr consumer_registry; + auto producer_registry = spl::make_shared(help_repo); + auto consumer_registry = spl::make_shared(help_repo); std::promise shutdown_server_now; protocol::amcp::amcp_command_repository repo( { }, @@ -191,16 +226,22 @@ int main(int argc, char** argv) 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, 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; }