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

Sound of exported LV2 instrument plugins is shifted down one half tone #6401

Closed
spechtstatt opened this issue May 8, 2022 · 7 comments · Fixed by #6419
Closed

Sound of exported LV2 instrument plugins is shifted down one half tone #6401

spechtstatt opened this issue May 8, 2022 · 7 comments · Fixed by #6419
Labels

Comments

@spechtstatt
Copy link
Contributor

Bug Summary

When exporting sounds from a LV2 instrument plugin the resulting mp3 or wav file plays this sounds one half tone lower.

Steps to reproduce

  • Add a LV2 instrument plugin - e.g. Calf Organ or MDA ePiano
  • Create a melody
  • Export it as mp3 or wav format (between loop markers)
  • Resulting melody plays one half tone lower

Expected behavior

Exported sound from LV2 instrument plugins should match the sound played directly in LMMS

Actual behavior

Exported sound from LV2 instrument plugins are shifted one half tone lower

Affected LMMS versions

Version 1.3.0-alpha.1.149

@spechtstatt spechtstatt added the bug label May 8, 2022
@DomClark
Copy link
Member

DomClark commented May 8, 2022

My guess would be that you run LMMS at 48kHz and export at 44.1kHz, but the LV2 plugin isn't aware of the sample rate change for some reason.

@PhysSong
Copy link
Member

PhysSong commented May 9, 2022

the LV2 plugin isn't aware of the sample rate change for some reason.

It seems like Lv2ControlBase::reloadPlugin is supposed to handle sample rate change, but the function is not implemented yet.
@JohannesLorenz Do you want to fix this?

@JohannesLorenz
Copy link
Contributor

@JohannesLorenz Do you want to fix this?

I won't fix it before the end of reorg 😂 But if you want to fix it earlier, go ahead.

@JohannesLorenz JohannesLorenz self-assigned this May 29, 2022
@JohannesLorenz
Copy link
Contributor

Time to work on this.

JohannesLorenz added a commit to JohannesLorenz/lmms that referenced this issue May 30, 2022
This implements the previous stub `Lv2ControlBase::reloadPlugin`, which
is required if the LMMS sample rate changes.

Additionally, this removes two unused pure virtual functions of
`Lv2ControlBase`, making the class non-abstract, so we can call its CTOR
after deleting it.
@JohannesLorenz
Copy link
Contributor

@spechtstatt I submitted PR #6419. Totally untested. Can you please check?

@JohannesLorenz
Copy link
Contributor

OK, please don't test. It's causes segmentation faults, I need to fix it.

@spechtstatt
Copy link
Contributor Author

OK, please don't test. It's causes segmentation faults, I need to fix it.

No problem - thank you for working on it.

JohannesLorenz added a commit to JohannesLorenz/lmms that referenced this issue Jun 4, 2022
This implements the previous stub `Lv2ControlBase::reloadPlugin`, which
is required if the LMMS sample rate changes.
JohannesLorenz added a commit to JohannesLorenz/lmms that referenced this issue Jun 19, 2022
@JohannesLorenz JohannesLorenz removed their assignment Jul 30, 2022
@PhysSong PhysSong linked a pull request Jan 25, 2023 that will close this issue
JohannesLorenz added a commit to JohannesLorenz/lmms that referenced this issue Feb 4, 2023
This also includes banning blop's wavedata plugins, because they crash
on reloading. Reference: https://gitlab.com/drobilla/blop-lv2/-/issues/3
JohannesLorenz added a commit to JohannesLorenz/lmms that referenced this issue Feb 5, 2023
This also includes banning blop's wavedata plugins, because they crash
on reloading. Reference: https://gitlab.com/drobilla/blop-lv2/-/issues/3
JohannesLorenz added a commit that referenced this issue Feb 21, 2023
This also includes banning blop's wavedata plugins, because they crash
on reloading. Reference: https://gitlab.com/drobilla/blop-lv2/-/issues/3
sakertooth pushed a commit to sakertooth/lmms that referenced this issue May 30, 2023
This also includes banning blop's wavedata plugins, because they crash
on reloading. Reference: https://gitlab.com/drobilla/blop-lv2/-/issues/3
sakertooth pushed a commit to sakertooth/lmms that referenced this issue May 30, 2023
This also includes banning blop's wavedata plugins, because they crash
on reloading. Reference: https://gitlab.com/drobilla/blop-lv2/-/issues/3
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants