![]() |
#1 |
Major Dude
Join Date: Jun 2002
Posts: 851
|
![]()
In an effort to allow coders of all skill levels to have at least basic MAKI functions in their skins, I've begun making a set of pre-made scripts that you drop into your scripts folder, change some of your XML, and voila you have a working drawer/animated seek/whatever. Subsequent posts will include the zipped m and maki files, as well as directions for using them. So far, none of them even need recompiling, you can just use the included maki. I will note if any later ones do need compiling.
***Many of these scripts assume that you have a songticker already defined in your XML. If you don't have a songticker, chances are the script is gonna generate some guru meditations. If you run into any problems, make sure you followed the included directions(they're in the .m as well as the post) and that the ids are right in your XML. If you still have trouble, then ask here. Enjoy! ~FrisbeeMonkey PS Current scripts planned are: Drawer, Play2Pause, AnimatedSeek, AnimatedVolume, VoumeKnob(uses rotation), AutoRepeating Volume Buttons. If anyone has any requests or scripts to volunteer, please let me know. My Skins Skinning References: MAKI Scripts - GUIDs & Button Actions - Skinner's FAQ Skin Help: MAKI Cheats - Component Skinning - Skinning Tutorial |
![]() |
![]() |
![]() |
#2 |
Major Dude
Join Date: Jun 2002
Posts: 851
|
Drawer
// USING THIS SCRIPT:
//***************************************************************************** // 1. Define a drawer group in your XML. // 2. Add your background layer to the group, something like: // <layer id="Drawer" image="player.Drawer" x="0" y="0" sysregion="1"/> // You can change any of the values but the id and sysregion // 3. Add a layer to pass info to this script, something like: // <layer id="DrawerInfo" x="13" y="0"/> // Set x and y to where you want your drawer to slide to // 3. Add any other objects(layers, buttons, sliders, etc) to your group // 4. Copy this script (and drawer.maki) to your scripts folder. // 5. If you don't have drawer.maki, compile this script. // 6. Add this line to the group that you want to be a drawer: // <script id="drawer" file="scripts/drawer.maki"/> // 7. Refresh your skin(F5) and try it out. //***************************************************************************** // EXAMPLE XML //============================================================================= //<groupdef id="DrawerGroup" w="39" h="158"> <!-- 39,0 --> // // <layer id="Drawer" image="player.Drawer" x="0" y="0" sysregion="1" move="0"/> // <layer id="DrawerInfo" x="13" y="0"/> // //add other objects that you want to move with the drawer here // // <script id="drawer" file="scripts/drawer.maki"/> //</groupdef> //============================================================================= // ***Don't forget to place your group somewhere in your layout!*** // <group id="DrawerGroup" x="47" y="0"/> My Skins Skinning References: MAKI Scripts - GUIDs & Button Actions - Skinner's FAQ Skin Help: MAKI Cheats - Component Skinning - Skinning Tutorial |
![]() |
![]() |
![]() |
#3 |
Major Dude
Join Date: Jun 2002
Posts: 851
|
Play2Pause
// USING THIS SCRIPT:
//***************************************************************************** // 1. Define play and pause buttons in your XML. // 2. Make sure their ids are "Play" and "Pause" // 3. Copy this script (and play2pause.maki) to your scripts folder. // 4. If you don't have play2pause.maki, compile this script. // 5. Add this line to the group that contains your play and pause buttons: // <script id="play2pause" file="scripts/play2pause.maki"/> // 6. Refresh your skin(F5) and try it out. //***************************************************************************** My Skins Skinning References: MAKI Scripts - GUIDs & Button Actions - Skinner's FAQ Skin Help: MAKI Cheats - Component Skinning - Skinning Tutorial |
![]() |
![]() |
![]() |
#4 |
Major Dude
Join Date: Jun 2002
Posts: 851
|
Animated Seek
// USING THIS SCRIPT:
//***************************************************************************** // 1. Define the following in your XML: // <AnimatedLayer // id="SeekAnim" // x="121" y="231" // w="25" h="25" // image="player.anim.seek" // move="0" // autoplay="0" // autoreplay="0" // /> // // <slider id="HiddenSeek" // ACTION="Seek" x="0" y="0" w="40" h="2" // thumb="player.anim.seek" // alpha="0" // /> // Change the position(x,y) and size(w,h) of "SeekAnim" to the specifics // of your layer. (w and h refer to just one frame, not the whole image) // "HiddenSeek" is a dummy layer to get updates to the song position, no // changes are needed. // 2. Define your gradient map with your other elements using: // <bitmap id="player.map.seek" file="player/player-map-seek.png"/> // If you need help creating a map file, check: // http://www.stefanweb.com/wa3/tutorials.html#UsingMaps // 3. Make sure your ticker is called "SongTicker" and is in the same group as // "SeekAnim" and "HiddenSeek" If you don't have a ticker, add one now. // 4. Copy this script (and seek.maki) to your scripts folder. // 5. If you don't have seek.maki, compile this script. // 6. Add this line to the group that contains your animated layer // <script id="seek" file="scripts/seek.maki"/> // 7. Refresh your skin(F5) and try it out. //***************************************************************************** My Skins Skinning References: MAKI Scripts - GUIDs & Button Actions - Skinner's FAQ Skin Help: MAKI Cheats - Component Skinning - Skinning Tutorial |
![]() |
![]() |
![]() |
#5 |
Major Dude
Join Date: Jun 2002
Posts: 851
|
VolumeKnob
// USING THIS SCRIPT:
//***************************************************************************** // 1. Define the following in your XML: // <layer id="VolumeKnob" image="player.VolumeKnob" x="409" y="7" move="0"/> // // <slider id="HiddenVolume" // ACTION="Volume" x="0" y="0" w="40" h="2" // thumb="player.VolumeKnob" // alpha="0" // /> // Change the position(x,y) of "VolumeKnob" to the specifics // of your layer. Make sure the image is facing where you want 0 to be. // "HiddenVolume" is a dummy layer to get updates to the volume, no // changes are needed. // 2. Define your gradient map with your other elements using: // <bitmap id="player.map.volknob" file="player/VolKnobMap.png"/> // If you need help creating a map file, check: // http://www.stefanweb.com/wa3/tutorials.html#UsingMaps // 3. Make sure your ticker is called "SongTicker" and is in the same group as // "VolumeKnob" and "HiddenVolume" If you don't have a ticker, add one now. // 4. Copy this script (and volumeknob.maki) to your scripts folder. // 5. If you don't have volumeknob.maki, compile this script. // 6. Add this line to the group that contains your animated layer // <script id="volumeknob" file="scripts/volumeknob.maki"/> // 7. Refresh your skin(F5) and try it out. //***************************************************************************** My Skins Skinning References: MAKI Scripts - GUIDs & Button Actions - Skinner's FAQ Skin Help: MAKI Cheats - Component Skinning - Skinning Tutorial |
![]() |
![]() |
![]() |
#6 |
f(caffeine){
return wasabi; } (Forum King) Join Date: Jul 2001
Location: Sweden
Posts: 3,984
|
man, this is uber useful!
we need more of this! one of the most annoying things when skinning is having to create new scripts just for basic functions, scripts like theese.. so I think it's a great idea that you've taken this step. Good job -Plague |
![]() |
![]() |
![]() |
#7 |
Senior Member
|
There's some scripts here as well. They're not precompiled or ready to use, but people should learn some basic stuff, and look over std.mi, because one day they'll want to do something and it won't be predone for them. That's nice what you're doing though, just some simple general purpose stuff. /me likes
PS If I sounded a little pissed up there, sorry. I just meant that if someone uses predone scripts for their first couple of skins, they might want to do something a bit more complicated and be totally lost. |
![]() |
![]() |
![]() |
#8 |
Junior Member
Join Date: Jul 2001
Posts: 25
|
This is all very useful stuff, and I'm sure many people, including myself, appreciate your efforts to help out the skinning community. But I'd like to see what the finished xml looks like. A lot of the comments you've put into the scripts assume that the reader knows what all this scripting talk is about, and I for one don't. This is all new to me (and I'm sure thousands of other future skinners) and can be quite frustrating with the scant documentation I've been able to find on the Winamp site.
I'm not an idiot. I've been programming for quite some time now (20 years, give or take). I have also gone through the myriad WA3 tutorials, found articles on the web, disected numerous skins, andsuccessfully gotten the rudiments going, but I'm still lost at this point. Could someone, ANYONE, make a simple skin that utilizes these advanced components (irregular seekers, volume bars, play to pause, etc) so that we can see what the working xml looks like? |
![]() |
![]() |
![]() |
#9 |
Nullsoft Newbie
(Moderator) Join Date: Mar 2001
Location: Sheffield, England
Posts: 5,569
|
i made a while ago an autorepeatbutton script.
The link is here: http://forums.winamp.com/showthread.php?threadid=78994, and it still works great and is uber easy to use. It is used in my BOOM skin, and others. DO NOT PM ME WITH TECH SUPPORT QUESTIONS |
![]() |
![]() |
![]() |
#10 |
Member
|
Error
|
![]() |
![]() |
![]() |
#11 |
Member
|
frisbeemonkey -> great job you have done here but i have comments .
I have tried to use your sliders script for seeker with animated image and map pic on it. That works correctly but there are 3 problems: 1) i am in position A of time when i left click on my seeker (here i see the seeker go to the right position let s say position B) and i do not move and not release the left button after a short time the seeker goes back to position A. Then if i load your maki skin and reload mine strangely that works correctly. 2) i can seek only from 0:02 to 3:02 ( for a song lenght of 3:04) is there an explanation on that (my map seems correct)? 3) What should i do if i want this: when i click on seeker and i don t release the button and go outside the seeker i would like that my moves outside the strict area of the seeker makes the seeker moves i doubt a lot of ppl will understand what i am saying cause of my english damn ![]() Willfisher -> what is an autorepeatbutton? |
![]() |
![]() |
![]() |
#12 |
Member
|
Ok i have corrected the problems i have by changing this i think it is better like that:
Seek.onLeftButtonDown(int x, int y) { if (getPlayItemLength() > 0) { SongPlayTimer.stop(); SeekChanging = 1; updateSeeker(x, y); } } Seek.onLeftButtonUp(int x, int y) { Float l; if (SeekChanging) { l = seekMap.getValue(x - Seek.getLeft(), y - Seek.getTop()); if (l > 0) { if (System.getPlayItemLength() >= 0) { l = (l / 255) * System.getPlayItemLength(); System.seekTo(l); } } SeekChanging = 0; SongPlayTimer.start(); } } |
![]() |
![]() |
![]() |
#13 |
Passionately Apathetic
Administrator Join Date: May 2000
Location: Hell
Posts: 5,435
|
wow, great work, keep it up guys!
*stuck* |
![]() |
![]() |
![]() |
#14 | |
Nullsoft Newbie
(Moderator) Join Date: Mar 2001
Location: Sheffield, England
Posts: 5,569
|
Quote:
DO NOT PM ME WITH TECH SUPPORT QUESTIONS |
|
![]() |
![]() |
![]() |
#15 |
Member
|
Wow great i'm going to use it
![]() Thanks Will |
![]() |
![]() |
![]() |
#16 |
Major Dude
Join Date: Jun 2002
Posts: 851
|
Haha, I came back from my hiking trip this weekend, logged onto the forums, couldn't find this thread. Thought it must have sunk to page 2 already and was figuring no one was gonna get anything from it. Never thought I would find it stickified.
![]() Anyways, I am glad to find people are benefitting from it. I'll be adding some more tonight or tomorrow sometime. ->lakitu42: heh, no worries, I didn't think you came across sounding angry or anything. I totally agree, in order to do more complicated things, people are gonna need to learn to love std.mi and learn how to code for themselves. I figured this would help out those who either have no interest in learning MAKI, or, like me, like to have working examples in front of them(hence my bothering to include .m's) so they can get a better grasp of how the basics work before they go on to bigger things. Also, thanks for that link, didn't know of that resource. ->rintaro82: Look around, I bet you can find a skin that demonstrates basic stuff like this... Or to save you time, just go to http://forums.winamp.com/showthread....hreadid=103493 ![]() ->willfisher: thanks for that script, I've been planning on posting a script that uses your code(you are credited, fear not!) to make it even easier to use for volume control. ->Paikan: Double thanks to you my friend! First catching a bug, then fixing it before I even looked at it ![]() ![]() Until next time, ~FrisbeeMonkey My Skins Skinning References: MAKI Scripts - GUIDs & Button Actions - Skinner's FAQ Skin Help: MAKI Cheats - Component Skinning - Skinning Tutorial |
![]() |
![]() |
![]() |
#17 |
Major Dude
Join Date: Jun 2002
Posts: 851
|
Animated Seek.... Take 2
Here's a fixed animated seek script. See the first anim seek post(or just read the included .m) for how to use it. Thanks go to Paikan for the correction.
~FrisbeeMonkey My Skins Skinning References: MAKI Scripts - GUIDs & Button Actions - Skinner's FAQ Skin Help: MAKI Cheats - Component Skinning - Skinning Tutorial |
![]() |
![]() |
![]() |
#18 |
Major Dude
Join Date: Jun 2002
Posts: 851
|
AutoRepeating Volume Buttons
// USING THIS SCRIPT:
//***************************************************************************** // 1. Define VolUp and VolDown buttons in your XML, something like: // <button // id="VolUp" // x="424" y="39" // image="player.IncVolUp" // downImage="player.IncVolDown" // tooltip="+ Volume +" // /> // <button // id="VolDown" // x="408" y="45" // image="player.DecVolUp" // downImage="player.DecVolDown" // tooltip="- Volume -" // /> // 2. Make sure their ids are "VolUp" and "VolDown" // 3. Make sure your ticker is called "SongTicker" and is in the same group as // "VolUp" and "VolDown" If you don't have a ticker, add one now. // 4. Copy this script and autorepeatvolumebuttons.maki to your scripts folder. // 5. If you don't have autorepeatvolumebuttons.maki, compile this script // (you'll need the AutoRepeatButton.m included in this zip) // 6. Add this line to the group that contains your volume buttons: // <script id="ARVB" file="scripts/autorepeatvolumebuttons.maki"/> // 7. Refresh your skin(F5) and try it out. //***************************************************************************** My Skins Skinning References: MAKI Scripts - GUIDs & Button Actions - Skinner's FAQ Skin Help: MAKI Cheats - Component Skinning - Skinning Tutorial |
![]() |
![]() |
![]() |
#19 |
Major Dude
Join Date: Jun 2002
Posts: 851
|
Animated Volume
// USING THIS SCRIPT:
//***************************************************************************** // 1. Define the following in your XML: // <AnimatedLayer // id="VolumeAnim" // x="121" y="231" // w="25" h="25" // image="player.anim.volume" // move="0" // autoplay="0" // autoreplay="0" // /> // // <slider id="HiddenVolume" // ACTION="Volume" x="0" y="0" w="40" h="2" // thumb="player.anim.volume" // alpha="0" // /> // Change the position(x,y) and size(w,h) of "VolumeAnim" to the specifics // of your layer. (w and h refer to just one frame, not the whole image) // "HiddenVolume" is a dummy layer to get volume updates, no // changes are needed. // 2. Define your gradient map with your other elements using: // <bitmap id="player.map.vol" file="player/player-map-volume.png"/> // If you need help creating a map file, check: // http://www.stefanweb.com/wa3/tutorials.html#UsingMaps // 3. Make sure your ticker is called "SongTicker" and is in the same group as // "VolumeAnim" and "HiddenVolume" If you don't have a ticker, add one now. // 4. Copy this script (and volume.maki) to your scripts folder. // 5. If you don't have volume.maki, compile this script. // 6. Add this line to the group that contains your animated layer // <script id="animvolume" file="scripts/volume.maki"/> // 7. Refresh your skin(F5) and try it out. //***************************************************************************** My Skins Skinning References: MAKI Scripts - GUIDs & Button Actions - Skinner's FAQ Skin Help: MAKI Cheats - Component Skinning - Skinning Tutorial |
![]() |
![]() |
![]() |
#20 |
Major Dude
Join Date: Jun 2002
Posts: 851
|
Skin demonstrating these scripts
In response to the requests of newer skinners wanting to see a full skin using these scripts, I have updated my MAKI skin to use many of these exact scripts. The XML is commented, noting which parts of the XML are useed by which script. The updated skin is available here . Make sure you get the most recent version, rename it to .zip, open it up and check it out!
~FrisbeeMonkey My Skins Skinning References: MAKI Scripts - GUIDs & Button Actions - Skinner's FAQ Skin Help: MAKI Cheats - Component Skinning - Skinning Tutorial |
![]() |
![]() |
![]() |
#21 |
Nullsoft Newbie
(Moderator) Join Date: Mar 2001
Location: Sheffield, England
Posts: 5,569
|
Yeah, that autorepeating volume buttons is a nice thing for beginners.
![]() DO NOT PM ME WITH TECH SUPPORT QUESTIONS |
![]() |
![]() |
![]() |
#22 |
Junior Member
Join Date: Mar 2002
Posts: 20
|
I'm trying to make a skin where i need the drawer script to open on mouse over instead of mouse click. I got the code changed, but when I tried to compile, it gave me an error in std.mi. Can somebody help me out with this?
|
![]() |
![]() |
![]() |
#23 |
Major Dude
Join Date: Jun 2002
Posts: 851
|
You're in luck. The next two scripts coming up are a mute button and a mouseover drawer
![]() Check back tonight or tomorrow sometime, ~FrisbeeMonkey My Skins Skinning References: MAKI Scripts - GUIDs & Button Actions - Skinner's FAQ Skin Help: MAKI Cheats - Component Skinning - Skinning Tutorial |
![]() |
![]() |
![]() |
#24 |
Major Dude
Join Date: Jun 2002
Posts: 851
|
Mute script
// USING THIS SCRIPT:
//***************************************************************************** // 1. Define the following in your XML: // <togglebutton // id="Mute" // x="147" y="125" // image="player.MuteOff" // downImage="player.MuteOn" // activeImage="player.MuteOn" // tooltip="Mute" // /> // Change the position(x,y) to the specifics of your button, // 2. Make sure your ticker is called "SongTicker" and is in the same group as // "Mute" If you don't have a ticker, add one now. // 4. Copy this script (and mute.maki) to your scripts folder. // 5. If you don't have mute.maki, compile this script. // 6. Add this line to the group that contains your animated layer // <script id="mute" file="scripts/mute.maki"/> // 7. Refresh your skin(F5) and try it out. //***************************************************************************** My Skins Skinning References: MAKI Scripts - GUIDs & Button Actions - Skinner's FAQ Skin Help: MAKI Cheats - Component Skinning - Skinning Tutorial |
![]() |
![]() |
![]() |
#25 |
Major Dude
Join Date: Jan 2001
Posts: 1,668
|
thanks for the mute script!
two more ideas: a playing time counter that shows milliseconds (01:12:45) like in those early alpha versions of winamp3 (iirc) someone asked me why the songtitledisplay scrolling in the main window of winamp3 differs from wa2, it scrolls forth and back rather than only in one direction - can you change that with maki? |
![]() |
![]() |
![]() |
#26 |
Major Dude
Join Date: Jun 2002
Posts: 851
|
Hey Lion King,
No problem about the mute script, I'll be updating the MAKI skin soon so you can see it in action. Just have to finish up commenting this MouseOverDrawer. There is a script that does something like what you want for the timer, check out the Skinning/Scripting Tips And Tricks sticky. The post is by Spleen and is entitled Sonique2 Timer. I don't know if you can limit the ticker to scrolling only one direction in MAKI. I am guessing not, but that's only a guess. Back to commenting, ~FrisbeeMonkey My Skins Skinning References: MAKI Scripts - GUIDs & Button Actions - Skinner's FAQ Skin Help: MAKI Cheats - Component Skinning - Skinning Tutorial |
![]() |
![]() |
![]() |
#27 |
Junior Member
Join Date: Mar 2002
Posts: 20
|
i'm anxiously awaiting the mouseoverdrawer script. now i'm not gonna be able to go to bed tonight. i'll post a very basic idea of what i've been trying to accomplish (with just the base skin), then all you creative types will hopefully figure out ways to use it too.
|
![]() |
![]() |
![]() |
#28 |
Major Dude
Join Date: Jun 2002
Posts: 851
|
MouseOver Drawer Script
// USING THIS SCRIPT:
//***************************************************************************** // 1. Define a MouseOver drawer group in your XML. (see example below) // 2. Add your background layer to the group, something like: // <layer id="MODrawer" image="player.MODrawer" x="0" y="0" sysregion="1"/> // You can change any of the values but the id and sysregion // 3. Add a layer to pass info to this script, something like: // <layer id="MODrawerInfo" x="54" y="151"/> // Set x and y to where you want your drawer to slide to // 3. Add any other objects(layers, buttons, sliders, etc) to your group // 4. Copy this script (and mouseoverdrawer.maki) to your scripts folder. // 5. If you don't have mouseoverdrawer.maki, compile this script. // 6. Add this line to the group that you want to be a drawer: // <script id="mouseoverdrawer" file="scripts/mouseoverdrawer.maki"/> // 7. Refresh your skin(F5) and try it out. //***************************************************************************** // EXAMPLE XML //============================================================================= //<groupdef id="MouseOverDrawerGroup" w="121" h="33"> // // <!-- This layer is the background for the drawer, also catches mouse coords for opening/closing--> // <layer id="MODrawer" image="player.MODrawer" x="0" y="0" sysregion="1" move="0"/> // // <!-- This layer passes info to the drawer script, see script for details +22y--> // <layer id="MODrawerInfo" x="54" y="151"/> // //add other objects that you want to move with the drawer here // // <script id="mouseoverdrawer" file="scripts/mouseoverdrawer.maki"/> //</groupdef> //============================================================================= // ***Don't forget to place your group somewhere in your layout!*** // <group id="DrawerGroup" x="47" y="0"/> /** Note: This is not very useful as is. The drawer will close when the mouse goes over anything you put in the drawer. I put my animated layers in the MAKI skin by setting them ghost="1", but most things you'll want to put in the drawer require mouse input. To add mouse-dependent objects (buttons, sliders, etc) make sure they are not ghosted and then you will have to add to this script and recompile it. You'll need to follow these steps for each object you want to add: -Create a new global variable of whatever type(Button, Slider, etc) Ex. Global Button SomeButton; -Get the object from the XML Ex. SomeButton = MODrawerGrp.findObject("SomeButtonName"); -Define an onEnterArea() for your new object Ex. SomeButton.onEnterArea() { MODrawerGrp.setTargetX(EndX); MODrawerGrp.setTargetY(EndY); MODrawerGrp.setTargetSpeed(1); MODrawerGrp.gotoTarget(); } Doing this for all objects will prevent the drawer from closing prematurely. In 99% of the cases, you won't need an onLeaveArea for anything you add. **/ My Skins Skinning References: MAKI Scripts - GUIDs & Button Actions - Skinner's FAQ Skin Help: MAKI Cheats - Component Skinning - Skinning Tutorial |
![]() |
![]() |
![]() |
#29 |
Major Dude
Join Date: Jun 2002
Posts: 851
|
Stop After Current Song Script
// USING THIS SCRIPT:
//***************************************************************************** // 1. Define the following in your XML: // <togglebutton // id="StopAfterSong" // x="147" y="89" // image="player.StopAfterSongOff" // downImage="player.StopAfterSongOn" // activeImage="player.StopAfterSongOn" // tooltip="StopAfterSong" // /> // Change the position(x,y) to the specifics of your button, // 2. Make sure your ticker is called "SongTicker" and is in the same group as // "StopAfterSong" If you don't have a ticker, add one now. // 4. Copy this script (and StopAfterSong.maki) to your scripts folder. // 5. If you don't have StopAfterSong.maki, compile this script. // 6. Add this line to the group that contains your animated layer // <script id="StopAfterSong" file="scripts/StopAfterSong.maki"/> // 7. Refresh your skin(F5) and try it out. //***************************************************************************** My Skins Skinning References: MAKI Scripts - GUIDs & Button Actions - Skinner's FAQ Skin Help: MAKI Cheats - Component Skinning - Skinning Tutorial |
![]() |
![]() |
![]() |
#30 |
Junior Member
Join Date: Mar 2002
Posts: 20
|
frisbeemonkey...check your pm's
|
![]() |
![]() |
![]() |
#31 | |
f(caffeine){
return wasabi; } (Forum King) Join Date: Jul 2001
Location: Sweden
Posts: 3,984
|
Quote:
I don't have any link but talk to him about it, he'll know.. -Plague |
|
![]() |
![]() |
![]() |
#32 |
It's possible, but the code is kinda ugly right now, I did it for kicks one afternoon and haven't updated it since. Basically what it does is to get the current songinfo and put it in a string variable and then start a timer where it takes the first character in the string, moves it to the end, then updates the text box. The timer keeps running until the song changes, the player is paused, stopped, or quit (or the skin changes, etc.).
The overall effect is more Winamp2 like, the "scroll" is choppy, but I hate the way Winamp3 scrolls backwards half the time...it's a useless function(unless you happen to read right to left). I'll update the script for 3.0 final when I get a few minutes, as it was also an easy to use example of putting a script in a standardframe. -=Gonzotek=- But I'm feeling much better now. |
|
![]() |
![]() |
![]() |
#33 |
Senior Member
Join Date: Jan 2002
Posts: 252
|
Stop after current song + crossfade
frisbeemonkey : Something to add to your "stop after current song" script. If crossfade is enabled, winamp will stop to early, so when the button is pressed: (1) Check if crossfade is enabled or not, store it in a boolean. (2) Turn off crossfade. When winamp has actually stopped playing the song, you should revert the crossfade-setting to what it was before.
Just something I thought of yesterday evening ![]() PJay |
![]() |
![]() |
![]() |
#34 |
Major Dude
Join Date: Jun 2002
Posts: 851
|
Wow, good thought there, PJay. I never use crossfade, so the problem didn't even cross my mind(no pun intended). I'll be away this weekend, but I'll work on it Sun or Mon.
Until then, ~FrisbeeMonkey My Skins Skinning References: MAKI Scripts - GUIDs & Button Actions - Skinner's FAQ Skin Help: MAKI Cheats - Component Skinning - Skinning Tutorial |
![]() |
![]() |
![]() |
#35 |
Major Dude
Join Date: Jun 2002
Posts: 851
|
Stop After Song, now with CrossFade support
// USING THIS SCRIPT:
//***************************************************************************** // 1. Define the following in your XML: // <togglebutton // id="StopAfterSong" // x="147" y="89" // image="player.StopAfterSongOff" // downImage="player.StopAfterSongOn" // activeImage="player.StopAfterSongOn" // tooltip="StopAfterSong" // /> // Change the position(x,y) to the specifics of your button, // 2. Make sure your ticker is called "SongTicker" and is in the same group as // "StopAfterSong" If you don't have a ticker, add one now. Also, have // a CrossFade button somewhere in the group or one of it's subgroups. Make // sure it is a togglebutton, and that it is named "CrossFade". // 4. Copy this script (and StopAfterSong.maki) to your scripts folder. // 5. If you don't have StopAfterSong.maki, compile this script. // 6. Add this line to the group that contains your animated layer // <script id="StopAfterSong" file="scripts/StopAfterSong.maki"/> // 7. Refresh your skin(F5) and try it out. //***************************************************************************** My Skins Skinning References: MAKI Scripts - GUIDs & Button Actions - Skinner's FAQ Skin Help: MAKI Cheats - Component Skinning - Skinning Tutorial |
![]() |
![]() |
![]() |
#36 |
Major Dude
Join Date: Jun 2002
Posts: 851
|
Clock Script
//-----------------------------------------------------------------------------
// clock.m // // Example of a Clock Script // Displays the current time in the Timer when not playing. // // created by FrisbeeMonkey //----------------------------------------------------------------------------- // USING THIS SCRIPT: //***************************************************************************** // 1. Define a Timer in your XML, something like: // <!-- Timer --> // <Text // id="Timer" // display="time" // x="194" y="10" // w="70" h="18" // font="player.timernum" // align="right" // shadowcolor="0,0,0" // shadowx="0" shadowy="1" // timecolonwidth="7" // /> // 2. Make sure its id is "Timer". // 3. Copy this script (and clock.maki) to your scripts folder. // 4. If you don't have clock.maki, compile this script. // 5. Add this line to the group that contains your Timer: // <script id="clock" file="scripts/clock.maki"/> // 6. Refresh your skin(F5) and try it out. //***************************************************************************** My Skins Skinning References: MAKI Scripts - GUIDs & Button Actions - Skinner's FAQ Skin Help: MAKI Cheats - Component Skinning - Skinning Tutorial |
![]() |
![]() |
![]() |
#37 |
Junior Member
|
![]()
Hi there,
first of all, thank you very much for the maki scripts. I find them very useful because I’m a total looser in scripting. That’s exactly why I’m asking this question. I’m planning to implement a balance function into my skin that should work like the animated volume and the autorepeatvolume buttons. I wonder if you could tell me how to modify the scripts so that they don’t change the volume but the balance. Thank you...and keep but the great work |
![]() |
![]() |
![]() |
#38 | |
Senior Member
|
Re: Balance
Quote:
code: In XML set Balance animated layer like this: code: In XML set Balance slider like this: code: Compile this (it should work, haven't tested this): code: |
|
![]() |
![]() |
![]() |
#39 |
Junior Member
|
doesn't work for me
Thanks for the help but I still have a problem with the balance. It isn’t working the way the volume does (volume.maki, posted earlier), I’ve tried to change the volume.m to suit my needs, but I can’t find a function that is similar to System.GetVolume and setVolume for balance. Is there a function?
|
![]() |
![]() |
![]() |
#40 | |
Senior Member
|
Re: doesn't work for me
Quote:
![]() Intro: Functions "getBalance()" and "setBalance()" don't exist yet. So, I've used small trick. Put one slider, that has action="PAN" parameter, in your EQ or any window. That's balance. I know that's a bit strange, but Nullsoft uses that. I've linked actions on animated layer (anlBalance) with that slider so when you "rorate" anlBalance, you automaticaly change balance. About my script: When Wa3 loads the script it will hide that slider cause it will appear in the skin and it shouldn't. ![]() for getting balance value. 0 is far left and 255 is far right. 128 is center position. When you click that animated layer it registers mouse actions and sets animated layer frame accordingly. Also, as you set anlBalance, you set sliBalance (balance slider) position which then sets balance. I think this was clear enough... |
|
![]() |
![]() |
![]() |
|
Thread Tools | Search this Thread |
Display Modes | |
|
|