내 맘대로 연주

ROLE
입력 병렬 처리, 멜로디 작성, 악보 공유
DURATION
2019.10 ~ 2019.11
TEAM
팀 프로젝트 (3인)
TECH STACK
C++, MFC

프로젝트 요약

  • 프로그램 시작 시 악기는 스레드로 백그라운드에서 대기하며 동시 입력을 받을 수 있다.​
  • 멜로디는 배열화하여 행은 시간 열은 음의 높낮이로 구분하여 재생 시 ​ Timer가 마디 시간 단위(재생속도) 기준으로 재생한다.​
  • TCP/IP 소켓 통신을 통해 서버에 멜로디를 배열로 저장하고 다른 클라이언트에서 해당 멜로디를 재생할 수 있다.​

개발 문제 및 해결

  • 작성한 멜로디를 출력시켰을 시 한마디가 여러 번 출력되는 문제가 발생하였다.

    해당 문제는 멜로디 출력 당시 배열을 읽는 기능의 순서를 변경하여 중복 출력되지 않도록 하였다.

  • 소켓 통신 시 멜로디가 정상적으로 공유되지 않는 경우가 발생하였다.

    해당 문제는 멜로디 공유 시에 배열을 문자열로 변환하고 내려받을 때 문자열을 배열로 변환하여 해결하였다.​

시각 자료

프로그램 UI

악보 제작 및 서버 저장