Object LOOP Plugin

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts
  • Imagine Programming
    Indigo Rose Customer
    • Apr 2007
    • 4248

    Object LOOP Plugin

    Hi all, I'm releasing a new plugin, this plugin allows you to
    use the AMS Object functions in a L-OOP (Lua Object Oriented Programming)
    syntax.

    Plugin Name: Object

    Description:
    Originally posted by imagine-programming.com
    This is a plugin for Autoplay Media Studio

    This plugin allows you to preform actions on the AMS objects in a more
    pure-lua and object oriented form. The plugin contains all AMS functions for
    object ins OOP form. A few extra functions are added, these are
    only listed in the helpfile, because the Action Dialog displays the functions
    incorrectly. Only Object:Create is listed in the Action dialog.

    Make sure to read the helpfile about the extra functions and their usage,
    the usage for all native functions can be found in the AMS helpfile, for that
    object.
    Additional Information:
    Originally posted by imagine-programming.com
    The extra functions are not the only extra functions
    future versions of this plugin may contain a quite expanded
    list of extra functions. If you wish to suggest a function, mail
    to Imagine Programming using the contact form. Make sure, when
    you want to suggest a function, to suffix the message with:
    Suggestion for Imagine Object Plugin.

    You could also reply to this thread.
    Credits:
    Centauri Soldier, for reminding me to check if an object exists! :yes

    Extra information, download link and full function list:
    Imagine Object Plugin


    I must say, it was a load of work lol! 220 functions...

    Please report bugs and suggestions, thanks!


    *Edit, lol I just noticed 1990 lines of code went into this project, how ironic, that's my birthyear!
    Last edited by Imagine Programming; 03-06-2010, 11:44 PM.
    Bas Groothedde
    Imagine Programming :: Blog

    AMS8 Plugins
    IMXLH Compiler
  • Centauri Soldier
    Indigo Rose Customer
    • Jun 2007
    • 1698

    #2
    Man, that's a lot of functions! I'm gonna be in that help file for a few hours I guess. Well, I've been looking forward to trying this out since you first mentioned it. I can't wait to see what it can do. Thanks for sharing with the rest of us, IP. :yes
    Last edited by Centauri Soldier; 03-07-2010, 12:29 AM.
    https://github.com/CentauriSoldier

    Comment

    • Imagine Programming
      Indigo Rose Customer
      • Apr 2007
      • 4248

      #3
      Originally posted by Centauri Soldier View Post
      Man, that's a lot of functions! I'm gonna be in that help file for a few hours I guess. Well, I've been looking forward to trying this out since you first mentioned it. I can't wait to see what it can do. Thanks for sharing with the rest of us, IP. :yes
      No problem mate! I intended to to this ages ago but stuff kept getting between me and this I finally started and finished it!

      By the way, the helpfile only tells you about none-AMS functions, if you need help for a certain AMS object function, use the AMS helpfile

      One function is not documented in the helpfile, Object:RestoreOriginalRect, this function restores the size and position of the object which is the size and position the object had from the moment you created the Object handle

      Got any suggestions for functions? I'll work FadeOut, FadeIn in for the Imageobject later.
      Bas Groothedde
      Imagine Programming :: Blog

      AMS8 Plugins
      IMXLH Compiler

      Comment

      • Sakuya
        No longer a forum member
        • Oct 2009
        • 682

        #4
        It's about time people started releasing free plugins again, and it's also about time people started using Object Orientated Programming in Lua!

        Nice.

        EDIT: Just looked over this and, wow. These append functions and ToggleEnabled/ToggleVisible are great.
        Last edited by Sakuya; 03-07-2010, 02:01 AM.

        Comment

        • Imagine Programming
          Indigo Rose Customer
          • Apr 2007
          • 4248

          #5
          Originally posted by Sakuya View Post
          It's about time people started releasing free plugins again, and it's also about time people started using Object Orientated Programming in Lua!

          Nice.

          EDIT: Just looked over this and, wow. These append functions and ToggleEnabled/ToggleVisible are great.
          Thank you, yes indeed, I'd love to see more L-OOP over here, that's why I will release the plugin's source eventually. First I want to see how popular L-OOP is on these forums, and I want to update the plugin a couple of times to add new functions.

          I should add a note about Object:Append, it does work on the RichText object,
          but only without formatting. So, when you use Object:Append on the RichText, formatting will be ignored.

          Object:SetText and Object:GetText do work with formatting for RichText, same as RichText.Set/GetText.
          Bas Groothedde
          Imagine Programming :: Blog

          AMS8 Plugins
          IMXLH Compiler

          Comment

          • Sakuya
            No longer a forum member
            • Oct 2009
            • 682

            #6
            Originally posted by Imagine Programming View Post
            Thank you, yes indeed, I'd love to see more L-OOP over here, that's why I will release the plugin's source eventually. First I want to see how popular L-OOP is on these forums, and I want to update the plugin a couple of times to add new functions.

            I should add a note about Object:Append, it does work on the RichText object,
            but only without formatting. So, when you use Object:Append on the RichText, formatting will be ignored.

            Object:SetText and Object:GetText do work with formatting for RichText, same as RichText.Set/GetText.
            Now we only need stuff like this..

            Code:
            local Image1 = Object:Create("Image1");
            
            Image1.ImageFile = _SourceFolder.."\\Images\\Background.png";
            Image1.Opacity = 50;
            Image1.TooltipText = "Your background.";
            Image1.Visible = true;
            Image1.Enabled = false;
            
            -- maybe because lua can't detect these changes straight away..
            Image1:SaveChanges();
            Then AutoPlay Media Studio can take over the world!

            Comment

            • Imagine Programming
              Indigo Rose Customer
              • Apr 2007
              • 4248

              #7
              Originally posted by Sakuya View Post
              Now we only need stuff like this..

              Code:
              local Image1 = Object:Create("Image1");
              
              Image1.ImageFile = _SourceFolder.."\\Images\\Background.png";
              Image1.Opacity = 50;
              Image1.TooltipText = "Your background.";
              Image1.Visible = true;
              Image1.Enabled = false;
              
              -- maybe because lua can't detect these changes straight away..
              Image1:SaveChanges();
              Then AutoPlay Media Studio can take over the world!
              That's actually possible, try:
              Code:
              tImage1 = {};
              tImage1.ImageFile = _SourceFolder.."\\Images\\Background.png";
              tImage1.Opacity = 50;
              tImage1.TooltipText = "Your background.";
              tImage1.Visible = true;
              tImage1.Enabled = false;
              
              Image1 = Object:Create("Image1", tImage1, OBJECT_IMAGE);
              And don't forget about Object:SetProperties ^^

              But I'll probably be able to work that in somehow, perhaps using a subtable
              like:
              Code:
              local Image1 = Object:Create("Image1");
              
              Image1.PropsOnTheFly.ImageFile = _SourceFolder.."\\Images\\Background.png";
              Image1.PropsOnTheFly.Opacity = 50;
              Image1.PropsOnTheFly.TooltipText = "Your background.";
              Image1.PropsOnTheFly.Visible = true;
              Image1.PropsOnTheFly.Enabled = false;
              
              Image1:SaveChanges();
              and here comes the interesting part, I could even set the subtable's index to a function that automatically updates the properties when the table is modified! But that'll require some work though, rather much I'm affraid.
              Bas Groothedde
              Imagine Programming :: Blog

              AMS8 Plugins
              IMXLH Compiler

              Comment

              • Imagine Programming
                Indigo Rose Customer
                • Apr 2007
                • 4248

                #8
                Support for Grid.GetCellState (thanks riz) added and helpfile updated.
                See first post for link.
                Bas Groothedde
                Imagine Programming :: Blog

                AMS8 Plugins
                IMXLH Compiler

                Comment

                • Imagine Programming
                  Indigo Rose Customer
                  • Apr 2007
                  • 4248

                  #9
                  34 Downloads and 148 views, so, tell me what you think about L-OOP programming, wishes for future AMS plugins in L-OOP and something about this plugin...
                  Bas Groothedde
                  Imagine Programming :: Blog

                  AMS8 Plugins
                  IMXLH Compiler

                  Comment

                  • RizlaUK
                    Indigo Rose Customer
                    • May 2006
                    • 5552

                    #10
                    wishes for future AMS plugins in L-OOP
                    i want a plugin that freezes time so i can get some D.A.M work done

                    i havent looked at this yet, i will do tho, just when i find time, im trying to get my plugins back out there but things keep happening, phone rings, door knocks, kids cry, misses talks!!, just cant get any peace!! and cant concentrate with no NICOTINE AGRRRRRR

                    (iv done 2 packets of gum today.....my jaw hurts, but im smoke free lol)
                    Embrace change in your life, you never know, it could all work out for the best

                    Comment

                    • Imagine Programming
                      Indigo Rose Customer
                      • Apr 2007
                      • 4248

                      #11
                      Originally posted by RizlaUK View Post
                      i want a plugin that freezes time so i can get some D.A.M work done

                      i havent looked at this yet, i will do tho, just when i find time, im trying to get my plugins back out there but things keep happening, phone rings, door knocks, kids cry, misses talks!!, just cant get any peace!! and cant concentrate with no NICOTINE AGRRRRRR

                      (iv done 2 packets of gum today.....my jaw hurts, but im smoke free lol)
                      Code:
                          local RizlaUK = NewPersonHandler("D.H.");
                          local hTime   = TimeHandler();
                          hTime:Freeze();
                          while(RizlaUK:Busy())do
                              hTime:EnsureFrozen();
                              RizlaUK:GetWorkDone(WORK_PLENTY);
                          end
                      hehe

                      Wow, kudos for not smoking mate! I envy that mental strength XD
                      Well, get some work done! No hehe just kidding, can you even concentrate with kids around you?
                      Bas Groothedde
                      Imagine Programming :: Blog

                      AMS8 Plugins
                      IMXLH Compiler

                      Comment

                      • RizlaUK
                        Indigo Rose Customer
                        • May 2006
                        • 5552

                        #12
                        can you even concentrate with kids around you?
                        NO, why you think my plugins have so many bugs

                        lol, its the not smoking is why i cant concentrate, if i had a ciggy id be ok, but, im not giving in now, i'll just have to get used to it!!

                        Does this feeling ever go away, anxiety i think, but cant work out why!!
                        Embrace change in your life, you never know, it could all work out for the best

                        Comment

                        • Imagine Programming
                          Indigo Rose Customer
                          • Apr 2007
                          • 4248

                          #13
                          Originally posted by RizlaUK View Post
                          NO, why you think my plugins have so many bugs

                          lol, its the not smoking is why i cant concentrate, if i had a ciggy id be ok, but, im not giving in now, i'll just have to get used to it!!

                          Does this feeling ever go away, anxiety i think, but cant work out why!!
                          It will go away, eventually it'll all turn into frustration on a level you would love to pull off your nails, and pull out your hair (as described by a few)... But then, when you make it through those stages, you won't ever need a cigarette again ^^

                          I don't think this was a motivational message, but it should have been
                          Bas Groothedde
                          Imagine Programming :: Blog

                          AMS8 Plugins
                          IMXLH Compiler

                          Comment

                          • Imagine Programming
                            Indigo Rose Customer
                            • Apr 2007
                            • 4248

                            #14
                            UPDATE

                            As in, information about the next update.

                            As Sakuya suggested, in the next version there will be a On the fly properties
                            modification system. After hours of research and coding, I have put together
                            a system in this plugin, where SetProperties could be discarded!

                            Code sample, tested and it works:
                            Code:
                            Input1 = Object:Create("Input1"); -- this object is already existing on current page/dialog
                            Input1.Props.Width = 200;
                            Input1.Props.Text   = "New text, this actually works!";
                            Input1.Props.Height = 22;
                            That's it, you can edit seperate keys in the properties table just like that!
                            These changes will be affected right from the moment lua parses that line!

                            Still some testing is required, but an update will be posted on the 9th,
                            thanks sakuya for suggesting this!
                            Bas Groothedde
                            Imagine Programming :: Blog

                            AMS8 Plugins
                            IMXLH Compiler

                            Comment

                            • Imagine Programming
                              Indigo Rose Customer
                              • Apr 2007
                              • 4248

                              #15
                              Update Online!
                              version 1.1, 223 functions!

                              Sooner as expected, but the update is online!

                              This system is fully working, and please do know this is only for setting
                              some properties. Obtaining properties is possible, but they may differ after a
                              function call to SetProperties.
                              See previous post what this new system can do.

                              Also 2 functions were added:
                              • Object:FadeIn(MaxOpacity,Timeout=10) -- Fades in an imageobject
                              • Object:FadeOut(MinOpacity, Timeout=10) -- Fades out an imageobject


                              Downloadlinks updated. See first post for links. An updated example is included!

                              __________________
                              Bas,
                              Imagine Programming
                              iEnc Action Plugin
                              Object Action Plugin
                              Last edited by Imagine Programming; 03-08-2010, 09:26 PM.
                              Bas Groothedde
                              Imagine Programming :: Blog

                              AMS8 Plugins
                              IMXLH Compiler

                              Comment

                              Working...
                              X