개발/게임

SDL3(3) - C 버전 - 마지막

슈케르 2025. 4. 25. 12:03
728x90

audio 작업을 하려고 막았던 주석을 풀어보니 손댈게 많다.

 

SDL_QueueAudio를 SDL3 api 문서에서 찾아보니 더 이상 지원하지 않는 녀석이고, AI 님께 조심스레

여쭤보니

" SDL3에서는 SDL_QueueAudio()가 제거되었고, 오디오 처리가 콜백 기반으로 완전히 통합되었습니다."

 

X바 그냥 처음부터 알려주지!

아무튼 audio callback 함수와 play함수를 구현해서 넣으면 된다.  chatGPT로 생성한 코드를 

붙여넣었다. 

 

** 여기서 여담 한가지 **

카피앤페이스트하니 갑자기 옛추억이 떠오른다. 첫 직장때 즉, 20대 후반의 일이다.

늦은밤 10시쯤 휴게실에서 동기 녀석이랑 커피한잔 하고 있는데, 2~3명이 무리지어 들어오면서 

이렇게 이야기를 하더라. "소프트웨어 쉐끼들 copy and paste 도 못하나 그거 뭐 어렵나.."

음.. 하드웨어 녀석들이다.  순간 빡이 쳐서리...  동기 녀석 처다보면서 그녀석들 들으라는듯이 크게 

말했다. "하드웨어 쉐끼들 조립도 제대로 못하나... 그냥 레고 놀이 같은거 아니냐?" 

ㅋㅋㅋ 순간 휴게실 분위기 ㅎㄷㄷ

 

LG 그램에 탑재된 copilot으로 그려본 이미지.. 오~ 괜춘하다.

 

그렇다. 혹시 이글을 읽는 하드웨어 개발자분이 있을지는 모르겠다. 유감이다.

 하드웨어 개발자분들 힘든거 안다. 특히 제조업은 공장/QA/협력업체 등등 스트레스 심한거 안다. 

하지만 서로 알지 못하는 분야에 쉽게 이야기하지 말자. chatGPT로 쉽게 코딩하는 시대라고?

그래도 어느정도 지식과 경험과 노력이 없으면 어려운 분야다. 

나는 개인적으로 하드웨어 사람들 좋아한다. 성격이나 노는 스타일이 잘 맞더라.. 

 

아무튼... 다시 코드로 돌아가서

음.. 여기저기 컴파일 에러.. 어차피 intellisense + copilot 조합으로 작업중이라 눈에 바로 보이긴 한다.

 

아... 이런... chatGPT 님.. 저를 똥깨 훈련 시키는 겁니까?

공손하게 따져보았다.

 

씨x, X바~

 

음... chatGPT 쉐끼랑 약간 실랑이를 벌였다...

 

 

 

ㅋㅋㅋ 아까는 콜백 방식을 쓴다메!!!   ㅋㅋㅋㅋ 어이 상실~

그냥 bgm 돌아가기만 하면 오케이인데 뭔 .. 개.. C ...  

 

 

그래서 그냥 클래식한 방법으로 해결했다.

https://examples.libsdl.org/SDL3/audio/03-load-wav/

 

SDL3 Example: audio/03-load-wav

If you're running this in a web browser, you need to click the window before you'll hear anything! <br/> <br/> This example code creates a simple audio stream for playing sound, and loads a .wav file that is pushed through the stream in a loop.

examples.libsdl.org

 

아래 example 코드를 보고 조금 다듬었다...

audio 소스가 지저분해서 파일도 두개로 나누었다. 스코어 부분은 귀찮다.   그냥 C++버전으로 포팅할때 그때

작업을 하던가 하겠다.

 

아무튼

자 알~ 나온다.

 

 

C + SDL3 버전 최종 commit 이다.

귀찮아서 이쁘게 정리는 안했다.

https://github.com/kchhero/suker_vs_project/commit/492e064cfb875c11b9226012ee757aba0ee97cc2

 

SimpleUpdate: wav audio · kchhero/suker_vs_project@492e064

Wav Audio background function update. Signed-off-by: choonghyun Jeon <kchhero@gmail.com>

github.com

 

 

728x90

'개발 > 게임' 카테고리의 다른 글

SDL2(5) - RUST 버전  (0) 2025.05.30
SDL2(4) - RUST 버전  (1) 2025.05.30
SDL3(4) - CPP 버전1  (0) 2025.04.28
SDL3(2) - C 버전  (0) 2025.04.24
SDL3(1) - C버전  (5) 2025.04.23