📄 mp3_display.lst
字号:
C51 COMPILER V7.50 MP3_DISPLAY 08/18/2008 13:43:42 PAGE 1
C51 COMPILER V7.50, COMPILATION OF MODULE MP3_DISPLAY
OBJECT MODULE PLACED IN ..\output\output_bin\output_mp3\mp3_display.obj
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE ..\..\code\ap_mp3\src\mp3_display.c LARGE OPTIMIZE(9,SIZE) BROWSE INCDIR(..
-\..\..\bsp\include;..\..\code\ap_mp3\src\include;..\..\code\global;..\..\code\include) DEFINE(CONFIG_ASIC,dynamic_load)
-DEBUG OBJECTEXTEND PRINT(..\output\output_bin\output_mp3\mp3_display.lst) OBJECT(..\output\output_bin\output_mp3\mp3_dis
-play.obj)
line level source
1 /************************
2 * mp3_display.c
3 ************************/
4
5 #include <string.h>
6 #include "api.h"
7 #include "lcd1.h"
8 #include "common.h"
9 #include "display.h"
10 #include "file_brower.h"
11 #include "mp3_main.h"
12 #include "lrc_parse.h"
13 #include "mp3_display.h"
14 #include "mp3_utile.h"
15 #include "res.h"
16 #include "res_show.h"
17 #include "ap_common.h"
18 #include "ui_main1.h"
19 #include "prefer.h"
20 #include "ui_scroll.h"
21 #include "ui_slider.h"
22 #include "global_user.h"
23
24 #define PROGRESS_Y 24
25 #define PROGRESS_X 4
26 #define FILE_NAME_X 2
27 #define FILE_NAME_Y 95
28
29 INT8U _bufID[10];
30 static UINT32 last_time = 0;
31
32 //INT16U code loop_id[3] ={MLOOP1,MLOOP2,MLOOP5};
33
34 extern void song_timeon(SONGTIME type);
35
36 extern MUSIC_INFORMATION curr_music;
37
38 void dispBmpDigit(INT16U BmpID,INT32U VALUE,INT8U digits,INT8U X,INT8U Y,INT8U digOffset)
39 {
40 1 INT8U _buf_ = 0;
41 1 INT8U dispColon = 0;
42 1 INT8U ColonPos = 0;
43 1
44 1 if(digits>=5)
45 1 dispColon = 1;
46 1
47 1 ColonPos = digits/2;
48 1 while(digits--)
49 1 {
50 2
51 2 if((digits==ColonPos)&&(dispColon==1))
52 2 {
C51 COMPILER V7.50 MP3_DISPLAY 08/18/2008 13:43:42 PAGE 2
53 3 if(ColonPos == 2)
54 3 _buf_ =0x0A;
55 3 else
56 3 _buf_ =0x0B;
57 3
58 3 }
59 2 else{
60 3 _buf_ = VALUE%10;
61 3 VALUE = VALUE/10;
62 3 }
63 2
64 2 bResShowPic(BmpID+_buf_, X+digits*digOffset ,Y);
65 2
66 2 }
67 1
68 1 }
69
70
71 void vShowBitrate()
72 {
73 1
74 1 if(curr_music.eMusicType == MUSIC_TYPE_MP3) //mp3
75 1 {
76 2 ui_show_a(MMP3);
77 2 }
78 1 else
79 1 {
80 2 ui_show_a(TYPEWMA);
81 2 }
82 1
83 1 bResShowPic(KBPS, 75 , 10);
84 1
85 1 dispBmpDigit(MBIT0,curr_music.u16BitRate,3,POS_BITRATE,POSY_BITRATE,5);
86 1 }
87
88 void vShowLoop()
89 {
90 1
91 1 bResShowPic(tUserPreference.u8RepeatMode+MLOOP1, POSITION_B, POSITIONY_B);
92 1
93 1 }
94
95 void vShowEq()
96 {
97 1 ui_show_c(tUserPreference.u8EqMode+MEQICON1);
98 1 }
99
100 void vShowRepeat()
101 {
102 1 if(api_eGetRepeatMode() == REPEAT_MODE_SETA_OK)
103 1 ui_show_a(MRPLNOA);
104 1 else if(api_eGetRepeatMode() == REPEAT_MODE_SETAB_OK)
105 1 ui_show_a(MRPLNOB);
106 1 else
107 1 vShowBitrate();
108 1
109 1 }
110
111 void vShowSequence()
112 {
113 1 dispBmpDigit(MNUM0,
114 1 curr_music.u16Order*1000+totfile
C51 COMPILER V7.50 MP3_DISPLAY 08/18/2008 13:43:42 PAGE 3
115 1 ,7,3,115,5);
116 1
117 1 }
118 INT32U algorismToSexagesimal(INT32U VALUE)
119 {
120 1 INT32U temp = 0;
121 1 INT8U temp1 = 0;
122 1 temp1 =VALUE/60;
123 1 temp = temp1*100;
124 1 temp1 = VALUE%60;
125 1 return temp+temp1;
126 1 }
127
128 void vShowTotalTime()
129 {
130 1 // song_timeon(TIME_TOTAL);
131 1 // ui_show_d(_buf, 1);
132 1 //ui_show_data(string,8, 124,MNUM0,5);
133 1
134 1 dispBmpDigit(MNUM0,
135 1 algorismToSexagesimal(curr_music.u32Length)
136 1 ,5,8,124,5);
137 1 }
138
139 void vShowCurrentTime()
140 {
141 1 INT8U data sec,min;
142 1
143 1 //sec = api_u32GetPlayingTime()/60;
144 1 //min = api_u32GetPlayingTime()%60;
145 1 //song_timeon(TIME_PLAY);
146 1 //ui_show_d(_buf, 0);
147 1 //ui_show_data(string,40, 114,PRGNUM0,11);
148 1
149 1 dispBmpDigit(PRGNUM0,
150 1 algorismToSexagesimal(api_u32GetPlayingTime())
151 1 ,5,40,114,11);
152 1
153 1 }
*** WARNING C280 IN LINE 141 OF ..\..\CODE\AP_MP3\SRC\MP3_DISPLAY.C: 'sec': unreferenced local variable
*** WARNING C280 IN LINE 141 OF ..\..\CODE\AP_MP3\SRC\MP3_DISPLAY.C: 'min': unreferenced local variable
154
155 void ui_draw(void)
156 {
157 1 //shoud show background now
158 1 bResShowPic(BACKDROP,0,0);
159 1 if(!api_bGetCurrMusicInfo(&curr_music))
160 1 return;
161 1 //show music type.
162 1 //vShowMusicType();
163 1 vShowBitrate();
164 1 //show speaker
165 1 //ui_show_spk(1);
166 1 //show eq type.
167 1 vShowEq();
168 1 //show loop type
169 1 vShowLoop();
170 1 //show music order
171 1 vShowSequence();
172 1 //show file name.
173 1 //gfx_songname();
174 1 vLcd_SongName();
C51 COMPILER V7.50 MP3_DISPLAY 08/18/2008 13:43:42 PAGE 4
175 1 //show total time.
176 1 vShowTotalTime();
177 1 //show current time
178 1 vShowCurrentTime();
179 1
180 1 //play_time_update(0);
181 1 last_time = 0;
182 1 bResShowPic(SCHEDU00, 16 , 5);
183 1
184 1 bResShowPic(RPLAY3,2,51);
185 1 //show progress
186 1 //gfx_progress(1);
187 1 //show volume.
188 1 ui_show_vol();
189 1 //show battary
190 1 ui_show_batt();
191 1
192 1 //show media type
193 1 bg_color = 0x1d1f;
194 1 fg_color = COLOR_WHITE;
195 1 if(my_disk==0) //sd
196 1 {
197 2 lcd_puts(56, 17, "SD",0, FONTSIZE_HYPER,0);
198 2 }
199 1 else //nand
200 1 {
201 2 lcd_puts(48, 17, "NAND",0, FONTSIZE_HYPER,0);
202 2 }
203 1 if(lyric_on)
204 1 {
205 2 bResShowPic(LYYES, 94 , 0);
206 2 }
207 1 else
208 1 {
209 2 bResShowPic(LYNO, 94 , 0);
210 2 }
211 1 bResShowPic(STOP_PIC, 0 , 2);
212 1
213 1 }
214
215
216 void play_time_update(UINT8 para)
217 {
218 1
219 1 INT32U data time;
220 1
221 1 // time = api_u32GetPlayingTime();
222 1 if(last_time != api_u32GetPlayingTime()){
223 2 vShowCurrentTime();
224 2 //if(curr_screen->id == SCREEN_MP3) {
225 2 bResShowPic(SCHEDU00+ (38 * last_time / curr_music.u32Length)%38, 16 , 5);
226 2 last_time = api_u32GetPlayingTime();
227 2 // }
228 2 }
229 1 }
*** WARNING C280 IN LINE 216 OF ..\..\CODE\AP_MP3\SRC\MP3_DISPLAY.C: 'para': unreferenced local variable
*** WARNING C280 IN LINE 219 OF ..\..\CODE\AP_MP3\SRC\MP3_DISPLAY.C: 'time': unreferenced local variable
230
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 751 ----
C51 COMPILER V7.50 MP3_DISPLAY 08/18/2008 13:43:42 PAGE 5
CONSTANT SIZE = 8 ----
XDATA SIZE = 14 22
PDATA SIZE = ---- ----
DATA SIZE = ---- 6
IDATA SIZE = ---- ----
BIT SIZE = ---- ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 4 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -