AIMP Forum

AIMP for Windows => Плагины / Plugins => Дополнения / Addons => Плагины-дополнения / Addons => Topic started by: flipworld on November 09, 2021, 13:56:12

Title: Smartoteka (запись меток в теги файла)
Post by: flipworld on November 09, 2021, 13:56:12
AIMP Plugin for tag tracks and fast search by tracks

Плагин помогает записывать в метаданные к mp3 файлам тэги, затем быстро и легко искать по ним с возможностью ошибаться при вводе.

Плагин позволяет тегировать файлы mp3 и wave на компьютере и быстро находить их, запускать воспроизведение, останавливать, переключаться между списками. Теги хранятся в файлах с музыкой, поэтому вы можете переносить их с компьютера на компьютер.

Упрошает работу с музыкой на тренинге или мероприятии.

(https://raw.githubusercontent.com/Smartoteka/aimp_plugin/main/docs/images/main_window.jpg)

исходный код https://github.com/Smartoteka/aimp_plugin (https://github.com/Smartoteka/aimp_plugin)

Пакет установки с инструкцией https://github.com/Smartoteka/aimp_plugin/releases
Title: Re: Запись меток в теги файла
Post by: Soolo on February 01, 2022, 10:18:34
Вроде что-то как-то работает, это уже хорошо =) Спасибо за плагин!
Теперь к замечаниям.

1. Сходу, классическая ошибка: нет запрета прописывания плагина в Аудиоконвертер и Редактор тегов, в итоге при их запуске и закрытии ошибка

(https://www.aimp.ru/forum/index.php?action=dlattach;topic=67949.0;attach=65502)


2. При открытии смартотеки всегда отображается первый по алфавиту плейлист, хотелось бы видеть текущий.

3. Ввод папок при первом старте плагина мне не понятен - для чего оно? Как я понял применяется всё это при импорте и экспорте и синхронизации, Почитав как оно работает - понял, что лично мне, и не только мне, оно в жизни не пригодится, но настроить зачем-то нужно обязательно.

4. Раз уж мы работаем вроде как с метками - логично их прописывать в фонотеку в соответствующее поле для меток, ну и считывать их оттуда, при их наличии. Короче говоря, плагин никак не работает с уже существующим функционалом меток.

5. Плагин затирает существующую информацию из поля "комментарий", что не есть хорошо.

6. Скомпилированный архив на Гитахабе не готов к установке в АИМП - внутри нет папки с именем файла плагина

7. Ну и странный набор кнопок слева снизу, я думаю, вам и самому понятно, что этот набор далеко не всех устроит, а видимо пока что только вас.

8. Плагин вешает интерфейс АИМПа при воспроизведении радио
Title: Re: Smartoteka (запись меток в теги файла)
Post by: flipworld on February 01, 2022, 15:21:42
Благодарю за создание темы! У меня не дошли руки. В течении нескольких дней думаю поправить ваши замечания.

Quote
1. Сходу, классическая ошибка: нет запрета прописывания плагина в Аудиоконвертер и Редактор тегов, в итоге при их запуске и закрытии ошибка
Подскажите, как узнать как поправить или где найти как поправить? Поискал по форуму, не нашел.

Quote
2. При открытии смартотеки всегда отображается первый по алфавиту плейлист, хотелось бы видеть текущий.

сделаю

Quote
3. Ввод папок при первом старте плагина мне не понятен - для чего оно? Как я понял применяется всё это при импорте и экспорте и синхронизации, Почитав как оно работает - понял, что лично мне, и не только мне, оно в жизни не пригодится, но настроить зачем-то нужно обязательно.
Сохранение всех тегов, списков в отдельный файл нужно для ускорения загрузки этой информации. Можно хранить в стримах AIMP, но тогда при поломке AIMP это не найти\восстановить. Поэтому пока сделал, что нужно настроить. Возможно с точки зрения дружественности стоит по умолчанию хранить в AIMP, но пока сомневаюсь. Вы что думаете?

Quote
4. Раз уж мы работаем вроде как с метками - логично их прописывать в фонотеку в соответствующее поле для меток, ну и считывать их оттуда, при их наличии. Короче говоря, плагин никак не работает с уже существующим функционалом меток.
Согласен, только я не нашел способа этого сделать, плюс мне и в части топиков на форуме нужно было чтобы метки можно было перенести с файлами.
Здесь два вопроса:
Рассчитываю здесь на мнение сообщества.

Quote
6. Скомпилированный архив на Гитахабе не готов к установке в АИМП - внутри нет папки с именем файла плагина

Сделал, чтоб была папка.

Quote
7. Ну и странный набор кнопок слева снизу, я думаю, вам и самому понятно, что этот набор далеко не всех устроит, а видимо пока что только вас.
Согласен. Можно сделать его настраиваемым. Отложил эти улучшения до понимания насколько востребован плагин.


Quote
8. Плагин вешает интерфейс АИМПа при воспроизведении радио
Получилось повторить. Посмотрю что происходит.
Title: Re: Smartoteka (запись меток в теги файла)
Post by: Soolo on February 01, 2022, 15:38:49
https://www.aimp.ru/forum/index.php?topic=67949.msg420881#msg420881
Насколько я помню, нужно проверять доступность нужных плагину сервисов. Справка к SDK - Local API - Общие сведения - Работа с сервисами

Сохранение всех тегов, списков в отдельный файл нужно для ускорения загрузки этой информации. Можно хранить в стримах AIMP, но тогда при поломке AIMP это не найти\восстановить. Поэтому пока сделал, что нужно настроить. Возможно с точки зрения дружественности стоит по умолчанию хранить в AIMP, но пока сомневаюсь. Вы что думаете?
Хранить всякого рода настройки или собственную БД - лучше в папке профиля АИМПа в своей подпапке
Хранить временные музыкальные файлы, если их где-то нужно хранить - на мой взгляд в виндовой папке Temp
Я не совсем разобрался как работает синхронизация/экспорт/импорт - поэтому не совсем представляю о каких объёмах данных речь.
На мой взгляд, такие настройки папок недружественны к пользователю, он ещё не понял что это за плагин, и нужен ли он ему, а уже что-то настроить нужно, причём не настроив - работать не получается.

Согласен, только я не нашел способа этого сделать, плюс мне и в части топиков на форуме нужно было чтобы метки можно было перенести с файлами.
Здесь два вопроса:
есть ли апи манипуляции метками?
каким образом лучше переносить метки на другой компьютер в файлах музыки или каким-то экспортом базы меток?
Рассчитываю здесь на мнение сообщества.
Перенаправил вопрос Артёму
Title: Re: Smartoteka (запись меток в теги файла)
Post by: Artem on February 01, 2022, 15:42:04
Подскажите, как узнать как поправить или где найти как поправить? Поискал по форуму, не нашел.

Если следовать рекомендациям из справки к SDK - таких проблем вовсе быть не должно. На самом деле совет там простой: при написании кода надо иметь в виду, что ЛЮБОЙ сервис плеера может быть недоступен.
Title: Re: Smartoteka (запись меток в теги файла)
Post by: Artem on February 01, 2022, 15:44:45
есть ли апи манипуляции метками?

API для фонотеки есть сугубо унифицированное - работающее одинаково для всех провайдеров данных. До уникальных фич провайдеров на данный момент не добраться никак.
Title: Re: Smartoteka (запись меток в теги файла)
Post by: Artem on February 02, 2022, 08:58:24
Чисто для меток, могу сделать API в рамках 5.02
Title: Re: Smartoteka (запись меток в теги файла)
Post by: flipworld on February 03, 2022, 10:27:04
Будет здорово.

С ходу могу сказать, что нужно сохранять, добавлять. удалять, извлекать метки к сохранённому списку
Title: Re: Smartoteka (запись меток в теги файла)
Post by: Artem on February 03, 2022, 11:01:04
Сейчас есть API для работы с оценкой файла, API не привязано к провайдеру данных фонотеки и работает как самостоятельный сервис. Вот по похожей схеме можно сделать и метки.
Title: Re: Smartoteka (запись меток в теги файла)
Post by: flipworld on February 03, 2022, 12:52:04
Quote
1. Сходу, классическая ошибка: нет запрета прописывания плагина в Аудиоконвертер и Редактор тегов, в итоге при их запуске и закрытии ошибка

Ваше сообщение мне повторить не удалось. У меня вылазиет ошибка при закрытии Аудиоконвертера или Редактора тегов, когда плагин смартотека установлен.
(https://lh3.googleusercontent.com/r96EZQ-A-sz6NW6LZqX4JOjPlTwb7YHqOZyjE2fOSpGXfOco8W2UiUwA8HW3ptUBg89pq7DIZ2YKfhgDgqL4=w1920-h912)

Как поправлять не пойму. Еще есть сейчас проблемы с доступом к документации. Не открывается ссылка martin211.github.io/aimp_dotnet_docs/ (http://martin211.github.io/aimp_dotnet_docs/) Если знаете, подскажите куда копать.

Quote
2. При открытии смартотеки всегда отображается первый по алфавиту плейлист, хотелось бы видеть текущий.
сделал, плюс отслеживание добавление\удаление списков

Quote
3. Ввод папок при первом старте плагина мне не понятен - для чего оно?
Кэш сохраняем в профиль AIMP. Папки экспорта и рабочая папка с файлами запрашивается от пользователя по необходимости.

Quote
4. 5. 6. 7.
- обсуждение или поправил ранее

Quote
8. Плагин вешает интерфейс АИМПа при воспроизведении радио

Убрал проблемы с воиспроизведением радио. Радио можно также тегировать и управлять его воспроизведением.

Добавил открытие смартотеки по Alt+Shift+S

Обнаружил баг
Code: [Select]
ModifierKeys.Shift | ModifierKeys.Control,//Bug приводит к комбинации Alt+Shift+S
Title: Re: Smartoteka (запись меток в теги файла)
Post by: Soolo on February 03, 2022, 12:58:08
Ваше сообщение мне повторить не удалось. У меня вылазиет ошибка при закрытии Аудиоконвертера или Редактора тегов, когда плагин смартотека установлен.
Основная документация вот: https://www.aimp.ru/?do=download&os=windows&cat=sdk

Вы пользуетесь прослойкой, по ней ничего посоветовать не могу, автор появляется на форуме, можете задать вопрос в личку
https://www.aimp.ru/forum/index.php?topic=48376.0

Обнаружил баг
Баги касаемо SDK сообщайте или в раздел разработки https://www.aimp.ru/forum/index.php?board=44.0
или в тему прослойки, ссылку дал выше, или её автору лично
Title: Re: Smartoteka (запись меток в теги файла)
Post by: flipworld on February 03, 2022, 13:04:54
Благодарю!
Обнаружил когда отображается ошибка из 1-го пункта - при закрытии AIMP. Позже гляну.
Title: Re: Smartoteka (запись меток в теги файла)
Post by: Artem on February 04, 2022, 09:17:08
Вот сборка:
https://disk.yandex.ru/d/GRA9X188IXHUOA
Вот SDK:
https://disk.yandex.ru/d/QUf7B1GBKoYCbA

Сделал доступ через свойство AIMP_FILEINFO_PROPID_ML_LABELS объекта IAIMPFileInfo (по аналогии с другими полями из фонотеки)
Title: Re: Smartoteka (запись меток в теги файла)
Post by: flipworld on February 07, 2022, 13:20:51
Ошибку при закрытии плагина исправил.

По меткам получить\сохранить не удалось возвращает InvalidArgument  при вызове

Code: [Select]
propertyList->GetValueAsObject(propertyId, IID_IAIMPString, reinterpret_cast<void**>(&str)));

Проверял на вашем beta instance aimp

Вы проверяли доступ? Есть ли какие-то примеры нативных плагинов работающие в данный момент? Можно ли узнать программно что в апи есть свойство?
Title: Re: Smartoteka (запись меток в теги файла)
Post by: Artem on February 07, 2022, 13:40:47
InvalidArgument об этом и говорит, что свойства нет.
Вы инсталятор взяли именно тот, что я скинул выше?
PropertyList в данном случае на основе чего получен?
Title: Re: Smartoteka (запись меток в теги файла)
Post by: flipworld on February 07, 2022, 14:43:17
Да, установил.

От FileInfo

Использую прослойку, могу отправить pullrequest по ней https://github.com/martin211/aimp_dotnet посмотрите туда ли обращаюсь.
Code: [Select]
propertyId=45
propertyList->GetValueAsObject(propertyId, IID_IAIMPString, reinterpret_cast<void**>(&str)));
Title: Re: Smartoteka (запись меток в теги файла)
Post by: Artem on February 07, 2022, 15:09:39
Понял в чем дело. Попробуйте пока через GetValueAsVariant, похоже через GetValueAsObject оно сейчас не работает от слова совсем. Поправлю.
Title: Re: Smartoteka (запись меток в теги файла)
Post by: Artem on February 07, 2022, 15:20:26
Вот сборка, теперь GetValueAsObject должен работать:
https://disk.yandex.ru/d/GRA9X188IXHUOA
Title: Re: Smartoteka (запись меток в теги файла)
Post by: flipworld on February 07, 2022, 16:00:26
Заработало. Есть ошибка с когда присваиваю Labels пустую строку ""

Грузиться быстро! Спасибо! Подумаю как сделать экспорт\импорт. Чтобы существующие пользователи могли подгрузить информацию.
Title: Re: Smartoteka (запись меток в теги файла)
Post by: Artem on February 07, 2022, 17:03:03
Что за ошибка?
Title: Re: Smartoteka (запись меток в теги файла)
Post by: Alisa105 on March 09, 2024, 22:47:59
Добрый день!

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

Подскажите, появились ли какие-то способы сохранять метки файлов при их переносе с одного устройства на другое?
Я использую метки для присваивания песням таких свойств, как настроение (веселые, задумчивые) и для контекста (музыка в дорогу). Решила перенести медиатеку на другой компьютер и обнаружила, что созданные метки не сохраняются...