• 북마크
  • 추가메뉴
어디로 앱에서 쉽고 간편하게!
애플 중고 거래 전문 플랫폼
오늘 하루 보지 않기
KMUG 케이머그

소프트웨어

[App 개발] 10 bytes extended 형 데이터 처리.

본문

안녕하세요?

계속해서 Aiff 파일을 공부하고 있는데요.

헤더에 들어가있는 short, long, char 등의 데이터형의 데이터는 쉽게 읽고 쓸수가

있는데, Wave 화일과는 달리 Aiff 파일은 Sample Rate 를 기록하는 데이터의 데이터형이

10 byte extended 형 이라고 되어있어서요. 10바이트 짜리 데이터형은 표준 C++ 에는

존재 하지 않는것 같은데, 이럴경우 어떻게 해야 할까요?

헤더의 내용을 읽고 쓰기위해 헤더를 한개의 구조체로 만들고 이구조체의 포인터와

구조체의 사이즈를 조사해서 read(), write() 함수를 사용하고 있는데요,

이 구조체안에 10바이트 크기의 데이터형으로 되어있는 샘플레이트 를 포함시키려면

어떻게 해야할지..

데이터형을 직접 만들어야 하나요? 그러려면 어떻게 해야하나요? Wave 화일에서는

샘플레이트가 롱 형으로 되어있는데, 사실 롱형의 데이터만으로도 샘플레이트를 표현하기

충분하다 생각하는데, 왜 Aiff 는 10바이트나 되는 데이터형을 사용하는지 그것도 사실

이해가 안되고요...

초보적인 질문이지만, 고수님들 알려주세요....

그럼.
0 0
로그인 후 추천 또는 비추천하실 수 있습니다.
포인트 376
가입일 :
2003-12-29 23:10:04
서명 :
미입력
자기소개 :
미입력

최신글이 없습니다.

최신글이 없습니다.

댓글목록 2

hongjuny님의 댓글

10 byte extended 형은 IEEE 754 포맷입니다. 처음 두 바이트가 exponent, 나머지 8 바이트가 fraction 이지요. 애플은 가만 보면 처음에 데이터 형을 엄청 넉넉하게 잡아 놓습니다. 다른 좋은 예가 퀵드로우 같은 놈도 컬러 테이블이 한 색상당 32비트씩 할당되어 있지요. 절대로 32비트 곱하게 4 의 코덱이 쓰일 것 같지 않은 세상에서 말입니다. 그런데, 그 덕분에 크게 덕을 본 경우가 지난 1999 > 2000 년에 있었던 밀레니엄 버그의 홍역을 매킨토시는 치르지 않았다는 점이죠. 그 때 애플은 호언장담 했죠. 몇만년이 되어서야 문제가 생길거다. 그리고 그 때를 대비해서 우리는 이미 준비하고 있다. (헐~)
어쨌든, 10 바이트 형태를 만약 다른 컴퓨터에서 써야 한다면 형변환을 해 주어야 합니다. 가장 만만한 놈은 더블 형이죠.
그런데, 매킨토시에서 사용하는 데이터 청크인데, 매킨토시용 컴파일러가 지원하지 않을 리가 없죠? 상식적으로 생각해서 말입니다. ^^ 네. 매킨토시 컴파일러에는 10 바이트 데이터 타입이 있습니다. 표준 C 는 아닙니다. 따로 형이 구현되어 있겠지요? 어쨌든 그것이 "extended80" 이라는 데이터 타입입니다.
저, 그리고 김태헌님께서 어떤 목적으로 프로그램을 작성하시는지 잘 모르겠어서 지난번에는 확실히 잘 답변을 못 해드렸습니다. 이번에도 좀 그렇긴 합니다만... 단순히 AIFF 포맷을 활용하는 방법을 공부하시는 것이라면 데이터 청크의 structure 를 따로 선언해 주셔도 됩니다만, 소프트웨어 구현이 더 큰 목적이라면... 카본 라이브러리에 AIFF 루틴이 있습니다. 그리고 지금 선언하시는 struct 들도 AIFF.h 에 이미 선언되어 있습니다. (이미 아시는 걸 제가 헛다리 짚고 있는 건가요? ㅡㅡ; ) 카본 라이브러리를 먼저 살펴보시면 소프트웨어 구현에 큰 도움이 되실 것 같은데...

김태헌님의 댓글

아! 그런것이 었군요! 답변 정말 감사합니다. Aiff를 공부했던건, 파일포멧에 대해 알고 싶기도 했고, 그걸 통해서 프로그래밍도 공부하고 하고 이런 목적이었습니다. 자꾸자꾸 헤더 스트럭쳐를 처다보니까 이제 스트럭쳐가 대충 머리속에 박혀 있는거 같아서 좋아요... 말씀하신대로 이제 전문가들이 만들어놓은 소스들을 보면서 비교해봐야겠습니다. 답변 정말 감사합니다.
아 아 나 도 공 부 좀 잘 했 으 면 좋 겠 다.............^^

전체 4 건 - 1 페이지
2004.05
15

[App 개발] 맥에서 Qt 사용 어떤가요?

사운드신세시스 프로그래밍을 공부하는데요 아무래도 GUI 가 필요해서 GUI 프로그래밍을 보려하는데, 리눅스환경에서 만들고 있어서 Qt 를 사용해서 GUI 를 만들어보려고요. 그런데 Qt 소개를 자세히 보니까 멀티플랫폼 API 이어…

2004.02
10

열람중 [App 개발] 10 bytes extended 형 데이터 처리.

안녕하세요 계속해서 Aiff 파일을 공부하고 있는데요. 헤더에 들어가있는 short, long, char 등의 데이터형의 데이터는 쉽게 읽고 쓸수가 있는데, Wave 화일과는 달리 Aiff 파일은 Sample Rate 를 기록하는 데이…

2004.02
01

[App 개발] c++ file io 에서 기초적인 질문입니다.

Aiff 화일 헤더분석하는 프로그램을 만들어보려고 하는데요, 그냥 콘솔형으로 하려고, gcc 를 사용해서 하고 있습니다. 파일 입출력을 위해 ifstream 을 사용하는데요, aiff 화일로 부터 1바이트 char 형 데이터를 읽기위해…

2003.12
29

[App 개발] 오디오 어플리케이션을 개발하고 싶습니다.

아직 맥을 가지고 있지는 않지만, 매킨토시 기반으로 오디오 프로그램을 개발하고 싶습니다. 혹시 맥으로 소프트 신서나 브이에스티 플러그인등을 개발하는것에 관심이 있으신분이 계신가요 제가 아직 초보라서 모르는것이 너무 많습니다…