Пример #1
0
void wScreenMask::add_element (int y, int x, std::string prompt, char key) {

  wmove (win, y, x);
  for (unsigned int c = 0; c < prompt.size(); c++) {
    if ('#' == prompt[c]) {
      switch (prompt[++c]) {
        case 'B': wsetcolor(win, BACKDROP); break;
        case 'M': wsetcolor(win, MENU); break;
        case 'X': wsetcolor(win, XBUTTON); break;
        case 'S': wsetcolor(win, SELECTION); break;
        case 'D': wsetcolor(win, DESCRIPTION); break;
        case 'T': wsetcolor(win, TEXTFIELD); break;
      }
      c++;
    }
    waddch (win, (char)prompt[c]);
    keymask[y][x++] = key;
  }
}
Пример #2
0
void hello()
{
  int scr=14;
  WINDOW *w1;
  w1=newwin (scr+2,62,(nrscr-(scr+2))/2+7,(nrcols-62)/2);
  wrefresh (w1);
  werase (w1);
  WINDOW *w;
  w=newwin (scr,60,(nrscr-(scr+2))/2+8,(nrcols-60)/2);
  wsetcolor (w,12,0);
  for (int h=0;h<=scr+2;h++) mvwprintw (w,h,0,"                                                            ");
  wsetcolor (w,12,0);
  le_border (w,60,scr);
  wsetcolor (w,13,1);
  mvwprintw (w,0,1," Welcome to LinuxEyes ");
  wsetcolor (w,12,0);
  mvwprintw (w,scr-1,46," ESC - quit ");
  wrefresh(w);
  char s[11][100];
  strcpy (s[0],"    Thank you for installing LinuxEyes. I hope you will");
  strcpy (s[1],"enjoy using this player as much as I enjoyed makeing it.");
  strcpy (s[2],"");
  strcpy (s[3],"    If you have any questions or you would like to send");
  strcpy (s[4],"me some suggestions or some bugs information please just");
  strcpy (s[5],"email me at [email protected]. Thank you!");
  strcpy (s[6],"    For more information about using LinuxEyes, please");
  strcpy (s[7],"press 'h' to view the help page or visit the website.");
  strcpy (s[8],"                                               Have Fun!");
  strcpy (s[9],"http://lug.orizont.net/~linuxeyes");
  strcpy (s[10],"LinuxEyes v");
    strcat (s[10],version);
    strcat (s[10]," - ");
    strcat (s[10],bday);
    strcat (s[10],", ");
    strcat (s[10],bdate);
  noecho();
  play ("/usr/lib/linuxeyes/music/linuxeyes.mp3");
  timeout (1);
  int t=0;
  int q=0;
  wsetcolor (w,12,0);
  for (int i=0;i<=10;i++) 
  {
    mvwprintw (w,2+i,2,"                                                         ");
    mvwprintw (w,2+i,2,"%s",s[i]);
  }
  wrefresh (w);
  do
  {
    t=getch();
    messages();
    if (t==27)
    {
      t=getch();
      if (t==ERR) q=1;
    }
    if ((try_again) && (t==ERR)) playnext();
    if (quit==1) q=1;
    while (t!=ERR) t=getch();
  } while (q==0);
  werase (w);
  reread=1;
}
Пример #3
0
void about(int scr)
{
/*    initscr();
    WINDOW *w;
    w=newwin (16,78,7,1);
    werase(w);
    setcolor (1,1);
    mvprintw (7,34,"LinuxEyes");
    setcolor (1,1);
    mvprintw (9,2,"AUTHOR");
    mvprintw (13,2,"COPYRIGHT");
    mvprintw (17,2,"LOTS OF THANKS TO");
    mvprintw (20,2,"BUGS AND SUGGESTIONS");
    setcolor (1,0);
    mvprintw (10,5,"Alexandru Radovici - [email protected]");
    mvprintw (11,5,"                     [email protected]");
    mvprintw (14,5,"This program is free. You may use it on your own risk. You may distribute");
    mvprintw (15,2,"it only integral.");
    mvprintw (18,5,"Xaudio - http://www.xaudio.com"); 
    mvprintw (21,5,"If you have found bugs or have some suggestions to make please send me an");
    mvprintw (22,2,"e-mail. Thank you.");
    wrefresh (w); */
  int v,k;
  int q=0;
  char s[100][100];
  strcpy (s[0],"AUTHOR");
  strcpy (s[1],"    Alexandru Radovici - [email protected]");
  strcpy (s[2],"");
  strcpy (s[3],"VERSION");
  sprintf (s[4],"    LinuxEyes %s (%s)",version,v_name);
  sprintf (s[5],"      Build: %s",build);
  sprintf (s[6],"      Date: %s",bdate);
  /*
  strcpy (s[4],"    LinuxEyes ");
    strcat (s[4],version);
    strcat (s[4],", build ");
    strcat (s[4],build);
    strcat (s[4]," (");
    strcat (s[4],bdate);
    strcat (s[4],")");*/
  strcpy (s[7],"");
  strcpy (s[8],"ROMANIAN SOFTWARE");
  strcpy (s[9],"    This software was made in Romania!");
  strcpy (s[10],"");
  strcpy (s[11],"WEBSITE");
  strcpy (s[12],"    http://lug.orizont.net/~linuxeyes");
  strcpy (s[13],"");
  strcpy (s[14],"COPYRIGHT & DISTRIBUTION");
  strcpy (s[15],"    This software is freeware, you may use it on your");
  strcpy (s[16],"own risk. You may distribute it only integral.");
  strcpy (s[17],"");
  strcpy (s[18],"MPEG Audio Layer 3");
  strcpy (s[19],"    Xaudio - http://www.xaudio.com");
  strcpy (s[20],"");
  strcpy (s[21],"BUGS & SUGGESTIONS");
  strcpy (s[22],"    If you find any bugs or have any suggestion please");
  strcpy (s[23],"email me. ([email protected]) Thank you!");
  strcpy (s[24],"");
  strcpy (s[25],"LOTS OF THANKS TO");
  strcpy (s[26],"    Vera and Iuliu Radovici");
  strcpy (s[27],"    Cosmin Chertes");
  strcpy (s[28],"    Ovidiu Stoica - [email protected]");
  strcpy (s[29],"    Alexandru Armean - [email protected]");
  strcpy (s[30],"    Valeriu Moldovan - [email protected]");
  strcpy (s[31],"    Cristian Klein - [email protected]");
  strcpy (s[32],"");
  strcpy (s[33],"CURRENT SESSION STATISTICS");
  sprintf (s[34],"    Songs Played: %d",(int)n_songs);
  sprintf (s[35],"    Time Played: %d:%.2d:%.2d",(int)n_secs/(60*60),(int)(n_secs/60)%60,(int)n_secs%60);
  strcpy (s[36],"");
  strcpy (s[37],"GLOBAL STATISTICS");
  sprintf (s[38],"    Songs Played: %d",(int)songs);
  sprintf (s[39],"    Time Played: %d:%.2d:%.2d",(int)secs/(60*60),(int)(secs/60)%60,(int)secs%60);
  WINDOW *w1;
  w1=newwin (scr+2,62,7,(nrcols-62)/2);
  wrefresh (w1);
  werase (w1);
  WINDOW *w;
  w=newwin (scr,60,8,(nrcols-60)/2);
  wsetcolor (w,12,0);
  for (int h=0;h<=scr+2;h++) mvwprintw (w,h,0,"                                                            ");
  wsetcolor (w,12,0);
  le_border (w,60,scr);
  wsetcolor (w,13,1);
  mvwprintw (w,0,1," About LinuxEyes ");
  wsetcolor (w,12,0);
  mvwprintw (w,scr-1,46," ESC - quit ");
  wrefresh(w);
  noecho();
  timeout (1);
  k=0;
  do
  {
    wsetcolor (w,12,0);
    for (int i=0;i<=scr-5;i++) 
    {
      mvwprintw (w,2+i,2,"                                                         ");
      mvwprintw (w,2+i,2,"%s",s[i+k]);
    }
    wsetcolor (w,12,0);
    mvwaddch (w,0,28,ACS_HLINE);
    mvwaddch (w,scr-1,28,ACS_HLINE);
    wsetcolor (w,12,1);
    if (k>0) mvwaddch (w,0,28,ACS_UARROW);
    if (k<37-(scr-5)) mvwaddch (w,scr-1,28,ACS_DARROW);
    wrefresh(w);
    do
    {
      sprintf (s[34],"    Songs Played: %d",(int)n_songs);
      sprintf (s[35],"    Time Played: %d:%.2d:%.2d",(int)n_secs/(60*60),(int)(n_secs/60)%60,(int)n_secs%60);
      sprintf (s[38],"    Songs Played: %d",(int)songs);
      sprintf (s[39],"    Time Played: %d:%.2d:%.2d",(int)secs/(60*60),(int)(secs/60)%60,(int)secs%60);
      for (int i=0;i<=scr-5;i++) if (((i+k)==34) || ((i+k)==35) || ((i+k)==38) || ((i+k)==39))
      {
        wsetcolor (w,12,0);
        mvwprintw (w,2+i,2,"                                                         ");
        mvwprintw (w,2+i,2,"%s",s[i+k]);
	wrefresh (w);
      }
      messages();
      v=getch();
      if ((try_again) && (v==ERR)) playnext();
    } while (v==ERR);
    if (v=='q') q=1;
    if (v == 27) 
    {
      v=getch();
      if (v==ERR) q=1;
      if (v==91)
      {
        v=getch();
	if (v==65) if (k > 0) k--;
        if (v==66) if (k < 39-(scr-5)) k++;
      }
    }
    if (v=='R')
    {
      n_songs=0;
      n_secs=0;
    }
    if (quit==1) q=1;
    while (v!=ERR) v=getch();
  }    
  while (q==0);
  werase (w);
  reread=1;
}
Пример #4
0
void help(int scr)
{
  int v,k;
  int more=0;
  int cont=0;
  int q=0;
  make_help();
  WINDOW *w1;
  w1=newwin (scr+2,62,7,(nrcols-62)/2);
  wrefresh (w1);
  werase (w1);
  WINDOW *w;
  w=newwin (scr,60,8,(nrcols-60)/2);
  wsetcolor (w,12,0);
  for (int h=0;h<=scr+2;h++) mvwprintw (w,h,0,"                                                             ");
  wsetcolor (w,12,0);
  le_border (w,60,scr);
  wsetcolor (w,13,1);
  mvwprintw (w,0,1," Help ");
  wsetcolor (w,12,0);
  mvwprintw (w,scr-1,46," ESC - quit ");
  wrefresh(w);
  noecho();
  timeout (1);
  k=0;
  do
  {
    if (more < 0) {k--; more++; cont=1;}
    if (more > 0) {k++; more--; cont=1;}
    if (k < 0) k=0;
    if (k > help_lines-(scr-5)) k=help_lines-(scr-5);
    wsetcolor (w,12,0);
    for (int i=0;i<=scr-5;i++) 
    {
      mvwprintw (w,2+i,2,"                                                         ");
      mvwprintw (w,2+i,2,"%s",help_s[i+k]);
    }
    wsetcolor (w,12,0);
    mvwaddch (w,0,28,ACS_HLINE);
    mvwaddch (w,scr-1,28,ACS_HLINE);
    wsetcolor (w,12,1);
    if (k>0) mvwaddch (w,0,28,ACS_UARROW);
    if (k<help_lines-(scr-5)) mvwaddch (w,scr-1,28,ACS_DARROW);
    wrefresh(w);
    do
    {
      messages();
      v=getch();
      if ((try_again) && (v==ERR)) playnext();
    } while ((v==ERR) && (cont==0));
    cont=0;
    if (v == 'q') q=1;
    if (v == 27) 
    {
      v=getch();
      if (v==ERR) q=1;
      if (v==91)
      {
        v=getch();
	if (v==65) k--; 
        if (v==66) k++;
	if (v==53) more=-scr+4;
	if (v==54) more=scr-4;
      }
    }
    if (quit==1) q=1;
    while (v!=ERR) v=getch();
  }    
  while (q==0);
  werase (w);
  reread=1;
}
Пример #5
0
void help(int scr)
{
  int v,k;
  char s[100][100];
  strcpy (s[0],"COMMAND LINE");
  strcpy (s[1]," -p           : play");
  strcpy (s[2]," --nocolors   : for dummy terminals (telnet)");
  strcpy (s[3],"");
  strcpy (s[4],"KEYBOARD");
  strcpy (s[5]," z            : previous");
  strcpy (s[6]," x            : play");
  strcpy (s[7]," c            : pause");
  strcpy (s[8]," v            : stop");
  strcpy (s[9]," b            : next");
  strcpy (s[10]," s            : Shuffle On/Off");
  strcpy (s[11]," <ENTER>      : Play ");
  strcpy (s[12]," <SPACE BAR>  : Set As Next ");
  strcpy (s[13]," r            : Repreat current song ");
  strcpy (s[14]," <INSERT>     : Volume + ");
  strcpy (s[15]," <DELETE>     : Volume - ");
  strcpy (s[16]," <HOME>       : PCM + ");
  strcpy (s[17]," <END>        : PCM - ");
  strcpy (s[18]," <            : Balance left ");
  strcpy (s[19]," >            : Balance right ");
  strcpy (s[20]," a            : Add File");
  strcpy (s[21]," d            : Delete File");
  strcpy (s[22]," D            : Add Directory");
  strcpy (s[23]," R            : Delete All");
  strcpy (s[24]," S            : Sort Playlist");
  strcpy (s[25]," <UP>         : Cursor Up");
  strcpy (s[26]," <DOWN>       : Cursor Down");
  strcpy (s[27]," <PAGE UP>    : Page Up");
  strcpy (s[28]," <PAGE DOWN>  : Page Down");
  strcpy (s[29]," <LEFT>       : Backward");
  strcpy (s[30]," <RIGHT>      : Forward");
  strcpy (s[31]," [            : Move Up");
  strcpy (s[32]," '            : Move Down");
  strcpy (s[33]," p            : Playlist Options");
  strcpy (s[34]," p,n          : New Playlist");
  strcpy (s[35]," p,l          : Load Playlist");
  strcpy (s[36]," p,s          : Save Playlist");
  strcpy (s[37]," ?            : About");
  strcpy (s[38]," h            : Help");
  strcpy (s[39]," '            : Repaint Desktop");
  strcpy (s[40]," *            : Increase desktop width");
  strcpy (s[41]," /            : Decrease desktop width");
  strcpy (s[42]," +            : Increase desktop height");
  strcpy (s[43]," -            : Decrease desktop height");
  strcpy (s[44]," i            : Song Information (id3 tag)");
  strcpy (s[45]," e            : Edit playlist file entry");
  strcpy (s[46]," j            : Jump to file");
  strcpy (s[47]," n            : Refresh list");
  strcpy (s[48]," 0            : On/Off Shut Down mode");
  strcpy (s[49]," q            : Quit");
  strcpy (s[50],"");
  strcpy (s[51],"SPECIAL FUNCTIONS");
  strcpy (s[52]," P            : Save playlist for MP3 CD Player");
  strcpy (s[53],"                * Save your playlist (p,s). Make a");
  strcpy (s[54],"                  new playlist (p,n).Load Directory (D)");
  strcpy (s[55],"                  from the CD in your playlist.");
  strcpy (s[56],"                * Tested on JazzPIPER MCD650S");
  strcpy (s[57],"");
  strcpy (s[58],"PLAYER MODES");
  strcpy (s[59]," Normal       : Next song in playlist");
  strcpy (s[60]," Shuffle      : Random next song");
  strcpy (s[61]," Next Song    : Next song already selected");
  strcpy (s[62]," Shut Down    : Shut Down after next song");
  WINDOW *w1;
  w1=newwin (scr+2,62,7,9);
  wrefresh (w1);
  werase (w1);
  WINDOW *w;
  w=newwin (scr,60,8,10);
  wsetcolor (w,12,0);
  for (int h=0;h<=scr+2;h++) mvwprintw (w,h,0,"                                                             ");
  wsetcolor (w,12,0);
  box (w,ACS_VLINE,ACS_HLINE);
  wsetcolor (w,13,1);
  mvwprintw (w,0,1," Help ");
  wsetcolor (w,12,0);
  mvwprintw (w,scr-1,48," q - quit ");
  wrefresh(w);
  noecho();
  timeout (1);
  k=0;
  do
  {
    for (int i=0;i<=scr-5;i++) 
    {
      mvwprintw (w,2+i,2,"                                                         ");
      mvwprintw (w,2+i,2,"%s",s[i+k]);
    }
    wrefresh(w);
    do
    {
      messages();
      v=getch();
    } while (v==ERR);
    if (v == 27) 
    {
      v=getch();
      if (v==91)
      {
        v=getch();
	if (v==65) if (k > 0) k--;
        if (v==66) if (k < 62-(scr-5)) k++;
      }
    }
  }    
  while (v!='q');
  werase (w);
  reread=1;
}
Пример #6
0
void about(int scr)
{
/*    initscr();
    WINDOW *w;
    w=newwin (16,78,7,1);
    werase(w);
    setcolor (1,1);
    mvprintw (7,34,"LinuxEyes");
    setcolor (1,1);
    mvprintw (9,2,"AUTHOR");
    mvprintw (13,2,"COPYRIGHT");
    mvprintw (17,2,"LOTS OF THANKS TO");
    mvprintw (20,2,"BUGS AND SUGGESTIONS");
    setcolor (1,0);
    mvprintw (10,5,"Alexandru Radovici - [email protected]");
    mvprintw (11,5,"                     [email protected]");
    mvprintw (14,5,"This program is free. You may use it on your own risk. You may distribute");
    mvprintw (15,2,"it only integral.");
    mvprintw (18,5,"Xaudio - http://www.xaudio.com"); 
    mvprintw (21,5,"If you have found bugs or have some suggestions to make please send me an");
    mvprintw (22,2,"e-mail. Thank you.");
    wrefresh (w); */
  int v,k;
  char s[100][100];
  strcpy (s[0],"AUTHOR");
  strcpy (s[1],"    Alexandru Radovici - [email protected]");
  strcpy (s[2],"");
  strcpy (s[3],"VERSION");
  strcpy (s[4],"    LinuxEyes 0.6, build 2 (December 15, 2001)");
  strcpy (s[5],"");
  strcpy (s[6],"ECLIPSE");
  strcpy (s[7],"    http://nike.lem.uttgm.ro/eclipse/");
  strcpy (s[8],"");
  strcpy (s[9],"LOTS OF THANKS");
  strcpy (s[10],"    Xaudio - http://www.xaudio.com");
  strcpy (s[11],"");
  strcpy (s[12],"COPYRIGHT & DISTRIBUTION");
  strcpy (s[13],"    This software is freeware, you may use it on your");
  strcpy (s[14],"own risk. You may distribute it only integral.");
  strcpy (s[15],"");
  strcpy (s[16],"UPDATE");
  strcpy (s[17],"    http://linuxeyes.tripod.com");
  strcpy (s[18],"");
  strcpy (s[19],"BUGS & SUGGESTIONS");
  strcpy (s[20],"    If you find any bugs or have any suggestion please");
  strcpy (s[21],"e-mail me. ([email protected])");
  WINDOW *w1;
  w1=newwin (scr+2,62,7,9);
  wrefresh (w1);
  werase (w1);
  WINDOW *w;
  w=newwin (scr,60,8,10);
  wsetcolor (w,12,0);
  for (int h=0;h<=scr+2;h++) mvwprintw (w,h,0,"                                                            ");
  wsetcolor (w,12,0);
  box (w,ACS_VLINE,ACS_HLINE);
  wsetcolor (w,13,1);
  mvwprintw (w,0,1," Eclipse LinuxEyes ");
  wsetcolor (w,12,0);
  mvwprintw (w,scr-1,48," q - quit ");
  wrefresh(w);
  noecho();
  timeout (1);
  k=0;
  do
  {
    for (int i=0;i<=scr-5;i++) 
    {
      mvwprintw (w,2+i,2,"                                                         ");
      if ((i+k) <= 21) mvwprintw (w,2+i,2,"%s",s[i+k]);
    }
    wrefresh(w);
    do
    {
      messages();
      v=getch();
    } while (v==ERR);
    if (v == 27) 
    {
      v=getch();
      if (v==91)
      {
        v=getch();
	if (v==65) if (k > 0) k--;
        if (v==66) if (k < 21-(scr-5)) k++;
      }
    }
  }    
  while (v!='q');
  werase (w);
  reread=1;
}
Пример #7
0
void help(int scr)
{
  int v,k;
  char s[200][100];
  strcpy (s[0],"COMMAND LINE");
  strcpy (s[1]," -p           : play");
  strcpy (s[2]," --nocolors   : B&W, for dummy terminals (telnet)");
  strcpy (s[3]," --autoscr    : autodetect the screen's size (BETA)");
  strcpy (s[4]," --fakelines  : draw lines on terminals without ACS");
  strcpy (s[5]," --new_start  : start with default configuration");
  strcpy (s[6],"");
  strcpy (s[7],"PLAYER");
  strcpy (s[8]," z            : previous");
  strcpy (s[9]," x            : play");
  strcpy (s[10]," c            : pause");
  strcpy (s[11]," v            : stop");
  strcpy (s[12]," b            : next");
  strcpy (s[13]," s            : Shuffle On/Off");
  strcpy (s[14]," <ENTER>      : Play ");
  strcpy (s[15]," <SPACE BAR>  : Set As Next ");
  strcpy (s[16]," <TAB>        : Add/Remove to/from filter ");
  strcpy (s[17]," f            : On/Off persistent filter ");
  strcpy (s[18]," F            : Clear filter ");
  strcpy (s[19]," <LEFT>       : Backward");
  strcpy (s[20]," <RIGHT>      : Forward");
  strcpy (s[21]," r            : Repreat current song ");
  strcpy (s[22]," i            : ID3v1.1 TAG Editor (for selected song)");
  strcpy (s[23]," I            : ID3v1.1 TAG Editor (for current song))");
  strcpy (s[24]," j or F3      : Jump to file");
  strcpy (s[25]," <INSERT>     : Volume + ");
  strcpy (s[26]," <DELETE>     : Volume - ");
  strcpy (s[27]," <HOME>       : PCM + ");
  strcpy (s[28]," <END>        : PCM - ");
  strcpy (s[29]," <            : Balance left ");
  strcpy (s[30]," >            : Balance right ");
  strcpy (s[31]," e            : Equalizer");
  strcpy (s[32]," '            : Repaint Desktop");
  strcpy (s[33]," *            : Increase desktop width");
  strcpy (s[34]," /            : Decrease desktop width");
  strcpy (s[35]," +            : Increase desktop height");
  strcpy (s[36]," -            : Decrease desktop height");
  strcpy (s[37]," t            : Switch clock display mode");
  strcpy (s[38]," \\            : Change Password");
  strcpy (s[39]," !            : Lock Display");
  strcpy (s[40]," =            : Switch Status Bar Format");
  strcpy (s[41]," h or F1      : Help");
  strcpy (s[42]," ?            : About and Statistics");
  strcpy (s[43]," {            : Set Alarm (\"Radio\") On");
  strcpy (s[44]," }            : Set Alarm (\"Radio\") Off");
  strcpy (s[45]," T            : Set Sleep mode");
  strcpy (s[46]," |            : On/Off Shut Down mode");
  strcpy (s[47]," o            : Settings");
  strcpy (s[48]," Q            : Quit");
  strcpy (s[49],"");
  strcpy (s[50],"PLAYLIST");
  strcpy (s[51]," a            : Add File");
  strcpy (s[52]," d            : Delete File");
  strcpy (s[53]," D            : Add Directory");
  strcpy (s[54]," R            : Delete All");
  strcpy (s[55]," S            : Sort Playlist");
  strcpy (s[56]," <UP>         : Cursor Up");
  strcpy (s[57]," <DOWN>       : Cursor Down");
  strcpy (s[58]," <PAGE UP>    : Page Up");
  strcpy (s[59]," <PAGE DOWN>  : Page Down");
  strcpy (s[60]," 0..9         : Fast Scroll");
  strcpy (s[61]," [            : Move Up");
  strcpy (s[62]," '            : Move Down");
  strcpy (s[63]," l            : Locate Current Song");
  strcpy (s[64]," L            : Autolocate Current Song");
  strcpy (s[65]," p            : Playlist Options");
  strcpy (s[66]," p,n          : New Playlist");
  strcpy (s[67]," p,l          : Load Playlist");
  strcpy (s[68]," p,s          : Save Playlist");
  strcpy (s[69]," p,i          : Import Playlist");
  strcpy (s[70]," p,e          : Export Playlist");
  strcpy (s[71]," E            : Edit playlist file entry");
  strcpy (s[72]," n            : Refresh list");
  strcpy (s[73]," ;            : On/Off save playlist position on exit");
  strcpy (s[74],"");
  strcpy (s[75],"JUMP TO FILE");
  strcpy (s[76]," <ENTER>      : Play");
  strcpy (s[77]," <SPACE BAR>  : Set as next");
  strcpy (s[78]," <TAB>        : Add/Remove to/from filter");
  strcpy (s[79]," F            : Add/Remove all songs to filter");
  strcpy (s[80]," i            : ID3 TAG Edditor");
  strcpy (s[81]," ESC or q     : Close window");
  strcpy (s[82],"");
  strcpy (s[83],"EQUALIZER WINDOW");
  strcpy (s[84]," <PAGE UP>    : Up ALL");
  strcpy (s[85]," <PAGE DOWN>  : Down ALL");
  strcpy (s[86]," a/z          : Up/Down Band #1");
  strcpy (s[87]," s/x          : Up/Down Band #2");
  strcpy (s[88]," d/c          : Up/Down Band #3");
  strcpy (s[89]," f/v          : Up/Down Band #4");
  strcpy (s[90]," g/b          : Up/Down Band #5");
  strcpy (s[91]," h/n          : Up/Down Band #6");
  strcpy (s[92]," j/m          : Up/Down Band #7");
  strcpy (s[93]," k/,          : Up/Down Band #8");
  strcpy (s[94]," l/.          : Up/Down Band #9");
  strcpy (s[95]," ;//          : Up/Down Band #10");
  strcpy (s[96]," r            : Set all bands to 0 (reset equalizer)");
  strcpy (s[97]," L            : Load Preset");
  strcpy (s[98]," S            : Save Preset");
  strcpy (s[99]," I            : Import Preset(s)");
  strcpy (s[100]," D            : Delete Preset(s)");
  strcpy (s[101]," A            : On/Off Automatic Equalizer");
  strcpy (s[102],"");
  strcpy (s[103],"STATISTICS");
  strcpy (s[104]," R            : Reset current session statistics");
  strcpy (s[105],"");
  strcpy (s[106],"SPECIAL FUNCTIONS");
  strcpy (s[107]," P            : Save playlist for MP3 CD Player");
  strcpy (s[108],"                * Save your playlist (p,s). Make a");
  strcpy (s[109],"                  new playlist (p,n).Load Directory (D)");
  strcpy (s[110],"                  from the CD in your playlist.");
  strcpy (s[111],"                * Tested on JazzPIPER MCD650S");
  strcpy (s[112],"");
  strcpy (s[113],"PLAYER MODES");
  strcpy (s[114]," Normal       : Next song in playlist (don\'t shuffle)");
  strcpy (s[115]," Shuffle      : Random next song (shuffle)");
  strcpy (s[116]," Next Song    : Next song is already selected");
  strcpy (s[117]," Filter       : There are files in the filter");
  strcpy (s[118]," P-Filter     : The filter is persistent");
  strcpy (s[119]," Password     : Display is locked with password");
  strcpy (s[120]," Radio        : Start/Stop music at a specific time");
  strcpy (s[121]," Sleep        : Shut Down at a specific time");
  strcpy (s[122]," Shut Down    : Shut Down after current song");
  WINDOW *w1;
  w1=newwin (scr+2,62,7,(nrcols-62)/2);
  wrefresh (w1);
  werase (w1);
  WINDOW *w;
  w=newwin (scr,60,8,(nrcols-60)/2);
  wsetcolor (w,12,0);
  for (int h=0;h<=scr+2;h++) mvwprintw (w,h,0,"                                                             ");
  wsetcolor (w,12,0);
  le_border (w,60,scr);
  wsetcolor (w,13,1);
  mvwprintw (w,0,1," Help ");
  wsetcolor (w,12,0);
  mvwprintw (w,scr-1,46," ESC - quit ");
  wrefresh(w);
  noecho();
  timeout (1);
  k=0;
  do
  {
    wsetcolor (w,12,0);
    for (int i=0;i<=scr-5;i++) 
    {
      mvwprintw (w,2+i,2,"                                                         ");
      mvwprintw (w,2+i,2,"%s",s[i+k]);
    }
    wsetcolor (w,12,0);
    mvwaddch (w,0,28,ACS_HLINE);
    mvwaddch (w,scr-1,28,ACS_HLINE);
    wsetcolor (w,12,1);
    if (k>0) mvwaddch (w,0,28,ACS_UARROW);
    if (k<93-(scr-5)) mvwaddch (w,scr-1,28,ACS_DARROW);
    wrefresh(w);
    do
    {
      messages();
      v=getch();
    } while (v==ERR);
    if (v == 27) 
    {
      v=getch();
      if (v==ERR) v='q';
      if (v==91)
      {
        v=getch();
	if (v==65) if (k > 0) k--;
        if (v==66) if (k < 122-(scr-5)) k++;
      }
    }
  }    
  while (v!='q');
  werase (w);
  reread=1;
}