![]() |
#1 |
Android/UI Development
|
![]()
Hey,
Here is a must for all skin devs, and those who want to become a skin dev: Winamp Skin Development Pack v5.9 [2022/08/22] Designed for Winamp 5.9+ It features: -maki compiler -maki libs -bento/wa modern scripts -editplus 2 maki syntax If you have written a useful script or XUI object you can post it in this thread, and we will include it in WaSDP. Ofcourse, we'll give you credit. Changelog: v5.9 -updated scripts for bento from Winamp 5.9 -updated readme -updated installer (added nscrt.dll, misc tweaks, made it not require winamp.exe) -removed ConsoleFile.w5s (incompatible with 5.9, no source found) v1.14 -updated scripts for bento/wa modern from Winamp 5.63 -minor updates to lib\std.mi v1.12 -updated scripts for bento/wa modern from Winamp 5.63 -minor updates to lib\std.mi, lib\fileio.mi, lib\com\songinfo.m - added the following in lib\std.mi : extern System.onUrlChange(String url); : extern AlbumArtLayer.isLoading(); : extern AlbumArtLayer.onAlbumArtLoaded(boolean success); : extern GroupList.setRedraw(int redraw); - changed the following in lib\fileio.mi : XmlDoc.parser_onError(..) - due to some API changes filename and incpath will hold an empty string since winamp 5.56 - added fixes in lib\com\songinfo.m to cope with SHOUTcast v2 streams v1.11 -added colormgr.mi library -added some useful functions i've written some time ago v1.1 -needed to rewrite it after i've lost the installer source v1.02: -updated for the upcoming Winamp version 5.51 -new/updated libs (Pldir.mi, Std.mi) -included Edit Plus 2 Syntax for maki v1.01: -fixed typo in timecontrol.m -added missing files ____________________________________________________________ Previous version (not to be used with Winamp 5.9) Winamp Skin Development Pack 1.14 [2013/12/17] Designed for skinversion 1.34-1.36 / Winamp 5.54 - 5.666+ v1.14 also features: -console file output Here are the updated pldir.mi and std.mi with changes for 5.52 final. std.mi, pldir.mi ______________________________________________ |
![]() |
![]() |
![]() |
#2 |
Nothing to say...
Join Date: Sep 2000
Location: UK
Posts: 23,102
|
Copied over to skinning tips and tricks with a link back here for discussion.
I'll update the other threads in there as well today... |
![]() |
![]() |
![]() |
#3 |
Android/UI Development
|
ok, i just did a quick post since i was in hurry...
|
![]() |
![]() |
![]() |
#4 |
Nothing to say...
Join Date: Sep 2000
Location: UK
Posts: 23,102
|
One complaint, it fails to install if winamp isn't installed, quite right too, but it also fails to install on my u3 version of winamp I have installed on my memory stick, mainly because it's not got a registry entry I would guess
![]() Picky I know ![]() |
![]() |
![]() |
![]() |
#5 |
Senior Member
Join Date: Sep 2002
Location: BG
Posts: 265
|
This stuff kicks ass guys
![]() Thank you for your great work. winampconfig.mi and getMonitorWidth() / Height() will be very useful for me. I know I want too much, but any chances of adding something like System.onVideoFullscreen() event? Latest skin: fCrcl |
![]() |
![]() |
![]() |
#6 |
Senior Member
Join Date: Nov 2004
Location: Valencia, CA
Posts: 304
|
Is studio.xnf a thing of the past? I changed the size of my container, still the same size, blah blah blah, but can't find studio.xnf to delete it.
|
![]() |
![]() |
![]() |
#7 | |
Ben Allison
Former Winamp Developer Join Date: Jan 2005
Location: Brooklyn, NY
Posts: 1,057
|
Quote:
|
|
![]() |
![]() |
![]() |
#8 |
Senior Member
Join Date: Oct 2006
Posts: 369
|
I can't seem to get the console file output. Is there a secret incantation to make it work???
|
![]() |
![]() |
![]() |
#9 |
Senior Member
Join Date: Jan 2004
Location: Nevers (France)
Posts: 169
|
hello martin,
Missing file in your WSDP => \lib\glow.m |
![]() |
![]() |
![]() |
#10 |
Major Dude
Join Date: Jan 2006
Location: /\/¯¯¯¯¯\/\ , South-Africa
Posts: 1,030
|
Console was installed to C:\Program Files\Winamp\System...
If you use the.... System.debugString(String str, Int severity); method with a severity of 9 it will write a text file to your c: drive with the str... It will keep all these strings in this file. ClassicPro© v2.01 : This plugin allows you to use cPro skins in Winamp. ClassicPro skins are all SUI skins and loads very quickly. ClassicPro skins is even easier to skin than Winamp Classic skins. A new layout have been added since version 2. |
![]() |
![]() |
![]() |
#11 |
Senior Member
Join Date: Oct 2006
Posts: 369
|
Thanks. I did not realize that severity 9 was required. But it would be nice if the debug console could be rekindled.
|
![]() |
![]() |
![]() |
#12 | |
Moderator
Join Date: Aug 2004
Location: Poland
Posts: 563
|
Quote:
I wrote about this on Translations list, but no answer. So, maybe I will write it here, once again. Well, while I was compiling new skins (Bento, Big Bento and Modern from 5.5) I see this message errors (missing files, and syntax error): <<Big Bento:>> ... Preprocessing... #include lib\glow.m: file not found at cbuttons.m:18 Preprocessor error, aborting ... Preprocessing... #include lib\glow.m: file not found at mute.m:21 Preprocessor error, aborting ... Preprocessing... OK: 23 macro expansions, 79792 bytes, 2844 lines, 4 files syntax error at lib\std.mi:35 [7] : extern class @{51654971-0D87-4a51-91E3-A6B53235F3E7}@ @{00000000-0000-0000-0000- 000000000000}@ Object; Exited with code 4 ... <<Modern Skin>> ... Preprocessing... #error: This script can only be compiled as a #include at attribs.m:2 Preprocessor error, aborting Exited with code 6 ... Preprocessing... #error: This script can only be compiled as a #include at drawer.m:25 Preprocessor error, aborting Exited with code 6 ... Regards, Pawel |
|
![]() |
![]() |
![]() |
#13 |
Major Dude
Join Date: Jul 2003
Location: UK
Posts: 1,316
|
Also modulus % seems no longer supported as it bombs out during maki compile?
|
![]() |
![]() |
![]() |
#14 | |
Senior Member
Join Date: Jan 2004
Location: Nevers (France)
Posts: 169
|
Quote:
it's included in other scripts |
|
![]() |
![]() |
![]() |
#15 | |
Moderator
Join Date: Aug 2004
Location: Poland
Posts: 563
|
Quote:
Did you compiled Winamp Modern Skin, with new config.mi and std.mi from Winamp Skin Development Pack 1.0? When I compile this 1 file is not created: notifications_fade_times.maki What file I have to compile to create this? Thanks Ps: What with MAKI compiler for UTF-16 scripts? |
|
![]() |
![]() |
![]() |
#16 |
Senior Member
Join Date: Oct 2006
Posts: 369
|
I notice that there are 2 versions of onTitleChange. There is:
System.onTitleChange(String newtitle) and System.onTitle2Change(String newtitle2) Whatis the difference?????? It is not documented. |
![]() |
![]() |
![]() |
#17 |
Major Dude
Join Date: Jan 2006
Location: /\/¯¯¯¯¯\/\ , South-Africa
Posts: 1,030
|
The difference is that...
System.onTitle2Change(String newtitle2) ... doesnt work ![]() I think in the winamp3 days it was posible for the system to see what the next file will be... Doesnt work in winamp5. ClassicPro© v2.01 : This plugin allows you to use cPro skins in Winamp. ClassicPro skins are all SUI skins and loads very quickly. ClassicPro skins is even easier to skin than Winamp Classic skins. A new layout have been added since version 2. |
![]() |
![]() |
![]() |
#18 |
Senior Member
Join Date: Oct 2006
Posts: 369
|
THank you. Ok, but at present onTitleChange doesn't work correctly as I have documented elsewhere. onTitleChange is always triggered when a track starts playing, not when the track changes. It used to work. So I was wondering if they had put the old function on the Title2change!
Why is onTitle2Change still in the std file if it doesn't work??? Actually I would be happy if there were a function to return the name of the next track to play, and another for the last track in the playlist. And if the tags were available for the current track, whether it is playing or not. At present things like the length are only available while playing, but obviously it is available somewhere in the guts of Winamp. |
![]() |
![]() |
![]() |
#19 | |
Senior Member
Join Date: Jan 2004
Location: Nevers (France)
Posts: 169
|
Quote:
2) Because, there is no script file notifications_fade_times.m |
|
![]() |
![]() |
![]() |
#20 | |
Moderator
Join Date: Aug 2004
Location: Poland
Posts: 563
|
Quote:
|
|
![]() |
![]() |
![]() |
#21 |
Android/UI Development
|
ok i will release a new version soon, featuring glow.m and the editplus files i forgot about (hm i really was toooo tired...)
|
![]() |
![]() |
![]() |
#22 |
Senior Member
Join Date: Jan 2004
Location: Nevers (France)
Posts: 169
|
thanks martin
![]() |
![]() |
![]() |
![]() |
#23 |
Senior Member
Join Date: Oct 2006
Posts: 369
|
The list of metadata tags is very handy, but some of them do not seem to work. "genre" and "srate" return as a null string. "stereo" only returns 1 or 0 for MP3 files, and null for FLAC, wave, and MP4. I assume that "srate" should return the conversion frequency. "bitrate" appears to work OK. With this it is possible to have the info displayed even when the current track is not being played, but since some info is missing or the tag name is possibly not correct in the list, this is still not possible. "length", "title", "comment" all appear to work well.
|
![]() |
![]() |
![]() |
#24 |
Senior Member
Join Date: Oct 2006
Posts: 369
|
With a little more work, I found that "srate" does work, but only for MP3. The problem I saw with genre was fixed when I spotted my misspelling of genre. It seems that the metadata tags are only fully suppored for MP3.
|
![]() |
![]() |
![]() |
#25 |
Android/UI Development
|
you might be right, since the list was taken out of in_mp3 if i remember right
|
![]() |
![]() |
![]() |
#26 |
Android/UI Development
|
btw, notifications_fade_times.m was never distributed along w/ winamp5 - so i havn't this file
|
![]() |
![]() |
![]() |
#27 |
Senior Member
Join Date: Oct 2006
Posts: 369
|
It is evident that the metadata needs to be uniformly handled in the other formats. My requirements are for srate, and stereo to be handled the same. All other things I have tested seem to work the same way. I suspect that VBR does not work.
|
![]() |
![]() |
![]() |
#28 |
Senior Member
Join Date: Oct 2006
Posts: 369
|
As I suspected VBR only works for MP3. But "srate" used to work for MP3, and now does not work for any of the formats I have tested MP4, wave, &FLAC.
|
![]() |
![]() |
![]() |
#29 |
Android/UI Development
|
http://stashbox.org/47093/WaSDP_1.01.exe
should contain the missing files? |
![]() |
![]() |
![]() |
#30 | |
Moderator
Join Date: Aug 2004
Location: Poland
Posts: 563
|
Quote:
Thanks for update. All missing files are included. I compiled Big Bento. Everything ok, except this, take a look: C:\Program Files\Winamp5.5\Skins\Big Bento\scripts>"C:\Program Files\Winamp5.5\m c.exe" timecontrol.m MC - Maki Compiler v1.1.3 (c)2001, Nullsoft Inc. Preprocessing... OK: 23 macro expansions, 79792 bytes, 2844 lines, 4 files syntax error at lib\std.mi:35 [7] : extern class @{51654971-0D87-4a51-91E3-A6B53235F3E7}@ @{00000000-0000-0000-0000- 000000000000}@ Object; Exited with code 4 Winamp Modern Skin compiled without any errors. Ps:If you have any idea about compile error in Big Bento please write here. |
|
![]() |
![]() |
![]() |
#31 |
Major Dude
Join Date: Jul 2003
Location: UK
Posts: 1,316
|
will post here too as its relevant to the new std.mi
with the addition of the frame object, this keyword cannot be used as a variable if compiling for 5.5+ might find for example that some skins with animated layers using frame as an integer to catch frame number to show will stop compiling |
![]() |
![]() |
![]() |
#32 |
Android/UI Development
|
^^installer in 1st post is updated^^
|
![]() |
![]() |
![]() |
#33 |
Android/UI Development
|
^^ Installer updated for 5.51 beta ^^
Check out/test the new pldir.mi library ![]() |
![]() |
![]() |
![]() |
#35 |
Android/UI Development
|
yep
![]() although the sorting algorithm must be implemented by the skinner, it is at leasta good point to start in order to make skinning more customizeable. Ah, don't forget to bump your skinversion to 1.31 ![]() |
![]() |
![]() |
![]() |
#36 |
Senior Member
|
The ripprotection.mi is based on LockUI(). I think that this is not a good solution to prevent usage of "ripped skins". What about switchskin("Winamp Classic");? It works well and doesn't confuse the user with locked UI. I tested it in different languages and it works perfectly.
|
![]() |
![]() |
![]() |
#37 |
Android/UI Development
|
k, thanks
![]() but i don't use the ripprotection anymore and it wasa more a mistake that it made it into this distro ![]() |
![]() |
![]() |
![]() |
#38 |
Major Dude
Join Date: Jan 2006
Location: /\/¯¯¯¯¯\/\ , South-Africa
Posts: 1,030
|
Drawer script with params
Attached is a few scripts I used in Azenis 2. If I want to send Xui object, what directory structure should I use? All of them are (skinname/sc/xuiname/*) atm... ClassicPro© v2.01 : This plugin allows you to use cPro skins in Winamp. ClassicPro skins are all SUI skins and loads very quickly. ClassicPro skins is even easier to skin than Winamp Classic skins. A new layout have been added since version 2. |
![]() |
![]() |
![]() |
#39 |
Android/UI Development
|
i want to have them in the dir
lib/xui/xuiname/ the skinner must take them out of this dir and insert em in the skin community scripts should also go in an extra folder lib/contribs or something like this. |
![]() |
![]() |
![]() |
#40 |
Android/UI Development
|
the updated std.mi/pldir.mi can be downloaded from 1st post.
no extra installer atm |
![]() |
![]() |
![]() |
|
Thread Tools | Search this Thread |
Display Modes | |
|
|