母艦と同期を取ったときに、聞いた場所までを覚えていないため
また、そこまで聞くか一生懸命に早送りをするしかない。
しかし、podcastなら・・・・
そう、podcastなら、聞いた場所も、しかも複数のファイルで記憶できるし
同期も聞き終わったものは同期しないというすばらしく理想的な事ができる。
しかも、アップロードしてないので将来的にも違法ではない(多分・・・無責任です)
そこで、localhostにwebサーバー(Xp標準でついているIIS)を起動させて
そこにmp3ファイルとXMLファイルをつっこんで、「http://localhost/xxx/abcd.rdf」
をiTunesにpodocastとして登録してファイルが増える度にxmlファイルを自動更新
させればすげー便利!!と思いざっくりなでしこで書いてみた。
まずはIISに仮想ディレクトリを作成し、そこにMP3を入れ込む
同フォルダになでしこのファイルを置いて実行するとrdfファイルができるので
IISで権限の設定をここで行いiTunesに登録後更新。
2度目からは、
- MP3ファイル入れる
- なでしこ実行
- IIS権限設定(これどうにかなりそうだけどなぁ)
- iTunes更新
しかし、ファイルのタイムスタンプをpodcastの更新日にしたくなかったので
更新日はファイル名に「yyyy年MM月dd日」が含まれているものとする。
さらに、mp3のタグのタイトルとアーティストは確定的に
存在するものとする。(すげーいい加減な仕様。無ければ作るぐらいすればいいのに・・・)
んで、コード
#ANApodcast
/*#####################################
ファイル一覧のテキストと比較し差があればそれを追加
MP3から抜く項目
☆タイトル
☆リンク(ファイル名)
☆説明
☆ガイド??
☆時間
☆ソース(リンク名)
☆長さ
*/#####################################
#サンプルファイル名
#F=「ホゲホゲラジオ 1996年12月12日 ゲスト:ヤマダ工事.mp3」
#F=「ホゲホゲラジヲ 2009年03月05日 第2000回SP.mp3」
#Fから情報取得関数
P=母艦パス
Flist=「{P}*.MP3」のファイル列挙
出力先ファイル=「podcast.rdf」
出力先初期化
Server=「http://localhost/podcast/」
Serverを表示
RDFとは文字列=""
Flistで反復
それから情報取得関数
RDF=RDF & それ\0
RDF=「<?xml version="1.0" ?>
<rss version="2.0">
<channel>
<title>ホゲホゲのラヂヲのジカン</title>
<link>http://www.allnightnippon.com/nainai/</link>
<description>ホゲホゲのラヂヲのジカンの説明</description>
<copyright>(c) XML Technology Certification Committee</copyright>
<lastBuildDate>{RSSYMD} JST</lastBuildDate>
<managingEditor>producer@xmlmaster.org</managingEditor>
<webMaster>webmaster@xmlmaster.org</webMaster>
」&RDF &「
</channel>
</rss>」
フッタ=「
</channel>
</rss>」
RDFをSJIS_UTF8変換
それを出力
「Σ(・ー・;) デマスタ」と言う
#デバッグ
終る
#とりあえずMP3から情報取得
●情報取得関数(Fから)
MDT=Fのメディアタグ取得
それを表示
Y=Fで「年」が何バイト目
Y=MIDB(F,(Y-4),4)
もし1990今年ならば
エラー発生
M=Fで「月」が何バイト目
M=MIDB(F,(M-2),2)
もし013ならば
エラー発生
D=Fで「日」が何バイト目
D=MIDB(F,(D-2),2)
もし032ならば
エラー発生
YMD=「{Y}/{M}/{D} 01:00:00」
エラー監視
YMDに「+0/0/1」を日付加算。
エラーならば
Fを言う
デバッグ
RSSYMD=YMDを「RSS形式」に日時形式変換
タグ=「<item>
<title>{MDT@Title}</title>
<link>{Server}{F}</link>
<description>{MDT@Title}</description>
<guid>{F}</guid>
<pubDate>{RSSYMD} JST</pubDate>
<enclosure url="{Server}{F}" length="{MDT@FileLength}" type="audio/mpeg" />
</item>
」
情報\0=タグ
情報\1=RSSYMD
情報で戻る
0 コメント:
コメントを投稿