Comments (3)
In case you are calculating the base Slur parameters using the curve
tagParameter, I'd be curious to take a look there and see how h
are explodes.. We actually see this phenomenon on various places
from guidolib.
this is actually computed in GRSlur.cpp : GRSlur::automaticControlPoints
The rationale is to compute 3 points that form an isosceles triangle. The task is easy for the anchor points (leftmost and rightmost, computed elsewhere). The middle point is adjusted according to the bounding boxes of the enclosed notes and results from start and end slopes computations.
It's quite tricky to modify the algorithm without breaking the rendering (that works pretty well in most situations). I think one of the issues is the symmetry of the design : both slopes (start and end) are forced to the same value while it might sometimes be more elegant to have an asymmetric slur.
In the above example, the sharp on the second note enforces a steep slope from the beginning (just remove it to see). One solution could be to move the left anchor point a bit lower (which could preserve the symmetry of the design). But for the time being, the problem is to detect this kind of situation and to identify the possible anchor point to move...
from guidolib.
fixed (but still room for improvements)
from guidolib.
Related Issues (20)
- Correctly show embellishments for Great Highland Bagpipes HOT 5
- lower part with half note HOT 3
- CMake target names are inconsistent HOT 2
- Symbol visibility issues on Windows HOT 2
- Alterations on chords collide with previous score elements HOT 3
- Slur Collision when the slur spams more than one system HOT 1
- Double flat is rendered as four if repeated on a 2nd voice HOT 1
- Dots are not drawn in Tuplets HOT 1
- Incorrect beam dash direction HOT 1
- Fix staff/system size with more notes HOT 14
- Cross Staff Grace Notes rendering issue with Beaming HOT 3
- Octavia on cross-staff can lead to destructor Crash HOT 6
- Incorrect chords beaming HOT 1
- Is the project version 177 or 1.6.8? HOT 1
- Qt apps aren't built
- Build fails when GL=ON
- Could you please consider using exact version strings as tags? HOT 4
- Software to convert from Guido notation to Musical Encoding Initiative (MEI)? HOT 1
- Incorrect beaming inside Grace
- Javascript build is missing a ES6 output option. HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from guidolib.