Страница 2 из 3: « 1 [2] 3 »
IronMaster
VIP Developer
Регистрация: 16.5.06 Сообщений: 1135 Репутация: 8514 Откуда: Пермь
#11 [20.07.10, 09:16] Re: DB3210 - Drawing on player possible - developers needed
mc_kibel писал:
typedef struct { wchar_t *fname; wchar_t *fpath; char *MIME; wchar_t *extension; }BOOK_PLAYER_TRACK_DESC_3210;
maybe it's FILEITEM structure?
K700->W810->W850->W705 & W995 (cid81) ==========WMZ307721639637 WMR675285842893 Спасибо за пожертвования:Resp , ploik , BanditNN , AlexTin , polza , romanchenko , Ryabchik , Ax , [b]Desp
KrasH
VIP Developer
Регистрация: 12.10.07 Сообщений: 993 Репутация: 3014 Откуда: Шахты
#12 [20.07.10, 11:51] Re: DB3210 - Drawing on player possible - developers needed
Итак,нормальная структура в студию:
Ну и функция для получения пути/имени файла:
Ну и код простенького эльфа,использующего эту функцию
Код:
int main() { wchar_t path[255],name[255],info[255]; BOOK * MusicApplicationBook = FindBook(isAudioPlayerBook()); if (MusicApplicationBook) { if (MusicApplication_GetCurrentTrackPN(MusicApplicationBook,path,name)) { snwprintf(info,255,L"Current Track\nPath: %ls\nName: %ls",path,name); MessageBox(EMPTY_SID,Str2ID(info,0,SID_ANY_LEN),NOIMAGE,1,0,0); } } return 0; };
Скрин эльфа (спасибо
Oganyan-Arthur ):
http://upwap.ru/957551
Samsung GT-I9000 Galaxy S SE C510 R1FA035 + M2 1Gb + HPM-82 WMR: 248608836491 WMZ: 305377005044 Спасибо mazhor (1500wmr),polza (600wmr), & to other(~1100wmr)
Спасибо сказали: blacklizard, mc_kibel, CleverUser, anarkes, farid, a6b6
IronMaster
VIP Developer
Регистрация: 16.5.06 Сообщений: 1135 Репутация: 8514 Откуда: Пермь
#13 [20.07.10, 15:05] Re: DB3210 - Drawing on player possible - developers needed
mc_kibel писал:
Functions in LibraryDLL for getting mp3 tags are so slow :( Animation is about 5-7 fps...
i specially tested this functions.
it takes about 2-4 ms. And about 80% of this time takes "MetaData_Desc_Create".
it's too slow???
Plus this functions can get tags from many media formats, not only mp3
K700->W810->W850->W705 & W995 (cid81) ==========WMZ307721639637 WMR675285842893 Спасибо за пожертвования:Resp , ploik , BanditNN , AlexTin , polza , romanchenko , Ryabchik , Ax , [b]Desp
Спасибо сказали: blacklizard, mc_kibel, farid
mc_kibel
Patcher/Elfmaker
Регистрация: 19.6.08 Сообщений: 210 Репутация: 1819 Откуда: Poland
#14 [20.07.10, 17:09] Re: DB3210 - Drawing on player possible - developers needed
IronMaster пишет:
mc_kibel писал:
Functions in LibraryDLL for getting mp3 tags are so slow :( Animation is about 5-7 fps...
i specially tested this functions.
it takes about 2-4 ms. And about 80% of this time takes "MetaData_Desc_Create".
it's too slow???
Plus this functions can get tags from many media formats, not only mp3
Sorry, something different is a problem, not this functions
- animation is really fast with only one GC_PutChar and without DrawStrings. I will take a look at this little bit deeper.
IronMaster пишет:
mc_kibel писал:
typedef struct { wchar_t *fname; wchar_t *fpath; char *MIME; wchar_t *extension; }BOOK_PLAYER_TRACK_DESC_3210;
maybe it's FILEITEM structure?
I'm not sure:
int * FSTAT seems to be ok, but under this, there's int * DRMHandle, it's a pointer and it should be 0x50......, but in dump it is zero:
KrasH - Good job
Thanks
MO_oC
Elfmaker
Регистрация: 2.9.10 Сообщений: 30 Репутация: 538
#15 [02.10.10, 10:31] Re: DB3210 - Drawing on player possible - developers needed
virtual void* unk_0x2C(); -> virtual int GetTags(int track_id,int bufsize,wchar_t* artist,wchar_t* album,wchar_t* title); virtual void* unk_0x30(); -> virtual int GetFullInfo(int track_id,int bufsize,wchar_t* artist,wchar_t* album,wchar_t* title,wchar_t* filename,TIME_int* fulltime,TIME_int* curtime,char* unk1,char* unk2); [ Редактировано MO_oC в 3.10.10 15:41 ]
blacklizard
Patchmaster
Регистрация: 22.7.08 Сообщений: 347 Репутация: 2213
#16 [18.10.10, 16:19] Re: DB3210 - Drawing on player possible - developers needed
Код:
class CMusicServer : public IUnknown { public: virtual void* unk_0x10(); virtual void* unk_0x14(); virtual void* unk_0x18(); virtual void* unk_0x1C(); virtual void* unk_0x20(); virtual void* unk_0x24(); virtual void* unk_0x28(); virtual int GetTags(int track_id,int bufsize,wchar_t* artist,wchar_t* album,wchar_t* title); virtual int GetFullInfo(int track_id,int bufsize,wchar_t* artist,wchar_t* album,wchar_t* title,wchar_t* filename,TIME_int* fulltime,TIME_int* ResumePosition,TBool* HaveAlbumArt,TBool* IsRealMediaFile); virtual int GetTrackFullpath(wchar_t track_id,int bufsize,wchar_t *buf); virtual int GetAlbumArt(int track_id,int bufsize,wchar_t* filename,int* Offset,int* Size,int* Type/*1=Jpeg,2=Gif,3=Png,4=Bmp,5=None,6=Embedded*/,TBool* IsDRMProtected); virtual int GetState(char* State); virtual int Play(int track_id); virtual int Pause(void); virtual int FastFoward(void); virtual int Rewind(void); virtual void* unk_0x50(); virtual int Previous(void); virtual int SetElapsedTime(TIME time); virtual int GetElapsedTime(TIME* time); virtual int SetWindowMode(char mode); virtual int SetStarted(TBool started); virtual int SetStereoWidening(TBool enable); virtual int EnableEqualizer(void); virtual int DisableEqualizer(void); virtual int EqualizerGain_Set(int band,int level); };
Respect: mc_kibel, moedjs, myrzeug, den_po, IronMaster
MO_oC
Elfmaker
Регистрация: 2.9.10 Сообщений: 30 Репутация: 538
#17 [23.10.10, 21:35] Re: DB3210 - Drawing on player possible - developers needed
blacklizard ,
Код:
class IShell: public IUnknown { public: virtual int method0(); virtual int method1(); virtual int method2(); virtual int method3(); virtual int IShell_CreateInstance(PUUID cid, PUUID iid, void** pInterface); }; UUID CID_byte_15A15484={0x9, 0xE5, 0x76, 0x91, 0x7F, 0x36, 0x4B, 0x59, 0x82,0xB9, 0x89, 0x19, 0xEA, 0x18, 0xB6, 0xF8}; UUID IID_byte_15A55040={0xAE, 0x67, 0x65, 0x71, 0xB3, 0x99, 0x44, 0xBE, 0xA5,0xF4, 0xE6, 0x96, 0xCA, 0x63, 0x18, 0x6B}; class ISomeThing: public IUnknown { public: virtual int method0(void * ,void ** ); virtual int method1(); }; IShell * pIShell = NULL; ISomeThing * pISomeThing = NULL; IMusicServer * pIMusicServer = NULL; OSE_GetShell(PPINTERFACE(&pIShell)); if(pIShell) { pIShell->IShell_CreateInstance(&CID_byte_15A15484,&IID_byte_15A55040,PPINTERFACE(&pISomeThing)); if(pISomeThing) { pISomeThing->method0(pIShell,PPINTERFACE(&pIMusicServer)); if(pIMusicServer) { wchar_t filename[128]; pIMusicServer->GetTrackFullpath(1,128,filename); MessageBox(EMPTY_SID,Str2ID(filename,0,0xFFFF),NOIMAGE,1,NULL,NULL); pIMusicServer->Release(); } pISomeThing->Release(); } pIShell->Release(); }
this class only work with the music going, so I think it is better to get its pointer by audiobook.
[ Редактировано MO_oC в 24.10.10 02:44 ]
Спасибо сказали: blacklizard
blacklizard
Patchmaster
Регистрация: 22.7.08 Сообщений: 347 Репутация: 2213
#18 [23.10.10, 21:55] Re: DB3210 - Drawing on player possible - developers needed
MO_oC , thanks for the code. 0x15A15484 is for what FW? And how did you managed to find this offset? Thanks in advance
Respect: mc_kibel, moedjs, myrzeug, den_po, IronMaster
den_po
Developer/Admin
Регистрация: 27.3.06 Сообщений: 3279 Репутация: 10763 Откуда: Чебоксары
#19 [23.10.10, 23:20] Re: DB3210 - Drawing on player possible - developers needed
blacklizard , man, this is just a varname. the code above contains UUID you need Добавлено 23.10.10 23:24 MO_oC , as far as i understand your ISomeThing is IMusicServer_Manager
promt is better than google translate
Спасибо сказали: MO_oC
MO_oC
Elfmaker
Регистрация: 2.9.10 Сообщений: 30 Репутация: 538
#20 [24.10.10, 05:14] Re: DB3210 - Drawing on player possible - developers needed
blacklizard , I get the offset from LR, then reseach it.
Страница 2 из 3: « 1 [2] 3 »
Похожие темы
Вы не можете начинать темы. Вы не можете редактировать свои сообщения. Вы не можете создавать опросы. Вы не можете вкладывать файлы в сообщения. Вы не можете отвечать на сообщения. Вы не можете удалять свои сообщения. Вы не можете голосовать.