00001
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037
00038
00039
00040
00041
00042
00043
00044
00045 #ifndef _PLAY_LIST_H_
00046 #define _PLAY_LIST_H_
00047
00048 #include "fs_com.h"
00049 #include "conf_explorer.h"
00050
00053 #define PL_ADD_FILE 0x00
00054 #define PL_ADD_DIR 0x01
00055 #define PL_ADD_SUBDIR 0x02
00057
00059 #define PL_FILE_EXT "m3u,pls,smp"
00060
00061
00062
00067 Bool pl_main_isopen( void );
00068
00073 Bool pl_main_ismodify( void );
00074
00083 Bool pl_main_new( const FS_STRING sz_name , Bool b_undo );
00084
00092 Bool pl_main_open( Bool b_undo );
00093
00099 Bool pl_main_save( void );
00100
00106 Bool pl_main_close( void );
00107
00113 Bool pl_main_modify( void );
00114
00115
00116
00117
00122 U16 pl_nav_getnbfile( void );
00123
00128 U16 pl_nav_getpos( void );
00129
00134 Bool pl_nav_eol( void );
00135
00140 Bool pl_nav_setpos( U16 u16_position );
00141
00142
00149 Bool pl_nav_readentry(U16 u16_position, FS_STRING *sz_pat, U16 *u16_size_line );
00150
00164 typedef enum
00165 {
00166 PL_MAIN_READLINE_OPT_CHECKLINE,
00167 PL_MAIN_READLINE_OPT_READSTRING,
00168 PL_MAIN_READLINE_OPT_GOTOPATH
00169 } readline_opt_t;
00170 Bool pl_main_readline( readline_opt_t opt, U8 id_nav, FS_STRING *sz_path, U16 *u16_size_line );
00171
00172
00173
00174
00179 Bool pl_sel_isvalid( void );
00180
00181
00182
00183
00196 Bool pl_add( const FS_STRING sz_filterext , U8 u8_mode );
00197
00198
00199
00200
00206 Bool pl_rem_sel_all( void );
00207
00213 Bool pl_rem_sel( void );
00214
00220 Bool pl_rem_dead( void );
00221
00222
00223 #if defined(PLAYLIST_USE_NON_BLOCKING_FUNCTION_SET) && \
00224 PLAYLIST_USE_NON_BLOCKING_FUNCTION_SET == ENABLED
00225
00226
00240 Bool pl_main_open_non_blocking(U16 u16_n);
00241
00253 typedef struct
00254 {
00255 U16 u16_current_pos;
00256 U32 u32_file_pos_saved;
00257 U8 nav_id_saved;
00258 Fs_management_entry fs_entry;
00259 } pl_nav_readentry_context_t;
00260
00261 Bool pl_nav_readentry_non_blocking(pl_nav_readentry_context_t *data, U16 u16_position, FS_STRING *sz_path, U16 *u16_size_line, U16 u16_n);
00262
00263 #endif
00264
00265 #endif // _PLAY_LIST_H_