能書き
@implicit_none さんの紹介記事の出た fpm (Fortran Package Manager) を使ってみました。
makefile を書くのもだるいし automake も流行らないようだしで、楽ちんそうなfpm に浮上してもらいたいです。最近 rust の cargo のようにネットから必要なライブラリのソースを引っ張ってこれるようにもなったようなので期待上げです。
mp1 encoder
題材としては、以前記事にした mp1 encpoder を使ってみました。
とりあえず fpm 設定が出来ているならば(これが結構めんどかった)github から落としてきて fpm build を何回か繰り返せばおkです。
$git clone https://github.com/cure-honey/uzura1_fpm.git
$cd uzura1_fpm
$fpm build --release
$fpm build --release
... (何回か繰り返す必要あり)
$fpm test
(test/sweep.wav を test/sweep.mp1 に変換)
$build/app/gfortran_release/uzura1_fpm WAVファイル名
(コマンドライン引数に変換するファイル名[拡張子抜き]を書くので、fpm run は無理?)
fpm.toml ファイルの書き方がよく分からないので、メインプログラムは app/main.f90 に、残りの module 群は 1 モジュール 1 ファイルにしてファイル名とモジュール名を同じにしました。というか、そうしないとうまくいきませんでした。fpm.toml で main.f90 などは変えられるようです。
その他
少しだけ命名法を変えて、インデントを4スペースにしてみました。モノラルファイル場合にバグがあったので直しておきました。また maxloc/minloc 関数の挙動を最近のものに合わせるように直しました。
お粗末ですが、これでおしまい。