Better Interface: Infinite zoomable and panable Workspace
- Dominant language
- C++
- Stars
- 10.4k
- Forks
- 1.3k
- Avg merge
- 2d 13h
- Merged PRs (30d)
- 7
Description
I've made a better concept: https://github.com/LMMS/lmms/issues/6272
### Enhancement Summary
I've posted this already in the discord lmms channel where it was so good the whole conversation got deleted :
Make the workspace into an unlimited canvas like blenders node workspace. It resizes already so just make it bigger, add in panning and zooming. Then add screen regions where one can choose to add different components, either another canvas, tool or sidebar. Those regions would allow the use of multiple monitors! A small monitor could be for fixed elements and a big 4k monitor could be split up in multiple canvas workspaces. It would also allow moving the different workspace elements to other sides of the screen for a better individual workflow.
#### Justification
Lmms reminds me of blender 2.7 very powerful but hard to use. It is rigid, slow to work with and the workspace is messy.
That simple change would declutter lmms and make faster and easier to use. It would also place lmms on the track to industry standard like blender.
#### Mockup
-Red lines are the regions.

-------------------------------------------------------------------------------------------------------------------------------------------------------------------------
New concept after discussing it:
- Instead of adding a zoom improve the scaling.
- Regions/views that can be arranged. I would make that a mix of fixed parts and the current infinite workspace.
Just snapping workspace windows to each other without overlap would already work. We could let users overlap windows but they would have to uncheck a checkbox to disable the snapping. Kind of like blenders snap to grid/object.
Then if the user can choose to keep something in the workspace or move it outside to be fixed to the "screen" there could be lists/dropdowns/toolbars used to navigate the inf. workspace or maximized inf. workspace windows. This would be better then clicking on the song editor that is inside the workspace.
- New Workspace tabs to completely switch out the workspace. These new non inf. workspaces could then be used on different monitors to increase the overall workspace.
- Panning with the mouse to move through the infinite workspace.
- Switching out maximized tracks/editors for the "one screen" workflow for this the user just would have to use a fixed to screen list menu and check a maximize workspace window checkbox. This could also be a workspace tab preset.
- If it's not possible to zoom out maybe rendering some sort of minimap that is shown in an extra window a user could fix to the sceen, would work as an overview for the infinite workspace.
Contributor guide
No contributing guide indexed for this repository
Research direction
Start with the linked concept issue #6272 and the mockup, then inspect the current workspace behavior in LMMS. The work would be complete when the agreed workspace design supports the specified canvas navigation, arrangeable regions or tabs, and multi-monitor workflow.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- design, desktop
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 15/100