• 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Moving multiple annotations
#1
Hi Mike,

Sometimes  need to reposition a multiple selection of annotations. Although the nudge tool is good for small distances, it would be useful to be able to grab with the stylus the selection and move it quickly to the new location.  At the moment if I try to do that the selection is lost and the stylus only grabs the annotation under it.
Any chance to fix that, maybe by long tapping on the selection?
Thanks
Onyx Boox Max Lumi 13.3 -Android 10
Dell Latittude 5290 2-in1 (Win 11)
Donner BT pedal
_________________
www.juandemarias.com
Victoria, BC, Canada - PST (UTC-8)
Reply
#2
I see two options for this:

1) I can try to modify the logic such that, if you have multiple annotations selected, then you press down on one of them to drag the whole group, instead of clearing the selection and reselecting just the one annotation, I don't clear the selection and identify that the user is pressing on something that is already selected allowing the whole group to be moved. This sounds simple in nature, but it may actually be problematic with certain behavior/scenarios, and it also makes it more difficult to individually select annotations when many are overlapping. It would also mean that, if you want to switch from selecting a group of annotations to selecting an individual annotation, you would first have to tap away to deselect, then tap again to select, which could be tedious.

2) I can add a concept of grouping annotations (which is something I already planned on adding). If annotations are grouped, then any actions that are performed will be performed on the entire group at once. This allows all annotations to be moved at once, or edited at once without having to select them all at the same time. It would be easy to ungroup them too, if the objective is to group them, move them, then ungroup them. This is my preferred approach, but does require a lot of new code.

Would option #2 work okay for you or would you prefer something more like option #1?

Thanks,
Mike
Reply
#3
(03-09-2022, 05:22 AM)Zubersoft Wrote: I see two options for this:

1) I can try to modify the logic such that, if you have multiple annotations selected, then you press down on one of them to drag the whole group, instead of clearing the selection and reselecting just the one annotation, I don't clear the selection and identify that the user is pressing on something that is already selected allowing the whole group to be moved. This sounds simple in nature, but it may actually be problematic with certain behavior/scenarios, and it also makes it more difficult to individually select annotations when many are overlapping. It would also mean that, if you want to switch from selecting a group of annotations to selecting an individual annotation, you would first have to tap away to deselect, then tap again to select, which could be tedious.

2) I can add a concept of grouping annotations (which is something I already planned on adding). If annotations are grouped, then any actions that are performed will be performed on the entire group at once. This allows all annotations to be moved at once, or edited at once without having to select them all at the same time. It would be easy to ungroup them too, if the objective is to group them, move them, then ungroup them. This is my preferred approach, but does require a lot of new code.

Would option #2 work okay for you or would you prefer something more like option #1?

Thanks,
Mike

Personally I prefer method 1 at the moment although the planned addition of method 2 in the future is also good idea.  The usual scenario for me is moving a group of guitar fingerings for example. I usually use the arrow to select them as window (since there's no way to add-remove objects individually at the moment either)  then I move them with the nudge tool which is very slow if is a long distance. Then I delete the ones that were in the selection window which I don't need in the new location.
On occasion I choose to cut the selection and I paste it roughly on the new location and adjust it with the nudge tool.
Onyx Boox Max Lumi 13.3 -Android 10
Dell Latittude 5290 2-in1 (Win 11)
Donner BT pedal
_________________
www.juandemarias.com
Victoria, BC, Canada - PST (UTC-8)
Reply
#4
Moving annotations is my biggest pain point with MS. It works pretty well for almost everything that I need but as soon as I want to move annotations I mostly have to fall back to erasing the original annotations and redraw them in the desired position, which is more than annoying. I usually make lead sheets when learning new songs, meaning I create a blank page and use a stylus to sketch out the structure and add accents and whatnot. When I then want to refine or change the structure of the lead sheet I often have to draw more stuff in between existing annotations, meaning I have to move some of them around to make space. This is almost impossible at the moment for several reasons:

1. I can't use the automatic grouping (combine freeform annotations) because in 99% of cases it groups parts that I don't want to be grouped (like some text and half of a staff below it).
2. This means I have to disable the freeform combining, which in itself would be fine, but moving them around with the nudging tool is painfully slow. I can see each individual annotation move one after another and it takes almost 10min to move a bit of text down a few centimeters.
3. The nudging tool is way too slow in general. 

I'd prefer to be able to drag and drop the selected annotations (like option 1 from the previous posts). If moving all the annotations is too performance intensive for some reason, just showing the bounding box while dragging would also be enough for me. I really just need a way to move any annotations around quickly, it doesn't have to be pretty.
Reply
#5
What type of device are you using? You can adjust the nudge tool speed (tap the 1X icon at the top right), and even moving a large number of annotations at once is pretty fast on my tablets. I'm not testing on an e-ink device though - the refresh of an e-ink device is certainly more problematic. 

I am going to add grouping capabilities in version 3.10.0. Also, you can leave freeform combining on, but just use a two finger tap and then a two finger tap again to switch away from the freeform tool and then back again. That effectively commits your current drawing and it will be treated as a separate annotation. It's only when you continually draw without every switching tools or settings that you will run into an issue with too many things being grouped.

Mike
Reply
#6
I'm on a Surface Pro 8 (Windows 11) and the nudge tool is already at max (5x). I tried to attach a video but that didn't work, so here's a link instead. The problem with exiting and re-entering the freeform tool is that it's very easy to forget, especially when you write text or draw some bars. This happens to me all the time which is why I disabled grouping some time ago.
Reply
#7
I believe that is becaused you are zoomed in so much, and the graphics library is struggling to redraw quickly while being zoomed in so much. If you zoom out more, does the nudge tool then move things faster? Also, do you have GPU rendering enabled in the settings under Settings->Display Settings? This will allow the device to render much faster while annotating.

Mike
Reply
#8
Ok now this is interesting. There is no noticeable difference between 100% and 500% zoom. Hardware acceleration was enabled so I figured I disable it and see what happens. For the same annotations shown in the video, having GPU rendering disabled is way more performant. There is no stuttering and all strokes move together (no lag between strokes). However, when moving a larger selection (e.g. 8 bars instead of the 1 shown in the video) the editor basically freezes up when nudging, making it unusable. I've also played around with Windows' power plans and rendering settings, to no avail unfortunately. 

I'm a software dev as well so if I can do something else to help debugging let me know.
Reply
#9
Please long press/right-click your song on the library screen, tap Share->Export as .msf and share the .msf with mike@zubersoft.com. I'll test it out on my Surface Pro 8 to see if there is anything I can do to improve the performance, at least before the changes are introduced with version 3.10.0 to allow annotations to be grouped.

Thanks,
Mike
Reply
#10
It looks like the nudging issue is due to a major difference between how rendering used to work with Win2D and the current implementation that uses Skia. To summarize, MobileSheets is refreshing and redrawing the entire page and all annotations after each individual annotation is moved. That means if 50 annotations are selected, and 50 are nudged, it redraws the page and all annotations 50 times, which is why you see the horrendously long delay. With the old implementation, I was flagging the page as needing to be refreshed, which would happen asynchronously, so it was okay to do that 50 times. With the new implementation, it immediately triggers a re-rendering, so I have to be careful to only do it once per page that needs refreshing. This will be fixed with 3.9.0.

Thanks,
Mike
Reply
#11
That's great news! Thanks for supplying a fix, that will make my life a bit easier. If it's not too much work to do, would you mind increasing the max speed of the nudging tool? Maybe add 10x and 50x?
Reply
#12
I can consider it, but I don't have any icons to use, so I would have to design and build some new ones.

Mike
Reply




Users browsing this thread:
1 Guest(s)


  Theme © 2014 iAndrew  
Powered By MyBB, © 2002-2024 MyBB Group.