diff --git a/Source/envelope_component.cpp b/Source/envelope_component.cpp index 8a3d88e..48876f2 100644 --- a/Source/envelope_component.cpp +++ b/Source/envelope_component.cpp @@ -210,7 +210,11 @@ void EnvelopeComponent::mouseMove(const MouseEvent & ev) } else { - setMouseCursor(MouseCursor::NormalCursor); + int temp = findHotEnvelopeSegment(ev.x, ev.y, true); + if (temp>=0) + setMouseCursor(MouseCursor::UpDownResizeCursor); + else + setMouseCursor(MouseCursor::NormalCursor); m_bubble.setVisible(false); } } @@ -412,7 +416,7 @@ int EnvelopeComponent::findHotEnvelopeSegment(double xcor, double ycor, bool det double normx = jmap(xcor, 0.0, getWidth(), m_view_start_time, m_view_end_time); double yval = m_envelope->GetInterpolatedNodeValue(normx); float ycor0 = (float)(getHeight()-jmap(yval, 0.0, 1.0, 0.0, getHeight())); - juce::Rectangle segrect2((float)(xcor - 20), (float)(ycor - 20), 40, 40); + juce::Rectangle segrect2((float)(xcor - 20), (float)(ycor - 10), 40, 20); if (segrect2.contains((float)xcor, ycor0)) return i; } diff --git a/Source/jcdp_envelope.h b/Source/jcdp_envelope.h index 9e7b527..b78b35c 100644 --- a/Source/jcdp_envelope.h +++ b/Source/jcdp_envelope.h @@ -577,7 +577,7 @@ public: double scaled = 0.5 - m_transform_y_scale * diff; double shifted = scaled + m_transform_y_shift + m_transform_y_sinus* sin(2*3.141592653*(x-m_transform_x_shift)*m_transform_y_sinus_freq); - double tiltline = m_transform_y_tilt*x; + double tiltline = m_transform_y_tilt-(2.0*m_transform_y_tilt*x); double tilted = shifted+tiltline; return jlimit(0.0,1.0,tilted); }