--------------------------------------------- elfcheck - простая прога, которая проверяет, используются ли в эльфах (включая эльфлоадер) функции, которых нет в либе. simple tool which checks whether there are functions used in elfs (including elfloader) that are not included in library.
Q: How use elfcheck? Q: Как использовать? R: Look this page here
saveevents.elf - сохранение евентов (EVENT)
(c) den_po
---------------------------------------------
Шаблоны эльфов для IAR Некоторые полезные для разработчиков шаблоны эльфов. На данный момент имеются: 1) Пустой эльф 2) Пустой эльф со своей книгой 3) Эльф-рисовальщик на главном экране 4) Эльф для RegFile (по сути - пустой эльф, но с дополнительными входными параметрами) 5) Эльф с графическим интерфейсом - списком 6) Эльф-патч, который можно конвертировать в *.vkp при помощи elf2vkp
blacklizard пишет: den_po, you mean by decoding UTF-8 string, we can use special characters? I don't get it. I read here but dont get it http://en.wikipedia.org/wiki/UTF-8
utf8 allows to store unicode characters as a sequence of 8bit characters. for example there is no another correct way to store any texts including cyrillic/chinese/arabic/etc characters into INI files (see manifest_GetParam function). unicode2win1251/win12512unicode/etc is a very bad way.
blacklizard пишет: By the way, can you please add this constant to SVN?
UI_MEDIAPLAYER_NEW_TRACK_EVENT
why don't you use callbacks?
zylka пишет: den_po, logbooks will reset at the entrance to contacts. My new elf based on ModifyUIPageHook (PAGE_ENTER_EVENT... also
What is the cause?
i've checked it. PB_UI_LockHandler_CheckServerLock_Page of PB_UI_LockHandlerBook kills the book, so after calling original event handler our "UIPageHook_After" gets invalid book pointer.
"after" hooks must check if the book pointer is valid before using it
Код:
int FindBookExCB_Book( BOOK* book , int* param ) { return book == (BOOK*)param; }
...
if( ! FindBookEx( FindBookExCB_Book, (int*) book ) ) return 0;
if you don't use the book pointer in your UIPageHook_After but you want to know book name you may use both UIPageHook_Before and UIPageHook_After hooks (don't use the same callback for both hooks). keep in mind a reenterability. it's better to store pointers and associated data into arrays/lists.
fixed version. new example also illustrates how to use STL
This method return the correct data when MusicApplication Book is focused. If called from standby, i returns (trackid-1)data when changing track from standby
Код:
GetFullInfo(int track_id, int bufsize, wchar_t* artist, wchar_t* album, wchar_t* title, wchar_t* filename,TMusicServer_Time* Fulltime,TMusicServer_Time* ElapsedTime,bool* HaveAlbumArt,bool* IsRealMediaFile);
Thats why i din use callback :)
Hope you can add it :)
[ Редактировано blacklizard в 12.2.11 05:57 ]
Добавлено 12.2.11 06:18
when i draw on player, it returns the correct data
den_po, you mean this method fromICBMusicServer? Код:
OnItemChanged(void statusCode,FUint32 itemIndex,TMusicServer_Time resumePosition,TMusicServer_Action currentPlayerAction,TChar* pURI,FUint32 lengthOfURI,TChar* pTitle,FUint32 lengthOfTitle,TChar* pArtist,FUint32 lengthOfArtist,TChar* pAlbum,FUint32 lengthOfAlbum,TMusicServer_Time playLength,bool containsAlbumart,bool isDRMProtected,bool isRealMediaFile,int clientData); //Notifies the client that the current item has changed in some way
I don't understand, can you show an example ?
Thanks in advance
Добавлено 12.2.11 06:34
and whenever i try to to subscribe, the phone restart. I use this from IMusicServer
Код:
Subscribe(ICBMusicServer* pICBMusicServer,u16 msgBase,int clientData,unsigned long * pSubscriptionHandle);
blacklizard, смотри IMusicServer::Start и IMusicServer::Subscribe. для начала напиши свой класс, реализующий все методы от IRoot (широко известного как IUnknown) до ICBMusicServer.
Здравствуйте. Подскажите, можно ли как-то получить указатель на структуру книги по ее имени простым способом? Или нужно перебирать все книги, например как в BookManager?
Функция поиска книг в BookManager:
Код:
void CreateBookLst( MyBOOK* myBook ) { int i, j, k, fgui; int books_cnt=0; int elfs_cnt=0; int mask = ( (int)LastExtDB() )&0xF8000000; BOOK* book; UI_APP_SESSION* session; BOOK_LIST_ITEM* elem;
Вы не можете начинать темы. Вы не можете редактировать свои сообщения. Вы не можете создавать опросы. Вы не можете вкладывать файлы в сообщения. Вы не можете отвечать на сообщения. Вы не можете удалять свои сообщения. Вы не можете голосовать.