{"id":27597268,"url":"https://github.com/motionspell/signals","last_synced_at":"2025-04-22T13:24:08.146Z","repository":{"id":29099118,"uuid":"32628425","full_name":"MotionSpell/signals","owner":"MotionSpell","description":"A C++11 modular framework","archived":false,"fork":false,"pushed_at":"2025-04-22T09:38:26.000Z","size":6184,"stargazers_count":10,"open_issues_count":3,"forks_count":7,"subscribers_count":10,"default_branch":"master","last_synced_at":"2025-04-22T10:59:01.244Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/MotionSpell.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2015-03-21T10:34:09.000Z","updated_at":"2025-04-22T09:38:31.000Z","dependencies_parsed_at":"2025-01-30T14:23:01.673Z","dependency_job_id":"945928ea-738a-428f-91f1-22232986c48e","html_url":"https://github.com/MotionSpell/signals","commit_stats":null,"previous_names":["motionspell/signals"],"tags_count":22,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MotionSpell%2Fsignals","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MotionSpell%2Fsignals/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MotionSpell%2Fsignals/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MotionSpell%2Fsignals/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/MotionSpell","download_url":"https://codeload.github.com/MotionSpell/signals/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250246946,"owners_count":21398976,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-04-22T13:24:07.252Z","updated_at":"2025-04-22T13:24:08.139Z","avatar_url":"https://github.com/MotionSpell.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003c!-- START doctoc generated TOC please keep comment here to allow auto update --\u003e\n\u003c!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE --\u003e\n**Table of Contents**  *generated with [DocToc](https://github.com/thlorenz/doctoc)*\n\n- [Signals](#signals)\n- [Introduction](#introduction)\n- [Applications](#applications)\n- [Build](#build)\n- [Tests](#tests)\n- [Documentation](#documentation)\n\n\u003c!-- END doctoc generated TOC please keep comment here to allow auto update --\u003e\n\nSignals\n=======\n\n# Introduction\n\nSignals is a modern C++ framework to build modular applications. It is currently used for building multimedia applications. Its architecture allows to extend to any domain. Signals is used by companies from the multimedia industry (audio, video and broadcast).\n\nSignals is designed with the following goals:\n - Writing new modules must be easy and require minimal boilerplate. Especially for multimedia systems, you should not have to know about complex matters (types, internals, clocks, locking, ...) unless you need to ; according to our experience 90% of the applications use the same mechanisms.\n - Writing an application using these modules must be easy.\n\n# Applications\n\nSignals comes with several multimedia applications:\n - player: a generic multimedia player.\n - dashcastx: a rewrite of the GPAC dashcast application (any input to MPEG-DASH live) in less than 300 lines of code.\n\n# Build\n\nPlease read [build.md](doc/build.md).\n\n# Tests\n\nSignals is built using TDD. There are plenty of tests. If you contribute please commit your tests first.\nUnit tests should be self-validating, which means they shouldn't need the intervention of a human operator to validate the result (e.g, they shouldn't print anything on the console).\nThey should also be isolated. At best, they should depend upon no third-party code (except of course when testing the code making the direct calls to a third-party component).\n\nYou can check the code coverage of the test suite using ./scripts/cov.sh. This will generate an HTML report using gcov+lcov in 'cov-html'.\n\n# Documentation\n\nDocumentation is both a set of markdown files and a doxygen. See in the [doc subdirectory](doc/).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmotionspell%2Fsignals","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmotionspell%2Fsignals","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmotionspell%2Fsignals/lists"}