View Issue Details

IDProjectCategoryView StatusLast Update
0017221MediaMonkey 5Extensions frameworkpublic2021-11-08 15:41
Reporterdrakinite Assigned To 
PriorityimmediateSeveritymajorReproducibilityalways
Status closedResolutionfixed 
Target Version5.0 
Summary0017221: It is unclear how to install Input/output plugins via MMIP
DescriptionIf you put a DLL inside the Plugins subfolder of an MMIP, then install it, the DLL does not show up in the corresponding input/output plugins options panel. See attached mmip.
TagsNo tags attached.
Fixed in build

Activities

drakinite

2020-12-13 05:02

developer  

AddingPluginsDLL.mmip (197,037 bytes)

peke

2020-12-13 06:43

developer   ~0060753

Last edited: 2020-12-13 07:16

View 4 revisions

It is a reasult of MM5 MMIPs do noy have flexibility to MM4 install.ini Copy section where you can choose where to put files and now they go directly into Scripts folder.

I guess for short term we should introduce type "plugin" or "codec" in info.json that way content/subfolders could be directly saved into app folder (in case global installation) same like {app} acted in MM4 Install.ini

Ludek

2020-12-14 10:20

developer   ~0060758

Last edited: 2020-12-14 10:54

View 2 revisions

I believe that support for copying DLLs to the Plugins subfolder already works.
At least Michal implemented this for MM5 codec pack.

So assigned to Michal to look into it or instruct how to create such a mmip to document this

peke

2020-12-14 10:54

developer   ~0060759

You are right info.json in Codec pack have list of files and it destination left for @michal to add any additional descriptions.

Looks like extensions are handled in in extensions.pas?

michal

2020-12-14 11:29

developer   ~0060760

Last edited: 2020-12-14 11:34

View 3 revisions

Input/output plugins can be already installed, you only need to have this in info.json:
"type": "plugin",
"showRestartPrompt": "1",
"files": [{
    "src": "pluginDLL.dll",
    "tgt": "pluginDLL.dll"
})

It can contain more files, "src" is the source file path relative to the root inside mmip, "tgt" is target file relative to the Plugins folder (it can write only under Plugins folder).
"showRestartPrompt" should be there for plugins, they are detected during app. start.
If needed, you can also include:
"installScript": "install.js",
"uninstallScript": "uninstall.js"
This will run install.js script during installation and uninstall.js script after uninstallation.

drakinite

2020-12-17 16:20

developer   ~0060881

Last edited: 2020-12-18 02:04

View 3 revisions

Information added to draft docs.

Confirmed with Michal that showRestartPrompt no longer makes a difference, after the changes in ~60787
Codec Pack installs correctly without "showRestartPrompt": "1" in info.json; Leaving it out of the documentation.

drakinite

2021-05-12 22:54

developer   ~0063163

Closing. (Info on plugin install scripts & install files have been added to the wiki)