Hi @Theremino,
Good to see these EQ improvements.
Do you have the code in a GitHub repo?
If possible you can also bring your changes in FxSound repo, we can review and merge your changes.
We truly appreciate your idea of integrating our improvements directly into the main FxSound version available on GitHub and your website! This would allow us to simply link to your site, taking the burden of maintaining this application off our shoulders (we already manage almost 150 open-source applications and an entire website!).
We’re not familiar with the GitHub integration process; we’ve tried to learn it, but it’s too complex for our understanding and available time. However, the complete project is available at the end of this section, and you can easily copy it to GitHub.
And this is the direct link to download it.
Improvements
Number of Bands: from 5 to 31
Master Gain: from -20dB to +20dB
Filter Q
Windows Colors and Borders: (please don’t lose this improvement)
Improved Surround Calculation
Improved Preset Handling
Improved Menu
Interpolations and Extrapolations of Band Values
These and dozens of other minor changes are also explained in the PDF files you can download from the same page.
Please ensure all our improvements are maintained. We’ve invested a significant amount of time and energy. Some improvements, particularly the implementation of the variable number of bands without restarting, were extremely complex. Personally, I dedicated myself almost full-time for two months, working ten hours a day, including Saturdays and Sundays.
We’ve made so many changes that we suggest you start from our version (based on 1.1.31.0) and integrate your 1.1.33.0 changes into it.
@bvijay@Theremino
If both of you work together, it’s possible to achieve the definitive audio software, with the stability of 1.1.33.0 and the changes implemented by Theremino.
It’s great to see that there’s no kind of intellectual property selfishness, which does so much harm to software and progress.
I hope you can make progress soon. I’d also like to hear @james opinion.
Keep moving forward…
The problem with your error is that it’s almosti impossible to reproduce on any PC. So far, we’ve tried it on numerous notebooks, tablets, and tower PCs, running both Windows 10 and Windows 11, and we haven’t been able to make it happen. We even distributed it via the web to various collaborators within our system, and no one has been able to reproduce it. And if we can’t make it happen in an environment set up for debugging, then it’s very difficult to understand what’s causing it.
I hope bvjay (who surely knows this software better than us) manages to find it. To help him, I write some observations here:
The error that appears is not a system error; it’s an error issued by FxSound.
The window displays error number 58, so it should be easy to find within the software.
We searched through all the files, and “58” only appears in a define. We commented out where it’s used, just as had already been done in another part of the software by you, but, incredibly, the message still appeared with the number 58, which doesn’t more exist in the source code. I truly don’t know how this is possible.
Furthermore, the message contains the name of the folder where we last compiled, and we have done a deep search for it in both the source code and the executable, but it’s not there. This is also very strange.
These could be quirks of the Juce system (which we don’t know well), and we hope bvijay can figure it out.
In any case, it’s a very rare error, and I’m sorry it happened to you.
@Theremino
Could the cause of this error be the fact that I installed version 2.0.1 over version 1.1.33.0 instead of over version 1.1.31.0…?
I’m not a programmer so it’s just an idea..
I´m not at home in this moment so I am unable to make any test.
It is possible…
but it is better that we wait to see what says @bvijay, maybe for him it is easier to find the source of this error.
About your question “I’d also like to hear @james opinion…” I inform you that James has sent to me a message suggesting me to collaborate with @bvijay. We will collaborate for sure and I will help him, as much as I can, to integrate everything into the official version.
Thanks @Theremino for sharing the details of the changes. We greatly appreciate your efforts and dedication to make these improvements.
The document is very helpful to understand the code changes. I am going through the source code. I will come up with a plan to integrate them, so that we can easily collaborate and maintain these improvements in future versions.
Just a gentle reminder about my most important suggestion, in case you missed it: we’ve made so many changes that we recommend you start with our version (based on 1.1.31.0) and then integrate your 1.1.33.0 changes into it.
We’ve done our best to mark all modified points in our document with helpful keywords to find them, but there are hundreds, making it easy to overlook some. And, as you, an experienced programmer, well know, missing even a single “+1” can lead to hidden defects—issues not immediately obvious but that could surface in the future.
Volume Normalization
Regarding “Volume Normalization,” I’d hold off on adding it for two reasons:
It’s not working as intended. In all the scenarios where we tested it, it doesn’t do anything at all. It doesn’t change the levels by even a single dB. Se we’ll need to improve it or expand its range of action.
Moreover the Normalization graphical controls are on an additional settings page. This is inconvenient because it requires changing pages compared to other settings. Plus, I’ve already come up with a better way to implement it, including also the “Balance control” that many users have requested.
Thanks @Theremino for this information.
I will be careful with the integration.
Since the changes are quite large, is it possible to prioritse and integrate the changes in multiple steps?
Yes there are many changes, but if you proceed as my suggestion it could be very simple.
Start with the complete V2.0.1 sources
Add only the changes for ARM tacking them from version 1.1.33.0
All the other changes have already been integrated by me in version 2.0.1.
If for some reason you can’t do as indicated in this suggestion (for example because GitHub doesn’t allow using my complete version 2.0.1 as a starting point) then it will be really long to implement everything and I really don’t know how to help you.
First of all, I think that the strategy of integrating one section at a time could easily lead to inconsistencies and forgetfulness. And I also think that looking for the differences one by one, understanding their function and copying them, would be a long and difficult work.
So I tried to learn some methods on GitHub to help you and from what I read it is possible to integrate our version in one go, without the laborious task of looking for all the differences one by one.
And this is the procedure to follow:
Fork the official FxSound repository on GitHub
Completely replace the content with our version 2.0.1
Create a massive Pull Request with all modifications
Of course, after you make the switch, you can change some details and I will help you with that too. For example, if you don’t want to display the name of our T-System or other small changes like that. But making those changes will surely be easier than integrating hundreds of changes one by one.
Once you do that, I will also provide you with the sections to add the new controls: “Balance” and “Volume Normalization” (improved). And I’m also thinking of a way to make it easier to compare presets without the large list covering up the band adjustments and without the hassle of the list closing every time you change presets and the hassle of having to reopen it every time to compare with another.
@bvijay is contributing to the project on a part-time basis. It will be more realistic for him to add the changes to the main fork piecemeal. In the meantime if you want to add your fork that people can grab from Github that’s welcome.
Actually it is not very important that @bvijay does the integration in a short time, he can take all the time he needs. In the meantime just use our version, or with our full installer or even just taking our EXE file and replacing it with FxSound exe in the folder C:\Program Files\FxSound LLC\FxSound
Maybe in the future I will try to do the fork… but I never used the GitHub methods and so I prefer to use my time where I can do a good work.
Now I am implementing the “Balance” and the “Volume normalization” (an improved version because the version 1.1.33.0 normalization does about nothing). And they will be ready in the next days in the version 2.0.2
IMPORTANT TIP
In this transition period, until @bvijay has completed the integration of the 2.0.x versions into the main thread, avoid making changes to version 1.1.33.0 because otherwise you will further complicate the puzzle. If you really want to experiment, start from version 2.0.1 which can be downloaded from here. Or better yet, wait a few days and start from 2.0.2
Hi @Theremino, I had to make a beta release v1.1.34.0 with some UI changes because these fixes were long pending. Since these are only UI related fixes, they may not impact the integration with 2.0.1 code.
I have created a branch fxsound2/fxsound-app at theremino_v2.0.1 to integrate your code.
When is the v2.0.2 code expected?
There are so many things to improve… I’m working like a busy beaver just on this for ten hours a day. I absolutely want to finish two small defects but tomorrow evening or at most the day after tomorrow I’ll publish it.
If you take care of making a Fork you will do me a great favor, I tried but I made a mess and so I deleted it even before finishing it. I don’t know the GitHub methods and I’m struggling to learn them.
Version 2.0.2 is now available for download! You can get it from this page
We’ve implemented numerous improvements in this release. Windows now remember their position, and the Surround and Normalization features have been significantly enhanced. We’ve also added sound balancing. Furthermore, the error experienced by @Shepard-N7 has been fixed.
There are also many other useful improvements, read the documentation.
I worked against the clock, to publish and deliver this version to you as soon as possible, as promised to @bvijay.
Nonetheless, I’ve thoroughly tested the software over the past few days and can confirm that all the most important functions are working perfectly.
Excellent work! I can confirm that Version 2.0.2 works without any issues—it’s stable, and the improvements implemented raise the quality of what is already an outstanding audio software.
I hope for a more comprehensive collaboration between @bvijay and you in the near future.
I’ll keep testing and will report anything if needed.
Many thanks…