Xcode4 覚書

XCode 4 DeveloperPreview 6がリリースされていたのでDLしてみました。

現在ドキュメントを翻訳中。

とりあえず今把握してるとこではこんな感じ??

  • Interface Builderが完全にXcodeに統合
  • 単一のワークスペースウインドウ
  • ProjectはXcode3と相互互換
  • 編集中のファイルに対応したヘッダファイルなどをサブウインドウで自動表示
  • 賢くなったコード補完、Fix-it機能によるコンパイル時の構文チェック
  • 少メモリで高速なLLDBデバッガ
  • GitやSubversionなどのバージョン管理ツールに対応

ちょっと使ってみた感じではやっぱりInterface Builderが統合されて、
いちいちウインドウ切り替えて保存して・・・という作業がいらなくなったのが
随分作業しやすくなった印象でした。


うーん、これコタツあるとこでいじりたいなぁ。
やっぱりノートがいいなぁ。
だから・・・MacBook Air 11インチ欲しい!

【VB2005】App.config覚書

App.config

VB2005から使えるようになったらしい。
iniファイルに持たせてたような構成情報を、xmlで管理するそうだ。
MFCのストリングテーブルとか近いのかしら?
ただiniファイル感覚でユーザーが変更することもできるようだ。

あれ更新されない

・・というわけでこないだ作っていたタグ操作ツールに組み込んでみる。
(タグ名称をiniファイル・・・と思ってたらコレを見つけたので)
一回目はなんなく成功。78個のタグがずらーっと表示された。

次にこれを更新してみるがファイルベースでは更新されているのに、
デバッグ起動すると未反映・・・なぜだ!?!?!?

原因発見

なんと"LocalSettings/ApplicationData/xxx/"の中にuser.config.xmlが。
消して動かしてみたら無事に反映。
うーん・・初回起動すると勝手にこっちにコピーするんかなー。

iTunes COM SDKで目覚まし

・・を作ろうと思ってまず
「リストボックスで指定したいプレイリストを選択」の実装を考える。
SDKを読んでみるも、プレイリスト一覧を取得できそうにない・・
xmlファイルに保存されていた気がするけどそっちから取得なのかなー
うーむ・・・

解決

iTunesLib.IITSourceにライブラリ要素が格納されてるらしい。

'●変数宣言
Dim objITunesApp As iTunesLib.iTunesApp
Dim objSource As iTunesLib.IITSource



'●オブジェクトインスタンス

objITunesApp = New iTunesLib.iTunesApp



'●プレイリストを取得
objSource = objITunesApp.Sources(1)


'●リストボックスに格納
For i = 1 To objSource.Playlists.Count

  With objPlayListBox

    .Items.Add(objSource.Playlists(i).Name)

  End With

Next

うし、続き作るか。

iTunes COM SDK

iTunesを外部からコントロールするためのSDKが公開されている。
アートワークを表示したり、再生・停止を操作したり、
iTunesの基本的な動作をいじれるそうなので、自分用にツールを作ってみた。
SDKのHelpファイルはプロパティでセキュリティブロックを解除すると見れるようになります。

概要

「ピアノの曲まとめて聴きたい」とか「バラードだけ聴きたい」というときに、
スマートプレイリストで管理できるように[ピアノ]だとか[バラード]だとか曲のコメントにタグをいれている。
ただこの作業、毎回手打ちでやっていたので非常に面倒だった。[ピアノ]と[Piano」が同居してしまったり。
そこで、簡単タグ挿入ツールを作ろうと思い立った。

機能

・現在のタグ状況をチェックボックスに表示
・チェックをつけてボタンを押下するとコメントに反映

おまけ

・簡単な曲情報表示
・レートの10進法での設定

出来上がり


課題

・タグを外部に保存する
⇒iniファイルか何かに出す。
・PLAYボタンを押さないと曲情報が反映されない
⇒タイマー貼って定時確認??

意外な発見


iTunesでの曲のレートは5段階じゃないらしい・・2/1って!
ちゃんとソートで★★★★★と★★★★の間に来たから使えるかも。
でもスマートプレイリストで指定できないか・・

iTunes好きにはたまらない

iTunes使用歴

iTunesを使い始めてかれこれ数年。ipodはもう5代目。
ライブラリも相当なモノになったけどなによりの資産は「再生回数」
ipod以前のMD時代の再生回数まで考慮してVBScriptで再生回数で調整したくらい。

再生回数というやつ

ただこの「再生回数」ってヤツが単純な再生回数なので、
「ここ1年で一番聞いたアーティストって誰だろう?」と思っても、
過去全体の再生回数しか判定できない。
スマートプレイリストの追加日を利用する手もあるけどファイル移行でも変わっちゃう。
そんなわけでiTunesでは残念ながら「ある期間内の再生回数」は取得できない。

じゃあ作っちゃえよ的な

・・と結果が出てもいやいやいや・・と思うのはSEという職業柄だろうか?
実は以前Macからのライブラリの移行時に「再生回数」が全て初期化されて絶望という事があった時に、
それらの情報はxmlファイルとして保存されている。というのを知っていた。

xmlファイルは常に更新されていくので、
ある時点のものを保存しておけば、最新のものと差分をとることで
「期間内の再生回数を・・」が実現できる!!
しかしここまで思いつくも結局ツール作成までには至らず。

もう作っている人が!

そして昨日。
ついに同じ事を遥かに高い次元で実現している「CDit」というソフトを発見。
http://d.hatena.ne.jp/a-know/20090321/1237618256
・曲別再生回数
・アーティスト別再生回数
・アルバム別再生回数
とランキング要素まで変えられるという素晴らしい作り!!
かなり大きいはずの自分のxmlファイルもすんなり操作できて感動である。


気になる点

・リストビューのカラムクリックでソート機能が欲しい
⇒ArtistRatingが高い(=本当にいいと思っている)がすぐわかる!
・再生回数差分でのソートも欲しい!
⇒最近ブームのアーティストが再生履歴でどのくらいの位置にいるのかわかる!
・順位比較-曲別ランキング時の差分表示バグ?
⇒昨日のライブラリと差分を取得したところ、差分タブでは差分0なのに、
順位比較-曲別ランキングの時だけ一部の曲が+xxに。なんでだろう?

実際やってみた

結果をHTMLなんかにできるのがポイント高い。
700位くらいまで出たので抜粋して100位まで。リアルな結果だ・・

Rank Artist Artist Rating Total Play Count
1 Mr.Children ★★★ 53 lllllllllllllllllllllllllllllllllllllllllllllllll 7919
2 スピッツ ★★★ 60 lllllllllllllll 2444
3 LUNA SEA ★★★ 60 llllllllllllll 2297
4 TRICERATOPS ★★★★ 67 llllllllll 1657
5 サザンオールスターズ ★★ 43 llllllll 1285
6 GOING UNDER GROUND ★★★ 63 lllllll 1195
7 ゆず ★★★ 49 lllllll 1141
8 BUMP OF CHICKEN ★★★ 55 llllll 1114
9 スガシカオ ★★ 44 llllll 1072
10 レミオロメン ★★ 32 llllll 1052
11 YUKI ★★ 35 llllll 987
12 Sound Schedule ★★★★ 75 lllll 848
13 GAKU-MC ★★★ 56 lllll 830
14 aiko ★★★ 54 lllll 823
15 ユニコーン ★ 29 llll 790
16 Caravan ★★ 36 llll 766
17 GLAY ★★ 36 llll 697
18 THE YELLOW MONKEY ★★ 42 llll 690
19 U2 ★ 30 llll 654
20 THE BEATLES ★★★ 52 llll 643
21 奥田民生 ★ 31 lll 627
22 チャットモンチー ★★★ 50 lll 615
23 My Little Lover ★★★ 59 lll 594
24 hide ★★★★ 67 lll 580
25 KAN ★★★★ 68 lll 548
26 Bank Band ★★★ 54 lll 528
27 Ben Folds Five ★★ 38 lll 497
28 RADWIMPS ★★ 33 ll 469
29 吉井 和哉 ★ 23 ll 440
30 Ben Folds ★★★ 57 ll 430
31 河村 隆一 ★★★ 51 ll 395
32 風味堂 ★★ 38 ll 390
33 スキマスイッチ ★★ 46 ll 388
34 capsule ★★ 38 ll 367
35 安全地帯 ★★★ 48 ll 362
36 DREAMS COME TRUE ★★★★ 72 ll 351
37 FreeTEMPO ★★ 34 ll 348
38 松任谷由実 ★★ 37 ll 344
39 B'z ★★★ 60 ll 340
40 L'Arc?en?Ciel ★ 30 ll 328
41 J ★★★ 48 ll 323
42 桑田 佳祐 ★★★ 49 ll 322
43 PUFFY ★★★ 48 ll 321
44 X JAPAN 1 ll 320
45 RIP SLYME ★★ 38 l 316
46 福山 雅治 ★★★ 56 l 304
47 Eric Clapton ★ 19 l 274
48 槇原 敬之 ★★ 47 l 271
49 Frank Sinatra ★ 18 l 266
50 ウルフルズ ★★ 42 l 262
51 スムルース ★★ 45 l 248
52 荒井由実 ★★ 43 l 246
53 YOSHII LOVINSON ★ 29 l 237
54 The Cardigans ★★ 35 l 231
55 GRAPEVINE ★★ 41 l 229
55 Salyu ★★★ 55 l 229
57 Perfume ★★ 38 l 228
58 矢井田 瞳 ★★★ 59 l 224
59 Paul McCartney ★★★ 50 l 223
60 The Beatles 3 l 220
61 堂島 考平 ★★ 35 l 214
61 100s ★★ 46 l 214
63 Stevie Wonder ★ 22 l 211
64 植松伸夫 0 l 210
65 ケツメイシ ★★★ 62 l 205
66 宇多田ヒカル ★ 25 l 201
67 森山 直太朗 ★ 26 l 200
68 コブクロ 4 l 198
69 John Lennon ★★★★ 74 l 197
70 椎名 林檎 ★★★ 52 l 195
71 SMAP ★★★★ 72 l 193
72 sota 0 l 192
72 Every Little Thing ★ 31 l 192
74 クラムボン ★★ 36 l 186
75 Coldplay 14 l 175
76 スーパーカー 11 l 172
77 Maroon 5 ★ 17 l 169
78 ELLEGARDEN ★ 21 l 166
79 Norah Jones 13 l 165
80 東京60WATTS ★★★ 60 l 164
81 スネオヘアー ★ 20 l 160
82 Chara ★ 26 155
82 小沢 健二 ★★★ 55 155
84 ポルノグラフィティ ★★ 41 151
85 DOPING PANDA 14 132
86 JUDY AND MARY ★★ 39 129
87 山崎まさよし ★ 16 125
88 キャプテンストライダム ★★ 40 121
89 DA PUMP 15 120
89 東京事変 ★★★ 48 120
91 Jamiroquai ★ 24 118
91 Jack Johnson 9 118
93 チャゲ & 飛鳥 ★ 22 113
94 真心ブラザーズ ★★ 33 112
94 Elvis Costello ★★ 35 112
96 藍坊主 ★★★★ 72 109
97 AL GREEN ★ 16 107
98 No Name 0 105
99 Wes Montgomery 13 102
99 Blue-B ★★★★ 66 102
101 shame ★★★ 63 101
102 久石譲 ★ 26 100