Support multiple concurrent sessions
Nobody has claimed this yet.
- Dominant language
- C++
- Stars
- 10.4k
- Forks
- 1.3k
- Avg merge
- 2d 13h
- Merged PRs (30d)
- 7
Description
### Enhancement Summary
When I use LMMS, it's not uncommon to open multiple songs. I don't think LMMS allows this intentionally, however:
So I propose that it _should_ be supported.
This might also fit better in a separate request (feeling a bit too lazy to do that rn), but having a way to drag-and-drop instruments across different sections (song editor <-> pattern editor) and different sessions would also help a lot.
### Implementation Details / Mockup
The main issues I can think of when having multiple LMMS sessions open are:
- the current recovery file method (having a `recover.mmp` file) will not work, as it only accounts for a single open song - I think this can be improved with just having a more complex storage for this - maybe a folder with different recovery files, maybe via the hash of the path of the file (for easy storage & access), and more recovery info inside it. Something like that?
- settings - honestly I think this can be ignored most of the time, but it's also not too hard to implement a warning saying they were updated after the current session was opened.
### Please search the issue tracker for existing feature requests before submitting your own.
- [x] I have searched all existing issues and confirmed that this is not a duplicate.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reviewing how LMMS currently manages the single recover.mmp file and session settings. Clarify the behavior needed for multiple open songs, recovery storage, settings changes, and whether cross-session drag-and-drop is in scope. Done should include reliable concurrent sessions and recovery behavior, with any agreed settings warning covered.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- desktop
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100