• jan@cosmigo.com

Plugins Paths and Settings Improvement


#1

The current plugins system could be improved in different ways.

Support Plugins in %APPDATA%

First and foremost, instead of using the plugins/ subfolder in PM setup directory, PM could look for custom plugins in %APPDATA% (e.g. %APPDATA%/Cosmigo/Pro Motion NG/plugins/). This is specially true for file IO plugins, which must be in the plugins/ folder (unlike DDE plugins, which can be located anywhere via plugins.ini settings).

Plugins that ship natively with PM NG could use the plugins/ subfolder in PM setup directory (so they get update/overridden when PM NG is updated), but the same-named folder in %APPDATA% should be used for non-native plugins.

Most likely uninstalling PM NG would leave behind any user added plugins, for the uninstaller won’t be tracking those (this being a common problem when using old application on Windows 10). Also, separating user data from the application setup is better for various reasons, one being the ability to create backups of user configurations or synchronize files in %APPDATA% amongst various PCs (via a NAS, or other systems).

Using User data folders is always preferable (not only for plugins, but for all custom settings and preset files too, including palettes, etc.) for editing/adding files in %ProgramFiles%/%ProgramFiles%(x86) always naggers you with priviledge permission requests (and, indeed, you can’t even edit plugins.ini unless you started the editor as Administrator). So, if the settings files and subfolders structure could be mirrored in %APPDATA% it would be a good improvement (but I think this is already in the TODO list).

Plugins Settings/Setup Dialog

Although editing plugins.ini is trivial, a dialog window to add/edit plugins would be nice — and, right now, it would circumvent the priviledge restrictions required to edit the .ini file, which requires starting an editor as Administrator (in some working environments this might not be possibile, for e.g. on a PC at work).

Also, this dialog could validate choices — e.g. check if the exe file really exists, and for some options offer a dropdown menu to enforce correct values.