Skip to content
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

adding fx functions for Mercury4Max? #98

Open
HighHarmonics2 opened this issue Nov 24, 2024 · 2 comments
Open

adding fx functions for Mercury4Max? #98

HighHarmonics2 opened this issue Nov 24, 2024 · 2 comments
Labels
enhancement New feature or request question Further information is requested

Comments

@HighHarmonics2
Copy link

Is it possible to add a new fx for Mercury4Max?

I see that the fx functions are provided as Max patches in mercury_ide/patchers/. So it seems possible to use these as a template and add a new patcher. Is anything else needed?

My view is that the fx features are already good, but I also have some custom dsp interests to explore.
I also would like to have more options for reverb - not to replace the existing yafr2 solution but to add something with more options. I thought of some of the ABL objects in Max 9 - these have the advantage of a ready made dsp. I realize that it isn't good to do anything that would cause problems for users without Max 9. But adding something additional based on Max 9 seems different than replacing something. It could be noted in the docs as "requires Max 9" just like things like ratchet are clearly listed as Mercury4Max only.

(Note: this follows on discussion in Issue # 54 in Mercury-Playground.)

@tmhglnd
Copy link
Owner

tmhglnd commented Nov 25, 2024

I don't have anything in place to "easily" add FX, like with the synth (although could be a nice feature to have in the future for sure!).

You can add fx by modifying the soundObject.maxpat. This is the patch that has all the synths and fx-chain in it and that is called when using new sample/synth. If you open it you'll see there is a chain of subpatchers with the effects. All the effects are loaded in the subpatches with a poly~, and use the bypass method to enable/disable the effect.

An other option would be to add the effect in your custom synth already, although with the limitation that the output is still mono.

A final option could be to create a custom effects chain in a separate patch and [receive~] the sound from the instrument through the name(). Then mute the Mercury output.

Adding additional things is an option of course. But the downside is that every added object in Max will create some additional overhead because the whole effects chain is already there on systemload, even if it is not used.

@tmhglnd tmhglnd added enhancement New feature or request question Further information is requested labels Nov 25, 2024
@HighHarmonics2
Copy link
Author

Thanks for this detail! It is helpful to see the soundObject patch. It's very interesting how this works. I can understand why the overhead on system load is a concern. Mercury already takes a lot of time to load.

I'll play around with these options. Adding something to my existing custom synth is a good start. It might expose any issues with how this works. A patch with a custom fx chain would be a good experiment. Ultimately, I would like to be able to add to the existing fx chain, but I can see why this would need to be more carefully considered.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request question Further information is requested
Projects
None yet
Development

No branches or pull requests

2 participants