Announcement

Collapse
No announcement yet.

MAKI Cheats

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

  • anyone know of a way to send playlists to other playlist editors through maki?

    you know you can rightclick a loaded playlist and choose to send it to a new editor window, I wanna know if there's any way of doing this from maki.....?

    The reason I'm asking is that it would be uber cool to have the drawer playlist ONLY and ALWAYS show the Explorer Playlist.

    Also, if I can do that from maki, I can also fix the damn annoying bug that keeps it from changing playlist whenever the sidecar changes playlist..

    -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


    • Hmm, Plague, your PL Editor-in-a-drawer looks the same as mine. All I get is a big black rectangle with no content. I've tried reinstalling WA3, no change. Even tried it under XP where I have WA3b, still the black rectangle. This is most frustrating. Is it working for anyone else? If so, why in the world is it not showing up for me? Grrr...
      ~FrisbeeMonkey
      My Skins
      Skinning References: MAKI Scripts - GUIDs & Button Actions - Skinner's FAQ
      Skin Help: MAKI Cheats - Component Skinning - Skinning Tutorial

      Comment


      • well, for me, it'll only show the files in the current playlist used when starting winamp..
        so if that playlist is empty, it won't show anything even if you fill it with content, cos it still shows the empty playlist..

        try this:
        install explorerPL and select it as the playlist..
        close winamp and start it up again..

        that should do it..

        -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


        • Parse MS to Real Time mm:ss

          code:
          Function string parseMST(int MS);

          parseMST(int MS)
          {

          if (getStatus() != 0)
          {

          int secs, mins, subsecs;
          string Ssubsecs;
          secs = MS/1000;

          if (secs > 59)
          {
          mins = secs/60;
          subsecs = secs - (mins*60);
          Ssubsecs = integerToString(subsecs);

          }
          else
          {
          mins = 0;
          subsecs = MS/1000;
          Ssubsecs = integerToString(subsecs);
          }

          if (strlen(Ssubsecs) < 2)
          {
          string temp2;
          temp2 = Ssubsecs;
          Ssubsecs = "0" + temp2;
          }

          string returnS;
          returnS = integerToString(mins) + ":" + Ssubsecs;

          return returnS;
          }
          else
          {
          return "0:00";
          }

          }

          this returns milli seconds in real time format. ie. mm:ss

          all you need to do is somthing like
          code:
          currentlen = parseMST(getPosition());
          totallen = parseMST(getPlayItemLength());

          ad it will return the current elapsed time in mm:ss and the total track time in mm:ss...
          dunno how usefull this will be, but, its here anyway...

          [edit]
          new version returns 0:00 if stoped
          [/edit]
          [edit2]
          doesnt do any parsing if stoped now
          saving cpu
          [/edit2]

          Bizzy D
          Wap Server For Winamp 5 ::
          Kill All The Humans :: Blackpool Hotels

          Comment


          • Would it be possible for someone to post some advanced vis up here like in mmd3? please?

            hh
            .:SharkWork::Deviantart::Breed:.

            Comment


            • Not having MMD3, I don't know how he did his custom vis stuff, but if it was using animated layers that react to the music, check out Dirty's example in Drastik's Chimera thread. If it is done using layer_fx, I'm hoping to take the time to learn that stuff as soon as I get to it on my MAKI todo list. There're still a few other examples ahead of it on the list, but I also just took care of 3 or 4 things today, so I'm making pretty good progress. If anyone else would like to share what they know on layer_fx in the meantime, that would be great.
              ~FrisbeeMonkey
              My Skins
              Skinning References: MAKI Scripts - GUIDs & Button Actions - Skinner's FAQ
              Skin Help: MAKI Cheats - Component Skinning - Skinning Tutorial

              Comment


              • it can be done with plane simple animations aswell.. alkl you do is set the frame acording to "left vu meter + right vumeter / 2"
                Wap Server For Winamp 5 ::
                Kill All The Humans :: Blackpool Hotels

                Comment


                • Layer_fx.

                  Lets make a VuMeter. Okay first off we need a image to morph. For a vu meter we want it to be something like this:
                  code:
                  ++++++------
                  ++++++------
                  ++++++------
                  ++++++------
                  ++++++------

                  That is we want it to be half of one thing and half of another.

                  Once we have our image the specific maki would go something like this.
                  code:
                  VuMeter.fx_onGetPixelX(double r, double d, double x, double y)
                  {
                  int x1 = GetLeftVuMeter();
                  if(x1 >= 128) { return x-x1/255; }
                  else { return x+(1-x1/255); }
                  }

                  I was going to include something about how I came to that code, But I can't for the life of me remember how that was right now.

                  You also need to set a bunch of stuff to get it to work at all.
                  code:
                  VuMeter.fx_setGridSize(8,8);
                  VuMeter.fx_setRect(1);
                  VuMeter.fx_setRealtime(1);
                  VuMeter.fx_setSpeed(30);
                  VuMeter.fx_setEnabled(1);

                  SetGridSize determines how many pieces it uses, I can't really explain it much better than that, although the grid size could likely be much smaller for just a vumeter.

                  GetRect tells it to use call the x,y (rectangular coords) rather than the d,r coords. (d r seems really messed up to me since polar coords really go r,theta, but here d stands for distance and r for rotation)

                  SetRealtime seems to tell it to update at the speed set with set speed rather than the one frame you get with it set to false.

                  SetSpeed tell it how many milliseconds per frame. 30 ms/f ~ 30 fps, which is a good trade off. (30 fps is the same as televison. Movies in the theater use 24 fps)

                  SetEnabled tell it to run.

                  You'll have to do all of the xml and such yourself, but if thats still hard for you, oh well.

                  hope this helps.
                  The moon is made of cheese.
                  Oh for some tasty moon cheese.
                  www.redtetrahedron.org

                  Comment


                  • okay here's take two. I was going to post this right after that last one but I got side tracked by taking a shower.

                    Lets rotate the standard vis. For this we'll need an image that is large enough to cover the vis that is totally transparent. And we'll need to declare a vis object below our layer_fx layer.

                    I guess I forgot to mention in that last post that x and y are -1..1. But in this case We'll use the pseudopoloar coords, r and d. r is is radians, and seems to be unlimited, or rolls over nicely for you. and d should go from 0..sqrt(2) but I haven't tested that.

                    To rotate an object you merely return r+rotation_angle_in_radians. (just in case, there are 2Pi radians in 360 degrees, to convert degrees to radians, multiply by Pi/180, radians to degrees, the inverse of that.) So our code will look like this:
                    code:
                    SuperVis.fx_onGetPixelR(double r, double d, double x, double y)
                    {
                    return r+(3.14159/4)+r1; //45 degree rotation.
                    }

                    But wait, whats that r1 term in there? Well since what were calculating doesn't change, layer_fx gives us a blank image. so we need to rotate just a little bit, to get it to display the image all the time. so we also need this.
                    code:
                    Global double r1;

                    System.onScriptLoaded()
                    {
                    r1 = 0;
                    }

                    SuperVis.fx_onFrame()
                    {
                    r1 += 0.000001;
                    if(r1 == 0.000002)
                    r1 = 0;
                    }

                    this changing value of r1 is enough to display the image but not give any noticable rotation to it.

                    We to include
                    code:
                    SuperVis.setBgFx(1);
                    in addition to the settings from above. This tell the layer_fx to use what is below our layer, not the layer itself. Be sure to remove the setRect(1) or else you'll still be using rectangular mode.

                    If you see a ghost of the unrotated vis. I suspect that it is caused by the layer_fx, and the vis updating being outof synch. Once the vis fps is a config attribute this should be fixable, but for now we just have to live with it.

                    Yes these are basic things, but it should get everyone started. Personally I haven't moved to far beyond these myself, mostly since I haven't been working on it all that much. If anyone finds a better way to rotate a vis, without that horrid hack, let me know.
                    The moon is made of cheese.
                    Oh for some tasty moon cheese.
                    www.redtetrahedron.org

                    Comment


                    • hmm, seems a little hard for me. would you mind putting it into a .m and then telling me what to do with it?
                      thanx
                      .:SharkWork::Deviantart::Breed:.

                      Comment


                      • im writing a animVis.maki now... all u will need to do is add this script and put an animated layer in ur skin...

                        <script id="animVis" file="scripts/animVis.maki" param="f,s,c,l,al"/>

                        f = number of frames in ur anim -1
                        s = sencitivity 1 is most sencitive
                        c = anim container
                        l = anim layout
                        al = anim layer id

                        ill post script when i worked bugs out
                        Last edited by Bizzeh; 10 November 2002, 15:48.
                        Wap Server For Winamp 5 ::
                        Kill All The Humans :: Blackpool Hotels

                        Comment


                        • <script id="animVis" file="scripts/animVis.maki" param="f,s,c,l,al"/>

                          f = number of frames in ur anim -1
                          s = sencitivity 1 is most sencitive
                          c = anim container
                          l = anim layout
                          al = anim layer id

                          i added this so it works as many times in 1 skin as u want and with any animation

                          anyway.. let me know any bugs please
                          Attached Files
                          Wap Server For Winamp 5 ::
                          Kill All The Humans :: Blackpool Hotels

                          Comment


                          • Can we have the .m?

                            Comment


                            • hmm, yes, and a more detailed explanation please biz?
                              .:SharkWork::Deviantart::Breed:.

                              Comment


                              • sorry.. i compiled then deleted... as i dont need it and NEED hdd space atm...

                                this should go in skin.xml
                                <script id="animVis" file="scripts/animVis.maki" param="f,s,c,l,al"/>

                                and these are what the params mean

                                f = number of frames in ur anim -1
                                u need to -1 because it counts from 0 not 1

                                s = refresh in millisecond
                                the number of ms b4 the script runs the function again

                                c = anim container
                                the container that your animated layer vis is in

                                l = anim layout
                                the layout in the container your animated layer is in

                                al = anim layer id
                                the id of your animated layer

                                eg
                                code:
                                <script id="animVis1" file="scripts/animVis.maki" param="12,1,main,normal,vis.anim.main"/>
                                <script id="animVis2" file="scripts/animVis.maki" param="50,1,main,normal,vis.anim.my.second.anim"/>
                                <script id="animVis3" file="scripts/animVis.maki" param="20,1,main,shade,vis.anim.shade"/>

                                thats roughly how u use it.. ill make an example l8r and post it
                                Wap Server For Winamp 5 ::
                                Kill All The Humans :: Blackpool Hotels

                                Comment

                                Working...
                                X