본문 바로가기

Win32

(17)
FLTK MPG123 GUI Player 0.1.0.2 FLTK 1.3.4-1(-ts) 64bit 와, fl_imgtk + mpg123 64bit build DirectX 를 결합한 오디오 플레이어를 진행 중 입니다. 물론 mpg123 을 쓰기 때문에 mp3 까지만 재생 하기 때문에 fl_imgtk 로 GUI 효과를 주는 것에 대한 테크 데모 정도가 될 듯 합니다. 아래는 금일 까지 만든 데모의 실행 파일 입니다. 64bit Windows 에서만 구동 됩니다. 실제 mp3 를 test.mp3 란 이름으로 바꾸고 실행 파일과 함께 구동 하시면 album art 가 있을 경우 배경 이미지와, 이미지 전체를 자동으로 읽어 오게 됩니다. 음악 컨트롤은 따로 만들지 않았고, 설계가 Mac OS X 나, Linux 모두 구동 되도록 만들고 있기 때문에 내부에 audio..
wget 1.18 win32 M-SYS 나 Cygwin 등을 쓰신다면 WGET 이 미리 설치 되어 있거나, 쉽게 빌드 할 수 있습니다. 하지만 일반적으로 모든 PC 에 이걸 빌드 환경을 만들고 빌드 하고 할 필요는 없으므로 아래 URL 에서 쉽게 내려 받을 수 있습니다. https://eternallybored.org/misc/wget/ 자신의 시스템에 맞는 바이너리를 내려 받으시고, 받은 파일을 Program Files 안에 만들어 넣으시거나, 별도의 tool 폴더 안에 넣으 신 다음 PATH 에 이를 등록 하고 쓰시면 cmd 나 Power shell 등에서 쉽게 호출 해서 쓸 수 있게 됩니다. WGET 으로 내려 받을 수 있는 것은 기본 HTTP 나 FTP 는 물론, HTTPS 도 함께 지원 하며, -p -k 등의 옵션으로 이미..
AnyStreaming Win32 DirectX10 Client Version 0.3.7.62 MinGW version 5.2 (g++ version 4.9.2) 로 MultiCore Intel/AMD 에 맞게 빌드된 바이너리를 공개 합니다. 문제는 이 바이너리는 제가 만든 AnyStreaming 이 없으면 무용 지물 이란 것이 단점 이겠지만 ... DirectX 10 이상을 지원 하는 Windows 에서 구동 되며, 일반 RTSP 서버에도 연결 해서 쓸 수 있습니다. 이때 config.xml 을 수정 하여 접속 할 수 있으나, 실제 사용은 2번쨰 모드 (눈 모양 아이콘) 으로 접속 해야 시청이 가능 합니다. 지원 되는 비디오 모드는 FHD, HD, qHD, nHD 이며, fullscreen 의 경우는 모니터 해상도 전체를 사용하도록 되어 있습니다. 창의 위치는 상단 부분을 잡아 끌면 이동이 되며..
[FLTK] Win32 에서 HWND 를 제대로 못 얻어 올때 일단 조이스틱, 마우스, 키보드의 일정 값들을 산술화 하는 테스트 프로그램을 FLTK 로 제작 중 이었습니다만, 이게 왠걸 ... DriectX 의 DInput 에 SetCooperativeLevel() 에서 계속 실패가 나는 것 이었습니다. 대체 왜 이러나 하고 보니, ( Process Hacker 사용 ) 엄? FLTK 에서 fl_xid( window ); 로 가져 온 HWND 와 실제 FLTK 에서 사용하고 있는 HWND 가 다릅니다.... 대체 저건 어디서 나온 값이지 ... 그래서 이전에 만든 FLTK 조이스틱 테스트 하는걸 보면, 이건 또 fl_xid() 로 정상인 HWND 를 넘겨 줍니다 ... 대체 왜 ?? 왜 ?? 왜 ?? 아마 FLTK 에서 2개 이상의 window를 생성 하고 있는 상..
FLTK RTSP player ver 0.3.9.60 이번 버젼은 오디오 응답성을 제외 하고 비디오 자원 낭비를 줄이고 (이전 버젼은 너무 빨리 그려서 이전 버퍼까지 그리는 바람에 떨림처럼 보이는 문제가 있었습니다) 덤으로 CPU 낭비도 줄였습니다. 이미 그린 프레임은 그리지 않으며, 이로 인해 pause->resume 시 약간의 딜레이가 있을 수 있습니다. 현재 지원은 사실상 들어오는 비디오 크기 모든 사이즈를 지원 하며 (720p, 1080p, 또는 2K, 4K 등등 ..) 이는 전적으로 CPU 성능에 렌더링 프레임 수가 차이가 나게 됩니다. Intel Core i5-4460 기준으로 1080p 60Hz 는 30+ frames/sec 로 그릴 수 있습니다. CPU 사용률은 20% 정도를 사용하고, 720p 는 역시 30+ frames/sec 로 그립니다..
FLTK 1.3.3 TS(Thread Safe) Project 현재 GUI 시장에서 사실 QT 와 같은 덩치가 큰 GUI 도 있겠지만, 간단한/가벼운 걸 만드는데 과연 저 무거운걸 써야 하나? 라는 고민을 해야 하는 사람에게 FLTK 는 꽤 좋은 선택일 것 입니다. 그러나, FLTK 는 구조상 Thread 상에서 GUI 갱신을 무자비 하게 되면 알수 없는 Lock up 에 걸리는 문제가 생깁니다. (이 부분은 Fl.cxx 내에 구현된 wait/flush 관련 부분의 고질적인 문제로 파악이 되고, 특히 Windows 의 경우 HDC 와 HWND 의 무결성 검사 부분이 많이 누락되어 있습니다. (TTF 처리 부분 역시) 그래서 개인적으로 FLTK 1.3.3 을 기준으로 일부 코드를 수정한 TS 모델을 진행 중 입니다. 그래서 이름이 FLTK-1.3.3-TS 이며, 이는..
Porcess ID 로 해당 윈도우의 HWND 를 얻고 BMP 로 저장. 윈도우 프로그래밍을 하다보면 가끔 다른 윈도우의 화면을 갈무리 해야 하는 경우가 생깁니다. (Capture 처럼) 이럴때 아래의 코드 중 HWND GetHandleFromPID(DWORD pid); 함수를 사용하면 간단히 해당 프로그램의 HWND 를 얻을 수 있습니다. #include #include "winproc.h" typedef struct _ProcessCallbackData { DWORD m_pid; HWND m_hwnd; } ProcessCallbackData; BOOL CALLBACK EnumProc(HWND hwnd, LPARAM lParam) { DWORD pid = 0; ProcessCallbackData *pcbd = (ProcessCallbackData *)lParam; if ( ..
imebra 의 minGW 32bit pre-compiled library Free BSD project 중 쓸만한 DICOM read/write 라이브러리인 imebra 의 minGW 32bit 용 library 와 header, test code set 입니다. 2011년 4월 18일 밤 10시 48분 29초 빌드 소스를 이용해서 만들었습니다. imebra 공식 홈페이지 : http://imebra.com/ imebra Doxygen 홈페이지 : http://imebra.com/documentation/2011/html/main.html 사용법은 압축을 풀면 examples, include, lib, tests 폴더가 나옵니다. 이중 tests 는 QT lib 이 있어야 구동이 되는 것 이니 참조만 하시고, include 는 lib 에 있는 a 파일을 쓰기 위한 header..