kgena_ua
Я только "Плавный плейлист" немного изучал..
Задача была изменить группировку по тегам, на - папками , но там ... ногу сломит .,
поэтому вначале задал значение строки вручную (пример) :
Код:
tf1 = fb.TitleFormat("$if2($if(%length%,%directoryname%,%path%),%album artist%)").EvalWithMetadb(this.rows[i].metadb);
и в отрисовку :
Код:
gr.gdiDrawText(tf1, gdi.Font(g_fname, g_fsize-1, g_fstyle), track_artist_color_text, tx-5, ay_2+2, tw-cColumns.track_time_part+115, ah_2, DT_LEFT | DT_VCENTER | DT_CALCRECT | DT_END_ELLIPSIS | DT_NOPREFIX);
Затем изменил группировку на : tf_groupkey: (switch_tf_groupkey) ? fb.TitleFormat("
$directory_path(%path%) .......
А с индексами строк та ещё муть (надеюсь Вам удастся расшифровать) :
Код:
this.getOffsetFocusItem = function(fid) { // fixed!
var row_idx = 0;
if(fid > -1) {
if(ppt.showgroupheaders) {
// fid = no item dans la playlist (focus id)
// this.rows[] => albumId
// 1 . rech album id contenant le focus_id
g_focus_album_id = this.getAlbumIdfromTrackId(fid);
// 2. rech row id
for(i = 0; i < this.rows.length; i++) {
if(this.rows[i].type != 0 && this.rows[i].type != 99 && this.rows[i].albumId == g_focus_album_id) {
if(this.groups[g_focus_album_id].collapsed) {
row_idx = i;
}; else {
var albumTrackId = g_focus_id - this.groups[g_focus_album_id].start;
row_idx = i + this.groupHeaderRowHeight + albumTrackId;
};
break;
};
};
}; else {
// 1 . rech album id contenant le focus_id
g_focus_album_id = this.getAlbumIdfromTrackId(fid);
// 2. rech row id
for(i = 0; i < this.rows.length; i++) {
if(this.rows[i].type == 0 && this.rows[i].albumId == g_focus_album_id) {
var albumTrackId = g_focus_id - this.groups[g_focus_album_id].start;
row_idx = i + albumTrackId;
break;
};
};
};
};
return row_idx;
};
Надеюсь у
duzzy больше инф-ции..