備忘録 Google Music βのMusic Managerを通知領域に出すGmailを新しいデザインに変更

2011年10月29日

Apple Lossless Audio Codec Project

なにやらApple Lossless Audio Codec Project 『 Apple Lossless Audio Codec http://alac.macosforge.org/trac/wiki 』  でオープンソース公開という話。ネタ元はいろんなニュース。

とりあえず、 コンパイルしないと、となるよね、フツーw


というわけで、早速ソースをゲットする。
$ svn checkout http://svn.macosforge.org/repository/alac/trunk ALAC
A    ALAC/trunk/convert-utility
A    ALAC/trunk/convert-utility/CAFFileALAC.h
A    ALAC/trunk/convert-utility/ALACconvert.vcproj
A    ALAC/trunk/convert-utility/main.cpp
convert-utilityの所までおりてmake
$ cd ALAC/convert-utility/
$ make
g++ -I ../codec -g -O3 -c main.cpp
In file included from ../codec/ALACEncoder.h:29:0,
                 from main.cpp:26:
../codec/ALACAudioTypes.h:64:32: warning: multi-character character constant
../codec/ALACAudioTypes.h:65:28: warning: multi-character character constant
../codec/ALACAudioTypes.h:154:22: warning: multi-character character constant
../codec/ALACAudioTypes.h:182:2
...
CAFFileALAC.cpp:424: undefined reference to `Swap32BtoN'
CAFFileALAC.cpp:425: undefined reference to `Swap32BtoN'
CAFFileALAC.cpp:443: undefined reference to `Swap32BtoN'
collect2: ld returned 1 exit status
make: *** [alacconvert] エラー 1

ありゃ、エラーw
ってことで 上の方をみると
 
 g++ -Wall -L../codec -lalac main.o CAFFileALAC.o  -o alacconvert

これってアレだよなと思いつつリンクするライブラリを後ろに持っていく。とりあえずコマンドラインで試すと

$ g++ -Wall -L../codec main.o CAFFileALAC.o -o alacconvert  -lalac
$ ls
ALACconvert.sln     ALACconvert.xcodeproj  CAFFileALAC.h  alacconvert  main.o
ALACconvert.vcproj  CAFFileALAC.cpp        CAFFileALAC.o  main.cpp     makefile 

無事にできてる。
というわけで今後リポジトリからpullしてmakeするときのためにmakefileをなおしておいた。
$ svn diff 
Index: makefile
===================================================================
--- makefile    (リビジョン 3)
+++ makefile    (作業コピー)
@@ -1,7 +1,7 @@
 # alacconvert make
 
 CFLAGS = -g -O3 -c
-LFLAGS = -Wall -L$(CODECDIR) -lalac
+LFLAGS = -Wall -L$(CODECDIR)
 CC = g++
 
 SRCDIR = .
@@ -30,7 +30,7 @@
 
 alacconvert:   $(OBJS)
        (cd $(CODECDIR); $(MAKE))
-       $(CC) $(LFLAGS) $(OBJS) -o alacconvert
+       $(CC) $(LFLAGS) $(OBJS) -o alacconvert -lalac
 
 main.o : main.cpp
        $(CC) -I $(INCLUDES) $(CFLAGS) main.cpp

で、テスト
$ cd /tmp
$ cp /usr/share/skype/sounds/CallConnecting.wav ./
$ alacconvert CallConnecting.wav test.caf
$ alacconvert test.caf test.wav
$ ls -l CallConnecting.wav test.wav 
-rw-r--r-- 1 ore ore 64044 2011-10-29 15:06 CallConnecting.wav
-rw-r--r-- 1 ore ore 64044 2011-10-29 15:08 test.wav
$ cmp -l CallConnecting.wav test.wav
差分ないってことで一応可逆変換になってるってことでOK(なのかな?)

このエントリーをはてなブックマークに追加 Share on Tumblr Clip to Evernote
highfrontier at 15:18│Comments(0)linux | apple

コメントする

このブログにコメントするにはログインが必要です。

備忘録 Google Music βのMusic Managerを通知領域に出すGmailを新しいデザインに変更