Announcement

Collapse
No announcement yet.

Learn basic MAKI here!

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Learn basic MAKI here!

    Allow me to present...
    MAKI, a skin designed to show off basic scripting examples.

    The skin demonstrates:
    DRAWERS
    ROTATION
    ANIMATED SLIDERS
    PLAY/PAUSE BUTTONS
    VOLUME UP and DOWN BUTTONS
    & MOUSEOVER EVENTS
    ------------------------
    M - Basic buttons, including the Play/Pause button. On the left side is a drawer that houses the togglebuttons. The drawer reacts to mouseovers.
    A - Nothing special yet, just the timer and the ticker.
    K- A generic Seek slider and an animated slider(done with an animated layer and a map)
    I - Volume Knob(done with a map and rotation effects), Volume_Up and Volume_Down buttons, a generic Volume slider, and a resizer in the corner.

    Download the attached .wal, rename it to .zip, read the readme.txt, have a look at the commented .xml and .m files, then try using the scripts!

    Hope this helps anyone new to MAKI who needs some simple examples.
    ~FrisbeeMonkey
    Attached Files
    My Skins
    Skinning References: MAKI Scripts - GUIDs & Button Actions - Skinner's FAQ
    Skin Help: MAKI Cheats - Component Skinning - Skinning Tutorial

  • #2
    cool

    really a great idea!!!

    This will help a lot of people

    Comment


    • #3
      Looks great, can we use it at skinarmory for examples?

      Comment


      • #4
        I think i love you
        ....
        got to take a closer look at it first
        don't be a thief of your own life.... : DEXYD - Digitally EXpressing Your Dreams

        Join the Winamp Enthusiasts Forum - Join the Winamp Skin Love facebook group:

        Comment


        • #5
          great, the only thing you can add is an autorepeat function at the 2 volume arrows such as willfisher's, so that you can keep them pressed
          The Durango 95 purred away real horrorshow, a nice warm vibratey feeling all through your guttiwuts

          Comment


          • #6
            Hey all,
            Sure Naamloos, this skin can be used wherever anyone thinks it might benefit other skinners. I just want to make sure everyone knows that this is for learning by example, it is not a step by step tutorial.
            Great idea, CremoNe, I'll add the autorepeat later today sometime.
            Also, should I change the purpose of this skin? I was thinking I might make the scripts into modules that you can drop into almost any skin, add a few lines to your XML, and it should work? RhinoTrip's animated seek works much like this and I think I could modify the rest so that they function that way as well. Not very educational, but would make it easier for the general populace to use.
            Anyways, that update should be up later tonight,
            ~FrisbeeMonkey
            My Skins
            Skinning References: MAKI Scripts - GUIDs & Button Actions - Skinner's FAQ
            Skin Help: MAKI Cheats - Component Skinning - Skinning Tutorial

            Comment


            • #7
              Update

              As per CremoNe's suggestion, the volume buttons are now autorepeating, making them much more useful. Lemme know if anyone wants anything else added.
              ~FrisbeeMonkey
              Attached Files
              My Skins
              Skinning References: MAKI Scripts - GUIDs & Button Actions - Skinner's FAQ
              Skin Help: MAKI Cheats - Component Skinning - Skinning Tutorial

              Comment


              • #8
                You should submit it, that way you'll have greater exposure.

                Comment


                • #9
                  breaking up the scripts in modules would be übergreat.
                  don't be a thief of your own life.... : DEXYD - Digitally EXpressing Your Dreams

                  Join the Winamp Enthusiasts Forum - Join the Winamp Skin Love facebook group:

                  Comment


                  • #10
                    Yeah sure, submit it, it might even become the featured skin of the week :-)

                    I suggest others who have a good idea of great scripting tips, can add some features to this skin. It would be very sweet if it had the components skinned and scripted in the same way: not functional, but educational. Especially the playlist and the media library, I guess these are the windows that are skinned in the least skins, and are the most complex ones to script.

                    Comment


                    • #11
                      Hmm, two people saying to submit it...
                      wildrose-wally posts the featured skins... Maybe I should! ...haha, no.
                      I was actually thinking of abandoning this project and going with the idea of making the scripts shown here so that they can be dropped into just about any skin and be used with only a few changes to the XML. So far the drawer, seek, and play2pause are done, you don't even need to recompile anything if you follow the directions. People don't care how it's done, they just want results, haha.
                      That's not a bad idea about skinning the components though. I've yet to tackle that with my skin, perhaps I could learn/mess around with it on this skin, then post the results. No promises on how soon that will be, however, as I really want to get to work on Rumble.
                      If you're waiting for the modular/drop-in scripts, look for a new post from me(new topic) later this weekend. If you're waiting for the skinned components... keep waiting
                      ~FrisbeeMonkey
                      My Skins
                      Skinning References: MAKI Scripts - GUIDs & Button Actions - Skinner's FAQ
                      Skin Help: MAKI Cheats - Component Skinning - Skinning Tutorial

                      Comment


                      • #12
                        small quest

                        Hi Frisbee,

                        I found your Maki skin very-very useful - great idea! Thank You for that. I need some help in scripting: i didn't know where i should ask it, so I ask You. I write a small script, it's function is show and hide layers when I push a button. When I try to compile it with 'mc' it shows an error message always: "Syntax error at c:\... Global int status; Exited with code 4".
                        Here is the code:

                        #include "c:\Program Files\Winamp3\Lib\std.mi"

                        Global int status;
                        Global Layer layer1, layer2, layer3;
                        Global Button infobutton;

                        System.onScriptLoaded() {
                        status = 1;
                        Layout mainLayout = getContainer("Main").getLayout("Normal");
                        layer1 = mainLayout.getObject("layer1");
                        layer2 = mainLayout.getObject("layer2");
                        layer3 = mainLayout.getObject("layer3");
                        infobutton = mainLayout.getObject("infobutton");
                        }

                        infobutton.onLeftClick() {
                        if (status < 3) {
                        status = status + 1;
                        } else {
                        status = 1;
                        }
                        }

                        if (status == 1) {
                        layer1.show();
                        layer2.hide();
                        layer3.hide();
                        }

                        if (status == 2) {
                        layer1.hide();
                        layer2.show();
                        layer3.hide();
                        }

                        if (status == 3) {
                        layer1.hide();
                        layer2.hide();
                        layer3.show();
                        }


                        I don't understand what is the problem with Global int status; ??? it's a simple variable declaration isn't it? Anyway while I called status as "x", the compiler send an other syntax error message with the line if (status == 1) {
                        Can You or somebody help me? Thanks everybody who answer me...

                        Comment


                        • #13
                          nucleo

                          change the name of the variable from status to something else eg. state (i think status is allready defined as a variable in std.mi, not sure bout that tho)

                          Comment


                          • #14
                            Thx Dirty, but

                            when I named the variable to 'state' (I think it should be indifferent how I call it) the compiler send an other syntax error message:

                            syntay error... if (state == 1) {
                            exited with code 4

                            What's the problem now? I don't understand... I don't...

                            Comment


                            • #15
                              wot about this?

                              code:
                              ____________________________________________________________________
                              #include "c:\Program Files\Winamp3\Lib\std.mi"

                              Global int state;
                              Global Layer layer1, layer2, layer3;
                              Global Button infobutton;

                              System.onScriptLoaded() {
                              state = 1;
                              Layout mainLayout = getContainer("Main").getLayout("Normal");
                              layer1 = mainLayout.getObject("layer1");
                              layer2 = mainLayout.getObject("layer2");
                              layer3 = mainLayout.getObject("layer3");
                              infobutton = mainLayout.getObject("infobutton");
                              }

                              infobutton.onLeftClick() {

                              if (state == 1) {
                              layer1.show();
                              layer2.hide();
                              layer3.hide();
                              state = 2;
                              }

                              if (state == 2) {
                              layer1.hide();
                              layer2.show();
                              layer3.hide();
                              state = 3;
                              }

                              if (state == 3) {
                              layer1.hide();
                              layer2.hide();
                              layer3.show();
                              state = 1;
                              }
                              }
                              ________________________________________________________________

                              Comment

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