Values and indicators match now
This commit is contained in:
+1
-1
@@ -76,7 +76,7 @@ namespace VISEQ::GRAPH::NODES {
|
|||||||
float orbit_5 = orbit_4 + 30.0f;
|
float orbit_5 = orbit_4 + 30.0f;
|
||||||
|
|
||||||
midiNoteHandles.emplace_back(std::make_shared<NodeHandle<int>>(midiNote.note, position, VS_COLOR_GREEN, "NOTE", orbit_5, 12));
|
midiNoteHandles.emplace_back(std::make_shared<NodeHandle<int>>(midiNote.note, position, VS_COLOR_GREEN, "NOTE", orbit_5, 12));
|
||||||
midiNoteHandles.emplace_back(std::make_shared<NodeHandle<int>>(midiNote.channel, position, VS_COLOR_PINK, "CHANNEL", orbit_1, 1, 1, 16, 40, 150));
|
midiNoteHandles.emplace_back(std::make_shared<NodeHandle<int>>(midiNote.channel, position, VS_COLOR_PINK, "CHANNEL", orbit_1, 16, 1, 16, 40, 150));
|
||||||
midiNoteHandles.emplace_back(std::make_shared<NodeHandle<int>>(midiNote.gate, position, VS_COLOR_RED, "GATE", orbit_3, 30, 10, 30000, 40, 300));
|
midiNoteHandles.emplace_back(std::make_shared<NodeHandle<int>>(midiNote.gate, position, VS_COLOR_RED, "GATE", orbit_3, 30, 10, 30000, 40, 300));
|
||||||
midiNoteHandles.emplace_back(std::make_shared<NodeHandle<int>>(midiNote.velocity, position, VS_COLOR_PURPLE, "VELOCITY", orbit_4, 32));
|
midiNoteHandles.emplace_back(std::make_shared<NodeHandle<int>>(midiNote.velocity, position, VS_COLOR_PURPLE, "VELOCITY", orbit_4, 32));
|
||||||
|
|
||||||
|
|||||||
+20
-16
@@ -43,6 +43,8 @@ namespace VISEQ::GRAPH::NODES{
|
|||||||
int steps = 1;
|
int steps = 1;
|
||||||
float angle_g = 0;
|
float angle_g = 0;
|
||||||
|
|
||||||
|
float angle_start = 0;
|
||||||
|
|
||||||
Vec2Df minP;
|
Vec2Df minP;
|
||||||
Vec2Df maxP;
|
Vec2Df maxP;
|
||||||
|
|
||||||
@@ -62,13 +64,18 @@ namespace VISEQ::GRAPH::NODES{
|
|||||||
}
|
}
|
||||||
|
|
||||||
virtual void drag(Vec2Df mouse_pos) override {
|
virtual void drag(Vec2Df mouse_pos) override {
|
||||||
float range = maxValue - minValue;
|
float range = (maxValue - minValue) + 1;
|
||||||
float stepping = 360 / range;
|
float stepping = 360.0f / range;
|
||||||
if(KEYS_DOWN.shift) stepping = steps;
|
|
||||||
float angle = Vector2Angle((SCREEN_MOUSE - parentPosition), Vector2(0,1)) * RAD2DEG;
|
if(KEYS_DOWN.shift) stepping = 360.0f/steps;
|
||||||
float stepped_angle = (round(angle / stepping) * stepping) * DEG2RAD;
|
|
||||||
//position = parentPosition.orbitAlongVector(SCREEN_MOUSE, orbit) - parentPosition;
|
float angle = Vector2Angle((SCREEN_MOUSE - parentPosition), Vector2(0,1)) * RAD2DEG;
|
||||||
position = parentPosition.orbitAtAngle(orbit, stepped_angle) - parentPosition;
|
|
||||||
|
if(KEYS_PRESSED.ctrl) angle_start = angle;
|
||||||
|
if(KEYS_DOWN.ctrl) angle = angle_start + (angle - angle_start) / 10;
|
||||||
|
|
||||||
|
float stepped_angle = (round(angle / stepping) * stepping) * DEG2RAD;
|
||||||
|
position = parentPosition.orbitAtAngle(orbit, stepped_angle) - parentPosition;
|
||||||
}
|
}
|
||||||
|
|
||||||
void lock(){
|
void lock(){
|
||||||
@@ -86,10 +93,11 @@ namespace VISEQ::GRAPH::NODES{
|
|||||||
}
|
}
|
||||||
|
|
||||||
void updateAssignedValue(){
|
void updateAssignedValue(){
|
||||||
//T value = (T)Remap((float)(parentPosition + position).dist(parentPosition), minDistance, maxDistance, minValue, maxValue);
|
|
||||||
float angle = 360 - (Vector2Angle(position, Vector2(0,1)) * RAD2DEG + 180);
|
float angle = 360 - (Vector2Angle(position, Vector2(0,1)) * RAD2DEG + 180);
|
||||||
|
float range = (maxValue - minValue) + 1;
|
||||||
|
float stepping = 360.0f / range;
|
||||||
angle_g = angle;
|
angle_g = angle;
|
||||||
T value = (T)Remap(angle, 0, 360, minValue, maxValue);
|
T value = (T)Remap(angle, 0, 359 - stepping, minValue, maxValue);
|
||||||
assignedValueRef = value;
|
assignedValueRef = value;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -118,14 +126,10 @@ namespace VISEQ::GRAPH::NODES{
|
|||||||
Color dcol = ColorBrightness(col, -0.5f);
|
Color dcol = ColorBrightness(col, -0.5f);
|
||||||
Color dyncol = show ? col : dcol;
|
Color dyncol = show ? col : dcol;
|
||||||
|
|
||||||
//DrawLineV(minP, maxP, dcol);
|
|
||||||
//DrawLineV(parentPosition, minP, VS_COLOR_LIGHTGREY);
|
|
||||||
//DrawCircleV(minP, 3.0f, dyncol);
|
|
||||||
//DrawCircleV(maxP, 3.0f, dyncol);
|
|
||||||
if(steps > 0){
|
if(steps > 0){
|
||||||
for(int i = 0; i < 360; i += steps){
|
for(int i = 0; i < steps; i++){
|
||||||
Vec2Df pos = parentPosition.orbitAtAngle(orbit, DEG2RAD * i);
|
Vec2Df pos = parentPosition.orbitAtAngle(orbit, DEG2RAD * i * (360.0f/steps));
|
||||||
Vec2Df pos1 = parentPosition.orbitAtAngle(orbit - 4.0f, DEG2RAD * i);
|
Vec2Df pos1 = parentPosition.orbitAtAngle(orbit - 2.0f, DEG2RAD * i * (360.0f/steps));
|
||||||
//DrawCircleV(pos, 1.0f, dyncol);
|
//DrawCircleV(pos, 1.0f, dyncol);
|
||||||
DrawLineV(pos, pos1, dyncol);
|
DrawLineV(pos, pos1, dyncol);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user