Raspberry PI で FMOD Studio API を動かす

表題の通り。

FMOD (https://www.fmod.com/download) はゲームなんかでよく使われているサウンドライブラリらしく、Raspberry PI で使えるようにするまでの道のりを書く。

作業をはじめる前に、事前に自分のラズパイの ARM のバージョンを確かめておくとよい。

cat /proc/cpuinfo

このとき、Arm 6 だったら arm、Arm 7 だったら armhf というふうに ARM のバージョンを指定すればよい。 uname -aとかでも分かる。 ここではすべて armhf に統一して説明するので、適宜置き換えてください。

まず、アカウント登録を済ませて、 FMOD Studio API をダウンロード(https://www.fmod.com/download)。 あまり重くないので、アカウント登録だけ他のマシンで済ませて、Raspberry PI から直接ダウンロードすれば良いかなと思う。

ダウンロードしたら、適当に解凍して、適宜ものを移動させる。

tar -xvzf fmodstudioapiXXXXXlinux.tar.gz

API/lowlevel のうち、lib 以下を /usr/local/lib に、inc 以下を /usr/local/include へと移動させる。

sudo cp fmodstudioapiXXXXXlinux/api/lowlevel/lib/armhf/libfmod* /usr/local/lib
sudo cp fmodstudioapiXXXXXlinux/api/lowlevel/inc/*.h* /usr/local/include

これができたら、だいたい環境が整った感じ。 あとは、fmod.h をインクルードして、適宜コンパイル

api/lowlevel/examples の中に例も入っているので、適宜参照しつつやるのがわかりやすい。

ちなみに、サンプルは

make --file play_sound.makefile CONFIG=Debug CPU=armhf 

のように、CONFIG と CPU のパラメーターを指定して make しないといけない。

参考:

FMOD Running on Raspberry Pi

nvm のデフォルトのバージョンを変える

nvm ls
nvm alias default v???

でバージョン変更。ターミナルのセッション再起動で設定が読み込まれるはず。 再度 nvm ls でデフォルトになっているのが確認可能。

❯ nvm ls
         v4.0.0
->       v7.2.1
         system
default -> v7.2.1
node -> stable (-> v7.2.1) (default)
stable -> 7.2 (-> v7.2.1) (default)
iojs -> N/A (default)
lts/* -> lts/boron (-> N/A)
lts/argon -> v4.7.0 (-> N/A)
lts/boron -> v6.9.2 (-> N/A)

上記は出力一例。

ただ、もし default が自分が指定したいバージョンになっているもののうまく反映されていない場合、shell の rc ファイルでの nvm.sh の読み込み順によるものの可能性があるので、nvm.sh を読み込むのをできる限り後にずらす。変更後 source ~/zsh.rc (shellによって適宜変更)で反映されるはず。

MacOS Sierra を中国製 Arduino Nano につなぐと強制終了する

書いて字の如く、中国製の Arduino Nano を買って遊ぼうとしたところ、 OS 自体がシャットダウンするとかいうことが起きてた。 これは FTDI の代わりにCH340G とかいう ISP 用のチップを積んでいるおかげで、安価ではあるものの、ドライバーがバグ起こしてしまうため、らしい。

そこで以下のことをする: 1. ドライバ消す

sudo rm -rf /Library/Extensions/usbserial.kext

上記、OS によっては /System/Library/Extensions/usb.kext かも)

  1. 再起動

  2. ドライバ入れる

brew tap mengbo/ch340g-ch34g-ch34x-mac-os-x-driver https://github.com/mengbo/ch340g-ch34g-ch34x-mac-os-x-driver
brew cask install wch-ch34x-usb-serial-driver
  1. 再起動

  2. 差してみる

参考:

製造会社のドライバダウンロードページ

GitHub - adrianmihalko/ch340g-ch34g-ch34x-mac-os-x-driver: CH340G CH34G CH34X Mac OS X driver

Express & PostgreSQL & Passport

https://node-postgres.com/

GitHub - DayOnePl/dos-server: DOS is a boilerplate stack for building Node.js projects with Express & Postgres

Node authentication with Passport & Postgres – Real Life Programming

Node, Passport, and Postgres

NodeJS で Postgres を使う

とりあえずインストール

brew install postgresql
ln -sfv /usr/local/opt/postgresql/*.plist ~/Library/LaunchAgents

zshrcに、

alias pg-start="brew services start postgresql"
alias pg-stop="brew services stop postgresql"
alias pg-restart="brew services restart postgresql"

brew services 便利)

その上で、

source ~/.zshrc
pg-start
createdb `dbname`
psql -l // list all databases
psql -d dbname

で接続される。

接続後は普通にDBのコマンドを打つ。

参考:
Installing Postgres via Brew (OSX) · GitHub
http://www.postgresonline.com/downloads/special_feature/postgresql83_psql_cheatsheet.pdf
Heroku Postgres | Heroku Dev Center