{"id":17788857,"url":"https://github.com/moebiussurfing/ofxsurfingtween","last_synced_at":"2025-10-07T00:41:41.013Z","repository":{"id":109378863,"uuid":"372416929","full_name":"moebiussurfing/ofxSurfingTween","owner":"moebiussurfing","description":"Tween grouped ofParameters (Float/Int) to target values using easing animators. GUI and plotting panel. ","archived":false,"fork":false,"pushed_at":"2021-09-17T08:29:13.000Z","size":384,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-02T00:44:08.994Z","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":"2021-05-31T07:17:04.000Z","updated_at":"2021-09-17T08:29:15.000Z","dependencies_parsed_at":"2023-03-08T14:00:15.039Z","dependency_job_id":null,"html_url":"https://github.com/moebiussurfing/ofxSurfingTween","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/moebiussurfing/ofxSurfingTween","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/moebiussurfing%2FofxSurfingTween","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/moebiussurfing%2FofxSurfingTween/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/moebiussurfing%2FofxSurfingTween/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/moebiussurfing%2FofxSurfingTween/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/moebiussurfing","download_url":"https://codeload.github.com/moebiussurfing/ofxSurfingTween/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/moebiussurfing%2FofxSurfingTween/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":278703578,"owners_count":26031204,"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","status":"online","status_checked_at":"2025-10-06T02:00:05.630Z","response_time":65,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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:24.431Z","updated_at":"2025-10-07T00:41:40.985Z","avatar_url":"https://github.com/moebiussurfing.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ofxSurfingTween\n\n## Overview\nAn **openFrameworks** add-on to **tween** grouped ```ofParameters``` to Target values using powerful **Easing Animators**.\n\n**ofxSurfingTween** is a helper with the **ofxSurfingAnimators** engine plus an ```ofParameters``` bridge, live plottings, easy integration workflow, GUI, and settings management.  \n\nPowered with the _**awesome**_ [ofxAnimatable](https://github.com/armadillu/ofxAnimatable) from @**armadillu**. \n\n## Screenshots\n\u003cimg src=\"docs/readme_images/Capture.PNG\" width=\"100%\" height=\"100%\"\u003e\n\n## Features\n- **Simple use**: Just pass your ```ofParameterGroup``` parameters container.\n- Another usable ```ofParameterGroup``` will be created with the same parameters cloned: but for the accesible tweened values.\n- Only ```Float``` and ```Int``` types yet.\n- Scalable and draggable plots panel. Monitor **SOLO** of one picked parameter with full size graph.\n- Auto **Store/Recall** all the settings.\n- **ImGui** based **GUI**, docking, ready to integrate.\n- Presets engine to alternate different animation configurations.\n- Some **testing tools** like timed randomizers.\n\n## Animator Engine\nTween Engine with all the **ofxAnimatable** power: \n* 50+ ease curves.\n* **Play modes**: once, loop, back and forth, and play n times.\n* **Duration** Time (ms) scaled or **BPM MODE** divisions.\n* Plot preview and progress bars.\n\n\u003cimg src=\"docs/readme_images/Capture2.PNG\" width=\"30%\" height=\"30%\"\u003e\n\n## Workflow Usage\n  1. Set the **Source** params that will be used as **Target** values (destination).\n  2. Set and **Tweak** the **Easing Animator**: duration, time or BPM scaled, pre delay pause, curve types...etc. \n  3. **Trig the Easing** Animator for all the parameters. \n  4. **Get** the **Tweened values** to use in your scene.\n\n## Usage\n \n**ofApp.h**\n```.cpp\n#include \"ofxSurfingTween.h\"\n\nofxSurfingTween dataTween;\n\nofParameterGroup params; // group container\nofParameter\u003cfloat\u003e lineWidth;\nofParameter\u003cfloat\u003e separation;\nofParameter\u003cfloat\u003e speed;\nofParameter\u003cint\u003e amount;\nofParameter\u003cint\u003e shapeType;\n```\n\n**ofApp.cpp**\n```.cpp\nvoid ofApp::setup() \n{\n    params.setName(\"paramsGroup\");\n    params.add(lineWidth.set(\"lineWidth\", 0.5, 0.0, 1.0));\n    params.add(separation.set(\"separation\", 50.0, 1.0, 100.0));\n    params.add(speed.set(\"speed\", 0.5, 0.0, 1.0));\n    params.add(amount.set(\"amount\", 1, 1, 10));\n    params.add(shapeType.set(\"shapeType\", 0, 0, 3));\n\n    dataTween.setup(params);\n}\n\nvoid ofApp::update() \n{\n    // Get the tweened parameters:\n    float _lineWidth = dataTween.get(lineWidth);\n    float _separation = dataTween.get(separation);\n    float _speed = dataTween.get(speed);\n    int _amount = dataTween.get(amount);\n    int _shapeType = dataTween.get(shapeType);\n}\n```\n\n\u003cdetails\u003e\n  \u003csummary\u003eDependencies\u003c/summary\u003e\n  \u003cp\u003e\n\nClone these add-ons and include into the **OF PROJECT GENERATOR** to allow compile your projects or the examples:\n* [ofxSurfingAnimators](https://github.com/moebiussurfing/ofxSurfingAnimators) \n* [ofxAnimatable](https://github.com/moebiussurfing/ofxAnimatable)  [ FORK ] \n* [ofxHistoryPlot](https://github.com/moebiussurfing/ofxHistoryPlot)  [ FORK ]\n* [ofxScaleDragRect](https://github.com/moebiussurfing/ofxScaleDragRect)  [ FORK ]\n* [ofxImGui](https://github.com/Daandelange/ofxImGui/)  [ FORK ]  \n* [ofxSurfingImGui](https://github.com/moebiussurfing/ofxSurfingImGui)  \n* [ofxSurfingPresets](https://github.com/moebiussurfing/ofxSurfingPresets)  \n* [ofxSurfingHelpers](https://github.com/moebiussurfing/ofxSurfingHelpers)  \n* [ofxWindowApp](https://github.com/moebiussurfing/ofxWindowApp)  [ Only for **example** ]  \n\n_Thanks a lot to all these ofxAddons coders. Specially to @**armadillu**_  \n  \u003c/p\u003e\n\u003c/details\u003e\n\n\u003cdetails\u003e\n  \u003csummary\u003eTested Systems\u003c/summary\u003e\n  \u003cp\u003e\n\n  - **Windows 10** / **VS 2017** / **OF ~0.11**\n  \u003c/p\u003e\n\u003c/details\u003e\n\n### TODO\n+ Add more types: 2D/3D vectors and colors. Using templates... ?  \n  [ _**ANY HELP/PULL ON THIS IS APPRECIATED!**_ ]\n+ Add \"real\" nested sub-groups with indented tree levels. Now the params are recreated on one depth level only. This could help when duplicated names or indent sub-groups on a GUI too.\n\n## Author\nAn add-on by **@moebiusSurfing**  \n*( ManuMolina ) 2021*  \n\n[Twitter](https://twitter.com/moebiussurfing/) | [YouTube](https://www.youtube.com/channel/UCzUw96_wjmNxyIoFXf84hQg) | [Instagram](https://www.instagram.com/moebiussurfing/)  \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmoebiussurfing%2Fofxsurfingtween","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmoebiussurfing%2Fofxsurfingtween","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmoebiussurfing%2Fofxsurfingtween/lists"}