I decided to release the next Version of MUIMapparium even not all features are finished as I planed just to get the bugfixes out. Routes (calculated directions) can be loaded from GPX and showed on map. But I did not implement the route finding and direction command showing until now. Especially the Track curve plot was still very buggy, and of course I described in a previous blog post the pixel to position calculation which is now much better, much more precise but also much slower than before, with FPU it does not make big difference, but with SoftFloat not really funny. Routes and Tracks are now pre-calculated for the current zoom level. If the zoom level is very small and the track therefore not really good to see, only some pixels wide, it does only paint some points of it, which makes the overviews much faster. Still, with SoftFPU on 68k it still will be too slow if you have some Tracks/Routes. The drawing of Tracks/Marker/Routes can be completely switched off in Menu or buy a FPU 🙂 The package for Amiga68k does contain a FPU and Non-FPU.
I also created a little GPX file with a Track, some Markers and a Route to test the features. (Even you can use any GPX/KML/KMZ/FIT File you can find on the Internet as well)
Bugfix: imperial units
Bugfix: key mapping
Bugfix: 2nd track curve drawing
Bugfix: Date/Time loading from GPX,KML,KMZ files
Level of Detail for Tracks
Precalculation of Trackpositions (Speed optimization for NonFPU systems)
Marker in Plot, shows also a marker in the Track
Turn off Marker, Track and Route drawing via Menu
Define Directory for Images via ToolTypes: e.g. DATAPATH=DH1:TmpDir
Change find IP to freegeoip.net (old one is too slow currently)
Working more on the Trackview to show the height and speed track, added a simple Popup Menu and a Data Reader. In the beginning I wanted to use the Bubble function of MUI to show the coordinates, but it flickers like hell if you move it over the map (because you have to destroy and recreate every time) and it makes very bad redrawing errors. On AROS for example when the bubble is over an other part of the window, the background behind it will not repaint, when the bubble disappear. On Amiga the background of the window is visible on the edges instead of my curve background. Also added a fine grid for better visibility of Values and heights, still fixed but maybe later can be disabled via menu.
I implemented a on screen (on-map) menu for zooming and to show the side panel, so do not need use the menu. I did that already for Mapparium but there only released for the special ARM version. There is also a key control available, the + and – keys can be used for zooms and cursor keys for movement.
I guess it will need one or two more version for MUIMapparium to reach the features of Mapparium but I guess it will be MUIMapparium will takes the Mapparium place (and Name) in the end.
Activated the localization for MUIMapparium currently only for english and german (of course ;-)) implemented also the local library unit for AmigaOS4 so localization is available on all platforms.
I also activated the AREXX interface currently only two commands are implemented: goto lat lon [zoom] to jump to a position and addwaypoint lat lon “Name” to create a waypoint. The Portname is the same as for Mapparium an example script can be found in rexx folder. The AREXX port does not work for AROS, Zune has no AREXX support currently.
I tried to compile it on AROS64 sadly the program did not work, it just freeze. Little bit strange sometimes it start but crash directly. I tried some other programs on AROS64 and they work rather nicely so why MUIMapparium not. The difference was easy it uses threads, finally I found the solution, the Critical Sections in FreePascal are mapped to SignalSemaphores of Amiga. In contrast to other OS the SignalSemaphores are not just simple pointers but a complicated structure. The given size there was ok for 32 bit Systems but for 64 bit the structure is much bigger. I included it for that release maybe someone want to try it 😉
Had some time to work a little bit on MUIMapparium, mainly implemented way points and tracks including loading and saving, same formats as Mapparium. Due to multiple requests I created a OS4 version again, but I have no way to test it. Still it’s only a very early version of MUIMapparium.
Some people ask me to supply a Version of the MUIMapparium presented yesterday. No problem, please just remember it’s heavy work in progress, not much is working currently. In principle only Mapping and searching function, but this is already nicely working on all my available Amigas. Please note the m68k-Amiga Version needs RTG (or it will just crash), OS3.1+, MUI of course and without network it’s not really useful ;-). The Amiga Version works nicely on Vampire A600 (RTG Screen) but should also work with every 68020+ Amiga with graphic card, just a little bit slow perhaps. (FPU is not needed, in contrast to Mapparium)
Some days vacation, used the evenings in hotel to re implement Mapparium in native MUI and with fpimage for loading the PNG files and Drawing. The Drawing is faster than LCL (the LCL wrapper is huge, already slow) but still rather slow. At last I wrote a own Drawing routine which made it fast enough to start it on a native Amiga with Vampire A600. And it’s nicely usable even without FPU but of course on a RTG Screen.
Currently FreePascal on Amiga systems cannot use SSL currently, at MUIMapparium I went around it by proxy it on my own server. The reason for this is that usually at AROS the coder use a static linked OpenSSL, which we cannot use directly in FreePascal. But there is also a normal Amiga-style Library for it called AmiSSL. I started to write a import unit for FreePascal and it works.
There is one tiny hick up, the Library is not available for AROS and also no other possibility on AROS to use SSL for other languages than C. And it seems the devs are not willing to change that, because …. reasons… or just don’t like it… or don’t like the maintainer of AmiSSL, who knows, maybe just “fuck you, who cares about other languages”, as usual.
I tried to run MUIMapparium on the Draco, but sadly it does not work, mostly it just freezes on start, sometimes it starts but the PNG images are distorted. Seems the PNG Reader has some problems on the Draco, it’s a little bit strange. I while before I created a MUIMapparium using Datatypes instead of the FreePascal PNG reader and do not use CyberGraphics functions anymore, but plain graphics library function. Therefore it also works on a standard AGA Amiga.
And this Version also works on the Draco, it’s really only the PNG image reader which has some problems, maybe I should debug this and really think about to move the Datatype MUIMapparium to the standard option, the only problem with that, you need a good PNG Datatype installed to have it working. WarpPNG for best results, but most do not have that I guess
I used the function parser for a function plotter before when testing the TAChart for LCL. Now I gave my Plot component I use for MUIMapparium a little bit of reshape and fit it into MUIClass components and created a new function plotter.
I little video to show how it works:
Running on a Amiga 1200 with 68030 50 Mhz and 68882 50 Mhz on a 32 color AGA Screen. For Hex2 the floating point calculation speed is not very important, because it’s just a single function. But for calculating the full curve it needs a little bit more floating point calculations. Therefore a FPU is included. Also you should limit the number of Points to calculate to for example 100. For NG Amiga systems of course you can increase it to higher numbers.
When calculating the statistics value for the track export I thought it would be nice to have them for the normal Tracks Properties Window as well and also repaired the color indicator for the right and left axis for MUI (in Zune it worked).