몇달째 Python만 손대다보니 C, C++ 문법조차 다 잊어버린 상황.
다시금 C, C++ 감을 찾기위해 Programming Challenges 책을 꺼내들었다.
심심할때마다 처음부터 차근차근 하나씩 풀어가기 위해.
처음으로 풀어본 문제는 예전에도 이미 한번 풀어본 적 있는 '3n+1 Problem'.
아직 이 문제를 효율적으로 풀 수 있는 알고리즘을 제대로 이해하지 못해서 직관적인 방법으로 풀었던니 실행시간이 너무 길다.(최단시간 0.008초, 내껀 0.828초...-_-)
효율적인 알고리즘을 공부 한 뒤에 다시 풀어봐야지...~_~

* 문제

* C 버전 소스코드

* C++ 버전 소스코드

iTMS(iTunes Music Store)에서 다운받은 파일의 경우 DRM이 걸려있다.
최근에 iTMS Plus에서 DRM Free 파일을 판매하기도 하지만 종류도 적고 가격도 DRM걸린 파일보다 비싸다.
iTMS DRM이 걸려있는 파일의 경우 iTunes나 iPod에서밖에 재생이 안되기때문에 불편하다.
다른 MP3P에서 재생하기 위해서는 이 DRM을 풀어야하는데, 그 방법을 소개한다.
인터넷을 살펴보면 iTMS DRM을 풀기위한 툴이 여러가지 존재하는데, 제대로 실행이 안되는 툴들이 대부분이었다.
안되면 그냥 안쓰자 주의라서;; 찾다가 제대로 동작하는 툴을 찾았다.
바로 QTFairUse6이다.
사이트는 http://www.hymn-project.org/forums/viewtopic.php?t=1553 이다.
우선 해당 사이트를 방문해서 프로그램 파일을 다운로드 받는다.

사용자 삽입 이미지

위에 붉은색으로 표시된 부분이 다운로드 받을 파일이다.
밑에 소스코드는 필요하면 받아서 수정하든지 Python으로 직접 실행하면 된다.
하지만 귀찮으므로 그냥 실행파일 들어있는걸로 받아라 -_-;
파일을 다운로드 받았다면 적당한 폴더에서 압축을 해제한다.

사용자 삽입 이미지

압축을 해제한 상태의 파일 리스트이다.
압축 푼 폴더 내에 실행파일이 두개 보이는데 QTFairUse6.exe 파일이 Win32 Application이고, QTFairUse6console.exe는 콘솔에서 작동하는 Application이다.
취향에 맞게 실행하면 되는데, 콘솔보다는 Win32 Application이 훨씬 편리하다.
일단, 프로그램을 실행하라.

사용자 삽입 이미지

프로그램을 실행한 화면이다.
이것저것 복잡한게 영어로 써 있으니 머리아프겠지만 필요한건 몇개 안된다.
일단 맨 위에 라디오버튼으로 되어있는 부분부터 설명한다.
'Process all protected files in iTunes library'는 iTunes Library에 포함된 모든 DRM파일을 DRM Free 파일로 변환할 때 사용하는 옵션이다.
그 밑에 'Process just these files(drag files from Explorer onto this list to add them)'옵션은 몇개의 파일을 골라서 DRM Free로 변환할 때 사용하는 옵션이다.(탐색기에서 바로 드래그해서 리스트에 추가할 수 있단다)
이 글에서는 두번째 옵션을 이용해서 변환하려고 한다.
두번째 옵션을 선택하면 'Add files...'와 'Remove selected'버튼이 활성화 된다.
'Add files...'버튼을 눌러서 파일을 추가하든지 탐색기상에서 바로 드래그 해서 파일을 추가하든지 그건 자유다.
맘대로 하면 된다;;
어쨌거나 파일을 리스트에 추가하면 아래와 같은 화면이 나온다.
실수로 파일을 잘못 추가했으면 해당 파일을 선택하고 'Remove selected'버튼을 클릭하면 된다.

사용자 삽입 이미지

파일리스트 밑에 보면 여러가지 옵션이 체크박스 형태로 나와있다.

 - Decrypt protected files : DRM이 걸려있는 파일을 복호화 한다.(즉, DRM Free 파일로 만든다)
 - Do decrypt even if decrypted version already exists : 이미 복호화 되어있는 파일이 존재할 경우, 다시 복호화 할것인지 여부를 결정하는 옵션
 - Automatically replace protected files with new decrypted files in the iTunes library and all playlists : 자동으로 iTunes Library와 모든 Playlist상에 들어있는 DRM파일들을 복호화된 파일로 교체해주는 옵션
 - Backup your current iTunes library index files before starting : iTunes library index 파일을 백업하는 옵션
 - After decryption, move original protected files to the backup folder : 복호화 후에 DRM이 걸려있는 원래 파일을 백업폴더로 옮길지 여부를 결정하는 옵션

그 밑에는 백업폴더의 경로를 선택할 수 있는 부분이 있다.

모든 옵션을 다 확인했으면 'Start conversion' 버튼을 누른다.

사용자 삽입 이미지

그러면 위와 같은 과정을 거치면서 확장자가 m4a 파일이 생성된다.(원본은 확장자가 m4p이다)
이 파일이 DRM이 풀린 파일이다.
아래는 탐색기상에서 원본파일과 DRM이 풀린 파일의 모습이다.

사용자 삽입 이미지

이제 DRM이 풀렸다.
하지만 최종 목적은 어떠한 MP3P에서도 재생되는 MP3 파일을 생성하는 것이다.
m4a 파일은 iTunes에서밖에 재생되지 않기때문에 이 파일을 MP3 형식으로 변환하는 과정이 필요하다.
이 작업은 iTunes 자체에서 지원하기때문에 쉽게 할 수 있다.
일단 DRM이 풀린 파일을 iTunes에서 보관함이나 구입함에 추가한다.
iTunes를 사용해봤다면 어떻게 하는것인지 다들 알거라 믿고 따로 설명은 안한다.

사용자 삽입 이미지

파일 추가를 했다면 위와 같이 MP3로 변환할 파일(DRM이 풀린 파일)을 선택한 후 오른쪽마우스 클릭 후에 '선택항목을 MP3로 변환' 버튼을 눌러준다.
그럼 iTunes가 알아서 MP3 파일로 변환해준다.
참고로 오른쪽마우스를 클릭했더니 '선택항목을 MP3로 변환' 이라는 항목이 없다면 iTunes 옵션을 만져줘야된다.
위에 메뉴바에서 편집을 클릭하면 여러가지 메뉴가 뜨는데, 거기서 '기본 설정'으로 들어간다.
그럼 아래와 같은 창이 뜬다.

사용자 삽입 이미지

위에서 붉은색으로 표시된 부분을 설정해주면 된다.
'선택항목을 MP3로 변환' 이라는 항목이 없다면 아마 저부분이 AAC인코더나 Apple lossless인코더로 설정되어있는것이다.
그걸 MP3 인코더로 바꾼 뒤에 음질을 적당히 조절하면 된다.
참고로 음질의 숫자를 높일수록 고음질의 파일이 생성되지만, 192kbps가 넘어가면 거의 구분할 수 없으니 용량절감을 위해 192kbps 정도로 해두는게 가장 좋다.
설정이 다 끝났다면 '선택항목을 MP3로 변환' 버튼을 클릭해서 MP3 파일로 변환하면 모든 작업이 끝난다.


다시한번 말하지만 이러한 과정을 통해서 불법복제를 하자는게 아니라 정당하게 돈 내고 받은 파일을 가지고 있는 MP3P에서 듣고자 하는것이다.
MP3 파일 하나때문에 iPod을 사기는 돈 아깝지 않은가? ;-) (애초에 iTMS가 아닌 국내 사이트에서 다운받으면 모든게 해결되지만...iTMS에서만 구입할 수 있는 곡도 많다)
해보고 잘 안되거나 이해가 안가는 부분이 있다면 개인적으로 문의하시길;;

* 직접 작성한 글입니다. 글 내용을 스크랩 하거나 다른곳에 가져갈분은 미리 말씀하시길.

결국 개봉했다;
개봉한건 일주일 넘었지만 귀찮아서 포스팅은 이제서야;;
암튼....친구가 NDSL이 너무 갖고싶고 돈은 없다길래 그냥 DJMAX 한정판 2개랑
교환해줬는데....
이건 뭐 미개봉이라도 원가 이하로 판매가 되니....
한개는 이미 원가에 팔았지만 나머지 하나는 하도 안팔려서 그냥 개봉해버렸다. ㅠ.ㅠ
덕분에 요새는 DJMAX2나 하고있는 신세;;
워낙 리듬게임은 못하는 사람이라 고생중이지만 이것도 나름 재미있는것같긴 하다.
물론 5, 6 Button으로 올라가면 손도 못대지만;;


사용자 삽입 이미지

한정판 패키지, 한정판 답게 크다;;

사용자 삽입 이미지

자석으로 고정된 뚜껑을 열면 이런 모습

사용자 삽입 이미지

왼쪽부터 OST, 게임 UMD, 퍼즐 순서로 나열되어 있다. 이게 첫번째 레이어다.

사용자 삽입 이미지

두번째 레이어, 위에 첫번째 레이어에 있던것들을 들어내면 Visual Art Book이 나온다.

사용자 삽입 이미지

세번째 레이어, 무슨 이상한 가면같은게 들어있다;;

사용자 삽입 이미지

OST와 게임 UMD는 따로 케이스에 담겨져 있다.

사용자 삽입 이미지

게임 UMD, 한정판은 일반판이랑 다른게 뭔가???

사용자 삽입 이미지

OST, 아직 미개봉상태로 남아있다;;

사용자 삽입 이미지

따로 케이스에 담겨진 500피스짜리 Jigsaw 퍼즐, 아직 맞춰보진 않았다.

사용자 삽입 이미지

퍼즐 상자를 열어보면 이런게 나온다. 포스트 하나랑 퍼즐 쪼가리;;, 그리고 엽서처림 생긴 물건...

사용자 삽입 이미지

포스터는 다 펴면 이정도, 근데 저 여자분 눈이 왜 저래? 술 한잔 드셨나...풀렸네;;

사용자 삽입 이미지

01-1 이라는 숫자가 있는걸 보면....다른 버전도 있는겐가?

사용자 삽입 이미지

문제의 가면, NB레인저인가?? 그런게 있다는데 관심밖이라 잘 모르겠다;

사용자 삽입 이미지

Visual Art Book, 이것도 별로 관심 없다;;

사용자 삽입 이미지

Visual Art Book 내부를 들여다보다가 발견한것, 어딜가나 최적화가 문제구만...개발자의 눈물...남얘기같지가 않다;

사용자 삽입 이미지

마지막으로 UMD케이스 내부 사진

사용자 삽입 이미지

UMD와 설명서를 빼면 뒤에 이런 모양이다

+ Recent posts