TITLE:foobar2000 func ui wiki #counter(total); 現在&online;人閲覧中 #br ---- ''目次'' #contents #br ---- *はじめに [#ub270442] ●v0.1.0から正式バージョンですが永遠にベータ扱いかも。 ●基本的にTFを書かないと何もできないのですが、初心者向けにウィンドウ一発作成機能があります。MenuからFunc->Easy creating を選択して表示させたいパネルを選んで下さい。新しいウィンドウが作成されパネルが表示されます。 ●関数の仕様など大幅に変えたのでfoo_funcから移行される方は気をつけて下さい。申し訳ない。 *FAQ [#j1c50d9b] **Q:$gp_imageのrotate,flipオプションで画像回転したけど変わらない。 [#l4d6bea8] A:既にキャッシュに読み込んでいる場合変わりません。必要に応じてcache:falseオプションを付けて下さい。 **Q:ウインドウのMoveに$gp_imageなど描画系関数を使ったけど表示されない。 [#i71cb424] A:仕様です。Load以外でウインドウの再描画が必要な場合は$updatewindowを使って下さい。 **Q:パネルデータをImportしたら表示が消えた。 [#wdf2e305] A:Import前に表示を消しています。(メモリ上から完全に消しています) 再表示させて下さい。 **Q:$button関数のTFで$gp_textなどのオブジェクト生成関数使ったら重くなるんですが。 [#s85d1920] A:$buttonや$map関数、メニュー系関数内のTFは全て1つのイベントとして扱われます。 例えばLoadイベントで$button関数を使ってボタンを作った場合、 $clearobject(%_id%,event:load)としても$button関数のTF内で生成したオブジェクトはクリアされません。 個別に$removeobjectして下さい。 **Q:Loadイベントで%_cwidth%と%_cheight%が正しく取得されていないようなのですが? [#pf506cf6] A:前回終了時にWindowを最大化状態で終了した場合、Loadイベントでは通常化時のサイズになります。 これはLoadイベント後にウィンドウの状態を前回終了時の状態に戻しているためです。 正確な%_cwidth%と%_cheight%を取得したい場合は$cancelrecoveryを使うかOpenイベントを使用して下さい。 **Q:埋め込みウィンドウの枠線を消したい。 [#e24070f5] A:埋め込みウィンドウのLoadイベントで$style(%_id%,border:false)を実行して下さい。 **Q:Loadイベントで$buttonなどでコントロールを作ってすぐに$movectrlしたけど移動しない。 [#t49b7262] A:$buttonだけでは未だ画面に描画されていないので移動できません。Loadイベント実行後に画面に描画されます。 OpenイベントやResizeイベントで$movectrlして下さい。 **Q:ウィンドウが表示されていないのに$iswindowvisibleがTRUEを返す。 [#aabb0ee6] A:ウィンドウ表示状態でタスクトレイに格納した場合、$iswindowvisibleはTRUEを返します。 (それ以外の場合でTRUEを返す場合はバグなので連絡下さい) %tasktray_store%変数を併用して下さい。 *更新履歴 [#m4662163] **v0.3.0_beta1 2010/03/05 [#fdc45b9f] SDK-2010-01-19でのコンパイルのみ。 **v0.2.1 2009/05/10 [#t7754ed8] $display_volume関数追加。 TFエディタの設定をiniファイルで設定できるようにした。 → 付属のtfeditor.iniをfoobar2000のProfileパスに置くと適用されます。面倒なので設定画面は無しな方向で。 TFエディタのショートカットキーでリッチテキスト本来の書式設定ができていたので必要なキー以外は無効化した。 その他、TFエディタの細かい修正。 **v0.2.0 2009/05/08 [#wc90e8da] TFエディタでキーワードに色を付けるようにした。 TFエディタでコンテキストメニューを表示するようにした。 **v0.1.9b 2009/05/05 [#d9931f67] TFエディタをリッチテキストエディタに変更。 Autobackupファイル名でTFが使用できるようにした。 On Playlist Item Selection Changeイベント追加。 **v0.1.9a 2009/05/04 [#f8672f8c] 部分的なオブジェクトの再描画で再描画箇所の背景が正常に塗りつぶされていなかったバグを修正(v0.1.9でデグレード) **v0.1.9 2009/05/04 [#g284c308] ●少し重要な仕様変更 $gp~などのcalconlyオプションをdmodeオプションに統合しました。 calconlyも現バージョンでは使用可能ですがそのうち使えなくなります。 $updatewindowのlevelオプションの意味合いが少し変わりました。 $tooltipでcustom:true時のTFでオブジェクトを生成した場合に排他ロックがかかっていたバグを修正。 $tooltipでcustom:true時にTFが文字列として認識されツールチップの自動表示位置がおかしくなっていたバグを修正。 $movewindowで埋め込みウィンドウを移動時にパラメータを省略すると異常な座標に移動していたバグを修正。 埋め込みウィンドウの背景がtransparentまたはalphaの状態で$updateobjectするとその部分が透過されていなかったバグを修正。 $playback_controlにplay_or_pauseを追加。 $wstrsplit関数追加。 $gp_~などの描画系関数にdmodeオプション追加。 $updatewindowのlevelオプションの仕様変更。 $groupオブジェクト追加(実験) → $group,$group_addobject,$group_show **v0.1.8 2009/05/02 [#gd166873] $setobjectzorder関数が中途半端に機能していたバグを修正。 (同種類のオブジェクト同士のzorderが変更できていなかった) Activateイベントで自ウィンドウを閉じた場合にクラッシュすることがあったバグを修正。 $mainmenu_execute(File/Save Configuration)を実行すると終了時にクラッシュするバグを修正。 AutobackupでExitを選択すると終了時にクラッシュしていたバグを修正(0.1.7dでデグーレド) その他、終了時の処理を大幅に修正。 TFエディタでCTRL+A後の挙動がおかしかったバグを修正。 最大化時に埋め込みウィンドウでドラッグしてウィンドウ位置を移動できていたバグを修正。 $for関数にmacroオプション追加。 $gp_image関数にclip2オプション追加。 %playback_isplaying%,%playback_ispaused%変数追加。 $getactivewindow,$screentoclient,$clienttoscreen,$pstrsplit関数追加。 Activateイベントに%_activateid%変数追加。 On Playlist Created,On Playback Edited,On Playlist Removed, On Playlist Renamed,On Plalist Reordered, On Playlist Item Added,On Playlist Item Removed, On Playlist Item Modifed,On Playlist Item Reorderedイベント追加。 その他、細かい修正。 **v0.1.7d 2009/04/30 [#wb85780a] PSS v0.3.7.1a使用時にパネルを表示したまま終了するとPSSの設定が消える致命的なバグを修正。 **v0.1.7c 2009/04/29 [#s7e25da7] Configダイアログでウィンドウを削除した後にスクリプトがコンパイラされずに古い情報で実行していたバグを修正。 Configダイアログでウィンドウ・パネルのHideボタン押下時に内部的なvisibleフラグが設定されていなかったバグを修正。 $playback_controlにtoggle_pauseを追加。 $clock関数追加。 $tooltip,$tooltip_update関数にescapeオプションを追加。 TFエディタでCTRL+A押下時に全選択できるように修正。 **v0.1.7b 2009/04/28 [#vf903785] $drawtext関数でvalignに何を指定してもmiddleになっていたバグを修正。 $movectrl関数でxまたはyを省略した場合に正しくない位置に移動していたバグを修正。 $map関数で対象領域内に重なるウィンドウの領域に入った時にキャプチャが解除されていなかったバグを修正。 $map関数で左クリックしたまま領域から出て左クリックを解除した場合にoutイベントが発生していなかったバグを修正。 $map関数でウィンドウ左クリック時にウィンドウがアクティブになるように修正。 $animatewindow関数で表示・非表示アクション後にShowWindowするように修正。 $getparam,$setparam関数追加(実験) $updatewindow関数にupdate:flagオプションを追加。 $map関数にdragオプション追加。 On Playlist Item Focus Changeイベントでアクティブアイテムのmetaデータの参照ができるようにした。 その他、細かい修正。 **v0.1.7a 2009/04/27 [#ad39b058] $buttonでクリックが動作しなくなっていたバグを修正(v0.1.7でデグレード) **v0.1.7 2009/04/27 [#m75005ca] ●重要な仕様変更 従来のメニューバーをメニューバーコントロールに変更。 これによりfoo_request_httpで落ちていた問題とメニュー表示後の終了時に稀にエラーが出ていた不具合解消? $bgmodeのtransparent,alphaモードで左上座標がボーダーサイズ分ずれていたバグを修正。 User Custom Scriptで関数をネストして呼び出した時の引数が正常に設定されていなかったバグを修正。 $popupmenu_view_mainmenu関数でメモリリークしていたバグを修正。 タスクトレイ左クリック時に稀に他のメニューが重なって表示されていたバグを修正。 %_menubar%変数削除 $menubar関数を$menubarオブジェクト生成関数に変更。 設定からメニューバーの項目を削除。 ウィンドウ、パネル、コントロールの表示・非表示の制御をシステム側で管理するように大幅に修正。 → 他の外部ツールでウィンドウ情報を弄ると誤動作する可能性あり。 %tasktray%,%tasktray_store%変数追加。 $popupmenu_view_mainmenu関数でEasy creatingメニューを使えるように修正。 コンパイルオプションを一部修正。 その他、細かい修正。 **v0.1.6 2009/04/25 [#wd6daa9d] タスクトレイ格納状態で終了した場合、次回起動時にウィンドウが表示されなくなるバグを修正。 $mapのlbuttonupで$popupmenu_view_mainmenuを使った場合に誤動作するバグを修正。 $cancelrecovery関数追加。 $albumart_find関数追加。 $bgmode関数追加。 $gp_image関数にcheckオプション追加。 **v0.1.5 2009/04/24 [#x758d8d7] タスクトレイからの復帰時に非表示ウィンドウが表示されるバグを修正。 タスクトレイからの復帰時に復帰前のZOrderに戻すように修正。 $mapのマウスキャプチャの挙動を修正。 → 範囲外に出ても左クリック中はキャプチャを解放しないようにした。 → 範囲内で右クリックしてもコンテキストメニューを表示しないようにした。 $mapでマウスキャプチャ中にポップアップメニューを表示した場合、キャプチャがおかしくなるバグを修正。 非表示ウィンドウがある状態で終了した場合に再起動したら表示されるバグを修正。 $updatepanel,$updatectrl関数追加。 $fadewindow関数追加。 $getwindowinfo関数にzorder,topmostオプション追加。 Paletteをツールウィンドウから標準ウィンドウに変更、メインメニューに追加。 **v0.1.4 2009/04/22 [#l748ae82] オブジェクト描画で稀に化けるバグを修正。 コンボボックスに$gp_text+glowオプションで描画するとクラッシュするバグを修正。 ツールチップコントロール追加。 → $tooltip,$tooltip_update,$tooltip_activate,$tooltip_getinfo $drawtextオブジェクト追加。 $gp_imageにcache2オプション追加。 $gp_~や$windowなどのオブジェクト生成・表示関数にmempos:flag, calconly:flag(一部)オプション追加。 %_mp_left%,%_mp_top%,%_mp_right%,%_mp_bottom%, %_mp_width%,%_mp_height%変数追加。 $map関数を5ボタンマウスに完全対応。 $map関数にlbuttondblclk,rbuttondblclk,mbutton~, xbutton1~,xbutton2~,wheel,moveオプション追加。 $map関数に%_wheel%,%_shiftkey%,%_ctrlkey%,%_lbutton%, %_rbutton%,%_mbutton%,%_xbutton1%,%_xbutton2%変数追加。 $popupmenu_view,$popupmenu_view_mainmenuに halign:align,valign:alignオプション追加。 その他、細かい修正。 **v0.1.3 2009/04/20 [#tce6ee75] コンソールに出力データが大量にあると重くなる致命的なバグを修正。 部分的な再描画処理が正常におこなわれていなかったバグを修正。 $window関数で自分自身をロードしようとした時に落ちるバグを修正。 → $window関数を使えないように制限をかけた。 On Playback StartingとOn Playback New Trackが同時に発生した場合、On Playback New Trackが実行されないバグを修正。 $updatewindow関数のオプションを仕様変更 → resizeなどをevent:resizeに。 TF処理ロジックのパフォーマンス改善。 $albumart,$getwindowinfo,$trayicon,$traytip,$trayballoon関数追加。 On Playlist Focus Change,On Playlist Item Focus Changeイベント追加。 その他、細かい修正。 **v0.1.2 2009/04/19 [#id483bde] On Playback~で$playback_control関数を使った場合にクラッシュするバグを修正。 コンボボックスコントロール追加。 → $combobox,$combobox_additem,$combobox_removeitem,$combobox_select $cmd関数追加。 **v0.1.1c 2009/04/18 [#d1ffe9a6] 起動時に$gp_rectを実行すると落ちることがあったバグを修正。 ※このバージョンは未完成の修正(コンボボックスコントロールの追加の一部が含まれています。) 仕様はまだ非公開。 **v0.1.1b 2009/04/17 [#j65d0a51] $buttonが機能しなくなっていたバグを修正(v0.1.1でデグレード) **v0.1.1a 2009/04/17 [#uee9888a] パネルのコンテキストメニューが正常に機能していなかったバグを修正。 **v0.1.1 2009/04/17 [#s8907a3a] ●重要な仕様変更 $gp_text関数のフォントサイズ指定を単位emから単位ptに変更しました。 $settimer関数の引数が変更になりました。 $settimer関数で複数のタイマーを設定できるようにした。 $gp_~,$text関数にglowオプション追加。 glowオプション指定時の注意 現verではleftとtopにある程度の余白がないと正常にglow効果がかかりません。 expandに4以上を設定しても左端が崩れることがあります。 On Playback Order Changedイベント追加。 **v0.1.0b 2009/04/16 [#u2afa64f] User Custom Scriptに#defineが一件も存在しない場合、全てのスクリプトが正常に動作しなくなるバグを修正。 $iswindowvisible,$ispanelvisible,$isctrlvisible,$isobjectvisible関数追加。 **v0.1.0a 2009/04/15 [#u455bb74] On InitとOn Quitの処理タイミングを変更。 On Playback Startingが一度再生した後じゃないと機能しないバグを修正。 **v0.1.0 2009/04/15 [#va126418] ●重要な仕様変更 $window関数のパラメータ変更。 →第2~第5引数がx,y,w,hになったのでoptionsの位置がずれます。 $window関数にembedオプション追加、childオプションをparentに変更(childも使えますがそのうち使えなくなります) →埋め込みウィンドウ機能 $pl_getmeta,$pl_group,$pl_groupsum,$pl_save,$pl_sum,$textfileのTFで拡張関数を使った場合、 その拡張関数中でmetaデータの参照ができなかったバグを修正。 ぴたすちお常駐時にタイトルバーをクリックして移動させたらサイズが縮む不具合を修正。 $myborderの挙動を修正。 Embed機能追加(コンテキストメニューのEmbedメニュー) Script Trim Mode追加(Configuration -> Optionタブ参照) $for,$break,$pi_select,$hash_save,$hash_load関数追加。 メインウィンドウのRefresh処理を修正。 $pl_sum関数にmodeオプション追加(sum,max,min,avg) $parent関数削除。 $clearwindow関数削除($clearobjectと同意なため) ConfigureダイアログからRefreshボタン削除。 メモリリークしていた箇所を修正。 その他、細かい修正。 **v0.0.9e 2009/04/13 [#v6d79927] $mainmenu_set,$contextmenu_setで追加したメニューが実行できなくなっていたバグを修正(v0.0.7でデグレード) $clearobjectで特殊オブジェクトがクリアされていなかったバグを修正。 Loadイベントに$tasktrayを記述したら落ちていたバグを修正。 $gp_textにhalign,valignオプション追加。 $base関数追加。 %_base_x%,%_base_y%変数追加。 **v0.0.9d 2009/04/12 [#e62daf92] 他のUIに切り替えて使った場合、落ちることがあったバグを修正。 **v0.0.9c 2009/04/12 [#s32d34fe] 特定の条件で終了時に落ちていたバグを修正。 (Resizeイベントに$gp_image,$updatewindowを記述かつメニューバー表示状態) **v0.0.9b 2009/04/12 [#s37ce25d] $map_rect,$map_circleで高さ、幅が1ピクセル少なく設定されていたバグを修正。 $gp_image関数でalphaオプションを省略した場合、一部の透過png画像で正常に描画されていなかったバグを修正。 メニューバー表示状態で終了するとエラーを吐くことがあったのを修正。 (当方の環境でこの事象が発生しなかったため直ったかどうか確認できていません) $button関数の透過png(似非)対応。(type:image2のみ) → 制限:コントロールやパネルに重ねてもその下の背景が透過表示される。 **v0.0.9a 2009/04/11 [#d44e5673] $button関数で/Profileパス変換機能が正常に機能していなかったバグを修正。 $button関数にover:valオプション追加。 $pl_lock,$pl_unlock関数追加。 **v0.0.9 2009/04/10 [#ff491160] User Custom Scriptで戻り値を設定するように修正。 $clearobjectの致命的なバグを修正。 $pl_duration,$hms,$wdhms,$pl_finditeminlib関数追加。 %lib_enabled%,%lib_count%変数追加。 その他、細かい修正。 **v0.0.8a 2009/04/09 [#b0d4050a] TFで全角文字が使えなくなっていたバグを修正(0.0.7でデグレード) $removectrl($removeobjectのalias)関数追加。 **v0.0.8 2009/04/09 [#s5cb8b10] ウィンドウ非表示状態で$taskbar関数を使うとウィンドウが表示されていたバグを修正。 起動時のメインウィンドウのメインメニュー設定タイミングをウィンドウ生成直後に変更。 → Loadイベントで%_cheight%を使ってもずれなくなったと思います。 %playback_can_seek%,%playback_position%,%playback_length%変数追加。 $volume,$playback_seek関数追加。 **v0.0.7a 2009/04/08 [#d7713235] ウィンドウ作成時に落ちる致命的なバグ(0.0.7でデグレード)を修正。 **v0.0.7 2009/04/08 [#de85764b] ●重要な仕様変更 各イベント実行時にオブジェクトをクリアしていたのを廃止しました。 仕様変更ばかりで申し訳ない。 クリアする場合は$clearobject関数を使用して下さい。 ※オブジェクトの多重生成に注意して下さい。 User Custom Script機能追加。 $playback_control関数でpauseが機能していなかったバグを修正。 $updateobject関数で正常に画面更新できていなかったバグを修正。 $clearobject関数にeventオプション追加。 $map関数のプライベート変数に%_mouse_cx%,%_mouse_cy%,%_mouse_sx%,%_mouse_sy%を追加。 %volume%,%playback_state%,%playback_stopaftercurrent%変数追加。 $lenb関数追加。 $random関数を0オリジンに変更。 Display always icon時に最小化した場合、タスクバーには表示しないように変更。 メインウィンドウ表示状態でタスクトレイアイコンをクリックすると最小化するように変更。 その他、細かい修正。 **v0.0.6 2009/04/06 [#q33a6d6b] $gp_image関数でファイルがロックされるバグを修正。 $gp_image関数でrotate,flipオプション指定時に描画範囲がおかしかったバグを修正。 $albumart_extract関数追加。 %_result%,%_flag%変数追加。 $button関数、$gp_~関数などのオブジェクト作成関数にhideオプションを追加。 $showobject、$moveobject、$setobjectzorder、$updateobject関数追加。 $clearobjectを$clearctrlと$clearobjectに分離。 その他、細かい修正。 **v0.0.5 2009/04/05 [#f271e80d] パネルやコントロールが非表示の状態で$movepanel,$movectrl関数を実行した場合に表示されてしまうバグを修正。 Playlist Tree Mod Panelを表示させたまま終了するとクラッシュしていたバグを修正。 $panel関数にhideオプションを追加。 $window関数のloadonlyオプションをhideに変更。 $map,$map_rect,$map_circle,$map_preview関数追加。 %playback_ordername%,%playback_orderindex%変数追加。 **v0.0.4 2009/04/05 [#z0283bdd] $gp_image関数のオプションにclipを追加。 $closectrl関数でコントロールを閉じた時に落ちることがあるバグを修正。 $closectrl→$removeobjectに変更。 $clearwindow→$clearobjectに変更。 $button関数及びコントロール関連の関数を大幅に仕様変更。(削除含む) →コントロールIDがオブジェクトIDに変わったのでfunction reference参照。 $panel関数等、zorderが正しく設定されていなかったバグを修正。 その他、細かい修正。 **v0.0.3 2009/04/04 [#gb7e82a9] $pl_getmeta関数等、TFが実行できる関数でウィンドウプライベート変数の参照ができなかったバグを修正。 $hash関数が正常に機能していなかったバグを修正。 $movewindow関数にactivateオプションを追加。 $dragwindow関数追加。 Activateイベント追加(%_activate%変数追加) **v0.0.2 2009/04/03 [#ha44f7b2] 画面再描画時の致命的なバグを修正。 ボタンコントロールのTFでウィンドウプライベート変数の参照ができなかったバグを修正。 $animatewindow関数追加。 $myborder関数追加。 $minmax関数追加。 $updatewindow関数にlevel:nオプション追加。 %_menubar%変数追加。 $dock関数にxpad・ypad・whオプションを追加。 **v0.0.1 2009/04/03 initial release. [#m003a106] リリースしようと思って1週間以上経ってしまった・・。 安定した物を目指して逆に不安定な物ができあがったような気がしますが。