{"id":17788829,"url":"https://github.com/moebiussurfing/ofxbeatclock","last_synced_at":"2025-06-18T18:04:30.685Z","repository":{"id":48047507,"uuid":"183444963","full_name":"moebiussurfing/ofxBeatClock","owner":"moebiussurfing","description":"DAW styled BPM-Beat Clock. Internal mode with Tap Tempo,  external MIDI sync and basic Ableton Link.","archived":false,"fork":false,"pushed_at":"2024-12-08T17:40:41.000Z","size":59692,"stargazers_count":19,"open_issues_count":0,"forks_count":4,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-04-01T20:16:54.601Z","etag":null,"topics":["openframeworks","openframeworks-addon"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/moebiussurfing.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}},"created_at":"2019-04-25T13:55:25.000Z","updated_at":"2025-02-11T20:59:35.000Z","dependencies_parsed_at":"2024-12-08T18:33:46.187Z","dependency_job_id":null,"html_url":"https://github.com/moebiussurfing/ofxBeatClock","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/moebiussurfing/ofxBeatClock","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/moebiussurfing%2FofxBeatClock","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/moebiussurfing%2FofxBeatClock/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/moebiussurfing%2FofxBeatClock/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/moebiussurfing%2FofxBeatClock/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/moebiussurfing","download_url":"https://codeload.github.com/moebiussurfing/ofxBeatClock/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/moebiussurfing%2FofxBeatClock/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":260606446,"owners_count":23035348,"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":["openframeworks","openframeworks-addon"],"created_at":"2024-10-27T10:24:14.277Z","updated_at":"2025-06-18T18:04:25.668Z","avatar_url":"https://github.com/moebiussurfing.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ofxBeatClock\n\n**openFrameworks** add-on to run a *DAW-Styled BPM Beat-Clock*.  \n**Internal Clock** with **Tap Tempo**, **External MIDI Sync** and **Ableton Link** modes.  \nReceives a callback notification when each beat happens.  \n\n## Screencast\n\n![](/readme_images/ofxBeatClock.gif)  \n\n## Usage\n\n### ofApp.h\n```cpp\n#include \"ofxBeatClock.h\"\n\nofxBeatClock beatClock;\n\nofEventListener listener;\nvoid Changed_Tick();\n```\n\n### ofApp.cpp\n```cpp\nvoid ofApp::setup()\n{\n  beatClock.setup();\n  listener = beatClock.BeatTick.newListener([\u0026](bool\u0026) {this-\u003eChanged_Tick(); });\n}\nvoid ofApp::draw()\n{\n  beatClock.draw();\n}\nvoid ofApp::Changed_Tick() // -\u003e Callback to receive BeatTicks\n{\n  ofLogNotice() \u003c\u003c \"Beat! #\" \u003c\u003c beatClock.getBeat();\n}\n```\n\n## Features\n\n* **NEW FEATURE**:  \n  **Ableton LINK** sync engine (Master/Slave). [*WIP: Maybe some protocol feature could be missing.. but working*]  \n* **Internal Clock** based in a threaded timer from **ofxDawMetro** from **@castovoid**.  \nYou can uncomment ```#define USE_AUDIO_BUFFER_TIMER_MODE``` on ```ofxBeatClock.h``` to enable *BETA* alternative timer. [**WIP**]\n* **Tap Tempo Engine**.\n* **External Source** as **Input MIDI Clock** (*Slave*) using **ofxMidi** from **@danomatika**. Easy to Sync to **Ableton Live** or any sequencer app with **Midi Clock**.\n* **Metronome Sound Ticks**.\n* **ImGui** based **GUI**.  \n* **Auto Save/Load** of all settings.\n\n## Requeriments\n\n* [ofxMidi](https://github.com/danomatika/ofxMidi)  \n* [ofxImGuiSurfing](https://github.com/moebiussurfing/ofxSurfingImGui)\n* [ofxImGui](https://github.com/Daandelange/ofxImGui/). / _Fork from_ @**Daandelange**.  \n* [ofxSurfingHelpers](https://github.com/moebiussurfing/ofxSurfingHelpers)\n* [ofxAbletonLink](https://github.com/2bbb/ofxAbletonLink). / _Optional. It can be disabled._  \n* [ofxMidiOutClock](https://github.com/moebiussurfing/ofxMidiOutClock). / _Optional for MIDI out clock. It can be disabled._  \n* [ofxWindowApp](https://github.com/moebiussurfing/ofxWindowApp). / _Not required. For examples only._  \n\nAlready included into ```OF_ADD-ON/libs```. No need to add manually:  \n* [ofxDawMetro](https://github.com/castovoid/ofxDawMetro)  \n\n## Tested Systems\n- **Windows 10** / **VS 2022** / **OF 0.12.0** / **OF 0.12+ Master branch could break**\n\n## Author\nAn add-on by **@moebiusSurfing**  \n( _ManuMolina_ ). _2020-2022_.\n\n**_Thanks to the developers of the included core add-ons! @danomatika, @2bb and @castovoid._**\n\n## License\n*MIT License.*\n\n## TODO\n* Improve on-the-fly pushing sync/tweaking BPM smoothly.\n* Test/improve all Ableton Link features like Ableton in slave mode or multiple peers. [?]\n* Finish the improved Audio Buffer-based clock to allow more precision.  \nThis seems important when moving/hiding the Window. Sometimes the sync is lost. [?]\n\n**FEEL FREE TO ADD MODIFICATIONS OR FEATURES AND TO SEND ME PULL REQUESTS OR ISSUES!**\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmoebiussurfing%2Fofxbeatclock","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmoebiussurfing%2Fofxbeatclock","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmoebiussurfing%2Fofxbeatclock/lists"}