Announcement

Collapse
No announcement yet.

MAKI Cheats

Collapse
This is a sticky topic.
X
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • MAKI Cheats

    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
    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"/>
    Attached Files
    My Skins
    Skinning References: MAKI Scripts - GUIDs & Button Actions - Skinner's FAQ
    Skin Help: MAKI Cheats - Component Skinning - Skinning Tutorial

    Comment


    • #3
      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.
      //*****************************************************************************
      Attached Files
      My Skins
      Skinning References: MAKI Scripts - GUIDs & Button Actions - Skinner's FAQ
      Skin Help: MAKI Cheats - Component Skinning - Skinning Tutorial

      Comment


      • #4
        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.
        //*****************************************************************************
        Attached Files
        My Skins
        Skinning References: MAKI Scripts - GUIDs & Button Actions - Skinner's FAQ
        Skin Help: MAKI Cheats - Component Skinning - Skinning Tutorial

        Comment


        • #5
          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.
          //*****************************************************************************
          Attached Files
          My Skins
          Skinning References: MAKI Scripts - GUIDs & Button Actions - Skinner's FAQ
          Skin Help: MAKI Cheats - Component Skinning - Skinning Tutorial

          Comment


          • #6
            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
            Winique work-in-progress (download) | Stargate:Winamp - SG1 Edition | D-Reliction | wasabi.player skin (plague-edit)
            Winamp3_Default skin (plague fixes) | Opal Redemption | X-Slant | wa2skin.wac

            Comment


            • #7
              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.

              Comment


              • #8
                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?

                Comment


                • #9
                  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

                  Comment


                  • #10
                    Error

                    Comment


                    • #11
                      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?

                      Comment


                      • #12
                        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();
                        }
                        }

                        Comment


                        • #13
                          wow, great work, keep it up guys!

                          *stuck*

                          Comment


                          • #14
                            Originally posted by Paikan
                            Willfisher -> what is an autorepeatbutton?
                            if you want to not have a slider for volume adjustment, and up and down buttons instead, you will want to be able to press and hold the button to keep the volume going up. Normal buttons don't do this, but you can if you use my autorepeat button lib.
                            DO NOT PM ME WITH TECH SUPPORT QUESTIONS

                            Comment


                            • #15
                              Wow great i'm going to use it
                              Thanks Will

                              Comment

                              Working...
                              X
                              😀
                              🥰
                              🤢
                              😎
                              😡
                              👍
                              👎