Archives for Applications

Testing 3rd party applications

Posted by ALB42 on 16. April 2015No Comments

To debug the lcl more I tested some 3rd party lazarus applications, some of them are really bad made. So my LCL get some problems with Autosize, especially when the window is Autosized and sizeable at the same time (which sounds a little bit strange for me also)

WinFF

WebPage

Problems:
Statusbar still crashes, so I had to remove it, still no idea whats wrong there. Funny, after removal of Statusbar it still compiles, so it was not in use?.
Autosize setting of the main window, as described already. First it get some exceptions because the defaultsize was not set, thats right I didn’t set this things. It seems some alignment problems alao related to this. So now I made a very simple implementations set the Prefered Size to 20×20. Later should add some for every widget.
Besides this problems the program work, but inside many ifdef unix, ifdef windows so much work need to implement startup of programs and so on.

WinFF

This ffplay is already called as expected. (just the ffplay is strange, crashes often and plays much to fast). The convert is done via a script with is very nice and easy to bring to AROS. But sadly the ffmpeg has some problems: First it’s not made for amiga so a source defined with „System:test/test.avi“ will not work because ffmpeg will report „Error: Unknown protocol System“ so one have to use „file:System:test/test.avi“ or so. But even then its not working, unrecognized options everywhere, maybe its made for an other ffmpeg version, I did not find for which ffmpeg its made.

Lyapunov Fractal

I really liked this fractals on AMIGA, even its was VERY slow to calculate (and its still, even on this fast computers), but they look better, different than the mandelbrot, julia or so. I found a rather complex program to calculate it, for Delphi, but converting to lazarus and some tiny changes and it also works on Lazarus, some more changes also works on Linux. now to AROS.

Problems:
Mainproblem is the Tabcontrol which still does not allow to switch tabs, so I had to add some Buttons for navigation and like always some drawing problems. Especially, Editpanels behave strange sometimes. I have to check later.

Download: Lyapunov for AROS i386

Lyapunovia

Example saved images:

JellyFish

LazSokoban

This worked surprisingly well, biggest problem was only that the pathes was added a DirectorySeparator even there was already one, no problem for Linux/Windows, but at AROS it means updir. And again some AutoSize issues really need look whats the problem there.
In contrast to the lazman program this is really well programmed, work well and also fast on AROS without any further optimizations. The colors are so also in the origian not a colorbug (I had to check twice, could not believe someone make such colors by purpose)

Download: LazSokoban
(AROS i386 – inclusive Source)

lazsokoban

Captured Start

Posted by ALB42 on 11. April 2015No Comments

Working on the next EdiSyn Version (0.50). The main new feature will be userdefined programs with capturing and parsing the output that you can jump into the source to the error/warning.

 

The mainproblems are the capturing of hte output, because there is no way to route the Output of an AROS program directly into memory. The only way is to let the Output write to a temporary file in RAM and read this at the same time. It works very nice, just if something happen the files stays in RAM: and uses up some memory.

 

The other Problem is again a very bad Amiga-style problem. When started from Workbench/Wanderer its nearly impossible to get the shell path, so the compiler is not able to find the linker and so on.
There are several ways to obtain the path, but seems als does not work on AROS. For example:

  • WorkbenchControl(nil, [WBCTRLA_DuplicateSearchPath, @path, TAG_DONE]); does simply nothing, the Path stays on nil.
  • PProcess(WBStartup^.sm_Message.mn_ReplyPort^.mp_SigTask)^.pr_CLI^.cli_CommandDir the problem is that the pr_CLI is nil, so not set.
  • cli := AllocDosObject(DOS_CLI, nil); results in a CLI but the path is also empty there.

 

The only way I found was to trace through all Processes and search for the main process (e.g. Wanderer, Shell, DirectoryOpus, such things, rather unsafe way to do it… but better than nothing).

 

The Output from GCC and Freepascal is parsed now so you get colored output and click to jump to the related position.
 

EdiSyn with Freepascal Output (compiles EdiSyn):

 

and GCC, with error reporting:

Happy Easter release EdiSyn 0.40

Posted by ALB42 on 4. April 2015No Comments

The new EdiSyn is out, Version 0.40.

 

Most important features should be the configuration possibility for the SynEdit control, inclusive Color selecting for Highlighter, and shortcut preferences.
The highlighter colors are saved in separate files.
 

  • ADD: Preferences Dialog
  • ADD: Key binding Dialog with Key catcher
  • ADD: Highlighter Color selection Dialog
  • ADD: New tab on every open
  • ADD: Tab Navigation ShortCuts
  • FIX: Faster New Tab
  • FIX: Drawing improvement
  • FIX: Menu Items Memory leak
  • FIX: Canvas Memory leak
  • ADD: Easter Eggs

 

Download at EdiSyn Page

 

EdiSyn040

EdiSyn 0.33 About

Posted by ALB42 on 27. März 2015No Comments

Last days I didn’t have much time to work on EdiSyn, much other things to do. And played little bit too much with the contents of the About box which should be introduced *shame on me*.
I added a smooth text scroller, seems magorium had the same idea and made crossfader. hmm both is nice, so I included both for the new release.
Besides this I got an idea hoe to slove some of the loop Notify problems. I also got a crash report, seems also related to the loop notify thing. Two things to reduce the notify loops: 1. Check if the value is changed, and only send to MUI if it has changed. 2. Block the Event if the Value is set by the interface. This should reduce the loop notifies and maybe the crash as well.
An other thing I noticed, seems I had a BIG memory hole in the code when drawing transparent Images to Canvas. The Canvas did no destroy the rastport/bitmap which was created if this Canvas is a free floating canvas, so not connected to a window/widget.
 
So here is a new release with some bugfixes and little improvements

 

EdiSyn 0.33

News:

  • FIX: Beep also when searching backwards (Shift F3)
  • ADD: Warn if a file is already open in the editor, jump to this tab
  • ADD: Show full path in Window title.
  • FIX: crash for un/checking TRadiobox
  • ADD: About Box

 

Download at the EdiSyn Page

 

EdiSyn033

EdiSyn 0.31 Release

Posted by ALB42 on 24. März 2015No Comments

Some tiny improvements for EdiSyn:
 

  • ADD: Bookmarks (Ctrl + Shift + 0..9 for set, Ctrl + 0..9 for jump to bookmark) in the picture Bookmark 5 is set.
  • ADD: Bookmark bar can be switched on/off
  • FIX: Crash when close a Tab via key removed (Focus issue)
  • FIX: Better/faster creation of new Editor pages
  • CHG: Show only every 5th line number, looks not so crowded
  • FIX: TabStop setting for Replace Dialog (use tab from search to Replace edit field)
  • CHG: Use MUI Requesters instead of EasyRequest -> looks nicer and the Window behind gets redraw events.

 
 
Download: EdiSyn 0.31
 
 
EdiSyn031

Milestone reached

Posted by ALB42 on 15. März 2015No Comments

Finally there is something to see in the Synedit control.
Last week I managed to get the lcl so far that it does not crash anymore when there is a synedit inside the window. But there was no drawing at all. Now I traces some deeper into the paint routine of it and manage to let it draw. Many of the WinAPI calls needed were just not implemented in the AROS LCL. A Big step towards a Lazarus at AROS.
It’s not completely working, but you can move the cursor (visible when you hit a begin/end -> Highlight of both) and you can fold/unfold pats of the source by clicking on the boxes on the left side.
The Caret is now shown, I guess due to XOR things missing and typing does not work, which is a little bit strange, the events are there and fired, in the games they are working nicely and the cursor keys work.

SynEdit Control in AROS

SynEdit Control in AROS

More and bigger Images

Posted by ALB42 on 14. März 2015No Comments

I worked a little bit more on the ImageViewer „APict“ included Zooming and Move with Mouse/Scrollbar, fixed a lot of bugs in my LCL code. Especially the scrollbars was hard to understand, because the MUI scrollbar and the LCL Scrollbars work a little bit different -> need to convert the Positions/Pagesize/Min/Max.
The Result works very nice now, this could really a very helpful tool for me, (even at Windows/Linux) to sort my files. My Plan is to insert some file functions also (delete or copy/move the currently viewed File to an other Folder, this is what I miss in most other image viewers)
At the moment the image loader is rather slow, but I remember I found faster routines in the web maybe later I give it a shot, or make some clever „preload“ of next image.

Download:

APict 1.1 for i386-aros

Source again available at GitHub