<div dir="ltr">Over the last few months work has been progressing to improve the performance of OpenLP at startup.  The main culprit has been Settings() which we believed was a singleton but turned out to be a plain object. <div><br></div><div>In the main codebase today there are now two new ways to get a settings object.  If your object extends RegistryProperties then all you need to do is use self.settings.<br clear="all"><div><br></div><div>If your object does not extend RegistryProperties add self.settings = Registry().get('settings')  to your constructor and then access self.settings.</div><div><br></div><div>Clean up work is underway but no new code should be added using the Settings()  method.</div><div><br></div><div>In a parallel development, the definition of all settings has been moved to the central settings.py file.  This means we have one place for the definitions (and no duplicates)!</div><div><br></div><div><br></div>-- <br><div dir="ltr" class="gmail_signature" data-smartmail="gmail_signature">Tim and Alison Bentley<br>Home@TRARBentley.net<div style="display:inline"></div></div></div></div>