AIMP Forum

AIMP for PC => Дополнения / Addons => Разработка / Development => Topic started by: zldo on July 12, 2008, 20:51:15

Title: MuzCat и AIMP - вопросы совместимости
Post by: zldo on July 12, 2008, 20:51:15
Возник еще вопрс по поводу все той же совместимости - думаю не последний, поэтому создаю отдельную тему.
Пару раз сталкивался с такой проблемой при попытке воспроизведения "битого" файла наступает висяк - AIMP выдает окошко (точно не помню) "error code 14, unsupported file format" - проигрувание прерывается и пока не нажмешь ok, ни одна вункция не доступна. Может стоит отлавливать это исключение и допустим переводить воспроизведение на следующий файл а "битый" помечать в списке воспроизведения?
И еще один вопрос, в MuzCat есть возможность редактировать треки, добавлять изображения к файлам - возможно ли добавить возможность оповещать AIMP о таких изменениях?
Ну и собственного говоря жду новый SDK с расширенным функционалом касающемся списков воспроизведения и управления ими.
Title: Re: MuzCat и AIMP - вопросы совместимости
Post by: anon on July 13, 2008, 09:58:39
Что такое MuzCat? Что то я не нашёл информации по нему.
Title: Re: MuzCat и AIMP - вопросы совместимости
Post by: Artem on July 13, 2008, 10:32:46
Я отпишусь по вопросу сегодня вечером
Title: Re: MuzCat и AIMP - вопросы совместимости
Post by: HuLk on July 13, 2008, 13:31:07
MuzCat
Это каталогизатор аудио файлов с встроенным редактором тега.
Основные возможности программы:
- Создание базы данных файлов расположенных на жестких дисках и CD-ROM.
- Поддержка распространенных форматов аудиофайлов с возможностью расширения этого списка при помощи плагинов.
- Высокая скорость работы с большими коллекциями – 15 000 – 20 000 файлов.
- Удобное представление данных в виде дерева. Пользователь имеет возможность создавать свои структуры дерева с произвольным следованием уровней – например «Комментарий Год Исполнитель».
- Управление M3U списками воспроизведения – вы получаете возможность очень просто добавлять и удалять композиции из списков воспроизведения.
- Широкие возможности поиска файлов по различным параметрам – полям тега, имени файла, параметрам файла (размер, скорость потока). Поиск одинаковых композиций.
- Мощный встроенный редактор тегов. Редактор позволяет редактировать файлы как по отдельности так и группами. Во время редактирования доступы функции поиска и замены, формирования полей тега из имени файла, переименования файлов в соответствии с содержимым тега по заданному шаблону, функции вставки и удаления, различные виды форматирования текста, транслитерация. В редакторе очень удобно работать с клавиатуры.
- Управление файлами – копирование, перемещение, переименование с использованием шаблонов и удаление.
- Уникальные функции по автоматическому размещению файлов. Вы можете воспроизвести любую структуру дерева в виде расположения каталогов на диске или воспользуйтесь функцией подготовки к записи на диск, в которой используется алгоритм идеально подходящий для небольшого числа файлов (100 - 200).
- Возможность создания подробных отчетов в формате HTML о внесенных в базу данных файлов.
- Формат файла базы данных позволяет записывать ее на CD c сохранением работоспособности (для дисков с аудиофайлами).
- Тесная интеграция с самым распространенным мультимедийным проигрывателем Winamp. В отличии от аналогов MuzCat полностью управляет списком воспроизведения Winamp, поэтому вам не придется больше слушать композиции по одной.
- Обширнейшие возможности настройки программы.
- Ведение статистики воспроизведений файлов.
- Множество мелочей которые делают работу с программой простой и удобной.
Title: Re: MuzCat и AIMP - вопросы совместимости
Post by: anon on July 13, 2008, 14:14:10
 Хорошая прога, к тому же бесплатная да ещё и open source. Странно, никогда даже не слышал о ней.
Вот её сайт: http://zldo.narod.ru/muzcat.html
Автор: Александр Руденко а.к.а zldo
Форум: http://muzcat.topbb.ru/


ЗЫ создал тему по плагину для работы с MuzCat
https://www.aimp.ru/forum/index.php?topic=6988.0
Title: Re: MuzCat и AIMP - вопросы совместимости
Post by: Artem on July 13, 2008, 16:44:27
Пару раз сталкивался с такой проблемой при попытке воспроизведения "битого" файла наступает висяк - AIMP выдает окошко (точно не помню) "error code 14, unsupported file format" - проигрувание прерывается и пока не нажмешь ok,

Поправил, теперь это сообщение будет появляться, если пользователь сам лично кликнул по файлу в плейлисте два раза.

Quote
И еще один вопрос, в MuzCat есть возможность редактировать треки, добавлять изображения к файлам - возможно ли добавить возможность оповещать AIMP о таких изменениях?

Необходима возможность обновлять данные для конкретного файла? (Не вопрос, добавлю, если нужна) В данный момент вы можете вызвать лишь рескан всего плейлиста.
Title: Re: MuzCat и AIMP - вопросы совместимости
Post by: zldo on July 13, 2008, 20:28:53
Необходима возможность обновлять данные для конкретного файла? (Не вопрос, добавлю, если нужна) В данный момент вы можете вызвать лишь рескан всего плейлиста.
Смысл в том, что бы поддерживать корректность отображаемой в списке воспроизведения информации - т.е. менять данные после редактирования их моей программе. Наиболее просто это реализуется заменой всего списка воспроизведения, но для некоторых процедур это слишком накладно (например присвоение файлу рейтинга). Поэтому желательно бы иметь эту возможность для отдельного файла.
Title: Re: MuzCat и AIMP - вопросы совместимости
Post by: Artem on July 13, 2008, 22:00:03
Понял, добавлю в SDK.
Title: Re: MuzCat и AIMP - вопросы совместимости
Post by: anon on July 15, 2008, 19:34:01
Напишу здесь...
zldo
Надо бы реализовать в музкате автоматический запуск AIMP при начале воспроизведения и что это за окно muzcat_to_aimp_helper у плагина (для чего оно)?
Title: Re: MuzCat и AIMP - вопросы совместимости
Post by: zldo on July 16, 2008, 14:58:24
Напишу здесь...
zldo
Надо бы реализовать в музкате автоматический запуск AIMP при начале воспроизведения и что это за окно muzcat_to_aimp_helper у плагина (для чего оно)?
Автозапуск конечно же будет реализован, жду обновленный SDK - как только он появиться будет и новая версия плагина с MuzCat. muzcat_to_aimp_helper - окно на которое MuzCat отсылает различные сообщения для взаимодействия с плагином, а тот уже в свою очередь взаимодействует с AIMP - в теории оно должно было быть невидимым, просто существующий на данный момент плагин не подразумевал "непосредственного" использования, поэтому окошко осталось видимым (из-за лени моей).
Title: Re: MuzCat и AIMP - вопросы совместимости
Post by: Artem on July 20, 2008, 16:40:10
https://www.aimp.ru/forum/index.php?topic=420.msg32513#msg32513
Title: Re: MuzCat и AIMP - вопросы совместимости
Post by: zldo on September 06, 2008, 00:49:33
Возможно старею и тупею, но так и не смог сделать простейших вещей:
1. Найти список воспризведения по его имени;
2. Установить пометку воспроизведения в произвольном списке воспризведения ВНЕ ЗАВИСИМОСТИ от состояния воспроизведения.
3. Запустить воспроизведение файла имеющего пометку ВОСПРОИЗВОДИМЫЙ в произвольном списке воспризведения.

ЗЫ
Считывание тегов все так же идет после добавления файлов в список воспроизведения - что собственно сводит на нет все преимущества использования плагина :(
Окно с ошибкой о недоступном файле все так же вылетает :(

Интереса у народа я гляжу нет, так что думаю не стоит дальше заморачиваться этой темой.
Title: Re: MuzCat и AIMP - вопросы совместимости
Post by: Holo on September 06, 2008, 08:44:40
Интерес у народа есть, не опускай руки =)
Программа очень интересная и полезная. Но насколько я вижу она сильно заточена под винамп, последний раз когда я с ней разбирался, я наблюдал сильную интеграцию с плейлистом последнего. На данный момент функциональность программы кончено поражает, но один баг сводит практически всё удобство использования программы на нет. Баг этот проявляет себя следующим образом - когда в программе из любого списка хочешь запустить трек, проигрывается первый существующий трек в плейлисте аимпа, а не выбранный. Полагаю что это как раз из-за вышеописанного свойства проги.
Вообщем буду следить за релизом.
Title: Re: MuzCat и AIMP - вопросы совместимости
Post by: zldo on September 06, 2008, 11:45:56
Holo, особой заточки под Winamp нет, в самой программе все обращения к проигрывателю идут через абстрактный класс, а реализация для Winamp лишь частный случай, а добавить поддержку проигрывателя который реализует небольшой набор функций не проблема. С AIMP MuzCat не работает без всяких "костылей" в виде плагина по 2 причинам - AIMP не реализует обработку сообщения WM_COPYDATA (что в принципе не большая проблема, но неприятная) и некоторых особенностей реализации управления списком воспроизведения. Плагин я вообще задумывал в основном ради увеличения быстродействия и более тесной интеграции с проигрывателем а тот факт что даже после передачи в AIMP полных данных о файле он их игнорирует сводит на нет все преимущества его использования (с учетом затрат памяти он даже вредным становится).
Title: Re: MuzCat и AIMP - вопросы совместимости
Post by: zldo on September 06, 2008, 12:05:56
Прозьба к Артему добавить функции:

IAIMP2PlaylistManager = interface
  ...
  function AIMP_PLS_ID_PlayingSetTrackIndex(ID: HPLS; AEntryIndex: Integer): Boolean; stdcall;
  { Как я понял этот функционал реализован через сообщения совместимые с Winamp но работает оно только для активного списка воспроизведения - и результат почему-то зависит от состояния проигрывания и от того воспроизводился ли список ранее: нужна гарантированная работа при любом раскладе. }
  function AIMP_PLS_ID_PlayingRePlay(): Boolean; stdcall;
  { Перезапустить воспроизведение / запустить воспроизведение отмеченного как воспроизводимый файла - аналог двойного клика на элементе списка воспроизведения. ЗЫ. сообщение SendMessage(WinampHandle, WM_COMMAND, WINAMP_BUTTON2, 0) действует именно так, но это уже совсем другая история }
  function AIMP_PLS_Find(APLSName: PWideChar): HPLS; stdcall;
  { Поиск списка воспроизведения по его имени. Желательно, но не обязательно }
 

Может все-таки стоит учитывать данные передаваемые при добавлении файлов в список воспроизведения (AIMPClassic.AIMP_PLS_AddFiles)? Просто при активной работе со списком состоящим из 15-20 тысяч файлов тормоза просто жуткие (для людей с одноядерным процессором это наверное вообще жуть)
Title: Re: MuzCat и AIMP - вопросы совместимости
Post by: Artem on September 08, 2008, 00:09:28
AIMP_PLS_Find - не нужен, в принципе-то, легко можно обойтись связкой AIMP_PLS_Count + AIMP_PLS_Info.

AIMP_PLS_ID_PlayingRePlay - можно обойтись связкой AIMP_PLS_ID_ActiveSet + AIMP_PLS_PlayFile
AFailIfNotExists - в последней, если флаг стоит в False и файла такого в активном плейлисте нет - файл будет добавлен и начнется проигрывание.

AIMP_PLS_ID_PlayingSetTrackIndex - можно тоже обойтись, но слишком коряво получится =), поэтому такую добавлю.

update:

Quote
Может все-таки стоит учитывать данные передаваемые при добавлении файлов в список воспроизведения (AIMPClassic.AIMP_PLS_AddFiles)? Просто при активной работе со списком состоящим из 15-20 тысяч файлов тормоза просто жуткие (для людей с одноядерным процессором это наверное вообще жуть)

Да, поправлю
Title: Re: MuzCat и AIMP - вопросы совместимости
Post by: zldo on September 10, 2008, 12:58:04
Еще, такой вопрос - как добавить в список воспроизведения "псевдокомпозицию" из cue списка.
Title: Re: MuzCat и AIMP - вопросы совместимости
Post by: zldo on September 17, 2008, 11:17:24
AIMP_PLS_Find - не нужен, в принципе-то, легко можно обойтись связкой AIMP_PLS_Count + AIMP_PLS_Info.
Согласен, тогда еще один вопрос. Как долго живет PLS_ID: HPLS, есть ли гарантия того, что это значение не поменяется во время жизни списка (допустим при изменении положения закладки списка воспроизведения)

AIMP_PLS_ID_PlayingRePlay - можно обойтись связкой AIMP_PLS_ID_ActiveSet + AIMP_PLS_PlayFile
AFailIfNotExists - в последней, если флаг стоит в False и файла такого в активном плейлисте нет - файл будет добавлен и начнется проигрывание.
Согласен, так и пробовал делать, однако работоспособность этой связки зависит слишком от многого, например запускалось ли воспроизведение списка до этого, всех ньюансов не скажу, но работать оно довольно часто отказывается.
AIMP_PLS_ID_PlayingSetTrackIndex - можно тоже обойтись, но слишком коряво получится =), поэтому такую добавлю.
Жду.
Title: Re: MuzCat и AIMP - вопросы совместимости
Post by: Artem on September 17, 2008, 12:38:41
Согласен, тогда еще один вопрос. Как долго живет PLS_ID: HPLS, есть ли гарантия того, что это значение не поменяется во время жизни списка (допустим при изменении положения закладки списка воспроизведения)

Столько же, сколько живет сам плейлист.

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

можно тогда попробовать через IAIMP2Player

   function PlayTrack(ID: HPLS; ATrackIndex: Integer): Boolean; stdcall;
Title: Re: MuzCat и AIMP - вопросы совместимости
Post by: zldo on September 17, 2008, 12:53:25
Столько же, сколько живет сам плейлист.

можно тогда попробовать через IAIMP2Player

   function PlayTrack(ID: HPLS; ATrackIndex: Integer): Boolean; stdcall;

Согласен, проблемы непосредственного воспроизведения какого-либо файла в списке воспроизведения нет, веселье начинается когда я пытаюсь "подменить" список воспроизведения. Выполняются следующие действия:
1. Очистка списка воспроизведения. - Проблем нет.
2. Заполнение списка воспроизведения. - Тут тоже никаких проблем.
3. Установка индекса воспроизводимого файла.
(Напишу зачем это нужно - допустим польхователь отсортировал список в моей прграмме, следовательно необходимо привести состояние списка проигрывателя в то же состояние, а индекс того файла который проигрывается естественно поменялся). Если ТОТ СПИСОК с которым я работал до описаных выше действий ВОСПРОИЗВОДИЛСЯ, то все OK если же до этого воспризводился другой список, то тут начинаются всякие чудеса.

Еще один момент - в моей программе не хранится индекс воспризводимого файла, а при двойном клике выполняется нечно похожее на
Play(List, Idx), что в конечном итоге сводится к трем пунктам что я описал, так как 3 пункт не всегда работает верно, то и получается что этот самый Idx теряется :(
Одним словом все упирается в УСТАНОВКУ ИНДЕКСА ВОСПРОИЗВОДИМОГО ФАЙЛА В ПРОИЗВОЛЬНОМ СПИСКЕ ВОСПРОИЗВЕДЕНИЯ вне зависимости от его состояния, и состояния проигрывания. На данный момент это например нельзя сделать для списка который ни разу не воспроизводился.
Title: Re: MuzCat и AIMP - вопросы совместимости
Post by: zldo on September 19, 2008, 18:26:55
Возникли еще непонятки:
AIMP_INFO_UPDATE       = 5;  // Update Info for current track
судя по коментарию - обработчик этого события завязан на "current track" (Воспроизводимый? Выделенный в активном списке воспроизведения?)
Как я могу отследить изменение данных в целом? Допустим пользователь присвоил рейтинг в AIMP, думаю правильное решение обновлять его и в моей прграмме....
Отдельная история с редактированием тегов...
Хотелось бы добавить в список CallBack types
Code: [Select]
AIMP_FILE_RATING_CHANGED = 15;
AIMP_FILE_TAG_CHANGED = 16;

// for File Info CallBack Types (AIMP_FILE_xxxxx_CHANGED)
  TAIMPFileInfoChanged = procedure (User: DWORD; CallBackType: DWORD; FileName: PWideChar); stdcall;

Обратное действие (из моей проги в AIMP) как я понял можно выполнить при помощи
function AIMP_PLS_Entry_InfoSet(ID: HPLS; AEntryIndex: Integer; PFileInfo: PAIMP2FileInfo): Boolean; stdcall;

И еще один вопрос, не столь важный.
  PMenuInfo = ^TMenuInfo;
  TMenuInfo = record
  ....
    Bitmap: HBITMAP; // поддерживаются ли изображения с альфа каналом (в стандартных иконках не замечал :()?
  ....
  end;
Title: Re: MuzCat и AIMP - вопросы совместимости
Post by: zldo on October 10, 2008, 14:49:50
Опробовал обновленный SDK. Есть пара замечаний по поводу реализации эмуляции API Winamp
1. По WM_COPYDATA добавление файлов происходит, вот только нет отличия добавляется ли список воспроизведения или аудиофайл, AIMP всегда воспринимает добавляемый файл как аудиофайл, хотелось бы чтобы проводился анализ типа файла и если добавляется список воспроизведения добавлялись бы файлы из него.
2. Не совсем корректно работает функция SendMessage(WinampHandle, WM_COMMAND, WINAMP_BUTTON2, 0) - она должна быть аналогом нажатия на кнопку "Воспроизвести"

Еще появились странные грабли в процедуре procedure Init(AIMP: IAIMP2Controller); stdcall;
Совершенно безобидный код в ней выполняется некорректно (в предыдущих версиях все было нормально).
Код следующий:
Code: [Select]
  wc.cbSize := SizeOf(wc);
  wc.style := cs_hredraw or cs_vredraw;
  wc.lpfnWndProc := @WindowProc;
  wc.cbClsExtra := 0;
  wc.cbWndExtra := 0;
  wc.hInstance := HInstance;
  wc.hIcon := LoadIcon(0,idi_application);
  wc.hCursor := LoadCursor(0, IDC_ARROW);
  wc.hbrBackground := 0;
  wc.lpszMenuName := nil;
  wc.cbSize:=sizeof(wc);
  wc.lpszClassName := AimpToMCHelperWNDClassName;
  if RegisterClassEx(wc) = 0 then MessageBox(0, PCHAR(SysErrorToStr(GetLastError)), '', 0);
Не происходит регистрации класса окна, GetLastError возвращает "Параметр задан неверно".
При переносе этого кода в секцию инициализации модуля все работает превосходно.

И еще пара замечаний.
Возможно я спешу немного, но функция AIMP2PlaylistManager.AIMP_PLS_ID_PlayingSetTrackIndex(mcpls, Wparam) не работает, т.е. как я понял поисходит установка значения какойто переменной, значение которой возвращается AIMP_PLS_ID_PlayingGetTrackIndex, но это никак не отражается на списке воспроизведения :(, причем AIMP2Player.PlayTrack(mcpls, Wparam) действует аналогично приведенной мной выше функции - воспроизведение не начинается а тот самый внутренний указатель изменяеся на значение Wparam...
Title: Re: MuzCat и AIMP - вопросы совместимости
Post by: Artem on October 10, 2008, 20:54:16
1) Поправил
2) При нажатии у MuzCat на кнопку Play мне приходит нотификация:
WACM_PAUSE_RESUME = 40046; (#define WINAMP_BUTTON3  40046)
Поэтому и неправильно отрабатывается.

Еще заметил следующие косяки:
+ Duration передается в милисекундах - вы передаете в секундах.
+ AIMP_PLS_ID_PlayingSetTrackIndex - вы передаете в качестве параметра номер плейлист, а нужно его идентификатор, "быстрый" доступ к текущему плейлисту можно осуществить задав ID = -1
Title: Re: MuzCat и AIMP - вопросы совместимости
Post by: zldo on February 22, 2009, 18:51:23
Столкнулся с одной неприятной особенностью, при добавлении треков из cue в виде строки cue:filename.cue:cueindex при cueindex выходящем за допустимые рамки при попытке запуска такого файла AIMP перестает отвечать на сообщения - имеем висяк вызывавшего приложения :(
Title: Re: MuzCat и AIMP - вопросы совместимости
Post by: Artem on February 22, 2009, 19:17:43
Пофикшу
Title: Re: MuzCat и AIMP - вопросы совместимости
Post by: zldo on February 23, 2009, 15:57:00
Что за дескриптор окна (и дискриптор окно это вообще?) передается в качестве параметра функции procedure Config(HD: Cardinal; const Win: Cardinal); stdcall;
очень бы хотелось видеть в этом win дескриптор окна от которого пришел вызов (для корректного отображения диалогов), а то использование GetForegroundWindow тут никак не верно :(

AIMP_Menu_Remove(AMenu) не работает.
Title: Re: MuzCat и AIMP - вопросы совместимости
Post by: zldo on March 12, 2009, 22:14:21
AIMPClassic.AIMP_GetCurrentTrack(@APls) - возвращает мусор: после необходимой строки в буфере, нет даже завершающих нулей :(
Title: Re: MuzCat и AIMP - вопросы совместимости
Post by: Artem on March 12, 2009, 22:29:39
Поправлю.
А пока можно просто очистить буфер, перед тем, как его туда пихать
Title: Re: MuzCat и AIMP - вопросы совместимости
Post by: zldo on March 12, 2009, 22:54:26
Собственно так и делаю... просто по затратам ресурсов это не очень хорошо :(
А что по поводу AIMP_Menu_Remove(AMenu) - очень нужная функция и не только для меня.
Title: Re: MuzCat и AIMP - вопросы совместимости
Post by: Artem on March 13, 2009, 08:51:25
Уже поправил
Title: Re: MuzCat и AIMP - вопросы совместимости
Post by: zldo on April 15, 2009, 22:33:24
Порадовало что ошибки о кторых я писал в новой версии (2.60 b1 462) исправлены, однако есть одно но - скорость передачи списка воспроизведения из MuzCat в AIMP резко упала :(
Как я понял были сделаны изменения в алгоритм распредения памяти (AIMP перестал отъедать оперативку сотнями при работе с большими списками). Может стоит это оптимизировать?


..............
Заметил одну неприятную особенность - разложение треков с cue на составляющие происходит и при AIMPClassic.AIMP_PLS_AddFiles(mcpls, IPLSStrings(Wparam)); это естественно приводит к изменению числа элементов плейлиста и некорректной работе MuzCat с AIMP т.к. все взаимодействие завязано на индексах. Это возможно поправить? Или добавить еще одну функцию где предварительная обработка списка будет отключена.

З.Ы. При открытии m3u происходит тоже самое, что я думаю не совсем верно - получается что файл с cue невозможно прослушать в AIMP как таковой - он при любых обстоятельствах рассыпается на кучу виртуальных :(.
Title: Re: MuzCat и AIMP - вопросы совместимости
Post by: zldo on August 15, 2013, 14:36:19
Понекропостю  :)
Получение индекса воспроизводимого элемента в списке воспроизведения как я пониамю можно узнать:

Code: [Select]
AIMtoMCPlugin.PlaylistManager.EntryPropertyGetValue(AIMtoMCPlugin.PlaylistManager.StorageActiveGet, AIMP_PLAYLIST_STORAGE_PROPERTY_PLAYINGINDEX, @x, SizeOf(x));
x после вызова не меняется.

Разобрался - запутался в методах...

Хотелось бы еще это значение изменять...

Code: [Select]
AIMtoMCPlugin.PlaylistManager.StorageBeginUpdate(AIMtoMCPlugin.mcpls);
AIMtoMCPlugin.PlaylistManager.StorageAddEntries(AIMtoMCPlugin.mcpls, TAIMPAddonsPlaylistStrings(wparam));
AIMtoMCPlugin.PlaylistManager.StorageEndUpdate(AIMtoMCPlugin.mcpls);

Скорость на больших списках низкая :(
Title: Re: MuzCat и AIMP - вопросы совместимости
Post by: zldo on August 26, 2013, 12:00:58
Чего не хватает:
1. PlaylistManager.StoragePropertySetValue(mcpls, AIMP_PLAYLIST_STORAGE_PROPERTY_PLAYINGINDEX, @Idx, SizeOf(Idx));
Установка индекса воспроизводимого файла - об этом уже писал ранее.
Quote
(Напишу зачем это нужно - допустим польхователь отсортировал список в моей прграмме, следовательно необходимо привести состояние списка проигрывателя в то же состояние, а индекс того файла который проигрывается естественно поменялся). Если ТОТ СПИСОК с которым я работал до описаных выше действий ВОСПРОИЗВОДИЛСЯ, то все OK если же до этого воспризводился другой список, то тут начинаются всякие чудеса.

Еще один момент - в моей программе не хранится индекс воспризводимого файла, а при двойном клике выполняется нечно похожее на
Play(List, Idx), что в конечном итоге сводится к трем пунктам что я описал, так как 3 пункт не всегда работает верно, то и получается что этот самый Idx теряется
Одним словом все упирается в УСТАНОВКУ ИНДЕКСА ВОСПРОИЗВОДИМОГО ФАЙЛА В ПРОИЗВОЛЬНОМ СПИСКЕ ВОСПРОИЗВЕДЕНИЯ вне зависимости от его состояния, и состояния проигрывания. На данный момент это например нельзя сделать для списка который ни разу не воспроизводился.
2. Добавление элементов из cue списков перестало работать - раньше добавлялос в виде: cue:filename.cue:cueindex. Поменялся формат?
3. PlaylistManager.StorageAddEntries(AIMtoMCPlugin.mcpls, AIMPAddonsPlaylistStrings) - выполнение занимает значительное время хотя все данные передаются в готовом виде. Как я понял происходят какие-то обработки (разбиение cue) в итоге число записей в плейлисте может не совпасть с числом переданным в AIMPAddonsPlaylistStrings. Получаем отличия в списках и как результат некорректную работу MuzCat со списком в целом :(
Title: Re: MuzCat и AIMP - вопросы совместимости
Post by: Artem on August 26, 2013, 13:19:34
1) Я уже вроде тоже говорил, что нужно использовать TrackIndex для управления очередью воспроизведения, т.к. PlayingIndex - это всего лишь визуальная часть. К примеру, если проигрываемый файл будет удален, то PlayingIndex станет = -1, а вот TrackIndex будет показывать на предыдущий файл.
2) Формат просто Filename.cue:trackindex
3) Тут как бы две стороны медали, если плеер не будет действовать в разрез с настройками - будет тоже не очень правильно.
Title: Re: MuzCat и AIMP - вопросы совместимости
Post by: zldo on August 26, 2013, 13:37:07
Quote
PlayingIndex - это всего лишь визуальная часть. К примеру, если проигрываемый файл будет удален, то PlayingIndex станет = -1, а вот TrackIndex будет показывать на предыдущий файл.
Мне визуальная часть как раз и нужна, просто в sdk AIMP_PLAYLIST_STORAGE_PROPERTY_PLAYINGINDEX помечен как readonly
Code: [Select]
AIMP_PLAYLIST_STORAGE_PROPERTY_PLAYINGINDEX             = 54; // READONLY! ABuffer: Pointer to Integer, ABufferSize: SizeOf(Integer)
Quote
2) Формат просто Filename.cue:trackindex
Ok, понятно
Quote
3) Тут как бы две стороны медали, если плеер не будет действовать в разрез с настройками - будет тоже не очень правильно.
Хм... этот вопрос уже поднимался раньше
Quote
я думаю не совсем верно - получается что файл с cue невозможно прослушать в AIMP как таковой - он при любых обстоятельствах рассыпается на кучу виртуальных .
Title: Re: MuzCat и AIMP - вопросы совместимости
Post by: Artem on August 26, 2013, 13:40:09
Мне визуальная часть как раз и нужна, просто в sdk AIMP_PLAYLIST_STORAGE_PROPERTY_PLAYINGINDEX помечен как readonly

Ок, сделаю.

я думаю не совсем верно - получается что файл с cue невозможно прослушать в AIMP как таковой - он при любых обстоятельствах рассыпается на кучу виртуальных .

Да, именно так, если стоит опция "разделять файлы на кучу виртуальных".
Title: Re: MuzCat и AIMP - вопросы совместимости
Post by: zldo on August 26, 2013, 13:46:40
А в StorageAddEntries(AIMtoMCPlugin.mcpls, AIMPAddonsPlaylistStrings) можно будет параметр третий добавить "разделять файлы на кучу виртуальных"?
Title: Re: MuzCat и AIMP - вопросы совместимости
Post by: Artem on August 26, 2013, 14:01:43
А в StorageAddEntries(AIMtoMCPlugin.mcpls, AIMPAddonsPlaylistStrings) можно будет параметр третий добавить "разделять файлы на кучу виртуальных"?

Для будущего API подумаю.
Title: Re: MuzCat и AIMP - вопросы совместимости
Post by: zldo on September 10, 2013, 16:29:38
Нашел еще один момент - при добавлении файлов в список игнорируются файлы с неподдерживаемыми/пустыми расширениями что также ведет к рассогласованию индексов.
Title: Re: MuzCat и AIMP - вопросы совместимости
Post by: Soolo on September 10, 2013, 16:37:10
Нашел еще один момент - при добавлении файлов в список игнорируются файлы с неподдерживаемыми/пустыми расширениями что также ведет к рассогласованию индексов.
Естественно. Расширения не просто так придумали. Зачем сканировать все файлы, когда можно отфильтровать по расширению
Title: Re: MuzCat и AIMP - вопросы совместимости
Post by: zldo on September 10, 2013, 16:42:23
Согласен, правда не всегда это оправдано - у себя отключил случайно плагин с поддержкой flac, а потом долго понять не мог почему эти файлы не добавляются в плейлист  :).
Собственно сообщение все о том же - добавить в API функию добавления файлов в плейлист без предварительной обработки "как есть".


Чуть не забыл, для файлов плейлистов такую опцию думаю нужно в настройки вынестисти иначе можно "случайно" файлы из списка потерять...
Title: Re: MuzCat и AIMP - вопросы совместимости
Post by: Artem on September 10, 2013, 20:13:44
Плейлисты импортируются другим образом, с ними проблем быть не должно
Title: Re: MuzCat и AIMP - вопросы совместимости
Post by: Artem on January 07, 2015, 14:56:33
Все же тема звучит как "Вопросы по SDK", а не "Просьба о новой функции", так что актуален пока единственный вопрос - будет ли новая SDK?

Новая SDK уже выпущена:
https://www.aimp.ru/index.php?do=download&cat=sdk