Skip to content

Implemented effects presets#8273

Open
bratpeki wants to merge 16 commits intoLMMS:masterfrom
bratpeki:fx-presets
Open

Implemented effects presets#8273
bratpeki wants to merge 16 commits intoLMMS:masterfrom
bratpeki:fx-presets

Conversation

@bratpeki
Copy link
Member

@bratpeki bratpeki commented Feb 20, 2026

Features:

  • Added the FXP format.
  • Added new context menu options to effects in the effect chain.
  • Added drag-n-drop functionality which appends a new effect with that preset to the end of the effect chain.
  • Code syntax cleanup (conventions)
2026-02-20.01-27-36.mp4

@bratpeki bratpeki self-assigned this Feb 20, 2026
@sakertooth
Copy link
Contributor

I'm not a fan of a separate "Preset" type in FileBrowser. I feel like there should be a way to distinguish what kind of preset it is for from within the file (i.e., either an instrument preset or an effect preset). But since the code improperly uses the extension to decide what to do with the file, I guess this is fine for now.

Copy link
Contributor

@sakertooth sakertooth left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Quick code review. May revisit more closely later.

@extern-stat
Copy link
Contributor

It seems like VST effects use the same .fxp format for their presets, but the file format is different from the .fxp files created by the new context menu options. The difference between the two is that the new context menu options also save the Wet/Dry level of the effect. Maybe the VST effect toolbar should be removed to make things more consistent?
image

@bratpeki
Copy link
Member Author

bratpeki commented Feb 20, 2026

Thanks for bringing it up, @extern-stat!

I heard about it from @sakertooth, but haven't tested it, since I don't use VSTs.

I would gladly help a follow-up PR removing it! 😈

@messmerd Can I get your input on VST effect presets? I feel like this is a universal solution to the same problem.

@bratpeki
Copy link
Member Author

@sakertooth @yohannd1 is EffectRackView::addEffect(string filePath) a bad name, since one would expect the argument of addEffect to be Effect? Should it be addPreset?

@sakertooth
Copy link
Contributor

@sakertooth @yohannd1 is EffectRackView::addEffect(string filePath) a bad name, since one would expect the argument of addEffect to be Effect? Should it be addPreset?

Yes, that name is misleading. Effect having a static function static Effect* loadFromPreset(const QString& path); would be better.

@yohannd1
Copy link
Contributor

Indeed, what sakertooth mentioned looks like a good idea.

Copy link
Member

@messmerd messmerd left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Mostly just a style review. I'll take a closer look later.

@bratpeki
Copy link
Member Author

Oh, shoot, there's a few dozen suggestions, LOL! Will apply in a single commit now!

@bratpeki
Copy link
Member Author

Thanks for taking a look! Everything should be applied.

@JohannesLorenz
Copy link
Contributor

@bratpeki Can you please fix the merge conflicts?

bratpeki and others added 14 commits March 9, 2026 15:31
Added the FXP format.
Added new context menu options to effects in the effect chain.
Added drag-n-drop which appends a new effect with that preset to the end of the effect chain.
Co-authored-by: Dalton Messmer <messmer.dalton@gmail.com>
Co-authored-by: Dalton Messmer <messmer.dalton@gmail.com>
Co-authored-by: Dalton Messmer <messmer.dalton@gmail.com>
@bratpeki
Copy link
Member Author

bratpeki commented Mar 9, 2026

Sorry! Just did

git rebase master
git push origin fx-presets --force-with-lease

@bratpeki
Copy link
Member Author

bratpeki commented Mar 9, 2026

@JohannesLorenz: Done!

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants