amiga-news ENGLISH VERSION
.
Links| Forum| Kommentare| News melden
.
Chat| Umfragen| Newsticker| Archiv
.

[Login] [Registrieren] [Passwort vergessen?]

< Nächste MeldungVorige Meldung >
16.Jun.2021
AmigaLove (ANF)


Mod-Player: HippoPlayer 2.46beta
Kari-Pekka Koljonen, der Entwickler des Amiga-MOD-Players HippoPlayer, hat heute sein erstes Update für die Amiga-Version des Programms seit 21 Jahren auf Github veröffentlicht. Er schreibt dazu:

"Vor einigen Jahren gab eine es Nutzeranfrage (von daxb), die Größenbeschränkung der Modulliste zu entfernen. Das entpuppte sich als wirklich lustige Herausforderung. Der Code nahm an, dass der Modullistenindex eine positive 16-Bit Zahl wäre und verwendete den gleichen Index gepaart mit einigen 'magischen' Werten. Der Code musste an vielen Stellen geändert werden, damit das funktionieren konnte. Die Beschränkung liegt nun bei 0x1ffff 131071) was einem unglaublichen Wert entspricht.

So eine riesige Liste benötigt eine Menge Speicher und ist nur sehr langsam zu verarbeiten, da es eine doppelt verlinkte Liste ist. Die Listenwiederholungsberechnungen benötigten einigen Optimierungsbedarf, um auch auf einem A500 ausgeführt werden zu können (nächste Herausforderung: Den verlinkten Listensatz loszuwerden).

Die Verwaltung der Zufallswiedergabe funktionierte ursprünglich nur für Listen von bis zu 8192 (0x1fff) Modulen. Die Begrenzung wurde nun ebenfalls entfernt.

Ich entschied mich, mit einigen Änderungen an der Benutzeroberfläche mir selbst eine Herausforderung stellen. Die Schalter des Hauptfensters sind ziemlich "kryptisch", da sie mit Aktionen der linken und rechten Maustaste angesprochen werden können, was ich komplett vergessen hatte. Ich ergänzte die Tooltip-Funktion die einen Hilfstext für jeden Schalter bereithält. Ist das der erste Tooltip unter Kick 1.3?

Klicks mit der rechten Maustaste funktionierten nicht wirklich so gut wie mit der linken. Die Schalter sahen hässlich aus und waren damit nicht sehr benutzerfreundlich. Ich änderte die Schalter so, dass sie auch beim Rechtsklick eine entsprechende Veränderung aufweisen.

Ebenso habe ich ein paar Hinweise bei laufenden Operationen hinzugefügt.

Ein weiterer Aspekt, der mich zu Weiterarbeit am HippoPlayer motivierte war die schlechte Umsetzung von Multitasking. Zur damaligen Zeit hatte ich keine Ahnung von Thread-Safe-Programmierung. Das konnte zu zufälligen Abstürzen führen.

Exec stellt Semaphore zum Schutz von Shared Data zur Verfügung, was nun an vielen Stellen hinzugefügt wurde.

Fehlerbehebungen:
  • 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 modulelist 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."
Die neueste Betaversion kann unter Releases heruntergeladen werden. Im entpackten Archiv steht sie dann im Ordner "dist" und kann über die bestehende Installation kopiert werden. Schließlich noch die 'HippoPlayer.group' nach 'S' kopieren. (dr)

[Meldung: 16. Jun. 2021, 07:16] [Kommentare: 3 - 16. Jun. 2021, 22:03]
[Per E-Mail versenden]  [Druck-Version]  [ASCII-Version]
< Nächste MeldungVorige Meldung >

.
Impressum | Datenschutzerklärung | Netiquette | Werbung | Kontakt
Copyright © 1998-2021 by amiga-news.de - alle Rechte vorbehalten.
.