FXbool GMTrack::loadTag(const FXString & filename) { GM_TICKS_START(); GMFileTag filetags; if (!filetags.open(filename,FILETAG_TAGS|FILETAG_AUDIOPROPERTIES)){ clear(); return false; } url = filename; filetags.getTitle(title); filetags.getAlbum(album); filetags.getArtist(artist); filetags.getAlbumArtist(album_artist); filetags.getComposer(composer); filetags.getConductor(conductor); filetags.getTags(tags); year = filetags.getYear(); no = filetags.getTrackNumber(); time = filetags.getTime(); bitrate = filetags.getBitRate(); setDiscNumber(filetags.getDiscNumber()); GM_TICKS_END(); return true; }
void GMPlayQueue::updateTrackHash() { GM_TICKS_START(); FXint track; FXint count; tracks.clear(); try { GMQuery q(db,"SELECT track,count(track) FROM playlist_tracks WHERE playlist==? GROUP BY track;"); q.set(0,playlist); while(q.row()) { q.get(0,track); q.get(1,count); tracks.insert(track,count); } } catch(GMDatabaseException & e){ } GM_TICKS_END(); }