EBUG勉強会/20181117_mp3jukebox
をテンプレートにして作成
Start:
#topicpath
* mp3jukebox
RIGHT:EBUG 第67回会合 ~
2018年11月17日、新潟市万代市民会館 ~
川俣吉広、kaw@on.rim.or.jp
**mp3jukeboxとは
2005年に作ったこんなの → [[ネットワーク対応MP3ジュークボ...
-古いPCの再利用
-流しっぱなし想定の用途
--起動すると自動再生
--ループ再生 → エンドレス
-ネットワーク対応
--リモートのMP3ファイル再生
--リモートからの制御可
-ファイルによるAPI
:制御|ctrlディレクトリに特定の名前でファイルを作成すると...
例: stopというファイルを作ると再生中の曲を中断して次の曲...
コマンド: rescan, clean, usecache, checkcache, pause, exi...
:監視|ファイルの有無、若しくはその内容を見ることで各種ス...
ステータス: reverse, playing, playing/contents, playing/e...
-UI ~
特になし。コマンドラインで直接ファイル操作をしてもよいし...
--NFSやsshfs、SMBなどでマウントすれば、即ネットワーク対応に
--適当なFTPクライアント, Web (CGIなど), mail ...
--サンプル: &ref(gui.tcl);
**実装
:&ref(player.sh);|メインスクリプト
>
-プレイリストによる演奏の制御
--spool0に入っている曲を順次mpg123を呼び出して再生。終っ...
--spool0が空になったら、逆向き(spool1→spool0)に再生
--以下繰返し...
--oneshotディレクトリにファイルがあったら、プレイリストに...
~
-ctrl以下の制御ファイルの監視(同期的)
--ファイルが存在したら、該当する動作を実行
~
-ネットワーク経由のアクセス
--ファイルが.urlの拡張子の場合は記述されているURLにアクセ...
--アクセスしたファイルはキャッシュに残す
--再生時、キャッシュにファイルがあればそちらを使用
:mpg123|コマンドラインで使用できるMP3プレーヤ、曲の演奏に...
OpenBSDのports/packagesから導入したものは、sndioオーディ...
:[[ftp(1)>https://man.openbsd.org/ftp.1]]|OpenBSDネイティ...
ネットワーク経由でのMP3ファイル取得時に使用。
:&ref(fwatch.c);|ファイルやディレクトリの変化を監視するコ...
>''fwatch'' '''file-or-directory''' '''command'''~
<[[kqueue(2), kevent(2)>https://man.openbsd.org/kqueue.2]...
:&ref(asyncevent.sh);|fwatchから呼び出されるスクリプト~
fwatchは起動するコマンドに対しては、変化があったファイル...
asyncevent.shは、変化の内容(ctrlディレクトリ下で、どのよ...
**パッケージング
[[紹介記事>ネットワーク対応MP3ジュークボックス]]にあるよ...
Index of /kawhc/dl/pub/OpenBSD/jukebox
Name Last modified Size ...
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
[DIR] Parent Directory 16-Apr-2017 13:58 -
[ ] base37.tgz 08-Aug-2005 22:36 15.2M ...
...
[ ] bsd 27-Jun-2005 13:40 4.9M ...
[ ] floppy37.fs 14-Aug-2009 14:15 1.4M ...
[ ] floppyB37.fs 14-Aug-2009 14:15 1.4M ...
[ ] floppyC37.fs 14-Aug-2009 14:15 1.4M ...
[TXT] index.txt 14-Aug-2009 14:16 1k ...
[ ] site37.tgz 08-Aug-2005 22:36 2.8M ...
...
...
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Apache/1.3.29 Server at fuguita.org Port 80
OpenBSDのインストーラは、正規の配布パッケージ以外に、''si...
OSのインストール後システムを再起動すると、ブート完了後バ...
**Future Work (もしやるとしたら)
-MP3以外の音声フォーマット対応
-同期コマンド(曲間で動作するコマンド)の非同期化
-sndioフレームワークを利用して、音声出力もネットワーク対...
-サンプルUIの提供
-etc...
----
#topicpath
End:
#topicpath
* mp3jukebox
RIGHT:EBUG 第67回会合 ~
2018年11月17日、新潟市万代市民会館 ~
川俣吉広、kaw@on.rim.or.jp
**mp3jukeboxとは
2005年に作ったこんなの → [[ネットワーク対応MP3ジュークボ...
-古いPCの再利用
-流しっぱなし想定の用途
--起動すると自動再生
--ループ再生 → エンドレス
-ネットワーク対応
--リモートのMP3ファイル再生
--リモートからの制御可
-ファイルによるAPI
:制御|ctrlディレクトリに特定の名前でファイルを作成すると...
例: stopというファイルを作ると再生中の曲を中断して次の曲...
コマンド: rescan, clean, usecache, checkcache, pause, exi...
:監視|ファイルの有無、若しくはその内容を見ることで各種ス...
ステータス: reverse, playing, playing/contents, playing/e...
-UI ~
特になし。コマンドラインで直接ファイル操作をしてもよいし...
--NFSやsshfs、SMBなどでマウントすれば、即ネットワーク対応に
--適当なFTPクライアント, Web (CGIなど), mail ...
--サンプル: &ref(gui.tcl);
**実装
:&ref(player.sh);|メインスクリプト
>
-プレイリストによる演奏の制御
--spool0に入っている曲を順次mpg123を呼び出して再生。終っ...
--spool0が空になったら、逆向き(spool1→spool0)に再生
--以下繰返し...
--oneshotディレクトリにファイルがあったら、プレイリストに...
~
-ctrl以下の制御ファイルの監視(同期的)
--ファイルが存在したら、該当する動作を実行
~
-ネットワーク経由のアクセス
--ファイルが.urlの拡張子の場合は記述されているURLにアクセ...
--アクセスしたファイルはキャッシュに残す
--再生時、キャッシュにファイルがあればそちらを使用
:mpg123|コマンドラインで使用できるMP3プレーヤ、曲の演奏に...
OpenBSDのports/packagesから導入したものは、sndioオーディ...
:[[ftp(1)>https://man.openbsd.org/ftp.1]]|OpenBSDネイティ...
ネットワーク経由でのMP3ファイル取得時に使用。
:&ref(fwatch.c);|ファイルやディレクトリの変化を監視するコ...
>''fwatch'' '''file-or-directory''' '''command'''~
<[[kqueue(2), kevent(2)>https://man.openbsd.org/kqueue.2]...
:&ref(asyncevent.sh);|fwatchから呼び出されるスクリプト~
fwatchは起動するコマンドに対しては、変化があったファイル...
asyncevent.shは、変化の内容(ctrlディレクトリ下で、どのよ...
**パッケージング
[[紹介記事>ネットワーク対応MP3ジュークボックス]]にあるよ...
Index of /kawhc/dl/pub/OpenBSD/jukebox
Name Last modified Size ...
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
[DIR] Parent Directory 16-Apr-2017 13:58 -
[ ] base37.tgz 08-Aug-2005 22:36 15.2M ...
...
[ ] bsd 27-Jun-2005 13:40 4.9M ...
[ ] floppy37.fs 14-Aug-2009 14:15 1.4M ...
[ ] floppyB37.fs 14-Aug-2009 14:15 1.4M ...
[ ] floppyC37.fs 14-Aug-2009 14:15 1.4M ...
[TXT] index.txt 14-Aug-2009 14:16 1k ...
[ ] site37.tgz 08-Aug-2005 22:36 2.8M ...
...
...
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Apache/1.3.29 Server at fuguita.org Port 80
OpenBSDのインストーラは、正規の配布パッケージ以外に、''si...
OSのインストール後システムを再起動すると、ブート完了後バ...
**Future Work (もしやるとしたら)
-MP3以外の音声フォーマット対応
-同期コマンド(曲間で動作するコマンド)の非同期化
-sndioフレームワークを利用して、音声出力もネットワーク対...
-サンプルUIの提供
-etc...
----
#topicpath
Page: