0 Members and 1 Guest are viewing this topic.
хелпы битые, все страницы пустые, но может это 10ая винда их так открывает.
какой язык выбрать ?
может я где-то пропустил "Hello, world!" туториал ?
в свойствах файла нажмите "разблокировать"
в свойствах файла нажмите "разблокировать"а на каком умеете?SDK есть для Delphi и C++Демки есть
а есть проекты на C++ ? в СДК демки только на делфи, а от C++ только *.h файлы, или этого должно быть достаточно ?
Демок на С++ нет. В принципе, дельфевских демок достаточно для понимания, как это работает
Можете посмотреть в этой теме. Там есть ссылки на исходники плагинов на С++.
через апи есть возможность получить доступ к статистике воспроизведения и вообще делать с нею какие-то манипуляции ?
Доступ есть. Манипуляции - нет (разве что оценку выставить). Какие манипуляции нужны?
на первых порах хотелось бы разобраться как получить/установить рейтинг, количество прослушиваний, оценкуидея плагина состоит в том, чтобы он занимался синхронизацией статистики между разными устройствами,
беда в том что я вебом и немного мобильной разработкой занимаюсь уже давно, а в десктопных делах на c++ опыта нету совсем
Синхронизацию вы сделать не сможете. Поскольку рейтинг и количество прослушиваний доступны только для чтения. Рейтинг вообще рассчитывается динамически по истории воспроизведения.Разве есть принципиальная разница?
У вас не указан Module Definition File (см. картинку ниже). ПКМ на пункте проекта (а не солюшена), в появившемся окне в разделе "Linker/Input" укажите нужный файл (в данном случае exports.def). Только перед этим лучше сверху в поле "Configuration" задать как "All Configurations", чтобы дважды не указывать этот файл. Можно экспортировать функции без всяких def файлов, но у меня не получалось. Если хотите - погуглите, такой способ будет проще.
Еще раз всем привет.Продолжаю разбираться что к чему.Для начала хочу разобраться в каждом нужном мне куске логики, чтобы потом всё собрать до кучи.Недели 3 назад разбирался с sqlite на C++, вроде всё получилось, запросы выполнялись без проблем.Потом я был занят работой, и вот сегодня снова сел поковыряться, и теперь у меня конект срабатывает нормально, но когда выполняю запрос получаю "database is locked".В коде ничего поменять не успел.вот теперь не знаю, как быть если плеер лочит по своему желанию базу, и из плагина к ней никак не подключится, то всё пропало (Версия 4.02, 1725
Да. Во время работы плеера база заблокирована.Что вы хотите делать с базой? Распишите подробно
для начала нужно получать информацию о расположении файлов в библиотеке и посчитать им уникальный хеш,
затем буду пытаться добиться что бы на разных устройствах одни и те же файлы узнавались по посчитанному хешу, ведь он должен совпадать, тогда останeтся только синхронизировать изменения связанные со статистикой прослушивания
Это плохая идея. Время от времени структура базы меняется, иногда даже кардинально.Хеш будет совпадать только в том случае, если человек скопировал конкретно этот файл на свое устройство. Если в файле были поправлены теги, или он с более высоким битрейтом - хеш будет другим.
Не проще ли на всех устройствах использовать одинаковую структуру каталогов для музыки?Никаких плагинов не надо тогда, достаточно синхронизировать файл базы (это элементарно, хоть через облако).Всё прозрачно работает и никаких костылей.
у меня дома музыки около терабайта, а на рабочем ноуте гиг 50 ...если я домашнюю базу вставлю в ноут, что произойдёт когда аимп не найдёт файлы ?и что будет если, на ноуте появится новая музыка, а дома еще нет ?не думаю что это стабильное решениев идеале конечно иметь общее хранилище музыки, но аимп всё равно на каждом устройстве свой
Да ничего не произойдёт. Снимите галку "удалять несуществующие" и всё.Ну появится на ноуте новая музыка, Вы хотите её в базу добавить или нет? Если хотите, то рано или поздно всё равно же принесёте музыкальные файлы с ноута на комп. А если не хотите, зачем вообще тогда что-то синхронизировать, если у Вас априори разные библиотеки.Вы же то же самое решение предлагаете, только закостыленное
Ну вот смотрите, Вы хотите по уникальному признаку найти файл в домашней базе и подкрутить статистику.Ваш признак - хэш, которому доверять нельзя, как уже здесь выяснили. Я предлагаю в качестве уникального признака путь до файла - даже если теги поменяются, ничего страшного не произойдёт.Далее. Не нужно помнить/каждый раз копировать базу, это-то как раз должно быть автоматически, в первом же моём сообщении специально указано. Положил базу в облако - и забыл. Послушал дома, пришёл на работу - БД уже синхронизирована, послушал на работе, пришёл домой - все новые прослушивания на месте. Ни надо ни о чём думать.Короче, считаю спор непродуктивным, если Вам кажется плагинный вариант проще - пожалуйста, надеюсь что-то выйдет.Я не говорю, что Ваша идея плоха. Нет, цель Вы преследуте благую. Я толкую о том, что в текущих реалиях плагин писать не имеет смысла, можно решить проблему подручными средствами.Пока AIMP не научится сам делать что-то такое - все решения будут костыльными (Вы же всё равно доступ к БД в плагине не получите).Верно заметили, что универсального решения нет. Нужна поддержка от раззработчиков AIMP'а.Удачи.
я объяснил что хеш делается по аудио дате файла, игнорируя всё остальное, никакая метадата не участвует, и хеш получается стабильным, это распространённая практика
Простой хеш тут не подходит - допустим, вы заменили файл более качественным или переизданием. Есть специальные алгоритмы расчета слепка аудиоданных, которые не берут во внимание громкость и отклонения в пределах шумов.Что же касается синхронизацииПрямой доступ к базе - это плохо: 1. Структура базы может меняться от версии к версии. 2. Фонотека предусматривает не только локальные файлы, но и совершенно другие источники данных. К ним вы напрямую доступ уже не получите. На сколько я понял, то на текущий момент вам нужно лишь получить список полных путей для всех файлов, что проиндексированы фонотекой, так?