Renamed the music control screen to music player screen and continued dev on it, not finished though
This commit is contained in:
parent
3ae5bb9bdf
commit
23d3c47374
@ -1 +0,0 @@
|
||||
#include "music_control_screen.h"
|
@ -1,25 +0,0 @@
|
||||
#ifndef MUSIC_CONTROL_SCREEN_H
|
||||
#define MUSIC_CONTROL_SCREEN_H
|
||||
|
||||
#include "lvgl.h"
|
||||
|
||||
typedef void (*SendMusicPlaybackCtrlCb_t)(void);
|
||||
|
||||
typedef struct MusicControlScreen
|
||||
{
|
||||
//Can be erased attributes
|
||||
lv_obj_t *display;
|
||||
//Should not be erased attributes
|
||||
} MusicControlScreen_t;
|
||||
|
||||
void music_control_screen_init(MusicControlScreen_t * const musicControlScreen);
|
||||
|
||||
void music_control_screen_register_BLE_command_send_cb(MusicControlScreen_t * const musicControlScreen, SendMusicPlaybackCtrlCb_t sendMusicPlaybackCtrlCb);
|
||||
|
||||
void music_control_screen_set_playing_music_title(MusicControlScreen_t * const musicControlScreen, const char *title);
|
||||
|
||||
void music_control_screen_create(MusicControlScreen_t * const musicControlScreen);
|
||||
|
||||
void music_control_screen_destroy(MusicControlScreen_t * const musicControlScreen);
|
||||
|
||||
#endif // MUSIC_CONTROL_SCREEN_H
|
@ -0,0 +1,93 @@
|
||||
#include "music_player_screen.h"
|
||||
#include "menu_screen.h"
|
||||
|
||||
static void gesture_event_cb(lv_event_t *e)
|
||||
{
|
||||
MusicPlayerScreen_t *musicPlayerScreen = e->user_data;
|
||||
|
||||
lv_dir_t gesture;
|
||||
switch(gesture = lv_indev_get_gesture_dir(lv_indev_get_act()))
|
||||
{
|
||||
case LV_DIR_LEFT:
|
||||
LV_LOG_USER("GESTURE : LEFT");
|
||||
break;
|
||||
case LV_DIR_RIGHT:
|
||||
LV_LOG_USER("GESTURE : RIGHT");
|
||||
// We create the menu screen and switch to it
|
||||
extern MenuScreen_t menuScreen;
|
||||
menu_screen_create(&menuScreen);
|
||||
lv_scr_load_anim(menuScreen.display, LV_SCR_LOAD_ANIM_MOVE_RIGHT, 400, 0, true);
|
||||
break;
|
||||
case LV_DIR_TOP:
|
||||
LV_LOG_USER("GESTURE : TOP");
|
||||
break;
|
||||
case LV_DIR_BOTTOM:
|
||||
LV_LOG_USER("GESTURE : BOTTOM");
|
||||
break;
|
||||
default:
|
||||
LV_LOG_USER("GESTURE : %u", gesture);
|
||||
}
|
||||
}
|
||||
|
||||
static void cleanup_event_cb(lv_event_t *e)
|
||||
{
|
||||
MusicPlayerScreen_t *musicPlayerScreen = e->user_data;
|
||||
music_player_screen_destroy(musicPlayerScreen);
|
||||
LV_LOG_USER("cleanup");
|
||||
}
|
||||
|
||||
void music_player_screen_init(MusicPlayerScreen_t * const musicPlayerScreen)
|
||||
{
|
||||
if(!musicPlayerScreen)
|
||||
{
|
||||
LV_LOG_ERROR("NULL pointer given !");
|
||||
return;
|
||||
}
|
||||
|
||||
memset(musicPlayerScreen, 0, sizeof(MusicPlayerScreen_t));
|
||||
}
|
||||
|
||||
void music_player_screen_register_music_playback_control_cb(MusicPlayerScreen_t * const musicPlayerScreen, MusicPlaybackCtrlCb_t musicPlaybackCtrlCb)
|
||||
{
|
||||
if(!musicPlayerScreen)
|
||||
{
|
||||
LV_LOG_ERROR("NULL pointer given !");
|
||||
return;
|
||||
}
|
||||
|
||||
musicPlayerScreen->musicPlaybackCtrlCb = musicPlaybackCtrlCb;
|
||||
}
|
||||
|
||||
void music_player_screen_create(MusicPlayerScreen_t * const musicPlayerScreen)
|
||||
{
|
||||
if(!musicPlayerScreen)
|
||||
{
|
||||
LV_LOG_ERROR("NULL pointer given !");
|
||||
return;
|
||||
}
|
||||
|
||||
if(musicPlayerScreen->display)
|
||||
{
|
||||
LV_LOG_ERROR("display should be NULL here !");
|
||||
lv_obj_del(musicPlayerScreen->display);
|
||||
musicPlayerScreen->display = NULL;
|
||||
}
|
||||
musicPlayerScreen->display = lv_obj_create(NULL);
|
||||
lv_obj_set_style_bg_color(musicPlayerScreen->display, lv_color_black(), LV_PART_MAIN);
|
||||
|
||||
//We register the event callback to handle gestures
|
||||
lv_obj_add_event_cb(musicPlayerScreen->display, &(gesture_event_cb), LV_EVENT_GESTURE, musicPlayerScreen);
|
||||
//We register the event callback to handle the cleanup
|
||||
lv_obj_add_event_cb(musicPlayerScreen->display, &(cleanup_event_cb), LV_EVENT_DELETE, musicPlayerScreen);
|
||||
}
|
||||
|
||||
void music_player_screen_destroy(MusicPlayerScreen_t * const musicPlayerScreen)
|
||||
{
|
||||
if(!musicPlayerScreen)
|
||||
{
|
||||
LV_LOG_ERROR("NULL pointer given !");
|
||||
return;
|
||||
}
|
||||
|
||||
memset(musicPlayerScreen, 0, offsetof(MusicPlayerScreen_t, musicPlaybackCtrlCb));
|
||||
}
|
@ -0,0 +1,26 @@
|
||||
#ifndef MUSIC_PLAYER_SCREEN_H
|
||||
#define MUSIC_PLAYER_SCREEN_H
|
||||
|
||||
#include "lvgl.h"
|
||||
|
||||
typedef void (*MusicPlaybackCtrlCb_t)(void);
|
||||
|
||||
typedef struct MusicPlayerScreen
|
||||
{
|
||||
//Can be erased attributes
|
||||
lv_obj_t *display;
|
||||
//Should not be erased attributes
|
||||
MusicPlaybackCtrlCb_t musicPlaybackCtrlCb;
|
||||
} MusicPlayerScreen_t;
|
||||
|
||||
void music_player_screen_init(MusicPlayerScreen_t * const musicPlayerScreen);
|
||||
|
||||
void music_player_screen_register_music_playback_control_cb(MusicPlayerScreen_t * const musicPlayerScreen, MusicPlaybackCtrlCb_t musicPlaybackCtrlCb);
|
||||
|
||||
void music_player_screen_set_playing_music_title(MusicPlayerScreen_t * const musicPlayerScreen, const char *title);
|
||||
|
||||
void music_player_screen_create(MusicPlayerScreen_t * const musicPlayerScreen);
|
||||
|
||||
void music_player_screen_destroy(MusicPlayerScreen_t * const musicPlayerScreen);
|
||||
|
||||
#endif // MUSIC_PLAYER_SCREEN_H
|
Loading…
Reference in New Issue
Block a user