wasdp_readme.txt 7.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162
  1. Winamp Skin Development Pack (WaSDP) ~ Version 5.9 (2022/08/22)
  2. Copyright © 2007-2013 Martin Poehlmann / NULLSOFT
  3. Copyright © 2013-2022 Winamp SA
  4. ~ README ~
  5. Well, this is again one of those README files you might not want to read, but in three cases it is recommended to read it:
  6. I You are new to Skinning
  7. II) You want some information about Bento scripts
  8. III) You are wondering why you have no m files in Bento/Wa Modern Skin dir after reinstallig Winamp
  9. ~ CONTENTS ~
  10. 1) Preludium... Wasabi, the Winamp Skinning Engine
  11. 2) MC.EXE - The 'ultimative' maki compiler
  12. 2.1) How to compile m files to maki files
  13. 2.2) Edit Plus 2 - a textbased editor
  14. 2.3) Maki Overview
  15. 3) Bento Scripts
  16. 4) Reinstalling Winamp with WaSDP
  17. 5) I want help - got lost within the skinning engine... or can someone make my skin
  18. 6) ...Postludium
  19. 1) Preludium... Wasabi, the Winamp Skinning Engine
  20. Well, Wasabi is Winamp's own scripting system (WinAmp System Architecture Building Interface).
  21. The Wasabi Skinning Engine was developed along with Winamp3 and then incorporated into gen_ff.dll of Winamp 5. But for creating Skins you need not know how to code Wasabi, you 'just' need some XML experience. If you want a real good skin, you should also be able to write maki (Maki A Killer Interface) scripts.
  22. For beginners you should start looking at the xml code of Winamp Modern and Bento. Try to understand the structure of WasabiXML, button functions, etc.
  23. Here are three pages that share good information about winamp skinning:
  24. http://www.winamp.com/development/skins-modern
  25. http://wiki.skinconsortium.com
  26. the last one i do not remember since i have a local copy of it, hehe; but try to google: Winamp XML Object Reference :)
  27. Last but not least there are also two good forums where you can post questions about skinning, etc.
  28. http://forums.winamp.com
  29. http://forums.skinconsortium.com
  30. Now some info about me: I am Martin, Admin and Skin Dev from skinconsortium.com (known as martin.deimos). I am also the coder of Winamp's new SUI Skin called Bento.
  31. If you have skinning related question please do NOT pm or mail me. post your question at winamp forums or skinconsortium forums!
  32. 2) MC.EXE - The 'ultimative' maki compiler
  33. 2.1) How to compile m files to maki files
  34. Ok, if you have played with WasabiXML you will most likely do more complex skins. With MAKI scripts you have the power to create new functions (like mute, new visualizations,...) for your skin.
  35. Maki is also a new programming language aligned to JavaScript. The best option to start is, look at the m scripts of Winamp Modern and Bento.
  36. Now it is the right time to configure MC.EXE, the maki compiler which coverts the m files to maki files readable by Wasabi Skinning Engine.
  37. just call MC.EXE [filename]
  38. but calling this everytime from the DOS prompt is really annaying. So i give now a method how you can easyly compile m scripts.
  39. 2.2) Edit Plus 2 - a textbased editor
  40. Download Edit Plus (http://www.editplus.com), install and run it.
  41. Goto Tools > Configure User Tools...
  42. Click on Add Program and select Program
  43. Then fill the editboxes:
  44. Menu Text: Compile To Maki
  45. Command: %WinampDir%\mc.exe (replace %WinampDir% by your Winamp Program Path!!!)
  46. Argument: $(FileName)
  47. Initial: $(FileDir)
  48. uncheck close window on exit
  49. Now click apply. you can access this tool in the tools menu. you can also add it as symbol to the titlebar (please figure out yourself if you want to have it this way).
  50. Now we do a first test if everything is working: open from Bento Skin in scripts folder eq.m with editplus and call the maki compiler (with your preferred method).
  51. If everything worked you will get an fine output in the dos window. if not there is either a script error or you havn't configured the user tool in the right way.
  52. If you have installed the Edit Plus Syntax lightning from WaSDP you can enable this feature in editplus according to this procedure:
  53. You add a new filetype under prefs > files > settings & syntax. the extensions are m/mi, now locate the stx/acp files (in your winampdir).
  54. click ok and go to document > refresh ACP/STX. now your file should have nice colors :)
  55. If you want to use the cliptext funstions in Editplus, you must copy maki.ctl to your editplus ini dir. (progs/editplus2) [i am not really sure about this step, since i do not use cliptext :(]
  56. 2.3) Maki Overview
  57. Now you should at least be able to compile maki scripts. Learning how to write them is the next step. Again i encourage you to look at the scripts that are delivered with this pack!
  58. They are always build like this:
  59. #include <lib/std.mi> //must always be included!!
  60. //Now you define some functions or globals.
  61. Global String hello;
  62. Global Text myText
  63. //The whole script starts with this function:
  64. System.onScriptLoaded ()
  65. {
  66. //here we define our variables
  67. group sg = getScriptGroup(); //this is the group our script runs in
  68. myText = sg.findObject("the id of a text object in xml");
  69. hello = "Hey, this is my first script";
  70. myText.setText(hello);
  71. }
  72. Your next quetsion might be, what functions can i call?
  73. The answer is easy: all functions that are listed in the *.mi files in WinampDir/lib.
  74. For documentations, use again teh above links or look at other scripts.
  75. 3) Bento Scripts
  76. I suggest if you are new in skinning and maki, start with Winamp Modern, since it uses much easier maki scripts.
  77. Bento itself are 2 skins (Bento and Big Bento) Bento uses the same scripts as Big Bento (reads them from the Big Bento/scripts folder). So i need sometimes to submit params within my skin declaration in order to detect which skinn is currently running.
  78. The next difference is that I included some scripts to be applied more than one time in xml (like hoverstimulate.maki). i submit all neccessary params again via the script params.
  79. Last but not least Bento's scripts are communicating with each other via the sendAction function.
  80. for example if you collapse the player window, the normal layout will recieve this function:
  81. normal.onAction (String action, String param, Int x, int y, int p1, int p2, GuiObject source)
  82. {
  83. if (action == "sui" && param == "tonocomp" && x == 0)
  84. {
  85. // x is 0 if the window is not collapsed, or 1 if it is already collapsed (on startup)
  86. }
  87. }
  88. here is a (incomplete) list of all calls i remember:
  89. action | param | x
  90. -normal layout:
  91. sui tonocomp 1/0
  92. fromnocomp
  93. load_comp pledit
  94. pledit_posupdate
  95. -playlist/infocomp frame
  96. set_maxwidth
  97. -browser
  98. openurl url
  99. search string
  100. go (if you want to use the editbox text)
  101. -sui group
  102. browser_navigate some site
  103. browser_search some string
  104. ...
  105. So you can send "browser_navigate" "http://mysite.com" to the sui group, and it will switch to the browser and open the site, hehe.
  106. Perhaps read through the scripts to see why i added these calls, and how you can manipluate them...
  107. 4) Reinstalling Winamp with WaSDP
  108. If you want to install a newer version of winamp and WaSDP is already installed, it might happen that the m files in the default skin dirs are deleted.
  109. Solution: install WaSDP again, hehe.
  110. 5) I want help - got lost within the skinning engine... or can someone make my skin
  111. If you have a great skin idea or a great design and you have big problems with coding xml/maki you have some possibilities:
  112. - post at http://forums.winamp.com but ensure to read the "you want someone to make a skin for you"
  113. - post at http://forums.skinconsortium.com and we will decide if we want to code this skin (atm we have lots proposals that are not done... but feel free to post)
  114. - throw your idea/PSDs in the recycle bin
  115. - try with more effort to learn XML/MAKI, hehe
  116. 6) ...Postludium
  117. That's all :)
  118. Well, i hope i could help you with this readme in some skinning issues,
  119. -Martin