AIMP v3.60

Что нового наc ожидает с выходом обновления v3.60?

Новый API для плагинов

Пожалуй, это самое важное нововведение из всех остальных. В первую очередь хочу отметить, что новое API довольно серьезно было переработано. Чтобы перейти на него, придется править код плагинов, простой перекомпиляцией не обойтись, но оно того стоит, поверьте.

1. ООП

По всему API теперь применяется объектно ориентированный подход. Переход к ОО модели позволил существенно упростить и обезопасить работу с данными, а так же увеличить производительность программы за счет того, что интерфейсы-обертки работают напрямую с оперируемыми плеером объектами (без дополнительной конвертации данных, которая присутствовала в предыдущем API)

2. ARC

ARC – автоматический подсчет количества ссылок. Смысл подхода заключается в том, что объект автоматически убивается, как только количество ссылок на него становится равным нулю. Таким образом, в новом API все объекты будут убиваться автоматически – вам больше не нужно об этом заботиться.

3. Расширяемость

У плагинов появилась возможность расширять существующие возможности API. Таким образом, теперь можно писать плагины для плагинов, используя только движок плеера.

4. Справка

Наконец-то API обзавелся нормальной документацией (пока только на русском), на английский язык документация будет переведена ближе к релизу.

5. Рабочая папка плагина

Изначально я планировал сделать это только к v4, но по просьбе разработчиков решил сделать сейчас. Теперь каждый плагин имеет свою рабочую папку, в которой должны располагаться все необходимые для его работы файлы.
Во-первых, в папке с плагинами больше не будет бардака. Во-вторых, теперь удаление плагина из UI программы, удаляет его полностью, а не только основной файл.

6. Локализации

Локализации плагинов теперь автоматически интегрируются в пространство имен общей локализации плеера. Об этом нововведении более подробно описано в справке к API

7. Многопоточность

Проведен аудит по поддержке многопоточности в тех или иных объектах. Теперь, если объект не поддерживает многопоточный доступ и к нему идет обращение из другого потока – API выдаст ошибку (раньше этого не было). Такое поведение позволит повысить стабильность и избежать случайных ошибок, вызванных рассинхронизацией.

8. Новые возможности

 

Совместимость с прошлыми версиями

1. Плагины

В связи с введением рабочей папки для плагинов, сторонние плагины после обновления придется устанавливать заново. Стоит отметить, что старый API все так же поддерживается, таким образом плагины от старых версий без проблем заведутся на новой.

2. Папка Modules

Папка Modules была полностью расформирована, в место нее появились папки .\System, .\System\Data, .\System\Encoders

3. Ядро

Файл ядра (AIMP3.DLL) был разделен на две части – библиотеку с плееро-независимым кодом (AIMP.Runtime.DLL) и библиотеку с общим кодом для всех утилит программы (AIMP.Shared.DLL)

4. Мини-плеер aka TrayControl

Небольшое изменение в терминологии: отныне TrayControl будет называться мини-плеером.

 

Новые возможности

1. Поддержка технологий DEP и ASLR

2. Обложки альбомов

Как я уже упоминал в топике о  планах на этот год, поиск обложек альбомов был полностью переосмыслен. Теперь поиск ведется в отдельном потоке, а результат кэшируется в виде оптимальных для отображения миниатюр в локальной БД. Такой подход позволил уменьшить время переключения между треками, для которых имеются обложки альбомов (особенно большие), а так же уменьшить количество обращений к диску.

Добавились настройки поиска обложек, а так же возможность поиска обложек в интернете. Стоит отметить, что последняя функция реализуется с помощью сторонних плагинов, в базовой поставке за это отвечает плагин для сервиса Last.fm.

Настройки поиска обложек альбома

CoverArt Downloader в привычном нам понимании был убран, вместо него вы можете автоматически скачать обложку с интернета, перейти в тот или иной поисковик по автоматически сгенерированной ссылке. Кстати, стоит сказать, что поле редактирования обложки альбома в быстром и расширенном редакторах тегов теперь принимает ссылки на удаленные ресурсы с помощью drag-n-drop.

3. Менеджер звуковых эффектов

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

Настройки нормализации громкости

 

4. Плагин для сервиса Last.fm

  • Новый плагин работает с сервисом напрямую – без посредника в виде родного клиента.
  • Добавлена возможность использования поля AlbumArtist вместо Artist-а.
  • Добавлена возможность добавить трек в “любимые” и убрать из этого списка.
  • Добавлена возможность отображения информации о проигрываемом треке в виде дополнительного окна:

Last.fm -  Информация о файле

5. Информационная лента

  • Добавлена возможность указать, на каком экране отображать ленту
  • Добавлена возможность показывать ленту всегда

6. Плейлист

  • Добавление файлов в плейлист теперь выполняет в отдельном потоке, с возможностью отмены.
  • Уменьшено количество обращений к файлам при загрузке плейлиста / добавлении файлов в плейлист. Скорость добавления в плейлист выросла на 30%
  • Воспроизведение “вразнобой”: очередь воспроизведения теперь сохраняется для каждого плейлиста (а не только для проигрываемого)
  • Воспроизведение “вразнобой”: улучшен алгоритм – старается равномерно проигрывать файлы из разных групп, не допускать последовательного проигрывания двух подряд идущих файлов.

 

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

Публичное бета тестирование запланировано на день рождения проекта, 8 августа 2014 года.

94 thoughts on “AIMP v3.60

  1. Долматов Алексей (Алекс)

    Не совсем ясен пункт “Рабочая папка плагина”, где будут храниться настройки плагина?
    На основе API в личной папке плагина в папке пользователя\ином месте?
    Если API указывает расположение рядом с файлов DLL, то плагин будет храниться в своей папке с настройками в папке пользователя или в программных файлах?
    Что произойдёт, если плагин и прилагающиеся файлы будут добавлены без своей папки, автоперенос части файлов?
    С нестабильными плагинами как, будет перекидываться в unstable вся папка и настройки?

    1. Artem Post author

      Не совсем ясен пункт «Рабочая папка плагина», где будут храниться настройки плагина?

      Настройки, как и раньше, должны храниться либо в общем файле настроек, либо в отдельном, но в файле профиля. В рабочей папке хранить настройки нельзя.

      Что произойдёт, если плагин и прилагающиеся файлы будут добавлены без своей папки, автоперенос части файлов?

      Плеер не увидит плагин.

      С нестабильными плагинами как, будет перекидываться в unstable вся папка и настройки?

      Основной файл будет переименован, папка останется на месте

  2. EVIL555

    А мож сделать так чтоб после перемешенные песни в другую папку, она все ровно играла просто после переустановки винды меняется на жд диске буква и приходится все править весь плейлист
    в виндовом медия плеера так работает что вам стоит сделать это?

    1. Rainman

      Это не проблема плеера на самом деле, Артём верно написал, что событие переустановки оно крайне редкое, к тому же буква диска легко меняется в диспетчере дисков системы, а если уж действительно надо поправить пути в плейлисте – просто откройте его блокнотом и сделайте авто замену, плейлист это обычный текстовый файл, так же можно сохранить плейлист в папке с музыкой…

      О, кстати, а вот реальная задача для плеера – сохранение списков файлов с относительными путями 🙂 если такое поддерживается стандартом хорошо было бы галочку при сохранении (экспорте из плеера т.е.) плейлиста реализовать.

      1. Artem Post author

        Такая опция уже давно есть, однако плейлист и музыка должны храниться на одном и том же диске.

  3. EVIL555

    и еще можно добавить строчку поиска песни когда плейлист загрузил а не прокручивать до посинения

      1. Куля

        Это хорошо. Главное что в планах это все таки значится. Уж очень хорошая фича.

  4. Mister

    Артем, прошу прощения за такой вопрос, но ответьте пожалуйста)
    Скажите, а вы хоть что-то зарабатываете на проекте Аимп?

      1. Mister

        Мне просто интересно, если вести такой проект, популярный но бесплатный, на жизнь хватает? Или нужно где-то еще подрабатывать?

          1. Rainman

            Это радует 🙂 У авторов столь хороших и полезных проектов проблем быть не должно по определению 🙂

  5. born-80

    Лучше бы поддержку VST Плагинов добавили, плюс неплохо было бы если папку плагинов можно было выбрать, это для того, что в корневой т.е. в главной папке бывают и VSTi инструменты, не только эффекты и они не работают, бывает программа пусть и поддерживает VST но с некоторыми конфликтует или сам плагин не работает и для этого лучше было бы возможность выбрать папку, при этом можно будет создать отдельную папку и копировать туда нужные плагины!

    1. Artem Post author

      VST среди наших пользователей не очень пользуется популярностью, поэтому эта задача не стоит в первых рядах. А гибкий и мощный API давно был нужен.

      Кстати, VST можно использовать через VST-Host плагин для Winamp.

  6. Rainman

    Новое API восхитительно, возможности, честно говоря, просто удивительные. Особо порадовали плагины к плагинам, теперь наращивать функционал станет гораздо легче, а у толстых плагинов появится возможность стать модульными не создавая своих собственных API.

  7. Rainman

    Наверно немного не по теме, но всё же, а когда стоит ждать скроблинга на ласт.фм в плеере для android? По идее можно вообще довольно простым способом (имею ввиду со стороны плеера на устройстве) реализовать его – на устройстве сохранять лог где нибудь на mnt/sdcard, а компьютерной версией этот лог импортировать.

    1. Rainman

      Да и не только для скроблинга это будет полезно – рейтинг композиций в базе плеера будет учитываться, в общем предлагаю подумать над этой идеей.

    2. Artem Post author

      Работа с сетью в мобильной версии будет после релиза 1.0. Генерировать лог для старшего брата не имеет смысл, мобильный плеер должен быть самодостаточным, тем более мобильный телефон сам в состоянии без проблем подключиться к Интернет

  8. Куля

    А в связи с взаимодействием с ластом, не будет ли реализированна автоматическая поправка синтаксиса тегов?

  9. Куля

    Кстати радует переход на ARC. Возможно ресурсов плагины меньше будут кушать. Если я правильно понял – это же на подобии сборщика мусора в C#? Жаль только этих самых плагинов не видно уж давным давно(новых) :(. Вероятно Сизифов труд.

    1. Artem Post author

      ARC – это противоположная концепция, да объекты так же грохаются автоматически, но у вас в приложении нет отдельного потока, который в какой-то момент времени запускается и копается в куче, анализируя связи с объектами. При должном построении архитектуры плагины, программист может на 100% сказать, когда какой объект убьется и освободит память, при GC такого нет.

      На счет новых плагинов:
      1. Если раньше все стандартные “модули” имели свой собственный API, и работали с ядром программы напрямую (т.к. Plugins API просто не имел должного функционала), то теперь все они используют общий для всех API.
      2. Раньше документации не было вообще. Я думаю, что сейчас порог вхождения будет пониже.
      3. Новый API максимально расширяем, на его базе я планирую очень многое построить для AIMP4. Даже, если он не пригодится людям сейчас – пригодится позже.

  10. docck

    Спасибо за возможность теститрования нового релиза. Попробовал дома и на работе.
    Относительно скробблинга. Первое, что бросилось в глаза: нет возможности добавить нескольких пользователей. То есть, чтобы была кнопка “войти под другим именем” и при наличии нескольких пользователей можно было бы переключаться радиобаттоном каким. Для меня это критично: дома на одном компьютер аж три аккаунта ластфм, в нативном клиенте переключение осуществлялось без проблем.
    Продолжил испытания на работе и был неприятно удивлен тем, что оффлайн скробблинга либо нет, либо он работает нестабильно. Пришлось откатиться пока на 3.55 в связи с этими проблемами.
    Надеюсь, что эти мелочи будут исправлены к следующему билду, и я с радостью продолжу тестировать этот замечательный плеер

    1. Artem Post author

      У вас дома несколько человек сидит за одним компьютером? Если так – более правильно было бы создать каждому по учетной записи, тогда необходимость переключения профилей не возникла вообще.

      Пожалуйста, обо всех возникающих проблемах в деталях сообщайте, иначе ошибки так и останутся не исправленными

            1. Artem Post author

              Скажите, пожалуйста, что не хватает вам в новом плагине, что вы вынуждены ставить родной клиент?

  11. night-energy

    Интересует одно: поддержка такого аудио формата как *.ASF будет в новой версии?

  12. AlexzundeR

    Отличная интеграция с Last.Fm! А нет в планах полученную обложку опционально сохранять в проигрываемом файле? Для того, чтобы например при переносе музыки на мобилу, там аимп тоже показал обложку?
    И возможно ли поправить теги проигрываемого трека на ластфмовские?

    1. Artem Post author

      1. Автоматически сохранять обложку в файл нельзя, а вручную – без проблем.
      2. Пока нельзя

        1. Artem Post author

          1. Откройте диалог “информация о файле”, поставьте галочку “вложить в файл” и сохраните изменения

  13. ABTOP

    Артём, приветствую!

    А можешь сделать в плейлисте возможность выбрать цвет для текста проигрываемой композиции + добавить возможность назначить фон с возможностью выбора из палитры цветов, в том числе и прозрачный?

  14. des

    Доброго времени. Добавил в папку “Плагины” aimp_vkontakte. Создал папку для него и запустил программу. Строчка в меню добавилась, он открыл окно, ввел имя пользователя и нажал на запуск. Он считал все песни с моей странички и в конце издал звук. Композиции не появились в плейлисте. А после закрытия плеера выдал окно с ошибкой: Memory leak detected

    1. Artem Post author

      Приветствую.
      aimp_vkontakte уже давным давно не работает адекватно, связано это с тем, что поменялось API в VK. Для AIMP есть новый плагин – http://www.aimp.ru/forum/index.php?topic=42711.0 . Хочу еще отметить, что подобные вопросы лучше задавать непосредственно авторам плагинов.

  15. Serj C.

    Артём, приветствую!

    А зачем не добавляете в <> скины вроде Euphoria, Silveria -> скины где значки “Play”, “Stop”, и т.д.. изображены прямо на кнопки и звук можно нормализировать при Drag & Drop, а не с помошию Mouse Click? Так четко и удобно.

    Про встроенный Last.fm Scrobbler, зачем не показать информацию про артиста – так как на самом деле показывает отдельный Last.fm Scrobbler плагин, потому-что про всех артистов есть доступная информация, a про треки – не про всех есть информация.

      1. Serj C.

        Встроенный Last.fm Scrobbler показывает информацию про треки, зачем не отображать информацию про артиста — так как на самом деле отображает отдельный Last.fm Scrobbler плагин, потому-что про всех артистов есть доступная информация, a про треки — не про всех есть информация на Last.fm.

        1. Soolo

          Скробблер АИМПа показывает инфу о треке, если она есть. Если о треке информации нет – показывается информация об артисте.

  16. ABTOP

    Артём, а можешь добавить опцию — чтобы по окончанию плейлиста не происходил переход к первой композиции?

      1. ABTOP

        У меня довольно большой плейлист. И иногда возникает желание послушать несколько композиций из конца списка не один раз. Но не всегда успеваешь уследить, что воспроизведение последнего трека подходит к концу . Как результат приходится прокручивать список вниз.

        1. Artem Post author

          Для повтора лучше использовать очередь, тем более в нее можно добавить сразу группу треков.

  17. ABTOP

    B подскажи пожалуйста, как можно ли и как это сделать — вынести команды контекстного меню проводника из подменю в основное меню, меня интересуют три команды — Воспроизвести, Добавить в плейлист и Добавить в очередь.

          1. ABTOP

            Добавил этот параметр в aimp.ini, но вложенное меню AIMP в контекстном меню не пропало.
            AIMP 3.60 Beta 1433

      1. ABTOP

        А можно пару пунктов удалить из меню — “Редактировать теги” и “Конвертировать в другой формат”?

        1. Artem Post author

          Можно, список пунктов задается в секции:

          [Menu]
          SubItemsCount=5
          SubItem1=MenuItemPlay
          SubItem2=MenuItemInsert
          SubItem3=MenuItemQueue
          SubItem4=MenuItemEditTags
          SubItem5=MenuItemConvert

  18. Infinity

    Здравствуйте!

    В последней бете появился баг, как показано на скриншоте – время композиции везде различное, а раньше правильно писалось. Это как на CUE листах, так и на обычных треках. Раньше такого не было.
    Скриншот: http://savepic.net/6193699.png

    Также спасибо, что исправили баг с будильником в своё время. Штука очень нужная!! Используется как основной будильник. И тут есть идея по усовершенствованию его использования. А именно – каждый день приходится его выставлять вручную, иначе он не будет работать. Можно ли сделать так, чтобы был режим повтора будильника. Ну например, ежедневно. Или по определённым дням, если усложнить. (вообще бы в идеале сделать планировщик с календарём, наподобие как в uTorrente, чтоб можно было тонко настраивать, или как в телефонах бывает). Но для начала всё просто – просто сделать повтор ежедневно (галочку например). Ну а так спасибо!!!

    Хороше

    1. Artem Post author

      Пожалуйста, напишите об этом на форум или в саппорт, решать проблемы в рамках блоге не совсем корректно + не удобно

  19. qqqaaawww002

    Ребят, а эта функция “Обложки альбомов” не будет менять(дополнять) файлы?
    Просто ненравится когда сторонние программы меняют оригинал файлов, пусть то музыка или фото

      1. qqqaaawww002

        ок. Просто вот у меня пока что стоит версия 3.55 (в 3,6 незнаю как устроено).
        Вообщем в ней если нажать “информация о треке” под обложкой альбома ключена галочка “вложить в файл”. Это собственно и немного напрягало))

          1. qqqaaawww002

            тю, так вроде вы говориле выше, что “нет”. Ну или я насколько понял, в файле не меняется информация касающаяся музыки, а просто к файлу добавляется картинка?
            Если это так, то сдесь есть и плюсы и минусы. Вот например недавно в папке на раб. столе лежало несколько мп3 файлов с музыкой, я туда временно кинул одну “левую” фотку. В плеере потом показывалась эта фотография как обложка. Тоесть если я перенесу мп3 файлу допустим на флешку, они подхватят с собой эту обложку?

      1. Fandaal

        Я имею в виду официальный скробблер Last.fm. Как это было реализовано в старой версии через плагин.

  20. VikWinchester

    После обновления 3.60 исчез режим миниплеера (в виде полоски). Плеер теперь просто сворачивается в трей. Это же совсем неудобно. Как вернуть прежний режим?

    1. Artem Post author

      Может быть вы его закрыли? Нажмите ПКМ на иконке в трее, и в появившемся контекстном меню выберите “показать мини-плеер”.

  21. 6y4

    Здравствуйте я использую IZOTOPE OZONE FOR WINAMP 1.0
    его приходится записывать руками, там фал dsp_iZOzone.dll раньше в 3.55 я его клал в папку Plugins и он отображался в меню, в новой версии так не получается, как записать этот dsp плагин? какая папка отвечает за плагины dsp?

Leave a Reply