httmpc
mpd サーバのフロントエンドとなる web サーバです。 httmpc が動作するサーバにブラウザでアクセスすることで、mpd サーバの選曲や再生ができます。
主な使い方として、Raspberry Pi 上に rbtune ともどもインストールして、自動録音されたラジオ番組を再生すること(また、聞き終わった番組を手軽に消去すること)を想定しています。 mp3 などのアルバムのコレクションからの再生には向かないので、その場合は他の mpd クライアントをご利用ください。
インストールと設定
あらかじめ mpd をインストールする必要があります。
$ sudo apt install mpd
httmpc 本体は gem でインストールできます。Ruby 2.5以降が必要です。
$ gem install httmpc
使い方
サーバの起動
以下のコマンドで httmpc が起動します。
$ httmpc -e production
コマンドラインオプションはsinatraに準じます、
Usage: httmpc [options]
-p port set the port (default is 4567)
-s server specify rack server/handler (default is thin)
-q turn on quiet mode (default is off)
-x turn on the mutex lock (default is off)
-e env set the environment (default is development)
-o addr set the host (default is (env == 'development' ? 'localhost' : '0.0.0.0'))
ただし、ポートを指定する-pオプションは効果がないので、環境変数PORTで設定します。
$ PORT=80 httmpc -e production
ブラウザからのアクセス
ホスト recorder.local 上でhttmpcを起動した場合、ブラウザから以下のアドレスにアクセスすると、音声ファイルのリストが表示されます。
デフォルトで起動した場合: http://recorder.local:4567/
PORT=80 で起動した場合: http://recorder.local/
All List タブ
All List タブをクリックすると、録音された音声ファイルの一覧が表示されます。 タイトル、日付、時:分 でソートできます。音声ファイル名がボタンになっているので、これをクリックするとPlaylist に追加されます。右端のゴミ箱アイコンをクリックするとファイルを削除します。 録音されたはずのファイルが表示されない場合は、ブラウザからリロードを繰り返すと表示されます。
Playlist タブ
Playlist タブをクリックすると、プレイリストが表示されます。 これもタイトル、日付、時:分 でソートでき、音声ファイル名のボタンを押すと再生が始まります。 再生が済んでもプレイリストから自動的に消えることはないので、右端のxボタンを押して音声ファイルをプレイリストから取り除きます。(ファイルは消えません)
コントロールパネル
どちらのタブでも、上部にはコントロールパネルがあります。 コントロールパネルの機能は以下のようになっています。(上から)
- 再生中のタイトルとプレイリストの進む・戻るボタン
- 再生位置バー
- 30秒戻る、15秒戻る、再生開始、一時停止、15秒進む、30秒進む
- 15分戻る、5分戻る、1分戻る、1分進む、5分進む、15分進む
サービスとして登録する
httmpcはWebサーバなので、コマンドラインから起動するよりも、自動起動されるようにサービスとして登録する方が便利です。 Raspberry piの場合、以下のような httmpc.service を用意して /etc/systemd/system/ に配置して、
$ sudo systemctl enable httmpc
としてから再起動すると、OSが起動するときに自動的に httmpc が起動するようになります。
[Unit]
Description=httmpc - run mpd Web frontend
After=network.target
[Service]
Type = simple
Environment=PORT=80
ExecStart = /usr/local/bin/httmpc -e production
Restart = always
[Install]
WantedBy=multi-user.target
プロジェクトへの協力
バグ報告やプルリクエストは Github の https://github.com/fusuian/httmpc まで、よろしくお願いします。