2008年4月9日

PlaylistTree.ahk

問題がある


;PlaylistTree.ahk
;08/04/09作成
;iTunesのプレイリスト一覧をツリービューで表示

;問題点
;・とりあえず多段フォルダにできない
;・というかiTunesの仕様上無理


;#NoTrayIcon
;「COM Helper - AutoHotkey Community」
#Include CoHelper.ahk

;ツリービュー追加
Gui, Add, TreeView

;初期化
CoInitialize()
iTunesApp := ActiveXObject("iTunes.Application")
LibrarySource := Invoke(iTunesApp, "LibrarySource")
Playlists := Invoke(LibrarySource, "Playlists")
;プレイリストの数取得
Count := Invoke(Playlists, "Count")
;プレイリストの数だけループ
Loop, %Count%
{
Item := Invoke(Playlists, "Item", A_Index)
;名前取得
Name := Invoke(Item, "Name")
;属性取得
SpecialKind := Invoke(Item, "SpecialKind")
;フォルダだった場合
If SpecialKind = 4
{
;ルートに追加
FolderID := TV_Add(Name, 0)
}
else
{
;フォルダに入っていなかった場合
If FolderID =
{
;ルートに追加
TV_Add(Name, 0)
}
;フォルダに入っていた場合
else
{
;フォルダの下に追加
TV_Add(Name, FolderID)
}
}
;保存
KeepItem := Item
}
;表示
Gui, Show
;以下解放
Release(Item)
Release(Playlists)
Release(LibrarySource)
Release(iTunesApp)
CoUninitialize()
return

GuiClose:
ExitApp

属性取得する時にフォルダかそうでないかぐらいしか分からない
=どのフォルダに入ってるかさえも分からない
そのせいで多段フォルダにできないしいろいろおかしくなる