Jump to content

New tool - a PreProcessor


kjactive
 Share

Recommended Posts

Hallo Amd

Thanks for your response

kinda annoying - update procedure at the startup of PM

Well yes, I thought about this previous and came up with the solution that this was right spot, but now after reading your point of view I changed my mind and will move the update process to the application exit point - Project Manager only checks for updates ones daily but the funny thing is that I personally never gets these annoying trouble and the autoupdate message - my system is always last update...

just display a message that there is an update avail,

Well I does - The messagebox provide an option to do the update or drop it, I thought about displaying the update list into this messagebox but it could be a long list of changes, to long I think and the Readme.txt is always updated to lookup for update notes...

second app doing the checking

Well it's a second script that does the actually update, run in an async process, the reason for the Project Manager restart is that the updates do not gets active before a reload - but this should not be a problem is the update point gets removed to the exit point...

I have a config utility that I have made that works as described above

That's nice and I would like to see this and get some idears or to impliment it into the Project Manager system in some way...

I wrote the scripting preprocessor for my own purpose, use it daily and updates could be bug fixes that I stumbled across or changes that peoble like you nicely point out - I try to make as few updates as posible but autoit3 do a lot of progress so will the Project Manager follow up

Plese do drop me your script to do updates and I'll have a look

kjactive :)

Link to comment
Share on other sites

General update to Rev. 3.2.2.6, some new options and bug fixes too

1.Bug fix - Some html pages from the Inet failed to open activated from the dynamically created tools menu - fixed...

2.Attached an accelerator combination to change application topmost flag on / off durring runtime ( Ctrl+Shift+X )...

3.Uptimized speed and removed some extra kilobyte as the application is now without any comments at all...

4.Moved the auto update handle process to the application exit point ( AMD )...

5.Bug fix - The auto update on a daily basis failed if the preferences option 'Save preferences at exit' was turned off - fixed...

6.Optimized owerall speed...

7.Changed the Compile auto icon buildin to look for 1.ico, 2.ico ec. as the previous function went messing around the icon order when new icons got attached...

8.Attached a limit at 50 auto buildin icons and all do get buildin even if one is missing - made the buildin icons change in Project Manager Lite ( Go.exe ) too...

9.Bug fix - Global const preprocess could be included twice if they where first on line and with tab characters afterwards - fixed...

10.Bug fix - Preprocess option 'Remove tab characters' could ruin script if tab character was after 'then' or 'switch' - fixed...

11.Optimized Preprocess speed as I moved some of the functions into a global treat...

12.Attached a new preferences option - CleanUp temorary directory contense extension as this @TempDir always do gets overfloaded, doing programming ec. Project Manager temporary files still gets removed without this option on...

Full download from site:

http://www.sitecenter.dk/latenight/nss-fol...t%20Manager.zip

or wait for the miner auto update to tricker

kjactive <_<

Edited by kjactive
Link to comment
Share on other sites

Hallo Pascal257

Well I don't know what had happened in your case but Project manager has a Terratec language support file that is vital and if not present in a local directory 'Language' no text in the intuition as the matter of fact, If you'r using PM for the first time please use the compleate archive and don't move PM from this location, use a redirection icon - hopefull this is what is wrong...

kjactive <_<

Link to comment
Share on other sites

Well I was too stupid. I unzipped the PM and only copied the files.. not the folders. In case the my downloadfolder isn't very clearly arranged I saw the language folder this morning ^^

Sadly I'm getting some errors processing my script...

But actually I don't have enough time to post them.

Some constanst are declared 2 times.

And I got 2 errors including XSkin.au3

Link to comment
Share on other sites

Hallo Pascal257

Well yes that was what I suspected,

don't have enough time to post

you could just drop me the script and I'll have a look, I would like to know what's wrong with PM in your case

The link is under members...

kjactive <_<

Edited by kjactive
Link to comment
Share on other sites

Well "just" drop the script isn't easy.

Take a look on the cvs -> PPlayer.au3

http://sourceforge.net/projects/pplayer

I get two times the error "include xskin.au3 failure"

And while processing:

C:\Dokumente und Einstellungen\Besitzer\Eigene Dateien\develop\pplayer_Pre.au3(145,40) : WARNING: $SB_SETTEXTA: possibly used before declaration.
Global Const $SB_SETTEXT = $SB_SETTEXTA
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
C:\Dokumente und Einstellungen\Besitzer\Eigene Dateien\develop\pplayer_Pre.au3(165,39) : ERROR: $SB_SETTEXT previously declared as a 'Const'
Global Const $SB_SETTEXT = (0X400 + 1)
....
C:\Dokumente und Einstellungen\Besitzer\Eigene Dateien\develop\pplayer_Pre.au3(145,40) : ERROR: $SB_SETTEXTA: undeclared global variable.
Global Const $SB_SETTEXT = $SB_SETTEXTA
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
C:\Dokumente und Einstellungen\Besitzer\Eigene Dateien\develop\pplayer_Pre.au3(38,62) : ERROR: _ArrayCreate(): undefined function.
Global $g_avSafeMode_SQLite = _ArrayCreate(1, _ArrayCreate('')
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
C:\Dokumente und Einstellungen\Besitzer\Eigene Dateien\develop\pplayer_Pre.au3(2884,67) : ERROR: AddUnsigned(): undefined function.
    $a = AddUnsigned($a, AddUnsigned(AddUnsigned(F($b, $c, $d), $x)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
C:\Dokumente und Einstellungen\Besitzer\Eigene Dateien\develop\pplayer_Pre.au3(2885,27) : ERROR: RotateLeft(): undefined function.
    $a = RotateLeft($a, $s)
~~~~~~~~~~~~~~~~~~~~~~~~~~^
C:\Dokumente und Einstellungen\Besitzer\Eigene Dateien\develop\pplayer_Pre.au3(2917,82) : ERROR: XSkinError(): undefined function.
    If Not FileExists($Skin_Folder) Then XSkinError("The $Skin_Folder was not found")
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
C:\Dokumente und Einstellungen\Besitzer\Eigene Dateien\develop\pplayer_Pre.au3(2989,45) : ERROR: XSkinMsgBox(): undefined function.
    XSkinMsgBox($TBTitle, $TBText, "", 3,$Sleep)
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
C:\Dokumente und Einstellungen\Besitzer\Eigene Dateien\develop\pplayer_Pre.au3(3267,53) : ERROR: FileGetIcon(): undefined function.
                FileGetIcon($szIconFile, $nIcon, $ar_TMpImage[1])

Thanks <_<

greetings,

Pascal

Link to comment
Share on other sites

Hallo Pascal257

There's no script related to your massive player but a quick look did made some questens on the first error message <_<

C:\Dokumente und Einstellungen\Besitzer\Eigene Dateien\develop\pplayer_Pre.au3(145,40) : WARNING: $SB_SETTEXTA: possibly used before declaration.
Global Const $SB_SETTEXT = $SB_SETTEXTA

$SB_SETTEXTA is part of the beta system - Project Manager it self is system indepanded and can do scripts as both beta v/ public versions without any system change, lookup preferences and check for system currenly used and change to beta if not, that helped in my small test script. Project Manager Lite on the other hand ( Go.exe ) in Projects directory is not independed of currently settings ( Toggle public v beta ) in extras directory, this has all the testing, compile and extensions facilities but lack all preprocess actions -

this can do a quick test on scripts...

After haveing a look at your masive player I think that this could gain a lot of speed and reduce a few kilobytes from Project manager preprocess handle but I never use xskin as this can not do a normal resized and that's vital to most of my applications...

I should mention that I constant get this error message even there's all kind of movie and music files in the directory browsed...

post-4760-1193293672_thumb.gif

kjactive :)

Edited by kjactive
Link to comment
Share on other sites

Well I tested in both "beta" and "public" mode and both times I got that errors...

After haveing a look at your masive player I think that this could gain a lot of speed and reduce a few kilobytes from Project manager preprocess handle but I never use xskin as this can not do a normal resized and that's vital to most of my applications...

I should mention that I constant get this error message even there's all kind of movie and music files in the directory browsed...

Well I knew it was to late to support resizing because I missed to do it on the early stages and now the code is that big that I'm no longer able to "just" make the GUI resizeable.

But I really like XSkin and the possibilty for the user to change the skin was the main reason to go over to XSkin.

It's sad that I actually cannot use your Project Manager because PPlayer really needs some speed-ups. I'm just optimizing the code everytime I release an update but it's impossible to get the speed of the "old" Player because some features really eat performance.

Could you describe when you get that error?

greetings,

Pascal

Edited by Pascal257
Link to comment
Share on other sites

Hallo Pascal 257

I'm working on a multiplayer and streamer application right now - semilare like your PPlayer but I use components ( called Vox - Voice online X ) and I have a testing multifiles directory containing all sorts of audio and movie files - the error happens when I browse this directory, I think that it's because the first file searched is a wrong filetype as if the directory only contains .wmv files there is no trouble

As for xskin, yes it's looking real nice and I did manage to make the skin windows resizeable too but there were graphical misbehave because autoit3 graphic update speed was to slow

As for Project manager, I haven't meet the script that in some manner wouldn't benefit from run though the preprocess handle, BUT It's not all options that is vice in any aspects as there is that manny options in a typeless language like autoit3 like:

$a = 'this is a string; with a semicolon included'
would not like the preprocess option 'remove trailing comments', and

$a = 'This is a string & with operators included'
Would not like the option 'Remove around operators...

one has to set the options that correspond with this particulare script and create a uniqe makefile ( auto generated from control ) this makes this script preprocess in the same manner every time, mostly would a script compiled lose 20% kilobytes and gain a lot of speed as one has to remember that a inteprettet language like autoit3 has to read in all characters one by one CR and LF included and build variables / functions lists before any actions can take place...

kjactive <_<

Edited by kjactive
Link to comment
Share on other sites

  • 3 weeks later...

Update to Rev. 3.2.2.7

1.Attached some speed to the search process for #includes / subincludes as Project Manager now only scan the first 50 lines for included UDF's and not the whole script...

2.Attached a new preferences option - to dock all sub panels to the main intuition default settings...

3.Bug fix - 'Switch, Then and Case' functions with a tab character afterwards could in some conditions fail - Fixed...

4.Bug fix - Enum could fail if there was no space inbetween the constant variable initiation - Fixed...

5.Bug fix - Project Manager Lite ( Go.exe ) compile didn't include the default icon ( if not present in local directory and matched application name ) now take argument from makefile script too - fixed...

6.attached a new /error argument option to Project Manager Lite error handle, to stop process solo at warnings, errors or both ( /error 1 )...

7.Bug fix - Project Manager processed Global constants that was excluded by the #cs / #ce keywords - fixed...

8.Attached a traytip notification on posible scripting errors when autoit3 and Project Manager works in different modes ( 'Public / Beta' ) - they are not backwards competible anymore...

9.Bug fix - since the auto update process was moved to the exit point, the script didn't run prober - Fixed...

10.Bug fix - The #cs / #ce comment blocks was not removed as I did compiled the previous Project Manager with this option on and the 'Comment block remove' function was removed itself - tjaaa it do works, Sorry...

Download the compleate application from site:

http://www.sitecenter.dk/latenight/nss-fol...t%20Manager.zip

Or wait for the miner auto update to tricker

kjactive :P

Edited by kjactive
Link to comment
Share on other sites

Link to comment
Share on other sites

Hallo JPM

I Couldn't reproduce a duplicate bug, could you provide me with a little snippet of code - never use WinAPI.au3 me self but...

kjactive :P

I just process WinApi.au3 in the beta include and compare to the WinAPI_pre.au3 which doubled the size.

same occurs with Array.au3

Link to comment
Share on other sites

Hallo JPM

Hej now I know what's the trouble - Project Manager is not ment to squize UDF scripts but to work on runable scripts and the trouble happens as PM think 'lets say' the array.au3 UDF is a main script and start buildin the functions used into this 'main' script, but the functions is already present. The main script is not checked as it would make a runtime failure to include same function twice...

Project Manager is ment to scan a user written runable script, scan the #includes for used functions / Globals constants and a lot more preprocess stuff - buildin all found functions, preprocess operators and contants into a new script with the absolute best efficiency as an 'all in one' script that will speedup most scripts / executes a lot as to reduce executes size with 15% - a Preprocessed script can be passed on to non autoitters with no concern to #includes what so ever, only needs the intepretter...

The Project Manager can do an all buildin handle, do scripting preprocess, create a compiled execute, automatyically buildin icons and included is a powerfull macro language that can automate most tasks - the system include a Project Manager Lite ( Go.exe ) that do the same tasks but without the preprocess stuff...

kjactive :P

Edited by kjactive
Link to comment
Share on other sites

I understand.

If it can be used for thos UDF it will help to clean the so big include process when not needed. I don't intend to deliver them but the checking help a lot.

Do you think it would be to difficult to solve it. Perhaps user include can have the same problem.

:P

Link to comment
Share on other sites

Hallo JPM

What Project Manager does is that it scan all used includes / subincludes and build a library of available functions, scan the main script for used functions and build a temporary script on used functions ready to be buildin, then PM scan this temporary script in a endless scan process for sub #include / used functions until no more to match - in the same process goes the scan for used Global Constants ec., all get tighted together into a main temporary script - then starts all the PreProcess actions and finally the compile with the automatically buildin of icons as the model of choice - all processes can be automated from a powerfull buildin macro language...

The final result is a main script with a user created UDF attached with only all used functions included and all contants preprocessed into used spots like some other speed measures conversions...

Let me get your request right, you want an option to keep the main script and the UDF sepparated or do you want the Project Manager to create the UDF as external attachment and leave the main script untouched like a library - both options could be easy done as an option...

kjactive :P

Edited by kjactive
Link to comment
Share on other sites

I was not really thinking of the separation but that's very good.

Still I want (if possible) the process be applicable to a library that can include others as WinAPI.au3 for debugging purpose.

perhaps the extra inclusion as _WinAPI_AttachConsole can show some deficiency... :P

Link to comment
Share on other sites

Hallo JPM

I think that your request to extend includes is already posible actually to create 'dynamically libraries'...

1.Load the main include that you want to extend into SciTE or editer of choice and save this with a new name...

2.Write the #include lines with the includes that holds the functions you want to entend the main include with...

3.Run the Project Manager on the script - this has now become the main script with some real commands included...

4.After the preprocess has ended open the 'Function Editer' from the edit menu, this holds all available functions to buildin...

5.Include the wanted extend functions from the 'functions available' list into the 'Makefile included functions' list and save the makefile with the Function editer save control...

a new scan process begin and 'voula' there is your new extended UDF ( with a _Pre. attahed ), the makefile holds all functions special buildin and can be edited as one pleases in / out - The #include lines in the main script get automatically removed and all the Preprocess stuff is operational but I would not recommend the 'Write Language Translation' preprocess, I think that this holds your request to dynamically create libraries of excepions of misc functions UDFs...

The 'Function Editer' was original ment to overcome the dynamically function call option from Call($var) if this was a variable but this editer has a lot of potential usefull options, one thing more is that these special included functions actually speedup the preprocess as the makefile included functions get treated ahead of the process and will overrule anyother calls to these functions...

I've never actually tryed the use of a dynamically create library but truely can see the potensional, there are optional three keywords characters ( commented in after the #include line ) that can change the preprocess to a particulare library

(*) The Exclude keyword simply exclude this uniqe #include from all preprocess action and leave the #include line unchanged...

(**) The Buildin keyword removes the #include line compleatly but buildin this particulare UDF unpreprocessed last in the final script...

(***) The Change keyword buildin the #include script as a function last in script and change the #include line into a function call...

It's further more posible to do a automatically backup of all dynamically created function libraries into a directory of excerps of used function libraries ( like a: UserInclude directory ) - look into Preferences 'Backup', remember to save the main scripts uniqe makefile...

I should mention that the Project Manager lite version ( Go.exe ) can not do this dynamically create task...

Hopefully this would do, thanks for your responce...

kjactive :P

Edited by kjactive
Link to comment
Share on other sites

Update to rev. 3.2.2.8

1.Bug fix - The listviews activated the run a macros function :"> - had to increase the dymatically created macro and tool menus to 50 as a maximum - all toghether - fixed...

2.Changed the default sub intuitions locations to same values as to the preferences 'Dock to subpanels' values...

3.Bug fix - If no includes was 'scanned / included' in a main script, a blank entry was created in the 'Checked includes' - Fixed...

4.Written a new page to the topics about 'Dynamic created function libraries'...

5.Attached a new SciTE macro tool - DisplayUrl.exe, snap out a url link directly from scite page and display contence in a browser ( application is found under Projects in the full download )...

6.Attached a new SciTE macro tool - a ColorPicker requester that can work as a macro tool to select color values from intuition to insert code into selected spot as decimal or hex type, different Pallette and user defined values supported ( application is found under Projects in the full download ) and quite proffessional - both come with code - documentation is in the Project manager topics...

Both applications can work as standalone applications but is written to work with a editer of choice...

Download the comleate Project Manager application from site:

http://www.sitecenter.dk/latenight/nss-fol...t%20Manager.zip

Or wait to the miner auto update to tricker...

kjactive :P

Edited by kjactive
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...