Audio interface USB Mass Storage Services.
This function should be connected to the audio interface to give access to the mass storage audio player If you use this routines then you don't must use the other FileSystem routine provide in nav_auto.h, navigation.h, file.h, playlist.h
Copyright (c) 2009-2018 Microchip Technology Inc. and its subsidiaries.
#include "conf_audio_player.h"
#include "conf_explorer.h"
#include <LIB_CTRLACCESS>
#include <LIB_MEM>
#include "file.h"
#include "navigation.h"
#include "play_list.h"
#include "nav_filterlist.h"
#include "nav_automatic.h"
#include "ai_usb_ms.h"
Data Structures | |
struct | navigator_context_t |
Macros | |
#define | EX_RETRY_COUNT 1 |
#define | PLAYLIST_FILE_EXT PL_FILE_EXT |
Functions | |
bool | ai_usb_ms_audio_context_restore (void *p, ai_async_status_t *cmd_ai_status) |
Restore a audio context (eventualy restart play). More... | |
void * | ai_usb_ms_audio_context_save (uint8_t *status, uint16_t *size, ai_async_status_t *cmd_ai_status) |
Give complete audio context (player state, play time, repeat, shuffle, file played, explorer mode ) More... | |
bool | ai_usb_ms_audio_ctrl_ffw (uint32_t u32_duration, ai_async_status_t *cmd_ai_status) |
Fast Forward. More... | |
bool | ai_usb_ms_audio_ctrl_frw (uint32_t u32_duration, ai_async_status_t *cmd_ai_status) |
Fast Rewind. More... | |
bool | ai_usb_ms_audio_ctrl_pause (ai_async_status_t *cmd_ai_status) |
Pause the current audio file. More... | |
bool | ai_usb_ms_audio_ctrl_resume (ai_async_status_t *cmd_ai_status) |
Resume the play of the current audio file. More... | |
bool | ai_usb_ms_audio_ctrl_start_ffw (ai_async_status_t *cmd_ai_status) |
Start Fast Forward. More... | |
bool | ai_usb_ms_audio_ctrl_start_frw (ai_async_status_t *cmd_ai_status) |
Start Fast Rewind. More... | |
Ai_player_flag_t | ai_usb_ms_audio_ctrl_status (ai_async_status_t *cmd_ai_status) |
Return the current status of player. More... | |
bool | ai_usb_ms_audio_ctrl_stop (ai_async_status_t *cmd_ai_status) |
Stop the player. More... | |
bool | ai_usb_ms_audio_ctrl_stop_ffw_frw (ai_async_status_t *cmd_ai_status) |
Stop FastForward/FastRewind. More... | |
uint32_t | ai_usb_ms_audio_ctrl_time (ai_async_status_t *cmd_ai_status) |
Return current time played (ms) More... | |
bool | ai_usb_ms_audio_nav_eof_occur (ai_async_status_t *cmd_ai_status) |
Start next file. More... | |
Ai_explorer_mode | ai_usb_ms_audio_nav_expmode_get (ai_async_status_t *cmd_ai_status) |
This function returns the mode used. More... | |
void | ai_usb_ms_audio_nav_expmode_set (Ai_explorer_mode exp_mode, ai_async_status_t *cmd_ai_status) |
This function selects the loop mode. More... | |
uint16_t | ai_usb_ms_audio_nav_file_info_album (char **sz_album, ai_async_status_t *cmd_ai_status) |
Return album of current song file selected. More... | |
uint16_t | ai_usb_ms_audio_nav_file_info_artist (char **sz_artist, ai_async_status_t *cmd_ai_status) |
Return artist of current song file selected. More... | |
uint32_t | ai_usb_ms_audio_nav_file_info_duration (ai_async_status_t *cmd_ai_status) |
Return duration of current song file selected. More... | |
uint16_t | ai_usb_ms_audio_nav_file_info_genre (char **sz_genre, ai_async_status_t *cmd_ai_status) |
Return genre of current song file selected. More... | |
void * | ai_usb_ms_audio_nav_file_info_image (ai_image_size_t *size, ai_async_status_t *cmd_ai_status) |
Returns a pointer and image information of the embedded image of the selected track. More... | |
uint16_t | ai_usb_ms_audio_nav_file_info_title (char **sz_title, ai_async_status_t *cmd_ai_status) |
Return title of current song file selected. More... | |
uint32_t | ai_usb_ms_audio_nav_file_info_track (ai_async_status_t *cmd_ai_status) |
Return track of current song file selected. More... | |
uint32_t | ai_usb_ms_audio_nav_file_info_type (ai_async_status_t *cmd_ai_status) |
Return the type of the song for the selected file. More... | |
St_ai_info_version | ai_usb_ms_audio_nav_file_info_version (ai_async_status_t *cmd_ai_status) |
Return the version of the metadata storage method used for the selected file. More... | |
uint16_t | ai_usb_ms_audio_nav_file_info_year (ai_async_status_t *cmd_ai_status) |
Return year of current song file selected. More... | |
uint16_t | ai_usb_ms_audio_nav_getname (char **string, ai_async_status_t *cmd_ai_status) |
Get name of current file played. More... | |
uint16_t | ai_usb_ms_audio_nav_getpos (ai_async_status_t *cmd_ai_status) |
Give the position of play file. More... | |
static bool | ai_usb_ms_audio_nav_mov (bool b_direction, ai_async_status_t *cmd_ai_status) |
Go to previous or next file to play. More... | |
uint16_t | ai_usb_ms_audio_nav_nb (ai_async_status_t *cmd_ai_status) |
Number of song file present in current directory played or the number of file present in playlist played. More... | |
bool | ai_usb_ms_audio_nav_next (ai_async_status_t *cmd_ai_status) |
Go to next file to play. More... | |
bool | ai_usb_ms_audio_nav_playfile (ai_async_status_t *cmd_ai_status) |
Start the play of current file selected in File System navigation. More... | |
bool | ai_usb_ms_audio_nav_previous (ai_async_status_t *cmd_ai_status) |
Go to previous file to play. More... | |
Ai_repeat_mode | ai_usb_ms_audio_nav_repeat_get (ai_async_status_t *cmd_ai_status) |
Get repeat mode. More... | |
void | ai_usb_ms_audio_nav_repeat_set (Ai_repeat_mode repeat_mode, ai_async_status_t *cmd_ai_status) |
Set repeat mode. More... | |
bool | ai_usb_ms_audio_nav_setpos (uint16_t u16_pos, ai_async_status_t *cmd_ai_status) |
Set audio navigation at a position. More... | |
Ai_shuffle_mode | ai_usb_ms_audio_nav_shuffle_get (ai_async_status_t *cmd_ai_status) |
This function return the shuffle mode used. More... | |
void | ai_usb_ms_audio_nav_shuffle_set (Ai_shuffle_mode shuffle, ai_async_status_t *cmd_ai_status) |
This function selects the shuffle mode. More... | |
ai_device_status_t | ai_usb_ms_get_device_status (ai_async_status_t *cmd_ai_status) |
Tells if a device is connected or not. More... | |
uint16_t | ai_usb_ms_get_product_id (ai_async_status_t *cmd_ai_status) |
Here is the list of the SYNCHRONOUS functions. More... | |
uint16_t | ai_usb_ms_get_serial_number (char **sz_sn, ai_async_status_t *cmd_ai_status) |
Return the serial number of the connected USB mass storage device. More... | |
uint16_t | ai_usb_ms_get_vendor_id (ai_async_status_t *cmd_ai_status) |
Return the vendor ID of the connected USB mass storage device. More... | |
void | ai_usb_ms_init (void) |
Initialize the Mass Storage Audio Interface. More... | |
void | ai_usb_ms_init_drive (void) |
bool | ai_usb_ms_nav_dir_cd (ai_async_status_t *cmd_ai_status) |
Enters in the current directory selected in file list filtered. More... | |
bool | ai_usb_ms_nav_dir_gotoparent (ai_async_status_t *cmd_ai_status) |
Goes to the parent directory of current directory corresponding at file list filtered. More... | |
uint16_t | ai_usb_ms_nav_dir_name (char **string, ai_async_status_t *cmd_ai_status) |
Return the file name of current parent directory. More... | |
uint16_t | ai_usb_ms_nav_dir_nb (ai_async_status_t *cmd_ai_status) |
Computes the number of directories in the filtered list. More... | |
bool | ai_usb_ms_nav_dir_root (ai_async_status_t *cmd_ai_status) |
Initializes the file list filtered on the root directory. More... | |
uint64_t | ai_usb_ms_nav_drive_free_space (ai_async_status_t *cmd_ai_status) |
Get the free space in bytes available on the device. More... | |
uint8_t | ai_usb_ms_nav_drive_get (ai_async_status_t *cmd_ai_status) |
Returns the number of the selected drive. More... | |
bool | ai_usb_ms_nav_drive_mount (ai_async_status_t *cmd_ai_status) |
Mounts the current drive selected. More... | |
uint8_t | ai_usb_ms_nav_drive_nb (ai_async_status_t *cmd_ai_status) |
Return the number of drives. More... | |
bool | ai_usb_ms_nav_drive_set (uint8_t u8_number, ai_async_status_t *cmd_ai_status) |
Selects the drive in current navigator but do not mount it. More... | |
uint64_t | ai_usb_ms_nav_drive_total_space (ai_async_status_t *cmd_ai_status) |
Get the total space in bytes available on the device. More... | |
bool | ai_usb_ms_nav_file_goto (uint32_t u32_newpos, ai_async_status_t *cmd_ai_status) |
Goes to a position in the filtered list. More... | |
uint16_t | ai_usb_ms_nav_file_info_album (char **sz_album, ai_async_status_t *cmd_ai_status) |
Return album of current file selected. More... | |
uint16_t | ai_usb_ms_nav_file_info_artist (char **sz_artist, ai_async_status_t *cmd_ai_status) |
Return artist of current file selected. More... | |
uint32_t | ai_usb_ms_nav_file_info_duration (ai_async_status_t *cmd_ai_status) |
Return duration of current file selected. More... | |
uint16_t | ai_usb_ms_nav_file_info_genre (char **sz_genre, ai_async_status_t *cmd_ai_status) |
Return genre of current file selected. More... | |
void * | ai_usb_ms_nav_file_info_image (ai_image_size_t *size, ai_async_status_t *cmd_ai_status) |
Returns a pointer and image information of the embedded image of the selected track. More... | |
uint16_t | ai_usb_ms_nav_file_info_title (char **sz_title, ai_async_status_t *cmd_ai_status) |
Return title of current file selected. More... | |
uint32_t | ai_usb_ms_nav_file_info_track (ai_async_status_t *cmd_ai_status) |
Return track of current file selected. More... | |
uint32_t | ai_usb_ms_nav_file_info_type (ai_async_status_t *cmd_ai_status) |
Return the type of the song for the selected file. More... | |
St_ai_info_version | ai_usb_ms_nav_file_info_version (ai_async_status_t *cmd_ai_status) |
Return the version of the metadata storage method used for the selected file. More... | |
uint16_t | ai_usb_ms_nav_file_info_year (ai_async_status_t *cmd_ai_status) |
Return year of current file selected. More... | |
bool | ai_usb_ms_nav_file_isdir (ai_async_status_t *cmd_ai_status) |
Returns the type of the selected file. More... | |
uint16_t | ai_usb_ms_nav_file_name (char **string, ai_async_status_t *cmd_ai_status) |
Return the file name of current file selected. More... | |
uint16_t | ai_usb_ms_nav_file_nb (ai_async_status_t *cmd_ai_status) |
Computes the number of files in the filtered list. More... | |
bool | ai_usb_ms_nav_file_next (ai_async_status_t *cmd_ai_status) |
Goes to the next file of the filtered list. More... | |
uint32_t | ai_usb_ms_nav_file_pos (ai_async_status_t *cmd_ai_status) |
Returns the position of selected file in list filtered. More... | |
bool | ai_usb_ms_nav_file_previous (ai_async_status_t *cmd_ai_status) |
Goes to the previous file of the filtered list. More... | |
bool | ai_usb_ms_nav_getplayfile (ai_async_status_t *cmd_ai_status) |
Position the File system navigation on the file play. More... | |
uint16_t | ai_usb_ms_nav_playlist_nb (ai_async_status_t *cmd_ai_status) |
Computes the number of playlists in the filtered list. More... | |
void | ai_usb_ms_new_connection (void) |
Routine to notify the Audio Interface of a new device connection. More... | |
bool | ai_usb_ms_read_string (bool(*fcnt_read_string)(FS_STRING, uint8_t), char **string, uint16_t *size_string) |
uint16_t | ai_usb_ms_song_read_info (uint16_t(*fcnt_song_read_info)(FS_STRING *, ai_async_status_t *), char **string, ai_async_status_t *cmd_ai_status) |
static bool | ai_usb_ms_specific_async_cmd_task (cmd_ai_id_t cmd_id, uint32_t u32_in, uint16_t *u16_arg_size, char **u8_arg_in, uint32_t *u32_out, uint64_t *u64_out, ai_async_status_t *cmd_ai_status) |
static bool | ai_usb_ms_specific_audio_nav_get_folder_name (char **string, uint8_t u8_size_max, ai_async_status_t *cmd_ai_status) |
static bool | ai_usb_ms_specific_audio_nav_playlist_play_link (uint16_t u16_link_pos, ai_async_status_t *cmd_ai_status) |
Play the link inside the currently selected playlist. More... | |
static uint16_t | ai_usb_ms_specific_nav_get_next_playlist_pos (uint16_t u16_start_file_pos, ai_async_status_t *cmd_ai_status) |
Return the next playlist on the current directory. More... | |
static bool | ai_usb_ms_specific_nav_getplaylistfile (ai_async_status_t *cmd_ai_status) |
static void | ai_usb_ms_specific_restore_navigator (navigator_context_t *nav_ctx) |
static bool | ai_usb_ms_specific_restore_navigator_ex (uint8_t navigator_id, navigator_context_t **nav_ctx, ai_async_status_t *cmd_ai_status) |
static void | ai_usb_ms_specific_save_navigator (navigator_context_t *nav_ctx) |
static bool | ai_usb_ms_specific_save_navigator_ex (uint8_t navigator_id, navigator_context_t **nav_ctx, ai_async_status_t *cmd_ai_status) |
#define EX_RETRY_COUNT 1 |
Referenced by ai_usb_ms_nav_dir_nb(), ai_usb_ms_nav_file_nb(), and ai_usb_ms_nav_playlist_nb().
#define PLAYLIST_FILE_EXT PL_FILE_EXT |
Referenced by ai_usb_ms_init().
bool ai_usb_ms_audio_context_restore | ( | void * | ctx, |
ai_async_status_t * | cmd_ai_status | ||
) |
Restore a audio context (eventualy restart play).
ctx | structure with all information about context to restore |
References ai_usb_ms_audio_ctrl_ffw(), ai_usb_ms_audio_ctrl_pause(), ai_usb_ms_audio_ctrl_resume(), ai_usb_ms_audio_ctrl_stop(), ai_usb_ms_audio_nav_repeat_set(), ai_usb_ms_audio_nav_shuffle_set(), St_audio_ctx::b_valid, CMD_DONE, CMD_ERROR, CMD_EXECUTING, ctx, St_audio_ctx::exp_mode, St_audio_ctx::index, nav_file_checkext(), nav_gotoindex(), nav_select(), navauto_close(), navauto_open(), navauto_setmode(), Ai_player_flag_t::new_file_played, PLAYER_FLAG_FFW, PLAYER_FLAG_FRW, PLAYER_FLAG_PAUSE, PLAYER_FLAG_PLAY, St_audio_ctx::repeat, St_audio_ctx::shuffle, Ai_player_flag_t::status, Ai_player_flag_t::status_fast, St_audio_ctx::u16_pos_level, St_audio_ctx::u32_file_pos, St_audio_ctx::u32_time, and St_audio_ctx::u8_audio_ctrl_status.
void* ai_usb_ms_audio_context_save | ( | uint8_t * | status, |
uint16_t * | size, | ||
ai_async_status_t * | cmd_ai_status | ||
) |
Give complete audio context (player state, play time, repeat, shuffle, file played, explorer mode )
References ai_usb_ms_audio_ctrl_status(), ai_usb_ms_audio_ctrl_time(), St_audio_ctx::b_valid, CMD_DONE, ctx, St_audio_ctx::exp_mode, fat_check_device(), file_getpos(), g_ai_usb_ms_b_audio_file, g_ai_usb_ms_repeat_mode, g_ai_usb_ms_shuffle_mode, g_navauto_b_playlist, g_navauto_u16_dir_level, g_navauto_u16_pos, St_audio_ctx::index, nav_getindex(), nav_select(), navauto_getmode(), Ai_player_flag_t::new_directory, Ai_player_flag_t::new_file_played, NULL, St_audio_ctx::repeat, St_audio_ctx::shuffle, St_audio_ctx::u16_pos_level, St_audio_ctx::u32_file_pos, St_audio_ctx::u32_time, and St_audio_ctx::u8_audio_ctrl_status.
bool ai_usb_ms_audio_ctrl_ffw | ( | uint32_t | u32_duration, |
ai_async_status_t * | cmd_ai_status | ||
) |
Fast Forward.
u32_duration | duration of FFW in seconds |
References CMD_DONE, CMD_ERROR, file_format_supported, i, is_file_playing, PLAYER_FLAG_FFW, and Ai_player_flag_t::status_fast.
Referenced by ai_usb_ms_audio_context_restore(), and ai_usb_ms_audio_ctrl_start_ffw().
bool ai_usb_ms_audio_ctrl_frw | ( | uint32_t | u32_duration, |
ai_async_status_t * | cmd_ai_status | ||
) |
Fast Rewind.
u32_duration | duration of FRW in seconds |
References ai_usb_ms_audio_ctrl_resume(), ai_usb_ms_audio_ctrl_stop(), ai_usb_ms_audio_ctrl_time(), CMD_DONE, CMD_ERROR, CMD_EXECUTING, file_format_supported, i, is_file_playing, PLAYER_FLAG_FRW, PLAYER_FLAG_STOP, Ai_player_flag_t::status, and Ai_player_flag_t::status_fast.
Referenced by ai_usb_ms_audio_ctrl_start_frw().
bool ai_usb_ms_audio_ctrl_pause | ( | ai_async_status_t * | cmd_ai_status | ) |
Pause the current audio file.
References CMD_DONE, CMD_ERROR, file_format_supported, i, is_file_playing, PLAYER_FLAG_PAUSE, and Ai_player_flag_t::status.
Referenced by ai_usb_ms_audio_context_restore(), ai_usb_ms_audio_nav_eof_occur(), ai_usb_ms_audio_nav_mov(), ai_usb_ms_audio_nav_playfile(), and ai_usb_ms_specific_audio_nav_playlist_play_link().
bool ai_usb_ms_audio_ctrl_resume | ( | ai_async_status_t * | cmd_ai_status | ) |
Resume the play of the current audio file.
u32_time_start | time at start the play |
References ai_usb_ms_filter_songfile, CMD_DONE, CMD_ERROR, file_format_supported, fs_g_nav, FS_NO_SEL, i, index, is_audio_file, is_file_playing, nav_file_checkext(), nav_filelist_get(), nav_getindex(), nav_gotoindex(), nav_select(), navauto_close(), navauto_open(), Ai_player_flag_t::new_file_played, PLAYER_FLAG_NORMAL, PLAYER_FLAG_PLAY, Ai_player_flag_t::status, Ai_player_flag_t::status_fast, and Fs_management::u16_pos_filterlist.
Referenced by ai_usb_ms_audio_context_restore(), ai_usb_ms_audio_ctrl_frw(), ai_usb_ms_audio_nav_eof_occur(), ai_usb_ms_audio_nav_expmode_set(), ai_usb_ms_audio_nav_mov(), ai_usb_ms_audio_nav_playfile(), ai_usb_ms_audio_nav_setpos(), and ai_usb_ms_specific_audio_nav_playlist_play_link().
bool ai_usb_ms_audio_ctrl_start_ffw | ( | ai_async_status_t * | cmd_ai_status | ) |
bool ai_usb_ms_audio_ctrl_start_frw | ( | ai_async_status_t * | cmd_ai_status | ) |
Ai_player_flag_t ai_usb_ms_audio_ctrl_status | ( | ai_async_status_t * | cmd_ai_status | ) |
Return the current status of player.
References CMD_DONE, CMD_ERROR, fat_check_device(), nav_select(), Ai_player_flag_t::new_directory, and Ai_player_flag_t::new_file_played.
Referenced by ai_usb_ms_audio_context_save().
bool ai_usb_ms_audio_ctrl_stop | ( | ai_async_status_t * | cmd_ai_status | ) |
Stop the player.
References CMD_DONE, CMD_EXECUTING, file_format_supported, i, is_file_playing, PLAYER_FLAG_STOP, and Ai_player_flag_t::status.
Referenced by ai_usb_ms_audio_context_restore(), ai_usb_ms_audio_ctrl_frw(), ai_usb_ms_audio_nav_expmode_set(), ai_usb_ms_audio_nav_mov(), ai_usb_ms_audio_nav_playfile(), ai_usb_ms_audio_nav_setpos(), and ai_usb_ms_specific_audio_nav_playlist_play_link().
bool ai_usb_ms_audio_ctrl_stop_ffw_frw | ( | ai_async_status_t * | cmd_ai_status | ) |
uint32_t ai_usb_ms_audio_ctrl_time | ( | ai_async_status_t * | cmd_ai_status | ) |
Return current time played (ms)
References CMD_DONE.
Referenced by ai_usb_ms_audio_context_save(), and ai_usb_ms_audio_ctrl_frw().
bool ai_usb_ms_audio_nav_eof_occur | ( | ai_async_status_t * | cmd_ai_status | ) |
Start next file.
References ai_usb_ms_audio_ctrl_pause(), ai_usb_ms_audio_ctrl_resume(), AUDIO_REPEAT_ALL, AUDIO_REPEAT_FOLDER, AUDIO_REPEAT_TRACK, AUDIO_SHUFFLE_FOLDER, b_previous_direction, Navauto_mov_state::bitfield, CMD_DONE, CMD_ERROR, Navauto_mov_bitfield_status::folder_change, FS_FIND_NEXT, nav_select(), navauto_close(), navauto_mov(), NAVAUTO_MOV_OK, NAVAUTO_MOV_OK_LOOP, NAVAUTO_MOV_OPTS_NONE, NAVAUTO_MOV_OPTS_STAY_CURRENT_DIR, Ai_player_flag_t::new_directory, Ai_player_flag_t::new_file_played, and Navauto_mov_state::status.
Ai_explorer_mode ai_usb_ms_audio_nav_expmode_get | ( | ai_async_status_t * | cmd_ai_status | ) |
This function returns the mode used.
References AUDIO_EXPLORER_MODE_DIRONLY, AUDIO_EXPLORER_MODE_DIRSUB, AUDIO_EXPLORER_MODE_DISK, AUDIO_EXPLORER_MODE_DISKS, CMD_DONE, nav_select(), navauto_getmode(), NAVAUTO_MODE_DIRONLY, NAVAUTO_MODE_DIRSUB, NAVAUTO_MODE_DISK, and NAVAUTO_MODE_DISKS.
void ai_usb_ms_audio_nav_expmode_set | ( | Ai_explorer_mode | exp_mode, |
ai_async_status_t * | cmd_ai_status | ||
) |
This function selects the loop mode.
exp_mode | mode to select (NAVAUTO_MODE_DISKS, NAVAUTO_MODE_DIRONLY, NAVAUTO_MODE_DIRSUB) |
References ai_usb_ms_audio_ctrl_resume(), ai_usb_ms_audio_ctrl_stop(), AUDIO_EXPLORER_MODE_DIRONLY, AUDIO_EXPLORER_MODE_DIRSUB, AUDIO_EXPLORER_MODE_DISK, AUDIO_EXPLORER_MODE_DISKS, CMD_DONE, CMD_EXECUTING, nav_select(), NAVAUTO_MODE_DIRONLY, NAVAUTO_MODE_DIRSUB, NAVAUTO_MODE_DISK, NAVAUTO_MODE_DISKS, navauto_setmode(), PLAYER_FLAG_PAUSE, PLAYER_FLAG_STOP, and Ai_player_flag_t::status.
uint16_t ai_usb_ms_audio_nav_file_info_album | ( | char ** | sz_album, |
ai_async_status_t * | cmd_ai_status | ||
) |
Return album of current song file selected.
string | pointer to store the string allocated by the routine |
References ai_usb_ms_nav_file_info_album(), and ai_usb_ms_song_read_info().
uint16_t ai_usb_ms_audio_nav_file_info_artist | ( | char ** | sz_artist, |
ai_async_status_t * | cmd_ai_status | ||
) |
Return artist of current song file selected.
string | pointer to store the string allocated by the routine |
References ai_usb_ms_nav_file_info_artist(), and ai_usb_ms_song_read_info().
uint32_t ai_usb_ms_audio_nav_file_info_duration | ( | ai_async_status_t * | cmd_ai_status | ) |
Return duration of current song file selected.
References ai_usb_ms_nav_file_info_duration(), CMD_DONE, CMD_ERROR, nav_getindex(), nav_gotoindex(), and nav_select().
uint16_t ai_usb_ms_audio_nav_file_info_genre | ( | char ** | sz_genre, |
ai_async_status_t * | cmd_ai_status | ||
) |
Return genre of current song file selected.
string | pointer to store the string allocated by the routine |
References ai_usb_ms_nav_file_info_genre(), and ai_usb_ms_song_read_info().
void* ai_usb_ms_audio_nav_file_info_image | ( | ai_image_size_t * | size, |
ai_async_status_t * | cmd_ai_status | ||
) |
Returns a pointer and image information of the embedded image of the selected track.
size | The desire width and height of the decoded image. |
References CMD_DONE, file_format_supported, i, is_metadata_compatible_file, nav_select(), NULL, and read_metadata_image.
uint16_t ai_usb_ms_audio_nav_file_info_title | ( | char ** | sz_title, |
ai_async_status_t * | cmd_ai_status | ||
) |
Return title of current song file selected.
string | pointer to store the string allocated by the routine |
References ai_usb_ms_nav_file_info_title(), and ai_usb_ms_song_read_info().
uint32_t ai_usb_ms_audio_nav_file_info_track | ( | ai_async_status_t * | cmd_ai_status | ) |
Return track of current song file selected.
References ai_usb_ms_nav_file_info_track(), CMD_DONE, CMD_ERROR, nav_getindex(), nav_gotoindex(), and nav_select().
uint32_t ai_usb_ms_audio_nav_file_info_type | ( | ai_async_status_t * | cmd_ai_status | ) |
Return the type of the song for the selected file.
References AUDIO_TYPE_MP1, AUDIO_TYPE_MP2, AUDIO_TYPE_MP3, AUDIO_TYPE_UNKNOWN, AUDIO_TYPE_WAV, CMD_DONE, nav_file_checkext(), and nav_select().
St_ai_info_version ai_usb_ms_audio_nav_file_info_version | ( | ai_async_status_t * | cmd_ai_status | ) |
Return the version of the metadata storage method used for the selected file.
References ai_usb_ms_nav_file_info_version(), CMD_DONE, CMD_ERROR, St_ai_info_version::digit, St_ai_info_version::major, nav_getindex(), nav_gotoindex(), and nav_select().
uint16_t ai_usb_ms_audio_nav_file_info_year | ( | ai_async_status_t * | cmd_ai_status | ) |
Return year of current song file selected.
References ai_usb_ms_nav_file_info_year(), CMD_DONE, CMD_ERROR, nav_getindex(), nav_gotoindex(), and nav_select().
uint16_t ai_usb_ms_audio_nav_getname | ( | char ** | string, |
ai_async_status_t * | cmd_ai_status | ||
) |
Get name of current file played.
string | buffer to fill |
References ai_usb_ms_read_string(), CMD_DONE, nav_file_getname(), and nav_select().
uint16_t ai_usb_ms_audio_nav_getpos | ( | ai_async_status_t * | cmd_ai_status | ) |
Give the position of play file.
References CMD_DONE, nav_select(), and navauto_getpos().
|
static |
Go to previous or next file to play.
References ai_async_context_pop(), ai_async_context_push(), ai_async_update_cmd_status(), ai_usb_ms_audio_ctrl_pause(), ai_usb_ms_audio_ctrl_resume(), ai_usb_ms_audio_ctrl_stop(), AUDIO_REPEAT_FOLDER, AUDIO_REPEAT_TRACK, AUDIO_SHUFFLE_FOLDER, Navauto_mov_state::bitfield, CMD_DONE, CMD_ERROR, CMD_EXECUTING, ctx, file_format_supported, Navauto_mov_bitfield_status::folder_change, i, is_file_playing, nav_select(), navauto_close(), navauto_mov(), NAVAUTO_MOV_OK, NAVAUTO_MOV_OK_LOOP, NAVAUTO_MOV_OPTS_NONE, NAVAUTO_MOV_OPTS_STAY_CURRENT_DIR, Ai_player_flag_t::new_directory, Ai_player_flag_t::new_file_played, PLAYER_FLAG_PAUSE, state, ai_async_context_t::state, Navauto_mov_state::status, Ai_player_flag_t::status, and ai_async_context_t::status.
Referenced by ai_usb_ms_audio_nav_next(), and ai_usb_ms_audio_nav_previous().
uint16_t ai_usb_ms_audio_nav_nb | ( | ai_async_status_t * | cmd_ai_status | ) |
Number of song file present in current directory played or the number of file present in playlist played.
References CMD_DONE, nav_select(), and navauto_getnb().
bool ai_usb_ms_audio_nav_next | ( | ai_async_status_t * | cmd_ai_status | ) |
Go to next file to play.
References ai_usb_ms_audio_nav_mov(), and FS_FIND_NEXT.
Referenced by ai_usb_ms_audio_nav_shuffle_set().
bool ai_usb_ms_audio_nav_playfile | ( | ai_async_status_t * | cmd_ai_status | ) |
Start the play of current file selected in File System navigation.
References ai_usb_ms_audio_ctrl_pause(), ai_usb_ms_audio_ctrl_resume(), ai_usb_ms_audio_ctrl_stop(), CMD_DONE, CMD_ERROR, CMD_EXECUTING, index, nav_file_checkext(), nav_getindex(), nav_gotoindex(), nav_select(), navauto_close(), navauto_open(), Ai_player_flag_t::new_directory, Ai_player_flag_t::new_file_played, and Fs_index::u32_cluster_sel_dir.
bool ai_usb_ms_audio_nav_previous | ( | ai_async_status_t * | cmd_ai_status | ) |
Go to previous file to play.
References ai_usb_ms_audio_nav_mov(), and FS_FIND_PREV.
Ai_repeat_mode ai_usb_ms_audio_nav_repeat_get | ( | ai_async_status_t * | cmd_ai_status | ) |
Get repeat mode.
References CMD_DONE, and g_ai_usb_ms_repeat_mode.
void ai_usb_ms_audio_nav_repeat_set | ( | Ai_repeat_mode | repeat_mode, |
ai_async_status_t * | cmd_ai_status | ||
) |
Set repeat mode.
repeat_mode | repeat mode to select (AUDIO_REPEAT_OFF, AUDIO_REPEAT_TRACK, AUDIO_REPEAT_FOLDER, AUDIO_REPEAT_ALL) |
References CMD_DONE.
Referenced by ai_usb_ms_audio_context_restore().
bool ai_usb_ms_audio_nav_setpos | ( | uint16_t | , |
ai_async_status_t * | cmd_ai_status | ||
) |
Set audio navigation at a position.
u16_pos | position to set |
References ai_usb_ms_audio_ctrl_resume(), ai_usb_ms_audio_ctrl_stop(), CMD_DONE, CMD_ERROR, CMD_EXECUTING, nav_select(), navauto_setpos(), PLAYER_FLAG_PAUSE, PLAYER_FLAG_STOP, status, and Ai_player_flag_t::status.
Ai_shuffle_mode ai_usb_ms_audio_nav_shuffle_get | ( | ai_async_status_t * | cmd_ai_status | ) |
This function return the shuffle mode used.
References CMD_DONE, g_ai_usb_ms_shuffle_mode, and nav_select().
void ai_usb_ms_audio_nav_shuffle_set | ( | Ai_shuffle_mode | shuffle, |
ai_async_status_t * | cmd_ai_status | ||
) |
This function selects the shuffle mode.
shuffle | shuffle mode to select (AUDIO_SHUFFLE_OFF, AUDIO_SHUFFLE_FOLDER, AUDIO_SHUFFLE_ALL) |
References ai_usb_ms_audio_nav_next(), AUDIO_SHUFFLE_ALL, AUDIO_SHUFFLE_FOLDER, AUDIO_SHUFFLE_OFF, CMD_DONE, nav_select(), NAVAUTO_RAND_OFF, NAVAUTO_RAND_ON, and navauto_setrand().
Referenced by ai_usb_ms_audio_context_restore().
ai_device_status_t ai_usb_ms_get_device_status | ( | ai_async_status_t * | cmd_ai_status | ) |
Tells if a device is connected or not.
References AI_DEVICE_STATUS_CONNECTED, AI_DEVICE_STATUS_ERROR, AI_DEVICE_STATUS_NOT_PRESENT, AI_DEVICE_STATUS_NOT_SUPPORTED, AI_DEVICE_STATUS_PRESENT, CMD_DONE, g_usb_mode, Is_host_attached, Is_host_error, Is_host_powered, ms_connected, and USB_MODE_HOST.
uint16_t ai_usb_ms_get_product_id | ( | ai_async_status_t * | cmd_ai_status | ) |
uint16_t ai_usb_ms_get_serial_number | ( | char ** | sz_sn, |
ai_async_status_t * | cmd_ai_status | ||
) |
Return the serial number of the connected USB mass storage device.
sz_sn | a string to store the serial number |
References CMD_DONE.
uint16_t ai_usb_ms_get_vendor_id | ( | ai_async_status_t * | cmd_ai_status | ) |
void ai_usb_ms_init | ( | void | ) |
Initialize the Mass Storage Audio Interface.
filter_file | list of the files that will be filtered in the disk navigator. |
filter_songfile | list of the audio files that will be filtered in the audio navigator. |
filter_file | list of the playlist files that will be filtered in the audio navigator. |
References file_ext, file_format_supported, i, NULL, and PLAYLIST_FILE_EXT.
void ai_usb_ms_init_drive | ( | void | ) |
Set the file extension filters to the drive
References nav_filterlist_setfilter(), nav_reset(), nav_select(), and navauto_init().
Referenced by ai_sd_mmc_nav_drive_set(), and ai_usb_ms_nav_drive_set().
bool ai_usb_ms_nav_dir_cd | ( | ai_async_status_t * | cmd_ai_status | ) |
Enters in the current directory selected in file list filtered.
@return false in case of error, see global value "fs_g_status" for more detail @return true otherwise
//! After this routine the file list change and contains the files of new current directory, //! also no file is selected //!
References CMD_DONE, CMD_ERROR, nav_dir_cd(), nav_filterflat_cd(), nav_filterlist_reset(), nav_select(), and status.
bool ai_usb_ms_nav_dir_gotoparent | ( | ai_async_status_t * | cmd_ai_status | ) |
Goes to the parent directory of current directory corresponding at file list filtered.
@return false in case of error, see global value "fs_g_status" for more detail @return true otherwise
//! After, the file list change and contains the files of parent directory, //! also the file selected is the old directory. //! "Filter list" is a list of files filtered and directories present in current directory //!
References CMD_DONE, CMD_ERROR, nav_filterflat_gotoparent(), nav_filterlist_gotoparent(), nav_select(), and status.
uint16_t ai_usb_ms_nav_dir_name | ( | char ** | string, |
ai_async_status_t * | cmd_ai_status | ||
) |
Return the file name of current parent directory.
string | pointer to store the string allocated by the routine |
References ai_usb_ms_read_string(), CMD_DONE, nav_dir_name(), and nav_select().
uint16_t ai_usb_ms_nav_dir_nb | ( | ai_async_status_t * | cmd_ai_status | ) |
Computes the number of directories in the filtered list.
@return number of directories present in list filtered
//! "Filter list" is a list of files filtered and directories present in current directory //!
References CMD_DONE, CMD_EXECUTING, EX_RETRY_COUNT, FL_DIR, g_Cmd_state, g_u16_count, nav_filterlist_nb_ex(), nav_select(), and NULL.
bool ai_usb_ms_nav_dir_root | ( | ai_async_status_t * | cmd_ai_status | ) |
Initializes the file list filtered on the root directory.
References CMD_DONE, CMD_ERROR, nav_dir_root(), nav_select(), and status.
uint64_t ai_usb_ms_nav_drive_free_space | ( | ai_async_status_t * | cmd_ai_status | ) |
Get the free space in bytes available on the device.
References CMD_DONE, FS_SIZE_OF_SECTOR, nav_partition_freespace(), and nav_select().
uint8_t ai_usb_ms_nav_drive_get | ( | ai_async_status_t * | cmd_ai_status | ) |
Returns the number of the selected drive.
References CMD_DONE, MAX_LUN, nav_drive_get(), and nav_select().
bool ai_usb_ms_nav_drive_mount | ( | ai_async_status_t * | cmd_ai_status | ) |
Mounts the current drive selected.
@return false in case of error, see global value "fs_g_status" for more detail @return true otherwise
//! If the option FS_MULTI_PARTITION is disable //! then the mount routine select the first partition supported by file system. <br> //! After mount, the file list corresponding at the files and directories present in ROOT directory //!
References CMD_DONE, CMD_ERROR, nav_partition_mount(), nav_select(), and status.
uint8_t ai_usb_ms_nav_drive_nb | ( | ai_async_status_t * | cmd_ai_status | ) |
Return the number of drives.
References CMD_DONE, MAX_LUN, nav_drive_nb(), and nav_select().
bool ai_usb_ms_nav_drive_set | ( | uint8_t | u8_number, |
ai_async_status_t * | cmd_ai_status | ||
) |
Selects the drive in current navigator but do not mount it.
u8_number | device number (0 to nav_drive_nb()-1 ) |
References ai_usb_ms_init_drive(), CMD_DONE, CMD_ERROR, MAX_LUN, nav_drive_set(), and status.
uint64_t ai_usb_ms_nav_drive_total_space | ( | ai_async_status_t * | cmd_ai_status | ) |
Get the total space in bytes available on the device.
References CMD_DONE, FS_SIZE_OF_SECTOR, nav_partition_space(), and nav_select().
bool ai_usb_ms_nav_file_goto | ( | uint32_t | u32_newpos, |
ai_async_status_t * | cmd_ai_status | ||
) |
Goes to a position in the filtered list.
@param u16_newpos new position to select in file list, 0 is the first position @return false in case of error, see global value "fs_g_status" for more detail @return true otherwise
//! "Filter list" is a list of files filtered and directories present in current directory //!
References CMD_DONE, CMD_ERROR, CMD_EXECUTING, nav_filterflat_goto(), nav_filterlist_goto(), nav_select(), and status.
uint16_t ai_usb_ms_nav_file_info_album | ( | char ** | sz_album, |
ai_async_status_t * | cmd_ai_status | ||
) |
Return album of current file selected.
string | pointer to store the string allocated by the routine |
References ai_usb_ms_read_string(), CMD_DONE, file_format_supported, i, is_metadata_compatible_file, nav_select(), and read_metadata_album.
Referenced by ai_usb_ms_audio_nav_file_info_album().
uint16_t ai_usb_ms_nav_file_info_artist | ( | char ** | sz_artist, |
ai_async_status_t * | cmd_ai_status | ||
) |
Return artist of current file selected.
string | pointer to store the string allocated by the routine |
References ai_usb_ms_read_string(), CMD_DONE, file_format_supported, i, is_metadata_compatible_file, nav_select(), and read_metadata_artist.
Referenced by ai_usb_ms_audio_nav_file_info_artist().
uint32_t ai_usb_ms_nav_file_info_duration | ( | ai_async_status_t * | cmd_ai_status | ) |
Return duration of current file selected.
References CMD_DONE, file_format_supported, i, is_metadata_compatible_file, nav_select(), and read_metadata_duration.
Referenced by ai_usb_ms_audio_nav_file_info_duration().
uint16_t ai_usb_ms_nav_file_info_genre | ( | char ** | sz_genre, |
ai_async_status_t * | cmd_ai_status | ||
) |
Return genre of current file selected.
string | pointer to store the string allocated by the routine |
References ai_usb_ms_read_string(), CMD_DONE, file_format_supported, i, is_metadata_compatible_file, nav_select(), and read_metadata_genre.
Referenced by ai_usb_ms_audio_nav_file_info_genre().
void* ai_usb_ms_nav_file_info_image | ( | ai_image_size_t * | size, |
ai_async_status_t * | cmd_ai_status | ||
) |
Returns a pointer and image information of the embedded image of the selected track.
size | The desire width and height of the decoded image. |
References CMD_DONE, file_format_supported, i, is_metadata_compatible_file, nav_select(), NULL, and read_metadata_image.
uint16_t ai_usb_ms_nav_file_info_title | ( | char ** | sz_title, |
ai_async_status_t * | cmd_ai_status | ||
) |
Return title of current file selected.
string | pointer to store the string allocated by the routine |
References ai_usb_ms_read_string(), CMD_DONE, file_format_supported, i, is_metadata_compatible_file, nav_select(), and read_metadata_title.
Referenced by ai_usb_ms_audio_nav_file_info_title().
uint32_t ai_usb_ms_nav_file_info_track | ( | ai_async_status_t * | cmd_ai_status | ) |
Return track of current file selected.
References CMD_DONE, file_format_supported, i, is_metadata_compatible_file, nav_select(), and read_metadata_track.
Referenced by ai_usb_ms_audio_nav_file_info_track().
uint32_t ai_usb_ms_nav_file_info_type | ( | ai_async_status_t * | cmd_ai_status | ) |
Return the type of the song for the selected file.
References AUDIO_TYPE_MP1, AUDIO_TYPE_MP2, AUDIO_TYPE_MP3, AUDIO_TYPE_UNKNOWN, AUDIO_TYPE_WAV, CMD_DONE, nav_file_checkext(), and nav_select().
St_ai_info_version ai_usb_ms_nav_file_info_version | ( | ai_async_status_t * | cmd_ai_status | ) |
Return the version of the metadata storage method used for the selected file.
References CMD_DONE, St_ai_info_version::digit, file_format_supported, i, is_metadata_compatible_file, St_ai_info_version::major, nav_select(), and read_metadata_version.
Referenced by ai_usb_ms_audio_nav_file_info_version().
uint16_t ai_usb_ms_nav_file_info_year | ( | ai_async_status_t * | cmd_ai_status | ) |
Return year of current file selected.
References CMD_DONE, file_format_supported, i, is_metadata_compatible_file, nav_select(), and read_metadata_year.
Referenced by ai_usb_ms_audio_nav_file_info_year().
bool ai_usb_ms_nav_file_isdir | ( | ai_async_status_t * | cmd_ai_status | ) |
Returns the type of the selected file.
References CMD_DONE, nav_file_isdir(), nav_select(), and status.
uint16_t ai_usb_ms_nav_file_name | ( | char ** | string, |
ai_async_status_t * | cmd_ai_status | ||
) |
Return the file name of current file selected.
string | pointer to store the string allocated by the routine |
References ai_usb_ms_read_string(), CMD_DONE, nav_file_getname(), and nav_select().
uint16_t ai_usb_ms_nav_file_nb | ( | ai_async_status_t * | cmd_ai_status | ) |
Computes the number of files in the filtered list.
@return number of files present in list filtered
//! "Filter list" is a list of files filtered and directories present in current directory //!
References ai_usb_ms_filter_songfile, CMD_DONE, CMD_EXECUTING, EX_RETRY_COUNT, FL_FILE, g_Cmd_state, g_u16_count, nav_filterflat_nb(), nav_filterlist_nb_ex(), and nav_select().
bool ai_usb_ms_nav_file_next | ( | ai_async_status_t * | cmd_ai_status | ) |
Goes to the next file of the filtered list.
References CMD_DONE, nav_filterlist_next(), nav_select(), and status.
uint32_t ai_usb_ms_nav_file_pos | ( | ai_async_status_t * | cmd_ai_status | ) |
Returns the position of selected file in list filtered.
@return position of selected file in current directory, 0 is the first position @return FS_NO_SEL, in case of no file selected
//! "Filter list" is a list of files filtered and directories present in current directory //!
References CMD_DONE, nav_filterflat_get(), nav_filterlist_get(), and nav_select().
bool ai_usb_ms_nav_file_previous | ( | ai_async_status_t * | cmd_ai_status | ) |
Goes to the previous file of the filtered list.
References CMD_DONE, nav_filterlist_previous(), nav_select(), and status.
bool ai_usb_ms_nav_getplayfile | ( | ai_async_status_t * | cmd_ai_status | ) |
Position the File system navigation on the file play.
References CMD_DONE, CMD_ERROR, index, nav_dir_root(), nav_filterlist_gotoindex(), nav_getindex(), nav_select(), and status.
uint16_t ai_usb_ms_nav_playlist_nb | ( | ai_async_status_t * | cmd_ai_status | ) |
Computes the number of playlists in the filtered list.
@return number of playlists present in list filtered
//! "Filter list" is a list of files filtered and directories present in current directory //!
References CMD_DONE, CMD_EXECUTING, EX_RETRY_COUNT, FL_FILE, g_Cmd_state, g_u16_count, nav_filterlist_nb_ex(), and nav_select().
void ai_usb_ms_new_connection | ( | void | ) |
Routine to notify the Audio Interface of a new device connection.
References AUDIO_SHUFFLE_OFF, file_format_supported, g_Cmd_state, i, init, NAVAUTO_RAND_OFF, NAVAUTO_RAND_ON, navauto_setrand(), and NULL.
Referenced by ai_sd_mmc_nav_drive_set(), and host_mass_storage_task().
bool ai_usb_ms_read_string | ( | bool(*)(FS_STRING, uint8_t) | fcnt_read_string, |
char ** | string, | ||
uint16_t * | size_string | ||
) |
References nav_string_length_disable(), nav_string_length_enable(), NULL, and status.
Referenced by ai_usb_ms_audio_nav_getname(), ai_usb_ms_nav_dir_name(), ai_usb_ms_nav_file_info_album(), ai_usb_ms_nav_file_info_artist(), ai_usb_ms_nav_file_info_genre(), ai_usb_ms_nav_file_info_title(), and ai_usb_ms_nav_file_name().
uint16_t ai_usb_ms_song_read_info | ( | uint16_t(*)(FS_STRING *, ai_async_status_t *) | fcnt_song_read_info, |
char ** | string, | ||
ai_async_status_t * | cmd_ai_status | ||
) |
|
static |
References ai_usb_ms_specific_audio_nav_get_folder_name(), ai_usb_ms_specific_audio_nav_playlist_play_link(), ai_usb_ms_specific_nav_get_next_playlist_pos(), ai_usb_ms_specific_nav_getplaylistfile(), ai_usb_ms_specific_restore_navigator_ex(), ai_usb_ms_specific_save_navigator_ex(), CMD_AI_USB_MS_AUDIO_NAV_GET_FOLDER_NAME, CMD_AI_USB_MS_AUDIO_NAV_PLAYLIST_PLAY_LINK, CMD_AI_USB_MS_AUDIO_NAV_RESTORE, CMD_AI_USB_MS_AUDIO_NAV_SAVE, CMD_AI_USB_MS_NAV_GET_NEXT_PLAYLIST_POS, CMD_AI_USB_MS_NAV_GET_PLAYLIST_FILE, CMD_AI_USB_MS_NAV_PLAYLIST_LINK_NAME, CMD_AI_USB_MS_NAV_PLAYLIST_LINK_NB, CMD_AI_USB_MS_NAV_RESTORE, CMD_AI_USB_MS_NAV_SAVE, CMD_AI_USB_MS_PLAYLIST_NAV_RESTORE, and CMD_AI_USB_MS_PLAYLIST_NAV_SAVE.
|
static |
References ai_usb_ms_specific_restore_navigator(), ai_usb_ms_specific_save_navigator(), CMD_DONE, CMD_ERROR, file_close(), nav_dir_name(), nav_select(), and status.
Referenced by ai_usb_ms_specific_async_cmd_task().
|
static |
Play the link inside the currently selected playlist.
u16_link_pos | The position in the playlist of the link to select |
References ai_usb_ms_audio_ctrl_pause(), ai_usb_ms_audio_ctrl_resume(), ai_usb_ms_audio_ctrl_stop(), CMD_DONE, CMD_ERROR, CMD_EXECUTING, index, nav_copy(), nav_getindex(), nav_select(), navauto_close(), navauto_getpos(), navauto_getrand(), navauto_open(), NAVAUTO_RAND_OFF, navauto_setrand(), Ai_player_flag_t::new_directory, Ai_player_flag_t::new_file_played, and Fs_index::u32_cluster_sel_dir.
Referenced by ai_usb_ms_specific_async_cmd_task().
|
static |
Return the next playlist on the current directory.
u16_start_file_pos | The starting file position where to start searching for the next playlist. This value has to be set to ((uint16_t) -1) at the beginning of the list. |
References CMD_DONE, CMD_ERROR, nav_file_checkext(), nav_file_isdir(), nav_filterlist_get(), nav_filterlist_goto(), nav_filterlist_next(), and nav_select().
Referenced by ai_usb_ms_specific_async_cmd_task().
|
static |
References CMD_DONE, CMD_ERROR, index, nav_filterlist_gotoindex(), nav_getindex(), nav_select(), pl_main_isopen(), and status.
Referenced by ai_usb_ms_specific_async_cmd_task().
|
static |
References fs_g_nav, navigator_context_t::fs_g_nav, fs_g_nav_entry, navigator_context_t::fs_g_nav_entry, fs_g_nav_fast, navigator_context_t::fs_g_nav_fast, navigator_context_t::navigator_id, pl_g_list_is_open, navigator_context_t::pl_g_list_is_open, pl_g_u16_list_sel, navigator_context_t::pl_g_u16_list_sel, pl_g_u16_list_size, and navigator_context_t::pl_g_u16_list_size.
Referenced by ai_usb_ms_specific_audio_nav_get_folder_name(), and ai_usb_ms_specific_restore_navigator_ex().
|
static |
References ai_usb_ms_specific_restore_navigator(), CMD_DONE, nav_get(), nav_select(), and NULL.
Referenced by ai_usb_ms_specific_async_cmd_task().
|
static |
References fs_g_nav, navigator_context_t::fs_g_nav, fs_g_nav_entry, navigator_context_t::fs_g_nav_entry, fs_g_nav_fast, navigator_context_t::fs_g_nav_fast, nav_get(), pl_g_list_is_open, navigator_context_t::pl_g_list_is_open, pl_g_u16_list_sel, navigator_context_t::pl_g_u16_list_sel, pl_g_u16_list_size, and navigator_context_t::pl_g_u16_list_size.
Referenced by ai_usb_ms_specific_audio_nav_get_folder_name(), and ai_usb_ms_specific_save_navigator_ex().
|
static |
References ai_usb_ms_specific_save_navigator(), CMD_DONE, nav_get(), and nav_select().
Referenced by ai_usb_ms_specific_async_cmd_task().
const ai_fct_set ai_usb_ms_fct_set |
Referenced by ai_init().
char* ai_usb_ms_filter_file = NULL |
char* ai_usb_ms_filter_playlist = NULL |
char* ai_usb_ms_filter_songfile = NULL |
Referenced by ai_usb_ms_audio_ctrl_resume(), and ai_usb_ms_nav_file_nb().
|
static |
Referenced by ai_usb_ms_audio_nav_eof_occur().
void(* clear_play_file_notification)(void) |
const char* file_ext |
Referenced by ai_usb_ms_init().
const { ... } file_format_supported[] |
Referenced by ai_usb_ms_audio_ctrl_ffw(), ai_usb_ms_audio_ctrl_frw(), ai_usb_ms_audio_ctrl_pause(), ai_usb_ms_audio_ctrl_resume(), ai_usb_ms_audio_ctrl_stop(), ai_usb_ms_audio_nav_file_info_image(), ai_usb_ms_audio_nav_mov(), ai_usb_ms_init(), ai_usb_ms_nav_file_info_album(), ai_usb_ms_nav_file_info_artist(), ai_usb_ms_nav_file_info_duration(), ai_usb_ms_nav_file_info_genre(), ai_usb_ms_nav_file_info_image(), ai_usb_ms_nav_file_info_title(), ai_usb_ms_nav_file_info_track(), ai_usb_ms_nav_file_info_version(), ai_usb_ms_nav_file_info_year(), and ai_usb_ms_new_connection().
true if a file is selected in audio navigator
Referenced by ai_usb_ms_audio_context_save().
Ai_repeat_mode g_ai_usb_ms_repeat_mode = AI_DEFAULT_REPEAT_MODE |
repeat mode used
Referenced by ai_usb_ms_audio_context_save(), and ai_usb_ms_audio_nav_repeat_get().
Ai_shuffle_mode g_ai_usb_ms_shuffle_mode = AI_DEFAULT_SHUFFLE_MODE |
shuffle mode used
Referenced by ai_usb_ms_audio_context_save(), and ai_usb_ms_audio_nav_shuffle_get().
|
static |
Referenced by ai_usb_ms_nav_dir_nb(), ai_usb_ms_nav_file_nb(), ai_usb_ms_nav_playlist_nb(), and ai_usb_ms_new_connection().
uint32_t g_player_currentTime_ms |
Referenced by play_wav().
uint32_t g_player_duration |
Referenced by play_wav().
Ai_player_flag_t g_player_flag |
bool g_player_flag_error |
uint32_t g_player_target_file_pos |
uint8_t g_smooth_com_cnt |
uint16_t g_u16_count |
Referenced by ai_usb_ms_nav_dir_nb(), ai_usb_ms_nav_file_nb(), and ai_usb_ms_nav_playlist_nb().
void(* init)(void) |
Referenced by ai_usb_ms_new_connection(), and netif_add().
bool(* is_audio_file)(void) |
Referenced by ai_usb_ms_audio_ctrl_resume().
bool(* is_file_playing)(void) |
bool(* is_metadata_compatible_file)(void) |
Referenced by ai_usb_ms_audio_nav_file_info_image(), ai_usb_ms_nav_file_info_album(), ai_usb_ms_nav_file_info_artist(), ai_usb_ms_nav_file_info_duration(), ai_usb_ms_nav_file_info_genre(), ai_usb_ms_nav_file_info_image(), ai_usb_ms_nav_file_info_title(), ai_usb_ms_nav_file_info_track(), ai_usb_ms_nav_file_info_version(), and ai_usb_ms_nav_file_info_year().
Referenced by ai_usb_ms_nav_file_info_album().
Referenced by ai_usb_ms_nav_file_info_artist().
uint32_t(* read_metadata_duration)(void) |
Referenced by ai_usb_ms_nav_file_info_duration().
Referenced by ai_usb_ms_nav_file_info_genre().
void*(* read_metadata_image)(ai_image_size_t *) |
Referenced by ai_usb_ms_audio_nav_file_info_image(), and ai_usb_ms_nav_file_info_image().
Referenced by ai_usb_ms_nav_file_info_title().
uint32_t(* read_metadata_track)(void) |
Referenced by ai_usb_ms_nav_file_info_track().
St_ai_info_version(* read_metadata_version)(void) |
Referenced by ai_usb_ms_nav_file_info_version().
uint16_t(* read_metadata_year)(void) |
Referenced by ai_usb_ms_nav_file_info_year().
void(* set_play_file_notification)(void) |