📄 audio_support.h
字号:
/************************************************** * * audio_support.h * * CVS ID: $Id: audio_support.h,v 1.18 2007/02/13 11:02:09 sedmik Exp $ * Author: Ondrej Kutik [OK] - STM * Date: $Date: 2007/02/13 11:02:09 $ * Revision: $Revision: 1.18 $ * * Description: * * Support for non compressed audio tracks * *************************************************** * * COPYRIGHT (C) ST Microelectronics 2005 * All Rights Reserved * **************************************************** * * STM CVS Log: * * $Log: audio_support.h,v $ * Revision 1.18 2007/02/13 11:02:09 sedmik * func prototypes changed related to shuffle marks * * Revision 1.17 2006/11/20 13:23:27 sedmik * fix in func prototype FindIndexForItemNr * * Revision 1.16 2006/11/16 13:21:26 trubac * CountFilesForDevice/Volume changed parameter t_SearchMode * * Revision 1.15 2006/11/01 12:57:26 trubac * Finding song nr. functions changed to be faster and to allow playlists * * Revision 1.14 2006/10/17 09:44:27 trubac * get_track_endtime deleted * * Revision 1.13 2006/09/18 09:55:21 belardi * Corrected CVS keyword usage * * Revision 1.12 2006/09/18 09:22:36 belardi * Added Log CVS keyword into file header * * Revision 1.11 2006/09/15 20:17:25 belardi * Added Log CVS keyword into file header * * ***************************************************/#ifndef DEFINE_AUDIOSUPPORT_H#define DEFINE_AUDIOSUPPORT_H#include <limits.h>#include "player.h"#define AUDIO_TRACKS_SET 100 /*!<\brief audio tracks range *///added 7/8 to be sure we still fit with less than 8#define AUDIO_TRACKS_MARKS_BUFFER_SIZE (AUDIO_TRACKS_SET + 7) / (8 * sizeof (uint8))#define T_TRACK_MAX SCHAR_MAX#define T_TRACK_MIN SCHAR_MINtypedef int32 t_time; /*!<\brief CD time type */typedef int8 t_track; /*!<\brief CD track type */typedef enum{ TRACK_TYPE_AUDIO = 0x00, TRACK_TYPE_DATA = 0x40} t_track_type;typedef enum{ SEARCH_PLAYABLE, // only mp3,wma,aac SEARCH_PLAYLISTS, // only m3u,pls etc. SEARCH_SPECIAL, // only data files not included above}t_SearchMode;t_time get_track_time(t_track track);//t_time get_track_endtime(t_track track);t_bool skip_track_type(t_track_type track_type);t_track find_next_track(t_track track, t_direction direction, t_bool repeat_disc);t_bool IsSongAlreadyPlayed(t_XItem song_index, t_player_playlist * player_playlist);void MarkSongAsPlayed(t_XItem song_index, t_player_playlist * player_playlist);void ClearSongMarks(t_XItem song, t_player_params * player_params, t_player_playlist * player_playlist);t_bool IsMarkedAudioTrack(uint16 index, uint8 * array);void ClearAudioTracksMarks(uint8 * array, uint8 size);uint32 CountFilesForVolume(uint32 vol,t_SearchMode search);uint32 CountFilesForDevice(t_duid did, t_bool include_audio_tracks,t_SearchMode search);uint32 CountDirsForDevice(t_duid device);t_XItem FindIndexForItemNr(int16 song_nr, t_dir_num_style dir_numbering, t_duid did, t_SearchMode search); //Functionality according to CISint16 FindSongNrForIndex(t_XItem song_index,t_dir_num_style dir_numbering, t_bool audio_first);t_XItem FindIndexForDirNr(int16 DirNr, t_dir_num_style dir_numbering, t_duid did);int16 FindDirNrForIndex(t_XItem dir_index, t_dir_num_style dir_numbering);// void AS_InitFile(uint16 track, t_SongInfos *song_info); // [RB] commented out due to curcular dependency in .h files#define TOC_IS_KNOWN (toc_is_toc_known())#define TOC_MIN_TRACK ((t_track)toc_get_min_track())#define TOC_MAX_TRACK ((t_track)toc_get_max_track())#define TOC_NUM_OF_AUDIO_TRACK ((t_track)toc_get_num_of_audio_track())#define TOC_LEADOUT_TIME ((t_time)toc_get_leadout_time())#define TOC_TRACK_TYPE(x) ((t_track_type)(toc_is_track_rom(x) ? TRACK_TYPE_DATA : TRACK_TYPE_AUDIO))#define TOC_TRACK_TIME(x) ((t_time)toc_get_track_time((uint8)(x)))#define IS_NEXT_TRACK_IN_NEW_SESSION(x) (toc_is_track_startsession((x)+1))#define IS_TRACK_IN_FIRST_SESSION(x) (TOC_data.max_track_in_1_toc >= (x))#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -