View Issue Details

IDProjectCategoryView StatusLast Update
0017898MMW 5Skinning frameworkpublic2023-11-15 00:52
Reporterdrakinite Assigned To 
PriorityurgentSeveritytweakReproducibilityN/A
Status closedResolutionreopened 
Product Version5.1 
Target Version5.1Fixed in Version5.0.4 
Summary0017898: Add a method to only reload window, to facilitate faster skin switching & addon installation without interrupting playback
DescriptionSome users have pointed out that switching skins is very slow in MM5 compared to in MM4, because the entire app reloads instead of just reloading the HTML+JS+LESS. When switching skins and installing most addons, the entire app does not need to reload; only just the window. Adding a second, "light" reload method for switching skins and installing addons would facilitate faster reloads, without having to stop audio playback.
TagsNo tags attached.
Fixed in build2814

Relationships

related to 0020313 closedlowlander Changing skin while playback => crash (regression) 
has duplicate 0019010 closeddrakinite Install / uninstall of add-ons without restart 
related to 0017291 closedpetr Problems with app restart/reload 
related to 0017432 closedpeke Skin change in some cases creates double Tray icon 
related to 0018997 closedLudek Method to add menu item to the context menus of all displayed tracklists needed 
related to 0019450 closedpetr player.isPlaying always returns true after soft reload 

Activities

petr

2022-07-20 13:42

developer   ~0068862

Implemented ... second parameter of doReload do soft reload of the app

lowlander

2022-07-29 19:57

developer   ~0068937

Does this need to implemented in Skins themselves. Switching from Material Design to Black Monkey (and later back) did a full restart of MediaMonkey on 2658.

drakinite

2022-10-10 07:11

developer   ~0069734

Updated skin switching code to use the new soft reload. Skins now switch much faster.

The new soft app.loadLayout mode doesn't seem to work reliably, however.
If you switch app.loadLayout(layout); to app.loadLayout(layout, true); in actions.js -> function layoutChanged(layout), then:
1. switch from Desktop to Touch Mode
2. allow window to reload
3. navigate to View > Mode -> the radio button will still say Desktop
4. Close and restart MM, or use Refresh Skin Shortcut > Full app reload -> Layout switches back to Desktop

drakinite

2022-10-10 07:23

developer   ~0069736

Seems like there's also a memory leak...
If you use Refresh Skin Shortcut -> Quick window reload over and over, MediaMonkeyEngine.exe's memory usage seems to increase by about 20-30 MB each time.

Ludek

2023-08-22 11:57

developer   ~0072679

Last edited: 2023-08-22 11:57

The change is now causing a crash:
1) Play a YouTobe video
2) Switch sking
=> crash 'isYouTubeTrack is not defined'
image.png (115,246 bytes)   
image.png (115,246 bytes)   

Ludek

2023-08-22 12:04

developer   ~0072680

The crash is fixed in 2814

peke

2023-11-15 00:52

developer   ~0073492

Verified 2823