https://github.com/moebiussurfing/ofxcolormanager
Organize color palette presets using a pack of Tools. Colorize your scenes with a player/client addon.
https://github.com/moebiussurfing/ofxcolormanager
openframeworks openframeworks-addon
Last synced: 10 months ago
JSON representation
Organize color palette presets using a pack of Tools. Colorize your scenes with a player/client addon.
- Host: GitHub
- URL: https://github.com/moebiussurfing/ofxcolormanager
- Owner: moebiussurfing
- License: mit
- Created: 2019-07-17T00:28:44.000Z (almost 7 years ago)
- Default Branch: develop
- Last Pushed: 2024-01-15T21:01:15.000Z (over 2 years ago)
- Last Synced: 2025-07-23T09:32:39.843Z (11 months ago)
- Topics: openframeworks, openframeworks-addon
- Language: C++
- Homepage:
- Size: 68.3 MB
- Stars: 3
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# WIP
### OPEN SOURCED PACKED TOOLS AND ENGINES TO POWER [Paletto](https://moebiussurfing.itch.io/paletto?secret=VXDlB9ydmE23TwQwdng75c7uo), a **WIP** _desktop app_.
# ofxColorManager
[](https://opensource.org/licenses/MIT)


This **openFrameworks** add-on is a **bundle of Tools and Engines** to create and organize **Color Palettes** for your scenes.
## Screenshot

## Videos
**ofxColorManager**: (YouTube)
[](http://www.youtube.com/watch?v=oSvGwpbWEuc "VIDEO")
**ofxColorClient**: (YouTube)
[](http://www.youtube.com/watch?v=oSvGwpbWEuc "VIDEO")
## Engines
_Send palettes to the Editor._
1. Algorithmic **Theory Schemes** from a base color.
*Analogous, Compound, Flipped Compound, Monochrome, Tetrad, Triad, Complementary, Split and Flipped.*

2. **Range Spaces** between two colors.
*RGB, HSL, HSV, HSB, LUV, LAB, HLAB, LCH, CMY, CMYK, YXY, and XYZ.*

3. [**Colour Lovers API**](https://www.colourlovers.com/) to search keywords online, handle favorites, and history search.

4. **Extract** the Dominant Colors **from image files**.
*Sorting by Dominance, Hue, Saturation or Brightness*.

## Tools
_Palettes Management._
* **EDITOR**:
* Receive from the Engines and organize the palette colors.
* Edit using the color pickers, tweak global Hue/Sat/Brg and.
* Access to +2000 _Pantone_ colors library.
* Add, remove, sort, shift, copy and drag colors.
* [Coolors.co](https://coolors.co/palettes/trending) URL import/export:
Adobe .ASE, CSS, SVG, ...
* **KIT OF PRESETS MANAGER**:
* Receive palettes, name and save to Presets Kit.
* Tweak, delete or duplicate Pesets from your Kit.
* Fast preview all your presets on a scrollable clickable panel.
* Your Palettes Kit is ready to use in other apps using the **ofxColorClient** player.
* **GRADIENT DESIGNER**:
* Auto-generates a gradient for each palette.
* Exposes all the gradient colors + one extra pickable color.
* Tweackeable curve to deform spread distribution.
* Palettize gradient as a NEW preset palette.
## THREE WORKFLOW SETUPS
### 1. POWERED STANDALONE
**ONE SINGLE APP**
Use the add-on inside your _Scene Render App_ when you want to use all the bundled Tools.
( _Requires all the dependencies._ )
### 2. MINIMAL STANDALONE
**ONE SINGLE APP**
A **Lightweight** Mode into your _Scene Render App_. Only using the **ofxColorClient** add-on.
( Without the bigger **ofxColorManager** )
Just as a player or palettes browser, but without all the Engines and Tools.
Only included some minimal edit tools. Fewer dependencies.
### 3. DUAL LINKED
**TWO APPS: Master and Client Apps**
All the Engines and Tools, but with a more handy setup.
Links a **MASTER OF_App** (with the **ofxColorManager**) to your **CLIENT OF_App** (with the **ofxColorClient**).
## ofxColorClient: THE PLAYER ADD-ON
* A Lightweight version of the add-on.
* Works in the **Standalone Mode** too.
* Browse and use your **Palettes Presets Kit** files.
* A Pack of tools:
Palettes Kit Browser, Colors and Gradient previews, and tweakeable tweened timed transitions.
* Also used by **ofxColorManager**.
## Ready-To-Use Binaries
Ready to use pre-compiled versions for fast testing, or to have executable apps with for the most common uses/learning.
*Windows* / *macOS*
## 1. **PALETTO v1.0**
**MASTER APP**
Works Standalone or Linked to a **CLIENT APP**
( _1-example_Basic_ from **ofxColorManager** )
### **Download**:
## 2. **Scene_COLORiZED v1.0**
**CLIENT APP**
Works Standalone or Linked to a **MASTER APP**
( _3-example_Scenes_ from **ofxColorClient** )
### **Download**:
## Extra Info
HowTo / Guide
**THREE DIFFERENT WORKFLOWS**
1. Open the **MASTER App** alone to create, manage and browse palettes. Explore the *GUI*.
2. Open the **CLIENT App** alone and browse the bundled kit of presets files.
3. To play on **Linking Mode**:
Open both **MASTER** and **CLIENT** Apps, and start creating and browsing presets on **MASTER** App,
and look how **CLIENT** App is linked and coloring your scene.
* NOTES / HELP
* When **TCP Linking**, you should open the **Master App** at first.
* Sometimes you need to toggle _Off/On_ the **TCP Link** toggle.
Other Features
* Import and export [Coolors.co](https://coolors.co/palettes/trending) URL format using clipboard copy/paste.
* **Demo Scenes** for fast palette preview. Colored SVG with blending and Bubble scenes.
* **ImGui** based GUI. Docked and customizable with layouts presets management.
* Hue wheel and rectangle **Color Pickers** with **HSV** sliders and clipboard copy/paste codes.
* **Pantone** library with **2000+ colors**.
* Kit exporter of all **JSON** preset files to your project **DATA PATH**.
(Can be used on the Standalone Client App.)
Usage
**ofApp.h**
```.c++
#include "ofxColorManager.h"
ofxColorManager colorManager;
vector palette; // the colors
```
**ofApp.cpp**
```.c++
void ofApp::setup()
{
colorManager.setLinkPalette(palette); // subscribe local palette
colorManager.setup();
}
void ofApp::draw()
{
/*
COLORiZE
Nothing more!
*/
}
```
Required Dependencies
Clone these add-ons and include into the **OF Project Generator** to allow compile your projects or the examples:
* [ofxColorClient](https://github.com/moebiussurfing/ofxColorClient)
* [ofxImGui](https://github.com/Daandelange/ofxImGui/tree/jvcleave) [ Fork from @Daandelange. Thanks **Daan**! ]
* [ofxSurfingHelpers](https://github.com/moebiussurfing/ofxSurfingHelpers)
* [ofxScaleDragRect](https://github.com/moebiussurfing/ofxScaleDragRect)
* [ofxIO](https://github.com/bakercp/ofxIO)
* [ofxKuNetwork](https://github.com/moebiussurfing/ofxKuNetwork) [ Fork from @kuflex ]
* ofxNetwork [ **OF** ]
* ofxPoco [ **OF** ]
* ofxGui [ **OF** ]
* ofxOpenCv [ **OF** ]
* ofxXmlSettings [ **OF** ]
* [ofxSCENE-SVG](https://github.com/moebiussurfing/ofxSCENE-SVG) [ Only for the example ]
* [ofxWindowApp](https://github.com/moebiussurfing/ofxWindowApp) [ Only for the example ]
Included Dependencies
The above add-ons already packed somewhere into **OF_ADDON/libs**.
No need to add them manually with the **OF Project Generator**:
* [ofxColorQuantizerHelper](https://github.com/moebiussurfing/ofxColorQuantizerHelper)
* [ofxColorsBrowser](https://github.com/moebiussurfing/ofxColorsBrowser)
* [ofxColourLoversHelper](https://github.com/moebiussurfing/ofxColourLoversHelper)
* [ofxMouseRuler2](https://github.com/moebiussurfing/ofxMouseRuler2)
* [ofxCameraSaveLoad](https://github.com/roymacdonald/ofxCameraSaveLoad)
* [ofxColorMorph](https://github.com/makobouzu/ofxColorMorph)
* [ofxColorPalette](https://github.com/aspeteRakete/ofxColorPalette)
* [ofxColorTheory](https://github.com/kasparsj/ofxColorTheory)
* [ofxColourLovers](https://github.com/borg/ofxColourLovers)
* [ofxColorQuantizer](https://github.com/mantissa/ofxColorQuantizer)
* [ofxHttpUtils](https://github.com/arturoc/ofxHttpUtils)
* [ofxSimpleTimer](https://github.com/HeliosInteractive/ofxSimpleTimer)
* [ofxAppUpdateNotifier](https://github.com/Mat-Loz/ofxAppUpdateNotifier)
* [ofxJSON](https://github.com/jeffcrouse/ofxJSON)
For **ofxColorClient**:
* [ofxAnimatable](https://github.com/armadillu/ofxAnimatable)
* [ofxColorGradient](https://github.com/armadillu/ofxColorGradient)
* [ofxCurvesTool](https://github.com/kylemcdonald/ofxCurvesTool)
* [ofxSerializer](https://github.com/bakercp/ofxSerializer)
* [ofxSimpleSlider](https://github.com/moebiussurfing/ofxSimpleSlider) [ Fork ]
* [ofxMSAInteractiveObject](https://github.com/moebiussurfing/ofxMSAInteractiveObject) [ Fork ]
*Thanks a lot to all these ofxAddons coders. Look into each folder for authoring CREDITS, original forks, and license info.*
Preset File format
The **JSON** FILE FORMAT of a palette preset quite simple.
This is an example of a _3 colors palette_ file content:
```.json
[
{
"a": 255,
"b": 206,
"g": 69,
"r": 4
},
{
"a": 255,
"b": 165,
"g": 103,
"r": 3
},
{
"a": 255,
"b": 125,
"g": 137,
"r": 3
}
]
```
Tested Systems
- **Windows 10** / **VS 2017** / **OF ~0.11**
- **macOS**. **High Sierra** / **Xcode9** & **Xcode10** / **OF ~0.11**
Credits
*List of GitHub names of all coders of used ofxAddons:*
@jvcleave, @Daandelange, @roymacdonald, @bakercp, @kuflex, @borg, @mantissa, @makobouzu, @aspeteRakete, @kasparsj, @arturoc, @HeliosInteractive, @frauzufall, @armadillu, @kylemcdonald, @golanlevin, @Mat-Loz, @memo, @jeffcrouse.
IDEAS / TODO
+ Create an App using all the power but more user-friendly and a very simplified GUI. _(?)_
+ Export Adobe .ASE, .ACO, ...etc _(?)_
+ Think about other creative code tools client/add-on: *Processing* / *Unity3D* / *UE4* clients plug-ins. _(?)_
+ Tween transitions to presets also on master app. _(?)_
+ Undo engine. _(?)_
+ Improve Gradient Engine adding cosine/shifting algorithms.
+ Add an example and improve gradient exposing and background tool.
+ [ofxCosineGradient](https://github.com/rystylee/ofxCosineGradient)
+ [DearWidgets](https://github.com/soufianekhiat/DearWidgets)
## Author
An addon by **@moebiusSurfing**
*( ManuMolina ) 2019-2021*
## License
[**MIT License**](https://github.com/moebiussurfing/ofxColorManager/blob/b29c56f7b0e374b6a6fe2406e45fbfaaf2726112/LICENSE)
📫 Contact / Follow
Twitter |
YouTube |
Instagram |
GitHub |
Email
### 🔭 Comming Soon...