Проголосовало пользователей: 26
0 Пользователей и 1 Гость просматривают эту тему.
Вернее, чем распаковать "архив" с расширением .aimppack?
Connection is established. But when I enter to artist or albums section i see only spinning blue icon. I tried to wait few minutes and nothing changes. What's going on?
В отличие от Remote Control, не вешает АИМП.Но, к сожалению, не имеет WEB-интерфейса, только приложения для мобильных ОС.
Any plains for Version 4?
I had to drop official support for AIMP 4, unfortunately. The media library format kept changing and the plugin SDK currently does not offer the functionality I require to make the app work. If that changes in the future I may look into supporting it again.
AService: IAIMPServiceMusicLibrary;... AService.GetStorageByID(MakeString(AIMPML_LOCALDATASTORAGE_ID), IAIMPMLDataStorage2, FDataStorage);... if Supports(FDataStorage, IAIMPMLDataProvider, ADataProvider) then begin if Succeeded(ADataProvider.GetData(BuildFieldList, BuildFilter, AData)) then begin if Supports(AData, IAIMPMLDataProviderSelection, ASelection) then repeat SetString(AValue, ASelection.GetValueAsString(0, ALength), ALength); ... until not ASelection.NextRow; end; end; function <>.BuildFieldList: IAIMPObjectList; begin CoreCreateObject(IAIMPObjectList, Result); Result.Add(MakeString('FileName')); Result.Add(MakeString('Title')); end; function <>.BuildFilter: IAIMPMLDataFilter; var AFieldFilter: IAIMPMLDataFieldFilter; begin CheckResult(FDataStorage.CreateObject(IAIMPMLDataFilter, Result)); CheckResult(Result.SetValueAsInt32(AIMPML_FILTERGROUP_OPERATION, AIMPML_FILTERGROUP_OPERATION_AND)); CheckResult(Result.Add(MakeString('Artist'), FArtist, Null, AIMPML_FIELDFILTER_OPERATION_EQUALS, AFieldFilter)); CheckResult(Result.Add(MakeString('Album'), FAlbum, Null, AIMPML_FIELDFILTER_OPERATION_EQUALS, AFieldFilter)); end;
Does IAIMPServiceMusicLibrary::GetStorageByID need to be called from the main thread?
Presumably there's no harm in getting that IAIMPMLDataStorage2 object when the plugin is initialized and holding on to it?
static const WCHAR* AIMPML_LOCALDATASTORAGE_FIELD_ID = _T("ID"); // Int32static const WCHAR* AIMPML_LOCALDATASTORAGE_FIELD_ADDDED = _T("Added"); // DateTime (Float);static const WCHAR* AIMPML_LOCALDATASTORAGE_FIELD_ALBUM = _T("Album"); // String, multiple valuesstatic const WCHAR* AIMPML_LOCALDATASTORAGE_FIELD_ALBUMARTIST = _T("AlbumArtist"); // String, multiple valuesstatic const WCHAR* AIMPML_LOCALDATASTORAGE_FIELD_ARTIST = _T("Artist"); // String, multiple valuesstatic const WCHAR* AIMPML_LOCALDATASTORAGE_FIELD_BITDEPTH = _T("BitDepth"); // Int32;static const WCHAR* AIMPML_LOCALDATASTORAGE_FIELD_BITRATE = _T("Bitrate"); // Int32static const WCHAR* AIMPML_LOCALDATASTORAGE_FIELD_BPM = _T("BPM"); // Int32;static const WCHAR* AIMPML_LOCALDATASTORAGE_FIELD_CHANNELS = _T("Channels"); // Int32;static const WCHAR* AIMPML_LOCALDATASTORAGE_FIELD_COMMENT = _T("Comment"); // String (Memo)static const WCHAR* AIMPML_LOCALDATASTORAGE_FIELD_COMPOSER = _T("Composer"); // String, multiple valuesstatic const WCHAR* AIMPML_LOCALDATASTORAGE_FIELD_CONDUCTOR = _T("Conductor"); // Stringstatic const WCHAR* AIMPML_LOCALDATASTORAGE_FIELD_COPYRIGHTS = _T("Copyrights"); // Stringstatic const WCHAR* AIMPML_LOCALDATASTORAGE_FIELD_DISKNUMBER = _T("DiskNumber"); // Stringstatic const WCHAR* AIMPML_LOCALDATASTORAGE_FIELD_DURATION = _T("Duration"); // = AIMPML_RESERVED_FIELD_DURATION; // Duration (Float)static const WCHAR* AIMPML_LOCALDATASTORAGE_FIELD_FILEFORMAT = _T("FileFormat"); // Stringstatic const WCHAR* AIMPML_LOCALDATASTORAGE_FIELD_FILENAME = _T("FileName"); // = AIMPML_RESERVED_FIELD_FILENAME; // FileName (String);static const WCHAR* AIMPML_LOCALDATASTORAGE_FIELD_FILESIZE =_T("FileSize"); // = AIMPML_RESERVED_FIELD_FILESIZE; // FileSize (Int64);static const WCHAR* AIMPML_LOCALDATASTORAGE_FIELD_GENRE = _T("Genre"); // String, multiple valuesstatic const WCHAR* AIMPML_LOCALDATASTORAGE_FIELD_LABELS = _T("Labels"); // String, multiple valuesstatic const WCHAR* AIMPML_LOCALDATASTORAGE_FIELD_LASTMODIFICATION = _T("LastModification"); // DateTime (Float)static const WCHAR* AIMPML_LOCALDATASTORAGE_FIELD_LASTPLAYBACK = _T("LastPlayback"); // DateTime (Float);static const WCHAR* AIMPML_LOCALDATASTORAGE_FIELD_LYRICIST = _T("Lyricist"); // String, multiple valuesstatic const WCHAR* AIMPML_LOCALDATASTORAGE_FIELD_MOOD = _T("Mood"); // String, multiple valuesstatic const WCHAR* AIMPML_LOCALDATASTORAGE_FIELD_PLAYBACKCOUNT = _T("PlaybackCount"); // Int32static const WCHAR* AIMPML_LOCALDATASTORAGE_FIELD_PUBLISHER = _T("Publisher"); // String, multiple valuesstatic const WCHAR* AIMPML_LOCALDATASTORAGE_FIELD_RATING = _T("Rating"); // Int32static const WCHAR* AIMPML_LOCALDATASTORAGE_FIELD_SAMPLERATE = _T("SampleRate"); // Int32static const WCHAR* AIMPML_LOCALDATASTORAGE_FIELD_TITLE = _T("Title"); // Stringstatic const WCHAR* AIMPML_LOCALDATASTORAGE_FIELD_TRACKNUMBER = _T("TrackNumber"); // Stringstatic const WCHAR* AIMPML_LOCALDATASTORAGE_FIELD_URL = _T("URL"); // Stringstatic const WCHAR* AIMPML_LOCALDATASTORAGE_FIELD_USERMARK = _T("UserMark"); // = AIMPML_RESERVED_FIELD_USERMARK;static const WCHAR* AIMPML_LOCALDATASTORAGE_FIELD_YEAR = _T("Year"); // String
m_albumArt->Get(fileUriObj, artistObj, albumObj, AIMP_SERVICE_ALBUMART_FLAGS_ORIGINAL | AIMP_SERVICE_ALBUMART_FLAGS_WAITFOR, AIMPServiceAlbumArtReceiveProc, &info, &taskId)
Almost all files have embedded cover art, so I don't see why it should perform an online lookup. Something like AIMP_SERVICE_ALBUMART_FLAGS_OFFLINE would be handy, though.I plugged in my own image loading code for now (takes less than 60ms on average).
Thanks. That flag doesn't do much in terms of speed, so I'll need to stick to my custom code for now. Maybe I'll use IAIMPServiceAlbumArt as a fallback only.
- Couldn't figure out how to use AIMPML_FILTER_SORTBY (not that important, though, I can easily sort the data myself)
... if the requested value does not exist.
Apart from that I've got most of the functionality working again. Have you got a release date in mind for the next update?
Can you send to me an example or working assembly of plugin? I will check this issue using performance profiler.
You must set to AIMPML_FILTER_SORTBY name of column (IAIMPString), additionally, set correct value to the AIMPML_FILTER_SORTDIRECTION property
Seems to be a bug. Can you explain in more details, how to reproduce it?
int32_t discCount; if (SUCCEEDED(fileInfo->GetValueAsInt32(AIMP_FILEINFO_PROPID_DISKTOTAL, &discCount))) { ... }
Sure. Have you got a smartphone or tablet for testing? An iPad would be ideal.
where fileInfo is an IAIMPFileInfo instance I retrieved via AIMP_PLAYLISTITEM_PROPID_FILEINFO from an IAIMPPlaylistItem instance.Whenever the property doesn't exist, two Delphi execptions (0x0EEDFADE) are thrown.
I'll PM you.
AIMP_FILEINFO_PROPID_DISKNUMBER Type IAIMPString Read IAIMPPropertyList.GetValueAsObject(ID, IID_IAIMPString, ..) Write IAIMPPropertyList.SetValueAsObject(ID, <IAIMPString>)
Ah, in the .chm, not the header files. Got it!
The new plugin for AIMP4 is now officially available.
Здравствуйте! Данное приложение установленное на ios устройство не видит названий треков. Вместо имен файлов вопросительные знаки. Возможно ли это исправить?
Your files should have at least an artist and a title tag. The plugin should fall back to using filenames if there are no tags at all, but maybe that's not working for some reason in your case.
The settings look fine. Make sure the firewall is configured to allow incoming TCP connections to AIMP.
Right now only the foobar version supports browsing by folder, sorry. I may add this feature in the future for other players, including AIMP.
Может кому поможет. Была ошибка "connection attempt failed".Eset не пропускал. Добавил правило в настройках и всё заработало.
Верните мне Remote control! Приложение очень, очень ограничено в функционале. На практике, это только пауза/пуск/предыдущий трек/следующий трек/перемотка и регулятор громкости. Мне не хватает( Но разработчику всё равно спасибо.
I am using the paid version of MonkeyMote (v. 1.7.2)
Right now only the foobar version supports browsing by folder, sorry. I may add this feature in the future for other players, including AIMP.As long as your music files are tagged properly, you should be able to find them, though.
If you're having trouble using MonkeyMote, wish to report a bug or suggest a new feature, please email Support (support@monkeymote.com) or send a message via Facebook. Support requests should include a detailed error description and mention which media player and device you are using.
I am using MonkeyMote v1.2.2 on my PC with MonkeyMote v1.7.7 (paid version on Android phone) from the Google App Store.The problem is that the EQ on Aimp in Windows, & the EQ in the Remote have different frequency channels, resulting in a mismatch of most sliders (eg. moving the 4k slider in the Remote moves the 2k slider in Aimp).Also, any saved Profiles do apply correctly in Aimp, but do not display correctly in the Remote.Also (& most annoyingly) any manual movement of any slider (even the horizontal "Preamp" slider itself) results in the actual Preamp slider in Aimp going to 0, with no way at all to move it back where you want it, even using a profile leaves it at 0.Please Advise!
Thanks for reporting this. Please update both the AIMP 5 plugin and the Android app and let me know if that fixes the problems.
On AIMP5 Windows, MonkeyMote says that there's a new update 1.2.3 but even if i go to https://www.monkeymote.com/download and download "AIMP 5 package", it keep saying there's a new version (1.2.3)
Plugin download has been updated now, sorry.
А контролировать менеджер очереди с помощью этого плагина можно как-нибудь?