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

LMMS freezes if you replace Mallets with any instrument #4617

Closed
vlad0337187 opened this issue Sep 25, 2018 · 20 comments · Fixed by #5428
Closed

LMMS freezes if you replace Mallets with any instrument #4617

vlad0337187 opened this issue Sep 25, 2018 · 20 comments · Fixed by #5428
Assignees
Labels
Milestone

Comments

@vlad0337187
Copy link

vlad0337187 commented Sep 25, 2018

Hello.

Sorry me, I didn't had time to check all issues if this is already present.
Also to save some time I recorded video: https://youtu.be/utVlb8dQaeU

Here you can see that if to replace any instrument with any other - all will be well.
But if you'll replace Mallets with any instrument - LMMS will become unresponsive.
Only thing I can do - force quit from it.

Also there is no any console output for it.

This bug is present in Appimages for RC5 and RC6. (I didn't checked earlier versions, but, seems, version 1.1 can do this task).

Steps to reproduce:

  • Open LMMS.
  • Open Beat / Bassline Editor
  • Add Mallets to it. (now it can be replaced to any other instrument)
  • Change it's preset from Marimba (default) to vibraphone (if you'll don't do it, it could be replaced to any other instrument successfully)
  • Gotcha! Now when you'll try to replace it, LMMS will freeze (if you'll change preset to default again before replacing instrument, you'd be able to replace it successfully)

Such a strange bug =)

System: Linux Mint 19 Cinnamon x64.
LMMS: 1.2.0-rc6-linux-x86_64.AppImage

Project with example: glass 04.mmpz.zip

Hope, this could help.

Thank you.

@DeRobyJ
Copy link
Contributor

DeRobyJ commented Sep 26, 2018

Confirmed on LMMS 1.2 RC7 64-bit, Windows 10 64bit.

As long as you change the Mallets instrument from Marimba to any other, replacing Mallets will freeze LMMS.
You can delete the track, you just can't replace it.

@zonkmachine
Copy link
Member

I'll look into this.

@musikBear
Copy link

Related #4269

@zonkmachine
Copy link
Member

Related #4269

Not related.

@zonkmachine zonkmachine self-assigned this Sep 26, 2018
@musikBear
Copy link

ok, i thought the various flawed-states in Mallets, would influence the exchange event of an other instrument. The reported ones are similar to the erroneous dropdown-choices from 4269

@zonkmachine
Copy link
Member

Bug introduced in 8fa5afb

Removing this line fixes the issue but reintroduces the loud transient noises when switching pattern while a note is sounding from Tubular Bells and below.

inst->instrumentTrack()->silenceAllNotes();

@PhysSong
Copy link
Member

I think InstrumentTrack sometimes call lock redundantly and requestChangeInModel can replace such calls. I have a simple fix for this issue.
@zonkmachine Can I fix this if you don't mind?

@zonkmachine
Copy link
Member

@zonkmachine Can I fix this if you don't mind?

Absolutely!

@zonkmachine
Copy link
Member

Also, the silenceAllNotes() maneuver shouldn't be done on master notes.

@zonkmachine zonkmachine added this to the 1.2.1 milestone Feb 17, 2019
@zonkmachine zonkmachine changed the title LMMS freezes if to replace Mallets with any instrument LMMS freezes if you replace Mallets with any instrument Feb 17, 2019
@JohannesLorenz
Copy link
Contributor

@zonkmachine Did you want to fix this? I'm just asking because you said, but assigned @PhysSong .

@PhysSong
Copy link
Member

I think I wrote a fix a while ago, but I almost forgot this.

@zonkmachine
Copy link
Member

@zonkmachine Did you want to fix this?

My only idea for a fix would be to revert the commit that introduced it. Better if @PhysSong hacks this properly.

@PhysSong PhysSong modified the milestones: 1.2.1, 1.2.2 Oct 10, 2019
@zonkmachine
Copy link
Member

I think I wrote a fix a while ago, but I almost forgot this.

Push it and I'll test it.

@PhysSong
Copy link
Member

@zonkmachine Thank you for reminding it. I need to decide the scope of the fix before opening a PR, though.

@zonkmachine
Copy link
Member

I think we can just revert 8fa5afb for 1.2.2 and fix this in master if you lack the time to do this now.

@JohannesLorenz
Copy link
Contributor

@zonkmachine 8fa5afb was a bug fix, so then we'd close this bug and open a new one. I prefer LMMS freezing than producing unwanted noise. 😬

@SecondFlight
Copy link
Member

An unrecoverable freeze has the potential for data loss... My opinion carries less weight than @JohannesLorenz, but I would prefer a short noise over losing all unsaved data / all data since last autosave.

@zonkmachine
Copy link
Member

The noise is annoying but it's only when switching instrument. You can automate the instrument change and then the noise would be present when you render the project but that's more of an edge case. It will mostly annoy people trying out mallet instruments when arranging. To me the crash is worse. I have a hunch the fix is on its way anyway... :)

@PhysSong
Copy link
Member

Sorry for the delay, now it's the time for me to fix this issue.

@PhysSong
Copy link
Member

Fixed in #5428.

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.

7 participants