lmms icon indicating copy to clipboard operation
lmms copied to clipboard

Xpressive plugin fixes

Open gnudles opened this issue 4 years ago • 14 comments

Balanced most of the presets. Made last function accept floating point input. Removed "key" and "bnote" for meanwhile. response for #5868 -- do not merge yet --

gnudles avatar Apr 10 '21 22:04 gnudles

:robot: Hey, I'm @LmmsBot from github.com/lmms/bot and I made downloads for this pull request, click me to make them magically appear! :tophat:

Linux

macOS

Windows

:robot:
{"platform_name_to_artifacts": {"Linux": [{"artifact": {"title": {"title": "(AppImage)", "platform_name": "Linux"}, "link": {"link": "https://15417-15778896-gh.circle-artifacts.com/0/lmms-1.3.0-alpha.1.163%2Bgd623e44fc-linux-x86_64.AppImage"}}, "build_link": "https://circleci.com/gh/LMMS/lmms/15417?utm_campaign=vcs-integration-link&utm_medium=referral&utm_source=github-build-link"}], "macOS": [{"artifact": {"title": {"title": "", "platform_name": "macOS"}, "link": {"link": "https://15418-15778896-gh.circle-artifacts.com/0/lmms-1.3.0-alpha.1.163%2Bgd623e44fc-mac10.14.dmg"}}, "build_link": "https://circleci.com/gh/LMMS/lmms/15418?utm_campaign=vcs-integration-link&utm_medium=referral&utm_source=github-build-link"}], "Windows": [{"artifact": {"title": {"title": "32-bit", "platform_name": "Windows"}, "link": {"link": "https://15415-15778896-gh.circle-artifacts.com/0/lmms-1.3.0-alpha.1.163%2Bgd623e44fc-mingw-win32.exe"}}, "build_link": "https://circleci.com/gh/LMMS/lmms/15415?utm_campaign=vcs-integration-link&utm_medium=referral&utm_source=github-build-link"}, {"artifact": {"title": {"title": "64-bit", "platform_name": "Windows"}, "link": {"link": "https://15416-15778896-gh.circle-artifacts.com/0/lmms-1.3.0-alpha.1.163%2Bgd623e44fc-mingw-win64.exe"}}, "build_link": "https://circleci.com/gh/LMMS/lmms/15416?utm_campaign=vcs-integration-link&utm_medium=referral&utm_source=github-build-link"}, {"artifact": {"title": {"title": "32-bit", "platform_name": "Windows"}, "link": {"link": "https://ci.appveyor.com/api/buildjobs/owdhey516qe734lb/artifacts/build/lmms-1.3.0-alpha-msvc2017-win32.exe"}}, "build_link": "https://ci.appveyor.com/project/Lukas-W/lmms/builds/42066971"}, {"artifact": {"title": {"title": "64-bit", "platform_name": "Windows"}, "link": {"link": "https://ci.appveyor.com/api/buildjobs/agmo6hgc67u2q8ui/artifacts/build/lmms-1.3.0-alpha-msvc2017-win64.exe"}}, "build_link": "https://ci.appveyor.com/project/Lukas-W/lmms/builds/42066971"}]}, "commit_sha": "792db61abf8f9a8af08acb367fc9fb0cb16a8331"}

LmmsBot avatar Apr 10 '21 22:04 LmmsBot

This PR awaits discussion about whether to enable "key" variable in expressions or not.

gnudles avatar May 11 '21 17:05 gnudles

Before merging, we should upgrade exprtk to the latest version, because expressions such "1 in t" cuases the program to crash... Latest version seems to accept such formula without crashing.

gnudles avatar Dec 14 '21 20:12 gnudles

@PhysSong, do you know why isn't it compiling on windows? I added syntax highlighting in Xpressive plug-in. Could it be that the following define is true on windows (QT_NO_SYNTAXHIGHLIGHTER)? Screenshot from 2021-12-15 00-31-47 ,

gnudles avatar Dec 14 '21 22:12 gnudles

Could it be that the following define is true on windows (QT_NO_SYNTAXHIGHLIGHTER)?

It isn't in MSVC builds, but it is in MinGW builds. Looks like @tobydox disabled the feature when building the MinGW PPA.

PhysSong avatar Dec 15 '21 07:12 PhysSong

Well, majority of packages in this PPA needed upgrade. Some get a major additions and bugfixes in upstream versions since they are built in PPA. Additions and fixes which would be really useful for lmms.

qnebra avatar Dec 15 '21 15:12 qnebra

Today I read that MSVC++ treat 'long double' the same as double. It is a bit problematic, because the integrate function relies on long double, as it sums frequencies 48000 times, and my tests with plain simple double had distortion after few seconds... any ideas how to overcome this?

gnudles avatar Dec 31 '21 11:12 gnudles

the integrate function relies on long double

I can't find any long doubles in IntegrateFunction. I'd say the round-off error in integration of double is not a concern compared to the precision of float. You can find some useful resources in #2047.

PhysSong avatar Jan 01 '22 02:01 PhysSong

@PhysSong Yeah, you are right, my bad. somehow my memory convinced me that I was working with 'long double' there, but truth is I used double... saw #2047 and it reminded me my experiments with integrate. By the way, I added another variable called 'prev' which stores the frequency of the previous note, so now in the formula you can make portamento effect in either the normal way, or any other weird way... Also, I enabled the feature of variables in the formula, so now you can reuse code by storing numbers in variables, instead of copying code all around the place. I am considering adding a mechanism to store and get computed values between frames. One guy on youtube had some suggestions for the plugin which we should consider but I not sure I have the time for this right now (https://www.youtube.com/watch?v=5pJI1JpXNqM&t=25s in comments):

I do have a few suggestions : Add more wave tables and general-purpose knobs, maybe 32 or up to 256 of each so you practically have limitless control over the sound design. .....(here comes some feature request that already existed).... Finally, A UI feature to detach the wave function editor panel to its own window and save/load your functions to a txt file.

gnudles avatar Jan 01 '22 18:01 gnudles

I think your editor is configured to use spaces instead of tabs.

PhysSong avatar Jan 06 '22 03:01 PhysSong

You know, I am really not pressing 4 times on the spacebar when I want to indent, rather I just press the tab bar. I checked QtCreator options and it showed me that it is already set on 'use tab only'. Last commit I detected all these hidden little spaces and replaced every four of them with a tab

gnudles avatar Jan 06 '22 05:01 gnudles

@tobydox can we drop the QT_NO_SYNTAXHIGHLIGHTER from the qt build? It can really help my plugin to look more welcoming

gnudles avatar Sep 12 '22 21:09 gnudles

@gnudles BTW, could you resolve the conflicts?

PhysSong avatar Sep 12 '22 23:09 PhysSong

@tobydox can we drop the QT_NO_SYNTAXHIGHLIGHTER from the qt build? It can really help my plugin to look more welcoming

Done - also updated to Qt 5.15.6.

tobydox avatar Sep 13 '22 08:09 tobydox

@PhysSong yes I should.

gnudles avatar Oct 25 '22 18:10 gnudles

@PhysSong Tell me if something is wrong.

gnudles avatar Jan 26 '23 21:01 gnudles

Why is it failing?

gnudles avatar Jan 28 '23 21:01 gnudles

Why is it failing?

Quite a few PR's are failing on shellcheck. Probably not on your side. @PhysSong knows more.

zonkmachine avatar Jan 28 '23 23:01 zonkmachine

Yes, you can ignore this. If you're still concerned, you can merge the latest master to your branch.

PhysSong avatar Jan 28 '23 23:01 PhysSong