BoBo wrote: ↑22 Feb 2022, 06:27
AFAIK, @bichlepa's
AutoHotflow could give you an idea. Well, I might be wrong. Make up your mind
![Cool 8-)](./images/smilies/icon_cool.gif)
& good luck
Thanks for that,
@BoBo. Unfortunately, it's way above my pay grade, especially as the code is in lots of different scripts. I'll need something quite simple for me to understand! Looks like a very interesting project that though.
I was thinking it might be a case of defining 'sprite' images, and that I might have to get my head around 'layered windows', but I'm just guessing from some searches. Even moving these around as sprites will be interesting, because the notes have a shader, indicating how long they play for, and these can be of various lengths and the notehead can be various shapes, so it wouldn't just be a few sprites, as far as I can guess.
I could, of course, just re-draw the whole page of music (or line, if nothing is moved onto another line by the change) every time a note is nudged up or down, etc., but it's rather slow.
I may have to abandon the idea of bumping notes around repeatedly (i.e. if the note was moved up several lines) and just allow the user to select the note and then define where its destination is, or change its horizontal position or length. That way it would only require one re-drawing and speed would be less important.
I'm also forgetting that the slowness I'm seeing is only partly the GDI+ functions - I'm also parsing a text file that has the notes. I'll try reading the values into arrays first (which is how it would work eventually anyway) and re-draw from those. It might not be a problem. Cheers!