Kari-Pekka Koljonen, the inventor of the legendary Amiga MOD player HippoPlayer, has pushed his first update for the Amiga version of the program in 21 years to Github today.
The previous version of HippoPlayer was v2.45, published in January of 2000. This new release is v2.46b (beta) published today just 4 hours ago as of this writing.
Many of the fixes involve removing original memory limits as many of today's machines have the capability to do more than in 1987 when the A500 was first released. Koljonen also repaired Hippo's multitasking approach, which could occasionally crash due to timing issues.
Koljonen decided to also take a closer look at the User Interface:
The fixes in v2.46b include:The main window buttons are quite cryptic with both left and right mouse button actions, which I have conveniently forgot about. I implemented a modern feeling tooltip which will pop up a helpful text for each button. Maybe this is a first tooltip on kick1.3?
Right clicks on the buttons don't really work like left clicks. I don't know why the past-me left them like that, they're ugly and non-user friendly that way. I changed the buttons to have a proper visualization for right clicks as well.
I also added a few wait pointers to places with long running operations.
- Extraneous requester pop up removed when loading TFMX modules.
- Fixed a case where unpacked modules were not identified as modules, or a non-module file was identified as a valid module (due to badly initialized memory).
- A memory leak removed from the file requester.
- Memory usage is lowered in several situations:
- Random play bookkeeping now uses a dynamically allocated table.
- Each module list entry is now about 30 bytes smaller, for 1000 modules that means memory savings of about 30 kB!
- Unnecessary library loading removed from startup. This also speeds up starting on slow machines.
- Improved stability
- Starting and stopping playback and loading modules like a crazy person is now not so prone to crashing. This is achieved by adding exclusive access checks to module data and module list in several places (see above).
- Other general bad behaviour removed from many places, not directly visible to user.
- May survive low memory situations better when loading module programs or adding files.
- A bunch of smaller fixes, such as enforcer hit removals at a few places.
- Code refactoring! It's still quite a mess in many places.