본문 바로가기

내가 작업한 것들/소프트웨어

FLTK MPG123 GUI Player tech demo version 0.1.2.15


 간만에 여유가 생겨 FLTK MPG123 GUI Player tech demo 의 기능을 좀 더 향상 한 것을 올려 보고자 합니다. 이번 버젼은 다음과 같이 많은 기능들을 개선 하였습니다.


개선점

  • fl_imgtk 를 AVX 명령어만 쓰도록 하던것을 SSE 로 변경 -> 이제 Core2Duo 이상에서 실행 가능,
  • 내부 PThread 내에서 UI 업데이트시 발생하는 이상현상 (바탕 화면에 그려 지는 문제나, UI 가 멈춘것 같이 표시 되는 현상) 수정

  • 곡 목록이 길 경우 자동으로 marquee 가 되도록 구현 함. (새로운 Fl_Marquee_Label 제작)
  • List 화면 구성 변경, 가독성을 위해 배경을 검은색으로 처리 (사실은 다른 이유도 있지만 다음 버젼에 수정 에정)
  • 이전곡/재생(또는 멈춤)/다음곡 이 위치하는 컨트롤 부에 몇가지 기능을 더 추가: 윈도우 크기 말아 올려 앨범아트 크기만큼 줄이기)
  • 현재 재생중인 곡의 순번 위치 표시 변경
  • 창 크기를 최대로 키울때 위치에 따라 화면 왼쪽이나 오른쪽에 자동으로 붙게 함.

자세한 사항은 아래에 좀 더 자세히 기술해 보겠습니다.


그림으로 보는 좀 더 자세한 설명



 재생 화면은 이번 버젼과 달리 배경의 어두움이 조금 조정 되었습니다. 기존에 80% 를 낮추던 것을 50% 정도로 변경 하였습니다. 또한 배경 생성시 필터를 Nearest 에서 Bilinear 를 쓰도록 하였습니다.



 컨트롤부 왼쪽 위의 세모 버튼을 누르면, 아래 이미지 처럼 윈도우 크기를 앨범아트 표시 정도 까지 줄입니다. 단, 컨트롤 바로 아래엔 곡의 재생 위치가 표시 되는 영역은 줄이지 않았습니다.



 또한 창의 타이틀 영역이나, 최대 크기 버튼을 클릭 해서 최대 크기로 키울 경우, 현재 창의 위치에 따라 화면 가운데로 기준으로 자동으로 왼쪽이나 오른쪽에 붙도록 하였습니다.



 또한 목폭 표시 기능도 변경 한 부분이 있습니다, 이 기능은 기존 버젼과 거의 동일 하지만, 컨트롤 부에 있는 목록 아이콘을 클릭 했을 경우, 목록이 있을 때만 목록창이 표시 됩니다.




 목록 표시는 위와 같이 변경 되었으나, 다음 버젼엔 앨범 아트가 있을 경우 썸네일 까지 표시 되도록 할 예정 입니다. 다만, 이렇게 할 경우 확실히 메모리 사용량이 기존보다 더 커지므로 적용을 고려 해야 할 듯 합니다.


 아직은 테크 데모용 이다 보니, 목록 저장기능을 만들지 않았습니다. 아래의 몇가지 버그들이 고쳐 지는 대로 실제 쓸 만한 독립 프로그램으로 되도록 해 볼 생각 입니다.


현재 버그나 모자란 기능

  1. DirectX sound 출력시 버퍼 변경시 미세한 잡음이 발생하고 있음
  2. 목록 저장이나 읽어 오기기능 없음.


다운로드(64bit Windows PE)

fm123gui_01215.7z


 현 버젼 부터 낮은 사양의 CPU 에서도 구동이 가능하도록 하였습니다 (내부 GUI 안정성 향상이 이유), 대부분의 SSE 명령어를 지원하는 CPU 라면 문제 없이 구동이 가능하며, 되도록 Core 가 2개 이상인 CPU 이상에서 사용하시는 것을 추천 드립니다. 내부적으로 다음 기술들을 사용 하였습니다.

  • (GCC) FastMath
  • (GCC) OpenMP

이 프로그램에 대해 문의 사항이 있으시다면 언제든지 방명록 등에 글을 남겨 주시면 반영 해 보도록 하겠습니다.

또는 다음 URL 에서 프로그램 개발에 참여 하실 수 있습니다.



참여에 필요한 기술 필요 사항

  • GCC ( 함께 이해 하면 좋은 것들 : MinGW-W64, XCode, LLVM )
  • ALSA 또는 DirectX , 또는 Mac의 CoreAudio
  • FLTK ( 또는 Windows GDI, 또는 Unix, Linux 의 X11 , 또는 Mac OS 의 Quartz )
  • Open source