node ui and interaction improvements

This commit is contained in:
Sebastian
2024-10-27 00:40:57 +02:00
parent cb08f69e3b
commit bd17288ab0
8 changed files with 88 additions and 23 deletions
+3 -2
View File
@@ -59,7 +59,7 @@ class SignalManager{
}
void addSignalAtNode(int node_id){
Color c = {(unsigned char)(20 + (rand() % 200)), 50, (unsigned char)(20 + (int)(rand() % 200)), 255};
Color c = {(unsigned char)(20 + (rand() % 200)), 100, (unsigned char)(20 + (int)(rand() % 200)), 200};
signals.emplace(signals.end(), Signal(nm->nodes[node_id].position.x+1, nm->nodes[node_id].position.y+1, 5.0f, 0, c)); // position + 1 or else it does not render. why? no idea!
signals.back().next = node_id;
signals.back().last = node_id;
@@ -82,7 +82,8 @@ class SignalManager{
s.update(diff.count());
if(s.position.dist(&nm->nodes[s.next].position) < 1.0f) {
int n = cm->next(s.next, s.last);
nm->nodes[s.next].trigger();
if(n != s.next && n != -1) {
for(auto &m : nm->nodes[s.next].midi_outs){
if(m.second.enabled) midi.note(m.second.i, nm->nodes[s.next].midi_channel, nm->nodes[s.next].midi_note, nm->nodes[s.next].midi_velocity, nm->nodes[s.next].midi_gate);