본문 바로가기

2017/03

(22)
DirectX Sound 전역 오디오 생성 방법. DirectX Sound 에서 기본적으로 버퍼를 생성 하는 부분에서 보통 다음과 같이 한다고 SDK 를 통해 알고 있었습니다만 이렇게 할 경우, 현재 CooperativeLevel 로 지정된 윈도우의 포커스를 잃을 경우 갑자기 소리가 안나옵니다 ! ZeroMemory( &dsdesc, sizeof( DSBUFFERDESC ) ); dsdesc.dwSize = sizeof( DSBUFFERDESC ); dsdesc.dwFlags = DSBCAPS_STATIC | DSBCAPS_CTRLPOSITIONNOTIFY; dsdesc.dwBufferBytes = size; dsdesc.lpwfxFormat = &wavfmt; 그래서 구글신에게 찾아 보니, 버퍼 생성시 하나의 flag 하나인 DSBCAPS_GLOBAL..
Coming soon FLTK MPG123 GUI player. 이전부터 만들고 싶었던 아이폰 플레이어 답게 생긴 mp3 player 를 만들기 시작 했습니다. fl_imgtk 에서 만든 그래픽 처리 등등을 이용해서 앨범아트에 알파 마스크 씌어서 주변을 깍을수도 있고, 특정 크기로 모두 통일시킬수도 있고 하다 보니 제한된 영역 내에서 멋지게 표시되게 할 수 있는 처리 방법을 사용할 수 있게 되었습니다. 현재 mpg123 에 Direct X sound 를 붙여 보았는데, 나쁘진 않습니다만, DirectX 가 현재 할당된 윈도우의 포커스가 벗어 나게 되면 소리가 안나오는 관계로 결국 WASAPI 나 다른 방법을 써야 하게 되었습니다. 아니면 DXsound initialize 할때 다른 handle 을 넘겨 주면 되는건지 .. ??? 아무튼 GUI 는 그리 제 능력 안의 ..
FLTK 용 이미지 처리 라이브러리, fl_imgtk 업데이트. FLTK 용 이미지 처리 라이브러리인 fl_imgtk 의 새로운 업데이트를 GitHub 에 갱신 하였습니다. 별거 아닐 수 있긴 하지만, 뭔가 WPF 따위 안쓰고, QT 보다 매우 가볍고, 그렇다고 GTK+ 같은걸 도 안써도 되는 여러 조건에서 저에게 가장 적합한 것은 FLTK 뿐 이더군요. 하지만 너무 가볍게 만든 GUI 엔진이다 보니 그래픽 처리 부분은 거의 없다 싶이 하여, 만들게 된 것이 바로 fl_imgtk 입니다. M$VC 쓰는 분들이 FLTK 를 쓰는 경우가 거의 없다는 가정 하에, (사실 FLTK 를 쓰는 가장 큰 이유는 동일 소스로 Windows, Linux, Mac 에서 동일한 프로그램을 만들기 위한 목적) Windows 의 경우는 MinGW-W64 로 빌드 할 경우 가장 효과적인 성능..
기계식 키보드 저소음화의 가장 저렴한 방법. 기계식 키보드를 쓰다 보면 제품에따라, 제조사에 따라 '텅텅' 거리는 소리가 들린 다거나, 스위치와 키캡 자체가 부딧히며 나는 '탁탁' 거리는 소리등이 많이 나는 경우가 있습니다. 혼자 집에서 기계식 키보드의 즐거움을 즐긴다면 남에게 피해를 끼지치 않을 수 있다지만, 사무실 같은데서 기계식 키보드를 쓴다면 타인에게 큰 청각적 피해를 줄 수 있습니다. 이런 문제점을 해결 하기 위해서는 미국에서 구매가 가능한 우레탄으로 만들어진 랜딩 패드 같은게 있을 수 있겠지만, 가격이 보통 가격이 아닙니다. 그래서 제가 사용하는 방법을 공유 하면 바로 이것 입니다. 낚시용품 : 네꼬링 가격은 어떨까요? 60 개에 2000원 안 입니다. 120개를 사면 4000원 입니다. 240개를 사면 8000 원 입니다. 구매하면 좋..
FLTK 이미지 툴킷, fl_imgtk 공개 그간 다른용도로(?) 쓰기 위해 만들어 오던 FLTK 용 이미지 처리 엔진의 일부인 fl_imgtk 를 공개 하였습니다. 소스는 github 에서 받으실 수 있으며, 누구나 제한없이 사용 가능한 MIT License 를 적용하고 있습니다. (물론 원래 소스들에 대해서는 각자 따로 기재 해야 하는 제한이 있을 수 있습니다) https://github.com/rageworx/fl_imgtk 소스코드는 gcc 나 llvm-gcc, 아니면 MinGW-W64 만 make 로 빌드 할 수 있도록 지원 합니다만, 별도로 프로젝트 파일을 만들어서 M$VC 등에서도 사용은 가능하나, 아마 FLTK 를 M$VC 에서는 쓰지 않을것으로 보입니다. QT 를 M$VC 에서 개발하지 않는 것처럼요. fl_imgtk 가 현재 지원..
Duke Nukem Forever, 이정도 였군 ... 영원히 안나올줄 알았던 게임이 10년 넘게 걸려 결국 시장에 나왔을때 아마 지구가 먼저 멸망 할거란 소문들이 자자 했었습니다만, 아마 내 기억이 맞다면 이 게임은 최적화도 똘망 이었던걸로 기억에 남아 있었다고나 할까요 .. 얼마전 스팀에서 약 4천원에 팔길래 추억팔이도 할 겸 구매 해 봤습니다만, 와 ... AMD HD6700m 에서도 엄청 버벅이는 이 최적화는 정말 대단하다 하겠습니다. 그나마 미국의 약으로 근육을 빵빵하게 키운 백인 여성 비하 마초주의자가 주인공이라곤 하지만, 이 게임은 묘미는 주인공 목소리와, 찰진 구석 구석에 숨어 있는 개그코드들 이긴 합니다만 .. SSD 로 로딩은 광속으로 하는거 까진 좋습니다만, 정작 게임 자체를 제대로 하기가 너무 어렵습니다. 진짜 지금 쓰는 노트북도 이 게..
FLTK 1.3.4-1 을 위한 fl_imgtk 개발 중. FLTK 를 쓰면서 항상 불편 한 점은 여러 있을 수 있겠습니다만, 기본적으로 이미지 처리를 하는 기능이 너무 빈약 하다 보니, 이런 점들을 하나 둘씩 만들어 쓰다가 결국 이번에 하나로 뭉치기로 하였습니다. 아직까진 개발중인 부분이 많다 보니 어디에 올리진 않고 있습니다만, 곧 정리가 더 되는데로 GitHub 나 BitBucket 에 올리는 것을 목적으로 할 예정 입니다. 기본적으로 현재 여러 기능들이 지원 되며, 그 항목은 다음과 같습니다. Fl_RGB_Image 를 이용한 다양한 처리 ( Fl_JPEG_Image 나 Fl_PNG_Image 의 color depth 3 이상이면 사용 가능 ) 이미지 고속 회전 90도, 180도, 270도이미지 자유 회전 0~359 도 (alias 처리는 하지 않음)밝기..
Fl_GroupAniSwitch, version 01 FLTK 내에서 Fl_Group 간 페이지 전환 애니메이션을 구현한 소스를 공개 합니다. 같은 크기의 Fl_Group 만을 테스트 한 것이라 분명 다른 크기를 사용하면 버그가 발생 할 것으로 보이며, JUSTSHOW 에 대해서도 아직 테스트가 되지 않은 점을 고려해서 사용해 주시면 좋겠습니다. 소스는 아래에서 받아서 사용하실 수 있으며, FLTK license 와 MIT License 제한이 있습니다만, FLTK 사용했다와, 원래 저작자 소스 표시등을 어디에든 하면 상용이던 뭐던 제한없이 사용할 수 있습니다. 사용 방법은 다음과 같이 구현 하시면 되고, WaitForFinish() 는 내부에서 Fl::wait( 10 ) 을 호출 하므로, Thread 내에서 그리실 때엔 다른 구현이 필요 할 수 있음을 고..