Показать сообщение отдельно
Старый 29.10.2016, 00:42   #2859
seriousstas
Бывалый писикарщик
 
Регистрация: 14.06.2013
Регион: Украина
Машина: Nissan Qashqai+2
Сообщений: 3,424
seriousstas has a brilliant futureseriousstas has a brilliant futureseriousstas has a brilliant futureseriousstas has a brilliant futureseriousstas has a brilliant futureseriousstas has a brilliant futureseriousstas has a brilliant futureseriousstas has a brilliant futureseriousstas has a brilliant futureseriousstas has a brilliant futureseriousstas has a brilliant future
По умолчанию

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 больше инф-ции..
seriousstas вне форума   Ответить с цитированием