📄 playlist.h
字号:
#ifndef PLAYLIST_H#define PLAYLIST_H 1#include "malloc.h"typedef enum { MODE_MIN = 0, MODE_DIRONLY = 0, // play files sequentially within one directory MODE_DIRRAND, // play files randomly within one directory MODE_SEQNTIAL, // play all files sequentially MODE_PLSTRAND, // play each dir sequentially, but randomly choose dirs MODE_KEYRAND, // play all files sequentially until a key is pressed // choose randomly from all files on key press MODE_ALLRAND, // play all files randomly MODE_MAX = 5} play_modes_t;extern const play_modes_t play_mode;struct playlist_list_struct { simm_id name; unsigned int num_unrand_files; simm_id /* struct playlist_list_struct */ prev_sequential; simm_id /* struct playlist_list_struct */ next_sequential; simm_id /* struct playlist_struct */ playlist_start_sequential; simm_id /* struct playlist_struct */ playlist_end_sequential; simm_id /* struct playlist_list_struct */ prev_random; simm_id /* struct playlist_list_struct */ next_random; simm_id /* struct playlist_struct */ playlist_start_random; simm_id /* struct playlist_struct */ playlist_random_head; simm_id /* struct playlist_struct */ playlist_random_tail; char is_randomized_l;};typedef xdata struct playlist_list_struct playlist_list_t;struct playlist_struct { simm_id /* struct filelist_struct */ fl_rec; simm_id /* struct playlist_list_struct */ playlist; simm_id /* struct playlist_struct */ prev_sequential; simm_id /* struct playlist_struct */ next_sequential; simm_id /* struct playlist_struct */ prev_random; simm_id /* struct playlist_struct */ next_random; char is_randomized;};typedef xdata struct playlist_struct playlist_t;typedef union { struct { unsigned int song_offset; unsigned int list_offset; } part; struct { unsigned char song_offset_lsb; unsigned char song_offset_msb; unsigned char list_offset_lsb; unsigned char list_offset_msb; } byte; unsigned long whole;} playlist_state_t;extern simm_id first_playlist; /* in list of playlists */extern simm_id last_playlist; /* in list of playlists */ extern simm_id current_playlist;extern void playlist_init();extern void playlist_create(simm_id pl_name);extern void playlist_add_file(simm_id fl_rec);extern void playlist_show();extern void playlist_show_all();extern void playlist_purge_empty(void);extern void play_mode_next(void);extern void play_mode_prev(void);extern void play_mode_toggle(void);extern void save_play_mode(void);extern void play_mode_set(play_modes_t new_play_mode);extern void play_mode_change(void);extern simm_id next_file_ptr(playlist_t *p, unsigned char keyflag);extern simm_id prev_file_ptr(playlist_t *p);extern simm_id next_playlist_ptr(playlist_t *p, unsigned char keyflag);extern simm_id prev_playlist_ptr(playlist_t *p);extern unsigned long playlist_to_state(playlist_t *p);extern simm_id state_to_playlist(unsigned long state_in);extern void playlist_show_rand(void);#define next_file(ID, KEY) (next_file_ptr((playlist_t *)addr6(ID), KEY))#define prev_file(ID) (prev_file_ptr((playlist_t *)addr6(ID)))#define next_playlist(ID, KEY) (next_playlist_ptr((playlist_t *)addr6(ID), KEY))#define prev_playlist(ID) (prev_playlist_ptr((playlist_t *)addr6(ID)))#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -