Jul 30, 2016

tmp_biography mod公開



ぶっちゃけ汎用性があるか判らないので、とりあえずJScriptのソースだけ公開。

修正:2020/09/30 アーティスト画像が取れなくなったので暫定的修正。
修正:2019/10/23 おそらくlast.fmの画像を置くサーバの名前が変わったと思われる。
修正:2019/07/08 中の書き方が気に入らなかったので修正。急いだので適当な箇所があった。こっちの方がlast.fmの変更に強いハズ。まあ構成やクラス名変わったらだめだけど。
修正:2019/07/05 last.fmの中のタグのルールが変わっていたので修正。
修正:2018/08/28 アルバム画像が取れなくなっていたので修正。アルバムの時はタイトルも表示させた方がいいのか?
修正:2017/06/28 ウェイトの調整と優先テキストの導入、Wikipediaからのアーティスト検索を追加。ある動作でクラッシュするバグの修正。
修正:2017/06/25 スクリプトのダイエット実行(tmp_biography_mod の Cycleモードって要らないよなあ。
修正:2017/02/22 流れをを見直す
修正:2017/02/18 search_artistプロパティ追加と多少の変更
修正:2017/02/17 間抜けなバグ修正
修正:2017/02/16 再度Last.fmの内部パスが変更になってたので修正。
修正:2017/01/27 Last.fmの内部パスが変更になってたので修正。
修正:2016/09/09 再生中の曲のカバーを表示させるスイッチのプロパティと、スクリプトの整理。
修正:2016/09/05 Biographyのテキストもファイルに保存することにした。ローカルに保存する設定の場合、レスポンスが良くなったと思う。テキストボックスあたりの修正。パネルの疑似透過に関しては、DUIだと変になるので背景色で何とかしてください。
追記:2016/08/01 一応コンテキストメニューの説明。触ればわかると思うけど。
追記:2016/07/31 あのfeat.問題が出てきたので、アーティスト名で%album artist%タグがあればそちらを優先することにした。あとファイル名でエラーを出す文字対策。




Biography ViewコンポーネントがLast.fmから情報が取れなくなったということで、代わりになるものを探していてtmp_biographyがいいだろうと。

ベースはこちらのロシア掲示板のページの最後の方にある、『Biography Text && Picture. www.last.fm for multilanguage』。
マルチ言語版といっても結局英語とロシア語しかないよ。

このさらに元になったのがこちらの真ん中あたりの『Biography Text && Picture. www.last.fm』。
こちらの方がシンプルなので書き直せる方々には美味しいかと。


ダウンロードはお手数ですがファイル置き場からお願いします。



Image_computer/tmp_bio_1.jpg

Image_computer/tmp_bio_2.jpg

・テキストの部分はある程度ドラッグで変更できる
・ダブルクリックでテキストを隠せる
・JScript Panelで動作
 注:WSH Panel Modでのチェックはしてません。JScript Panelは1.3と2.1でチェック。


<<設置方法>>
JScript Panelをfoobar2000に組み込み、パネルconfigウィンドウのToolsボタンからインポートする。

以上。
ちゃんと動作していれば、「tmp_Biography」フォルダが自動的に作られる。


<<プロパティ>>
基本的な要素はプロパティで設定する。

毎回毎回画像を取りに行くのはlast.fmにも悪いので、動作確認出来たら
キャッシュのために画像保存
(save artist imageをTrue)
その画像の置き場所を決める
(save folder pathを設定)
のがおすすめ。


General
 auto cycle (sec) 画像が複数ある場合、指定秒数で巡回表示する。0 = off。整数指定。廃止
 download limit ダウンロードする最大枚数。整数指定。欲張らないように。
 language number 言語番号。スクリプトが利用する。いじらない。
 picture/albums 画像をアーティストorアルバムのどちらかにする。スクリプトが利用。
 save artist image ダウンロードした画像を保存するか否か。falseだと画像はtmp_Biographyフォルダに一時的に置かれ、変化した場合には削除される。
 save folder path 上の項目をtrueにした場合、これのパスを基準として画像が保存される。
 search artist  artistタグとalbum artistタグの優先順位を決める。0=artist,1=album artist           
 selection mode 再生中の曲か選択した曲のどちらを優先するか指定する。スクリプトが利用。
*追加:wait time(sec) ダウンロード時に時間差でチェックする。3秒でもいいような感じだが、余裕をもって5秒が初期値。
Visual
 color
  artist name アーティスト名の文字色。RGB()指定。
  background パネルの背景色。RGB()指定。
  text テキストの文字色。RGB()指定。
  text background テキスト背景の色。RGB()指定。
  transparent テキスト背景の透過度。0 - 255。

 Cover Image カバー画像の設定。localだと埋め込みその他から引っ張ってくる。廃止 「save artist image」の値で判定

 font
  artist アーティスト名のフォント。
  biography テキストのフォント。
  size-artist アーティスト名のフォントサイズ。 10 - 16。
  size-biography テキストのフォントサイズ。 10 - 16。

 image
  position h 画像の表示位置、水平。left - center - right。
  position v 画像の表示位置、垂直。top - center - bottom。
  margin-picture 画像のマージン(余白)。整数(ピクセル)指定。
  margin-text テキストのマージン(余白)。整数(ピクセル)指定。

 nocover
  image 見つけられなかった時の画像を使用するか。true - false。
  path 上の項目がtrueの場合、使用する画像のパス。

 show scrollbar スクロールバーの表示。true - false。
 show text テキストの表示。true - false。
 space between the lines 行間指定。小数可。
 textbox_x テキストの表示位置。スクリプトが利用。
 textbox_y 同上。


<<コンテキストメニュー>>

Image_computer/ctxmenu.jpg

右クリックのメニュー。

・Language - 言語切り替え。
・再生中の曲優先 (Prefer now playing) - どの曲に対する情報なのかを決定する項目。現在、再生中の曲を優先する。
・選択した曲優先(Follow selected track) - プレイリスト等で選択した曲を優先する。
・アーティスト画像(Artist pictures) - 表示(ダウンロード)する画像の種類。アーティスト。
・アルバム画像(Albums pictures) - 表示(ダウンロード)する画像の種類。アルバム。
・last.fmでアーティストを検索(last.fm Artist) - 入力ダイアログが出て、入力したアーティストのlast.fmのページに飛ぶ。
・画像ダウンロード(force image download) - 「save artist image」プロパティをtrueにしているとき、指定フォルダに画像ファイルがあると、既にダウンロード済みとみなしてlast.fmに取りにいかないようになっている。このコマンドを実行すると一時的にそれを無視して画像をダウンロードする。設定が変わるわけではない。
・再読み込み(Reload) - このスクリプトを再読み込みする。
・プロパティ(Properties) - プロパティを表示。
・Configure... - パネルのconfigウィンドウを出す。スクリプトをいじるときに使う。

追記:
Image_computer/fix.jpg

・「テキストを固定」がわかりにくいので「オリジナルテキストを作る」に変更。右クリックメニューからこれを選ぶとbio.txtをもとに_bio.txtが作られます。以下同文。

・「テキストを固定」の追加
 プロパティsave_imageが《true》の時だけに使えるオプションです。
 固定したテキストがある場合、言語の設定に関わらず、固定したテキスト_bio.txtが優先して読み込まれます。
 _bio.txtを編集することで任意のテキストを表示可能です。
 _bio.txtは自動的に削除されません。
・「Wikipediaでアーティストを検索」を追加



多少不安定な部分もあるが、情報を出すことに意義があるということもある。
メンドウクサいからだれか代わりにやってください。



動作

ActiveXObjectでURLにアクセス。
実質ブラウザでアクセスするのと同じくページのソースがXHTMLで返ってくるので解析。

get_b_text()がテキストを探す関数。 「div class="wiki-content" 」の中を探す。

get_pic()が画像用。画像のあるURLを抜き出してdownload.vbsに投げる。





以上。


 


エントリを編集・・・

wikieditish メッセージ: Ready to edit this entry.
















A quick preview will be rendered here when you click "Preview" button.