Old 6th December 2018, 18:57   #1
ariszlo
Senior Member
 
Join Date: Jun 2015
Location: Hungary
Posts: 374
Why does this crash Winamp?

The Vortex skin used to work well up until Winamp 5.55 but its draw_r.maki crashes Winamp since Winamp 5.551. What is wrong with draw_r.maki? What makes Winamp crash?
Attached Files
File Type: m draw_r.m (4.0 KB, 12 views)
ariszlo is online now   Reply With Quote
Old 7th December 2018, 06:24   #2
ariszlo
Senior Member
 
Join Date: Jun 2015
Location: Hungary
Posts: 374
Here it is zipped.
ariszlo is online now   Reply With Quote
Old 7th December 2018, 08:14   #3
ariszlo
Senior Member
 
Join Date: Jun 2015
Location: Hungary
Posts: 374
With a lucky guess, I could fix the crashes. The culprit was this line:

PHP Code:
pulseback.setDelay(0.1); 
Increasing the delay to 0.5 fixed it.

effectCore.m also had that line crashing Winamp when Speaker Covers were turned on.

Will you test vortex-fixing.wal, please, if the crashes are really fixed?

The skin is not ready to release yet. It still has some no longer functional features to clean up (like checking updates at web sites which went down years ago).
Attached Files
File Type: zip vortex-fixed-maki.zip (14.2 KB, 8 views)
ariszlo is online now   Reply With Quote
Old 7th December 2018, 15:24   #4
PeterK.
Quinto Black CT Developer
 
Join Date: Sep 2016
Posts: 496
Quote:
Originally Posted by ariszlo View Post
With a lucky guess, I could fix the crashes. The culprit was this line:

PHP Code:
pulseback.setDelay(0.1); 
Increasing the delay to 0.5 fixed it.
I would have said: change the delay value from 0.1 to 100 since these are milliseconds and are represented by integer - according to the latest skin version 1.36.
PeterK. is offline   Reply With Quote
Old 7th December 2018, 16:16   #5
ariszlo
Senior Member
 
Join Date: Jun 2015
Location: Hungary
Posts: 374
I tried that but it stuck the right drawer.
ariszlo is online now   Reply With Quote
Old 7th December 2018, 16:25   #6
PeterK.
Quinto Black CT Developer
 
Join Date: Sep 2016
Posts: 496
Quote:
Originally Posted by ariszlo View Post
I tried that but it stuck the right drawer.
Really? No problems here

Attached Thumbnails
Click image for larger version

Name:	setdelay.png
Views:	79
Size:	173.9 KB
ID:	54224  
PeterK. is offline   Reply With Quote
Old 7th December 2018, 16:55   #7
ariszlo
Senior Member
 
Join Date: Jun 2015
Location: Hungary
Posts: 374
Did you also change both instances of this:
PHP Code:
Grp.SetTargetSpeed(0.5); 
to this?
PHP Code:
Grp.SetTargetSpeed(500); 
ariszlo is online now   Reply With Quote
Old 8th December 2018, 08:08   #8
PeterK.
Quinto Black CT Developer
 
Join Date: Sep 2016
Posts: 496
Quote:
Originally Posted by ariszlo View Post
Did you also change both instances of this:
PHP Code:
Grp.SetTargetSpeed(0.5); 
to this?
PHP Code:
Grp.SetTargetSpeed(500); 
Do not change this.

0.5 means half of a second and is a correct value for Grp.setTargetSpeed(). 500 would mean 500 seconds here.

PeterK. is offline   Reply With Quote
Old 8th December 2018, 12:43   #9
ariszlo
Senior Member
 
Join Date: Jun 2015
Location: Hungary
Posts: 374
So delays are counted in milliseconds and speed in seconds. I see. Thank you.
ariszlo is online now   Reply With Quote
Old 8th December 2018, 13:23   #10
PeterK.
Quinto Black CT Developer
 
Join Date: Sep 2016
Posts: 496
Quote:
Originally Posted by ariszlo View Post
So delays are counted in milliseconds and speed in seconds. I see. Thank you.
Yes.

code:
Timer.setDelay(int millisec);
GuiObject.setTargetSpeed(float second);



P.S. Did you get an error message while compiling the draw_r.m file?
P.S.2. I think you can delete the files Kopie von dashboard.m and Kopie von dashboard.maki. Someone must have copied and compiled this file for a reason (while updating the skin) but forgot to remove them in the end.
PeterK. is offline   Reply With Quote
Old 8th December 2018, 14:12   #11
ariszlo
Senior Member
 
Join Date: Jun 2015
Location: Hungary
Posts: 374
Quote:
Originally Posted by PeterK. View Post
P.S. Did you get an error message while compiling the draw_r.m file?
No, I didn't. Did you?

Quote:
Originally Posted by PeterK. View Post
P.S.2. I think you can delete the files Kopie von dashboard.m and Kopie von dashboard.maki. Someone must have copied and compiled this file for a reason (while updating the skin) but forgot to remove them in the end.
Thanks. I have already deleted them while doing some cleanup.
ariszlo is online now   Reply With Quote
Old 8th December 2018, 14:21   #12
PeterK.
Quinto Black CT Developer
 
Join Date: Sep 2016
Posts: 496
Quote:
Originally Posted by ariszlo View Post
No, I didn't. Did you?
Yep, compiler comlains about the line light=main.getObject("lights"); which according to the newest skin version should be light=main.findObject("lights");.

getObject : not an member function nor an event of class 'Layout' at draw_r.m:41 [32] :

Are we not using the same WaSD version? Mine is WaSDP_1.14.
PeterK. is offline   Reply With Quote
Old 8th December 2018, 16:47   #13
ariszlo
Senior Member
 
Join Date: Jun 2015
Location: Hungary
Posts: 374
I believe I have the same version as you do. At least, the files have the same timestamps. I might have installed it years ago on another machine using WaSDP_1.14.exe but recently I have been installing it by copying the contents of the attached zip archive into Winamp's directory. In addition to what WaSDP_1.14.exe installs, the attached zip archive also contains nscrt.dll, quickPlaylist.mi and cprowidget.mi.
Attached Files
File Type: zip ProgramFiles-Winamp-5.66.zip (251.9 KB, 6 views)
ariszlo is online now   Reply With Quote
Old 8th December 2018, 17:09   #14
ariszlo
Senior Member
 
Join Date: Jun 2015
Location: Hungary
Posts: 374
This is where I am now: vortex-fixing.zip

The zip contains two versions of the skin: Vortex-CoverArt.wal is more faithful to the original and Vortex-AlbumArt.wal is more usable imho. CoverArt is less functional these days as it used to be but there might still be some users who like to put a coverart.jpg into each of their music subdirectories and watch the picture while listening to music.

Originally, I wanted to replace the notifer for Vortex-AlbumArt but gave up because it would require to recompile a lot of maki's, including some that do not have source m's. So what I did was set the value of the "Display Album Art" attribute to 0 in attribs.m and recompiled loadattribs.maki.

In config/configpages, I replaced several urls with Internet Archive links.
ariszlo is online now   Reply With Quote
Old 9th December 2018, 06:59   #15
ariszlo
Senior Member
 
Join Date: Jun 2015
Location: Hungary
Posts: 374
Quote:
Originally Posted by PeterK. View Post
Yep, compiler comlains about the line light=main.getObject("lights"); which according to the newest skin version should be light=main.findObject("lights");.
This is how mc.exe compiles draw_r.maki in my Windows XP 5.1 VMware machine:

..\..\..\mc.exe draw_r.m
MC - Maki Compiler v1.2.0
(c)2001-2006, Nullsoft Inc.

Preprocessing...
OK: 95 macro expansions, 136659 bytes, 4280 lines, 4 files
Compiling... OK
Writing Winamp 5.66 (skin version 1.36) binary... OK

draw_r.m (4278 loc) was compiled to draw_r.maki (16890 bytes) in 234 ms

Tested the compiled binary both with Winamp 5.666 in VMware and 5.8 beta in Windows 10.
ariszlo is online now   Reply With Quote
Old 9th December 2018, 09:28   #16
PeterK.
Quinto Black CT Developer
 
Join Date: Sep 2016
Posts: 496
Quote:
Originally Posted by ariszlo View Post
The zip contains two versions of the skin
I would not split the skin into two versions, which, in my eyes, is rather unnecessary. Keep it as it was coded and created, run a clean update on functions and features, remove missing links - you know the drill. Save yourself time and headache.

And regarding the error message I saw while compiling: I made a "investigation" and turns out, that my compiler is up-to-date but the std.mi, which I have used for years provides the following command in the line 2137: extern GuiObject Group.findObject(String object_id); while it is extern GuiObject Group.getObject(String object_id); in the library file taken out of WaSDP_1.14. That must have created the guru error message - which, fortunately, had absolutely no negative impact neither on the Vortex skin or mine. So we are good now.
PeterK. is offline   Reply With Quote
Old 9th December 2018, 20:06   #17
ariszlo
Senior Member
 
Join Date: Jun 2015
Location: Hungary
Posts: 374
Quote:
Originally Posted by PeterK. View Post
run a clean update on functions and features
I wish I could. I do not want to keep no-longer functional left-over options such as "Options - Skin Configuration - CoverSearch - Search Amazon" but the designers of Vortex made it very hard to remove anything from the menu.

Quote:
Originally Posted by PeterK. View Post
but the std.mi, which I have used for years provides the following command
I see. That explains it.
ariszlo is online now   Reply With Quote
Old 9th December 2018, 21:57   #18
ariszlo
Senior Member
 
Join Date: Jun 2015
Location: Hungary
Posts: 374
I will probably leave Vortex-CoverArt.wal as it is now but I am still experimenting a bit. While trying to recompile configtree.m, I am getting the following error:

'0' : identifier expected at configtree.m:42 [14] :
func585(Int 0)
Exited with code 4

Any ideas, how to fix this?
Attached Files
File Type: m configtree.m (2.8 KB, 5 views)
ariszlo is online now   Reply With Quote
Old 10th December 2018, 07:24   #19
PeterK.
Quinto Black CT Developer
 
Join Date: Sep 2016
Posts: 496
Quote:
Originally Posted by ariszlo View Post
Any ideas, how to fix this?

Did you try to contact the coder in order to get the original script file in the first place? Because I not only get the same error message regarding the func585(Int 0) line I also see the following guru messages stating that:

- int30 is not declared
- unknown is not declared (now this is weird! I really doubt a coder would call a variable "unknown")
- syntax error here: Int GuiTree23.onAction(String action, String param, Int x, int y, int p1, int p2, GuiObject source)

Even if we get rid of those errors I am not very convinced that this script will work properly, Ariszló.
PeterK. is offline   Reply With Quote
Old 10th December 2018, 07:27   #20
PeterK.
Quinto Black CT Developer
 
Join Date: Sep 2016
Posts: 496
Quote:
Originally Posted by ariszlo View Post
I wish I could. I do not want to keep no-longer functional left-over options such as "Options - Skin Configuration - CoverSearch - Search Amazon" but the designers of Vortex made it very hard to remove anything from the menu.
Let me know which context menu entries you would like to remove.
PeterK. is offline   Reply With Quote
Old 10th December 2018, 13:44   #21
ariszlo
Senior Member
 
Join Date: Jun 2015
Location: Hungary
Posts: 374
As I understand, you suggest that I keep to the original as much as possible and do not replace CoverArt with AlbumArt. If I take that line then I would only like to remove

Options - Skin Configuration - Check for Skinupdates at Startup
and
Options - Skin Configuration - Coversearch - Search via Amazon.com

I would also like to remove the following options from the Skin Preferences window:

Cover Search - Enable Coversearch via Amazon.com
and Image Quality below it.


(If I replaced CoverArt with Albumart then I would also want to remove all of
Options - Skin Configuration - Coversearch
and
Options - Skin Configuration - Notifications
and all Notification and Cover Search entries from the Skin Preferences window.)
ariszlo is online now   Reply With Quote
Old 10th December 2018, 18:37   #22
PeterK.
Quinto Black CT Developer
 
Join Date: Sep 2016
Posts: 496
We are going to take it "peu à peu".

First step: "Check for Skinupdates at Startup".

Comment out the following lines:

- line 61 in attribs.m:
PHP Code:
Global ConfigAttribute autoupdate_attrib
- line 415 in attribs.m:
PHP Code:
autoupdate_attrib custom_page.newAttribute("Check for Skinupdates at Startup""1"); 
- lines 52-56 in updateSystem.m:
PHP Code:
if (autoupdate_attrib.getData() == "1") {
brw.navigateURL("about:blank");
brw.navigateURL(url "+" str_version);
system.navigateURL("http://.../panther_check.htm?Panther," +str_version);

Second step: "Search via Amazon.com":

Comment out the following lines:

- line 114 in attribs.m:
PHP Code:
Global ConfigAttribute cover_web_attrib
- line 370 in attribs.m:
PHP Code:
cover_web_attrib custom_page_cover.newAttribute("Search via Amazon.com""1"); 
- line 28 in cover.m:
PHP Code:
#define WEB cover_web_attrib.getData() == "1" 
- lines 226-228 in cover.m:
PHP Code:
cover_web_attrib.onDataChanged() {
    
UpdateCover(0);

And now the painful part: you have to recompile ALL scripts. Yes, all of them.

In order to hide the option Enable Coversearch via Amazon and Image Quality from the Skin Preferences window you need to comment out the following lines in the file cover.xml: 140-158 and 329-341.

PeterK. is offline   Reply With Quote
Old 11th December 2018, 10:53   #23
ariszlo
Senior Member
 
Join Date: Jun 2015
Location: Hungary
Posts: 374
I decided not to remove anything, just uncheck whatever is no-longer functional.

This is what I added to whatsnew.txt:
  • Fixed crashes at startup in Winamp 5.551+
  • Updated broken links
  • Changed fullscreen resizer cursor
  • Unchecked Amazon Search
  • Unchecked Skin Update
There are still some issues such as changing window mode from Party! back to normal will have Playlist checked in the Main Menu but the window will not be open.

Vortex-seconds.wal
ariszlo is online now   Reply With Quote
Old 11th December 2018, 13:27   #24
ariszlo
Senior Member
 
Join Date: Jun 2015
Location: Hungary
Posts: 374
whatsnew.txt:
  • Fixed crashes at startup in Winamp 5.551+
  • Updated broken links
  • Changed fullscreen resizer cursor
  • Deactivated Amazon Search, Skin Updates, MSPP check & Paypal button
ariszlo is online now   Reply With Quote
Old 11th December 2018, 14:54   #25
PeterK.
Quinto Black CT Developer
 
Join Date: Sep 2016
Posts: 496
Quote:
Originally Posted by ariszlo View Post
...[*]Deactivated Amazon Search, Skin Updates, MSPP check & Paypal button
Please bear in mind that changing the values from "1" to "0" in the attrribs.m and compiling the loadattribs.m still leaves 80 % of all scripts within the skin with old values - namely "1". Such procedure might work in the beginning, but also might show not plausible side effects one day, while setting new attribute values which used to be "1" and now are "0".

This is the reason why making changes in attribs.m files always require compilation of all files depending on attribs.m, which are almost 80 % in that particular skin.

And since you decided not to remove anything from the context menu I would recommend to leave those "checked" marks where they are - it does not hurt the user, does it?
PeterK. is offline   Reply With Quote
Old 11th December 2018, 23:54   #26
ariszlo
Senior Member
 
Join Date: Jun 2015
Location: Hungary
Posts: 374
Quote:
Originally Posted by PeterK. View Post
We are going to take it "peu à peu".
Was this message waiting for moderator's approval, too? I did not see it yesterday.
ariszlo is online now   Reply With Quote
Old Yesterday, 00:04   #27
ariszlo
Senior Member
 
Join Date: Jun 2015
Location: Hungary
Posts: 374
Quote:
Originally Posted by PeterK. View Post
And now the painful part: you have to recompile ALL scripts. Yes, all of them.
Unfortunately, there are some nasty maki binaries in the wasabi directory that I simply can't recompile.

Quote:
Originally Posted by PeterK. View Post
I would recommend to leave those "checked" marks where they are - it does not hurt the user, does it?
OK, reverted most of those changes: Vortex-milliseconds.wal
ariszlo is online now   Reply With Quote
Old Yesterday, 07:15   #28
PeterK.
Quinto Black CT Developer
 
Join Date: Sep 2016
Posts: 496
Quote:
Originally Posted by ariszlo View Post
Was this message waiting for moderator's approval, too? I did not see it yesterday.
Yes - God, how I hate it!

Quote:
Originally Posted by ariszlo View Post
Unfortunately, there are some nasty maki binaries in the wasabi directory that I simply can't recompile.
Any chance to obtain the original script files from one of the coder?
PeterK. is offline   Reply With Quote
Old Yesterday, 15:27   #29
ariszlo
Senior Member
 
Join Date: Jun 2015
Location: Hungary
Posts: 374
I will send the skin as soon as it is in an acceptable state to the original creators and will ask them. I doubt they have the missing maki sources, otherwise they would likely have added them to GitHub.
ariszlo is online now   Reply With Quote
Old Yesterday, 15:53   #30
PeterK.
Quinto Black CT Developer
 
Join Date: Sep 2016
Posts: 496
Quote:
Originally Posted by ariszlo View Post
I will send the skin as soon as it is in an acceptable state to the original creators and will ask them. I doubt they have the missing maki sources, otherwise they would likely have added them to GitHub.
Must have been some kind of a secret project... on the other side: why would you publish a skin on GitHub and hide half of source files? Huh? What is the point?
PeterK. is offline   Reply With Quote
Reply
Go Back   Winamp & SHOUTcast Forums > Skinning and Design > Modern Skins

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump