Сравнение встроенных в треки картинок

Список разделов Аудиоплеер foobar2000 Программирование foobar2000

Описание: Для программистов, пищущих плагины для foobar2000. SDK и обмен опытом

Сообщение #1 cderfv » 20.02.2018, 11:27

Доброго времени суток.
Допустим есть множество разных треков, но на некоторых из них встроены идентичные картинки.
Вопрос: как картинки этих треков можно сравнить между собой в переменных?
Способом:
Код: Выделить всё
function get_album_art(metadb) {
    if (metadb)
    return utils.GetAlbumArtV2(metadb, 0);
}


function on_item_focus_change(){
    img1 = get_album_art(fb.GetNowPlaying());
    img2 = get_album_art(fb.GetFocusItem());
}
не получается, ибо img1 и img2 всегда неравны (тройным равенством тоже не получается), в том числе в случае когда проигрываемый и "фокусированный" треки имеют одинаковые картинки.
Помогите, как быть
cderfv
Автор темы, Новичок
Репутация: 0
С нами: 2 года 11 месяцев

Сообщение #2 kgena_ua » 20.02.2018, 12:12

cderfv, сам долго бился над этим вопросом. Нельзя никак сравнить эти два объекта. Задавал вопрос на "Гидрогене".
I.m.UR5EQF.
квартет на миллион долларов
kgena_ua M
Гуру
Аватара
Возраст: 54
Откуда: Украина, Днепр
Репутация: 422
С нами: 5 лет 5 месяцев

Сообщение #3 cderfv » 20.02.2018, 13:53

kgena_ua, спасибо
cderfv
Автор темы, Новичок
Репутация: 0
С нами: 2 года 11 месяцев

Сообщение #4 kgena_ua » 22.04.2018, 10:36

cderfv,
Код: Выделить всё
     color_scheme_1 = g_img_1.GetColorScheme(100).toArray();
     color_scheme_2 = g_img_2.GetColorScheme(100).toArray();

    if (color_scheme_1.join("") != color_scheme_2.join("")) {
        compare = false;   
    } else {
        compare = true;
    }

I.m.UR5EQF.
квартет на миллион долларов
kgena_ua M
Гуру
Аватара
Возраст: 54
Откуда: Украина, Днепр
Репутация: 422
С нами: 5 лет 5 месяцев


Вернуться в Программирование foobar2000