[#1] taki sobie MultiView...
Witam Szanowną Amigową Brać!

Popełniłem taki programik w Pythonie, bo wkurzało mnie że nie ma porządnego narzędzia do przeglądania plików AmigaGuide, a czasem tam są ciekawe rzeczy i to i owo chciałoby się przeczytać. Są niby jakieś wiekowe aplikacje na Windows ale kulawo działają, więc postanowiłem rozborować temat :)

Jak już parsowanie plików guide wyszło mi jako tako (praktycznie całość poza zmianą czcionek, komendami systemowymi i ARexx) i chyba wygląda dobrze:





to aby było bardziej Amiga feel dorobiłem requester na wzór ReqTools:



Potem postanowiłem zabrać się za inne pliki a apetyt rósł w miarę jedzenia. Dorobiłem więc parser plików ANSI:



Przy okazji wyszedł problem z kodowaniem polskich znaków... to dorobiłem automatyczne rozpoznawanie i poprawnie są wyświetlane znaki kodowane w APL, xJP i ISO, wystarczy otworzyć plik.

Potem przyszła kolej na obrazki, tu na PeeCee jest trochę lepiej niż w przypadku plików guide, ale co tam, więc dorobiłem obsługę IFF, bo to najbardziej amigowy format:





otwiera IFF we wszystkich odmianach, także HAM8, IFF24 i ze zmienną paletą kolorów (chunk CRNG).

Skoro już jest IFF to dlaczego nie inne? Dorobiłem więc najpopularniejsze GIF, PNG, JPEG i BMP. Przy okazji obrazków amigowych trzeba było skalować je odpowiednio, aby zachować aspect, więc obrazki 640x200, 1280x512, 320x480 też są wyświetlane poprawnie:





Skoro już mamy obrazki to czemu nie zrobić obsługi animacji? Na pierwszy ogień poszedł ANIM-5 HAM8, a co!



No i jak tak dobrze idzie do dlaczego nie ma dźwięku? Okazuje się że standard IFF nie opisuje animacji z dźwiękiem (jest dźwięk ale osobno), ale jest standard CDXL, który dźwięk ma! Wiec trochę pogrzebałem i jest obsługa CDXL:



Gra wyświetla wszystko cacy... to może jeszcze obsługa MPEG? To akurat szybko poszło bo nie trzeba przeliczać chunky na planar liczyć klatek delta opcode 5...



zaraz zaraz... ale skoro CDXL ma dźwięk, to może da się go upakować w kontener IFF, razem z animacją w analogiczny sposób? Trochę to trwało (przy okazji powstał konwerter MPEG do CDXL i ANIM), ale w końcu się udało! To może IFF24 też się da upakować? Na początek CDXL bo jest prostszy:



a potem przyszła kolej na ANIM IFF24 z dźwiękiem:



tu jeszcze czeka mnie optymalizacja, bo i ile sprzęt radził sobie z 8 bitplanami (HAM8) to przy 24 bitplanach zaczyna szarpać...

Co wy na to? Ciągnąć to dalej? Program jest robiony metodą best effort, więc jak mam czas to siadam i się relaksuję, i sprawia mi to frajdę.

W planach obsługa innych formatów AIFF, MOD, MED, MP3, OGG, XM... potem może obiekty 3D z Imagine, Lighwave... Całość jest robiona jako ciekawostka. Być może zgłoszę do Hyperionu propozycję ustandaryzowania w IFF animacji z dźwiękiem, bo skoro działa to dlaczego ma to nie być ustandaryzowane?

Przerabianie animacji na format CDXL czy ANIM nie ma praktycznego sensu. Z pięciominutowego teledysku w pliku MPEG 90MB robi się plik 1,5GB, a w przypadku IFF24 3GB. Program jednak nie do tego był stworzony, miał wyświetlać pliki AmigaGuide, a że przy okazji wyświetla co tylko się da, to chyba lepiej?

Co o tym sądzicie? Warto ciągnąć ten projekt? Jak ktoś chętny do potestowania to mogę wystawić skompilowaną wersję, wymagana czcionka DejaVu Sans, w każdym linuksie jest, trzeba będzie też doinstalować biblioteki, z których korzysta: tkinter, bisect, threading, numpy, numba, torch... może za daleko pojechałem :)

AmigaRulez!

PS. Cały czas mnie zadziwia jak C= i EA wyprzedzili swoje czasy projektujać hardware Amigi i opisując standard IFF. Jest tam totalnie wszystko, łącznie z grafiką 3D, czcionkami wektorowymi im bardziej się tam zagłębiałem ryjąc specyfikacje, tym bardziej byłem pod wrażeniem. Gdzie byłby dzisiejszy świat, gdyby C= nie zbankrutowało? Inżynierów mieli najlepszych jakich można było wtedy mieć, ale zarząd był do dupy.
4
Na stronie www.PPA.pl, podobnie jak na wielu innych stronach internetowych, wykorzystywane są tzw. cookies (ciasteczka). Służą ona m.in. do tego, aby zalogować się na swoje konto, czy brać udział w ankietach. Ze względu na nowe regulacje prawne jesteśmy zobowiązani do poinformowania Cię o tym w wyraźniejszy niż dotychczas sposób. Dalsze korzystanie z naszej strony bez zmiany ustawień przeglądarki internetowej będzie oznaczać, że zgadzasz się na ich wykorzystywanie.
OK, rozumiem