LMMS / LMMS/lmms

Better Interface: Infinite zoomable and panable Workspace

Open
#6,266 15 comments 2 reactions 0 assignees View on GitHub
enhancement
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.
![mockup](https://user-images.githubusercontent.com/40721994/148923296-a507084a-bf5a-4988-850d-8d22417f20dd.png)

-------------------------------------------------------------------------------------------------------------------------------------------------------------------------
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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.