Помогите составить скрипт для медиатеки, чтобы найти дубликаты.

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

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

Сообщение #1 George Smith » 12.05.2014, 20:49

Моих знаний, к сожалению, недостаточно. Но как я себе это представляю - вывести все файлы, у которых совпадают поля %title% и %artist%.
George Smith
Автор темы, Бывалый
Репутация: 1
С нами: 3 года 3 месяца

Сообщение #2 Yurnikos » 12.05.2014, 21:25

смотря куда
George Smith писал(а):вывести все файлы, у которых совпадают поля %title% и %artist%
если в текстовый файл - это одно, - поможет "Text Tools" - несколько вариантов (есть определение в Preferenced > Advanced)
если в окне поиска по базе - другое,
есть ещё окно поиска по текущему плейлисту - это третье!
есть ещё окно поиска по всем плейлистам - это четвёртое...
условие вывода по филенаме - правильно заданное условие имени файла:
зависит от стандарта создания имён файлов:
1.%tracknumber% - %title% - %artist%; %artist% - %title%
2.%title% - %artist%; %title%_%artist%; ; %title% -%artist% или вообще только : %title% (%filename%)
задача усложнена вариациями
Удачи!
Yurnikos
Гость

Сообщение #3 George Smith » 12.05.2014, 21:34

Yurnikos писал(а):Удачи!
Обнадежили, ничего не скажешь!
Мне нужно, чтобы в окне поиска по базе отобразились треки с совпадающим полем %title% и сгруппированные по полю %artist%

Добавлено спустя 26 минут 59 секунд:
Все решилось одновременно проще и сложнее. С одной стороны достаточно было сделать выборку по автору и отсортировать по %title%. А с другой, даже если бы я (или кто-нибудь другой) составил бы этот скрипт, то он бы не помог, потому что многие дубликаты в моей базе имеют вид наподобие: "Frozen", "Frozen (Album Version)" или "Afraid This Time (Detroit 2000)", "Afraid This Time (Detroit 2000)(Bonus)".
George Smith
Автор темы, Бывалый
Репутация: 1
С нами: 3 года 3 месяца

Сообщение #4 Yurnikos » 12.05.2014, 22:23

George Smith писал(а):Все решилось одновременно проще и сложнее
если всё, и решилось, значит, можно обойтись своими усилиями, и
я рад за тебя!
Yurnikos
Гость

Сообщение #5 George Smith » 12.05.2014, 22:44

Yurnikos писал(а):если всё, и решилось, значит, можно обойтись своими усилиями, и
я рад за тебя!
Спасибо.
George Smith
Автор темы, Бывалый
Репутация: 1
С нами: 3 года 3 месяца

Сообщение #6 alex52 » 07.02.2015, 05:37

Ничего не решилось. Проблема практична для больших библиотек.
Если конечно надо найти дубль одного известного имени, то просто вставить (в вашем случае Frozen) его в Filter и отобразиться все, имеющее это имя в названии, пути, или таге файлов.
Но что делать если надо найти дублирование, не зная есть ли оно, т.е. не зная имен.
В программировании можно последовательно брать имя из списка, и искать есть ли еще совпадения.
Но как это реализовать в foobar2000?
В любом деле, трудно первые 15 лет, потом будет легче.
Ты начальник, я дурак. Я начальник, ты дурак.
Хуже дурака может быть только дурак с инициативой.
Сильнее всех владеющий собой.
alex52 M
Новичок
Откуда: Tacoma, WA
Репутация: 4
С нами: 2 года 3 месяца

Сообщение #7 Yurnikos » 07.02.2015, 09:17

alex52 писал(а):В программировании можно последовательно брать имя из списка
В фу, аналогично, по-умолчанию, встроен поиск по плейлисту командой F3
(в афтарских сборках может быть изменено), вариантов образцов для поиска множество,
плюс отключаемая подсветка (выделение) найденного, плюс создание нового плейлиста из найденного : ПКМ на любом найденном выделенном треке откроется меню с вариантами работы с ними - вплоть до удаления из плейлиста, и из ПиСюка . . .
При наличии плагина "foo_dbsearch" - возможности несколько изменяются:
включается поиск уже по базе файлов фу. Оба варианта открываются в отдельном окне.

При наличии плагина "foo_uie_quicksearch" - можно ОРГАНИЗОВАТЬ ВСТРОЕННОЕ окно для образца поиска, с расширенными возможностями
Yurnikos
Гость

Сообщение #8 alex52 » 08.02.2015, 04:28

Yurnikos писал(а):В фу, аналогично, по-умолчанию, встроен поиск по плейлисту командой F3
Это все поиск по образцу, а обсуждается как искать дубликаты не зная есть ли и какие они, как делает например Moleskinsoft Clone Remover ищя совпадения в названиях файлов и тегах.
В любом деле, трудно первые 15 лет, потом будет легче.
Ты начальник, я дурак. Я начальник, ты дурак.
Хуже дурака может быть только дурак с инициативой.
Сильнее всех владеющий собой.
alex52 M
Новичок
Откуда: Tacoma, WA
Репутация: 4
С нами: 2 года 3 месяца

Сообщение #9 Yurnikos » 08.02.2015, 09:45

alex52 писал(а):а обсуждается как искать дубликаты не зная есть ли и какие они
В меню "Едит" есть такая функция, для "незнаек", называется "Remove duplicates",
но меня смущает "Remove"!, это раз, различие может быть в одном пробеле, это два, НО
вдруг, ничего из именно этого, тебя смущать и не будет . . .
Yurnikos
Гость

Сообщение #10 vladj » 08.02.2015, 13:05

Незнайки мы по сравнению с alex52, он программировал тогда, когда мы компы только в кино видали :smile:
HTPC Termaltake, Onkyo 525E,Yamaha 8900.
vladj M
Гуру
Аватара
Откуда: Пермский край
Репутация: 268
С нами: 7 лет 3 месяца

Сообщение #11 delta22 » 02.02.2016, 12:06

Насущнейшая проблема кстати.
Искать дубликаты можно при помощи FACETS, как описано на офф.форуме.
У меня есть другое предложение к кодерам. Написать этакий плюг, но обо всем по порядку. Моя библиотека на сегодняшний день около 15Тб "лосей"
добавление новых релизов становится проблемой.

Медиатека организована следующим образом:

ЖАНР > ИМЯ ИСПОЛНИТЕЛЯ (если больше 3-х альбомов в наличии) > ИМЯ ИСПОЛНИТЕЛЯ - ГОД - АЛЬБОМ > ФАЙЛ.CUE

Идея такая, пусть фубар следит за какой-то папкой скажем "ТЕМП" в которую мы будем складывать уже готовые релизы, и определяет есть-ли дубликат, и где на диске похожий исполнитель. Конечно он это должен делать умно, отсеивая такие вещи как писалось выше: "Frozen", "Frozen (Album Version)" или "Afraid This Time (Detroit 2000)", "Afraid This Time (Detroit 2000)(Bonus)" т.е. можно было-бы задавать какие-то знаки типа "[", "]"или "(", ")" на которые он бы не реагировал, "Beatles", "The Beatles", "Beatles, The"... А потом можно было-бы скопировать альбом на его законное место в каталог через "File operations".

Я думаю, что такой компонент-каталогизатор пользовался огромным успехом среди всех пользователей фубара!
delta22
Новичок
Репутация: 0
С нами: 1 год 4 месяца


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