aaronwinborn> i just realized a place we can make getid3 more useful: as a registry of metadata tags, storing the info in a db table on a per-file basis. i started working out the API and hooks we could provide for that

the table could store pairs of tag => value per fid. in d7, assuming the hook_file is implemented, we could do this automatically perhaps. until then, we can provide hooks for other modules to activate it when they save files. or maybe each module (such as audio, audio field, video, etc) could just tell getid3 what tags they want stored (and can take care of field-specific requirements), and then getid3 takes care of the db side. with views 2, we can also provide a 'getid3' file view filter for tags as well. that way, folks can start building file views right away (at least with d6), even before d7's hook_file is out

i'm going out of town for a few days, but will get to work on it when i get back next week.

RobLoach> Drupal 7's hook_file will really help this. And I bet this will produce some really great ideas for the hook. Caching the metadata values somewhere is a must.

aaronwinborn> well, if we're storing them in a table, then views and node will already cache them from there. you have something more in mind? ah, you mean caching the values when we first read them. good idea. the cool thing is that with views2, we'll be able to get some of this functionality even without the hook_file in place. hook_file will put getid3 into overdrive, though, definitely. once i get this new feature in place, i'll work in patches for some of the necessary modules, such as audio, mediafield, etc., to get them in line ;)

i'm planning to submit some patches to audio.module, after i get some new functionality into place in getid3 (registering metadata, etc)

RobLoach> I think having an API to manage holding an external library would help. Something that would allow us to have a hook to add access to GetID3, or something.

Comments

mglaman’s picture

Status: Active » Closed (won't fix)

5.x not supported anymore.