Zaloguj się

Jog Jajcusia

xmpp:jajcus@jajcus.net

Mój jest ten kawałek Internetu…

…złe emocje i brudne buty proszę więc zostawić przed drzwiami.

Dofus pod PLD Linux

…czyli walki z Adobe AIR.

Przeglądając The Linux Game Tome natrafiłem na opis gry Dofus. MMORPG, z ładną grafiką, ale bez zbytnich wymagań do sprzętu (grafika 2D) – wyglądało zachęcająco, postanowiłem więc spróbować.

Ściągnąłem instalator, uruchomiłem… i nic, okazuje się że RPMowych dystrybucji nie obsługuje. Jak to tak?! Odpaliłem z opcją '--keep', żeby zobaczyć co jest w środku i ewentualnie zainstalować ręcznie. W środku trochę plików, skrypt instalacyjny, deinstalacyjny i jakaś binarka „UpLauncher”. Spróbowałem odpalić binarkę, brakowało starej wersji libjpeg. W PLDowych CVS na szczęście jest spec, to dobudowałem, doinstalowałem i coś ruszyło. Ruszyło, „uaktualniło grę”, ale odpalić już się nie dało. Okazało się, że czegoś brakuje…

Znalazłem logi (po francusku) i rzeczywiście jakby jakiś plików brakuje. Zajrzałem do skryptu instalacyjnego (komentarze częściowo po francusku) i zrozumiałem, że to miało sobie jeszcze Adobe AIR zainstalować, potem tym Adobe AIR zainstalować grę z plików *.air, a dopiero to ostatecznie jest uruchamiane…

Udałem się więc do Adobe po to całe AIR. Do wyboru paczki 'deb', 'yum', 'rpm' i 'bin'. Wybrałem ostatnie, nie licząc na kompatybilność tego RPMa z PLD. Okazało się jednak, że to 'bin' to niby samo-rozpakowujące-się-archiwum, ale potem i tak próbuje budować i instalować RPM. Budować w PLD tym bardziej nie umie, więc nic z tego nie wyszło. Wziąłem więc paczkę rpm (albo jednak z tego 'bin' coś wykopałem, nie pamiętam)… coś się zainstalowało.

Zainstalowanym „Adobe AIR Application Installer” próbowałem zainstalować „Dofus.air” i „Reg.air” jak to miał robić skrypt instalacyjny Dofusa. Nie udało się. Okazało się, że ten cały „application installer” też próbuje jakieś RPMy budować, co mu nie wychodzi. Czemu nie można jak np. z javowymi aplikacjami „java -jar cośtam.jar”? Ja rozumiem, że developerzy postawili sobie za cel zrobić tak, że user dwa razy kliknie w paczkę i mu się zainstaluje jak każda inna aplikacje, ale żeby to osiągnąć strasznie przekombinowali jednocześnie zapewniając sobie kompatybilność tylko z kilkoma konkretnymi dystrybucjami, właściwie uniemożliwiając użycie tego w innych…

W końcu, jakoś strasznie hackując udało mi się to jednak opanować i grę zainstalować tak, że zadziałała. Właściwie zadziałało wszystko poza dźwiękami i urwanymi tekstami NPC już w samej grze (ten drugi problem najwyraźniej doskwiera też innym linuksowym użytkownikom Dofusa). Skoro zadziałało, to sobie trochę pograłem. I spodobało mi się. Prawie że noce nad tym zarywam, jak kiedyś nad Crossfire ;-)

Wciąż jednak nie dawało mi spokoju pytanie: „czy na prawdę nie dałoby się prościej”. I dzisiaj wygooglałem coś takiego: Adobe® AIR on Gentoo Linux. Artykuł ten mówi jak można uruchamiać aplikacje AIR używają ichniejszego SDK. Bez żadnych śmiesznych „instalatorów” próbujących budować paczki. Sprawdziłem, rzeczywiście działa. Przygotowałem też „uproszczoną procedurę” instalacji Dofusa pod prawie każdym Linuksem (poniżej). Co więcej, tym razem udało mi się uzyskać także dźwięk! :-)

Instalacja Dofusa pod ulubioną dystrybucją

  1. Ściągnijmy Adobe AIR SDK z http://www.adobe.com/cfusion/entitlement/index.cfm?e=airsdk
  2. Zainstalujmy Adobe AIR SDK (tutaj do /opt, więc potrzebne prawa roota):
    mkdir -p /opt/AdobeAIRSDK
    cd /opt/AdobeAIRSDK
    tar xjvf AdobeAIRSDK.tbz2
    cat >/usr/local/bin/adl <<'EOF'
    #!/bin/sh
    
    exec /opt/AdobeAIRSDK/bin/adl "$@"
    EOF
    
  3. Ściągnij instalator Dofusa dla Linuksa ze strony gry i rozpakuj do tymczasowej lokalizacji. To (i wszystko następne) już z prawami zwykłego użytkownika.
    mkdir /tmp/dofus-inst
    cd /tmp
    wget http://dl.ak.ankama.com/games/dofus2/setup/DofusInstall.run
    chmod a+x DofusInstall.run
    ./DofusInstall.run --keep --noexec --target /tmp/dofus-inst
    
  4. Stwórz katalog dla gry (tutaj w $HOME/Gry/Dofus) i rozpakuj tam aplikacje AIR:
    mkdir -p ~/Gry/Dofus
    cd ~/Gry/Dofus
    mkdir -p share/reg
    cd share
    unzip /tmp/dofus-inst/Dofus.air 
    cd reg
    unzip /tmp/dofus-inst/Reg.air
    cd ../..
    
  5. Stwórz pliki wykonywalne dla tych aplikacji:
    mkdir -p bin share/reg/bin
    cat >bin/Dofus << 'EOF'
    #!/bin/sh
    
    exec /opt/AdobeAIRSDK/bin/adl -nodebug ~/Gry/Dofus/share/META-INF/AIR/application.xml ~/Gry/Dofus/share
    EOF
    chmod a+x bin/Dofus
    cat >share/reg/bin/Reg << 'EOF'
    #!/bin/sh
    
    exec /opt/AdobeAIRSDK/bin/adl -nodebug ~/Gry/Dofus/share/reg/META-INF/AIR/application.xml ~/Gry/Dofus/share/reg
    EOF
    chmod a+x share/reg/bin/Reg
    
  6. Oryginalny instalator robi jakieś dziwne symlinki. Więc i my je zróbmy:
    mkdir share/reg/share
    ln -s ../Reg.swf share/reg/share/Reg.swf
    ln -s ../content share/reg/share/content
    
  7. Teraz skopiujmy pliki z instalatora:
    cp /tmp/dofus-inst/UpLauncher share
    cp /tmp/dofus-inst/games.xml share
    chmod a+x share/UpLauncher
    
  8. I zróbmy skrypt do uruchamiania gry:
    cat > start-dofus << 'EOF'
    #!/bin/sh
    
    cd ~/Gry/Dofus/share
    exec ./UpLauncher
    EOF
    chmod a+x start-dofus
    
  9. Teraz można spróbować uruchomić grę:
    ./start-dofus
    

    To może się nie udać, jeśli w systemie brakuje odpowiednich bibliotek w odpowiednich wersjach. W PLD Th np. trzeba było zbudować i doinstalować libjpeg6.

    Po doinstalowaniu brakujących bibliotek powinien się Launcher uruchomić i zacząć „uaktualniać” grę. Gdy Launcher ściągnie najnowszą wersję Dofusa będzie go można uruchomić.

3 komentarze do wpisu „Dofus pod PLD Linux”


Zabawa w video

Żonka porobiła Krzysiowi trochę filmików swoją komórką i w końcu chciała to opublikować. Moim zadaniem było znaleźć coś czym się to uda obrobić…

Obróbką video się nigdy nie bawiłem… zobaczyłem co tam mamy w PLD. Wszystko co miało coś wspólnego z KDE odrzuciłem z góry. Znalazłem jakieś PiTiVi i Cinelerra. Poza tym wiedziałem, że i Blender (program do grafiki 3D) ma jakiś edytor video. Do testów zabrałem się na laptopie żony… raczej słabiutkim…

Cinelerrę odpaliłem, załadowałem jeden filmik z komórki, wcisnąłem play… zobaczyłem jak to się muli… i dałem sobie spokój. Wyglądało to też jakoś… dziwnie.

PiTiVi wyglądało w miarę normalnie… ale trochę trwało zanim mi się udało tam jakiś filmik załadować… okazało się, że brakowało mi wielu modułów do GStreamer'a. Gdy już wszystko działało… okazało się, że to „wszystko” to prawie nic. Skleić filmiki razem to i cat potrafi ;)

Został Blender. Na początku oczywiście odrzucał ten kosmiczny interfejs użytkownika. No, trzeba przyznać, że „bardzo oryginalny”… w każdym razie różny od wszystkiego co się na co dzień używa. Jednak jak już się załapie co i jak to nie jest taki zły. I zasobów nie zżera wiele (zawsze mnie to fascynowało – Blender to jeden z niewielu programów z OpenGL, które jakoś da się bez sprzętowego wspomagania używać), i funkcji trochę ma… dla kogoś kto w obróbce video nie jest nawet amatorem to aż za wiele.

Trochę zabawy z tym cudem i udało się w „coś” połączyć dwa filmiki i parę zdjęć. Skorzystam z okazji i od razu <video> z HTML5 wypróbuję (proszę docenić, że żadnego Flasha nie potrzeba)…

Jakby ktoś pytał o muzykę, to Ika gdzieś znalazła… ja tylko wklejam gotowe „dzieło”… jakby coś ;-)

7 komentarzy do wpisu „Zabawa w video”


Jajcuś śpiewa – rozważania o podświadomości

Ostatnio bawię się programami muzycznymi. Tak żeby córka poza keybordem miała i jakieś muzyczne zabawki na komputerze. Ma więc już i Rosegarden i Solfege. Przy okazji dla PLD spaczkowałem też soundfonty dla fluidsynth, qsynth i coś jeszcze…

Mniej więcej w tym samym czasie na The Linux Game Tome pojawiły się wpisy o grach karaoke: Canta i Performous. Te wydały mi się interesujące przede wszystkim, że teoretycznie pozwoliły by jakoś „obiektywnie” pokazać jak Krysi idzie jej śpiewanie (oprócz nauki gry na klawiszach córka uczy się też śpiewu).

Canta coś nie za bardzo chciała mi działać, za to Performous skompilował się i uruchomił bez problemu. Od razu paczkę do PLD wrzuciłem. Udało mi się też znaleźć trochę piosenek w formacie UltraStar i wczoraj zaczęliśmy się tym bawić.

Zabawa polega na śpiewaniu piosenek do mikrofonu. Od zwykłego karaoke różni się tym, że komputer pokazuje jaki dźwięk z siebie wydaliśmy i przyznaje punkty za trafienia we właściwe nutki. Jak się można było spodziewać, Krysi szło całkiem nieźle w utworach które znała (niestety niewiele zna). Iwonka też radzi sobie świetnie w paru kawałkach. Ja też spróbowałem swoich sił…

Nie miałem żadnych wątpliwości, że nie umiem śpiewać. Z tego powodu też staram się nigdy nie śpiewać, przynajmniej nie tak, żeby mnie ktoś usłyszał ;-). Wczoraj, na potrzeby gry, zrobiłem wyjątek. Słuch muzyczny też mam specyficzny. Nie tylko słyszę, czy grają, ale potrafię docenić dobrą muzykę i bez problemu usłyszę fałszywą nutę. Ale czy ona za wysoka, czy za niska to już nie powiem. Zagra mi ktoś dwa dźwięki, a ja będę miał problem powiedzieć który wyższy, który niższy. O odtworzeniu czegoś ze słuchu na jakimś instrumencie mogę zapomnieć. Jak się pomylę grając z pamięci jakieś „wlazł kotek na płotek” to nie dojdę do tego który klawisz miałem rzeczywiście wcisnąć, tylko będę kojarzył że jest źle i mniej-więcej w którym miejscu.

No więc w Performous się wyników nie spodziewałem. A jednak, w dwóch utworach program dał mi aż ocenę „Amator” (Ika i Paskuda to „Wschodzące Gwiazdy). W niektórych fragmentach mój głos całkiem dobrze trafiał we właściwe nutki… ale ja zupełnie nad tym nie panowałem.

To wręcz odrobinę przerażające. Tak jakbym tylko zaczął ruszać ustami a z nich wydobywały się sensowne słowa w obcym języku. Czy śpiewałem tekst piosenki, czy buczałem jakieś „yyyy…” zastanawiając się co właściwie śpiewam, to w niektórych miejscach (najwyraźniej dobrze znanych mi fragmentach melodii) najwyraźniej trafiałem we właściwe dźwięki. Zastanawiałem się, czy to nie jakieś przekłamania… melodia złapana z głośników, albo coś… ale najwyraźniej nie. Ja rzeczywiście miejscami potrafię odtworzyć jakąś melodię. Właściwie nieświadomie. Gdy próbowałem coś świadomie korygować efekty były marne. Właściwie, tam gdzie nie wychodzi „samo” nawet nie wiedziałbym co robić, żeby śpiewać lepiej…

Wiadomo, że w takich rzeczach bardziej liczą się odruchy niż świadomość. Na StepManii też po prostu skaczę, nie ma kiedy świadomie przeanalizować każdej strzałki. Ale tych odruchów się nauczyłem. Na początku rzeczywiście analizowałem każdy ruch świadomie. Było to wolne i mało skuteczne, ale tak się nauczyłem właściwych odruchów. Podobnie było z nauką jazdy samochodem. Śpiewać nie uczyłem się nigdy. No, nie mogę powiedzieć, że teraz śpiewać umiem. Ale jednak umiem w pewnym zakresie modulować swój głos według konkretnej melodii. Tylko nie wiem jak to robię… To chyba jakiś wrodzony instynkt. W każdym razie interesujące.

…i ciekawe czy da się to jakoś rozwinąć? Czy jest jakakolwiek szansa, żebym mógł bez wstydu śpiewać przy ognisku? (Wstyd tym większy, że ja zawsze jestem trzeźwy) Nie liczyłbym na to… ale pytanie interesujące. :-)

8 komentarzy do wpisu „Jajcuś śpiewa – rozważania o podświadomości”


Zabawa w kartografa-amatora

Przyszedł sezon rowerowy, to i mój GPS wrócił do łask. Skoro GPS, to fajnie by było sobie jakieś mapy do tego przygotować, czy nanieść przejechaną trasę na mapę. Niestety z mojego ulubionego Vikinga usunięto wsparcie dla map Google (na wniosek samego Google). Zamiast tego został podobno OpenStreetMap. Postanowiłem się więc przyjrzeć temu projektowi… i wsiąkłem. ;-)

Okazało się, że mają już niezły kawałek Gliwic opisany. Do tego proste w użyciu edytory. Sam ściągnąłem sobie JOSM. To ten „poważniejszy”, podstawowy edytor dla tego projektu. Oprócz tego jest jeszcze prosty webowy edytor Potlatch i parę innych. Wczytałem do JOSMa trasę swojej ostatniej wycieczki (do Wilczego Gardła)… i nie mogłem się powstrzymać przed dodaniem paru dróg do mapy. Od paru dni ciągle coś tam dodaję: trochę na podstawie przejechanych tras, trochę z pamięci (nie trzeba więcej, żeby wrysować coś pomiędzy istniejące drogi), trochę ze zdjęć satelitarnych (w JOSM dla mojej okolicy dostępne są zdjęcia Landsat, wystarczają do określenia obrębu lasu, czy jeziora). Parę uliczek przerysowałem też ze skanu starej (rok 1942) niemieckiej mapy, znalezionego kiedyś w sieci. Ze względów licencyjnych nie wolno przerysowywać ze współczesnych map, objętych prawem autorskim, ale tak jest nawet ciekawiej. ;-)

Na mapę Gliwic dodałem rzekę Kłodnicę, z zestawem mostów, dwie polne drogi, parę kilometrów ścieżki rowerowej i trochę drobiazgów. Już widzę (na wyrenderowanie gotowej mapy trzeba trochę poczekać), że parę rzeczy wyszło nie najlepiej, ale myślę że chociaż trochę projekt na moje pracy zyskał.

Fascynujące jest to, że na tej mapie można umieścić praktycznie wszystko i może ona służyć nie tylko jako mapa drogowa (zdaje się, że taki był pierwotny cel projektu), ale i turystyczna, czy rowerowa (w ten sposób powstaje OpenCycleMap. Zależnie od wybranego zbliżenie może przedstawiać sieć głównych dróg krajowych i wojewódzkich, albo układ alejek w parku.

Jak mi się zabawa za szybko nie znudzi, to powinno mi się udać opisać jeszcze parę z Gliwickich tras rowerowych (najlepiej byłoby zrobić komplet). Przynajmniej mam temat i motywację na najbliższe przejażdżki. :)

3 komentarze do wpisu „Zabawa w kartografa-amatora”


Co ja knułem przez ostatnie dwa tygodnie

Od dwóch tygodni byłem wyraźnie czymś zajęty. Tak, że aż żona zaczęła się niepokoić… A o co chodziło okaże się już za chwilę.

Wszystko zaczęło się od szwankującego odtwarzacza DVD. Dokładnie tego, o którym już tutaj pisałem. Tak jak się można było spodziewać, to było„ wszystkomające”, ale jednak tanie badziewie. Właściwie od początku coś szwankowało (np. OGGów w końcu nigdy na tym nie słuchałem, bo się nie dało), a od jakiegoś czasu kłopotliwe było normalne używanie, czyli puszczanie dziecku bajki: urządzenie długo się włączało, potem nie chciało wysunąć tacki (trzeba ręcznie wyciągnąć). Po filmie podobne problemy z wyciągnięciem płytki. I tak dużo z tym badziewiem wytrzymaliśmy (właśnie stuknęły by tej Mancie cztery lata), więc uznałem, że można by kupić coś nowego, markowego…

Jak już kupować, to czemu tylko odtwarzacz? Lepiej od razu nagrywarkę. Jak nagrywarkę, to tylko z twardym dyskiem. No i nie byle co, tylko, żeby wszystko działało jak należy. Przejrzałem w sieci co jest dostępne, poczytałem opinie i nieźle się napaliłem na nową zabawkę… Niestety, taka zabawka, jaka mi się podobała, to kosztowałaby około tysiąca złotych. Uznaliśmy z żonką, że to jednak byłoby zbytnie szaleństwo. A ja dalej byłem napalony na nagrywarkę… i zacząłem knuć…

Tydzień temu kupiliśmy dużo tańszy odtwarzacz DVD. Ma nawet wejście USB i potrafi odtwarzać muzykę i filmy z pamięci masowych USB (to taki bonus, bo chcieliśmy tylko odtwarzacza DVD i VCD). Ale ja już od tygodnia kombinowałem coś innego…

Gdy przekonałem się, że o nagrywarce z prawdziwego zdarzenia nie ma co marzyć, z ciekawości zacząłem się rozglądać za innymi opcjami. Rozejrzałem się na Allegro za tunerami do komputera. Poczytałem na ten temat. Zastanowiłem się, czy mógłbym coś z tym zrobić… i wyszło mi, że może dałoby się coś wykombinować.

Akurat na Allegro dość tanio dostępny był tuner na USB ze sprzętową kompresją MPEG-2: Hauppauge WinTV-PVR-USB2, najwyraźniej dość dobrze obsługiwany przez Linuksa i MythTV. Do tego miałem nadzieję wskrzesić laptopa, który umarł podczas mojego pobytu w Reptach. Nawet udało się osiągnąć pewne efekty: przestał się przegrzewać, pracuje już z pełną prędkością i wentylatory nie wyją mu cały czas. Zamówiłem więc tuner i zacząłem się szkolić i szykować inne elementy systemu.

Niestety, laptop działać działał, ale odmówił wyświetlania grafiki. Na wbudowanej matrycy często obrazu brakowało już przy starcie, a na zewnętrznym monitorze, niestety było niewiele lepiej: karta graficzna odmawiała współpracy już przy próbie zmiany trybu na graficzny. Co gorsza, to prawdopodobnie uszkodzenie płyty głównej (nie działa też jeden slot pamięci). Laptop się więc na nagrywarkę nie nada. Szkoda.

Na szczęście miałem w biurze jeszcze jedną maszynkę. Mały komputerek z procesorem VIA Eden 1GHz. Dostałem go, żeby przystosować do tej platformy sprzętowej nasze oprogramowanie, a od wielu miesięcy tylko się nudził Mogę go więc z czystym sumieniem pożyczyć na domowe multimedia. Pudełko ma wyjście TV i audio, wiec jest w sam raz.

Zamontowałem tam dysk z laptopa, zainstalowałem system i MythTV, wstępnie skonfigurowałem. Denerwowały mnie wentylatorki. Według tego co znalazłem w sieci, ten procesor i chipset powinny sobie radzić i z pasywnym chłodzeniem, ale niestety w tej „hermetycznej” obudowie i z tymi marnymi radiatorkami to się trochę grzeje i nie odważyłem się wiatraczków całkiem wyłączyć. Za to skonfigurowałem fancontrole z pakietu lm_sensors, żeby je wyłączał lub spowalniał, gdy pełna prędkość nie jest potrzebna. Przydała się też lutownica, bo płyta główna nie chciała sterować wiatraczkiem z obudowy, podłączyłem go więc do zasilania chłodzenia procesora. Teraz oba są sterowane razem. A kiedyś może zamontuje tam po prostu większe radiatory i zostawię tylko jeden wentylator na wszelki wypadek (normalnie wyłączony, mam nadzieję).

W końcu przyszedł tuner. Mogłem dokończyć konfigurację MythTV, niestety bez sygnału antenowego nie bardzo mogłem przetestować, a robiłem to wszystko przecież w biurze, w wolnych chwilach w pracy, bo nie chciałem wielkiego eksperymentu w domu zrobić. Do domu miałem zamiar przynieść gotowe rozwiązanie.

Gotowy zestaw przyniosłem do domu w czwartek i podłączyłem, gdy Ika była w szkole muzycznej. Niestety, nie działało jak należy. Obraz strasznie rwał, dźwięk przerywał i raczej oglądać TV się przez to nie dało, ale włączyłem nagrywanie House'a. Okazało się, że nagrało się prawidłowo, tylko z wyświetlaniem były problemy.

Dzisiaj parę godzin z tym walczyłem… i udało się. Najwyraźniej wbudowany programowy dekoder MPEG się nie wyrabiał (dziwne, bo mplayer nie ma żadnych problemów, nawet z „-vo x11” radził sobie nieco lepiej niż MythTV). Na szczęście ta płyta główna ma wbudowany dekoder MPEG2, który nawet zadziałał. Ze sprzętowym dekodowaniem działa. Są jeszcze pewne problemy z jakością obrazu, ale to głównie z powodu zamieszania z kabelkami, które tu teraz mamy, to powinno się dać jakoś poprawić.

No więc miałem przez dwa tygodnie rozrywkę i chyba nawet udało mi się nagrywarkę TV zbudować. Czy jest nam potrzebna? Czy będziemy jej używać? Prawdę mówiąc nie wiem, ale chyba po prostu czasem muszę coś „zmajsterkować” :-)

26 komentarzy do wpisu „Co ja knułem przez ostatnie dwa tygodnie”


CJC i PyXMPP 1.0.1

Ostatnie wydanie CJC i PyXMPP było ponad trzy lata temu – w grudniu 2005 roku. Po tamtym wydaniu zacząłem poważne zmiany w API… i nigdy ich nie skończyłem, a niedokończonego dzieła wydawać nie chciałem. Potem przyszły kłopoty ze zdrowiem, pośrednio wynikłe też z mojego zaangażowania w Open Source (czyt. siedzenia całymi dniami przed kompem, świata nie widząc) i postanowiłem unikać angażowania się w kodowanie. Tak więc, planowane zmiany nigdy nie miały być dokończone.

W międzyczasie jednak w starym kodzie znajdowane były błędy, od czasu do czasu jakiś błąd poprawiłem, czasem ktoś podesłał patcha, to wrzucałem do SVN. Pojawiały się nowe wersje Pythona, czy M2Crypto, to kod dostosowywałem odpowiednio (CJC używam na co dzień, moja żona też, więc to musi działać). Właściwie, jak ktoś jeszcze używał PyXMPP albo CJC, to któryś z ostatnich snapshotów.

Ostatnio zastanawiałem się też, czy nie spróbować do CJC wreszcie dodać obsługi UTF-8. Wcześniej tego odmawiałem, bo Pythonowy moduł curses w ogóle nie ma obsługi Unicode, tylko start 8-bitowe API. I nic nie wskazuje na to, że to ktoś poprawi, ale uż jakiś czas temu jeden z użytkowników udowadniał mi, że to się jednak da zrobić, jeśli tylko moduł curses jest zlinkowany z biblioteką „libncursesw”. W PLD długo tak nie było, ale w Th już jest. To czemu by nie spróbować?

Wczoraj więc spróbowałem. Wyświetlanie UTF-8 działało bez żadnych zmian w kodzie, ale żeby wczytywać znaki Unicode z klawiatury musiałem dodać brzydkiego hacka. I w ogóle trochę obsługi klawiatury przerobić. Udało się. A skoro wreszcie się pojawiła funkcjonalność tak wyczekiwana przez użytkowników, to czemu by nie wydać nowej wersji? Resztę dnia spędziłem przygotowując paczki z PyXMPP 1.0.1 (w tym jeszcze przed wydaniem poprawiłem jednego paskudnego babola) i CJC 1.0.1. Dzisiaj wysłałem informacje o wydaniach na listy mailowe dotyczące tych produktów. No to chyba udało mi się coś wydać. :-)

Po następne wersje zapraszam za trzy lata. ;-)

Dodaj komentarz do wpisu „CJC i PyXMPP 1.0.1”