by IanRTaylorUK » Mon Feb 16, 2026 11:23 am
The good news is: your add‑on is loading, but it will never appear anywhere because of two issues:
1). Your script doesn’t register any actions
Your JSON defines "type": "script" and "main": "main.js"
This does not register an MM5 action.
It only adds a property to a global actions object — which MM5 does not scan automatically.
Per the MM5 Add‑ons documentation, you must add actions using the API (e.g. app.addAction) in order for MM5 to know about them:
MediaMonkey 5 requires actions to be explicitly defined using its JS API, and they must be manually added to menus.
That means nothing will show unless you call:
app.addAction({...});...
2. MM5 does not automatically add actions to menus
Even when an action is defined, MM5 will not display it in any menu unless you explicitly insert it:
Add-ons must explicitly add actions to menus; MediaMonkey does not auto-place them.
Try something like:
{
"id": "SmokeTest",
"version": "1.0.0",
"title": "Smoke Test",
"description": "Smoke test for menu registration.",
"author": "Soundchaser",
"type": "startup",
"main": "main.js",
"minAppVersion": "5.0.0"
}
And:
'use strict';
function smokeTest() {
app.showPopupMessage("Smoke test executed.");
}
// 1. Register the action correctly
app.addAction({
id: "SmokeTestAction",
title: "Smoke Test",
group: "tools",
executes: smokeTest
});
// 2. Add the action to a visible menu
requirejs('menus');
app.addMenuItem({
path: 'Tools',
action: 'SmokeTestAction',
order: 50
});
After restart, you'll see:
Tools → Smoke Test
Click it and your popup (should) appear.
The good news is: your add‑on is loading, but it will never appear anywhere because of two issues:
1). Your script doesn’t register any actions
Your JSON defines "type": "script" and "main": "main.js"
This does not register an MM5 action.
It only adds a property to a global actions object — which MM5 does not scan automatically.
Per the MM5 Add‑ons documentation, you must add actions using the API (e.g. app.addAction) in order for MM5 to know about them:
MediaMonkey 5 requires actions to be explicitly defined using its JS API, and they must be manually added to menus.
That means nothing will show unless you call:
app.addAction({...});...
2. MM5 does not automatically add actions to menus
Even when an action is defined, MM5 will not display it in any menu unless you explicitly insert it:
Add-ons must explicitly add actions to menus; MediaMonkey does not auto-place them.
Try something like:
{
"id": "SmokeTest",
"version": "1.0.0",
"title": "Smoke Test",
"description": "Smoke test for menu registration.",
"author": "Soundchaser",
"type": "startup",
"main": "main.js",
"minAppVersion": "5.0.0"
}
And:
'use strict';
function smokeTest() {
app.showPopupMessage("Smoke test executed.");
}
// 1. Register the action correctly
app.addAction({
id: "SmokeTestAction",
title: "Smoke Test",
group: "tools",
executes: smokeTest
});
// 2. Add the action to a visible menu
requirejs('menus');
app.addMenuItem({
path: 'Tools',
action: 'SmokeTestAction',
order: 50
});
After restart, you'll see:
Tools → Smoke Test
Click it and your popup (should) appear.