Skip to content

Adding folders for instruments #7845

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
1 task done
szeli1 opened this issue Apr 14, 2025 · 4 comments
Open
1 task done

Adding folders for instruments #7845

szeli1 opened this issue Apr 14, 2025 · 4 comments

Comments

@szeli1
Copy link
Contributor

szeli1 commented Apr 14, 2025

Enhancement Summary

This idea is like #735, but it also adds a new kind of "instrument" that is essentially a folder. It's only purpose would be to store other instruments. Users should be able to collapse track groups, this will improve vertical navigation and workflow. Users should be able to choose a custom color for folders, making things more identifiable.

Implementation Details / Mockup

Make a new class that inherits TrackView, save with the parent structure described in #735, use drag and drop to populate folders and add a folder type to the track enum (so a string pair key is generated for it)

Please search the issue tracker for existing feature requests before submitting your own.

  • I have searched all existing issues and confirmed that this is not a duplicate.
@E-Sandy
Copy link

E-Sandy commented Apr 14, 2025

It doesn't necessarily have to be implemented as an instrument, as long as it gets the job done. Maybe it could be implemented in a way so that you can select multiple tracks and group those into folders, and you can drag+drop tracks in and out of the folders. This would make it really good if you have a synth that's really intensive in the automation department, and you can just group them all together as one and collapse them.
Below is some concept art I came up with. It's not perfect, and needs lots of work, but it's pretty good, I'd say.

Image

Image

@regulus79
Copy link
Contributor

If we are planning on using a kind of "indentation" to differentiate child tracks from folders, then we would probably want to add a way to dynamically change the width of the track gui/button things?

@musikBear
Copy link

How does a LB302-instrument come to 'contain' a BB-track?!
Image
I understand the automation-tracks-They make sense. A BB-track does not.
(Im aware that the image is from a comment and not OP.)
But also to state the obvious. A folder that contain instruments and Aut-tracks cant be named 'Instrument', that is asking for confusion. I would prefer user naming the folder, just as any other track.

@szeli1
How should the container-folder get populated? By user manual drag-dropping tracks into it, or automatically done by LMMS?

@szeli1
Copy link
Contributor Author

szeli1 commented Apr 15, 2025

It doesn't necessarily have to be implemented as an instrument

I meant that it will need to be implemented like an instrument, so it will need to inherit TrackView and it should have the same mute and solo buttons.

How should the container-folder get populated? By user manual drag-dropping tracks into it, or automatically done by LMMS?

I think drag and drop might be the best solution, since the main functionality is there and the code can be expended on easily (add Folder track in the track enum and a new key will be made for StringPairDrag, drop event will have to be refactored so it creates a folder if the inputs are tracks but the key doesn't match)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants