趣味のプログラム工房

ソフトウェア&webサービス

UPnP ControlPoint(コントロールポイント) WEBインターフェース

LinuxマシンにてPT2で録画サーバ、MiniDLNAにてメディアサーバを立てたのですが、これを簡単にTVに出力する方法はないかということで、
WEBインタフェース作ってみました。
(というか、意外とこういうソフトってないんですね。。。)

Perlで「Net::UPnP」というライブラリが見つかったので、それを使って作成しました。
本当はPHPのほうがよかったのですが、使えるライブラリがなかったので断念。
gupnpというのが見つかりはしたのですが、インストールができなかった。


PerlのNet::UPnPを使えばそれなりに苦労せず目的は達成できましたが、
もうちょっと使いやすくなるとうれしい。
毎回毎回、「Net::UPnP::ControlPoint」の「search」でUPnPデバイスを取得しないといけないのは正直パフォーマンスが悪いです。
ページ遷移が発生するたびにこれでは、時間がかかりちょっとイラッとする。
ネットで検索した例だと↓のようなものばかりですが、

$upnp->search(st => 'upnp:rootdevice', mx => 3);

そのほか、オプションとして、hostでIPアドレスやIP:ポートが指定できるようです。
参考:http://nazuna.sakura.ne.jp/software/upnp/get_device.html


ちなみに、UPnPのサービス名やパラメータを調べるのに、
Linuxに入っていた「GUPnPユニバーサルコントロールポイント」が大変便利でした。

2015年02月24日


Xoopsにログインできなくなった

coreserverで運用していた、Xoopsのサイトにログインできなくなりました。
ここ最近、放置していたサイトで、何も設定は変えていないのに、、、


いろいろ調べてみると、どうやらDB壊れているクサい。
というわけで、MySQLのテーブルに対して修復をかけたら復活しました。

DBが壊れるって、、、自宅サーバだと、停電でマシンが落ちた時くらいですが。
あれか、10/19のDDOS攻撃でマシンが落ちたのかな?

あと、ほかのDBでも、テーブルが壊れているのがありましたので、明らかにサーバ側の問題ですね。
アナウンス位してほしい。

というわけで、Xoopsにログインできないとか、coreserver使っていていつもと違う動きになっているって人はDBの修復をしてみてください。
2013年11月02日


クリップボードのスタック・キュー(LIFO・FIFO)

最近使い始めたのですが、「Clibor」なかなか使えるソフトです。

クリップボードのコピペをスタック(LIFO)やキュー(FIFO)して使えるソフトです。
複数回コピーしてそれをLIFOやFIFOで順番にペーストできるので、、、、まあ、使う場所によっては便利!

2013年09月23日


DynDNS 無料アカウント維持には月1ログイン?

またDynDNSからメールが来ました。

Starting now, if you would like to maintain your free Dyn account, you must now log into your account once a month. Failure to do so will result in expiration and loss of your hostname. Note that using an update client will no longer suffice for this monthly login. You will still continue to get email alerts every 30 days if your email address is current.

We understand that the possibility of resulting service interruptions may be frustrating, so we are offering a transition upgrade offer to VIP status (Dyn Pro) for just $10 USD for the first year. Under this status, login will not be required and service will remain uninterrupted for an entire year.


どうやら、月1回ログインしないとアカウントが消されるらしい。
めんどくさい、、、

ルータの更新機能ではダメみたいです。

どうしようかなぁ。。。
2013年05月21日


DynDNSの更新が効いてないの?! メールが飛んできた!

私が使っているDNSサービスの「DynDNS」から、アカウント削除するぞーってメールが飛んできた!
このサービス、一定間隔でIPアドレスの更新処理を行っていればそれでよかったはずだけど、、、

というわけで、メールに書いてある通り、とりあえず、サイトにログインしてみました。
うーん、メール見ても、ホスト名に対して更新をかければいいように思うんだけどなんでダメになったんだろう。。。


↓飛んできたメール

Dear Dyn Customer,

Your Dyn account "○○○", free hostname(s) will expire in 5 days. If you no longer need the hostname(s), simply disregard this email and allow expiration to occur.

Free hostnames must be updated every 30 days to remain active. Inactive hostnames will expire and be deleted. If you wish to prevent the hostname(s) from expiring, please visit the link below:

Keep your hostname(s) active without having to update every 30 days, by purchasing a DynDNS Pro upgrade today.
2013年05月21日


OperaでThis document you requested has moved temporarily. エラー

Operaで楽天のページを開こうとすると、
This document you requested has moved temporarily.
というエラーが出ます。

Operaのバージョンは、「12.15」

何が悪いのだろう、、、
2013年05月12日


Coldfusion9.0.2 うぜー!!

Coldfusion9.0.2ですが、9.0.0から変わりすぎじゃないですか??

マイナーバージョンアップとは思えないほどの互換性orz

勘弁してくれ。。。。


まず、一番の致命的なのは、9.0.0で使えていた
COMオブジェクト(cfobjectのtype=com)が使用できない。

続いて、「HTTPレスポンスヘッダに改行コードが含まれている」と自動的に削除される。。。ohhh

これにより、クッキーに改行コード付きの値を格納できなくて困りました。


改行コードについては、仕様だし、セキュリティ上必要だから許せるが、comについては完全なバグだろ?
2013年04月28日


ownCloudインストール

自分のPCにDropBoxのようなサーバが作れるソフト「ownCloud」を導入してみました。
導入したマシンはFedora17

http://owncloud.org/
のサイトを参考にパッケージをインストール

cd /etc/yum.repos.d/
wget http://download.opensuse.org/repositories/isv:ownCloud:community/Fedora_17/isv:ownCloud:community.repo
yum install owncloud

あとは、
service httpd restart
でWEBサーバを再起動するだけ。

インストール後は、
http://マシンのIP/owncloud/
にアクセスして、設定画面から管理者のユーザ設定をして、
設定後は、そのアカウントでログインをするだけ、、、のはずなのですが、ログインできずorz

owncloudのインストールフォルダ内にある、dataフォルダのログを見てみると、
Failed to write session data (files). Please verify that the current setting of session.save_path is correct~~~
というエラーが。
どうやらsessionのディレクトリに権限がない様子。
というわけで、
sudo chmod 777 -R /var/lib/php/session
に権限を設定。

以上でインストールは完了しました。



。。。別に自分で使うだけならFTPサーバでいいんじゃ、、、と思わなくもない。
2013年04月18日


Aipo7 を試してみた!

いつの間にか、aipoのバージョンが7になってますね。
ちょっと興味があったので、マシンにインストールして使ってみました。

aipoはオープンソースのグループウェアソフトで思った以上に優秀です。
品質は高いが、、まあ、機能は微妙。
対応アプリが少ないのがその原因ですね。

OpenSocial準拠なのでその気になればアプリはすぐ増やせると思うのに残念ですね。

でも、基盤としては本当に優秀。


会社のグループウェアが糞なので、自分の仲間内(課内やチーム内)のコミュニケーションツールとして使いたいくらいです。

でも、あくまでWEBアプリで、aipoにメールやメッセージがが来てもポップアップのアクションがないのでそこが不便かな。
自分で更新を見に行かなければいけない。



あと、私自身が作っているmixiアプリを移植してみましたが、かなりあっさり動きました。(mixiより簡単に作れる、、、とはいっても、OpenSocialの仕組みなのでそこまで難易度に違いがあるわけではないが)
2013年03月09日


Webベース mpd client NeoMPC

以前紹介した、NeoMPCというWEBのMPDクライアントについてです。


NeoMPCの前の記事

NeoMPCは非常に使いやすいクライアントソフトだと思います。
バグさえなければ、、、

これは使い物にならなくなった、iphone用クライアントの「MPod」に代わり、iphoneから利用しているWEBベースのMPDクライアントですが、実はバグがあります。

というわけで、その修正方法を紹介します。

バグ
1、Browseのメニューで曲の一覧を表示時、一画面に一覧が全部入らない時に、曲を追加する操作を行うと、その後の画面で下へスクロールできなくなる。
(リストの下にあるはずの曲が操作できない)

これの修正方法は簡単で、
./templates/default/style.css
①24行目あたりにある、「#menu」のpositionの設定をコメントアウト。
②12行目のbodyのmarginをすべてゼロにする。
以上です。


2、Playlistが空の時、Browseのメニューでファイル名が表示されない。
ファイル名は表示されないが、タグが設定されていればタグの内容は表示される。(タイトルなど)
通常は、タグが設定されていればタグが、タグが設定されていなければファイル名が一覧として表示されるが、Playlistが空のときはファイル名が表示されれなくなる。

修正方法は、
./lib/page.php
①246行目のforeachの行をコメントアウト。
②その閉じるカッコの、254行目のカッコをコメントアウト。
これでOK。

うーん、このループ文は何をしてるんだろう。。。


あと、個人的に修正した点は、
Browseでの曲の追加リンク「+」。
これを押したときに、一番上まで自動スクロールして戻ってしまうのを、ボタンを押した曲の位置でとどまるように修正。
曲を何度も追加するときに、いちいちスクロールしなおすのに便利です。

改修対象のファイルは
./template/browselist_item.html
①27行目のaタグに「name="{:$browselist_item.file|escape:'url':}"」といったラベルを設定。
②上記アンカータグのリンク先のURLとして、リンク先URL末尾に「#{:$browselist_item.file|escape:'url':}」を追加。
意味は分かりますよね??


NeoMPCお勧めですよ!
2013年01月18日


前へ 次へ