LMMS / LMMS/lmms

"Siloed" Beat/Bassline Editor Proposal

Open
#453 8 comments 5 reactions 0 assignees View on GitHub
enhancement gui
Dominant language
C++
Stars
10.4k
Forks
1.3k
Avg merge
2d 13h
Merged PRs (30d)
7

Description

This enhancement is a recommendation to isolate instrument groups on separate Beat/Bassline Editor tracks.
![image](https://f.cloud.github.com/assets/6345473/2417161/33dd4358-ab18-11e3-9fb3-78c74d653949.png)

**The Good**
The philosophy behind the Beat/Bassline Editor is great as it allows the grouping of related instrument patterns into a single Song-Editor pattern.

> This allows a pattern like this in BB Editor:
> ![image](https://f.cloud.github.com/assets/6345473/2417063/9245859e-ab14-11e3-8fab-90c580c9ca61.png)
>
> To shrink to a size like this in the Song Editor:
> ![image](https://f.cloud.github.com/assets/6345473/2417064/9f1977bc-ab14-11e3-9f72-01630e4abaa1.png)

**How its used**
This "grouping" is so fantastic that some composers choose to make their entire composition out of Beat/Basslines due the ease of fast pattern rearranging (example provided):

> ![image](https://f.cloud.github.com/assets/6345473/2417085/7991c46c-ab15-11e3-8294-fc2a2fd71c44.png)

**The problem this creates**
The problem with this approach is that as the number of BB Editor tracks grow the Editor becomes more difficult to use. This is because of the many instrument tracks in the BB Editor, only a handful of them -- at one given time -- are actually used. This causes the "overflow" scenario seen here:

> Melody tracks overflow the BB Editor
> ![image](https://f.cloud.github.com/assets/6345473/2417128/c8308224-ab16-11e3-926c-c701665107dd.png)

When the overflow is large enough, each time a BB Editor is opened, it's becomes necessary to scroll to the very bottom to adjust or change a pattern.

**Worse: How Newbies Fix This**
For newcomers, the natural instinct to fix this to "clean up" the unused tracks to help isolate the melodies from the beats:

> Remove unused instruments to clean up this BB Editor...
> ![image](https://f.cloud.github.com/assets/6345473/2417212/6ab203ae-ab19-11e3-862f-e0bc446b956a.png)

**!?**
But we know this doesn't yield the results that are expected:

> BB Editor with the wrong instruments removed:
> ![image](https://f.cloud.github.com/assets/6345473/2417138/463dce4c-ab17-11e3-8ed3-c8f5badb40f3.png)

**Proposal**
This proposal is to allow the list of instruments to be stored specific to a Beat/Bassline.

"Clone This Track" would still clone the instruments used in the copied Beat/Bassline:

> Clone Track functionality (remain the same)
> ![image](https://f.cloud.github.com/assets/6345473/2417143/71203b5e-ab17-11e3-8bd6-ad44c558383e.png)
> ![image](https://f.cloud.github.com/assets/6345473/2417146/81e5ce04-ab17-11e3-9bb7-94ae774e1af0.png)

However new BB Editors would be a clean slate:

> New BB Editor functionality (proposed "clean slate")
> ![image](https://f.cloud.github.com/assets/6345473/2417230/1d9e7fc4-ab1a-11e3-83e4-96e42e86c55c.png)

A mockup allowing the instruments among otherwise unrelated tracks to have completely different instrument collections

> Proposed "Siloed" BB Editor
> ![image](https://f.cloud.github.com/assets/6345473/2417165/3c1c5478-ab18-11e3-8f77-396bd9a55e2d.png)

This isn't meant to be solely a proposal to help confused newcomers, but rather its a proposal to allow the existing BB Editor functionality to scale to the more complicated and advanced BB Editor use cases.

Contributor guide

No contributing guide indexed for this repository

Research direction

The proposal concerns the Beat/Bassline Editor and its track and instrument-list behavior. No files, tests, or entry points are named, so first locate the editor implementation and its clone/new-editor handling. Done should preserve cloned instruments while allowing each Beat/Bassline to maintain a separate collection and new editors to start clean.

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
Mostly clear
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.