日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > windows >内容正文

windows

[网络应用]Foobar2000界面入门:认识Foobar的UI系统,熟悉三种主流界面插件

發布時間:2023/12/10 windows 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 [网络应用]Foobar2000界面入门:认识Foobar的UI系统,熟悉三种主流界面插件 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
首先感謝 jensen 的文章。

前言: 如果你想對Foobar做任何界面上的操作,無論是風格樣式還是按鈕行為,列表功能還是圖片顯示,都最好先讀過下面的文字,否則你很可能在接下來的操作中處處碰壁,搞得稀里糊涂。

認識Foobar的界面系統

????? Foobar是高度可定制的軟件,它的各項功能都盡量實現獨立的模塊化,也就是獨立成一個個的插件,它的界面的也是一樣。Foobar的整個界面系統,包括你能看到的窗口邊框內的所有東西,從菜單按鈕到列表樣式,全都是“外包”給一個插件負責的,這個插件負責整個Foobar界面的描繪,而真正的 Foobar只提供最核心的功能和命令,以供插件調用,所以當此插件缺失時,Foobar將由于沒有界面系統而無法啟動。這類插件,我們通常稱之為“界面插件”或“UI插件”,它們的命名規則一般是foo_ui_*.dll。

界面插件
????? 界面插件不只有一個,現在主流的界面插件有三個:
????? Default User Interface,譯名:默認用戶界面,文件名:foo_ui_std.dll,論壇里常簡稱為“DUI”。
????? Columns UI,譯名:分欄界面,文件名:foo_ui_columns.dll,論壇里常簡稱為“CUI”。
????? Panels UI,譯名:面板界面,文件名:foo_ui_panels.dll,論壇里常簡稱為“PUI”。
????? 這三種界面插件都有很大的定制自由度,可以讓你隨意打造自己的界面。
????? 但這三種界面插件的工作方式都完全不同,所以大部分界面問題都要分情況討論,在不同的界面下問題和解決方法往往是完全不同的。

????? 由于每個插件都是要接管Foobar的整個界面的,所以Foobar必然只可能同時使用一個界面插件。這并不是說你不能把多個界面插件一起放進 components目錄下,你可以這樣做,但這些插件中同時只可能有一個在生效、在負責界面(這也并不是說把多個界面插件同時放進components 目錄就是沒有意義的,這個將在后面說明)。第一次把多個界面插件放進components目錄后啟動時會彈出提示選擇要使用的界面模塊的對話框:

????? 以后就不會再彈出。此后如果需要切換界面模塊,進入 參數設置(Preferences)-顯示(Display) ,右側的下拉列表就可以切換,如下面的提示文字所說,需要重啟后才能生效。

????? 而每個界面插件都會把自己的設置都放在 參數設置(Preferences) 對話框左側的目錄樹中,顯示(Display) 分支下。


????? 當一個界面在生效時,其他未生效的界面的部分參數設置將會失效,準確的說是負責整個界面的一些功能會失效,例如最小化到托盤等,所以對于這些需求,就需要到你當前正在生效的界面插件的參數有設置頁去設置,在其他頁面設置是無效的。

下面的內容是詳細介紹的文字,如果你沒有興趣去深入了解,可以直接跳過到后面看總結部分。

界面插件的插件——面板插件

????? Foobar的每種界面,都是由很多個面板構成的,例如菜單、播放按鈕、播放列表等,都是面板,你可以隨意調用這些面板來填充界面,并實現一些功能和應用。

????? 每個界面插件都會自帶一些面板以供用戶使用,但這一般都是些很基本的面板,如播放列表等。但是,每個界面插件,都是可以讓第三方插件來提供新的面板的(DUI現在對此很是消極),即“插件的插件”。這些插件的作用就是給界面插件增加一些其他的可用面板(如歌詞面板),插件載入后面板即可調用,和界面插件自帶的面板沒有區別。界面插件將這些面板按照用戶定義的位置和大小放好,而后這些面板內的顯示內容和行為就完全由相應的面板插件來負責了。下文中我將這種面板稱為“外插面板”。

????? 值得注意的是:CUI和PUI的面板插件是通用的。能在CUI下調用的面板在PUI下一樣可以調用,反之亦然。而且,這種通用并不僅限于第三方插件提供的面板,連CUI和PUI所自帶的面板(如各自帶的播放列表面板),也是可以互相通用的,CUI下可以調用PUI提供的SCPL面板,PUI下也可以調用CUI的播放列表切換器面板。

????? 雖然,當一個界面在生效時,其他未生效界面的負責整個界面的一些功能會失效,但它們的自帶面板的選項還是依然有效的,因為這些選項只針對那個面板內部的顯示內容而已。所以,雖然Foobar的界面上同時只可能只有一個界面插件在生效,但此時其他界面插件也不是沒有意義的,只是它們不是主管了而已。

????? 但是,所有這些插件在DUI下卻是不能調用的,DUI的面板插件一樣也不能為CUI和PUI所調用,DUI的面板插件和CUI、PUI是完全獨立的(所以 DUI下無法將歌詞面板嵌入界面內,因為歌詞插件只有通過外插獲得),所以,當DUI不是當前正在生效的界面插件時,DUI的參數設置頁就整個都處于不可用的狀態。

????? 不過,我這里所說的“調用”,都是指將面板嵌入界面,DUI的面板雖然不能嵌入CUI和PUI的界面,但它們都可以以獨立窗口的狀態顯示,因為這個獨立的窗口并不會受到當前界面插件的控制,所以在CUI或PUI界面下,也是可以使用DUI界面的,只是無法嵌入界面,只能以獨立窗口的狀態看而已。

????? CUI和PUI的面板插件的命名規則通常為foo_uie_*.dll。

????? CUI和PUI的面板插件非常多,例如:專輯圖片面板 foo_uie_albumart.dll、專輯列表面板 foo_uie_albumlist.dll、歌詞秀面板 foo_uie_lyrics.dll,等等等等。這些第三方面板大大的提高了Foobar的功能和界面自由度。
????? 而DUI的面板插件則非常少,基本上除了官方提供的一個外,就沒有了。

三個界面的特點和相互之間的區別

Default User Interface(默認用戶界面)



簡介
????? DUI是官方原版里自帶的界面插件,也是官方主推的界面。官方原版的下載啟動后看到的就是這個界面。
????? 這個界面的特點就是簡單(雖然0.9.5以后的DUI比以前復雜了許多,但和CUI和PUI比起來還是相當簡單的)、速度快,無論啟動速度還是操作反應速度都是三種界面插件中最快的。
????? DUI界面的整體風格樣式必然是跟隨Windows系統主題的,不能自定義樣式,用戶能做的,就是像堆積木一樣的堆砌各種面板。

自帶面板

????? DUI插件自帶的面板很多,很全面,這也是跟它拒絕外部面板,堅持走獨立自主的道路有關吧~~~在這些面板中最主要的Containers(容器)類中的面板,基本都和CUI類似(其實0.9.5以后的DUI明顯借鑒了很多CUI的東西),這也決定了它整個界面的排布結構也和CUI基本類似。其他的面板一般在CUI和PUI下也有替代品(外插面板),但有幾個面板是無法替代的。最典型的幾個,首先是頻譜面板,DUI的頻譜面板很多很專業,其中最為用戶所稱道的Spectrogram(聲譜)面板,常用于分析音頻的質量和有損程度,是繼承于0.8下的“簡單頻譜”插件的效果,這個面板在CUI和PUI下是無法調用并嵌入界面的,只能以獨立窗口的狀態顯示。

其次是Selection Properties(選擇的屬性)面板,雖然在CUI和PUI下有Trackinfo或TrackDisplay(PUI自帶的面板)等面板可以模擬, 但它實時編輯字段的功能現在在CUI和PUI下還無法實現。還有一個就是播放列表面板,DUI的列表面板的功能略為欠缺,比如不能高亮當前播放曲目,只能 用一個“Playing”列里的小箭頭來提示,但它對列表分組的支持比CUI要好一些。
由于DUI的面板基本全是自帶的,不是自帶也是都官方的,所以DUI面板有一個很方便的特性,就是整體顏色風格的定義非常方便,所有的面板默認都會使用一 個全局性質的顏色設置,一次性就可以設置好整個界面,而不用像CUI或PUI一樣為每個面板每個細節分別設定。

外插面板
DUI的外插面板基本上只有官方自帶的foo_albumlist,是一個和foo_uie_albumlist十分相似的媒體庫視圖面板(當然也是”借鑒“~~~)。

導入和導出
DUI的界面配置可以導出為*.fth文件,里面保存了整個界面的所有設置,載入即可重現整個界面。

Columns UI(分欄界面)

簡介

CUI是由musicmusic開發的界面插件,它一直都十分流行,雖然現在PUI的華麗吸引了很多用戶,但比起穩定性和完善性,CUI依然是目前最出色的界面插件。
CUI界面的整體風格樣式也是跟隨Windows系統主題的,用戶能做的,基本上也是像搭積木一樣的堆砌面板,只不過CUI能使用的面板更多,更強大,也更復雜。
不過,通過在CUI中嵌入PUI面板或Panel Splitter等面板,可以讓CUI不露出它Windows主題的部分,從而在表面上使CUI脫離Windows主題。由于大家對PUI效果的不 舍,Panel Splitter插件越來越流行,現在也有越來越多的界面使用這種方案來使CUI脫離Windows主題,實現類似PUI的效果,現在論壇里大部分的花哨 新界面都是用這種方法實現的。

自帶面板

CUI的界面結構和DUI很相似(其實是DUI“借鑒”了CUI),都是以水平或垂直的分離器為容器來排布面板的。
在CUI 0.3以上的版本中,自帶面板已經很全面,專輯封面和媒體庫視圖等面板都加入進來了。其他的還有菜單、按鈕和各種條子等原有的常用面板。
值得一提的是CUI的播放列表面板,CUI的列表可定制性非常強,但它的定制難度也遠比DUI高,列表的樣式和顯示文字全要靠腳本寫出來,這需要用戶對 Titleformating腳本有充分的了解。CUI還自帶了一個“NG列表”,支持分組功能,但這個分組功能實在很一般,不支持多分組方式切換,唯一 的特色是支持多級分組。

外插面板

比起自帶面板,外插面板才是CUI最大的特色和長處,這些插件都可以到置頂的插件收集中帖挑選,這里只介紹一個Panel Splitter,其他就不多做介紹了。
Panel Splitter插件讓CUI可以以類似PUI的方式繪制界面,使CUI可以脫離Windows主題而實現更炫的效果,由于這個原因,現在它很受界面作者的青睞,現在CUI下各種花哨的界面基本上都使用了Panel Splitter。

導入和導出

CUI的配置可以導出為*.fcl文 件,導出的內容可以選擇,標題欄、狀態欄、列表配置和界面布局等都可以選擇導出,導入時也是一樣可以選擇導入。 FCL文件中的界面布局配置,對外插面板只能保存它的配置,不可能保存插件本身。所以導入FCL中的布局配置時,需要另外將用到的面板插件配齊,才能正常 的重現界面,否則在界面上會出現面板缺失。(絕大部分情況下,導入FCL文件需要配齊的插件都不苛求語言版本,但如果在該FCL布局中嵌入了PUI面板并 且在其中繪制了調用Foobar命令的按鈕,或者調用了外部插件,那么Foobar核心(foobar2000.exe文件)或調用的插件也需要語言版本 的正確,因為這相當于使用了PUI界面,就要遵守PUI的規則,詳細可以看下面的PUI注意問題中的第一個。不過現在這種配置還是極少的)
另外在這里也需要提一下*.fcs文件,FCS文件是老版本CUI中使用的配置導出格式,里面只包括了列表的全部腳本配置,在新版的CUI中對FCS文件也留有良好的支持,可以直接進行導入。

對現在的CUI+Panel Splitter的一點總結看法

CUI+Panel Splitter是現在很流行的一種界面實現方案,因為它可以讓CUI實現類似PUI的炫目效果,而且可以用在0.9.5.2以后版本的foobar上。 但實際上這些界面在功能上都是不能和PUI相比的,因為Panel Splitter的功能還遠不如和PUI強大,畢竟它只是一個面板插件,而PUI是一個完整的界面。
PUI可以用貫穿整個界面的全局變量協調各種界面元素,而這對于Panel Splitter是不可能的(嚴格的說是foobar 0.9.5.2以后的版本造成的不可能)。例如PUI可以利用這些變量來同步整個界面各個面板里的專輯封面路徑,而Panel Splitter只能一個個設置,面板之間不可能同步,設置起來十分麻煩,對新手來說簡直是不可能的。偏偏現在在CUI下有好幾個能顯示封面的面板插件, 如Chronflow、Graphical Browser等,界面作者們也很喜歡用,導致現在那些花哨的CUI界面,其封面路徑的設置非常麻煩,PUI已經夠麻煩的了,可它比PUI還要麻煩許多。
PUI畢竟是個完整的界面插件,雖然有不少bug,它還是有很完善界面控制方案,而Panel Splitter就遜色了許多,許多操作和交互都只是模仿效果而已,仍有不少缺陷,如面板雖然可以切換卻不能記憶切換到哪個……
CUI的外插插件雖然豐富,但個人覺得優秀的插件都集中在那些如albumart、albmulist等老牌插件上,雖然功能簡單,但是整體完善而少有 bug。而新出Panel Splitter、ELplaylist、Chronflow和Graphical Browser等插件,在功能上都還很不完善,而它們一般都是花哨界面中常用的面板(因為他們可以脫離Windows經典主題),所以現在花哨的CUI界 面,在功能上往往都有相當多的缺陷和漏洞,比PUI時期的界面有過之而無不及。
CUI插件本身是一個非常出色的界面插件,自帶的功能十分完善,界面結構也十分簡單合理,用它實現的那些Windows經典主題下的界面都非常不錯。但個 人認為現在CUI+Panel Splitter的界面實現方案,實在是不怎么樣,插件環境糟糕,功能自由度處處受限,想用它來做完善的界面,條件還遠不成熟(估計是成熟不了了,在 CUI下搞這些東西,這個大方向就不會有什么好的結果~~)。

Panels UI(面板界面)


簡介
PUI是由terrestrial開發的界面插件,它可以讓用戶在界面上肆意使用圖片,所以可以實現很炫的效果,因此也贏得了很多的用戶。現在論壇里大部分花哨的界面都是基于PUI開發的。
terrestrial在PUI之前在開發的是foo_trackinfo_mod和foo_uie_single_column_playlist兩個 插件,后來他索性直接將兩個插件合并,開發了一個全新的界面插件,也就是PUI插件,foo_trackinfo_mod被移入PUI成為 TrackDisplay面板,foo_uie_single_column_playlist也被移入并成為Single Column Playlist面板,此后這兩個插件就停止更新,轉入PUI中繼續開發了。后來,在2007年年中,PUI的開發突然停止,原因是作者 terrestrial在官方論壇上與其他開發者發生方向上的嚴重分歧,并從此“失蹤”,此后再未在官方論壇上出現,未開發完善的PUI插件也從此停止更 新。再后來,Foobar的官方在0.9.5.3版開始,去除了對PUI插件的支持(同時也去除了很多其他插件的支持),PUI從此不能在Foobar上 使用,現在不可能,以后也不可能了,PUI的歷史就此走到盡頭。所以,如果你要使用PUI,你的Foobar版本最高只能用0.9.5.2。到現 在,PUI已經基本被淘汰,老界面很少人用,也沒有人用它做新的界面了。
由于PUI是不完善的,所以它的bug和造成的崩潰也屢見不鮮,穩定性的確比較糟糕。現在一般認為,兼顧功能與穩定性的版本是0.14.9(不過這并不是說讓大家都去換這個版本,這個將在后面說明)。
PUI的界面結構和CUI或DUI完全不同,它的整個界面都是由腳本繪制而成,由腳本指定面板和圖片的顯示,所以它的自由度極高,界面編輯的難度也極大, 它要求用戶必須掌握Titleformating腳本語法和PUI腳本語法,制作PUI界面基本就是在編程序。PUI也由于這樣濫用 Titleformating腳本而廣受指責,事實也證明,由于濫用本來根本就不是為繪制界面而開發的Titleformating腳本,PUI的界面繪 制效率很低,復雜(完善的界面基本都算“復雜”)的PUI界面操作延時都很明顯。

自帶面板
PUI的自帶面板只有三個:TrackDisplay(歌曲顯示)、Single Column Playlist(單欄列表,常簡稱為“SCPL列表”)、Library Filter(媒體庫過濾器)。
TrackDisplay是PUI中最基礎的面板,基本上是“萬能”面板,它可以顯示任意的文字和圖片,并可以內嵌子面板,自己也可以層層嵌套,是PUI界面的主要框架。
Single Column Playlist是PUI的播放列表面板,這是個非常強大的播放列表,也非常的復雜。不只是它的文字或圖片的內容和樣式,就連它的列表分組機制,都非常復 雜而強大,PUI的列表分組功能遠超CUI和DUI的列表,如果能熟練的掌握好SCPL的列表分組功能,將會給列表整理帶來極大的便利。
Library Filter是用來瀏覽媒體庫的面板,它的瀏覽模式和albumlist相似,只不過它把多種視圖模式都同時放在了根目錄下的多個組內,并且加入了“與” 和“非”的過濾功能。不過個人認為用它來瀏覽的效率還不如albumlist來的高,主要由于它反應速度較慢且不支持抓拖等,它的優勢在于可以在列表中顯 示各種圖片,如專輯圖片和藝術家圖片等。
由于PUI界面極大的自由度,所以制作粗糙的PUI界面往往會缺失很多Foobar原有的功能,其實Foobar本身并沒有缺失這些功能,只是在PUI的 界面上,PUI的作者由于考慮不周或過度的追求湊出一個好看的預覽圖,并沒有給出相應的面板支持。這種現象現在還十分普遍……

外插面板
PUI兼容所有的CUI外插面板,除了CUI自帶的Splitter(分離器)面板不能調用外,CUI能調用的所有面板,PUI也能調用,只不過這個調用必須通過腳本實現。

導入和導出
PUI的配置可以導出為*.pui文 件,里面保存了整個界面的腳本和各個面板的配置。在導入PUI時,同樣需要配齊所用到的插件(導入PUI的注意事項比較多,詳見后面”總結“中的第3個問 題),否則界面上會出現面板缺失。支持導出使得PUI這種使用難度極大的插件也可以為普通用戶所用,只要導入別人做好的PUI文件即可實現好看的效果。

PUI有幾個問題需要格外注意:
第一:插件與核心語言版本要求嚴格。
由于PUI腳本語法的原因,絕大部分PUI對Foobar及其插件的語言的要求是非常嚴格的(現在,除了Elite可以兼容中英文核心和面板、 foolite可以兼容中英文核心外,沒有多語言兼容的PUI配置),要載入PUI,不但要備齊所有它需要的插件,而且這些插件以及Foobar核心 (foobar2000.exe文件)的語言版本絕對不能搞錯,現在絕大部分國外的PUI界面用的都是全英文環境,你也必須同樣使用全英文環境才能正確還 原它,而國內一些界面使用中文插件或核心,你也需要用一樣的環境去載入,否則就會出現面板或功能的缺失。
另外,其實PUI對面板插件語言版本的苛求實際上是由于它引用面板是靠面板的名字引用的,如果名字被漢化(或他國語言化),PUI就無法正確引用到面板, 而現在的漢化者基本都開始注意這個問題,相當多的插件在漢化的時候并不漢化面板名,這種漢化版的插件也是可以被正常的調用的。所以,也并不是說完全的不能 對國外的PUI用中文版插件,只要下載插件的時候看好,如果它是未漢化面板名的,就可以使用。例如現在Asion漢化的PUI插件,就沒有漢化面板名 (TrackDisplay等),這樣雖然它是漢化版,但依然可以和英文的一樣正確載入各種界面。

第二:0.13與0.14不兼容。
PUI 0.13.x版本與0.14.x版本的腳本語法不同,這會導致它們生成的PUI文件不能通用。也就是說,在0.13.x版本下寫的PUI文件不能在 0.14.x下導入,反之亦然。亂導入不但會導致界面顯示錯誤,還會直接破壞PUI文件,使這個PUI文件即使回到正確的版本下也無法再正常還原界面,所 以,經過了錯誤版本導入過的PUI文件是不能用的,需要用完好的文件替換它。
號稱最穩定的0.14.9版本,其語法規則其實還是很接近于0.13的,不過它們畢竟還是有區別的,不能隨便混用。所以,雖然0.14.9被認為是最穩定 的版本,也并不是說大家都要換用0.14.9,具體使用哪個還是要看自己的PUI的要求,不可亂用。只有PUI的開發者,也就是只有當你打算要自己做一個 PUI配置的時候,才可以根據這個穩定性的說法來選擇要使用的版本。

第三:穩定性差。
PUI是不完善的,它的穩定性很成問題,大部分用戶在使用PUI過程中都會出現或多或少的崩潰,這是不可避免的。
有些用戶在PUI界面上點右鍵-設置時必然出現崩潰,這是一個很常見的問題,也是一個非常棘手的問題,可以嘗試使用Applocale,具體教學帖在這里
http://www.foobar2000.com.cn/showtopic-1144.html
Applocale的成功率不高,如果沒有成功,你就認命吧,到現在還從未發現有除重裝系統外的其他解決辦法,這就是系統問題,尚未找到解決方法。
還有些用戶會出現“白板問題”,也就是界面顯示為PUI默認樣子的,這種問題,如果排除了各種插件和核心的版本和語言問題(其實絕大部分人都是這幾個問 題,詳見下面”總結“中的第3個問題),也是一種很棘手的問題,往往是同樣的打包,有人正常,有人就白板,而且還是有的配置白板,有的不白板,這個也是暫 無辦法的,如果你實在白板,就只有放棄這個界面了,好在有這種問題的用戶還是非常少的。

第四:不能用在Foobar 0.9.5.3以及更高的版本上。
從0.9.5.3起,Foobar已經不再支持PUI插件,如果你要使用PUI,你的Foobar版本最高只能用0.9.5.2。

...

轉載于:https://www.cnblogs.com/iRoy930/archive/2009/06/08/1581444.html

總結

以上是生活随笔為你收集整理的[网络应用]Foobar2000界面入门:认识Foobar的UI系统,熟悉三种主流界面插件的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。