Index: filefield_meta/filefield_meta.module =================================================================== RCS file: /cvs/drupal-contrib/contributions/modules/filefield/filefield_meta/filefield_meta.module,v retrieving revision 1.14 diff -u -p -r1.14 filefield_meta.module --- filefield_meta/filefield_meta.module 20 Apr 2009 22:29:24 -0000 1.14 +++ filefield_meta/filefield_meta.module 11 Oct 2009 13:29:10 -0000 @@ -103,6 +103,13 @@ function filefield_meta(&$file) { $file->data['audio_bitrate'] = isset($info['audio']['bitrate']) ? $info['audio']['bitrate'] : NULL; //e.g. 64000 $file->data['audio_bitrate_mode'] = isset($info['audio']['bitrate_mode']) ? $info['audio']['bitrate_mode'] : NULL; //e.g. cbr } + + // Added for tags + if(isset($info['tags'])) { + foreach ($info['tags']['id3v2'] as $key => $value) { + $file->data[$key] = $value[0]; + } + } }; /** Index: filefield_meta/includes/filefield_meta.views.inc =================================================================== RCS file: /cvs/drupal-contrib/contributions/modules/filefield/filefield_meta/includes/filefield_meta.views.inc,v retrieving revision 1.1 diff -u -p -r1.1 filefield_meta.views.inc --- filefield_meta/includes/filefield_meta.views.inc 11 Mar 2009 06:02:24 -0000 1.1 +++ filefield_meta/includes/filefield_meta.views.inc 11 Oct 2009 13:29:10 -0000 @@ -162,6 +162,92 @@ function filefield_meta_views_data() { ), ); + // Artist + //$data['filefield_meta']['tags']['id3v2']['artist'] = array( + $data['filefield_meta']['artist'] = array( + 'title' => t('Audio Tag - artist'), + 'help' => t('Song\'s artist'), + 'field' => array( + 'handler' => 'views_handler_field_string', + 'click sortable' => TRUE, + ), + 'sort' => array( + 'handler' => 'views_handler_sort', + ), + 'filter' => array( + 'handler' => 'views_handler_filter_string', + ), + ); + + + // Album + //$data['filefield_meta']['tags']['id3v2']['album'] = array( + $data['filefield_meta']['album'] = array( + 'title' => t('Audio Tag - album'), + 'help' => t('Song\'s artist'), + 'field' => array( + 'handler' => 'views_handler_field_string', + 'click sortable' => TRUE, + ), + 'sort' => array( + 'handler' => 'views_handler_sort', + ), + 'filter' => array( + 'handler' => 'views_handler_filter_string', + ), + ); + + // Title + //$data['filefield_meta']['tags']['id3v2']['title'] = array( + $data['filefield_meta']['title'] = array( + 'title' => t('Audio Tag - title'), + 'help' => t('Song\'s title'), + 'field' => array( + 'handler' => 'views_handler_field_string', + 'click sortable' => TRUE, + ), + 'sort' => array( + 'handler' => 'views_handler_sort', + ), + 'filter' => array( + 'handler' => 'views_handler_filter_string', + ), + ); + + // Track + //$data['filefield_meta']['tags']['id3v2']['track'] = array( + $data['filefield_meta']['track_number'] = array( + 'title' => t('Audio Tag - Track number'), + 'help' => t('Song\'s track number'), + 'field' => array( + 'handler' => 'views_handler_field_numeric', + 'click sortable' => TRUE, + ), + 'sort' => array( + 'handler' => 'views_handler_sort', + ), + 'filter' => array( + 'handler' => 'views_handler_filter_numeric', + ), + ); + + // Genre + //$data['filefield_meta']['tags']['id3v2']['genre'] = array( + $data['filefield_meta']['genre'] = array( + 'title' => t('Audio Tag: genre'), + 'help' => t('Song\'s genre'), + 'field' => array( + 'handler' => 'views_handler_field_string', + 'click sortable' => TRUE, + ), + 'sort' => array( + 'handler' => 'views_handler_sort', + ), + 'filter' => array( + 'handler' => 'views_handler_filter_string', + ), + ); + return $data; }