diff --git a/src/midi.cpp b/src/midi.cpp index 3fb7efc..1d1329c 100644 --- a/src/midi.cpp +++ b/src/midi.cpp @@ -62,12 +62,10 @@ namespace VISEQ::MIDI { } void Midi::note(int midi_out, int channel, int note, int velocity, int gate){ - std::cout << "note on " << midi_out << " " << midi_outs.contains(midi_out) << std::endl; if(midi_outs.contains(midi_out)){ if(midi_outs[midi_out]->is_port_open()){ midi_outs[midi_out]->send_message(libremidi::channel_events::note_on(channel, note, velocity)); notes.emplace_back(midi_out, channel, note, velocity, GetTime(), gate); - std::cout << "note on " << midi_out << std::endl; } } } diff --git a/src/signal-manager.cpp b/src/signal-manager.cpp index da5ab39..fbd6b4c 100644 --- a/src/signal-manager.cpp +++ b/src/signal-manager.cpp @@ -86,21 +86,21 @@ namespace VISEQ::SIGNAL { auto last = std::chrono::high_resolution_clock::now(); while(loop){ std::chrono::duration diff = std::chrono::high_resolution_clock::now() - last; - if((int)diff.count() >= 250){ + if((int)diff.count() >= 100){ mutex->lock(); if(play){ for(auto& s : signals){ s->direction = (s->next.lock()->position - s->position).norm(); s->update(diff.count()); - if(s->position.dist(s->next.lock()->position) < 0.6f) { + if(round(s->position.dist(s->next.lock()->position)) == 0) { WPTR_Node next_node = gm->next(s->next, s->last); s->next.lock()->trigger(); if(next_node.lock() != s->next.lock() && !next_node.expired() && s->next.lock()->getNodeType() == NodeType::MIDINODE) { auto midinode = std::dynamic_pointer_cast(s->next.lock()); for(auto &m : midinode->selected_midi_outs){ - std::cout << m.second.name << " " << m.second.i << " " << m.second.enabled << std::endl; if(m.second.enabled) { + std::cout << std::chrono::high_resolution_clock::now() << " : " << diff.count() << " " << m.second.name << " " << m.second.i << " " << m.second.enabled << std::endl; if(midinode->send_note) midi.note(m.second.i, midinode->getNotes().channel, (int)Clamp(midinode->getNotes().note + s->midi_note_offset, 0, 127), midinode->getNotes().velocity, midinode->getNotes().gate); if(midinode->send_cc) midi.cc(m.second.i, midinode->getCC().channel, midinode->getCC().control, (int)Clamp(midinode->getCC().value + s->midi_cc_offset, 0, 127)); if(midinode->send_pc) midi.pc(m.second.i, midinode->getPC().channel, midinode->getPC().value); diff --git a/src/ui.cpp b/src/ui.cpp index 1f6c812..5d248e3 100644 --- a/src/ui.cpp +++ b/src/ui.cpp @@ -79,9 +79,11 @@ namespace VISEQ::APP::UI{ s->multiplier = state->settings.bpm / 120.0f; float signal_bpm = round(state->settings.bpm * s->multiplier * (s->speed / state->settings.speed)); if(GuiSpinner((Rectangle){70, (float)s_signal+70 + signal_configs*20, 100, 20}, "", &s_speed, 1, 16 * state->settings.grid * 4, s->ui_edit_speed)) s->ui_edit_speed = !s->ui_edit_speed; + + GuiLabel((Rectangle){175, (float)s_signal+70 + signal_configs*20, 40, 20}, std::format("{}",signal_bpm).c_str()); + if(GuiButton((Rectangle){200,(float)s_signal+70 + signal_configs*20, 30, 20}, "1/2")) s_speed = state->settings.speed / 2; //if(GuiButton((Rectangle){200,(float)s_signal+70 + signal_configs*20, 30, 20},"1/4")) s_speed = state->settings.speed / 4; - GuiLabel((Rectangle){195, (float)s_signal+70 + signal_configs*20, 30, 20}, std::format("{}",signal_bpm).c_str()); GuiToggle((Rectangle){240, (float)s_signal+70 + signal_configs*20, 20, 20},"P", &s->run); s->speed = s_speed; signal_configs++;