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

Vibed instrument data loss upon saving and reloading project file #6671

Closed
messmerd opened this issue Mar 14, 2023 · 0 comments · Fixed by #6670
Closed

Vibed instrument data loss upon saving and reloading project file #6671

messmerd opened this issue Mar 14, 2023 · 0 comments · Fixed by #6670
Labels

Comments

@messmerd
Copy link
Member

Bug Summary

The Vibed instrument only saves the parameters and sample data for each of its 9 "Strings" to the project file if that particular string is active at the time the project file is saved. So if I edit one of the strings of my Vibed instrument but have it disabled at the time that I save the project (whether it's temporarily disabled, such as in an automation, or not), all that data will be lost. And when I reload the project, the automation track for such a Vibed string's parameters is messed up.

Steps to reproduce

  • Create new project
  • Add Vibed instrument, and open its GUI
  • Select String 2, which is not enabled by default
  • Draw a shape in the sample area and change some parameters for the string so that it is different from the default, but keep the string disabled
  • Save the project and reload from disk
  • All changes made to String 2 of the Vibed instrument will be gone

Expected behavior

All Vibed instrument data should be preserved regardless of whether it is currently used

Actual behavior

Vibed instrument data for String #N is lost if String #N is disabled at the time the project is saved

Affected LMMS versions

master branch

Logs

Click to expand

@messmerd messmerd added the bug label Mar 14, 2023
messmerd added a commit to messmerd/lmms that referenced this issue Mar 15, 2023
PhysSong pushed a commit that referenced this issue Aug 22, 2023
* Fix Organic automated harmonic parameter loading

* Fix Kicker automated end distortion parameter loading

* Fix AudioFileProcessor automated interpolation parameter loading

* Fix Vibed automated volume parameter loading

* Improve coding style/formatting

* Fix #6671

* Fix Vibed memory leaks

* Refactor Vibed instrument

* Fix build

* Try to fix build again

* Revert previous commit

* Replace more raw pointers with smart pointers

* Remove unused files

* Minor changes

* Update plugins/Vibed/Vibed.cpp

Co-authored-by: Kevin Zander <[email protected]>

* Implement suggestions from review

* Minor changes

* Only check plugin data pointer

* Refactor NineButtonSelector

* Fix memory leaks during heavy tempo automation

* Fix build

* Use s_stringCount

* Replace some vectors with arrays

* Use array instead of switch

* Allow compiler to generate move assignment operator

* Fix loading of old automated detune values

* Fix member variable names

* Address review comments

---------

Co-authored-by: Kevin Zander <[email protected]>
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.

1 participant