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 beginUpdate() { m_batchMode = true; foreach( TrackEditorPtr ec, m_editors ) ec->beginUpdate(); } void endUpdate() { foreach( TrackEditorPtr ec, m_editors ) ec->endUpdate(); m_batchMode = false; QTimer::singleShot( 0, m_collection, SLOT(slotUpdated()) ); } void setComment( const QString &newComment ) { FORWARD( setComment( newComment ) ) } void setTrackNumber( int newTrackNumber ) { FORWARD( setTrackNumber( newTrackNumber ) ) } void setDiscNumber( int newDiscNumber ) { FORWARD( setDiscNumber( newDiscNumber ) ) } void setBpm( const qreal newBpm ) { FORWARD( setBpm( newBpm ) ) } void setTitle( const QString &newTitle ) { FORWARD( setTitle( newTitle ) ) } void setArtist( const QString &newArtist ) { FORWARD( setArtist( newArtist ) ) } void setAlbum( const QString &newAlbum ) { FORWARD( setAlbum( newAlbum ) ) } void setAlbumArtist( const QString &newAlbumArtist ) { FORWARD( setAlbumArtist ( newAlbumArtist ) ) } void setGenre( const QString &newGenre ) { FORWARD( setGenre( newGenre ) ) } void setComposer( const QString &newComposer ) { FORWARD( setComposer( newComposer ) ) } void setYear( int newYear ) { FORWARD( setYear( newYear ) ) } private: bool m_batchMode; Collections::AggregateCollection *m_collection; QList<TrackEditorPtr> m_editors; }; #undef FORWARD