foo_uie_esplaylist.dll v0.1.3.9 (UI Extension for ColumnsUI 0.3+ / UI Element for Default UI)
for foobar2000 v1.0+, Windows Vista+ 


SDK version
foobar2000:2010-05-21
       cui:6.3


Default UI または、ColumnsUI 用の  Playlist Viewer / Library Viewer  です。

※ 設定の説明は、最新版を反映しているとは限りません。



[表示スタイル]
･Layered View : グループ単位で階層的に表示します。
･Flat View    : 通常のプレイリストのように、各トラックをリスト形式で表示します。


[Column]
	リストのそれぞれのカラムに表示する情報は、カラムヘッダの右クリック -> Edit Column... を使って編集できます。
	カラムの追加はInsert Column、削除はDelete Column、で可能です。

	カラムの設定：
		Name:   カラムヘッダに表示するカラムの名前
		Format: トラックに関する表示情報をTitleformatで指定します。
		Align:  左寄せ、右寄せ、中央寄せ
		Linked Meta Field:  inline-tag editingモードで使用されます。このカラム上をダブルクリックしたときに、指定のフィールドを編集します。

	いくつかのカラムは、特殊な扱いになります。
	Ratingカラムでは、Format欄のTitleformatの結果として0〜5を返す必要があります。
	ArtworkカラムとGroup Infoカラムは、特殊なカラムで、左端に配置する必要があります。
	Artworkカラムは、必ず左端に位置し、カラムの横幅を調整すると、画像サイズも変更されます。


Preferences -> Tools -> EsPlaylist

[Preferences]
	[Grouping Page]
	グルーピングに関するプリセットの設定ができます。

		Grouping List
			選択中のプリセットの、グループのレイヤを表示します。
			チェックボックスで指定されたレイヤがデフォルトのレイヤになります。
			適用するプリセットが切り替わったときなどに、デフォルトのレイヤにリセットされます。


		Grouping Layer Setting
			Grouping:
				各トラックをグルーピングするときの基準となるTitleformat scriptを指定します。
				Titleformat scriptの結果が同一となる連続するトラックを、同一のグループにグルーピングします。
				つまり、一つのグループに属するトラックは全て(表示順序として)連続的に並んでいる必要があります。
				もし重複したグループを回避したい場合には、"Sort format" と "Force-Sorted"を使ってトラックの表示順序を調整してください。

			Title:
				このgroupのtitleとして表示するTitleformat scriptを指定します.
		
			Side Info:
				このgroupのSide Infoとして表示するTitleformat scriptを指定します.

			Artwrok:
				このgroupのArtworkの種類を指定します。
				Artworkの詳細は、foobar2000本体のPreferences->Display->Album artで設定します。

			Show Only Focused Group:
				このグループ内のトラックを表示する場合、このグループに属するトラックのみを表示するようにします。


			* 注意 *
			Multivalue fields, %<xxx>% は、"Grouping" と "Title" と "SideInfo" で利用可能で、
			Browse Library モード (かつ Force-Sortedがoff) のとき、有効になります。
			Playlist モードのときは、無効になります。


 		Sort format
			各グループ内のトラックをソートするためのTitleformat scriptを指定します。
			"Browse Library"モード時のみ有効です。
			グループは、"Grouping"で指定されたフォーマットで自動的にソートされます。

			Force-Sorted:  Playlistモード時にも、ソートを強制的に適用します。
			               また、"Browse Library"モード時にも、グルーピングの前にまず各トラックをソートしてからグルーピングを行います。
			              "Force-Sorted"が有効の場合の注意:
					* Playlist内の実際の順序には影響しません。表示するときの順序をソートするだけです。
					* Drag & DropによるPlaylistの編集をサポートしません。
					* 各トラックは、グループを超えてソートされます。
					* Multivalue fields(つまり %<xxx>% 形式) はサポートしません。


		Associate with Playlist
			このプリセットを特定のプレイリストに関連付けることができます。";"を使って複数のプレイリストを指定できます。
			また、"#!Library!#"を指定すれば、Browse Libraryモードに関連付けることができます。


	[Behaviour]
		Browse library action 
			Browse Libraryモード時のマウス動作を設定できます。
				Open/close group with... : グルーピングレイヤ間をダブルクリックではなくミドルボタンクリックで移動します。

		Browse playlist action 
			Playlistモード時のマウス動作を設定できます。
				Open/close group with... : グルーピングレイヤ間をダブルクリックではなくミドルボタンクリックで移動します。


		Typing Search
			Typing searchは、"incremental search"や"find as you type"と呼ばれるタイプの検索機能です。
			パネルに文字を入力したときに、グループのタイトルや、各カラムの情報を検索します。
			どのカラムを検索対象にするかは、カラムヘッダのコンテキストメニューで選択できます。

			検索対象の文字列は、ステータスバーに表示されます。

			Condition:
				Partial Match:   部分一致
				Beginning Match: 前方一致
				Word Match:      単語の先頭から一致を調べます。
				None :  typing search 無効

			Search group headers
				group headerのTitleを検索の対象に含めます。

			Search Japanese using Roman letters
				ローマ字で日本語検索します。


		Rating editing
			Ratingカラム上でダブルクリックしたときの動作を設定できます。
				Star : 設定対象の星の数
				Command : 星をダブルクリックしたときに実行するコマンド


[Search bar]
	Search barは、Query Syntaxを使ったフィルタリング機能を提供します。

	Search mode setting:
		Name  : モードの名前

		Query : クエリのパターン。指定のクエリに%_s%が含まれていれば、%_s%はユーザーがSearchbarに入力した文字列に置換されます。
			指定のクエリに%_s%が含まれていなければ、ユーザーがSearch barに入力した文字列はクエリの最後に付加されます。

		Linked meta-field for AutoComplete : Auto Completeで使用するMeta-field。(See Preferences->Advanced->Display->Autocomplete fields)

		Script for Contextmenu : コンテキストメニュー"Search for same by"で、送られてきたトラックを、このTitleformatで評価し、その結果を、Search barに入力します。


[Context Menu]
	[Grouping]
		任意のpresetをアクティブにできます。

	[Playlists]
		- Follow Active Playlist
			アクティブプレイリストを表示します。また、表示領域は、フォーカスされたトラックに追従するように自動でスクロールします。
			もし、"Display Only Focused Group"を有効にすれば、フォーカスされたグループのみ表示します。

		- Follow NowPlaying Playlist
			再生中のプレイリストを表示します。また、表示領域は、再生中のトラックに追従するように自動でスクロールします。
			もし、"Display Only Focused Group"を有効にすれば、再生中のトラックを含むグループのみ表示します。

		- Browse Library
			Library内のトラックを直接閲覧できます。


		いずれも有効にしなかった場合、特定のプレイリストを表示できます。

		* 注意 *
			"Follow Active Playlist"でない場合, EsPlaylist内では"Views->Column Playlist->Activate Now Playing" は機能しません。


	[Options]
		View Style
			Hide non-focused group:
				 GroupingのShow Only Focused Groupに関する設定にかかわらずに、フォーカスされたグループ以外を表示しません。

			Layered View : Grid View.
			Flat View (Fixed) : Normal List View Style


[keyboard shortcut]
	Enter    : Play
	Enter + Shift (on group header) : Open/Close group. 
	Ctrl + a : Select all displayed items
	Ctrl + Shift + a : Select all
	Ctrl + z : Undo
	Ctrl + y : Redo
	Ctrl + c : Copy
	Ctrl + x : Cut
	Ctrl + v : Paste
	Delete   : Remove the selected tracks from playlist.
	F2       : Begin inline-tag edit.
	F3	 : SearchBar on/off
	F5       : Go to the next selected item.
	F5 + Shift : Go to the previous selected item.
	F6	 : Move input-focus between ListView and SearchBar.
	ESC      : Cancel inline-tag edit.


[titleformat]
	$es_is_ascii(x)
		Returns true, if "x" consists of only ascii characters, otherwise false. 


	$es_is_numeric(x)
		Returns true, if "x" consists of only numeric characters, otherwise false. 


	$es_is_alphabet(x)
		Returns true, if "x" consists of only alphabet characters, otherwise false. 


	$es_char_type(x)
		Returns 1, if "x" consists of only numeric characters,
			2, if "x" consists of only alphabet characters
			3, if "x" consists of only ascii characters except numeric and alphabet.
			4, otherwise


	$es_highlight(x)  or  $es_hl(x)
	    [Column Format] [Group Title] [Group SideInfo]
		Sets the color for the following text according to x.
		The range of x is from -3 to 7.
		
		  x     |         -3              -2     ...   0   ...   2       ...    4    ...    6              7
		color   |    near-background  intermediate   text    intermediate   highlight  intermediate  near-background


	$es_highlight()  or  $es_hl()
		Resets the text color to the default color.		



	%es_item_index%
	    [Column Format]
		Index of the item in the group it belongs to.

	%es_subgroup_count%
	    [Group Title] [Group SideInfo]
		Count of the sub-groups/items in the group.

	%es_subgroup_length%
	    [Group Title] [Group SideInfo]
		Playback length of the sub-groups/items in the group.

	%es_group_header%
	    [Group Title]
		Returns true, if group header style is applied to the group, otherwise false. 
 


･本ソフトウェアには、下記の使用条件とともに配布されているソフトウェアの一部が含まれています。
 This software includes a part of the following software/icon.

* foobar2000 1.0 SDK
  Copyright (c) 2001-2010, Peter Pawlowski
  All rights reserved.

  Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

  Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 
  Neither the name of the author nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
  Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation or other materials provided with the distribution.

  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.


* Columns UI SDK 6.3.1


* Some Icons are Copyright (c) Yusuke Kamiyamane.
  All rights reserved. Licensed under a Creative Commons Attribution 3.0 license. 



･ライセンスについて
  Copyright (c) 2010, ssenna

  バイナリ形式で再頒布する場合、頒布物に付属のドキュメント等の資料に、上記の著作権表示、本条件一覧、および下記免責条項を含めること。
  書面による特別の許可なしに、本ソフトウェアから派生した製品の宣伝または販売促進に、著作権所有者または貢献者の名前を使用してはならない。

  このソフトウェアは著作権所有者および貢献者により「現状のまま」提供されるものとし、商業的な使用可能性や特定の目的に対する適合性などの保証を含め、明示的暗黙的を問わず、いかなる保証もありません。
  著作権所有者および貢献者は、事由の如何を問わず、損害発生の原因の如何を問わず、かつ責任の根拠が契約であるか厳格責任であるか（過失その他）不法行為であるかを問わず、仮にそのような損害が発生する可能性を知らされていたとしても、
  このソフトウェアの使用から発生した直接損害、間接損害、偶発的な損害、特別損害、懲罰的損害、または結果損害（代替の物品やサービスの調達、使用機会やデータや利益の損失、業務の中断を含む、あらゆる損害）に対して一切責任を負いません。 





[免責事項など]
ライセンス条項にありますように、このソフトウェアには、いかなる保証もありません。
このソフトウェアを使用したことによって生じたすべての損害・障害・権利侵害・不具合等に関して、ソフトウェア作者は、一切の責任を負いません。
たとえバグがあったとしても、修正の義務を負いません。
この事項に了承頂ける方のみ、各自の責任においてご使用ください。







[changelog]
v1.3
･ Searchbarの履歴をモードごと個別にした。
･ Searchbarの履歴をロックできるようにした。
･ コンテキストメニューからSearchbarのクエリを発行できるようにした。(要設定)
･ ドラッグアンドドロップの動作改善。
･ コンテキストメニューのチェックマークの変更（v1.3.1）
･ mainmenuコマンドの追加。( View->EsPlaylist )（v1.3.2）
･ Layered viewでのTooltipのサポート（v1.3.2）
･ Fixed Flat View で、Go to up/down layerを実行すると表示がおかしくなるのを修正（v1.3.3）
･ mainmenu commandを追加。(v1.3.4）
･ Playlist modeでの middle click action設定を追加。（v1.3.4）
･ その他修正。（v1.3.4）
･ Typing searchで非ASCIIなキーが効かないのを修正（v1.3.5）
･ Searchbarでのkeyboard shortcutの扱いを変更（v1.3.5.1）
･ ColumnsUIにおけるGroup Titleの文字色の選択ルールを変更（v1.3.5.1）
･ Layered Viewでのスクロールの挙動を変更（v1.3.6）
･ input focusに関するmainmenuコマンドを追加（v1.3.6）
･ ローカルなTitleformatが返す真偽値を修正(v1.3.6.1)
･ mainmenuコマンドをデフォルトでは表示しないようにした(v1.3.6.1)
･ ローカルなTitleformatが返す真偽値を修正(v1.3.6.2)
･ マイナーバグFix(v1.3.6.3)
･ クラッシュする場合があるのを修正したつもり。(v1.3.6.3)
･ Edge Styleの設定を追加。(v1.3.7)
･ いくつかのマイナーな変更。(v1.3.7)
･ Search Barへの機能追加 (v1.3.7.1)
･ いくつかのマイナーな修正。(v1.3.7.1)



v1.2
･$es_highlightの追加。
･typing searchの比較方法を、パーシャルマッチングにした。
･typing searchのIME関連の不具合を修正。
･typing searchの設定追加。(v1.2.1)
･album artを読み込まない場合があるのを修正。(v1.2.2)
･searchbarの動作を各種修正。(v1.2.2)
･searchbarの動作を各種修正。(v1.2.3)
･rating columnでratingをダブルクリックで設定できるようにした。(通常Playback Statisticsが必要) (v1.2.3)
･columnヘッダクリック時のsortフォーマットの設定を追加。(v1.2.3)


v1.1
･%es_group_header%の追加。
･Searchbarの動作を各種変更。
･groupヘッダのボーダ色の調整。
･inline-tag editにauto complete機能追加。
･描画関係の修正(Searchbarのボタンなど)(v1.1.1)
･終了時に表示中のgroupingレイヤの深さを記憶しておくようにした。(v1.1.1)
･特定のケースでのフォントサイズと色の調整。(v1.1.2)
･キーボード操作の改善。(v1.1.2)
･テキスト描画の整理、$tab()のサポート。(v1.1.3)
･限定的なTooltipのサポート(Configure->Display Tooltip in Flat View)。(v1.1.3)
･細かいバグ修正。(v1.1.3)
･Tooltipのバグ修正(Configure->Display Tooltip in Flat View)。(v1.1.3.1)
･Browse Library modeで$tab()が動作しない場合があるのを修正。(v1.1.3.1)
･パネルサイズが極端に小さいとスクロール位置が一番上に戻ってしまうのを修正。(v1.1.3.2)
･プレイリストのリオーダーのバグ修正。(v1.1.4)
･起動時にBrowse Library modeの場合にプリセット選択を誤ってしまうことがあるのを修正(v1.1.5)
･Associate with Playlistで、Browse Library modeの指定に、#!Library!#を使えるようにした(v1.1.5)

v1.1 beta 6
･Search barを追加。
･Browse Libraryのときで、Force-Sortedな場合は、beta4以前と同様にトラック全体をソートするようにした。
･Search barの描画関連の不具合を修正(v1.1 beta 6a)
･Search barを上に配置できるようにした(v1.1 beta 6a)

v1.1 beta 5
･Browse Libraryのときのみ、%<xxx>%スタイルのフィールドを、GroupingとTitleと、SideInfoで使用できるようにした。
 それに伴って、Browse LibraryのときのSort Formatの仕様が変更。(グループ単位はGroupingで自動的にソート、グループの中でのみSort Formatでソートされる)
 プレイリスト表示時は、%<xxx>%は?を返します。
･カラムヘッダをクリックしたときに、ソートするかどうかを選択可能にした。
･複数項目を選択している場合に、F5(F5+Shift)で移動可能にした。
･Flat View状態で、Typing Searchしたときに、グループヘッダのTitleも検索にヒットするようにした(最初の仕様に戻した)。

v1.1 beta 4
･drag & dropが効かないケースがあるのを修正。
･再生トラックの背景をハイライトするかどうか選択可能にした。
･1パネル内で、あるプレイリストから別のプレイリストにdrag & dropした場合にundoが正常に動作しないのを修正。(beta 4.1)

v1.1 beta 3
･再生とポーズのアイコンを変更。

v1.1 beta 2
･$rgbのサポート。
･column設定のdynamic formatの削除。(%isplaying%を使用してください)
･SDK2010-05-21でビルド。
･version番号のルールを推奨に従うよう変更。
･他、細かい修正。

v1.1 beta
･ Layered View時に、グループごとにできる冗長なスペースを削除。
･ カスタム色のとき(VisualStyleを使わない場合)の選択行などの背景色の描画で、薄くボーダーを描画するようにした。
･ 他、細かい変更。
