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

Список разделов foobar2000 Плагины SDK

Описание: Разработка плагинов для foobar2000 с использованием SDK.

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

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

Сообщение #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
Автор темы
Репутация: 68
С нами: 10 лет 9 месяцев

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

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

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

Yurnikos:если всё, и решилось, значит, можно обойтись своими усилиями, и
я рад за тебя!
Спасибо.
George Smith
Автор темы
Репутация: 68
С нами: 10 лет 9 месяцев

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

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

Сообщение #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 ищя совпадения в названиях файлов и тегах.
alex52 M
Откуда: Tacoma, WA
Репутация: 5
С нами: 9 лет 9 месяцев

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

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

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

Незнайки мы по сравнению с alex52, он программировал тогда, когда мы компы только в кино видали :smile:
vladj M
Аватара
Откуда: Пермский край
Репутация: 427
С нами: 14 лет 10 месяцев

Сообщение #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
С нами: 8 лет 10 месяцев


Вернуться в SDK