===== MediaPlayer_SoftKeys_SetAction =====
==== Синтаксис ====
void MediaPlayer_SoftKeys_SetAction( GUI* player_gui, int actionID, void (*proc)( BOOK*, GUI* ) );
==== Описание ====
Функция устанавливает действие для софткея
==== Параметры ====
* **player_gui** - указатель на структуру GUI медиаплеера
* **actionID** - id софткея для которого необходимо установить действие
* **proc** - указатель на функцию, которая будет выполнена при выборе софткея
==== Возвращаемое значение ====
нет
==== Указатель на GUI медиаплеера ====
typedef struct
{
char dummy[0x1C];
GUI* gui;
}MediaPlayerBook;
==== Пример ====
typedef struct
{
u16 unk;
u16 unk2;
wchar_t * path;
wchar_t * name;
wchar_t * MIME;
int fulltime;
} BOOK_PLAYER_TRACK_DESC;
typedef struct
{
char dummy1[0x1C];
GUI* gui;
char dummy2[0x54];
BOOK_PLAYER_TRACK_DESC * dsc;
}MediaPlayerBook;
void RunTE (BOOK*b,void*)
{
elfload(L"/usb/other/ZBin/TagEditor.elf",((MediaPlayerBook*)b)->dsc->path,((MediaPlayerBook*)b)->dsc->name,0);
}
int main()
{
GUI* mpgui;
mpgui=((MediaPlayerBook*)FindBook(isAudioPlayerBook()))->gui;
MediaPlayer_SoftKeys_SetText(mpgui,35,STR("Отправить в TE"));
MediaPlayer_SoftKeys_SetAction(mpgui,35,RunTE);
MediaPlayer_SoftKeys_SetItemAsSubItem(mpgui,21,35); // 21 - ID софткея "Файл" (2020)
MediaPlayer_SoftKeys_AddHelpStr(mpgui,35,STR("Открывает текущий трек в TagEditor.elf(редактор тегов)"));
return 0;
}
==== См. также ====
[[mediaplayer_softkeys_addhelpstr]], [[mediaplayer_softkeys_setitemassubitem]], [[mediaplayer_softkeys_settext]]