Показать сообщение отдельно
Старый 04.10.2016, 16:03   #2709
duzzy
Гуру
 
Регистрация: 01.06.2013
Регион: 78, 98
Машина: SUBARU Impreza WRX
Сообщений: 1,766
duzzy has a reputation beyond reputeduzzy has a reputation beyond reputeduzzy has a reputation beyond reputeduzzy has a reputation beyond reputeduzzy has a reputation beyond reputeduzzy has a reputation beyond reputeduzzy has a reputation beyond reputeduzzy has a reputation beyond reputeduzzy has a reputation beyond repute
По умолчанию

seriousstas

Цитата:
подскажи ,как ещё тестировать ? куда смотреть (копать) ?
Смотри попробую объяснить проще, Евген 21 просил прикрутить ему функцию копирования треков в избранное, я делаю абсолютно тоже что и у себя в коде скрипта плейлиста(добавляю несколько строк и дополняю функции нужным функционалом)... результат мой вариант работает, твой вариант постоянно копирует треки на которые приходит фокус либо переключение треков prev/next...
Куда смотреть и что делать я не в курсе... нужно код перебирать и смотреть что не так.

Хочешь можешь попробовать сам...
Вот то что я добавлял...

ppt = {
custom_fav_mod_on : window.GetProperty("CUSTOM Favorites Tracks Mod", true),
custom_fav_folder : window.GetProperty("CUSTOM Favorites Tracks Mod Folder", "D:\\Favorites_Tracks\\"),

это можно сразу за настройками

var fso = new ActiveXObject("Scripting.FileSystemObject");
var handle = fb.GetFocusItem();
var tfo = fb.TitleFormat('%path%');

if(ppt.custom_fav_mod_on && !fso.FolderExists(ppt.custom_fav_folder)){
try{
var a = fso.CreateFolder(ppt.custom_fav_folder);
}catch(e){
fb.ShowPopupMessage("Error on Disk Path :" + a);

};
};

это в секцию рейтинга...

var bool = this.rows[this.activeRow].metadb.UpdateFileInfoSimple("MOOD", getTimestamp()); --- после этой строки добавляем это...
var fav_t = window.SetTimeout(function () {
try{
fso.CopyFile(tfo.EvalWithMetadb(handle), ppt.custom_fav_folder);
}catch(e){
fb.ShowPopupMessage("Error on :" + tfo.EvalWithMetadb(handle));
};
},1000); --- таймаут в 1 сек. нужен для корректной записи тега в файл.

в function on_playlist_switch() {

в конец
on_item_focus_change();
};

в function on_item_focus_change(playlist, from, to) {
if (!brw.list || !brw || !brw.list)
return;

var save_focus_id = g_focus_id;
g_focus_id = to;
--- после этой строки добавляем это...

добавляем это...

if(ppt.custom_fav_mod_on){
handle = fb.GetFocusItem();
};


...
В итоге получается постоянное копирование трека, а так быть не должно.
Этот код работает даже в совершенно отдельной кнопке вне скрипта плейлиста... выделяешь нужный трек, жмешь на кнопку и трек копируется в указанную папку.
duzzy вне форума   Ответить с цитированием