summaryrefslogtreecommitdiff
path: root/NT/src/rotor.h
diff options
context:
space:
mode:
Diffstat (limited to 'NT/src/rotor.h')
-rw-r--r--NT/src/rotor.h42
1 files changed, 42 insertions, 0 deletions
diff --git a/NT/src/rotor.h b/NT/src/rotor.h
index 59533f5..6ed3b67 100644
--- a/NT/src/rotor.h
+++ b/NT/src/rotor.h
@@ -90,6 +90,33 @@ namespace Rotor {
class Node;
template <class NT> class Node_type;
+ class Colour{
+ public:
+ Colour(){
+ r=g=b=0;
+ }
+ Colour(int c){
+ r=c&0xFF;
+ g=(c&0xFF00)>>8;
+ b=(c&0xFF0000)>>16;
+ }
+ Colour(std::string s){
+ r=(uint8_t)hexToChar(s.substr(0,2));
+ g=(uint8_t)hexToChar(s.substr(2,2));
+ b=(uint8_t)hexToChar(s.substr(4,2));
+ }
+ double Rdouble(){
+ return ((double)r)/255.0;
+ }
+ double Gdouble(){
+ return ((double)g)/255.0;
+ }
+ double Bdouble(){
+ return ((double)b)/255.0;
+ }
+ uint8_t r,g,b;
+ };
+
class Enum{
//enumerated string type for node options that can appear in a menu
public:
@@ -215,6 +242,9 @@ namespace Rotor {
void set(const T& val){
value=val;
}
+ const T& get(){
+ return value;
+ }
bool create_connection(std::unordered_map<std::string,Node*> &nodes){
for (auto node:nodes){
if (node.first==input){
@@ -360,6 +390,18 @@ namespace Rotor {
protected:
NT result; //internal value is returned as a reference
};
+
+ typedef Node_type<double> Number_node;
+ typedef Node_type<string> String_node;
+ typedef Node_type<Image> Image_node;
+
+ typedef Variable_type<double> Number_inlet;
+ typedef Variable_type<string> String_inlet;
+ typedef Variable_type<Image> Image_inlet;
+
+ typedef Variable_array_type<double> Number_array;
+ typedef Variable_array_type<string> String_array;
+ typedef Variable_array_type<Image> Image_array;
}
#endif //ROTOR_H