お知らせ

Movable Type 5 Webサイト製作ガイドVolume 12009年12月7日

Movable Type 5 Webサイト製作ガイドVolume 1」を発売しました。
Movable Type 5を基本からしっかりマスターしたい方のための書籍です。
Movable TypeでWeb製作をされている方などにお勧めです。
PDFによる販売で、当サイトでのみ購入できます(書店では購入できません)

他にも多数書籍を執筆しています。
こちらもぜひご覧ください。

iTunesで再生中の曲をTwitterに送信する「iTwitter」

| コメント(31) | トラックバック(2)

2010年8月31日
TwitterのBasic認証廃止により、2010年8月31日を最後にiTwitterは使えなくなります。 今後はOAuth対応の「TWTunes」をお使いください。

2010年6月12日
OAuth対応の新しいソフト「TWTunes」を公開しました。
今後はTWTunesをお使いください。

2009年7月7日
この記事は、iPhone/iPod Touch用Twitterクライアントの「iTwitter」とは、まったく関係ありません。

Twitterは「今何してる?」ということを送信するのが主な利用方法です。
それなら、「今聞いている曲」を送信するのも、よくある利用方法ではないかと思います。

そこで、iTunesで再生中の曲を、自動的にTwitterに送信するスクリプトを検索してみました。
Mac用のスクリプトはありましたが、Windows用の良さそうなものはないようでした。

「ないなら自分で作ろう」と思って、早速作ってみました。
名づけて「iTwitter」です。

1.iTwitterのダウンロード

iTwitterは以下のアドレスからダウンロードすることができます。

iTwitter_1_01.zip

2.ファイルの書き換え

ダウンロードしたファイルを解凍すると、「iTwitter.js」というファイルができます。
このファイルをメモ帳等で開くと、先頭に以下のような記述があります。

username = 'your_username';
password = 'your_password';
interval = 1200;
msg_format = 'Now playing  on iTunes : "{{name}}" from "{{album}}" ({{artist}})';
mode = 0;

1行目の「your_username」と2行目の「your_password」は、ご自分のIDとパスワードに書き換えます。

3行目の「1200」は、曲の情報を送信する間隔(秒)です。
曲が変わる毎に情報の送信を試みますが、前回に情報を送信してから、ここで指定した秒数が経過していない間は、情報を送信しません。
この値を0にすれば、曲が変わる毎に情報が送信されることになります。
ただ、曲が変わる毎に情報を送信すると、FollowersのTimelineに自分の曲の情報がやたらと表示されて、顰蹙をかうかも知れません。

4行目では、送信するメッセージの形式を指定します。
「{{name}}」「{{album}}」「{{artist}}」は、それぞれ曲名/アルバム名/アーティスト名に置換されます。

5行目では、情報を送信するタイミングを指定します。
「mode = 0;」にすると、曲が変わる毎に(かつ、intervalで指定した秒数が経過していれば)情報を送信します。
「mode = 1;」にすると、アルバムが変わる毎に(かつ、intervalで指定した秒数が経過していれば)情報を送信します。

3.Windowsの起動時にiTwitterを起動する

このスクリプトは、Windowsの起動時に一緒に起動するようにしておくと便利です。

まず、マイコンピュータ等でiTwitter.jsのファイルを右クリックし、「ショートカットの作成」メニューを選んで、ショートカットを作ります。
そして、そのショートカットのアイコンを右クリックし、「プロパティ」のメニューを選んで、プロパティを開きます。

この中に「リンク先」という欄があり、iTwitter.jsのファイル名が入った状態になっていますが、その先頭に「cscript」と半角のスペースを入力します。
また、「実行時の大きさ」の欄で「最小化」を選びます。
ここまでが終わったら、「OK」ボタンをクリックします。

↓ショートカットの設定
ショートカットの設定

ショートカットができたら、そのショートカットを、スタートメニューの中の「スタートアップ」にドラッグアンドドロップします。

4.iTunesで音楽を再生

これ以後は、Windowsの起動時にiTwitterが自動的に起動し、タスクバーに収納されるようになります。
その状態でiTunesを起動し、音楽を再生すれば、曲が変わるごとにその情報が自動的にTwitterに送信されます。
また、iTwitterのウィンドウを通常の大きさにすると、送信した情報のログを見ることができます。

5.iTunesを終了するとき

iTwitterを起動した後でiTunesを起動し、その後にiTunesを終了しようとすると、以下のようなメッセージが表示されます。
「終了」ボタンをクリックして終了し、その後にiTwitterも終了してください。

↓iTunesを終了しようとした時のメッセージ
iTunesを終了しようとした時のメッセージ

また、一度iTunesとiTwitterを終了した後、再度iTwitter込みでiTunesを使いたい場合は、先にiTwitterを起動して、その後にiTunesを起動します。

トラックバック(2)

トラックバックURL: http://www.h-fj.com/mt/mt-tb.cgi/873.

ジャケット写真を見せるだけじゃ満足しないMasterは、店内でかかってる曲目の... 続きを読む

Twitterのタイムラインを見ていて、よくあるハッシュタグに「#NowPlaing」というのがあります。「たぶん、聴いている曲目をAPIで投稿してるん... 続きを読む

コメント(スレッド18件,コメント31件)

コメントはスレッド表示になっています。
また、スレッドの先頭のコメントに対する返信には、先頭に矢印を表示しています。

No.1 nock : (無題)

はじめまして、お忙しい中失礼します
早速使ってみようとしたのですが、
IDやパスワードを書き換えて、上書き保存して起動すると
ヴァージョン表示が出OKをおしたところで
行32文字1で「"iTunes.Application"という名前のオートメーションクラスが見つかりませんでした。」というエラーが発生してしまします。
コードは80020009、ソースはWscript.CreateObjectと出ています。
調べてみても有益な情報は得られず結局どうにもできませんでした。
OSはWindowsVistaHomebasicなのですが、対処法はありますでしょうか?
ちなみにiTunesは初期設定のままインストールしたので「C:\Program Files\iTunes」にあります
是非ともよろしくお願いします。

No.2  : >nockさん

こんにちは。

ご質問の件ですが、はっきりとは言えませんが、iTunesのインストールがうまくいっていないのではないかと思われます。

No.3 aki : はじめまして

これって曲変わるたびにピコンピコンってウィンドウ開くんですけどこれが標準ですか?

No.4  : Re:はじめまして

>akiさん
こんにちは。

ご質問の件ですが、そのような仕様ではありません。
手順の通りにインストールすれば、コマンドプロンプトのウィンドウが常駐した状態になり、そちらにメッセージが表示されるはずです。

うまく動かないようであれば、スクリプト内で「WScript.Echo」の文を含む行の先頭に「//」(半角スラッシュ2つ)を追加して、メッセージを一切出力しないようにしてください。

No.5 きみどら : とても便利です!!

とても便利です!!
さっそく、使わせていただいてます。
http://tech.kimihiko.jp/article/35042820.html

No.6  : Re:とても便利です!!

>きみどらさん
こんにちは。
ご利用いただきありがとうございました。

No.7 こ : not sending message (interval not passed)

というメッセージがでるんですがこれは何故でしょうか??

No.8  : Re:not sending message (interval not passed)

>こさん
こんにちは。

曲が変わるたびに情報を送信すると、Followerの方々にうっとうしいと感じられることもあり得ます。
そこで、標準の設定では、一定時間が経過するまでは、曲が変わっても情報を送信しないようにしています。その時に、「not sending message (interval not passed) 」のメッセージが表示されます。
なお、メッセージの送信間隔等の設定方法は、記事本文の「2.ファイルの書き換え」のところを参照してください。

No.9 Hr. : 失礼します

iTwitter自体の終了を行うにはどのような操作を行えば終了できるのでしょうか?

No.10  : Re:失礼します

>Hr.さん
こんにちは。

タスクバーにiTwitterがありますので、クリックしてウィンドウを通常の大きさに戻し、ウィンドウ右上の「×」ボタンをクリックすれば、終了することができます。

No.12 Hr. : (無題)

なるほど、タスクバー上にiTwitterが表示されなかったのですが、今日になって表示されるようになっていました。なんなんでしょうね。ありがとうございました。

No.11 こ : 返答ありがとうございます。

タスクバー上に最小化しておかなければ曲情報は送信されませんよね??

No.13  : (無題)

>こさん
こんにちは。

iTwitterを起動していれば、最小化していなくても(iTwitterのウィンドウを通常サイズで表示していても)、曲情報は送信されます。

No.14 風 : (無題)

すみません。
アンインストールはどうやったらできるのでしょうか?
あとウインドウが出てきます。//足しても直らないのですが・・・

No.15  : (無題)

>風さん
こんにちは。

アンインストールするには、ショートカットを削除した後、スクリプト本体のファイルを削除してください。
また、ウィンドウが出るとのことですが、過去に「ショートカットのリンク先の先頭に『cscript』を追加していなかった」という方がいました。ご確認ください。

No.16 まりお : (無題)

とても便利でつかわせていただきます。
メッセージの表示の仕方をこちら側で変更させてもらってもかまわないでしょうか?

No.17  : (無題)

>まりおさん
こんにちは。

お好きなように改造していただいてかまいません。

No.18 Vol.2% : (無題)

すいません。
Twitterの方に書き込まれないのですが、原因がわかりません。
もしよろしければ教えてください。

No.19  : (無題)

>Vol.2%さん
こんにちは。

こちらで試した限りでは問題なく動いています。
ユーザー名とパスワードの書き換えを間違えていないかどうかを確認してみてください。

No.20 Vol.2% : (無題)

度々すいません。
間違いはないみたいでした・・・。
反応がないままです。

No.21  : (無題)

>Vol.2%さん
こんにちは。
申し訳ありませんが、いただいた状況だけでは原因は不明です。

No.22 Vol.2% : (無題)

解りました!
ご相談に乗っていただきありがとうございました!

No.23 まもる : (無題)

こんにちわ。
今日より利用させていただいておりますが、
インターバルを0に設定しても、
modeを0に設定しても、

not sending message (interval not passed)
と出て、うまく利用できません。

ご教授いただければかと思います。

No.24  : (無題)

>まもるさん
こんにちは。

ご質問の件ですが、原因が思いつきません。
強いて原因を上げるとすれば、パソコン内蔵の時計が壊れていて、時計が全く更新されていないことぐらいです。

どうしても動かないようであれば、スクリプトから以下の部分を削除してください。

・42~44行目

if (now_sec - last_update > interval &&
    (mode == 0 ||
     (mode == 1 && last_album != track.Album))) {

・58~61行目

}
else {
    WScript.Echo("Not sending message (interval has not passed).");
}
No.25 まもる : (無題)

ご返信いただき、ありがとうございます。

ご指定いただきましたスクリプトの行を削除したところ、
正常に動作しだしました。

ご教授いただき、ありがとうございました。

No.26 yo-shige : 数日前からエラー

いつも便利に使わせていただいています。
数日前から、次のようなメッセーが出て、止まってしまうようになってしまいました。

スクリプト itwitter.js
行:46
文字:9
エラー:システムコールに失敗しました。
コード:80010100
ソース:(null)

行:46 は、恐らく下記です。

msg = msg.replace(new RegExp('\{\{name\}\}', 'g'), track.Name);

ちなみにwindows 7 64bitですが、数日前までは正常に動作していました。

もし原因が分かればよろしくお願いします。

No.27  : Re:数日前からエラー

>yo-shigeさん
こんにちは。

申し訳ありませんが、原因は不明です。iTunesを再インストールするなどしてみるしかないと思います。
ちなみに、当方もWindows 7の64bit版の環境ですが、問題なく動作しています。

No.28 にに : 2曲目から動作しない

質問をお願いいたします。

こちらを使わせて頂いているのですが、いつもiTunes・iTwitterを立ち上げた後の再生1曲目はきちんとTwitterの方へ送信されるのですが、その次の曲からは「Not sending message (interval has not passed)」となり送信されなくなります。
よくよく見ると、Windows Script Hostという窓が表示されていると、曲は流れていても再生時間が止まったままです。この場合再生時間が経過していないと認識されるのかな?と予想しているのですが…

ちなみにOSはVistaになります。

No.29  : Re:2曲目から動作しない

>ににさん
こんにちは。

申し訳ありませんが、原因は不明です。
なお、iTwitterはBasic認証を使っているため、6月末で動作しなくなります。
OAuthを使うように、ゼロから作り直すことを考えています。

No.30 ラム : (無題)

スクリプト本体のファイルがどこにあるか分からず、削除できません。
どうやって探したらいいですか?
曲が変わる度に何回もピコンピコンと音が出て困っています。。。

No.31  : (無題)

>ラムさん
こんにちは。

スクリプト本体は、iTwitter.jsファイルです。
ご質問からすると、ご自分でiTwitter.jsファイルにIDとパスワードを設定されたはずですので、そのファイルを削除してください。

また、本文の手順3でショートカットを作成されたのであれば、そのショートカットも削除してください。

なお、記事の先頭にあるように、今後は「TWTunes」という新しいソフトをお使いください。

http://www.h-fj.com/blog/archives/2010/06/12-163030.php

TwitterのBasic認証が8月に廃止される影響で、その後はiTwitterは動作しなくなります。

コメントする