diff --git a/Source/PluginEditor.cpp b/Source/PluginEditor.cpp index dfad35a..3e45997 100644 --- a/Source/PluginEditor.cpp +++ b/Source/PluginEditor.cpp @@ -719,7 +719,7 @@ void SpectralChainEditor::setSource(StretchAudioSource * src) void SpectralChainEditor::mouseDown(const MouseEvent & ev) { m_did_drag = false; - int box_w = getWidth() / m_order.size(); + int box_w = getWidth() / m_order.size(); int box_h = getHeight(); m_cur_index = ev.x / box_w; if (m_cur_index >= 0) @@ -730,7 +730,7 @@ void SpectralChainEditor::mouseDown(const MouseEvent & ev) m_order[m_cur_index].m_enabled = !m_order[m_cur_index].m_enabled; m_src->setSpectrumProcessOrder(m_order); repaint(); - return; + return; } } m_drag_x = -1; @@ -739,9 +739,13 @@ void SpectralChainEditor::mouseDown(const MouseEvent & ev) void SpectralChainEditor::mouseDrag(const MouseEvent & ev) { - if (m_cur_index >= 0 && m_cur_index < m_order.size()) + int box_w = getWidth() / m_order.size(); + juce::Rectangle r(box_w*m_cur_index, 1, 12, 12); + if (r.contains(ev.x, ev.y)) + return; + if (m_cur_index >= 0 && m_cur_index < m_order.size()) { - int box_w = getWidth() / m_order.size(); + int box_h = getHeight(); int new_index = ev.x / box_w; if (new_index >= 0 && new_index < m_order.size() && new_index != m_cur_index) diff --git a/Source/PluginEditor.h b/Source/PluginEditor.h index 8518971..3e63c67 100644 --- a/Source/PluginEditor.h +++ b/Source/PluginEditor.h @@ -156,7 +156,7 @@ private: bool m_did_drag = false; int m_cur_index = -1; int m_drag_x = 0; - std::vector m_order; + std::vector m_order; void drawBox(Graphics& g, int index, int x, int y, int w, int h); };