零件陈列 一
Nowplaying 找回当前节目功能
代码:
$pl_active(%pl_playingname%)$pi_select(%pl_activename%,%pi_playingindex%)
方法:
1.将代码复制到“TF”处,直接使用。
2.进一步制作成主菜命令,可供其他插件调用。
3.实例:这个例子实现在某个位置产生操作功能,当无播放状态下,点击可以播放,当播放状态,点击可以定位到当前播放节目,而右击具备暂停及继续播放功能。最后一句是功能提示。
//--now playing--
$map(%_id%,lbuttondown:'
$if(%playback_isplaying%
,$pl_active(%pl_playingname%)$pi_select(%pl_activename%,%pi_playingindex%)
,$mainmenu_execute('Playback/Play')
)',
rbuttonup:'$mainmenu_execute('Playback/Play or Pause')'
)
$map_rect(%_result%,0,0,$calc(0.5*%_cwidth%),$calc(0.07*%_cheight%))
$tooltip(%_id%,Now Playing / Pause<rightclick>,0,0,$calc(0.5*%_cwidth%),$calc(0.07*%_cheight%),font-name:Calibri,font-size:16)
Skip 跳过节目功能
代码:
$if(%skip%,$playback_control(next),)
方法:
把代码放在 New track 代码框任意处,建议置于起始处。既然路过,后面的代码也就没必要再读了。
注意:一旦跳过功能生效,跳过的节目就不会再播放。所以,设计按钮的时候要考虑到这一点。不然的话,要想再播放这个节目就难办了。
在这里,我们这样来处理,在同一个位置,用右键实现跳过的操作,用左键实现取消跳过的操作。因为跳过功能具备生杀大权,所以给它一个不常用的右键。
Skip As 跳过包含禁止字符的节目功能
代码:
//--skip As--
$if($or(
$regexpi(%title%,'(伴奏'),
$regexpi(%title%,'\(伴奏'),
$regexpi(%title%,'\(卡拉OK'),
$regexpi(%title%,'\(伴唱\)')
$regexpi(%title%,'off vocal'),
$regexpi(%title%,'less vocal')
),$playback_control(next),)
方法:
放在On Playback New Track 内,建议与Skip放在一起。两者可以分开,这样便于各自再加条件。如果不加条件,也可以合并。
Rating 曲目分级功能
代码:
//--rating--
$for(i,0,5,1,'
$puts(ax1,$calc(0.5*%_cwidth%))
$puts(ay,$calc(0.08*%_cheight%))
$puts(bw,30)
$puts(bh,16)
$tooltip(%_id%,Rating: %i%,$get(ax1),$calc($get(ay)+$get(bh)*%i%),$get(bw),$get(bh),font-name:Calibri,font-size:19)
$map(%_id%,lbuttondown:\"$contextmenu_execute(\"Custom Database/Set Rating %i%\",playing)\")
$map_rect(%_result%,$get(ax1),$calc($get(ay)+$get(bh)*%i%),$get(bw),$get(bh))
',escape:true)
方法:放在使用窗口的Open中,如果多窗口使用,先在User建一个功能性字段。
注意:1.有时放在Resize中,由于多次刷新,会意外地生出许多提示。如果一定要这么放的话,这时需要对Tooltip做个清除的处理。2.如果使用官方插件分级,Custom Database/Set Rating 这个地方做相应的修改就行了。
Rating Album 专辑分级功能
代码:
//--rating album---
$hash(ax,32)
$hash(ay,0)
$hash(bw,20)
$hash(bh,$calc(0.06*%_cheight%))
$for(i,0,5,1,'
$tooltip(%_id%,Rating Album: %i%,$calc(%ax%+%bw%*%i%),%ay%,%bw%,%bh%,font-name:Calibri,font-size:16)
$map(%_id%,lbuttondown:\"$contextmenu_execute(\"Custom Database/0%i%\",playing)\")
$map_rect(%_result%,$calc(%ax%+%bw%*%i%),%ay%,%bw%,%bh%)
',escape:true)
方法:与曲目分级功能相仿。但是不支持官方分级插件。
Playback Order 播放模式切换功能
代码:
//--Playback Order--
$popupmenu_remove(popup_pO)
$popupmenu_create(popup_pO)
$popupmenu_additem(popup_pO,Playback Order,'')
$popupmenu_additem(popup_pO,-sep1,'')
$popupmenu_additem(popup_pO,Default,'$mainmenu_execute('Playback/Order/Default')',
check:'$if($strcmp(%playback_orderindex%,0),1,0)')
$popupmenu_additem(popup_pO,Repeat playlist,'$mainmenu_execute(Playback/Order/Repeat $char(40)playlist$char(41))',
check:'$if($strcmp(%playback_orderindex%,1),1,0)')
$popupmenu_additem(popup_pO,Repeat track,'$mainmenu_execute(Playback/Order/Repeat $char(40)track$char(41))',
check:'$if($strcmp(%playback_orderindex%,2),1,0)')
$popupmenu_additem(popup_pO,Shuffle albums,'$mainmenu_execute(Playback/Order/Shuffle $char(40)albums$char(41))',
check:'$if($strcmp(%playback_orderindex%,5),1,0)')
$popupmenu_additem(popup_pO,Shuffle folders,'$mainmenu_execute(Playback/Order/Shuffle $char(40)folders$char(41))',
check:'$if($strcmp(%playback_orderindex%,6),1,0)')
$popupmenu_additem(popup_pO,Shuffle tracks,'$mainmenu_execute(Playback/Order/Shuffle $char(40)tracks$char(41))',
check:'$if($strcmp(%playback_orderindex%,4),1,0)')
$popupmenu_additem(popup_pO,Random,'$mainmenu_execute('Playback/Order/Random')',
check:'$if($strcmp(%playback_orderindex%,3),1,0)')
方法:
放在同窗口的Open中,然后由Map或者Button等调用。
如果将在多个窗口中调用,看情况确定放主窗口Open中,或者在User中建一个功能性字段。
Playlist Switcher 播放列表切换功能
代码:
//--switcher--
$popupmenu_remove(popup_4)
$popupmenu_create(popup_4)
$popupmenu_additem(popup_4,Playlist Switcher,'')
$popupmenu_additem(popup_4,-sep1,'')
$for(i,0,$calc(%pl_count%-1),1,'
$puts(list_Active,\"$pl_active($pl_getname(\"%i%\"))\")
$popupmenu_additem(popup_4,$ifequal(%i%,%pl_playingindex%,◆,$ifequal(%i%,%pl_activeindex%,■, ))$pl_getname(%i%),$get(list_Active))
',escape:true)
方法:在User中建一功能性字段,然后放On Init 和On Playlist Activate等(比如列表建立、更名、删除)生成实际列表名单,以备命令调用。

kmpfor 最后编辑于 2009-09-26 14:29:39