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

Memory Manager Branch: fx aren't processed after note-off #1108

Closed
exTunes opened this issue Aug 28, 2014 · 80 comments
Closed

Memory Manager Branch: fx aren't processed after note-off #1108

exTunes opened this issue Aug 28, 2014 · 80 comments
Labels
Milestone

Comments

@exTunes
Copy link

exTunes commented Aug 28, 2014

1.0.990, tested on Win64
Effects (such as Calf Reverb or Feedback Delay Line) only are processed if a note is active on the instrument (playing or still active via envelope release).
The FX Decay & Gate Knobs don't change anything, did I miss something?

@Sti2nd
Copy link
Contributor

Sti2nd commented Aug 28, 2014

Try to turn the setting "Keep effects running even without input" on. It could be that you missed the implementation of this function.

@tresf
Copy link
Member

tresf commented Aug 28, 2014

@Sti2nd Is this setting on by default?

@Sti2nd
Copy link
Contributor

Sti2nd commented Aug 28, 2014

Yes, on, as in the setting to turn it off, is off by default

@diizy
Copy link
Contributor

diizy commented Aug 29, 2014

On 08/28/2014 11:36 PM, exTunes wrote:

  • 1.0.990, tested on Win64 - Effects (such as Calf Reverb or
    Feedback Delay Line) only are processed if a note is active on the
    instrument (playing or still active via envelope release). The FX
    Decay & Gate Knobs don't change anything, did I miss something?

Lol, whoops.

Really a silly mistake, AudioPort is bailing processing if there are no
PlayHandles connected to it... which is fine otherwise, except for
effect tails. Got to fix that.

To confirm, this bug should not happen on single-stream instruments such
as LB302, SF2 etc.

@diizy
Copy link
Contributor

diizy commented Aug 29, 2014

On 08/29/2014 12:45 AM, Stian Jørgensrud wrote:

Try to turn the setting "Keep effects running even without input" on.
It could be that you missed the implementation of this function.

That's not it... the effects should still run even with that setting
off, if you turn the decay knobs up. All that setting does is it ignores
the decay knobs and keeps effects running indefinitely.

@exTunes
Copy link
Author

exTunes commented Aug 29, 2014

@diizy jep, works fine on LB302.
The setting "Keep effects running even without input" doesn't show any effect.. still not working (on 3xOsc).

@diizy
Copy link
Contributor

diizy commented Aug 29, 2014

On 08/29/2014 11:53 AM, exTunes wrote:

@diizy https://github.com/diizy jep, works fine on LB302.
The setting "Keep effects running even without input" doesn't show any
effect.. still not working (on 3xOsc).

Right... The fix for this was one line of code... I wrote it this
morning but forgot to upload it when I had to leave for school. It's
committed now... @tresf, new builds maybe?

@tresf
Copy link
Member

tresf commented Aug 29, 2014

@tresf, new builds maybe?

Staring them now, thanks.

@diizy, Don't forget the same EXPORT is needed on InstrumentPlayHandle.h too.

@tresf
Copy link
Member

tresf commented Aug 29, 2014

@tresf tresf added the bug label Aug 29, 2014
@tresf tresf added this to the 1.2.0 milestone Aug 29, 2014
@exTunes
Copy link
Author

exTunes commented Aug 29, 2014

downloaded the win64 version and installed, but it crashed at first start. (I double-checked)
lmms_crash

@Sti2nd
Copy link
Contributor

Sti2nd commented Aug 29, 2014

I just downloaded Win64. It starts for me.

@exTunes
Copy link
Author

exTunes commented Aug 29, 2014

hm... uninstalled all versions, cleaned my registry, re-downloaded and re-installed the build. and it still doesn't work.

@tresf
Copy link
Member

tresf commented Aug 30, 2014

Apple is experiencing a crash at launch too.

I just tested 32-bit on a vanilla install of Windows 7 in VM and it launches. @exTunes what OS are you on?

-Tres

@Sti2nd
Copy link
Contributor

Sti2nd commented Aug 30, 2014

@tresf he is on win64 and by the images it seems to be win7.

@tresf
Copy link
Member

tresf commented Aug 30, 2014

Yeah, good call... Win7 without a proper video driver. 😸

@exTunes
Copy link
Author

exTunes commented Aug 30, 2014

Yes, Win7 64.
I never had this problem with earlier releases and builds, is something wrong with my PC or with the application?

@Sti2nd
Copy link
Contributor

Sti2nd commented Aug 30, 2014

Well, when LMMS just worked for you, and then suddenly stop working, it shouldn't be a problem with your PC... But many have gotten the error. Here are the problem, and how some of them fixed it #512

@exTunes
Copy link
Author

exTunes commented Aug 30, 2014

But I installed 1.0.93 and it's working as before..
Only this build isn't working!

@diizy
Copy link
Contributor

diizy commented Aug 30, 2014

On 08/30/2014 02:32 PM, exTunes wrote:

But I installed 1.0.93 and it's working as before..
Only this build isn't working!

@tresf, is it possible something went wrong in the build process? The
earlier build worked, and there shouldn't be anything different
code-wise, that could prevent the program from starting...

@tresf
Copy link
Member

tresf commented Aug 30, 2014

@tresf, is it possible something went wrong in the build process? The earlier build worked, and there shouldn't be anything different code-wise, that could prevent the program from starting...

Absolutely. I have a Win7 64 box I can test on, I just haven't had the time. 🍼 Testing now. 🕥

@tresf
Copy link
Member

tresf commented Aug 30, 2014

Hmm... I still cannot reproduce.

The steps I performed:

  • Uninstall via control panel
  • Move .lmmsrc.xml
  • Purge C:\Program Files\LMMS
  • Redownload and reinstall from here

image

I can do a clean build for sure if we think that is the problem, but I'm hesitant to believe that after a few successful installs. 😩

@exTunes
Copy link
Author

exTunes commented Aug 30, 2014

Ok.. I'll try again then... What's that XML file?
I always uninstalled via the uninstaller. Is that a problem?

@tresf
Copy link
Member

tresf commented Aug 30, 2014

I always uninstalled via the uninstaller. Is that a problem?

Your process is absolutely correct, but that additional step just removes old cached settings for your profile.

cmd /k move %userprofile%\.lmmsrc.xml %userprofile%\_.lmmsrc.xml

@tresf
Copy link
Member

tresf commented Aug 30, 2014

This is an obvious question, but you are installing the win64 build on win64, right? Also, can you get the details of that crash and post them here. There are a few known win issues and I'm curious as to which message you are getting.

@exTunes
Copy link
Author

exTunes commented Aug 30, 2014

1.0.990 istalled and works perfectly..(except the bug that was fixed in .991 :D)

I'm always installing Win64 on Win7 64.

I posted a screenshot earlier... Do you mean log files or something like that?

EDIT: I uninstalled all versions again, re-downloaded from @tresf's rep, installed, rebooted and it still crashes with the same error as posted earlier. sry..

@tresf
Copy link
Member

tresf commented Aug 30, 2014

@diizy I also think there's a chance we put our EXPORT on a different line from 1.0.990 to 1.0.991. You put it on include/InstrumentPlayHandle.h#L33 I believe I put it on include/InstrumentPlayHandle.h#L36 @tobydox, Would that matter? (sorry clueless on that one)

@tresf
Copy link
Member

tresf commented Aug 30, 2014

Click that button that gives you more information when it crashes please.

And I assume you successfully removed Program Files each time? The reason this step is important when troubleshooting is because some projects can hang remote processes and prevent deletion. This is the same for all platforms, it's just all contained in one folder in Windows, which makes it a bit easier to see if a process is hung without searching for active process names on the system.

What I can do is rebuild with the EXPORT placed in the other area but it is a shot in the dark. I can have it done and uploaded about 25 minutes.

@diizy
Copy link
Contributor

diizy commented Sep 1, 2014

On 09/01/2014 06:34 AM, Tres Finocchiaro wrote:

Here's the code additions, which we should probably commit immediately
to stable regardless if it fixes the OP's problem. Do you agree @diizy
https://github.com/diizy?

Yeah, can't hurt. File the pr for stable-1.1, I can handle propagating
it upwards.

@exTunes
Copy link
Author

exTunes commented Sep 1, 2014

That fixes it for wine, good job!
Not for Windows though..
But I found out that this build (and also 1.0.91) doesn't crash also when run with admin rights.. sry I did not try this earlier..
But why does 1.0.90 work without and 1.0.91 only with admin rights? And can this be somehow fixed? :)

Thanks for your time.

@tresf
Copy link
Member

tresf commented Sep 1, 2014

Admin rights generally suggests it is a permission issue. Did you rename that .lmmsrc.xml in your troubleshooting?

Without some form of console dump I'm not sure we can fix this. Perhaps you can find a 3rd party utility that spits our some more information?

@exTunes
Copy link
Author

exTunes commented Sep 1, 2014

I never touched that xml file, no. Should I?

Well, I'm not that experienced with debugging programs, but I'll try.. Do you have a suggestion?

@tresf
Copy link
Member

tresf commented Sep 1, 2014

Yes, try moving that XML file please, I mentioned it twice above, one example can be run from the Run dialog.

As far a debugging on windows, I avoid it at all costs. It is a terrible platform for it. Ideally, a non-stripped build run with Cygwin's gdb could get what we need. That would take hours to setup properly. Perhaps processExplorer can get us some debug symbols. I don't know.

I'd even be willing to restore a copy of your PC into a VM if you would do the P2V steps, but that can be a can of worms too.

@exTunes
Copy link
Author

exTunes commented Sep 1, 2014

ok, I found a program that reads the error protocols generated by Windows.. I hope that helps (I translated the german parts..) : http://www.pasteall.org/53767

@exTunes
Copy link
Author

exTunes commented Sep 1, 2014

Yes, try moving that XML file please

whoops, that works :D
And that's why it worked with admin permissions, because then lmms searched for the preference XML in User\Admin\ and didn't found one, so it was like clearing it.

sorry I didn't tried earlier..

@tresf
Copy link
Member

tresf commented Sep 1, 2014

So is this resolved?

@tresf
Copy link
Member

tresf commented Sep 1, 2014

And that's why it worked with admin permissions, because then lmms searched for the preference XML in User\Admin\ and didn't found one, so it was like clearing it.

It's actually a bit tricker than that... In Windows Vista and higher, administrators don't have administrative access, but rather elevate to it (similar to sudo in the Linux world).

So if you run a program as Administrator, it can really muck up the file permissions and the user that owns the file may not be able to write to it, even though it created it. This is actually pretty consistent with sudo in that regard.

@exTunes
Copy link
Author

exTunes commented Sep 1, 2014

Yes, all versions work now, the bug (#1108) also is fixed. Sorry for the inconvenience.

@tresf
Copy link
Member

tresf commented Sep 1, 2014

No worries, glad it fixed it. We resolved some other issues in the mean time. 🍻 Thanks for the quick responses.

@tresf tresf added invalid and removed bug labels Sep 1, 2014
@exTunes
Copy link
Author

exTunes commented Sep 1, 2014

Invalid? :D why not "solved", since the original issue was fixed by Vesa in 1.0.991? :)

@tresf
Copy link
Member

tresf commented Sep 1, 2014

Invalid? :D why not "solved", since the original issue was fixed by Vesa in 1.0.991? :)

😉 yeah, two bugs in one report confused me a bit.

@tresf tresf closed this as completed Sep 1, 2014
@exTunes
Copy link
Author

exTunes commented Sep 1, 2014

administrators don't have administrative access, but rather elevate to it (similar to sudo in the Linux world).

Interesting, I didn't know that..

This is actually pretty consistent with sudo.

but when I run it as admin (see screenshot), I got asked if I want to create the workspace in admin\lmms ? :P
lmms_admin

@tresf
Copy link
Member

tresf commented Sep 1, 2014

OK, then I'm wrong about that part. That suggest the issue is with the XML. Can you please upload it to gist and link it? I'll open new bug report if I can reproduce.

@exTunes
Copy link
Author

exTunes commented Sep 1, 2014

I'm pretty sure it's a umlaut bug (ä) in the naming of my sound device..

oh.. and I can reproduce it! 🎯 If I change my settings to PortAudio, WASAPI and Lautsprecher (High Definition Audio-Gerät) and restart, it crashes again..
will investigate further..

@tresf
Copy link
Member

tresf commented Sep 1, 2014

That makes a lot of sense. By default Windows outputs to non-UTF... Perhaps we hit a bug. If you can upload that file still, that would be terrific.

@exTunes
Copy link
Author

exTunes commented Sep 1, 2014

Ok, so this works in 1.0.990, but crashes in 1.0.991...
wasapi_1 0 990

maybe the PortAudio library got updated in this release?
or it has something to do with @diizy's fix..

@exTunes
Copy link
Author

exTunes commented Sep 1, 2014

sure. http://www.pasteall.org/53769/xml

@exTunes
Copy link
Author

exTunes commented Sep 1, 2014

I can't rename it, it's named by Windows automatically:
sound_settings

@tobydox
Copy link
Member

tobydox commented Sep 2, 2014

I do have german deice names as well (DirectSound -> "Primärer
Soundtreiber") and it works flawlessly here. The device name is encoded as
UTF-8 in the lmmsrc.xml file and I just checked via debugging messages that
everything is encoded/decoded properly inside LMMS.

@tresf: Maybe it would be worth to provide a build where the linker flag
"-mwindows" is removed from top level CMakeLists so we can start lmms.exe
from command line and see all printed messages. Longterm we should convert
all printf()s to qDebug(), qWarning() & co and install a custom
QtMsgHandler in order to properly log all output to a dedicated log file.
BTW also a task a newcomer could perform.

@tresf
Copy link
Member

tresf commented Sep 2, 2014

Yeah, lack of output on Windows is definitely proving to be struggle.

I'm not entirely sure this is a UTF-8 problem. I'll see what I can do to reproduce.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

5 participants