Improve inifile handling.
Improved inifile handling which allows saving inifiles with sections for client and server and including fileversion info.
Short description of changes
Get/Set iniset functions now take a document node parameter instead of document and section name parameters which is more efficient and now allows using sections (section name in the current implementation does not work as expected. Since they only work if all section names are the same.) client and server can now use the same inifile. Even using subsections in the inifile for i.e. stored fadersettings and/or soundcard settings will be possible too now.
Also added Get/Set iniset functions for base64 encoded values.
HEADLESS server can now use an inifile, but will only do so if a --inifile parameter is given on the commandline.
Also adding a "fileversion" setting in the new inifile which will make backwards compatibility handling easier on future changes.
NOTE: Old "single section" inifiles can still be read but files will be saved in the new "multi section" format. If we still want to use the current "single section" format this is still possible by changing some defines. (See settings.h)
CHANGELOG: changed inifile handling, headless server can now use inifile too.
Context: Fixes an issue? related to #555 #1973 Together with my messages and commandline parameter PR's this is a good base for a complete settings handling overhaul.
Does this change need documentation? What needs to be documented and how? Since a headless server now CAN use a inifile, probably yes.
Status of this Pull Request ready to merge
What is missing until this pull request can be merged? review and successful autobuilds.
Tested on Windows client and server, so should work on other OS'es too.
Checklist
- [x] I've verified that this Pull Request follows the general code principles
- [x] I tested my code and it does what I want
- [x] My code follows the style guide
- [x] I waited some time after this Pull Request was opened and all GitHub checks completed without errors.
- [x] I've filled all the content above
I'd like to leave this PR up to Tony and Peter. I hope you understand.
We really need to get your PRs in some day soon
@ann0see
I'd like to leave this PR up to Tony and Peter. I hope you understand.
I would understand if they had reacted on my requests to cooperate on this issue... ;=) But I'm always open for further discussion...
We really need to get your PRs in some day soon
Yes it's about time, but reviews seem to be the problem, my oldest PR is already waiting over a month now ! If this doesn't change it is of no use that I continue with any redesigns.... You asked me to split the redesigns in multiple PR's, but if every PR is going to take this long to merge, the total completion would take me far too long...
@henkdegroot not sure if you can help reviewing this PR?
@henkdegroot not sure if you can help reviewing this PR?
Not really comfortable to comment/review this. I can run a test to check if the app still works okay.
Yeah. That's still a good value ;-)
@softins once you have more time for Jamulus could you please review this PR and voice your opinion?
Closing as no review for long time. If there's interest, please re-open.