Subversion Repositories mdb

Rev

Rev 26 | Rev 29 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 26 Rev 28
Line 50... Line 50...
50
	constant integer BTN_ARTIST =		351;
50
	constant integer BTN_ARTIST =		351;
51
	constant integer BTN_GENRE =		352;
51
	constant integer BTN_GENRE =		352;
52
	constant integer BTN_ALBUM =		353;
52
	constant integer BTN_ALBUM =		353;
53
	constant integer BTN_PLAYLIST =		354;
53
	constant integer BTN_PLAYLIST =		354;
54
	constant integer BTN_RETURN =		355;
54
	constant integer BTN_RETURN =		355;
-
 
55
	constant integer BTN_RESET =		356;
55
 
56
 
56
	constant integer BTN_LINE1_PIC =	301;
57
	constant integer BTN_LINE1_PIC =	301;
57
	constant integer BTN_LINE1_LINE =	321;
58
	constant integer BTN_LINE1_LINE =	321;
58
	constant integer BTN_LINE2_PIC =	302;
59
	constant integer BTN_LINE2_PIC =	302;
59
	constant integer BTN_LINE2_LINE =	322;
60
	constant integer BTN_LINE2_LINE =	322;
Line 102... Line 103...
102
 
103
 
103
	constant integer TEXT_INPUT_UNAME =		1021;
104
	constant integer TEXT_INPUT_UNAME =		1021;
104
	constant integer TEXT_INPUT_PLAYLIST =	1022;
105
	constant integer TEXT_INPUT_PLAYLIST =	1022;
105
	constant integer TEXT_INPUT_SEARCH =	1023;
106
	constant integer TEXT_INPUT_SEARCH =	1023;
106
 
107
 
-
 
108
	constant integer LVL_PROGRES =			1;
107
	constant integer LVL_SCROLLBAR =		7;
109
	constant integer LVL_SCROLLBAR =		7;
108
 
110
 
109
	constant char TOK_TXT_NONE[] =			'NONE';
111
	constant char TOK_TXT_NONE[] =			'NONE';
110
	constant char TOK_TXT_TITLE[] =			'TITLE';
112
	constant char TOK_TXT_TITLE[] =			'TITLE';
111
	constant char TOK_TXT_ARTIST[] =		'ARTIST';
113
	constant char TOK_TXT_ARTIST[] =		'ARTIST';
Line 142... Line 144...
142
		BTN_TITLE,
144
		BTN_TITLE,
143
		BTN_ARTIST,
145
		BTN_ARTIST,
144
		BTN_GENRE,
146
		BTN_GENRE,
145
		BTN_ALBUM,
147
		BTN_ALBUM,
146
		BTN_PLAYLIST,
148
		BTN_PLAYLIST,
147
		BTN_SEARCH
149
		BTN_SEARCH,
-
 
150
		BTN_RESET
148
	};
151
	};
149
 
152
 
150
	constant integer nMenu[] =
153
	constant integer nMenu[] =
151
	{
154
	{
152
		BTN_MENU1,
155
		BTN_MENU1,
Line 237... Line 240...
237
	volatile integer nOldStart;				// Saves the previous value of nStart if a folder is opened
240
	volatile integer nOldStart;				// Saves the previous value of nStart if a folder is opened
238
	volatile integer nTotal;				// Total number of data
241
	volatile integer nTotal;				// Total number of data
239
	volatile integer nPage;					// The type of the page: TOK_TITLE, ...
242
	volatile integer nPage;					// The type of the page: TOK_TITLE, ...
240
	volatile integer nOldPage;				// The type of the previous page. Needed for search.
243
	volatile integer nOldPage;				// The type of the previous page. Needed for search.
241
	volatile integer nSearch;				// 1 = Search is active
244
	volatile integer nSearch;				// 1 = Search is active
242
	volatile integer sSearchFor[128];		// The expression to search for
245
	volatile char    sSearchFor[128];		// The expression to search for
243
	volatile integer nPlayStatus;			// Status of the player
246
	volatile integer nPlayStatus;			// Status of the player
244
	volatile ST_SONG stSong[MAX_LINES];		// The register of currently showed songs
247
	volatile ST_SONG stSong[MAX_LINES];		// The register of currently showed songs
245
	volatile integer nSongIdx;				// The index of the song pointer
248
	volatile integer nSongIdx;				// The index of the song pointer
246
	volatile char    sActPlaylist[128];		// The name of the actual playlist
249
	volatile char    sActPlaylist[128];		// The name of the actual playlist
247
	volatile integer nLastPressedLine;		// The number of the line pressed last
250
	volatile integer nLastPressedLine;		// The number of the line pressed last
Line 359... Line 362...
359
		return _strTok[idx];
362
		return _strTok[idx];
360
 
363
 
361
	return '';
364
	return '';
362
}
365
}
363
 
366
 
-
 
367
define_function displayProgresBar(char sTimeA[], char sTimeB[])
-
 
368
{
-
 
369
stack_var integer secA;
-
 
370
stack_var integer secB;
-
 
371
stack_var integer pos;
-
 
372
stack_var integer hour;
-
 
373
stack_var integer min;
-
 
374
stack_var integer sec;
-
 
375
 
-
 
376
	if (length_string(sTimeA) > 5)
-
 
377
	{
-
 
378
		hour = atoi(left_string(sTimeA, 2));
-
 
379
		min = atoi(mid_string(sTimeA, 4, 2));
-
 
380
		sec = atoi(mid_string(sTimeA, 7, 1));
-
 
381
		secA = hour * 3600 + min * 60 + sec;
-
 
382
	}
-
 
383
	else
-
 
384
	{
-
 
385
		min = atoi(mid_string(sTimeA, 1, 2));
-
 
386
		sec = atoi(mid_string(sTimeA, 4, 1));
-
 
387
		secA = min * 60 + sec;
-
 
388
	}
-
 
389
 
-
 
390
	if (length_string(sTimeB) > 5)
-
 
391
	{
-
 
392
		hour = atoi(left_string(sTimeB, 2));
-
 
393
		min = atoi(mid_string(sTimeB, 4, 2));
-
 
394
		sec = atoi(mid_string(sTimeB, 7, 1));
-
 
395
		secB = hour * 3600 + min * 60 + sec;
-
 
396
	}
-
 
397
	else
-
 
398
	{
-
 
399
		min = atoi(mid_string(sTimeB, 1, 2));
-
 
400
		sec = atoi(mid_string(sTimeB, 4, 1));
-
 
401
		secB = min * 60 + sec;
-
 
402
	}
-
 
403
 
-
 
404
	pos = type_cast(100.0 / type_cast(secB) * type_cast(secA));
-
 
405
	send_level dvTPs, LVL_PROGRES, pos;
-
 
406
}
-
 
407
 
364
define_function setPopup(integer dir, char sPg[])
408
define_function setPopup(integer dir, char sPg[])
365
{
409
{
366
stack_var char pop[16];
410
stack_var char pop[16];
367
stack_var integer i;
411
stack_var integer i;
368
stack_var integer anz;
412
stack_var integer anz;
Line 435... Line 479...
435
	send_command dvTPs,"'^TXT-',itoa(BTN_LINE1_LINE),'.',itoa(BTN_LINE1_LINE+MAX_LINES-1),',0,'";
479
	send_command dvTPs,"'^TXT-',itoa(BTN_LINE1_LINE),'.',itoa(BTN_LINE1_LINE+MAX_LINES-1),',0,'";
436
}
480
}
437
 
481
 
438
define_function char[32] requestActualPage()
482
define_function char[32] requestActualPage()
439
{
483
{
-
 
484
	return requestPage(nPage);
-
 
485
}
-
 
486
 
-
 
487
define_function char[32] requestPage(integer pg)
-
 
488
{
440
stack_var char sPage[32];
489
stack_var char sPage[32];
441
 
490
 
442
	sPage = '';
491
	sPage = '';
443
 
492
 
444
	if (nPage == TOK_NONE)
493
	if (pg == TOK_NONE)
445
		return sPage;
494
		return sPage;
446
 
495
 
447
	switch(nPage)
496
	switch(pg)
448
	{
497
	{
449
		case TOK_TITLE:		sPage = TOK_TXT_TITLE;
498
		case TOK_TITLE:		sPage = TOK_TXT_TITLE;
450
		case TOK_ALBUM:		sPage = TOK_TXT_ALBUM;
499
		case TOK_ALBUM:		sPage = TOK_TXT_ALBUM;
451
		case TOK_ARTIST:	sPage = TOK_TXT_ARTIST;
500
		case TOK_ARTIST:	sPage = TOK_TXT_ARTIST;
452
		case TOK_GENRE:		sPage = TOK_TXT_GENRE;
501
		case TOK_GENRE:		sPage = TOK_TXT_GENRE;
Line 749... Line 798...
749
					nSearch = 0;
798
					nSearch = 0;
750
					nPage = TOK_QUEUE;
799
					nPage = TOK_QUEUE;
751
				break;
800
				break;
752
 
801
 
753
				case BTN_PLAYLIST:
802
				case BTN_PLAYLIST:
-
 
803
					send_command dvTPs[pan], "'@PPN-',sPopupSelUser";
-
 
804
 
754
					if (!length_string(sActUser))
805
					if (!length_string(sActUser))
755
					{
806
					{
756
						send_command dvTPs[pan], "'@PPN-',sPopupSelUser";
-
 
757
						send_command dvTPs[pan], "'@AKB-',sActUser,';Enter name of user'";
807
						send_command dvTPs[pan], "'@AKB-',sActUser,';Enter name of user'";
758
						nKeyboard[pan] = TEXT_INPUT_UNAME;
808
						nKeyboard[pan] = TEXT_INPUT_UNAME;
759
						nToDo = TODO_USER_SELECT;
-
 
760
					}
809
					}
761
					else
810
					else
762
					{
811
					{
763
						nFolder = 0;
812
						send_command dvTPs[pan], "'@AKB-',sActPlaylist,';Enter name of playlist'";
764
						nStart = 1;
-
 
765
						nSearch = 0;
-
 
766
						nPage = TOK_PLAYLIST;
813
						nKeyboard[pan] = TEXT_INPUT_PLAYLIST;
767
						send_command vdvMDB, "'LIST:PLAYLIST:1:',itoa(MAX_LINES),';'";
-
 
768
					}
814
					}
-
 
815
 
-
 
816
					nToDo = TODO_USER_SELECT;
769
				break;
817
				break;
770
 
818
 
771
				case BTN_NOW_PLAYING:
819
				case BTN_NOW_PLAYING:
772
					if (nPlayStatus == PLAYER_PLAY || nPlayStatus == PLAYER_PAUSE)
820
					if (nPlayStatus == PLAYER_PLAY || nPlayStatus == PLAYER_PAUSE)
773
						setPopup(DIR_OPEN, sPopupDetail);
821
						setPopup(DIR_OPEN, sPopupDetail);
Line 787... Line 835...
787
				case BTN_DELETE:
835
				case BTN_DELETE:
788
					send_command vdvMDB, "'DELETE:QUEUE:-1;'";
836
					send_command vdvMDB, "'DELETE:QUEUE:-1;'";
789
				break;
837
				break;
790
 
838
 
791
				case BTN_SEARCH:
839
				case BTN_SEARCH:
-
 
840
					if (!nSearch)
-
 
841
					{
792
					send_command dvTPs[pan], "'@AKB-;Search for a ',requestActualPage()";
842
						send_command dvTPs[pan], "'@AKB-;Search for a ',requestActualPage()";
793
					nToDo = TODO_SEARCH;
843
						nToDo = TODO_SEARCH;
794
					nKeyboard[pan] = TEXT_INPUT_SEARCH;
844
						nKeyboard[pan] = TEXT_INPUT_SEARCH;
-
 
845
					}
-
 
846
				break;
-
 
847
 
-
 
848
				case BTN_RESET:
-
 
849
					send_command vdvMDB, 'RESET;';
795
				break;
850
				break;
796
			}
851
			}
797
		}
852
		}
798
	}
853
	}
799
 
854
 
Line 824... Line 879...
824
					{
879
					{
825
						nStart = nStart - MAX_LINES;
880
						nStart = nStart - MAX_LINES;
826
 
881
 
827
						if (nPage == TOK_TITLE || nPage == TOK_QUEUE || nPage == TOK_PLAYLIST)
882
						if (nPage == TOK_TITLE || nPage == TOK_QUEUE || nPage == TOK_PLAYLIST)
828
							send_command vdvMDB, "'LIST:',requestActualPage(),':',itoa(nStart),':',itoa(MAX_LINES),';'";
883
							send_command vdvMDB, "'LIST:',requestActualPage(),':',itoa(nStart),':',itoa(MAX_LINES),';'";
-
 
884
						else if (nPage == TOK_SEARCH)
-
 
885
							send_command vdvMDB, "'SEARCH:',requestPage(nOldPage),':',EncodeURL(sSearchFor),':',itoa(nStart),':',itoa(MAX_LINES),';'";
829
						else
886
						else
830
							send_command vdvMDB, "'FOLDER:',requestActualPage(),':',itoa(nStart),':',itoa(MAX_LINES),';'";
887
							send_command vdvMDB, "'FOLDER:',requestActualPage(),':',itoa(nStart),':',itoa(MAX_LINES),';'";
831
					}
888
					}
832
				break;
889
				break;
833
 
890
 
Line 836... Line 893...
836
					{
893
					{
837
						nStart = nStart + MAX_LINES;
894
						nStart = nStart + MAX_LINES;
838
 
895
 
839
						if (nPage == TOK_TITLE || nPage == TOK_QUEUE || nPage == TOK_PLAYLIST)
896
						if (nPage == TOK_TITLE || nPage == TOK_QUEUE || nPage == TOK_PLAYLIST)
840
							send_command vdvMDB, "'LIST:',requestActualPage(),':',itoa(nStart),':',itoa(MAX_LINES),';'";
897
							send_command vdvMDB, "'LIST:',requestActualPage(),':',itoa(nStart),':',itoa(MAX_LINES),';'";
-
 
898
						else if (nPage == TOK_SEARCH)
-
 
899
							send_command vdvMDB, "'SEARCH:',requestPage(nOldPage),':',EncodeURL(sSearchFor),':',itoa(nStart),':',itoa(MAX_LINES),';'";
841
						else
900
						else
842
							send_command vdvMDB, "'FOLDER:',requestActualPage(),':',itoa(nStart),':',itoa(MAX_LINES),';'";
901
							send_command vdvMDB, "'FOLDER:',requestActualPage(),':',itoa(nStart),':',itoa(MAX_LINES),';'";
843
					}
902
					}
844
				break;
903
				break;
845
 
904
 
Line 1333... Line 1392...
1333
						send_command dvTPs, "'^TXT-',itoa(TEXT_DETAIL_ALBUM),',0,',sAlbum";
1392
						send_command dvTPs, "'^TXT-',itoa(TEXT_DETAIL_ALBUM),',0,',sAlbum";
1334
						send_command dvTPs, "'^TXT-',itoa(TEXT_DETAIL_GENRE),',0,',sGenre";
1393
						send_command dvTPs, "'^TXT-',itoa(TEXT_DETAIL_GENRE),',0,',sGenre";
1335
						setLogo(sCover, 0);
1394
						setLogo(sCover, 0);
1336
					}
1395
					}
1337
 
1396
 
-
 
1397
					active(find_string(buf, 'POSITION:', 1)):
-
 
1398
					{
-
 
1399
						stack_var char sTimeA[16];
-
 
1400
						stack_var char sTimeB[16];
-
 
1401
						stack_var char sTimeC[16];
-
 
1402
						stack_var integer anz;
-
 
1403
						stack_var integer i;
-
 
1404
 
-
 
1405
						remove_string(buf, 'POSITION:', 1);
-
 
1406
						anz = strtok(buf, ':');
-
 
1407
 
-
 
1408
						for (i = 1; i <= anz; i++)
-
 
1409
						{
-
 
1410
							switch(i)
-
 
1411
							{
-
 
1412
								case 1: sTimeA = DecodeURL(getStrTok(i));
-
 
1413
								case 2: sTimeB = DecodeURL(getStrTok(i));
-
 
1414
								case 3: sTimeC = DecodeURL(getStrTok(i));
-
 
1415
							}
-
 
1416
						}
-
 
1417
 
-
 
1418
						send_command dvTPs, "'^TXT-',itoa(TEXT_DETAIL_TIME_PROG),',0,',sTimeA";
-
 
1419
						send_command dvTPs, "'^TXT-',itoa(TEXT_DETAIL_TIME_TOTAL),',0,',sTimeC";
-
 
1420
						displayProgresBar(sTimeA, sTimeC);
-
 
1421
					}
-
 
1422
 
1338
					active(find_string(buf, 'USER:', 1)):
1423
					active(find_string(buf, 'USER:', 1)):
1339
					{
1424
					{
1340
						remove_string(buf, 'USER:', 1);
1425
						remove_string(buf, 'USER:', 1);
1341
						sActUser = DecodeURL(buf);
1426
						sActUser = DecodeURL(buf);
1342
					}
1427
					}
Line 1441... Line 1526...
1441
							setPopup(DIR_OPEN, sPopupAudio);
1526
							setPopup(DIR_OPEN, sPopupAudio);
1442
							nOldStart = nStart;
1527
							nOldStart = nStart;
1443
							nStart = 1;
1528
							nStart = 1;
1444
							nSearch = 1;
1529
							nSearch = 1;
1445
							nOldPage = nPage;
1530
							nOldPage = nPage;
-
 
1531
							sSearchFor = buf;
1446
							send_command vdvMDB, "'SEARCH:',requestActualPage(),':',EncodeURL(buf),':1:',itoa(MAX_LINES),';'";
1532
							send_command vdvMDB, "'SEARCH:',requestActualPage(),':',EncodeURL(buf),':1:',itoa(MAX_LINES),';'";
1447
						}
1533
						}
1448
					}
1534
					}
1449
				}
1535
				}
1450
			}
1536
			}