Announcement

Collapse
No announcement yet.

MAKI Cheats

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

  • Treble Knob Script using Rotation

    //-----------------------------------------------------------------------------
    // Trebleknob.m
    //
    // Example of a Treble Knob using rotation
    // Has Simple and Advanced Modes controlled by a right-click menu
    //
    // created by FrisbeeMonkey
    //-----------------------------------------------------------------------------

    // USING THIS SCRIPT:
    //*****************************************************************************
    // 1. Define the following in your XML:
    // <layer id="TrebleKnob" image="player.TrebleKnob" x="409" y="7" move="0"/>
    //
    // Change the position(x,y) of "TrebleKnob" to the specifics
    // of your layer. Make sure the image is facing where you want 0 to be.
    // 2. Define your gradient map with your other elements using:
    // <bitmap id="player.map.Trebleknob" file="player/TrebleKnobMap.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
    // "TrebleKnob" If you don't have a ticker, add one now.
    // 4. Copy this script (and Trebleknob.maki) to your scripts folder.
    // 5. If you don't have Trebleknob.maki, compile this script.
    // 6. Add this line to the group that contains your knob layer
    // <script id="Trebleknob" file="scripts/Trebleknob.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


    • Hey all!

      Just an update with something I noticed from 490. For the volume and eq animated background scripts, it seems that in build 490, they changed what happens when you use getPosition on an eq slider. Instead of returning a value between 0 and 255, they now return values between -127 and 127 (regular eq-style).

      However, this messes up the scripts.

      You have to make a few changes (shown below):


      code:
      if (ResetClicked) {

      sliTemp.setPosition(value);
      lyrTemp.goToFrame(((sliTemp.getPosition()+127)/255)*27);
      }


      if (Load) lyrtemp.goToFrame(((sliTemp.getPosition()+127)/255)*27);

      else lyrtemp.goToFrame(((value+127)/255)*27);


      }

      ...

      butSetMax.onLeftClick() {

      ResetClicked=1;

      for (int i=1; i<=10; i++) updateSlider(i,127);

      ResetClicked=0;

      }



      butReset.onLeftClick() {

      ResetClicked=1;

      for (int i=1; i<=10; i++) updateSlider(i,0);

      ResetClicked=0;

      }



      butSetMin.onLeftClick() {

      ResetClicked=1;

      for (int i=1; i<=10; i++) updateSlider(i,-127);

      ResetClicked=0;

      }

      Note the +127 portions in the getPosition calls, and the changes in the calls to updateSlider in the button hooks (from 255 to 127, 127 to 0 and 0 to -127).

      Basically, everything has to be scaled down by 127.


      Dougieha

      PS. Should I make a new thread pointing this out?...since this is kind of buried in here.
      My skins: Sony MPFX3-WA5 (Just for WA 5.x!!) and Sony MPFX3.

      Comment


      • Hey Jammy,
        I've started making the draggable drawer, but I realized I don't know exactly what you are looking for. Do you want it to open and close from mouse clicks still, or do you want it to open and close(really just resizing) from dragging the mouse? Let me know and I'll get it to ya as soon as I can,
        ~FrisbeeMonkey
        My Skins
        Skinning References: MAKI Scripts - GUIDs & Button Actions - Skinner's FAQ
        Skin Help: MAKI Cheats - Component Skinning - Skinning Tutorial

        Comment


        • Well since you were away over the weekend and I had nothing better to do I made one (attached) which is draggable.

          Couple of problems with it atm are:

          - Couldn't use the .resize method for some reason so had to use setXmlParam - more on this later.
          - If you want it to drag diagonally it'll allow the user to drag anywhere in the rectangle around your diagonal.

          Other than that it works well.

          My main problem is I was after a group which would resize as you dragged it so I could use relative sizing objects in the group. Obviously without the resize method working I can't do that, and the setXmlParam didn't seem to update the width like it did the x and y.

          Feel free to look into the problems, this is just as far as I got. I plan to take a closer look sometime as well.
          Attached Files

          Comment


          • a draggable drawer is a pretty neat idea..
            In the old days, beta3, when I made Illuminamp, I thought about this to make a better playlist drawer, but it wasn't possible back then and since that I've forgotten all about it..
            nice to see that you've created one.

            This would take away one huge negative thing about having the playlist in a drawer.

            havent tested it yet though..

            -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


            • Hey frisbee,
              How could I set a drawergrp.ontargetreached() event to hide() when closed, and then show() when it begins to slide open?
              Or maybe even better, is there a way I could change the sysregion setting just when all the way cosed?

              Comment


              • Jammy, I have a drawer working how you want, doesn't even use MAKI. Right now I am working on a way to make it update inline stuff like a Playlist or AVS or whatever. If you just want a slider though, that is pretty easy. I'll put up an example (hopefully one with a slider, one with a playlist) later tonight.
                Dynamik, what you described isn't too bad, and yes, you can change the sysregion stuff using setXMLParam("sysregion","0"). Just change the drawer script so that DrawerStatus is changed onTargetReached insted of on the mouse click. Then in onTargetReached(), you'd see if it was opening or closing, then change sysregion and DrawerStatus accordingly. Let me know if you need more details.
                ~FrisbeeMonkey
                My Skins
                Skinning References: MAKI Scripts - GUIDs & Button Actions - Skinner's FAQ
                Skin Help: MAKI Cheats - Component Skinning - Skinning Tutorial

                Comment


                • Stretchable Drawer

                  Okay, I've made a little skin to show the stretchable drawer concept. It doesn't use any MAKI, but hopefully it will prove useful. You can download a working version of the skin, or just look over the XML here.
                  This is the player-normal.xml:
                  code:
                  <!-- w="-200" because we don't want to include the width of the main background,
                  in this case it starts off with a width of 30, the size of the handle -->
                  <groupdef id="StrDrawerGroup" w="-200" h="150" relatw="1">

                  <!-- the background to the drawer, needs sysregion="1" to show up. relatw so it stretches with resize -->
                  <layer id="drawer" x="0" y="0" w="0" relatw="1" image="player.strdrawer" move="1" sysregion="1"/>

                  <!-- just some items to see how you can position and stretch things in the drawer
                  I've included a sample set of images for a stretchable slider-->
                  <layer id="SomeContent" x="-130" relatx="1" y="20" image="player.SomeContent" move="1"/>
                  <layer id="MiddleSlide" x="20" y="120" w="-70" relatw="1" image="player.MiddleSlide"/>
                  <layer id="LeftSlide" x="0" y="120" image="player.LeftSlide"/>
                  <layer id="RighttSlide" x="-50" relatx="1" y="120" image="player.RightSlide"/>

                  <!-- This is the drawerhandle, relatx and x="-30" set the position, resize="right" affect which way to resize,
                  you can use other values like left, top, bottom, bottomleft, topright, etc-->
                  <layer id="handle" x="-30" y="0" relatx="1" image="player.strdrawerhandle" move="0" sysregion="1" resize="right"/>
                  </groupdef>

                  <!-- set the width to the size of your main player + your drawerhandle width. also set minimum_w to
                  that value to prevent the layout from being resized too small-->
                  <layout id="normal" h="150" w="230" minimum_w="230">

                  <!-- include the group in the layout -->
                  <group id="StrDrawerGroup" x="200" y="0" w="-200" h="150" relatw="1"/>

                  <!-- the background layer for the rest of your main window, again sysregion="1" is needed so it displays -->
                  <layer id="background" x="0" y="0" image="player.background" move="1" sysregion="1"/>

                  </layout>

                  I'll get to work on the playlist version of this after I grab some dinner.
                  ~FrisbeeMonkey
                  Attached Files
                  My Skins
                  Skinning References: MAKI Scripts - GUIDs & Button Actions - Skinner's FAQ
                  Skin Help: MAKI Cheats - Component Skinning - Skinning Tutorial

                  Comment


                  • aaah...
                    ofcourse, so simple, why haven't I thought about this before?
                    love 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


                    • ARGH

                      Sorry to report no playlist drawer yet. I thought this was gonna be a 30 min job but I've been working awhile now and cannot get it working. I think I just messed up something little somewhere since I cannot get the PL to show at all in my main normal(yet the same code works for the AVS if I just change the guids) Hopefully a night's sleep will bring clarity to the problem come tomorrow.
                      Until then,
                      ~FrisbeeMonkey
                      My Skins
                      Skinning References: MAKI Scripts - GUIDs & Button Actions - Skinner's FAQ
                      Skin Help: MAKI Cheats - Component Skinning - Skinning Tutorial

                      Comment


                      • yea, the playlist can be a bitch.. I know..

                        you should only need this, nothing else...
                        PHP Code:
                          <component
                            x
                        ="10"
                            
                        y="10"
                            
                        w="10"
                            
                        h="10"
                            
                        noshowcmdbar="1"
                            
                        autoopen="0"
                            
                        autoclose="0"
                            
                        param="guid:{45F3F7C1-A6F3-4ee6-A15E-125E92FC3F8D}"
                          
                        /> 
                        by the way, you know you can just have the playlist itself if you want to and skip the sidecar and poppler..

                        if you want that, this is the xml:
                        PHP Code:
                          <PlaylistEditor id="pledit.editor"
                            
                        x="0" y="0" w="0" h="0" relatw="1" relath="1" main="1"
                          
                        /> 
                        this would look best in a drawer imo..
                        and you can still have the entire editor as default when you click at the pl icon in the thinger etc..

                        that would be the best combo, atleast I think so..
                        if you DON'T want to have the thinger icon open a new window, you'll need to insert BOTH of the above editors, enable autoopen and autoclose in the top one and ghost it and hide it away...

                        that way, when you click the pl icon, the window containing the top code will be opened/closed (not a good idea if you want the playlist in a the main window's drawer.. )

                        anyway, if you run into problems, let me know cos I've been messing with this shit for ages (wa2 - wa3 converter, the unreleased version) so I'll probably be able to help you...

                        edit:
                        one problem with having only the playlist itself and not the entire editor is that it will not change playlist when you change playlist in the sidecar...
                        I don't know why but I'm still working on that.
                        it has worked before, in the beta just before the RC's I think, but since then I've had huge problems with the playlist stuff, alot of them are fixed but some of them are still there..

                        If and when I find a fix for this, I'll let you know..


                        -Plague
                        Last edited by Plague; 6 November 2002, 15:37.
                        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


                        • Managed to get that working after a bit of messing around, thanks a lot.

                          But my problem now is I have two drawers. One on each side of my player.

                          I'm thinking I'll need onResize maki script to keep the central parts in the right place, but then looking after the minimum_w is going to be hard as it'd change depending on which drawer you were moving.

                          Any ideas?

                          Comment


                          • no, at this moment I don't have any ideas for that, sorry..

                            anyway, I updated the strechexample skin with a playlist on the drawer..

                            have fun..

                            edit:
                            about the playlist problem posted in my previous post, there is one way to make it switch to the selected playlist, but it's not a fun way..

                            when you switch playlist in the sidecar, it'll only switch in the playlist editor itself, right?
                            ok, so.. to get the drawer-playlist to switch to that playlist too, you'll have to rightclick the drawer-playlist and choose "Unload playlist", that will make it remove the old playlist (yes, unfortunately it'll remove it from the sidecar aswell) and switch to the current selected one instead...

                            not fun, but it does work

                            -Plague
                            Attached Files
                            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


                            • Originally posted by Jammy
                              Managed to get that working after a bit of messing around, thanks a lot.

                              But my problem now is I have two drawers. One on each side of my player.

                              I'm thinking I'll need onResize maki script to keep the central parts in the right place, but then looking after the minimum_w is going to be hard as it'd change depending on which drawer you were moving.

                              Any ideas?
                              I don't think you'll need to think about looking after the minimum_w in the maki script.
                              You'll only need the script for the left drawer, not the right one, and the central parts doesn't care how wide the layout is.. they only care about their x-position.

                              but such a script would be a pain to write anyway and I think the parts WILL move around a couple of pixels anyway cos you resize the drawer FIRST and they move some nano secons after that so it will look really skippy and jumpy and shit..

                              diss the left drawer or make it a normal drawer and only use theese kinds of drawers at the bottom and/or right side of the skin, that is my best recommendation right now..

                              -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


                              • If I didn't change the minimum_w you could open one drawer and close the other one into the player, unless I worked a way to use part of the resize for closing one drawer and the rest for closing the other, but yes its very complicated and I've decided, not worth it atm.

                                I've doubled the layout count so only one drawer can be active at a time.

                                Comment

                                Working...
                                X