Foobar2000界面入门:认识Foobar的UI系统,熟悉三种主流界面插件_第1页
Foobar2000界面入门:认识Foobar的UI系统,熟悉三种主流界面插件_第2页
Foobar2000界面入门:认识Foobar的UI系统,熟悉三种主流界面插件_第3页
Foobar2000界面入门:认识Foobar的UI系统,熟悉三种主流界面插件_第4页
Foobar2000界面入门:认识Foobar的UI系统,熟悉三种主流界面插件_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、如果你想对Foobar做任何界面上的操作,无论是风格样式还是按钮行为,列表功能还是图 片显示,都最好先读过下面的文字,否则你很可能在接下来的操作中处处碰壁,搞得稀里 糊涂。认识Foobar的界面系统Foobar是高度可定制的软件,它的各项功能都尽量实现独立的模块化,也就是独立成一 个个的插件,它的界面的也是一样。Foobar的整个界面系统,包括你能看到的窗口边框内的所有东西,从菜单按钮到列表样式,全都是“外包”给一个插件负责的,这个插件负责整个Foobar界面的描绘,而真正的Foobar只提供最核心的功能和命令,以供插件调用,所以当此插件缺失时,Foobar将由于没有界面系统而无法启动。这类插

2、件,我们通常称之为“界面插件”或“ UI插件”,它们的命名规则一般是foo_ui_*.dll 。界面插件 界面插件不只有一个,现在主流的界面插件有三个:Default User In terface,译名:默认用户界面,文件名:foo_ui_std.dll ,论坛里常简称为“ DUI”。Columns UI,译名:分栏界面,文件名:foo_ui_colu mn s.dll,论坛里常简称为“ CUI”。9,论坛里常简称为“ PUI”。Pan els UI,译名:面板界面,文件名:foo_ui_pa nels.dll这三种界面插件都有很大的定制自由度,可以让你随意打造自己的界面。但这三种界面插件的

3、工作方式都完全不同,所以大部分界面问题都要分情况讨论,在不同的界面下问题和解决方法往往是完全不同的。由于每个插件都是要接管Foobar的整个界面的,所以Foobar必然只可能同时使用一个界面插件。这并不是说你不能把多个界面插件一 起放进components目录下,你可以这样做,但这些插件中同时只可能有一个在生效、在负 责界面(这也并不是说把多个界面插件同时放进components目录就是没有意义的,这个将在后面说明)。第一次把多个界面插件放进components目录后启动时会弹出提示选择要使用的界面模块的对话框:附件:您所在的用户组无法下载或查看附件以后就不会再弹出。此后如果需要切换界面模块,

4、进入 参数设置(Preferences)- 显示(Display),右侧的下拉列表就可以切换,女口 下面的提示文字所说,需要重启后才能生效。附件:您所在的用户组无法下载或查看附件而每个界面插件都会把自己的设置都放在 参数设置(Preferences)对话框左侧的目录树中,显示(Display)分支下。附件:您所在的用户组无法下载或查看附件当一个界面在生效时,其他未生效的界面的部分参数设置将会失效, 准确的说是负责整个界面的一些功能会失效, 例如最小化到托盘 等,所以对于这些需求, 就需要到你当前正在生效的界面插件的参数有设置页去设置, 在其 他页面设置是无效的。面的内容是详细介绍的文字, 如果

5、你没有兴趣去深入了解, 可以直接跳过到后面看 总结部分。界面插件的插件面板插件Foobar 的每种界面,都是由很多个面板构成的,例如菜单、播放按钮、播放列表等,都 是面板,你可以随意调用这些面板来填充界面,并实现一些功能和应用。 每个界面插件都 会自带一些面板以供用户使用, 但这一般都是些很基本的面板,如播放列表等。但是,每个界面插件,都是可以让第三方插件来提供新的面板的( DUI 现在对此很是消极),即“插件 的插件”。 这些插件的作用就是给界面插件增加一些其他的可用面板(如歌词面板),插件载入后面板即可调用, 和界面插件自带的面板没有区别。 界面插件将这些面板按照用户定义 的位置和大小放好

6、,而后这些面板内的显示内容和行为就完全由相应的面板插件来负责了。 下文中我将这种面板称为“外插面板”。值得注意的是:CUI和PUI的面板插件是通用的。能在 CUI 下调用的面板在 PUI 下一样可以调用, 反之亦然。 而且,这种通用并不仅限于第三 方插件提供的面板,连CUI和PUI所自带的面板(如各自带的播放列表面板),也是可以互相通用的,CUI下可以调用PUI提供的SCPL面板,PUI下也可以调用CUI的播放列表切换器 面板。 虽然,当一个界面在生效时,其他未生效界面的负责整个界面的一些功能会失效, 但它们的自带面板的选项还是依然有效的, 因为这些选项只针对那个面板内部的显示内容而 已。所以

7、,虽然 Foobar 的界面上同时只可能只有一个界面插件在生效,但此时其他界面插 件也不是没有意义的,只是它们不是主管了而已。但是,所有这些插件在DUI下却是不能调用的,DUI的面板插件一样也不能为CUI和PUI所调用,DUI的面板插件和 CUk PUI是完全独立的(所以 DUI 下无法将歌词面板嵌入界面内,因为歌词插件只有通过外插获得),所以,当 DUI 不是当前正在生效的界面插件时, DUI 的参数设置页就整个都处于不可用的状态。 不过,我这里所说的“调用”,都是指将面板嵌入界面,DUI的面板虽然不能嵌入 CUI和PUI的界面, 但它们都可以以独立窗口的状态显示, 因为这个独立的窗口并不会

8、受到当前界面插 件的控制, 所以在 CUI 或 PUI 界面下, 也是可以使用 DUI 界面的,只是无法嵌入界面, 只能 以独立窗口的状态看而已。CUI和PUI的面板插件的命名规则通常为foo_uie_*.dll 。 CUI和 PUI 的面板插件非常多,例如:专辑图片面板 foo_uie_albumart.dll 、专辑列表面板foo_uie_albumlist.dll 、歌词秀面板 foo_uie_lyrics.dll ,等等等等。 这些第三方面板大大的提高了 Foobar 的功能和界面自由度。 而 DUI 的面板插件则非常少, 基本上除了官方提供的一个外,就没有了。三个界面的特点和相互之间

9、的区别Default User In terface(默认用户界面)附件:您所在的用户组无法下载或查看附件简介DUI是官方原版里自带的界面插件,也是官方主推的界面。官方原版的下载启动后看到的就是这个界面。这个界面的特点就是简单(虽然,但和CUI和PUI比起来还是相当简单的)、速度快,无论启动速度还是操作反应速度都是三种界面插件中最快的。DUI界面的整体风格样式必然是跟随 Win dows系统主题的,不能自定义样式,用户能做的,就是像堆 积木一样的堆砌各种面板。自带面板DUI插件自带的面板很多,很全面,这也是跟它拒绝外部面板,坚持走独立自主的道路有 关吧在这些面板中最主要的 Containers

10、 (容器)类中的面板,基本都和CUI类似(其实, 这也决定了它整个界面的排布结构也和CUI基本类似。其他的面板一般在 CUI和PUI下也有替代品(外插面板),但有几个面板是无法替代的。最典型的几个,首先是频谱面板,DUI的频谱面板很多很专业,其中最为用户所称道的Spectrogram (声谱)面板,常用于分析音频的质量和有损程度,是继承于0.8下的“简单频谱”插件的效果,这个面板在CUI和PUI下是无法调用并嵌入界面的,只能以独立窗口的状态显示。匚附件:您所在的用户组无法下载或查看附件其次是Selection Properties (选择的属性)面板,虽然在CUI和PUI下有Trackinfo

11、 或TrackDisplay (PUI自带的面板)等面板可 以模拟,但它实时编辑字段的功能现在在CUI和PUI下还无法实现。还有一个就是播放列表面板,DUI的列表面板的功能略为欠缺,比如不能高亮当前播放曲目,只能用一个“Playing ”列里的小箭头来提示,但它对列表分组的支持比CUI要好一些。 由于DUI的面板基本全是自带的,不是自带也是都官方的,所以DUI面板有一个很方便的特性,就是整体颜色风格的定义非常方便,所有的面板默认都会使用一个全局性质的颜色设置,一次性就可以设置好整个界面,而不用像CUI或PUI 一样为每个面板每个细节分别设定。外插面板DUI的外插面板基本上只有官方自带的foo_

12、albumlist,是一个和foo_uie_albumlist 十分相似的媒体库视图面板(当然也是”借鉴“ )。导入和导出DUI的界面配置可以导出为*.fth 文件,里面保存了整个界面的所有设置,载入即可重现整个界面。Columns UI (分栏界面)附件:您所在的用户组无法下载或查看附件简介CUI是由musicmusic开发的界面插件,它一直都十分流行,虽然现在PUI的华丽吸引了很多用户,但比起稳定性和完善性,CUI依然是目前最出色的界面插件。CUI界面的整体风格样式也是跟随 Win dows系统主题的,用户能做的,基本上也是像搭积木一样的堆砌面板, 只不过CUI能使用的面板更多,更强大,也

13、更复杂。不过,通过在 CUI中嵌入PUI面板或Panel Splitter 等面板,可以让 CUI不露出它 Windows主题的部分,从而在表面上使CUI脱离 Windows主题。由于大家对 PUI效果的不舍,Panel Splitter插件越来越流行,现在也有越来越多的界面使用这种方案来使CUI脱离Windows主题,实现类似PUI的效果,现在论坛里大部分的花哨新界面都是用这种方法实现的。自带面板CUI的界面结构和 DUI很相似(其实是 DUI “借鉴”了 CUI),都是以水平或垂 直的分离器为容器来排布面板的。在CUI 0.3以上的版本中,自带面板已经很全面,专辑封面和媒体库视图等面板都加

14、入进来了。其他的还有菜单、按钮和各种条子等原有的常用面板。值得一提的是CUI的播放列表面板,CUI的列表可定制性非常强,但它的定制难度也 远比DUI高,列表的样式和显示文字全要靠脚本写出来,这需要用户对Titleformating 脚本有充分的了解。CUI还自带了一个“ NG列表”,支持分组功能,但这个分组功能实在很一 般,不支持多分组方式切换,唯一的特色是支持多级分组。外插面板 比起自带面板,外插面板才是CUI最大的特色和长处,这些插件都可以到置顶的插件收集中帖挑选,这里只介绍一个Panel Splitter,其他就不多做介绍了。PanelSplitter 插件让CUI可以以类似PUI的方式

15、绘制界面,使 CUI可以脱离 Windows主题而实 现更炫的效果,由于这个原因,现在它很受界面作者的青睐,现在CUI下各种花哨的界面基本上都使用了 Pa nel Splitter 。导入和导出CUI的配置可以导出为*.fcl文件,导出的内容可以选择,标题栏、状态栏、 列表配置和界面布局等都可以选择导出,导入时也是一样可以选择导入。FCL文件中的界面布局配置,对外插面板只能保存它的配置,不可能保存插件本身。所以导入FCL中的布局配置时,需要另外将用到的面板插件配齐,才能正常的重现界面,否则在界面上会出现面板缺失。(绝大部分情况下,导入FCL文件需要配齐的插件都不苛求语言版本,但如果在该FCL布

16、局中嵌入了 PUI面板并且在其中绘制了调用Foobar命令的按钮,或者调用了外部插件,那么Foobar核心(foobar2000.exe 文件)或调用的插件也需要语言版本的正确,因为 这相当于使用了 PUI界面,就要遵守PUI的规则,详细可以看下面的 PUI注意问题中的第一 个。不过现在这种配置还是极少的)另外在这里也需要提一下 *.fcs文件,FCS文件是老版本CUI中使用的配置导出格式,里面只包括了列表的全部脚本配置,在新版的CUI中对FCS文件也留有良好的支持,可以直接进行导入。对现在的CUI+Panel Splitter的一点总结看法CUI+Panel Splitter是现在很流行的一

17、种界面实现方案,因为它可以让CUI实现类似PUI的炫目效果,而且可以用在,因为Panel Splitter的功能还远不如和 PUI强大,毕竟它只是一个面板插件,而PUI是一个完整的界面。PUI可以用贯穿整个界面的全局变量协调各种界面元素,而这对于Panel Splitter是不可能的(严格的说是foobar ,而Panel Splitter只能一个个设置,面板之间不可能同步,设置起来十分麻烦,对新手来说简直是不可能的。偏偏现在在 CUI下有好几个能显示圭寸面的面板插件,如Chronflow、Graphical Browser等,界面作者们也很喜欢用,导致现在那些花哨的CUI界面,其封面路径的设

18、置非常麻烦,PUI已经够麻烦的了,可它比 PUI还要麻烦许多。PUI毕竟是个完整的界面插件,虽然有不少bug,它还是有很完善界面控制方案,而Panel Splitter就逊色了许多,许多操作和交互都只是模仿效果而已,仍有不少缺陷,如面板虽然可以切换却不能记忆切换到哪个CUI的外插插件虽然丰富,但个人觉得优秀的插件都集中在那些如albumart、albmulist等老牌插件上,虽然功能简单,但是整体完善而少有bug。而新出Panel Splitter、ELplaylist 、Chronflow和Graphical Browser等插件,在功能上都还很不完善,而它们一般都是花哨界 面中常用的面板(

19、因为他们可以脱离Windows经典主题),所以现在花哨的 CUI界面,在功能上往往都有相当多的缺陷和漏洞,比PUI时期的界面有过之而无不及。CUI插件本身是一个非常出色的界面插件,自带的功能十分完善,界面结构也十分简单合理,用它实现的那 些 Windows经典主题下的界面都非常不错。但个人认为现在CUI+Panel Splitter 的界面实现方案,实在是不怎么样,插件环境糟糕,功能自由度处处受限,想用它来做完善的界面, 条件还远不成熟(估计是成熟不了了, 在CUI下搞这些东西,这个大方向就不会有什么好的 结果)。Pan els UI (面板界面)附件:您所在的用户组无法下载或查看附件简介PU

20、I 是由 terrestrial 开发的界面插件,它可以让用户在界面上肆意使用图片,所以可以 实现很炫的效果,因此也赢得了很多的用户。现在论坛里大部分花哨的界面都是基于 PUI 开发的。 terrestrial 在 PUI 之前在开发的是 foo_trackinfo_mod 和 foo_uie_single_column_playlist 两个插件,后来他索性直接将两个插件合并,开发了一 个全新的界面插件,也就是PUI插件,foo_trackinfo_mod被移入PUI成为TrackDisplay面板, foo_uie_single_column_playlist 也被移入并成为 Single

21、 Column Playlist 面板, 此后这两个插件就停止更新,转入PUI中继续开发了。后来,在2007年年中,PUI的开发突然停止,原因是作者 terrestrial 在官方论坛上与其他开发者发生方向上的严重分歧, 并 从此“失踪”,此后再未在官方论坛上出现, 未开发完善的 PUI 插件也从此停止更新。 再后 来, Foobar 的官方在,去除了对 PUI 插件的支持(同时也去除了很多其他插件的支持), PUI 从此不能在 Foobar 上使用,现在不可能,以后也不可能了, PUI 的历史就此走到尽头。 所以,如果你要使用PUI,你的Foobar版本最高只能用,PUI已经基本被淘汰,老界

22、面很少 人用,也没有人用它做新的界面了。 由于 PUI 是不完善的,所以它的 bug 和造成的崩溃也 屡见不鲜,稳定性的确比较糟糕。现在一般认为, 兼顾功能与稳定性的版本是,这个将在后 面说明)。PUI的界面结构和 CUI或DUI完全不同,它的整个界面都是由脚本绘制而成, 由脚本指定面板和图片的显示, 所以它的自由度极高, 界面编辑的难度也极大, 它要求用户 必须掌握 Titleformating 脚本语法和 PUI 脚本语法,制作 PUI 界面基本就是在编程序。 PUI 也由于这样滥用 Titleformating 脚本而广受指责,事实也证明,由于滥用本来根本就不是 为绘制界面而开发的 Ti

23、tleformating 脚本, PUI 的界面绘制效率很低,复杂(完善的界面 基本都算“复杂”)的PUI界面操作延时都很明显。自带面板 PUI的自带面板只有三个:TrackDisplay (歌曲显示)、Single Column Playlist (单栏列表,常简称为“ SCPL列表”)'Library Filter (媒体库过滤器)。TrackDisplay 是 PUI 中最基础的面板,基本上是“万能”面板, 它可以显示任意的文字和图片, 并可以内 嵌子面板,自己也可以层层嵌套, 是 PUI 界面的主要框架。 Single Column Playlist 是 PUI 的播放列表面板

24、,这是个非常强大的播放列表, 也非常的复杂。不只是它的文字或图片的内 容和样式,就连它的列表分组机制,都非常复杂而强大,PUI的列表分组功能远超 CUI和DUI 的列表,如果能熟练的掌握好SCPL的列表分组功能,将会给列表整理带来极大的便利。Library Filter 是用来浏览媒体库的面板,它的浏览模式和 albumlist 相似,只不过它把 多种视图模式都同时放在了根目录下的多个组内,并且加入了“与”和“非”的过滤功能。 不过个人认为用它来浏览的效率还不如 albumlist 来的高,主要由于它反应速度较慢且不支 持抓拖等,它的优势在于可以在列表中显示各种图片,如专辑图片和艺术家图片等。

25、由于PUI界面极大的自由度,所以制作粗糙的PUI界面往往会缺失很多Foobar原有的功能,其实 Foobar 本身并没有缺失这些功能,只是在 PUI 的界面上, PUI 的作者由于考虑不周或过 度的追求凑出一个好看的预览图,并没有给出相应的面板支持。这种现象现在还十分普遍外插面板 PUI 兼容所有的 CUI 外插面板,除了 CUI 自带的 Splitter (分离器)面板不能调 用外,CUI能调用的所有面板,PUI也能调用,只不过这个调用必须通过脚本实现。导入和导出 PUI 的配置可以导出为 *.pui 文件,里面保存了整个界面的脚本和各个面板的配PUI 的注意事项比较多,详见后面” 支持导出

26、使得 PUI 这种使用难度极 PUI 文件即可实现好看的效果。置。在导入 PUI 时,同样需要配齐所用到的插件(导入 总结“中的第 3 个问题) ,否则界面上会出现面板缺失。大的插件也可以为普通用户所用,只要导入别人做好的PUI有几个问题需要格外注意:第一:插件与核心语言版本要求严格。由于 PUI 脚本语法的原因, 绝大部分 PUI 对 Foobar 及其插件的语言的要求是非常严格的 (现 在,除了 Elite 可以兼容中英文核心和面板、 foolite 可以兼容中英文核心外,没有多语言 兼容的PUI配置),要载入PUI,不但要备齐所有它需要的插件,而且这些插件以及Foobar核心( foob

27、ar2000.exe 文件)的语言版本绝对不能搞错,现在绝大部分国外的 PUI 界面用 的都是全英文环境, 你也必须同样使用全英文环境才能正确还原它, 而国内一些界面使用中 文插件或核心,你也需要用一样的环境去载入,否则就会出现面板或功能的缺失。另外,其实 PUI 对面板插件语言版本的苛求实际上是由于它引用面板是靠面板的名字引用的,如果名字被汉化(或他国语言化),PUI 就无法正确引用到面板,而现在的汉化者基本都开始注意这个问题, 相当多的插件在汉化的时候并不汉化面板名, 这种汉化版的插件也是可以被正 常的调用的。 所以, 也并不是说完全的不能对国外的 PUI 用中文版插件, 只要下载插件的时

28、 候看好,如果它是未汉化面板名的, 就可以使用。 例如现在 Asion 汉化的 PUI 插件,就没有 汉化面板名( TrackDisplay 等),这样虽然它是汉化版,但依然可以和英文的一样正确载 入各种界面。第二: 0.13 与 0.14 不兼容。 PUI ,这会导致它们生成的 PUI 文件不能通用。也就是说, 在,反之亦然。 乱导入不但会导致界面显示错误, 还会直接破坏 PUI 文件, 使这个 PUI 文件 即使回到正确的版本下也无法再正常还原界面, 所以, 经过了错误版本导入过的 PUI 文件是 不能用的,需要用完好的文件替换它。 号称最稳定的,其语法规则其实还是很接近于 0.13 的,

29、不过它们毕竟还是有区别的,不能随便混用。所以,虽然,也并不是说大家都要换用0.14.9 ,具体使用哪个还是要看自己的 PUI 的要求,不可乱用。只有 PUI 的开发者,也就是 只有当你打算要自己做一个 PUI 配置的时候, 才可以根据这个稳定性的说法来选择要使用的 版本。第三:稳定性差。 PUI 是不完善的,它的稳定性很成问题,大部分用户在使用PUI 过程中都会出现或多或少的崩溃, 这是不可避免的。 有些用户在 PUI 界面上点右键 - 设置时必然 出现崩溃,这是一个很常见的问题,也是一个非常棘手的问题,可以尝试使用 Applocale , 具体教学帖在这里 .cn/showtopic-114

30、4.html Applocale 的成功率不高,如果没有成功, 你就认命吧, 到现在还从未发现有除重装系统外的其他解决办法, 这就是系统问题, 尚未找 到解决方法。 还有些用户会出现“白板问题”,也就是界面显示为PUI 默认样子的,这种问题, 如果排除了各种插件和核心的版本和语言问题(其实绝大部分人都是这几个问题, 详见下面”总结“中的第 3 个问题) ,也是一种很棘手的问题, 往往是同样的打包, 有人正常, 有人就白板, 而且还是有的配置白板, 有的不白板, 这个也是暂无办法的, 如果你实在白板, 就只有放弃这个界面了,好在有这种问题的用户还是非常少的。第四:不能用在 Foobar从,Foo

31、bar已经不再支持 PUI插件,如果你要使用 PUI,你的Foobar版本最高只能用总结 =经过了啰嗦而繁杂的介绍, 下面我总结一下根据本帖中的知识可以解答的常见问题,以便些懒得看前面文字的人也可以立刻解决问题。1、fth 文件如何使用? 答:下载(官方自带) Default User Interface (默认用户界面,文件名:foo_ui_std.dll )插件。在 参数设置-显示 里选择使用默认用户界面,重启Foobar,进入 参数设置 -显示-默认用户界面 ,右边选择”导入主题“, 选择你的 fth 文件即可; 或 者直接将 fth 文件拖进 Foobar 窗口即可。2、fcl/fcs 文件如何使用? 答:下载Columns UI (分栏界面,文件名:foo_ui_columns.dll ) 插件,然后在 参数设置-显示 里选择使用分栏界面,重启 Foobar,进入 参数设置-显示- 分栏界面-主要,如果你是FCL文件,选择” FCL导入与导出“中的”导入“, 选择你的FCL 文件,然后选择要导入的配置部分即可;如果

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论