728x90

fmod는 c로 음악을 출력하려고 하는 사람이 있다면 선택할 수 있는 아마 가장 좋은 라이브러리가 아닐까 싶다.

왜냐하면 대부분 사람들은 사운드를 출력하기 위해서 기본적으로 찾는 방법은

아마 윈도우즈의 playsound함수가 아닐까 싶은데 이 함수의 치명적인 결함은 채널을 1개만쓰기에 음악을 여러개를 출력할수 없다는것.

이는 채널의 문제이기에 스레드를 사용해도 똑같다.

자연히 다른 방법에 눈을 돌리게 되는데 그 방법중 하나가 fmod이다.

사실 윈도우즈에서 만들거라면 fmod가 아니라 mci를 사용하는 방법이 있고 이게더 쉽긴하다.

다면 fmod로 만들면 적어도 코드는 맥과 윈도우즈를 공유하기 때문에 별탈 없이 사용가능할것이다.


그 fmod를 맥에서, Xcode를 이용해서 사용하는 방법을 포스팅 하려고한다.

또한 새로운 fmod버전의 사용법역시 포스팅하려하는데 fmod가 버전이 변경되면서 사용법이 아예 변경되었다.

그런데 아직도 2017년 6월기준 다른데는 전부 옛날 fmod로 포스팅이 되어있던데

이게 오픈소스가 아니라서(라이선스는 상용만아니면 공짜이다) 예전 릴리즈를 구하기가 쉽지가 않다.

그래서 새로운 버전에서 되는 방법을 포스팅 할것이다.


윈도우즈 버전은 뒤에 올렸으니 참고하기로하자.

[window]fmod사용하기





이 사이트는 fmod사이트이다. 들어가면 당연히 옆의 Download를 클릭해주면된다.





들어가서 내려가면 FMOD Studio Programmer's API어쩌구 저쩌구가 있는데 이걸 맥용으로 다운받자.

참고로 FMOD studio를 받는게 우리 목적이 아니므로 실수로 fmod 스튜디오를 받지는 말자.

받아도 상관은 없겠지만 그거 받는다고 C에서 쓸 수 있진 않다.





설치 후 Xcod를 켜준다.





프로젝트는 아무거나 파도된다.

필자는 Command Line Tool을 선택했다.





C++에서도 되겠지만 우리는 C를 쓰므로 마찬가지로 C를 선택한다.





프로젝트를 한번만 클릭하면 이렇게 환경설정으로 들어갈 수 있는데 BuildSetting을 누르고

찾는데서 search path를 검색하면 아래와 같이 나온다.






그 중에서 Header Search Paths를 선택한다.





그런 다음 설치 경로를 간다. 그 중에서 lowlevel/inc파일을 선택한다.





또한 studio/inc파일 역시 선택한다.





그러면 이렇게 두가지가 Header Search Path에 선택될 것이다.

이작업을 Debug모드와 Releas모드 모두 해주자.





이제 Build Setting에서 Other Linker Flags를 검색해서 찾는다.





여기서는 lowlevel/lib에 있는 라이브러리와 studio/lib에 있는 라이브러리를 넣는데 debug와 release는 각각 다른게 들어간다.

debug는 라이브러리 이름끝에 L자가 있는것을 넣고 release는 없는것을 넣는다. 반드시 지켜준다.






이제 프로젝트로 돌아와서 새로폴더를 만든다. 이름 아무거나해도 상관없다.

어짜피 동적라이브러리만 넣으면 땡인 폴더다.





그 다음 Runpath Search Paths에 그 폴더를 드래그 해서 넣어준다.

그러면 옆에 환경변수가 뜨는데 그러면됬다.





그 다음 아까 그 폴더에 동적라이브러리를 넣어주자.

위와같이 따라하라.





그러면 이렇게 프로젝트에 아예 추가된것을 알 수 있다.






그 다음 Library에 현재경로를 라이브러리 경로를 넣어주면된다.





그림에 잘못된게 있는데 3개가 추가되있는데 1,2번은 필요없다. 즉 라이브러리경로만 넣어주면된다.





이렇게 프로젝트레 동적라이브러리가 존재해야한다.

이제 기나긴 준비가 끝났다.





이것은 실행 예제코드이다. 다른건 과거의 다른 블로그를 참고해도 문제는 없다.

문제는 CreateSound와 PlaySound인데 함수의 파라메터를 위와같이 사용해주어야한다.

이제 문제없이 실행 될것이다.

+ Recent posts