#include <string.h>
#include "conf_explorer.h"
#include "navigation.h"
#include "file.h"
#include "reader_txt.h"
#include "play_list.h"
Macros | |
#define | PL_READONLY true |
Enumerations | |
enum | E_pl_type { E_PL_M3U, E_PL_PLS, E_PL_SMP } |
Type of playlist file. More... | |
Functions | |
bool | pl_add (const FS_STRING sz_filterext, uint8_t u8_mode) |
This function adds files in play list. More... | |
bool | pl_main_close (void) |
This function closes the play list and selects this one in current navigator. More... | |
bool | pl_main_ismodify (void) |
This function checks if the play list file is modified. More... | |
bool | pl_main_isopen (void) |
This function checks if a play list file is already opened. More... | |
bool | pl_main_modify (void) |
This function creates a copy of the play list in case of a restore action. More... | |
bool | pl_main_new (const FS_STRING sz_name, bool b_undo) |
This function creates a new empty play list file. More... | |
bool | pl_main_open (bool b_undo) |
This function opens the current selected file in the current navigator. More... | |
bool | pl_main_readline (readline_opt_t opt, uint8_t id_nav, FS_STRING *sz_path, uint16_t *u16_size_line) |
This function reads and checks the next line. More... | |
bool | pl_main_save (void) |
This function saves the play list file. More... | |
bool | pl_nav_eol (void) |
This function checks the end of the play list. More... | |
uint16_t | pl_nav_getnbfile (void) |
Return the number of files in play list. More... | |
uint16_t | pl_nav_getpos (void) |
Return the position in the play list. More... | |
bool | pl_nav_readentry (uint16_t u16_position, FS_STRING *sz_path, uint16_t *u16_size_line) |
This function read the playlist's entry at a specific position. More... | |
bool | pl_nav_setpos (uint16_t u16_position) |
This function goes to a position in the play list. More... | |
bool | pl_rem_dead (void) |
This function remove the dead file in the list. More... | |
bool | pl_rem_sel (void) |
This function removes the selected file in the list. More... | |
bool | pl_rem_sel_all (void) |
This function removes all files in the list. More... | |
bool | pl_sel_isvalid (void) |
This function tests the valid path in list. More... | |
Variables | |
_MEM_TYPE_SLOW_ Fs_index | copyfile_index |
File system index on the copy file of play list file (undo option must be ENABLE) More... | |
bool | pl_g_list_is_modify |
If true then the current play list file is modified but it is not saved. More... | |
bool | pl_g_list_is_open = false |
play list file is opened More... | |
bool | pl_g_list_is_readonly |
If false then the play list modification is authorized. More... | |
_MEM_TYPE_SLOW_ E_pl_type | pl_g_list_type |
Type of the play list. More... | |
bool | pl_g_list_undo |
If true then authorize to copy the play list file in case of an undo on modifications. More... | |
_MEM_TYPE_SLOW_ uint16_t | pl_g_u16_list_sel = 0 |
Current file selected in play list (0= no file selected, 1= first file) More... | |
_MEM_TYPE_SLOW_ uint16_t | pl_g_u16_list_size = 0 |
Number of file included in play list. More... | |
#define PL_READONLY true |
enum E_pl_type |
This function adds files in play list.
@param sz_filterext add file only corresponding to the extension filter @param u8_mode PL_ADD_FILE, PL_ADD_DIR, PL_ADD_SUBDIR @return false in case of error, see global value "fs_g_status" for more detail @return true otherwise
//! It is possible to select a file or all files in a directory //!
bool pl_main_close | ( | void | ) |
This function closes the play list and selects this one in current navigator.
References _MEM_TYPE_SLOW_, copyfile_index, file_close(), FS_NAME_GET, index, Is_unicode, nav_file_del(), nav_file_name(), nav_file_rename(), nav_get(), nav_getindex(), nav_gotoindex(), nav_select(), nav_string_length_disable(), nav_string_length_enable(), NULL, pl_g_list_is_modify, pl_g_list_is_open, pl_g_list_undo, and pl_main_isopen().
Referenced by navauto_close().
bool pl_main_ismodify | ( | void | ) |
This function checks if the play list file is modified.
References pl_g_list_is_modify.
bool pl_main_isopen | ( | void | ) |
This function checks if a play list file is already opened.
References FS_ERR_PL_NOT_OPEN, fs_g_status, and pl_g_list_is_open.
Referenced by ai_usb_ms_specific_nav_getplaylistfile(), pl_main_close(), pl_main_open(), pl_main_save(), and pl_sel_isvalid().
bool pl_main_modify | ( | void | ) |
This function creates a copy of the play list in case of a restore action.
Referenced by pl_rem_sel(), and pl_rem_sel_all().
This function creates a new empty play list file.
sz_name | contains the file name (ASCII or UNICODE ) |
b_undo | true to authorize the undo feature |
This function opens the current selected file in the current navigator.
b_undo | true to authorize the undo feature |
References E_PL_M3U, E_PL_PLS, E_PL_SMP, file_eof(), nav_copy(), nav_file_checkext(), nav_file_isreadonly(), nav_filelist_reset(), nav_get(), nav_select(), NULL, pl_g_list_is_modify, pl_g_list_is_open, pl_g_list_is_readonly, pl_g_list_type, pl_g_list_undo, pl_g_u16_list_sel, pl_g_u16_list_size, pl_main_isopen(), pl_main_readline(), PL_MAIN_READLINE_OPT_CHECKLINE, reader_txt_beg(), and reader_txt_open().
Referenced by navauto_open(), and pl_main_save().
bool pl_main_readline | ( | readline_opt_t | opt, |
uint8_t | id_nav, | ||
FS_STRING * | sz_path, | ||
uint16_t * | u16_size_line | ||
) |
This function reads and checks the next line.
opt | PL_MAIN_READLINE_OPT_CHECKLINE to check the next line in the file. PL_MAIN_READLINE_OPT_READSTRING to read the string in the text file. PL_MAIN_READLINE_OPT_GOTOPATH to read, check and goto the path. |
id_nav | ID navigator to update with the selected file (ignore if b_gotopatch == false) |
sz_path | Address of the string returned. It is used only if PL_MAIN_READLINE_OPT_READSTRING or PL_MAIN_READLINE_OPT_GOTOPATH options are specified. |
u16_size_line | The length of the path. If this parameter is NULL, then the length is not returned. |
References E_PL_M3U, E_PL_PLS, E_PL_SMP, file_getpos(), file_seek(), FS_SEEK_SET, FS_UNICODE, Is_unicode, nav_copy(), nav_filelist_reset(), nav_select(), nav_setcwd(), NULL, pl_g_list_type, PL_MAIN_READLINE_OPT_CHECKLINE, PL_MAIN_READLINE_OPT_READSTRING, and reader_txt_get_line().
Referenced by pl_main_open(), pl_nav_readentry(), and pl_nav_setpos().
bool pl_main_save | ( | void | ) |
This function saves the play list file.
References _MEM_TYPE_SLOW_, copyfile_index, file_close(), index, nav_file_del(), nav_get(), nav_getindex(), nav_gotoindex(), nav_select(), pl_g_list_is_modify, pl_g_list_is_open, pl_g_list_undo, pl_g_u16_list_sel, pl_main_isopen(), pl_main_open(), and pl_nav_setpos().
bool pl_nav_eol | ( | void | ) |
This function checks the end of the play list.
References pl_g_u16_list_sel, and pl_g_u16_list_size.
uint16_t pl_nav_getnbfile | ( | void | ) |
Return the number of files in play list.
References pl_g_u16_list_size.
Referenced by navauto_mov_playlist(), and navauto_open().
uint16_t pl_nav_getpos | ( | void | ) |
Return the position in the play list.
References pl_g_u16_list_sel.
Referenced by navauto_mov_playlist().
This function read the playlist's entry at a specific position.
u16_position | Position in play list. |
sz_path | The address of the string where is stored the information. |
u16_size_line | The length of the path. |
References file_eof(), file_getpos(), file_seek(), FS_ERR_PL_OUT_LST, fs_g_status, FS_SEEK_SET, nav_get(), nav_select(), NULL, pl_g_u16_list_sel, pl_g_u16_list_size, pl_main_readline(), PL_MAIN_READLINE_OPT_CHECKLINE, PL_MAIN_READLINE_OPT_GOTOPATH, and reader_txt_beg().
bool pl_nav_setpos | ( | uint16_t | u16_position | ) |
This function goes to a position in the play list.
u16_position | position in play list to go |
References file_eof(), FS_ERR_PL_OUT_LST, fs_g_status, nav_filelist_reset(), nav_get(), nav_select(), NULL, pl_g_u16_list_sel, pl_g_u16_list_size, pl_main_readline(), PL_MAIN_READLINE_OPT_CHECKLINE, PL_MAIN_READLINE_OPT_GOTOPATH, and reader_txt_beg().
Referenced by navauto_mov_playlist(), navauto_open(), pl_main_save(), and pl_rem_dead().
bool pl_rem_dead | ( | void | ) |
This function remove the dead file in the list.
References nav_get(), nav_gotoindex(), nav_select(), pl_g_u16_list_sel, pl_g_u16_list_size, pl_nav_setpos(), and pl_rem_sel().
bool pl_rem_sel | ( | void | ) |
This function removes the selected file in the list.
References file_putc(), file_seek(), FS_ERR_PL_OUT_LST, fs_g_status, FS_SEEK_CUR_RE, FS_SEEK_SET, nav_get(), nav_select(), pl_g_u16_list_sel, pl_g_u16_list_size, and pl_main_modify().
Referenced by pl_rem_dead().
bool pl_rem_sel_all | ( | void | ) |
This function removes all files in the list.
References file_seek(), file_set_eof(), FS_SEEK_SET, nav_get(), nav_select(), and pl_main_modify().
bool pl_sel_isvalid | ( | void | ) |
This function tests the valid path in list.
References nav_filelist_validpos(), pl_g_u16_list_sel, and pl_main_isopen().
_MEM_TYPE_SLOW_ Fs_index copyfile_index |
File system index on the copy file of play list file (undo option must be ENABLE)
Referenced by pl_main_close(), and pl_main_save().
bool pl_g_list_is_modify |
If true then the current play list file is modified but it is not saved.
Referenced by pl_main_close(), pl_main_ismodify(), pl_main_open(), and pl_main_save().
play list file is opened
Referenced by ai_usb_ms_specific_restore_navigator(), ai_usb_ms_specific_save_navigator(), pl_main_close(), pl_main_isopen(), pl_main_open(), and pl_main_save().
bool pl_g_list_is_readonly |
If false then the play list modification is authorized.
Referenced by pl_main_open().
_MEM_TYPE_SLOW_ E_pl_type pl_g_list_type |
Type of the play list.
Referenced by pl_main_open(), and pl_main_readline().
bool pl_g_list_undo |
If true then authorize to copy the play list file in case of an undo on modifications.
Referenced by pl_main_close(), pl_main_open(), and pl_main_save().
_MEM_TYPE_SLOW_ uint16_t pl_g_u16_list_sel = 0 |
Current file selected in play list (0= no file selected, 1= first file)
Referenced by ai_usb_ms_specific_restore_navigator(), ai_usb_ms_specific_save_navigator(), pl_main_open(), pl_main_save(), pl_nav_eol(), pl_nav_getpos(), pl_nav_readentry(), pl_nav_setpos(), pl_rem_dead(), pl_rem_sel(), and pl_sel_isvalid().
_MEM_TYPE_SLOW_ uint16_t pl_g_u16_list_size = 0 |
Number of file included in play list.
Referenced by ai_usb_ms_specific_restore_navigator(), ai_usb_ms_specific_save_navigator(), pl_main_open(), pl_nav_eol(), pl_nav_getnbfile(), pl_nav_readentry(), pl_nav_setpos(), pl_rem_dead(), and pl_rem_sel().