Skip to main content

Notice

Please note that most of the software linked on this forum is likely to be safe to use. If you are unsure, feel free to ask in the relevant topics, or send a private message to an administrator or moderator. To help curb the problems of false positives, or in the event that you do find actual malware, you can contribute through the article linked here.
Topic: JSplitter (splitter + SMP x64 alternative) (Read 7532 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

Re: JSplitter (splitter + SMP x64 alternative)

Reply #50
After installing Windows 11 23H2 (KB5044285) or 24H2, those who are using JSplitter 3.6.1.10 (foo_uie_jsplitter) 2024-10-04.
When I try to load a Package (Script) .zip file I get the following error:

Failed to open archive: `Biography-v1.4.2.mod.1.zip`
  mz_zip_reader_init_file failed with error 0x11: file open failed


----------
"profile\user-components-x64\foo_uie_jsplitter"
 - Delete the profile\user-components-x64\foo_uie_jsplitter folder
 - Next, overwrite the "profile" folder in the downloaded folder below.
 - If an error message appears, click "OK" to proceed.

profile - Added Playlist-Manager-SMP, lastfm API key.7z
https://mega.nz/file/VHNnkYyD#0z-azDj1L4YCGly69E1XL82qyX2trCD7dIJLy4-mtRc

The following Package (Script) .zip can be loaded.

Biography-vversion1.4.2.mod.1.zip
Library-Tree-v2.4.0.zip
Playlist-Manager-SMP-0-19-0-package.zip

SHURE SRH1840, SENNHEISER HD660S2, SENNHEISER HD620S, SENNHEISER HD 490 Pro Plus, beyerdynamic DT 1990 PRO, HiFiMAN Edition XS, Bowers & Wilkins P7, FiiO FT5, 水月雨 (MOONDROP) 空鳴 - VOID, Nakamichi Elite FIVE ANC, SONY WH1000XM5 (made a Upgrade/Balanced Cable by myself)

Re: JSplitter (splitter + SMP x64 alternative)

Reply #51
Ok, please someone test these packages in JSsplitter on win 10 and 11. They must be tested on a clean portable install with no package installed previously.

Report success importing them into the package manager and let me know if some of them fail or whatever.

EDIT: explanation, they are the same files but created with different zip libraries (SMP package manager, pkzip and 7zip). The test should identify if it's something library related or all are broken on win 11 in JSplitter. No reports on win 10 I think yet.

Re: JSplitter (splitter + SMP x64 alternative)

Reply #52
After installing Windows 11 23H2 (KB5044285) or 24H2 and JSplitter 3.6.1.10 (foo_uie_jsplitter) 2024-10-04.

If Windows 11 23H2 (KB5044285) or 24H2 has not been applied, it will load normally.
However, Windows 11 23H2 (KB5044285) is a security update, so everyone should install it.

The result was the same error and they all failed.
A different error is displayed than before.

 mz_zip_reader_extract_to_file failed with error 0x11: file open failed

SHURE SRH1840, SENNHEISER HD660S2, SENNHEISER HD620S, SENNHEISER HD 490 Pro Plus, beyerdynamic DT 1990 PRO, HiFiMAN Edition XS, Bowers & Wilkins P7, FiiO FT5, 水月雨 (MOONDROP) 空鳴 - VOID, Nakamichi Elite FIVE ANC, SONY WH1000XM5 (made a Upgrade/Balanced Cable by myself)

Re: JSplitter (splitter + SMP x64 alternative)

Reply #53
Then that's clearly a win 11 bug, since it has broken things working before everywhere. I have reported at the Jsplitter thread anyway but it should be reported to microsoft and miniz devs.

Re: JSplitter (splitter + SMP x64 alternative)

Reply #54
Then that's clearly a win 11 bug, since it has broken things working before everywhere. I have reported at the Jsplitter thread anyway but it should be reported to microsoft and miniz devs.

Hey @regor ,

can you ask the JSplitter dev if he can implement the UI Hacks functionality into SMP?
This was also on Yuri's task list here:
https://github.com/users/TheQwertiest/projects/1?pane=issue&itemId=6051840

Many SMP themes ( eole, CatRox, Georgia-ReBORN, etc ) are using it to hide the top caption toolbar and
manipulate window size and so on. Otherwise we can not switch to this JSplitter x64 :(
Also it would be great for a standalone SMP x64 version to be uploaded on Github repo if possible...

You can copy and paste this to him:

Spoiler (click to show/hide)

Thanks!

-TT

Re: JSplitter (splitter + SMP x64 alternative)

Reply #55
can you ask the JSplitter dev if he can implement the UI Hacks functionality into SMP?

FYI, the thread for that component is here:
https://foobar2000-ru.translate.goog/forum/viewtopic.php?t=6378&start=400&_x_tr_sl=auto&_x_tr_tl=en&_x_tr_hl=en

Remove the translate bar to interact with the links/forum.

They do understand/respond to English requests.

Re: JSplitter (splitter + SMP x64 alternative)

Reply #56
can you ask the JSplitter dev if he can implement the UI Hacks functionality into SMP?

No problem, will do later though. I first asked if there is intention on adding more things or SMP bugfixes, otherwise there is no point on requests. But probably there is interest on that since it's UI related like the splitter.

Right now I asked for the repo, if possible, the package bug, the regexp bug and also increasing the max heap size (so there is no more a small RAM limit on x64) and slow script timer (which has given more problems than anything).

Re: JSplitter (splitter + SMP x64 alternative)

Reply #57
@mjm716,

yes I already know, but I do not want to register now since regor already has an account and he can be our SMP ambassador  :)

-TT

Re: JSplitter (splitter + SMP x64 alternative)

Reply #58
I hate commenting on stuff I never use, but the error message "mz_zip_reader_extract_to_file failed with error 0x11: file open failed" has nothing to do with Windows 10, Windows 11 or KB5044285. It's a bug in JSplitter component doing its own I/O. It bypasses foobar2000 provided routines and fails to decode UTF-8. It doesn't work when file paths contain any non-ascii characters that gets UTF-8 encoded. And just for the record even ancient Windows 7 is affected by the very same bug.

Re: JSplitter (splitter + SMP x64 alternative)

Reply #59
I don't get why AirKen reports it worked before then if it affects all installations. Will update the report at the ru forum. Thanks case

Re: JSplitter (splitter + SMP x64 alternative)

Reply #60
The error is different.
Reply #50: https://hydrogenaud.io/index.php/topic,126743.msg1053097.html#msg1053097
Reply #52: https://hydrogenaud.io/index.php/topic,126743.msg1053124.html#msg1053124

I have checked it on multiple PCs.
(Windows 11 23H2 (KB5044285) or 24H2)

24H2: Bootable USB USB memory
Clean installed laptop
Overwrite installation laptop
Laptops that don't support Windows 11 (Overwrite installation laptop)

Many other desktops.

@regor, I don't think you understand. @marc2k3 also confirmed.
SHURE SRH1840, SENNHEISER HD660S2, SENNHEISER HD620S, SENNHEISER HD 490 Pro Plus, beyerdynamic DT 1990 PRO, HiFiMAN Edition XS, Bowers & Wilkins P7, FiiO FT5, 水月雨 (MOONDROP) 空鳴 - VOID, Nakamichi Elite FIVE ANC, SONY WH1000XM5 (made a Upgrade/Balanced Cable by myself)

Re: JSplitter (splitter + SMP x64 alternative)

Reply #61
\profile\user-components-x64\foo_uie_jsplitter\docs\js\foo_ui_hacks.js

What is this?
SHURE SRH1840, SENNHEISER HD660S2, SENNHEISER HD620S, SENNHEISER HD 490 Pro Plus, beyerdynamic DT 1990 PRO, HiFiMAN Edition XS, Bowers & Wilkins P7, FiiO FT5, 水月雨 (MOONDROP) 空鳴 - VOID, Nakamichi Elite FIVE ANC, SONY WH1000XM5 (made a Upgrade/Balanced Cable by myself)

Re: JSplitter (splitter + SMP x64 alternative)

Reply #62
I confirmed nothing. I googled the error and it pointed at a function in the miniz library used for extracting files.

Luckily for everyone here, Case has confirmed this is not a miniz/windows bug at all. It's how the library is used within the component that is buggy.

So I can reproduce the same errors on windows 10 by using non-ascii chars in the package name. Easy just like Case said.

edit: and if package names are pure ascii, I guess it's the profile path that contains non ascii chars - that's where files are extracted.

Re: JSplitter (splitter + SMP x64 alternative)

Reply #63
\profile\user-components-x64\foo_uie_jsplitter\docs\js\foo_ui_hacks.js

What is this?

This is just the JavaScript documentation for the UI Hacks user-component the same as in the SMP component.
We still need the user-component in x64 compiled or direct implementation in SMP/JSplitter as I requested.

Maybe someone on that forum also knows the UI Hacks dev, he is also a Russian guy.
But the chance to contact that dev and get the source code to compile it is very unlikely...

-TT

Re: JSplitter (splitter + SMP x64 alternative)

Reply #64
Reply #52: https://hydrogenaud.io/index.php/topic,126743.msg1053124.html#msg1053124
Putting this error aside, The following environment is a problem.
 - After installing Windows 11 23H2 (KB5044285) or 24H2, those who are using JSplitter 3.6.1.10 (foo_uie_jsplitter) 2024-10-04.
Reply #50: https://hydrogenaud.io/index.php/topic,126743.msg1053097.html#msg1053097

As @marc2k3 said, there are still some things to try.

@regor posted this in the RU thread. Thanks.
SHURE SRH1840, SENNHEISER HD660S2, SENNHEISER HD620S, SENNHEISER HD 490 Pro Plus, beyerdynamic DT 1990 PRO, HiFiMAN Edition XS, Bowers & Wilkins P7, FiiO FT5, 水月雨 (MOONDROP) 空鳴 - VOID, Nakamichi Elite FIVE ANC, SONY WH1000XM5 (made a Upgrade/Balanced Cable by myself)

Re: JSplitter (splitter + SMP x64 alternative)

Reply #65
I tried placing foobar2000 x64 and Spider Monkey Panel Script (Packae) directly under C:.
Everything went smoothly. The package file was loaded.

This definitely happens after installing Windows 11 23H2 (KB5044285) or 24H2 and JSplitter 3.6.1.10 (foo_uie_jsplitter) 2024-10-04.

People in environments where "Japanese" is used should have noticed this immediately.
I feel pathetic.

This was a problem that only occurred to people in a very limited number of circumstances.

However, the problem has not been resolved, so I have no choice but to ask the developer for help.

I managed to avoid it in my own way.

Sorry for the trouble.
SHURE SRH1840, SENNHEISER HD660S2, SENNHEISER HD620S, SENNHEISER HD 490 Pro Plus, beyerdynamic DT 1990 PRO, HiFiMAN Edition XS, Bowers & Wilkins P7, FiiO FT5, 水月雨 (MOONDROP) 空鳴 - VOID, Nakamichi Elite FIVE ANC, SONY WH1000XM5 (made a Upgrade/Balanced Cable by myself)

Re: JSplitter (splitter + SMP x64 alternative)

Reply #66
So I have been working these days in a compatibility layer between JSP and SMP (not the opposite), and except some specific methods, some basic scripts work as is just by adding 2 lines and changing the preprocessor to includes. So not only the old samples would work with minimal changes, but also [some] new ones from JSP can work.

For ex, this:
Spoiler (click to show/hide)

Attached the same sample on JSP3 and SMP. There is a bit of work left to do yet on string drawing though.

Re: JSplitter (splitter + SMP x64 alternative)

Reply #67
Ok these are all samples from SMP updated to work with Last.fm and Allmusic.

Samples are at:
[foobar2000 profile]\user-components\foo_spider_monkey_panel\samples\
(for JSplitter, instead of foo_spider_monkey_panel it should be foo_jsplitter or similar)

Replace entire folder complete with the new one provided.

Last.fm key is added using the R. Click menu.

- EDIT: Have reuploaded the zip with some last minute changes. Delete the old one.
List of changes:
Quote
last.fm bio.js:
- Added menu entry to set user API KEY.
- Panel warns about no API set if it's empty.
last.fm similar artists + user charts + recent tracks:
- Added menu entry to set user API KEY.
- Panel warns about no API set if it's empty.
allmusic review.js
- Fixes web requests.
- No crash if there are web request on shutdown. (same than Biography)
- Does not save reviews if they contain less than 5 chars (there are a lot of false positives with empty reviews otherwise).

 

Re: JSplitter (splitter + SMP x64 alternative)

Reply #68
The following works without any problems:
\profile\user-components\foo_spider_monkey_panel\samples\complete

Check Biography (version1.4.2.mod.1).

I think the following also works:
\profile\user-components-x64\foo_uie_jsplitter\samples\complete

However, let's say Biography Options... > Server Setting (All Panel) is set to "5".

If the image is not added even after changing to "20", you need to delete the biography-cache.

\profile\foo_uie_jsplitter\package_data\{BA9557CE-7B4B-4E0E-9373-99F511E81252}\biography-cache

If the path contains Japanese characters, it will not pick up any thumbnail images at all.
SHURE SRH1840, SENNHEISER HD660S2, SENNHEISER HD620S, SENNHEISER HD 490 Pro Plus, beyerdynamic DT 1990 PRO, HiFiMAN Edition XS, Bowers & Wilkins P7, FiiO FT5, 水月雨 (MOONDROP) 空鳴 - VOID, Nakamichi Elite FIVE ANC, SONY WH1000XM5 (made a Upgrade/Balanced Cable by myself)

Re: JSplitter (splitter + SMP x64 alternative)

Reply #69
There is a "problem" when using scripts on JSplitter I just spotted. Playlists may be locked by components and thus all scripts using playlist locks on SMP will not work properly on JSplitter, since the component name must be checked within the script and it expects 'foo_spider_monkey_panel'.

Therefore... all scripts must be updated to check both (worst solution) or JSplitter should include a new method reporting the current panel parent -i.e. 'foo_uie_jsplitter'- (best solution). This method can be polyfilled in SMP and scripts would check one or another name depending on the method output. The second solution would allow instances where both SMP and JSplitter are present, and differentiate their locks (instead of simply trying to manage both which will obviously fail).

Will report this too.

Re: JSplitter (splitter + SMP x64 alternative)

Reply #70
There is a "problem" when using scripts on JSplitter I just spotted. Playlists may be locked by components and thus all scripts using playlist locks on SMP will not work properly on JSplitter, since the component name must be checked within the script and it expects 'foo_spider_monkey_panel'.
Meanwhile this can be solved with:

Code: [Select]
if (!window.Parent) {
Object.defineProperty(window, 'Parent', {
enumerable: false,
configurable: false,
writable: false,
value: window.GetPanel && window.GetPanelByIndex // Checks for JSplitter-only methods availability
? 'foo_uie_jsplitter'
: 'foo_spider_monkey_panel'
});
}

Then:

Code: [Select]
	const lockName = plman.GetPlaylistLockName(playlistIndex);
if (lockName === window.Parent || !lockName) { // Instead of using lockname === 'foo_spider_monkey_panel'
// Do your thing
}

That way the code will work on both panels.

Re: JSplitter (splitter + SMP x64 alternative)

Reply #71
Then that's clearly a win 11 bug, since it has broken things working before everywhere. I have reported at the Jsplitter thread anyway but it should be reported to microsoft and miniz devs.

Hey @regor ,

can you ask the JSplitter dev if he can implement the UI Hacks functionality into SMP?
This was also on Yuri's task list here:
https://github.com/users/TheQwertiest/projects/1?pane=issue&itemId=6051840

Many SMP themes ( eole, CatRox, Georgia-ReBORN, etc ) are using it to hide the top caption toolbar and
manipulate window size and so on. Otherwise we can not switch to this JSplitter x64 :(
Also it would be great for a standalone SMP x64 version to be uploaded on Github repo if possible...

You can copy and paste this to him:

Spoiler (click to show/hide)

Thanks!

-TT
About this, as far as I have read on the docs, JSplitter allows to resize the foobar window and move it.

There is no option to hide the caption toolbar can ask about that. BUT, maybe this should also be asked to foobar dev so it's available for everyone (?).

EDIT: On CUI you can remove the toolbars, only thing left is the window title.

Re: JSplitter (splitter + SMP x64 alternative)

Reply #72
Code: [Select]
utils.CheckComponent('foo_uie_jsplitter')

That is redundant if you have SMP and JSplitter installed at the same time and the script is running inside SMP.

I'd use

Code: [Select]
value : 'GetPanel' in window
? 'foo_uie_jsplitter'
: 'foo_spider_monkey_panel'

It's pretty cool how built in objects are mutable. I didn't know that.

Re: JSplitter (splitter + SMP x64 alternative)

Reply #73
It was mostly to double check in case someone added extra methods directly to SMP interfaces like I did in the other thread., although it provides nothing if you have both installed. Can be safely removed in most cases as you said.

Re: JSplitter (splitter + SMP x64 alternative)

Reply #74
About this, as far as I have read on the docs, JSplitter allows to resize the foobar window and move it.

There is no option to hide the caption toolbar can ask about that. BUT, maybe this should also be asked to foobar dev so it's available for everyone (?).

EDIT: On CUI you can remove the toolbars, only thing left is the window title.

Yes, we are talking about that top window toolbar where the caption 🗕 🗖 ✖ buttons reside.
This can be completely removed, we would then need the functionality of the caption buttons
and configurable area where you can define the pseudo-caption area in order to move the window
around, double click on that area for maximizing and minimizing.

Also we need manipulation of window size ( you said it is already possible ), including setting up a locked minimum size.
And a drop shadow for the window would be also nice ( this works with aero effects > glass frame ).

-TT