UI_interpretRecord.c File Reference


Detailed Description

This module interpretes various DB records.

REVISION

Definition in file UI_interpretRecord.c.

#include "../SYSTEM/sys_main.h"
#include "../SYSTEM/sys_clock.h"
#include "../MENU/tmplt.h"
#include "../DB/db.h"
#include "playQ.h"
#include "ui.h"

Include dependency graph for UI_interpretRecord.c:

Include dependency graph

Go to the source code of this file.

Functions

BOOL UI_interpretAudioRecord (st_DBINFO *pInfo, USHORT *buf, char *fname, char *artist, char *title, char *album, char *genre, char *playlist, char *recordings, ULONG *pDuration, ULONG *pSize)
 Funciton interprets audio DB record and sets up player display controls.
BOOL UI_interpretIdentifiedHisiRecord (st_DBINFO *pInfo, USHORT *buf, char *fname, char *artist, char *title, char *album, char *genre, char *playlist, char *recordings, ULONG *pDuration, ULONG *pSize)
 Funciton interprets identified HiSi record and sets up player display controls.
BOOL UI_interpretUnidentifiedHisiRecord (st_DBINFO *pInfo, USHORT *buf, char *fname, char *artist, char *title, char *album, char *genre, char *playlist, char *recordings, ULONG *pDuration, ULONG *pSize)
 Funciton interprets unidentified HiSi record and sets up player display controls.
BOOL UI_interpretFailedHisiRecord (st_DBINFO *pInfo, USHORT *buf, char *fname, char *artist, char *title, char *album, char *genre, char *playlist, char *recordings, ULONG *pDuration, ULONG *pSize)
 Funciton interprets failed HiSi record and sets up player display controls.


Function Documentation

BOOL UI_interpretAudioRecord st_DBINFO pInfo,
USHORT *  buf,
char *  fname,
char *  artist,
char *  title,
char *  album,
char *  genre,
char *  playlist,
char *  recordings,
ULONG *  pDuration,
ULONG *  pSize
 

Funciton interprets audio DB record and sets up player display controls.

Parameters:
pInfo Audio database info.
buf DB record data buffer.
fname File path name.
artist Artist name.
title Title name.
album Album name
genre Genre name
playlist Playlist name.
recordings Recordings category name.
pDuration Duration in seconds of current audio record.
pSize Size in bytes of current audio track file.
Returns:
TRUE if successfully interpreted, otherwise FALSE.
NOTE: 1) DB field are currently all hard-coded. 2) NULL pointer is checked to support buffer allocation one at a time.

Definition at line 66 of file UI_interpretRecord.c.

References DB_getField(), and GEN_strUnpack().

Referenced by MENU__createDbRecordInfoMenu().

00078 {
00079     
00080     int len;
00081     
00082     // Fetch title.
00083     if(title)
00084     {
00085         if(0 == DB_getField((DB_DATA *)buf, 0, (DB_DATA*)title, pInfo))
00086         {
00087             *title = 0;
00088         }
00089     }
00090     
00091     // Fetch playlist.
00092     if(playlist)
00093     {
00094         if(0 == DB_getField((DB_DATA *)buf, 1, (DB_DATA*)playlist, pInfo))
00095         {
00096             *playlist = 0;
00097         }
00098     }
00099     
00100     // Fetch artist.
00101     if(artist)
00102     {
00103         if(0 == DB_getField((DB_DATA *)buf, 2, (DB_DATA*)artist, pInfo))
00104         {
00105             //*artist = 0;
00106             GEN_readXstr((ULONG)text_unknownArtist, (USHORT*)artist, 16);
00107         }
00108     }
00109         
00110     // Fetch album.
00111     if(album)
00112     {
00113         if(0 == DB_getField((DB_DATA *)buf, 3, (DB_DATA*)album, pInfo))
00114         {
00115             *album = 0;
00116         }
00117     }
00118     
00119     // Fetch genre.
00120     if(genre)
00121     {
00122         if(0 == DB_getField((DB_DATA *)buf, 4, (DB_DATA*)genre, pInfo))
00123         {
00124             *genre = 0;
00125         }
00126     }
00127     
00128     // Fetch recording category.
00129     if(recordings)
00130     {
00131         if(0 == DB_getField((DB_DATA *)buf, 5, (DB_DATA*)recordings, pInfo))
00132         {
00133             *recordings = 0;
00134         }
00135     }
00136 
00137     // Extract time length.
00138     if(pDuration)
00139     {
00140         DB_getField((DB_DATA *)buf, 6, (DB_DATA *)pDuration, pInfo);
00141     }
00142     
00143     // Extract size.
00144     if(pSize)
00145     {
00146         DB_getField((DB_DATA *)buf, 7, (DB_DATA *)pSize, pInfo);
00147     }
00148     
00149     // Extract path info.
00150     if(fname)
00151     {
00152         len = DB_getField((DB_DATA *)buf, AUDIO_PATH_DBFLDIDX, (DB_DATA *)fname, pInfo);
00153         GEN_strUnpack((UINT16*)fname, len);
00154     }
00155     
00156     return TRUE;
00157 }

Here is the call graph for this function:

BOOL UI_interpretFailedHisiRecord st_DBINFO pInfo,
USHORT *  buf,
char *  fname,
char *  artist,
char *  title,
char *  album,
char *  genre,
char *  playlist,
char *  recordings,
ULONG *  pDuration,
ULONG *  pSize
 

Funciton interprets failed HiSi record and sets up player display controls.

Parameters:
pInfo Failed HiSi database info.
buf DB record data buffer.
fname File path name.
artist Artist name.
title Title name.
album Album name
genre Genre name
playlist Playlist name.
recordings Recordings category name.
pDuration Duration in seconds of current audio record.
pSize Size in bytes of current audio track file.
Returns:
TRUE if successfully interpreted, otherwise FALSE.
NOTE: 1) DB field are currently all hard-coded. 2) NULL pointer is checked to support buffer allocation one at a time.

Definition at line 391 of file UI_interpretRecord.c.

References DB_getField(), and GEN_strUnpack().

00402 {
00403     
00404     int             len;
00405 
00406     // Fetch title.
00407     if(title)
00408     {
00409         if(0 == DB_getField((DB_DATA *)buf, 0, (DB_DATA*)title, pInfo))
00410         {
00411             *title = 0;
00412         }
00413     }
00414     
00415     // Fetch artist.
00416     //if(artist)    *artist = 0;
00417     if(artist)  GEN_readXstr((ULONG)text_unIdedArtist, (USHORT*)artist, 16);
00418     // Fetch album.
00419     if(album)   *album = 0;
00420     // Fetch playlist.
00421     if(playlist) *playlist = 0;
00422     // Fetch genre.
00423     if(genre)   *genre = 0;
00424     // Fetch recording category.
00425     if(recordings) *recordings = 0;
00426     
00427     // Extract time length.
00428     if(pDuration)
00429     {
00430         DB_getField((DB_DATA *)buf, 6, (DB_DATA *)pDuration, pInfo);
00431     }
00432     
00433     // Extract size.
00434     if(pSize)
00435     {
00436         DB_getField((DB_DATA *)buf, 7, (DB_DATA *)pSize, pInfo);
00437     }
00438     
00439     // Extract path info.
00440     if(fname)
00441     {
00442         len = DB_getField((DB_DATA *)buf, HISI_PATH_DBFLDIDX, (DB_DATA *)fname, pInfo);
00443         GEN_strUnpack((UINT16*)fname, len);
00444     }
00445     
00446     return TRUE;
00447 }

Here is the call graph for this function:

BOOL UI_interpretIdentifiedHisiRecord st_DBINFO pInfo,
USHORT *  buf,
char *  fname,
char *  artist,
char *  title,
char *  album,
char *  genre,
char *  playlist,
char *  recordings,
ULONG *  pDuration,
ULONG *  pSize
 

Funciton interprets identified HiSi record and sets up player display controls.

Parameters:
pInfo Identified HiSi database info.
buf DB record data buffer.
fname File path name.
artist Artist name.
title Title name.
album Album name
genre Genre name
playlist Playlist name.
recordings Recordings category name.
pDuration Duration in seconds of current audio record.
pSize Size in bytes of current audio track file.
Returns:
TRUE if successfully interpreted, otherwise FALSE.
NOTE: 1) DB field are currently all hard-coded. 2) NULL pointer is checked to support buffer allocation one at a time.

Definition at line 193 of file UI_interpretRecord.c.

References DB_getField(), and GEN_strUnpack().

Referenced by MENU__createDbRecordInfoMenu().

00204 {
00205     
00206     int             len;
00207 
00208     // Fetch title.  0, points to clip name, 5, identified track name.
00209     if(title)
00210     {
00211         if(0 == DB_getField((DB_DATA *)buf, 5, (DB_DATA*)title, pInfo))
00212         {
00213             *title = 0;
00214         }
00215     }
00216     
00217     // Fetch artist.
00218     if(artist)
00219     {
00220         if(0 == DB_getField((DB_DATA *)buf, 2, (DB_DATA*)artist, pInfo))
00221         {
00222             //*artist = 0;
00223             GEN_readXstr((ULONG)text_unknownArtist, (USHORT*)artist, 16);
00224         }
00225     }
00226     
00227     // Fetch album.
00228     if(album)
00229     {
00230         if(0 == DB_getField((DB_DATA *)buf, 3, (DB_DATA*)album, pInfo))
00231         {
00232             *album = 0;
00233         }
00234     }
00235 
00236     // Fetch playlist.
00237     if(playlist) *playlist = 0;
00238     // Fetch genre.
00239     if(genre)   *genre = 0;
00240     // Fetch recording category.
00241     if(recordings) *recordings = 0;
00242     
00243     // Extract time length.
00244     if(pDuration)
00245     {
00246         DB_getField((DB_DATA *)buf, 6, (DB_DATA *)pDuration, pInfo);
00247     }
00248     
00249     // Extract size.
00250     if(pSize)
00251     {
00252         DB_getField((DB_DATA *)buf, 7, (DB_DATA *)pSize, pInfo);
00253     }
00254     
00255     // Extract path info.
00256     if(fname)
00257     {
00258         len = DB_getField((DB_DATA *)buf, AUDIO_PATH_DBFLDIDX, (DB_DATA *)fname, pInfo);
00259         GEN_strUnpack((UINT16*)fname, len);
00260     }
00261     
00262     return TRUE;
00263 }

Here is the call graph for this function:

BOOL UI_interpretUnidentifiedHisiRecord st_DBINFO pInfo,
USHORT *  buf,
char *  fname,
char *  artist,
char *  title,
char *  album,
char *  genre,
char *  playlist,
char *  recordings,
ULONG *  pDuration,
ULONG *  pSize
 

Funciton interprets unidentified HiSi record and sets up player display controls.

Parameters:
pInfo Unidentified HiSi database info.
buf DB record data buffer.
fname File path name.
artist Artist name.
title Title name.
album Album name
genre Genre name
playlist Playlist name.
recordings Recordings category name.
pDuration Duration in seconds of current audio record.
pSize Size in bytes of current audio track file.
Returns:
TRUE if successfully interpreted, otherwise FALSE.
NOTE: 1) DB field are currently all hard-coded. 2) NULL pointer is checked to support buffer allocation one at a time.

Definition at line 299 of file UI_interpretRecord.c.

References DB_getField(), and GEN_strUnpack().

00310 {
00311     
00312     int             len;
00313 
00314     // Fetch title.
00315     if(title)
00316     {
00317         if(0 == DB_getField((DB_DATA *)buf, 0, (DB_DATA*)title, pInfo))
00318         {
00319             *title = 0;
00320         }
00321     }
00322     
00323     // Fetch artist.
00324     //if(artist)    *artist = 0;
00325     if(artist)  GEN_readXstr((ULONG)text_toBeIdedArtist, (USHORT*)artist, 16);
00326     // Fetch album.
00327     if(album)   *album = 0;
00328     // Fetch playlist.
00329     if(playlist) *playlist = 0;
00330     // Fetch genre.
00331     if(genre)   *genre = 0;
00332     // Fetch recording category.
00333     if(recordings) *recordings = 0;
00334     
00335     // Extract time length.
00336     if(pDuration)
00337     {
00338         DB_getField((DB_DATA *)buf, 6, (DB_DATA *)pDuration, pInfo);
00339     }
00340     
00341     // Extract size.
00342     if(pSize)
00343     {
00344         DB_getField((DB_DATA *)buf, 7, (DB_DATA *)pSize, pInfo);
00345     }
00346     
00347     // Extract path info.
00348     if(fname)
00349     {
00350         len = DB_getField((DB_DATA *)buf, HISI_PATH_DBFLDIDX, (DB_DATA *)fname, pInfo);
00351         GEN_strUnpack((UINT16*)fname, len);
00352     }
00353     
00354     return TRUE;
00355 }

Here is the call graph for this function:


Generated on Wed Jan 19 01:13:26 2005 for neuros-firmware by  doxygen 1.3.9.1