Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!

Ogłoszenie

Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.

#1  2007-03-06 19:21:03

  harry666t - Członek DUG

harry666t
Członek DUG
Zarejestrowany: 2007-01-28

Orkiestra

zrobiłem coś takiego:

Kod:

#include <ncurses.h>
#include <cstdlib>

int main () {
  WINDOW* mainwin = initscr();
  halfdelay(1);
  keypad(stdscr, true);
  noecho();
  int ch = 0;
  while ( ch != 'q' ) {
    ch = getch();
    //ZsXdC VgBhNjM
    // p = 69 + 12 * log2(f / 440)
    // 261,6 277,2 293,7 311,1 329,5 349,2 370,0 392,0 415,3 440,0 466,2 493,9 523,2
    switch (ch) {
    case 'z': //69, aka A
      system("beep -l 50 -f 262");
      break;
    case 'x':
      system("beep -l 50 -f 294");
      break;
    case 'c':
      system("beep -l 50 -f 330");
      break;

    case 'v':
      system("beep -l 50 -f 350");
      break;
    case 'b':
      system("beep -l 50 -f 392");
      break;
    case 'n':
      system("beep -l 50 -f 440");
      break;
    case 'm':
      system("beep -l 50 -f 494");
      break;
    case ',':
      system("beep -l 50 -f 523");
      break;


    case 's':
      system("beep -l 50 -f 277");
      break;
    case 'd':
      system("beep -l 50 -f 311");
      break;

    case 'g':
      system("beep -l 50 -f 370");
      break;
    case 'h':
      system("beep -l 50 -f 415");
      break;
    case 'j':
      system("beep -l 50 -f 466");
      break;
    }
  }
  endwin();
  return 0;
}

$ g++ -lncurses -o a.out beepator.cpp


pomysł: rozbić program na klienta i serwer, serwery poinstalować na kilku maszynach w lanie, klient niech połączy się ze wszystkimi naraz, i mamy orkiestrę z PC-speakerów :D


[ /\/\/\ o_0 ----->>>       Ascii Art Userbar User ]

"steal and steal and steal some more and give it to all your friends and keep on stealin'"
- Reznor

Offline

 

#2  2007-03-07 19:06:26

  Kowall_ptk - wieczny student

Kowall_ptk
wieczny student
Skąd: z nienacka :)
Zarejestrowany: 2005-02-17

Re: Orkiestra

gratuluję nieprzeciętnej wyobraźni :)

Sory, ale ten pomysł rozśmieszył mnie bardziej niż większość kawałów przeczytanych na tym forum.


W Linuksie się da, tylko trzeba wiedzieć jak!

Offline

 

#3  2007-03-07 19:51:39

  azhag - Admin łajza

azhag
Admin łajza
Skąd: Warszawa
Zarejestrowany: 2005-11-15

Re: Orkiestra

kiedyś widziałem program, który grał melodyjkę na stacji dyskietek, ale nie mogę go teraz znaleźć ;)


Błogosławieni, którzy czynią FAQ.
[url=http://www.opencaching.pl]opencaching[/url] :: [url=http://dug.net.pl/sources.list]debian sources.list[/url] :: [url=http://www.linuxportal.pl/blogi/azhag/wpisy]coś jakby blog[/url] :: [url=http://dug.net.pl/]polski portal debiana[/url] :: linux user #403712

Offline

 

#4  2007-03-07 19:56:07

  harry666t - Członek DUG

harry666t
Członek DUG
Zarejestrowany: 2007-01-28

Re: Orkiestra

program ma jedną małą wadę... pograsz sobie na tym kilka minut a tu nagle /var/log/account/pacct ma kilkadziesiąt mb :P

generalnie forkuje procesy jak szalony. tworzenie wersji sieciowej chyba zacznę od sklejenia beep i beepator w jeden program.

(mówię cały czas poważnie! xD)


[ /\/\/\ o_0 ----->>>       Ascii Art Userbar User ]

"steal and steal and steal some more and give it to all your friends and keep on stealin'"
- Reznor

Offline

 

#5  2007-03-07 20:09:11

  TBH - Członek DUG

TBH
Członek DUG
Skąd: Ruda Śląska
Zarejestrowany: 2006-03-07
Serwis

Re: Orkiestra

buehehehe zsynchronizuje czas z czasem na serwerze w kafejce i walne to do crona :D i co godzine bede patrzył na ich miny jak wszystkie kompy zaczną grać


DOBRE! :D:DD:


http://tbhthelolmaker.wordpress.com/kontakt/
<TBH> Gentoo!
<X-dos> cóz, sa ludzie ktorzy nie wiedza co robic ze swoim wolnym czasem :)

Offline

 

#6  2007-03-08 16:33:49

  harry666t - Członek DUG

harry666t
Członek DUG
Zarejestrowany: 2007-01-28

Re: Orkiestra

wstrzymaj swoje bity, już pracuję nad inteligentniejszą wersją, fuzją beep i beepator. część kodu beep jest już przeniesiona, ale praca idzie nadzwyczaj powoli -> w okienku obok gram w tetrisa xD

gdy wyjdzie beepator 0.2, nadejdzie czas na DPSO, czyli Distributed PC-Speaker Orchestra :D


[ /\/\/\ o_0 ----->>>       Ascii Art Userbar User ]

"steal and steal and steal some more and give it to all your friends and keep on stealin'"
- Reznor

Offline

 

#7  2007-03-08 16:53:28

  azhag - Admin łajza

azhag
Admin łajza
Skąd: Warszawa
Zarejestrowany: 2005-11-15

Re: Orkiestra

kiedyś widziałem program, który grał melodyjkę na stacji dyskietek, ale nie mogę go teraz znaleźć ;)[/quote]
[url=http://www.chmurka.net/?p=projekty]znalazłem![/url] :D

[url=http://www.chmurka.net/p/diskplay.zip]diskplay.zip[/url]
Stworzony na szybko odtwarzacz melodyjek na stacji dyskietek. Po włożeniu dyskietki do stacji manipuluje głowicą w rytm melodii Alphaville - Big in Japan. Póki co nie umie odtwarzać mp3, mimo ze algorytm mniej więcej mam już opracowany ;) Może kiedyś...[/quote]


Błogosławieni, którzy czynią FAQ.
[url=http://www.opencaching.pl]opencaching[/url] :: [url=http://dug.net.pl/sources.list]debian sources.list[/url] :: [url=http://www.linuxportal.pl/blogi/azhag/wpisy]coś jakby blog[/url] :: [url=http://dug.net.pl/]polski portal debiana[/url] :: linux user #403712

Offline

 

#8  2007-03-08 19:18:03

  harry666t - Członek DUG

harry666t
Członek DUG
Zarejestrowany: 2007-01-28

Re: Orkiestra

kurde, będę musiał poszukać jakiegoś napędu flopa i to obczaić :]

<zastanawia się nad wykorzystaniem napędu dyskietek w charakterze sekcji basowej>


tymczasem prace nad beepatorem 0.2 idą do przodu. myślę że jeszcze dziś wrzucę w tym temacie 0.2RC1 xD


[ /\/\/\ o_0 ----->>>       Ascii Art Userbar User ]

"steal and steal and steal some more and give it to all your friends and keep on stealin'"
- Reznor

Offline

 

#9  2007-03-08 20:55:10

  kwachu - Członek DUG

kwachu
Członek DUG
Skąd: z /home/kwachu
Zarejestrowany: 2006-04-06

Re: Orkiestra

diskplay.zip
Stworzony na szybko odtwarzacz melodyjek na stacji dyskietek. Po włożeniu dyskietki do stacji manipuluje głowicą w rytm melodii Alphaville - Big in Japan. Póki co nie umie odtwarzać mp3, mimo ze algorytm mniej więcej mam już opracowany ;) Może kiedyś...[/quote]

Albo ja nie mam wyczucia rytmu bo dla mnie to chaotyczne pierdzenie, żadnej melodii nie wychwyciłem ;)

PS. A co trzeba zrobić żeby ten beepator beepał bo mi nie beepa?


[img]http://img218.imageshack.us/img218/8307/811168430630qp0.png[/img]
[img]http://img.userbars.pl/22/4369.png[/img]
[url=cdlinux.pl][img]http://www.cdlinux.pl/grafika/cdlinux_button-200x50.png[/img][/url]

Offline

 

#10  2007-03-08 22:01:09

  korbol - Członek DUG

korbol
Członek DUG
Zarejestrowany: 2005-04-29

Re: Orkiestra

Zastrzele Was moim pytaniem jak to odpalić? :]

Kod:

s$ g++ -lncurses -o a.out beepator.cpp 
beepator.cpp:63:2: warning: no newline at end of file

powstał plik a.out, uruchamiam go ale nic sie nie dzieje.
Z tego co pamietam to za pcspeaker chyba jakis moduł był odpowiedzialny


Pozdrawiam

Offline

 

#11  2007-03-08 22:09:00

  Lacer - Członek DUG

Lacer
Członek DUG
Skąd: Wrocław
Zarejestrowany: 2006-11-08

Re: Orkiestra

kiedyś widziałem program, który grał melodyjkę na stacji dyskietek, ale nie mogę go teraz znaleźć ;)[/quote]
[url=http://www.chmurka.net/?p=projekty]znalazłem![/url] :D

[url=http://www.chmurka.net/p/diskplay.zip]diskplay.zip[/url]
Stworzony na szybko odtwarzacz melodyjek na stacji dyskietek. Po włożeniu dyskietki do stacji manipuluje głowicą w rytm melodii Alphaville - Big in Japan. Póki co nie umie odtwarzać mp3, mimo ze algorytm mniej więcej mam już opracowany ;) Może kiedyś...[/quote][/quote]

a ja kurczaki pieczone ściągnąłem ten programik, chce sobie go sprawdzić, a tu zonk:
w całej chacie nie mam dyskietki :P

a przewaliłem co mogłem do góry nogami :)

eeech....
ale ta technika poszła do przodu ;)

pozdrawiam
miłosz


"Myśl i nie ufaj, decyduj sam za siebie
Nie pozwól nigdy by kierowali tobą
Popatrz czy już nie jesteś w stadzie
Bo nie obudzisz się już nigdy sobą..." Post Regiment - Stado

Offline

 

#12  2007-03-08 22:57:25

  AgayKhan - Członek DUG

AgayKhan
Członek DUG
Skąd: Płock
Zarejestrowany: 2006-03-21
Serwis

Re: Orkiestra

A jak ten programik skompilować, co gra na stacji dysków? yasm mi sypie błędami. nasm też


born to be root
linux register user #362473

Offline

 

#13  2007-03-08 23:45:38

  harry666t - Członek DUG

harry666t
Członek DUG
Zarejestrowany: 2007-01-28

Re: Orkiestra

Zastrzele Was moim pytaniem jak to odpalić? :]

Kod:

s$ g++ -lncurses -o a.out beepator.cpp 
beepator.cpp:63:2: warning: no newline at end of file

powstał plik a.out, uruchamiam go ale nic sie nie dzieje.
Z tego co pamietam to za pcspeaker chyba jakis moduł był odpowiedzialny[/quote]

Use the source, Luke...

Z = c1
s = cis1
X = d1
d = dis1
C = e1
V = f1
g = fis1
B = g1
h = gis1
N = a1 (440 hz, kamerton)
j = b1 (nie "zachodnie" b, inaczej a#)
M = h1 ("zachodnie" b)
, = c2 - oktawę wyżej od c1

poza tym musisz mieć zainstalowaną paczkę beep:
# apt-get install beep
gdy debconf zapyta o suid, odpowiedz koniecznie tak, chyba że beepatora też chcesz uruchamiać jako root :P

generalnie obecna implementacja ssie. jak już wspominałem prace nad inteligentniejszą wersją idą pełną parą.

kto chce sobie pograć, oto kilka kawałków:

nie wiem jak to się nazywa ale jest prześmiesznie proste :P

Kod:

zzbbnnbvvccxxz
bbvvccx
bbvvccx
zzbbnnbvvccxxz

judas priest - breaking the law (wiemy już od czego halfordowi wypadły włosy :P)

Kod:

nmknmknmk
vbnvbnbkmn

metallica - master of puppets (dość ciężko to zagrać, i lekko zmieniłem tonację by "wskoczyć" w zakres beepatora)
(minus oznacza dłuższy dźwięk - musimy na razie go sobie wyobrazić, bo wszystkie nuty i tak mają długość 50 ms)

Kod:

(intro)
z
m-- j-- n--
zz,zzkzz m-- j-- n-- zzhzzbzzgzvzczdzxz
zz,zzkzz m-- j-- n-- zzhzzbzzgzvzczdzxz
(i tak parę razy)
(teraz fajny moment, przed-zwrotka)
zsbzshzsnzshzsbb
zsbzshzsnzshzsb--
zsbzshzsnzshzsbb
zsbzshzs
dxzdxzdxdxzdxzdx
(ten fragment wymyka się skali)
z-- zzzzzzzz
dvgvdv
z-- zzzzz
dvdv
(i tak parę razy)
(potem to samo ale o dwa półtony wyżej)
(przed-refren, lekko zmieniony, wyrzucone wstawki solowe (wymykają się skali... ;/ a zkoda, bo są świetne))
,- ,,m,
bbbhb
nnnmb
(jeszcze dwa razy)
,- ,,m,
bbbnb
(tutaj musiałem znów wyrzucić kawałek >:|)
(i refren!)
z- z- (mas-ter!)
s- s- ((mas-ter!))
z-- zzz x- zz d-- (master of puppets i'm pulling your strings)
h-- vvv b- vv v-- (twisting your mind and smashing your dreams)
j-- vvv h- vv b-- (blinded by me you can't see a thing)
,-- vvv j- vv h- (just call my name 'cause i'll hear you scream)
z- z- (mas-ter!)
s- s- ((mas-ter!))
z-- zzz x- zz h-- (just call my name 'cause i'll hear you scream)
z- z- (mas-ter!)
s- s- ((mas-ter!))
(znów przed-zwrotka, zwrotka, przed-refren i refren, a po refrenie solówka, solówka, interlude, zwrotka, przed-refren, refren, i śliczne wyjście :D)

m.o.p. to kawał drania, lepiej grać to na gitarze ;] nie jestem pewien czy gdzieś nie popełniłem błędu, ale jak ktoś zna kawałek i wyczai tempo to pójdzie z górki :D


[ /\/\/\ o_0 ----->>>       Ascii Art Userbar User ]

"steal and steal and steal some more and give it to all your friends and keep on stealin'"
- Reznor

Offline

 

#14  2007-03-08 23:53:10

  korbol - Członek DUG

korbol
Członek DUG
Zarejestrowany: 2005-04-29

Re: Orkiestra

harry666t, nie kumam co mam zrobić, beep oczywiście mam instalnięty.


Pozdrawiam

Offline

 

#15  2007-03-08 23:59:31

  zielkam - były zielony_83 :)

zielkam
były zielony_83 :)
Skąd: Zawiercie
Zarejestrowany: 2006-05-06
Serwis

Re: Orkiestra

odpalasz a.out na przykład tak ./a.out
i klepiesz w klawisze poszczególne odpowiadają za różne dźwięki.
Klawiszologie masz wyżej.


Zostałeś zarejestrowany jako użytkownik #416423 przez.. :mrgreen:
##
[url=http://fluxboxpl.org]FluxboxPL[/url] | [url=http://zielony.fluxboxpl.org/blog/]Mój Lepszy Świat[/url] | [url=http://www.unixy.pl/]UnixyPL[/url] | [url=www.adescom.pl]Telenia VOIP dla ISP[/url]
JID: zielony@jabster.pl

Offline

 

#16  2007-03-09 00:27:07

  harry666t - Członek DUG

harry666t
Członek DUG
Zarejestrowany: 2007-01-28

Re: Orkiestra

ha, nowa wersja korzysta już ze starego dobrego Makefile :) to powinno ułatwić kompilację.

0.18 na razie kompiluje się bez przeszkód (aczkolwiek nie wiem co to może być:

Kod:

beepator.cpp: In function 'int dobeep(unsigned int)':
beepator.cpp:104: warning: control reaches end of non-void function

)

kod jest tutaj:

Kod:

inline int dobeep ( unsigned int freq ) {

  if ( freq == 0 ) return 0;

  /* try to snag the console */
  if((console_fd = open("/dev/console", O_WRONLY)) == -1) {
    // fprintf(stderr, "Could not open /dev/console for writing.n");                                                                                      
    // printf("a");  /* Output the only beep we can, in an effort to fall back on usefulness */                                                           
    perror("open"); /* sry but wtf is perror()? */
    return 1;
  }

  /* Beep */
  if(ioctl(console_fd, KIOCSOUND, (int)(CLOCK_TICK_RATE/freq)) < 0) {
    // printf("a");  /* Output the only beep we can, in an effort to fall back on usefulness */                                                           
    perror("ioctl");
  }

  /* Look ma, I'm not ansi C compatible! */
  usleep(1000*50);                     /* wait...    */
  ioctl(console_fd, KIOCSOUND, 0);    /* stop beep  */

  close(console_fd);
} /* im bardziej wpatruję się w okno emacsa tym silniejsze odnoszę wrażenie, że ta właśnie linia nosi numer 104 */

usunięcie "inline" nic nie daje. może wystarczy zmienić typ funkcji na "void", a błąd zasygnalizować podniesieniem wyjątku?

uwaga, kod ten nie jest już w public domain. część tutaj zaprezentowana jest objęta GNU GPL (autor programu beep nie sprecyzował wersji, więc przyjmujemy "druga lub wyższa").

cholera mnie wie czy na koniec nie zrobię z tego paczki debianowej, + debconf żeby ustawić suid root podczas instalacji.

ponadto mam mały problem, jakiś bug czy co. aktualnie tylko X wydaje jakiś dźwięk, ale to chyba związane jest z niezbyt trafnym sposobem tłumaczenia klawiszy na częstotliwości. wydanie stabilnej 0.2 trochę się odwlecze...

w przygotowaniu jest też strona manuala... ech, coś mi mówi że właśnie kończy się etap "patrzcie, taki śmieszny kawałek kodu tu mam :)", a zaczyna się "prawdopodobnie masz złą wersję glibc lub nie zainstalowałeś najnowszych nagłówków jądra"...

taki los :P


[ /\/\/\ o_0 ----->>>       Ascii Art Userbar User ]

"steal and steal and steal some more and give it to all your friends and keep on stealin'"
- Reznor

Offline

 

#17  2007-03-09 09:21:25

  korbol - Członek DUG

korbol
Członek DUG
Zarejestrowany: 2005-04-29

Re: Orkiestra

Aaaaa to ttrzba w klawiature pstrykać no ale i tak mi nie dzwięczy.


Pozdrawiam

Offline

 

#18  2007-03-09 15:14:20

  harry666t - Członek DUG

harry666t
Członek DUG
Zarejestrowany: 2007-01-28

Re: Orkiestra

sprawdź czy:

1.
$ beep
wydaje jakiś dźwięk

2. jeśli nie, czy /usr/bin/beep ma ustawiony suid root. powinien mieć.

3. jeśli ma suid a nadal nic nie słychać, czy nie wywaliłeś modułu kernela odpowiedzialnego za pc speaker

4. czy nie masz jakiegoś aliasa o nazwie beep czy innej aplikacji o tej nazwie (np. w /usr/local/bin/ czy ~/bin/)

5. w osobnym xtermie patrz (najlepiej htopem w trybie drzewa) jednym okiem czy beepator forkuje jakieś procesy podczas grania

6. czy pc speaker wogóle kiedykolwiek wydaje jakiekolwiek dźwięki

7. cierpliwie poczekaj, dziś powinna być wersja 0.2 >_< prawie działa, tylko nadal nie słychać żądanego dźwięku... pracujemy nad tym


[ /\/\/\ o_0 ----->>>       Ascii Art Userbar User ]

"steal and steal and steal some more and give it to all your friends and keep on stealin'"
- Reznor

Offline

 

#19  2007-03-09 15:27:47

  korbol - Członek DUG

korbol
Członek DUG
Zarejestrowany: 2005-04-29

Re: Orkiestra

Uprawnienia są takie
rwsr-x-r--
beep nie piszczy, nie wiem jak sie nazywa ten moduł odpowiedzialny za ta ale jak znam zyci epenwie go nie wkompilowalem:-/
Po odpaleniu program znajduje sie na liscie procesów.


Pozdrawiam

Offline

 

#20  2007-03-11 22:40:56

  harry666t - Członek DUG

harry666t
Członek DUG
Zarejestrowany: 2007-01-28

Re: Orkiestra

http://freeshells.ch/~bsah/downloads/beepator-0.2.tar.gz

oto i beepator w wersji 0.2. miałem niewiele czasu w weekend i dlatego z takim właśnie opóźnieniem, no i w dodatku łączenie beep z beepatorem to dość partańska robota. nie działają żadne cmdline argumenty, nawet --help, nie ma nadal żadnego UI (mimo iż używa ncurses, które obok aalib są jedną z najlepszych bibliotek "graficznych" pod konsolę), w sumie jedyne zmiany to makefile i - od strony technicznej - bezpośrednie wykorzystywanie sprzętu (co wymaga uprawnień roota). ale był to krok konieczny ;]



=====================

ficzersy planowane na wersję 0.3: eliminacja wszystkich wymienionych przypadłości z wersji 0.2 (brak ui i podstawowych choćby argumentów cmdline), dodanie strony manuala.

wersja 0.4 powinna zostać rozbita na beepator i beepd. beepator nie będzie już wymagał roota, zaś beepd tak. ponadto oba powinny gadać ze sobą po sockecie. być może jeden beepator będzie mógł łączyć się z kilkoma beepd na różnych kompach. beepd powinien przyjmować połączenia na porcie 440 (standardowa częstotliwość PC speakera ;] skoro już i tak musi mieć uprawnienia roota to czemu ma nie skorzystać z portu <1024). ze względów bezpieczeństwa absolutnie odradziłbym odpalania beepd na cennych maszynach (a szczególnie tych z zewnętrznym ip). nigdy nie programowałem bezpośrednio na socketach bsd, jeśli ktoś mógłby być moim przewodnikiem w dżungli, byłbym wdzięczny za wszelką pomoc :P

termin wydania następnej wersji: jak będzie to będzie.


[ /\/\/\ o_0 ----->>>       Ascii Art Userbar User ]

"steal and steal and steal some more and give it to all your friends and keep on stealin'"
- Reznor

Offline

 

#21  2007-03-11 22:46:03

  czechu - Członek DUG

czechu
Członek DUG
Skąd: Gorlice
Zarejestrowany: 2004-10-24

Re: Orkiestra

jest coś podobnego już w necie i bardziej zaawansowane


[url]http://www.linux.com.pl/forum/index.php?t=msg&goto=231262&rid=0[/url]

Offline

 

#22  2007-03-11 23:10:57

  harry666t - Członek DUG

harry666t
Członek DUG
Zarejestrowany: 2007-01-28

Re: Orkiestra

ładne, tylko że

1. trzeba się chwilkę pomęczyć z usuwaniem końcówki którą httpd dokleja pod koniec pliku ;]

2. nie działa pod pseudo terminalem, a jedynie pod tty. zapewne kwestia poprawienia jakiegoś buga, bo u mnie działa tak i tak (ale dla odmiany tylko gdy ma się roota).

3. mój projekt ma inny cel - umożliwienie grania na wielu pc speakerach jednocześnie. ;p

4. docelowo rozważam zrobienie klienta pod Xy wykorzystującego do przechwytywania klawiatury libsdl. w praktyce umożliwi to niezwykle precyzyjną (w porównaniu z konsolą) regulację długości trwania nutki oraz umożliwi polifonię (na tyle głosów, na ile mamy kompów :P). klient "inteligentnie" rozdzielałby nutki pomiędzy różne kompy.

5. kto da linka do tutoriala o socketach? :D


[ /\/\/\ o_0 ----->>>       Ascii Art Userbar User ]

"steal and steal and steal some more and give it to all your friends and keep on stealin'"
- Reznor

Offline

 

Stopka forum

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson
To nie jest tylko forum, to nasza mała ojczyzna ;-)

[ Generated in 0.012 seconds, 11 queries executed ]

Informacje debugowania

Time (s) Query
0.00014 SET CHARSET latin2
0.00008 SET NAMES latin2
0.00132 SELECT u.*, g.*, o.logged FROM punbb_users AS u INNER JOIN punbb_groups AS g ON u.group_id=g.g_id LEFT JOIN punbb_online AS o ON o.ident='18.117.104.30' WHERE u.id=1
0.00092 REPLACE INTO punbb_online (user_id, ident, logged) VALUES(1, '18.117.104.30', 1732823866)
0.00085 SELECT * FROM punbb_online WHERE logged<1732823566
0.00064 SELECT topic_id FROM punbb_posts WHERE id=54531
0.00012 SELECT id FROM punbb_posts WHERE topic_id=7115 ORDER BY posted
0.00076 SELECT t.subject, t.closed, t.num_replies, t.sticky, f.id AS forum_id, f.forum_name, f.moderators, fp.post_replies, 0 FROM punbb_topics AS t INNER JOIN punbb_forums AS f ON f.id=t.forum_id LEFT JOIN punbb_forum_perms AS fp ON (fp.forum_id=f.id AND fp.group_id=3) WHERE (fp.read_forum IS NULL OR fp.read_forum=1) AND t.id=7115 AND t.moved_to IS NULL
0.00014 SELECT search_for, replace_with FROM punbb_censoring
0.00164 SELECT u.email, u.title, u.url, u.location, u.use_avatar, u.signature, u.email_setting, u.num_posts, u.registered, u.admin_note, p.id, p.poster AS username, p.poster_id, p.poster_ip, p.poster_email, p.message, p.hide_smilies, p.posted, p.edited, p.edited_by, g.g_id, g.g_user_title, o.user_id AS is_online FROM punbb_posts AS p INNER JOIN punbb_users AS u ON u.id=p.poster_id INNER JOIN punbb_groups AS g ON g.g_id=u.group_id LEFT JOIN punbb_online AS o ON (o.user_id=u.id AND o.user_id!=1 AND o.idle=0) WHERE p.topic_id=7115 ORDER BY p.id LIMIT 0,25
0.00101 UPDATE punbb_topics SET num_views=num_views+1 WHERE id=7115
Total query time: 0.00762 s