Zaniedbałem tego bloga

Ostatnio jakoś tak pusto na Eltenowych blogach, na co mam szczerą ochotę marudzić. Przeszkodą w tym narzekaniu jest niestety fakt, że i ja do owych pustek się przyczyniam, czas więc na jakąś aktualizację, bo widzę, że blog był martwy niemal dwa miesiące.
Ze światem jest tak, że bardzo lubi czasem pokazać człowiekowi, że możesz sobie wszystko rozplanować, wykombinować i rozpisać, a i tak najlepiej te wszystkie plany o kant stołu potłuc. Jakoś ostatnio mnie to kilka razy spotkało, zarówno w pozytywnym jak i tym nieco mniej miłym sensie. By daleko nie szukać, od, koronawirus: jestem pewien, że każdemu czytelnikowi choć trochę zweryfikował pomysły na żywot. Nieco mniej drastycznym przykładem był wybór przeze mnie pociągu, co do którego byłem niemal do ostatniego dnia przekonany, że nim pojadę. Pociąg niestety miał inne plany i nagle się okazało, że… nie istnieje, połączenie wykreślili z rozkładu jakieś pół roku temu.
O, właśnie włączyła się piosenka "Najpiękniejsze są polskie dziewczyny" "Czerwonych gitar"… Bo trzeba wam wiedzieć, że wspominany kiedyś na łamach tego bloga router z funkcją głośnika się bardzo rozwinął do funkcji dysku sieciowego, centrum danych, odtwarzacza muzyki z dysku i Spotify, odbiornika radia FM oraz systemu do rozmawiania przez Teamtalka. Pewnie byłoby tego znacznie więcej, gdyby nie rzadka ostatnio moja obecność na Powiślu, z którego z resztą właśnie w tej chwili ślę pozdrowienia.
Wróćmy jednak do bloga. Pamiętam, że kiedyś nader często zdarzało mi się pisać tutaj na iPhonie. Miałem klawiaturę bluetooth, kładłem się do łóżka i stukałem wpisy, a to mimo znacznie mniej przyjaznego starego interfejsu webowego. Teraz mamy WordPressa, mnogość aplikacji i edytorów, a ja bloga strasznie zaniedbuję… Widzę chociażby ogromne, bo odmarcowe, braki w liście lektur, żadnych nowych tekstów… No, po prostu trzeba coś z tym wreszcie zrobić. Tylko i zapał do blogowania jakiś taki mniejszy, i czas jakoś tak między palcami przemyka, i wena odmawia posłuszeństwa.
Skoro o czasie mowa, to ostatnimi dniami, albo tygodniami, dobra, miesiącami pod wpływem różnych rozważań, pomysłów, ale przede wszystkim niezależnych dość licznych zleceń, coraz częściej myślę o przyszłości i nawet wam się przyznam, by nie umknęło, że zaczyna mi się dość klarownie kształtować wizja tego, jak chciałbym zarabiać na ten przysłowiowy chleb, a mam tu na myśli konkretniejsze plany, niż "bycie programistą". To znaczy oczywiście nie rezygnuję z programowania, ale powiedzieć ":być programistą" to jak powiedzieć "być mechanikiem", no niby fajnie, ale nie wiadomo, czy człowiek naprawia samochody, myśliwce F16 czy stawia maszty 5G.
O, "Nad morzem", ejj, co on tak na te "Czerwone gitary" się uparł? Dobra, już wracam do pisania.
Pisanie… Właśnie, ostatnio przyłapuję się na kolejnej niespodziance, mianowicie bardzo kupił mnie język C#. Jeszcze trzy lata temu mówiłem, że dla mnie to taka dziwna podróbka OC i C++, a znów los pokazał, że lubi płatać figle. Coraz rzadziej mam okazję pracować w Rubym, choć nadal rozwijam w nim Eltena i backendy innych projektów. Ale siłą rzeczy, dostępnych bibliotek i narzędzi powiedziałbym, że teraz pracuję 30 procent w C#, po 10 procent w Pythonie, PHP i Javascript oraz 40 procent w Rubym. No dobra, zaokrągliłem, bo C też gdzieś tam się przewija, i Golang, ale to zwykle są drobiazgi. Ostatnio pojawiło się kilka rozwiązań, które w ogromny sposób wpływają na programowanie. I wcale nie są to przede wszystkim okrzyczane aplikacje webowe (Chromium czy Angular), ale rozwijająca się niespodziewanie prężnie od kilku lat platforma dotnet i rozwiązania z szyldu Golanga, choć akurat ten język jakoś do gustu mi nie przypadł.
Od pisania technicznego przejdźmy do czytania humanistycznego. Ej, ja znowu nie mam co czytać! Polećcie coś, najlepiej odrobinę poważniejszego, bo nieudanych i głupawych tekstów mam zbyt wiele okazję widzieć w sieci ostatnimi dniami. Próbowałem znaleźć jakąś książkę o początkach osadnictwa w Australii, najlepiej coś z początku XIX wieku opowiadającego o takiej zwykłej rodzinie, może przybliżającego początki różnych instytucji, za kilkadziesiąt lat budowę kolei… Ale misję uznaję za kompletną porażkę. Szukałem też czegoś o rozwoju techniki w II RP, może opisującego początki elektryfikacji, kolei, dostępu do telefonu… Porażka numer dwa. Szukałem też czegoś z kraju pana Tolkiena, by poczytać po angielsku, ale nie amerykańsku, tu jednak failure trzecie, bo wszystko, co zaczynałem czytać, jakoś mnie nudziło. Może to taki czas, że moja krytyczność literacka wzrosła pod horyzont…
W ogóle to przez pandemię, izolację i to wszystko mam ogromne braki w spotkaniach z ludźmi. Ani nie widziałem się ze znajomymi z GSS, ani z Bukowej, choć obiecywałem sobie, że pospotykam się we wakacje. Mam nadzieję, że i to jakoś wkrótce uda się ponadrabiać, bo lista rzeczy "planowanych na wczoraj" staje się zastraszająco długa. Teatr Muzyczny w Gdyni miał w kwietniu wystawiać premierowo "Stowarzyszenie Umarłych Poetów", kolejny spektakl, który obiecywałem sobie obejrzeć, a teraz nawet nie wiem, czy go wystawili, czy przesunęli premierę na później.
Właśnie usłyszałem, która godzina, czas chyba więc się z wami żegnać i życzyć dobrej nocy. A na zakończenie zgadnijcie tylko, co właśnie w tle gra. Zgadliście, brawo! Coś się uparł na nich…
Jesienne chmury znów pędzi wiatr
w dalekie strony, w daleki świat…
Zielone drzewa, które chroniły nas
w żółte kolory zamienił czas.
Dalekie ścieżki, po których ja
błądziłem kiedyś w pogoni dnia
i kwiaty, które witały nas
w żółte kolory zamienił czas.
Szeroką plażę i morza brzeg
zakryje wkrótce głęboki śnieg.
Dziś tylko liście zdobią pusty las,
na żółto drzewa maluje czas.
Ta piosenka chyba lepiej opisuje moje odczucia, niż dwadzieścia wpisów na blogu. Czasem mam wrażenie, że Elten i życie odebrały mi młodość, choć oczywiście to nie jest prawda. Tak tylko ostatnio jakoś jesiennie.
Życzę wam dobrej nocy,
Dawid Pieper

Przesyt pewnym czarodziejem

Nie będę się nad tematem rozwlekał, będzie krótko i treściwie. 😉
Wczoraj znowu na którymś kanale RSS pojawiły się doniesienia, że pani Rowling jest kolejny rok najlepiej zarabiającą pisarką na świecie, to zaś z kolei skłoniło mnie, by wyrazić pewne odczucie, które we mnie jakoś ostatnio tylko narasta. Chodzi o pewien przesyt, absolutny przesyt Harrym Potterem.
Zawsze lubiłem te książki, w dzieciństwie, jak pewnie większość czytelników, zachwycałem się przygodami młodego czarodzieja. Już jako dziecko jednak nigdy nie wskazałbym Pottera jako najlepszej książki na świecie. Jest jednak w nim coś, co dało mu popularność, o jakiej inni pisarze, od Maya przez le Guin po Szklarskiego, mogliby tylko pomarzyć. Nie, nie wiem co to. Może wyrwanie się z zasad, które przecież dzieci na swój sposób pociąga? Że można dać szlachetnego na pozór bohatera, skrzywdzonego przez wujostwo, biednego, a jednak mężnego i odważnego, który w złości może zapewnić świnki ogon kuzynowi (wiem, to był Hagrid) albo wysłać ciotkę pod sufit? Tak, to była ironia.
Nie chcę przekonywać, że książki pani Rowling są pełne zła i ukrytych zagrożeń, głównie dlatego, że ludzie tak twierdzący wkurzają mnie jeszcze bardziej od wspominanych powieści. Nie ma lektur złych, możemy tylko z nich złe wartości wyciągnąć, a historie z Hogwartu uczą nas też wiele dobrego, mamy postać Lupina, dylematy Snapea, piękną przyjaźń (choć akurat wcale nie mówię tu o pierwszoplanowej trójce, a Lunie).
Tylko czasem ludzie zachowują się, jakby innych powieści nie było. Widać to nawet na Eltenie, a co dopiero w sieci? Do czego powstaje 99,99999 procent fanfików? O jakich książkach ludzie potrafią pisać całymi godzinami, zastanawiać się nad różnymi ewentualnościami?
Przyznam, że odczuwam przesyt, absolutny przesyt Potterem, dyskusjami o Potterze, a nawet przeróbkami z Pottera. I coś czuję, że szybko mi ta przypadłość nie minie.

Dysk, drugi upgrade XPS-a

Druga z trzech zaplanowanych przeze mnie aktualizacji Della XPS 15 9550 to, jak zapowiadałem przy okazji wymiany kości RAM, nowy dysk.
Dość długo zastanawiałem się nad modelem, ostatecznie zdecydowałem się na dysk Adata XPG SX8200 Pro. Ryzyko o tyle, że jest to moja pierwsza styczność z dyskami SSD Adaty.
Prawdopodobnie mój wybór padłby na Samsunga 970 Evo Pro, ale testy donoszą, że model ten ma ogromny problem z przegrzewaniem się, zwłaszcza w laptopach, a doniesień tych jest tak wiele, że coś musi być niestety na rzeczy.

Parametry dysku (wg specyfikacji)

Pojemność: 1TB (właściwie 953GB)
Interfejs: PCI-E x4 Gen3 NVMe,
Szybkość odczytu: 3500MB/s,
Szybkość zapisu: 3000MB/s,
Odczyt Losowy: 390000 IOPS,
Zapis Losowy: 380000 IOPS,
TBW: 640TB.

Zaletą tu niewątpliwie są duże szybkości odczytu i zapisu, o praktycznym aspekcie za moment. Także nie można nie wspomnieć o bardzo niskiej cenie, 700zł za tej klasy SSD to naprawdę nie jest dużo.
Zawodem pewnym są wartości operacji losowych, 400 tysięcy IOPS w porównaniu z 500-550 osiągalnymi przez Samsunga to parametry tylko nieco powyżej przeciętnej.
Także TBW 640TB przy pojemności 1TB jest daną, która na kolana nie powala. Z drugiej strony mówimy o naprawdę tanim dysku, a parametry i tak klasują go w randze, że tak to ujmę, topowej, na stan roku 2019 w teście Benchmarkowym był to piąty dysk pod względem osiągów, a porównywalny z modelami kosztującymi nawet dwa razy tyle.

Jak to wygląda

Dyski NVMe, jeśli ktoś nie wie, są małe… Jak, nie wiem, pendrive, z tych mniejszych. Ważą tyle co piórko i przypominają bardziej kartę do jakiegoś chipu niż dysk.
Adata przyszła w wielkim kartonie, w którym był nieco mniejszy karton, w którym było małe pudełeczko, w którym była folia z dwiema częściami wielkości karty bankowej. Jeden element to dysk, drugi to radiator.
Od razu chciałbym wyjaśnić małą niepewność. Zwykło się mówić na wiatraczek procesora radiator, błędnie. Wiatraczek to wiatraczek, a radiator to radiator. Radiator to odpowiednio wyprofilowany przedmiot, który usprawnia krążenie powietrza, chłodząc to, do czego go przykleimy lub na czym nałożymy. Nie jest jednak w żadnym sensie elektryczny, nie ma wiatraczka, chłodzi wyłącznie kształtem zapewniającym przepływ powietrza.
Dokumentacja podaje, że radiator dla tego dysku jest elementem opcjonalnym i, jeśli nie zmieści się w gnieździe M.2, należy pozostawić dysk bez niego. U mnie w laptopie się jednak zmieścił.

Odczucia

Generalnie wydaje się, że dysk Adaty lepiej od fabrycznej Toshiby dogaduje się z procesorem. To oczywiście uproszczenie, ale znacznie mniej wysiłku kosztuje komputer zapis losowy, marudziłem przed momentem, że 400 tysięcy IOPS to nie jest dużo, ale poprzedni dysk miał IOPS tysięcy 250, więc jest to poprawa o ponad 50 procent.
Nie policzyłem niestety czasu wymaganego na instalację Windowsa 10 na poprzednim dysku, na tym jednak instalacja od momentu pierwszego restartu do ukazania się okna konfiguracji trwała 7 minut i 47 sekund, wliczając ponowne rozruchy, wkrótce zaktualizuję wpis o dane dotyczące Debiana, bo jeszcze go nie postawiłem.

Kilka danych

Najpierw będzie technicznie, a potem praktycznie.
Testy wykonane dla 16GB w 5 rundach programem Crystal Disk Mark wskazują:
Odczyt sekwencyjny: 3377.18MB/s
Zapis sekwencyjny: 2825.27MB/s
Odczyt losowy (blok 1MB): 1355.54MB/s
Zapis losowy (blok 1MB): 1273.36MB/s
Odczyt losowy (blok 4kB): 52.48MB/s
Zapis losowy (blok 4kB): 131.61MB/s
Wyniki są śliczne, zwłaszcza parametry odczytu. Co zaskakujące, dla bloków po 4kB odczyt okazał się mniejszy od zapisu, być może wynika to z czasu lokalizacji komórki.

Testy praktyczne

W testach tych kopiowałem między partycjami NTFS plik lub pliki zapełnione zupełnie losowymi bajtami. Poniżej wyniki.

Jeden plik, 25GB:
Prędkość średnia: 1017MB/s,
Czas kopiowania: 25,17s.

25 plików, 1GB każdy:
Prędkość średnia: 1039MB/s,
Czas kopiowania: 24,64s.

25000 plików, 1MB każdy
Uwaga! Rozmiar nieco mniejszy od powyższych, 25000MB to nie 25GB. 🙂
Prędkość średnia: 211MB/s,
Czas kopiowania: 118,48s.

Warto dodać, że w czasie wszystkich przeprowadzanych testów maksymalna temperatura wyniosła 49 stopni Celsjusza, a temperatura średnia to 43 stopnie Celsjusza, dane z programu Crystal Disk Info.

Podsumowanie

Adata XPG SX8200 Pro to z pewnością jeden z najlepszych dysków SSD na rynku, a przy tym o cenie, nie umiem inaczej tego nazwać, w segmencie śmiesznie niskiej. Konkurencyjny Samsung 970 Evo o tej samej pojemności kosztuje 300zł więcej, zaś warto tu wspomnieć, że w benchmarkach modele te idą łeb w łeb.
Nie będę tu listował zalet i wad, bo dysk mam zbyt krótko, by je podać. Na pewno jednak z zakupu na razie jestem bardzo zadowolony.
Warto jednak tu wspomnieć o bardzo ważnym, a przemilczanym w reklamach i opisach produktu kompromisie – kompromisie, który z resztą dotyczy i Samsungów, i Toshib, i Adat, i Corsairów. Obecnie nie posiadamy technologii umieszczania w sensownej cenie produkcyjnej 1-bitowych komórek w dyskach o pojemnościach liczonych w terabajtach. Używamy zatem 3 bitów na komórkę, technologia TLC. Żeby zaś usprawnić odczyt, zapełniamy te komórki tylko jednym bitem, by zachowywały się, jak dyski SLC. Dzięki temu możemy mówić o tak wielkich odczytach i zapisach, jak tutaj.
I wszystko działa ładnie, jak długo mamy do dyspozycji wolne komórki. Z czasem jednak danych zapisujemy więcej i więcej, a wolnych komórek zaczyna ubywać. Wciąż możemy przeprowadzać optymalizację dysku, jeśli jednak o tym zapomnimy, jakoś na poziomie jednej trzeciej zapelnienia, dysk zauważalnie zwolni.
Regularnie optymalizując go możemy ten proces odsunąć w czasie, ale mniej-więcej przy zapełnieniu 75-80 procent, już żadne optymalizacje cudów nie zdziałają i po prostu dysk będzie 3-4 razy wolniejszy. Dlatego ja sam unikam zapełniania dysku w tym zakresie, ostatnie 20-30 procent miejsca zachowując na dane bardzo tymczasowe.

Bo z programowaniem to jest tak

Siedzicie kilka godzin, dokładniej 2 godziny i 40 minut, nad jakimś kodem.
Wreszcie… Gotowe! Zostaje tylko to skompilować i poczytać jakąś książkę.
A potem…

Kompilacja rozpoczęła się 25.06.2020 22:07:58.
Szczegółowość rejestrowania została ustawiona na: Normal.Projekt „c:\Users\dawid\Documents\rpgxp\ELTEN\C++\elten.dll\eltenvc\eltenvc\eltenvc.sln” w węźle 1 (domyślne elementy docelowe).
ValidateSolutionConfiguration:
Tworzenie konfiguracji rozwiązania „Release|Win32”.
Projekt „c:\Users\dawid\Documents\rpgxp\ELTEN\C++\elten.dll\eltenvc\eltenvc\eltenvc.sln” (1) kompiluje „c:\Users\dawid\Documents\rpgxp\ELTEN\C++\elten.dll\eltenvc\eltenvc\eltenvc\eltenvc.vcxproj” (2) w węźle 1 (domyślne elementy docelowe).
InitializeBuildStatus:
Modyfikowanie „Release\eltenvc.tlog\unsuccessfulbuild”.
ClCompile:
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.26.28801\bin\HostX86\x86\CL.exe /c /I"C:\Program Files (x86)\OpenSSL-Win32\include" /I..\..\.. /Zi /nologo /W3 /WX- /diagnostics:column /O2 /Oi /Oy- /GL /D WIN32 /D NDEBUG /D _WINDOWS /D _USRDLL /D ELTENVC_EXPORTS /D _WINDLL /D _UNICODE /D UNICODE /Gm- /EHsc /MT /GS /Gy /fp:precise /Zc:wchar_t /Zc:forScope /Zc:inline /Fo"Release\\" /Fd"Release\vc142.pdb" /Gd /TP /analyze- /FC /errorReport:queue ..\..\..\dllmain.cpp
dllmain.cpp
c:\Users\dawid\Documents\rpgxp\ELTEN\C++\elten.dll\dllmain.cpp(478,12): warning C4101: "op": lokalna zmienna, do której nie istnieje odwołanie [c:\Users\dawid\Documents\rpgxp\ELTEN\C++\elten.dll\eltenvc\eltenvc\eltenvc\eltenvc.vcxproj]
c:\Users\dawid\Documents\rpgxp\ELTEN\C++\elten.dll\dllmain.cpp(479,5): warning C4101: "ret": lokalna zmienna, do której nie istnieje odwołanie [c:\Users\dawid\Documents\rpgxp\ELTEN\C++\elten.dll\eltenvc\eltenvc\eltenvc\eltenvc.vcxproj]
c:\Users\dawid\Documents\rpgxp\ELTEN\C++\elten.dll\dllmain.cpp(498,7): error C4430: brak specyfikatora typu – założono, że int. Uwaga: C++ nie obsługuje domyślnie typu int [c:\Users\dawid\Documents\rpgxp\ELTEN\C++\elten.dll\eltenvc\eltenvc\eltenvc\eltenvc.vcxproj]
c:\Users\dawid\Documents\rpgxp\ELTEN\C++\elten.dll\dllmain.cpp(498,19): error C2065: "opus": niezadeklarowany identyfikator [c:\Users\dawid\Documents\rpgxp\ELTEN\C++\elten.dll\eltenvc\eltenvc\eltenvc\eltenvc.vcxproj]
c:\Users\dawid\Documents\rpgxp\ELTEN\C++\elten.dll\dllmain.cpp(498,34): error C2065: "pcm_buf": niezadeklarowany identyfikator [c:\Users\dawid\Documents\rpgxp\ELTEN\C++\elten.dll\eltenvc\eltenvc\eltenvc\eltenvc.vcxproj]
c:\Users\dawid\Documents\rpgxp\ELTEN\C++\elten.dll\dllmain.cpp(498,48): error C2065: "opus": niezadeklarowany identyfikator [c:\Users\dawid\Documents\rpgxp\ELTEN\C++\elten.dll\eltenvc\eltenvc\eltenvc\eltenvc.vcxproj]
c:\Users\dawid\Documents\rpgxp\ELTEN\C++\elten.dll\dllmain.cpp(498,70): error C2660: "opus_encode": funkcja nie przyjmuje 4 argumentów [c:\Users\dawid\Documents\rpgxp\ELTEN\C++\elten.dll\eltenvc\eltenvc\eltenvc\eltenvc.vcxproj]
c:\Users\dawid\Documents\rpgxp\ELTEN\C++\elten.dll\opus\opus.h(263,48): message : zobacz deklarację "opus_encode" [c:\Users\dawid\Documents\rpgxp\ELTEN\C++\elten.dll\eltenvc\eltenvc\eltenvc\eltenvc.vcxproj]
c:\Users\dawid\Documents\rpgxp\ELTEN\C++\elten.dll\dllmain.cpp(500,3): error C3927: "->": nie można używać końcowego typu zwracanego po deklaratorze niebędącym funkcją [c:\Users\dawid\Documents\rpgxp\ELTEN\C++\elten.dll\eltenvc\eltenvc\eltenvc\eltenvc.vcxproj]
c:\Users\dawid\Documents\rpgxp\ELTEN\C++\elten.dll\dllmain.cpp(500,3): error C3484: błąd składni: oczekiwano "->" przed zwracanym typem [c:\Users\dawid\Documents\rpgxp\ELTEN\C++\elten.dll\eltenvc\eltenvc\eltenvc\eltenvc.vcxproj]
c:\Users\dawid\Documents\rpgxp\ELTEN\C++\elten.dll\dllmain.cpp(500,10): error C3613: brak typu zwracanego po "->" (przyjęto typ "int") [c:\Users\dawid\Documents\rpgxp\ELTEN\C++\elten.dll\eltenvc\eltenvc\eltenvc\eltenvc.vcxproj]
c:\Users\dawid\Documents\rpgxp\ELTEN\C++\elten.dll\dllmain.cpp(500,10): error C4430: brak specyfikatora typu – założono, że int. Uwaga: C++ nie obsługuje domyślnie typu int [c:\Users\dawid\Documents\rpgxp\ELTEN\C++\elten.dll\eltenvc\eltenvc\eltenvc\eltenvc.vcxproj]
c:\Users\dawid\Documents\rpgxp\ELTEN\C++\elten.dll\dllmain.cpp(500,4): error C2146: błąd składniowy: brakuje ";" przed identyfikatorem "b_o_s" [c:\Users\dawid\Documents\rpgxp\ELTEN\C++\elten.dll\eltenvc\eltenvc\eltenvc\eltenvc.vcxproj]
c:\Users\dawid\Documents\rpgxp\ELTEN\C++\elten.dll\dllmain.cpp(501,3): error C3927: "->": nie można używać końcowego typu zwracanego po deklaratorze niebędącym funkcją [c:\Users\dawid\Documents\rpgxp\ELTEN\C++\elten.dll\eltenvc\eltenvc\eltenvc\eltenvc.vcxproj]
c:\Users\dawid\Documents\rpgxp\ELTEN\C++\elten.dll\dllmain.cpp(501,3): error C3484: błąd składni: oczekiwano "->" przed zwracanym typem [c:\Users\dawid\Documents\rpgxp\ELTEN\C++\elten.dll\eltenvc\eltenvc\eltenvc\eltenvc.vcxproj]
c:\Users\dawid\Documents\rpgxp\ELTEN\C++\elten.dll\dllmain.cpp(501,10): error C3613: brak typu zwracanego po "->" (przyjęto typ "int") [c:\Users\dawid\Documents\rpgxp\ELTEN\C++\elten.dll\eltenvc\eltenvc\eltenvc\eltenvc.vcxproj]
c:\Users\dawid\Documents\rpgxp\ELTEN\C++\elten.dll\dllmain.cpp(501,10): error C4430: brak specyfikatora typu – założono, że int. Uwaga: C++ nie obsługuje domyślnie typu int [c:\Users\dawid\Documents\rpgxp\ELTEN\C++\elten.dll\eltenvc\eltenvc\eltenvc\eltenvc.vcxproj]
c:\Users\dawid\Documents\rpgxp\ELTEN\C++\elten.dll\dllmain.cpp(501,1): error C2086: "int op": zmiana definicji [c:\Users\dawid\Documents\rpgxp\ELTEN\C++\elten.dll\eltenvc\eltenvc\eltenvc\eltenvc.vcxproj]
c:\Users\dawid\Documents\rpgxp\ELTEN\C++\elten.dll\dllmain.cpp(500): message : zobacz deklarację "op" [c:\Users\dawid\Documents\rpgxp\ELTEN\C++\elten.dll\eltenvc\eltenvc\eltenvc\eltenvc.vcxproj]
c:\Users\dawid\Documents\rpgxp\ELTEN\C++\elten.dll\dllmain.cpp(501,4): error C2146: błąd składniowy: brakuje ";" przed identyfikatorem "e_o_s" [c:\Users\dawid\Documents\rpgxp\ELTEN\C++\elten.dll\eltenvc\eltenvc\eltenvc\eltenvc.vcxproj]
c:\Users\dawid\Documents\rpgxp\ELTEN\C++\elten.dll\dllmain.cpp(502,3): error C3927: "->": nie można używać końcowego typu zwracanego po deklaratorze niebędącym funkcją [c:\Users\dawid\Documents\rpgxp\ELTEN\C++\elten.dll\eltenvc\eltenvc\eltenvc\eltenvc.vcxproj]
c:\Users\dawid\Documents\rpgxp\ELTEN\C++\elten.dll\dllmain.cpp(502,3): error C3484: błąd składni: oczekiwano "->" przed zwracanym typem [c:\Users\dawid\Documents\rpgxp\ELTEN\C++\elten.dll\eltenvc\eltenvc\eltenvc\eltenvc.vcxproj]
c:\Users\dawid\Documents\rpgxp\ELTEN\C++\elten.dll\dllmain.cpp(502,15): error C3613: brak typu zwracanego po "->" (przyjęto typ "int") [c:\Users\dawid\Documents\rpgxp\ELTEN\C++\elten.dll\eltenvc\eltenvc\eltenvc\eltenvc.vcxproj]
c:\Users\dawid\Documents\rpgxp\ELTEN\C++\elten.dll\dllmain.cpp(502,15): error C4430: brak specyfikatora typu – założono, że int. Uwaga: C++ nie obsługuje domyślnie typu int [c:\Users\dawid\Documents\rpgxp\ELTEN\C++\elten.dll\eltenvc\eltenvc\eltenvc\eltenvc.vcxproj]
c:\Users\dawid\Documents\rpgxp\ELTEN\C++\elten.dll\dllmain.cpp(502,1): error C2086: "int op": zmiana definicji [c:\Users\dawid\Documents\rpgxp\ELTEN\C++\elten.dll\eltenvc\eltenvc\eltenvc\eltenvc.vcxproj]
c:\Users\dawid\Documents\rpgxp\ELTEN\C++\elten.dll\dllmain.cpp(500): message : zobacz deklarację "op" [c:\Users\dawid\Documents\rpgxp\ELTEN\C++\elten.dll\eltenvc\eltenvc\eltenvc\eltenvc.vcxproj]
c:\Users\dawid\Documents\rpgxp\ELTEN\C++\elten.dll\dllmain.cpp(502,4): error C2146: błąd składniowy: brakuje ";" przed identyfikatorem "granulepos" [c:\Users\dawid\Documents\rpgxp\ELTEN\C++\elten.dll\eltenvc\eltenvc\eltenvc\eltenvc.vcxproj]
c:\Users\dawid\Documents\rpgxp\ELTEN\C++\elten.dll\dllmain.cpp(503,3): error C3927: "->": nie można używać końcowego typu zwracanego po deklaratorze niebędącym funkcją [c:\Users\dawid\Documents\rpgxp\ELTEN\C++\elten.dll\eltenvc\eltenvc\eltenvc\eltenvc.vcxproj]
c:\Users\dawid\Documents\rpgxp\ELTEN\C++\elten.dll\dllmain.cpp(503,3): error C3484: błąd składni: oczekiwano "->" przed zwracanym typem [c:\Users\dawid\Documents\rpgxp\ELTEN\C++\elten.dll\eltenvc\eltenvc\eltenvc\eltenvc.vcxproj]
c:\Users\dawid\Documents\rpgxp\ELTEN\C++\elten.dll\dllmain.cpp(503,13): error C3613: brak typu zwracanego po "->" (przyjęto typ "int") [c:\Users\dawid\Documents\rpgxp\ELTEN\C++\elten.dll\eltenvc\eltenvc\eltenvc\eltenvc.vcxproj]
c:\Users\dawid\Documents\rpgxp\ELTEN\C++\elten.dll\dllmain.cpp(503,13): error C4430: brak specyfikatora typu – założono, że int. Uwaga: C++ nie obsługuje domyślnie typu int [c:\Users\dawid\Documents\rpgxp\ELTEN\C++\elten.dll\eltenvc\eltenvc\eltenvc\eltenvc.vcxproj]
c:\Users\dawid\Documents\rpgxp\ELTEN\C++\elten.dll\dllmain.cpp(503,1): error C2086: "int op": zmiana definicji [c:\Users\dawid\Documents\rpgxp\ELTEN\C++\elten.dll\eltenvc\eltenvc\eltenvc\eltenvc.vcxproj]
c:\Users\dawid\Documents\rpgxp\ELTEN\C++\elten.dll\dllmain.cpp(500): message : zobacz deklarację "op" [c:\Users\dawid\Documents\rpgxp\ELTEN\C++\elten.dll\eltenvc\eltenvc\eltenvc\eltenvc.vcxproj]
c:\Users\dawid\Documents\rpgxp\ELTEN\C++\elten.dll\dllmain.cpp(503,4): error C2146: błąd składniowy: brakuje ";" przed identyfikatorem "packetno" [c:\Users\dawid\Documents\rpgxp\ELTEN\C++\elten.dll\eltenvc\eltenvc\eltenvc\eltenvc.vcxproj]
c:\Users\dawid\Documents\rpgxp\ELTEN\C++\elten.dll\dllmain.cpp(504,3): error C3927: "->": nie można używać końcowego typu zwracanego po deklaratorze niebędącym funkcją [c:\Users\dawid\Documents\rpgxp\ELTEN\C++\elten.dll\eltenvc\eltenvc\eltenvc\eltenvc.vcxproj]
c:\Users\dawid\Documents\rpgxp\ELTEN\C++\elten.dll\dllmain.cpp(504,3): error C3484: błąd składni: oczekiwano "->" przed zwracanym typem [c:\Users\dawid\Documents\rpgxp\ELTEN\C++\elten.dll\eltenvc\eltenvc\eltenvc\eltenvc.vcxproj]
c:\Users\dawid\Documents\rpgxp\ELTEN\C++\elten.dll\dllmain.cpp(504,11): error C3613: brak typu zwracanego po "->" (przyjęto typ "int") [c:\Users\dawid\Documents\rpgxp\ELTEN\C++\elten.dll\eltenvc\eltenvc\eltenvc\eltenvc.vcxproj]
c:\Users\dawid\Documents\rpgxp\ELTEN\C++\elten.dll\dllmain.cpp(504,11): error C4430: brak specyfikatora typu – założono, że int. Uwaga: C++ nie obsługuje domyślnie typu int [c:\Users\dawid\Documents\rpgxp\ELTEN\C++\elten.dll\eltenvc\eltenvc\eltenvc\eltenvc.vcxproj]
c:\Users\dawid\Documents\rpgxp\ELTEN\C++\elten.dll\dllmain.cpp(504,1): error C2086: "int op": zmiana definicji [c:\Users\dawid\Documents\rpgxp\ELTEN\C++\elten.dll\eltenvc\eltenvc\eltenvc\eltenvc.vcxproj]
c:\Users\dawid\Documents\rpgxp\ELTEN\C++\elten.dll\dllmain.cpp(500): message : zobacz deklarację "op" [c:\Users\dawid\Documents\rpgxp\ELTEN\C++\elten.dll\eltenvc\eltenvc\eltenvc\eltenvc.vcxproj]
c:\Users\dawid\Documents\rpgxp\ELTEN\C++\elten.dll\dllmain.cpp(504,4): error C2146: błąd składniowy: brakuje ";" przed identyfikatorem "packet" [c:\Users\dawid\Documents\rpgxp\ELTEN\C++\elten.dll\eltenvc\eltenvc\eltenvc\eltenvc.vcxproj]
c:\Users\dawid\Documents\rpgxp\ELTEN\C++\elten.dll\dllmain.cpp(505,3): error C3927: "->": nie można używać końcowego typu zwracanego po deklaratorze niebędącym funkcją [c:\Users\dawid\Documents\rpgxp\ELTEN\C++\elten.dll\eltenvc\eltenvc\eltenvc\eltenvc.vcxproj]
c:\Users\dawid\Documents\rpgxp\ELTEN\C++\elten.dll\dllmain.cpp(505,3): error C3484: błąd składni: oczekiwano "->" przed zwracanym typem [c:\Users\dawid\Documents\rpgxp\ELTEN\C++\elten.dll\eltenvc\eltenvc\eltenvc\eltenvc.vcxproj]
c:\Users\dawid\Documents\rpgxp\ELTEN\C++\elten.dll\dllmain.cpp(505,10): error C3613: brak typu zwracanego po "->" (przyjęto typ "int") [c:\Users\dawid\Documents\rpgxp\ELTEN\C++\elten.dll\eltenvc\eltenvc\eltenvc\eltenvc.vcxproj]
c:\Users\dawid\Documents\rpgxp\ELTEN\C++\elten.dll\dllmain.cpp(505,10): error C4430: brak specyfikatora typu – założono, że int. Uwaga: C++ nie obsługuje domyślnie typu int [c:\Users\dawid\Documents\rpgxp\ELTEN\C++\elten.dll\eltenvc\eltenvc\eltenvc\eltenvc.vcxproj]
c:\Users\dawid\Documents\rpgxp\ELTEN\C++\elten.dll\dllmain.cpp(505,1): error C2086: "int op": zmiana definicji [c:\Users\dawid\Documents\rpgxp\ELTEN\C++\elten.dll\eltenvc\eltenvc\eltenvc\eltenvc.vcxproj]
c:\Users\dawid\Documents\rpgxp\ELTEN\C++\elten.dll\dllmain.cpp(500): message : zobacz deklarację "op" [c:\Users\dawid\Documents\rpgxp\ELTEN\C++\elten.dll\eltenvc\eltenvc\eltenvc\eltenvc.vcxproj]
c:\Users\dawid\Documents\rpgxp\ELTEN\C++\elten.dll\dllmain.cpp(505,4): error C2146: błąd składniowy: brakuje ";" przed identyfikatorem "bytes" [c:\Users\dawid\Documents\rpgxp\ELTEN\C++\elten.dll\eltenvc\eltenvc\eltenvc\eltenvc.vcxproj]
c:\Users\dawid\Documents\rpgxp\ELTEN\C++\elten.dll\dllmain.cpp(507,5): error C3927: "->": nie można używać końcowego typu zwracanego po deklaratorze niebędącym funkcją [c:\Users\dawid\Documents\rpgxp\ELTEN\C++\elten.dll\eltenvc\eltenvc\eltenvc\eltenvc.vcxproj]
c:\Users\dawid\Documents\rpgxp\ELTEN\C++\elten.dll\dllmain.cpp(507,18): error C3613: brak typu zwracanego po "->" (przyjęto typ "int") [c:\Users\dawid\Documents\rpgxp\ELTEN\C++\elten.dll\eltenvc\eltenvc\eltenvc\eltenvc.vcxproj]
c:\Users\dawid\Documents\rpgxp\ELTEN\C++\elten.dll\dllmain.cpp(507,18): error C4430: brak specyfikatora typu – założono, że int. Uwaga: C++ nie obsługuje domyślnie typu int [c:\Users\dawid\Documents\rpgxp\ELTEN\C++\elten.dll\eltenvc\eltenvc\eltenvc\eltenvc.vcxproj]
c:\Users\dawid\Documents\rpgxp\ELTEN\C++\elten.dll\dllmain.cpp(507,7): error C2146: błąd składniowy: brakuje ";" przed identyfikatorem "granulepos" [c:\Users\dawid\Documents\rpgxp\ELTEN\C++\elten.dll\eltenvc\eltenvc\eltenvc\eltenvc.vcxproj]
c:\Users\dawid\Documents\rpgxp\ELTEN\C++\elten.dll\dllmain.cpp(509,36): error C4430: brak specyfikatora typu – założono, że int. Uwaga: C++ nie obsługuje domyślnie typu int [c:\Users\dawid\Documents\rpgxp\ELTEN\C++\elten.dll\eltenvc\eltenvc\eltenvc\eltenvc.vcxproj]
c:\Users\dawid\Documents\rpgxp\ELTEN\C++\elten.dll\dllmain.cpp(509,1): error C2365: "ogg_stream_packetin": zmiana definicji; definicja poprzednia była "funkcja" [c:\Users\dawid\Documents\rpgxp\ELTEN\C++\elten.dll\eltenvc\eltenvc\eltenvc\eltenvc.vcxproj]
c:\Users\dawid\Documents\rpgxp\ELTEN\C++\elten.dll\ogg\ogg.h(157): message : zobacz deklarację "ogg_stream_packetin" [c:\Users\dawid\Documents\rpgxp\ELTEN\C++\elten.dll\eltenvc\eltenvc\eltenvc\eltenvc.vcxproj]
c:\Users\dawid\Documents\rpgxp\ELTEN\C++\elten.dll\dllmain.cpp(511,1): error C2059: błąd składniowy: "while" [c:\Users\dawid\Documents\rpgxp\ELTEN\C++\elten.dll\eltenvc\eltenvc\eltenvc\eltenvc.vcxproj]
c:\Users\dawid\Documents\rpgxp\ELTEN\C++\elten.dll\dllmain.cpp(511,53): error C2143: błąd składniowy: brakuje ";" przed "{" [c:\Users\dawid\Documents\rpgxp\ELTEN\C++\elten.dll\eltenvc\eltenvc\eltenvc\eltenvc.vcxproj]
c:\Users\dawid\Documents\rpgxp\ELTEN\C++\elten.dll\dllmain.cpp(511,53): error C2447: "{": brak nagłówka funkcji (stary styl formalnej listy?) [c:\Users\dawid\Documents\rpgxp\ELTEN\C++\elten.dll\eltenvc\eltenvc\eltenvc\eltenvc.vcxproj]
c:\Users\dawid\Documents\rpgxp\ELTEN\C++\elten.dll\dllmain.cpp(518,1): error C2059: błąd składniowy: "return" [c:\Users\dawid\Documents\rpgxp\ELTEN\C++\elten.dll\eltenvc\eltenvc\eltenvc\eltenvc.vcxproj]
c:\Users\dawid\Documents\rpgxp\ELTEN\C++\elten.dll\dllmain.cpp(519,1): error C2059: błąd składniowy: "}" [c:\Users\dawid\Documents\rpgxp\ELTEN\C++\elten.dll\eltenvc\eltenvc\eltenvc\eltenvc.vcxproj]
c:\Users\dawid\Documents\rpgxp\ELTEN\C++\elten.dll\dllmain.cpp(519,1): error C2143: błąd składniowy: brakuje ";" przed "}" [c:\Users\dawid\Documents\rpgxp\ELTEN\C++\elten.dll\eltenvc\eltenvc\eltenvc\eltenvc.vcxproj]
Kompilowanie projektu „c:\Users\dawid\Documents\rpgxp\ELTEN\C++\elten.dll\eltenvc\eltenvc\eltenvc\eltenvc.vcxproj” wykonane (domyślne elementy docelowe) — NIEPOWODZENIE.

Kompilowanie projektu „c:\Users\dawid\Documents\rpgxp\ELTEN\C++\elten.dll\eltenvc\eltenvc\eltenvc.sln” wykonane (domyślne elementy docelowe) — NIEPOWODZENIE.

Kompilacja NIE POWIODŁA SIĘ.

„c:\Users\dawid\Documents\rpgxp\ELTEN\C++\elten.dll\eltenvc\eltenvc\eltenvc.sln” (domyślny element docelowy) (1)->
„c:\Users\dawid\Documents\rpgxp\ELTEN\C++\elten.dll\eltenvc\eltenvc\eltenvc\eltenvc.vcxproj” (domyślny element docelowy) (2)->
(element docelowy ClCompile) ->
c:\Users\dawid\Documents\rpgxp\ELTEN\C++\elten.dll\dllmain.cpp(478,12): warning C4101: "op": lokalna zmienna, do której nie istnieje odwołanie [c:\Users\dawid\Documents\rpgxp\ELTEN\C++\elten.dll\eltenvc\eltenvc\eltenvc\eltenvc.vcxproj]
c:\Users\dawid\Documents\rpgxp\ELTEN\C++\elten.dll\dllmain.cpp(479,5): warning C4101: "ret": lokalna zmienna, do której nie istnieje odwołanie [c:\Users\dawid\Documents\rpgxp\ELTEN\C++\elten.dll\eltenvc\eltenvc\eltenvc\eltenvc.vcxproj]

„c:\Users\dawid\Documents\rpgxp\ELTEN\C++\elten.dll\eltenvc\eltenvc\eltenvc.sln” (domyślny element docelowy) (1)->
„c:\Users\dawid\Documents\rpgxp\ELTEN\C++\elten.dll\eltenvc\eltenvc\eltenvc\eltenvc.vcxproj” (domyślny element docelowy) (2)->
(element docelowy ClCompile) ->
c:\Users\dawid\Documents\rpgxp\ELTEN\C++\elten.dll\dllmain.cpp(498,7): error C4430: brak specyfikatora typu – założono, że int. Uwaga: C++ nie obsługuje domyślnie typu int [c:\Users\dawid\Documents\rpgxp\ELTEN\C++\elten.dll\eltenvc\eltenvc\eltenvc\eltenvc.vcxproj]
c:\Users\dawid\Documents\rpgxp\ELTEN\C++\elten.dll\dllmain.cpp(498,19): error C2065: "opus": niezadeklarowany identyfikator [c:\Users\dawid\Documents\rpgxp\ELTEN\C++\elten.dll\eltenvc\eltenvc\eltenvc\eltenvc.vcxproj]
c:\Users\dawid\Documents\rpgxp\ELTEN\C++\elten.dll\dllmain.cpp(498,34): error C2065: "pcm_buf": niezadeklarowany identyfikator [c:\Users\dawid\Documents\rpgxp\ELTEN\C++\elten.dll\eltenvc\eltenvc\eltenvc\eltenvc.vcxproj]
c:\Users\dawid\Documents\rpgxp\ELTEN\C++\elten.dll\dllmain.cpp(498,48): error C2065: "opus": niezadeklarowany identyfikator [c:\Users\dawid\Documents\rpgxp\ELTEN\C++\elten.dll\eltenvc\eltenvc\eltenvc\eltenvc.vcxproj]
c:\Users\dawid\Documents\rpgxp\ELTEN\C++\elten.dll\dllmain.cpp(498,70): error C2660: "opus_encode": funkcja nie przyjmuje 4 argumentów [c:\Users\dawid\Documents\rpgxp\ELTEN\C++\elten.dll\eltenvc\eltenvc\eltenvc\eltenvc.vcxproj]
c:\Users\dawid\Documents\rpgxp\ELTEN\C++\elten.dll\dllmain.cpp(500,3): error C3927: "->": nie można używać końcowego typu zwracanego po deklaratorze niebędącym funkcją [c:\Users\dawid\Documents\rpgxp\ELTEN\C++\elten.dll\eltenvc\eltenvc\eltenvc\eltenvc.vcxproj]
c:\Users\dawid\Documents\rpgxp\ELTEN\C++\elten.dll\dllmain.cpp(500,3): error C3484: błąd składni: oczekiwano "->" przed zwracanym typem [c:\Users\dawid\Documents\rpgxp\ELTEN\C++\elten.dll\eltenvc\eltenvc\eltenvc\eltenvc.vcxproj]
c:\Users\dawid\Documents\rpgxp\ELTEN\C++\elten.dll\dllmain.cpp(500,10): error C3613: brak typu zwracanego po "->" (przyjęto typ "int") [c:\Users\dawid\Documents\rpgxp\ELTEN\C++\elten.dll\eltenvc\eltenvc\eltenvc\eltenvc.vcxproj]
c:\Users\dawid\Documents\rpgxp\ELTEN\C++\elten.dll\dllmain.cpp(500,10): error C4430: brak specyfikatora typu – założono, że int. Uwaga: C++ nie obsługuje domyślnie typu int [c:\Users\dawid\Documents\rpgxp\ELTEN\C++\elten.dll\eltenvc\eltenvc\eltenvc\eltenvc.vcxproj]
c:\Users\dawid\Documents\rpgxp\ELTEN\C++\elten.dll\dllmain.cpp(500,4): error C2146: błąd składniowy: brakuje ";" przed identyfikatorem "b_o_s" [c:\Users\dawid\Documents\rpgxp\ELTEN\C++\elten.dll\eltenvc\eltenvc\eltenvc\eltenvc.vcxproj]
c:\Users\dawid\Documents\rpgxp\ELTEN\C++\elten.dll\dllmain.cpp(501,3): error C3927: "->": nie można używać końcowego typu zwracanego po deklaratorze niebędącym funkcją [c:\Users\dawid\Documents\rpgxp\ELTEN\C++\elten.dll\eltenvc\eltenvc\eltenvc\eltenvc.vcxproj]
c:\Users\dawid\Documents\rpgxp\ELTEN\C++\elten.dll\dllmain.cpp(501,3): error C3484: błąd składni: oczekiwano "->" przed zwracanym typem [c:\Users\dawid\Documents\rpgxp\ELTEN\C++\elten.dll\eltenvc\eltenvc\eltenvc\eltenvc.vcxproj]
c:\Users\dawid\Documents\rpgxp\ELTEN\C++\elten.dll\dllmain.cpp(501,10): error C3613: brak typu zwracanego po "->" (przyjęto typ "int") [c:\Users\dawid\Documents\rpgxp\ELTEN\C++\elten.dll\eltenvc\eltenvc\eltenvc\eltenvc.vcxproj]
c:\Users\dawid\Documents\rpgxp\ELTEN\C++\elten.dll\dllmain.cpp(501,10): error C4430: brak specyfikatora typu – założono, że int. Uwaga: C++ nie obsługuje domyślnie typu int [c:\Users\dawid\Documents\rpgxp\ELTEN\C++\elten.dll\eltenvc\eltenvc\eltenvc\eltenvc.vcxproj]
c:\Users\dawid\Documents\rpgxp\ELTEN\C++\elten.dll\dllmain.cpp(501,1): error C2086: "int op": zmiana definicji [c:\Users\dawid\Documents\rpgxp\ELTEN\C++\elten.dll\eltenvc\eltenvc\eltenvc\eltenvc.vcxproj]
c:\Users\dawid\Documents\rpgxp\ELTEN\C++\elten.dll\dllmain.cpp(501,4): error C2146: błąd składniowy: brakuje ";" przed identyfikatorem "e_o_s" [c:\Users\dawid\Documents\rpgxp\ELTEN\C++\elten.dll\eltenvc\eltenvc\eltenvc\eltenvc.vcxproj]
c:\Users\dawid\Documents\rpgxp\ELTEN\C++\elten.dll\dllmain.cpp(502,3): error C3927: "->": nie można używać końcowego typu zwracanego po deklaratorze niebędącym funkcją [c:\Users\dawid\Documents\rpgxp\ELTEN\C++\elten.dll\eltenvc\eltenvc\eltenvc\eltenvc.vcxproj]
c:\Users\dawid\Documents\rpgxp\ELTEN\C++\elten.dll\dllmain.cpp(502,3): error C3484: błąd składni: oczekiwano "->" przed zwracanym typem [c:\Users\dawid\Documents\rpgxp\ELTEN\C++\elten.dll\eltenvc\eltenvc\eltenvc\eltenvc.vcxproj]
c:\Users\dawid\Documents\rpgxp\ELTEN\C++\elten.dll\dllmain.cpp(502,15): error C3613: brak typu zwracanego po "->" (przyjęto typ "int") [c:\Users\dawid\Documents\rpgxp\ELTEN\C++\elten.dll\eltenvc\eltenvc\eltenvc\eltenvc.vcxproj]
c:\Users\dawid\Documents\rpgxp\ELTEN\C++\elten.dll\dllmain.cpp(502,15): error C4430: brak specyfikatora typu – założono, że int. Uwaga: C++ nie obsługuje domyślnie typu int [c:\Users\dawid\Documents\rpgxp\ELTEN\C++\elten.dll\eltenvc\eltenvc\eltenvc\eltenvc.vcxproj]
c:\Users\dawid\Documents\rpgxp\ELTEN\C++\elten.dll\dllmain.cpp(502,1): error C2086: "int op": zmiana definicji [c:\Users\dawid\Documents\rpgxp\ELTEN\C++\elten.dll\eltenvc\eltenvc\eltenvc\eltenvc.vcxproj]
c:\Users\dawid\Documents\rpgxp\ELTEN\C++\elten.dll\dllmain.cpp(502,4): error C2146: błąd składniowy: brakuje ";" przed identyfikatorem "granulepos" [c:\Users\dawid\Documents\rpgxp\ELTEN\C++\elten.dll\eltenvc\eltenvc\eltenvc\eltenvc.vcxproj]
c:\Users\dawid\Documents\rpgxp\ELTEN\C++\elten.dll\dllmain.cpp(503,3): error C3927: "->": nie można używać końcowego typu zwracanego po deklaratorze niebędącym funkcją [c:\Users\dawid\Documents\rpgxp\ELTEN\C++\elten.dll\eltenvc\eltenvc\eltenvc\eltenvc.vcxproj]
c:\Users\dawid\Documents\rpgxp\ELTEN\C++\elten.dll\dllmain.cpp(503,3): error C3484: błąd składni: oczekiwano "->" przed zwracanym typem [c:\Users\dawid\Documents\rpgxp\ELTEN\C++\elten.dll\eltenvc\eltenvc\eltenvc\eltenvc.vcxproj]
c:\Users\dawid\Documents\rpgxp\ELTEN\C++\elten.dll\dllmain.cpp(503,13): error C3613: brak typu zwracanego po "->" (przyjęto typ "int") [c:\Users\dawid\Documents\rpgxp\ELTEN\C++\elten.dll\eltenvc\eltenvc\eltenvc\eltenvc.vcxproj]
c:\Users\dawid\Documents\rpgxp\ELTEN\C++\elten.dll\dllmain.cpp(503,13): error C4430: brak specyfikatora typu – założono, że int. Uwaga: C++ nie obsługuje domyślnie typu int [c:\Users\dawid\Documents\rpgxp\ELTEN\C++\elten.dll\eltenvc\eltenvc\eltenvc\eltenvc.vcxproj]
c:\Users\dawid\Documents\rpgxp\ELTEN\C++\elten.dll\dllmain.cpp(503,1): error C2086: "int op": zmiana definicji [c:\Users\dawid\Documents\rpgxp\ELTEN\C++\elten.dll\eltenvc\eltenvc\eltenvc\eltenvc.vcxproj]
c:\Users\dawid\Documents\rpgxp\ELTEN\C++\elten.dll\dllmain.cpp(503,4): error C2146: błąd składniowy: brakuje ";" przed identyfikatorem "packetno" [c:\Users\dawid\Documents\rpgxp\ELTEN\C++\elten.dll\eltenvc\eltenvc\eltenvc\eltenvc.vcxproj]
c:\Users\dawid\Documents\rpgxp\ELTEN\C++\elten.dll\dllmain.cpp(504,3): error C3927: "->": nie można używać końcowego typu zwracanego po deklaratorze niebędącym funkcją [c:\Users\dawid\Documents\rpgxp\ELTEN\C++\elten.dll\eltenvc\eltenvc\eltenvc\eltenvc.vcxproj]
c:\Users\dawid\Documents\rpgxp\ELTEN\C++\elten.dll\dllmain.cpp(504,3): error C3484: błąd składni: oczekiwano "->" przed zwracanym typem [c:\Users\dawid\Documents\rpgxp\ELTEN\C++\elten.dll\eltenvc\eltenvc\eltenvc\eltenvc.vcxproj]
c:\Users\dawid\Documents\rpgxp\ELTEN\C++\elten.dll\dllmain.cpp(504,11): error C3613: brak typu zwracanego po "->" (przyjęto typ "int") [c:\Users\dawid\Documents\rpgxp\ELTEN\C++\elten.dll\eltenvc\eltenvc\eltenvc\eltenvc.vcxproj]
c:\Users\dawid\Documents\rpgxp\ELTEN\C++\elten.dll\dllmain.cpp(504,11): error C4430: brak specyfikatora typu – założono, że int. Uwaga: C++ nie obsługuje domyślnie typu int [c:\Users\dawid\Documents\rpgxp\ELTEN\C++\elten.dll\eltenvc\eltenvc\eltenvc\eltenvc.vcxproj]
c:\Users\dawid\Documents\rpgxp\ELTEN\C++\elten.dll\dllmain.cpp(504,1): error C2086: "int op": zmiana definicji [c:\Users\dawid\Documents\rpgxp\ELTEN\C++\elten.dll\eltenvc\eltenvc\eltenvc\eltenvc.vcxproj]
c:\Users\dawid\Documents\rpgxp\ELTEN\C++\elten.dll\dllmain.cpp(504,4): error C2146: błąd składniowy: brakuje ";" przed identyfikatorem "packet" [c:\Users\dawid\Documents\rpgxp\ELTEN\C++\elten.dll\eltenvc\eltenvc\eltenvc\eltenvc.vcxproj]
c:\Users\dawid\Documents\rpgxp\ELTEN\C++\elten.dll\dllmain.cpp(505,3): error C3927: "->": nie można używać końcowego typu zwracanego po deklaratorze niebędącym funkcją [c:\Users\dawid\Documents\rpgxp\ELTEN\C++\elten.dll\eltenvc\eltenvc\eltenvc\eltenvc.vcxproj]
c:\Users\dawid\Documents\rpgxp\ELTEN\C++\elten.dll\dllmain.cpp(505,3): error C3484: błąd składni: oczekiwano "->" przed zwracanym typem [c:\Users\dawid\Documents\rpgxp\ELTEN\C++\elten.dll\eltenvc\eltenvc\eltenvc\eltenvc.vcxproj]
c:\Users\dawid\Documents\rpgxp\ELTEN\C++\elten.dll\dllmain.cpp(505,10): error C3613: brak typu zwracanego po "->" (przyjęto typ "int") [c:\Users\dawid\Documents\rpgxp\ELTEN\C++\elten.dll\eltenvc\eltenvc\eltenvc\eltenvc.vcxproj]
c:\Users\dawid\Documents\rpgxp\ELTEN\C++\elten.dll\dllmain.cpp(505,10): error C4430: brak specyfikatora typu – założono, że int. Uwaga: C++ nie obsługuje domyślnie typu int [c:\Users\dawid\Documents\rpgxp\ELTEN\C++\elten.dll\eltenvc\eltenvc\eltenvc\eltenvc.vcxproj]
c:\Users\dawid\Documents\rpgxp\ELTEN\C++\elten.dll\dllmain.cpp(505,1): error C2086: "int op": zmiana definicji [c:\Users\dawid\Documents\rpgxp\ELTEN\C++\elten.dll\eltenvc\eltenvc\eltenvc\eltenvc.vcxproj]
c:\Users\dawid\Documents\rpgxp\ELTEN\C++\elten.dll\dllmain.cpp(505,4): error C2146: błąd składniowy: brakuje ";" przed identyfikatorem "bytes" [c:\Users\dawid\Documents\rpgxp\ELTEN\C++\elten.dll\eltenvc\eltenvc\eltenvc\eltenvc.vcxproj]
c:\Users\dawid\Documents\rpgxp\ELTEN\C++\elten.dll\dllmain.cpp(507,5): error C3927: "->": nie można używać końcowego typu zwracanego po deklaratorze niebędącym funkcją [c:\Users\dawid\Documents\rpgxp\ELTEN\C++\elten.dll\eltenvc\eltenvc\eltenvc\eltenvc.vcxproj]
c:\Users\dawid\Documents\rpgxp\ELTEN\C++\elten.dll\dllmain.cpp(507,18): error C3613: brak typu zwracanego po "->" (przyjęto typ "int") [c:\Users\dawid\Documents\rpgxp\ELTEN\C++\elten.dll\eltenvc\eltenvc\eltenvc\eltenvc.vcxproj]
c:\Users\dawid\Documents\rpgxp\ELTEN\C++\elten.dll\dllmain.cpp(507,18): error C4430: brak specyfikatora typu – założono, że int. Uwaga: C++ nie obsługuje domyślnie typu int [c:\Users\dawid\Documents\rpgxp\ELTEN\C++\elten.dll\eltenvc\eltenvc\eltenvc\eltenvc.vcxproj]
c:\Users\dawid\Documents\rpgxp\ELTEN\C++\elten.dll\dllmain.cpp(507,7): error C2146: błąd składniowy: brakuje ";" przed identyfikatorem "granulepos" [c:\Users\dawid\Documents\rpgxp\ELTEN\C++\elten.dll\eltenvc\eltenvc\eltenvc\eltenvc.vcxproj]
c:\Users\dawid\Documents\rpgxp\ELTEN\C++\elten.dll\dllmain.cpp(509,36): error C4430: brak specyfikatora typu – założono, że int. Uwaga: C++ nie obsługuje domyślnie typu int [c:\Users\dawid\Documents\rpgxp\ELTEN\C++\elten.dll\eltenvc\eltenvc\eltenvc\eltenvc.vcxproj]
c:\Users\dawid\Documents\rpgxp\ELTEN\C++\elten.dll\dllmain.cpp(509,1): error C2365: "ogg_stream_packetin": zmiana definicji; definicja poprzednia była "funkcja" [c:\Users\dawid\Documents\rpgxp\ELTEN\C++\elten.dll\eltenvc\eltenvc\eltenvc\eltenvc.vcxproj]
c:\Users\dawid\Documents\rpgxp\ELTEN\C++\elten.dll\dllmain.cpp(511,1): error C2059: błąd składniowy: "while" [c:\Users\dawid\Documents\rpgxp\ELTEN\C++\elten.dll\eltenvc\eltenvc\eltenvc\eltenvc.vcxproj]
c:\Users\dawid\Documents\rpgxp\ELTEN\C++\elten.dll\dllmain.cpp(511,53): error C2143: błąd składniowy: brakuje ";" przed "{" [c:\Users\dawid\Documents\rpgxp\ELTEN\C++\elten.dll\eltenvc\eltenvc\eltenvc\eltenvc.vcxproj]
c:\Users\dawid\Documents\rpgxp\ELTEN\C++\elten.dll\dllmain.cpp(511,53): error C2447: "{": brak nagłówka funkcji (stary styl formalnej listy?) [c:\Users\dawid\Documents\rpgxp\ELTEN\C++\elten.dll\eltenvc\eltenvc\eltenvc\eltenvc.vcxproj]
c:\Users\dawid\Documents\rpgxp\ELTEN\C++\elten.dll\dllmain.cpp(518,1): error C2059: błąd składniowy: "return" [c:\Users\dawid\Documents\rpgxp\ELTEN\C++\elten.dll\eltenvc\eltenvc\eltenvc\eltenvc.vcxproj]
c:\Users\dawid\Documents\rpgxp\ELTEN\C++\elten.dll\dllmain.cpp(519,1): error C2059: błąd składniowy: "}" [c:\Users\dawid\Documents\rpgxp\ELTEN\C++\elten.dll\eltenvc\eltenvc\eltenvc\eltenvc.vcxproj]
c:\Users\dawid\Documents\rpgxp\ELTEN\C++\elten.dll\dllmain.cpp(519,1): error C2143: błąd składniowy: brakuje ";" przed "}" [c:\Users\dawid\Documents\rpgxp\ELTEN\C++\elten.dll\eltenvc\eltenvc\eltenvc\eltenvc.vcxproj]

Ostrzeżenia: 2
Liczba błędów: 52

Czas, który upłynął: 00:00:01.56

Widocznie nie tylko ja „żyję przeszłością”

Pisałem właśnie nieco kodu do klienta Tyflopodcasta. A że dodałem do menu pomoc link do strony TP, sprawdziłem czy działa.
I tak surfując, odkryłem, jak piękne były kiedyś… Albo teraz są… Czasy. W każdym razie gdybyście chcieli posłuchać podcastów, pozwolę sobie przekleić instrukcję. No łezka mi się w oku zakręciła. 🙂

Audycji zamieszczonych w serwisie tyflopodcast.net słuchać można na wiele sposobów. Najprostszym jest wybieranie konkretnego odcinka bezpośrednio z naszej strony internetowej, naciskając Enter na odpowiednim odsyłaczu, znajdującym się na liście, sąsiadującej z informacjami o danej audycji. W zależności od konfiguracji przeglądarki WWW – albo uruchomi audycję za pomocą skojarzonego z przeglądarką odtwarzacza, albo zapisze plik z audycją na dysku.
Dodatkowo, można subskrybować wybrane kategorie lub całość serwisu przez dostępne z naszej strony kanały RSS. Tyflopodcast jest także dostępny w aplikacji Klango, czyli udźwiękowionym społecznościowym narzędziu, z którego bardzo chętnie korzystają osoby niewidome. Klango można pobrać ze strony www.klango.net.
Nie zapominamy również o naszych mobilnych słuchaczach. Audycje Tyflopodcastu dostępne są w aplikacji Nokia Podcasting, z której mogą korzystać posiadacze telefonów Nokia z systemem Symbian. Użytkownikom systemu iOS proponujemy Nasze audycje dostępne w serwisie iTunes, oraz audycje Tyflopodcastu do słuchania z poziomu dedykowanej niewidomym aplikacji iBlink Radio. Wszystkich, korzystających z systemu Android informujemy, że iBlink Radio dostępne jest również z poziomu Android Marketu.