George,
I can only speak from my perspective and I appreciate that other users will have different ideas. I hereby acknowledge them in advance.
Media tags come in a wide range of forms and the labels vary as well as the label categories (File:, ASF:, QuickTime: Composite: MPEG:, APE:, ID3: ...)
The complexity involved in just displaying a few different items of tag data is clearly considerable.
Even the reworked FM layout with limitations like fixed fonts, etc doesn't lend itself to be an elegant, fully-fledged folder/directory viewer.
As mentioned in previous discussions, FM has a lot of catching up to do if it wants to be a player in that genre.
So let's not do it that way.
I do see value in a media file selection facility, e.g. "Show me only files where ARTIST equals XXX and ALBUM contains YYY".
Maybe FM could provide that, perhaps via an adapted FILTER list or a pop-up window similar to the one deployed by DIFF.
The process might be along the lines of:
- FM calls a utility program (like EXIFTOOL.EXE) to find what tags are typically available in files within the named directory.
- FM presents a "DIFF-like" pop-up menu showing the available tags and allows user selection of
a) which tags are to be file selection criteria AND
b) which tags the user wishes to work with (or ALL)
- FM then calls the utility again to obtain the names of the files matching the selection criteria and presents that file list as usual.
The user selects files from the FM list as usual and, thanks to the magic of XFORM, the data appears in an Edit Tab.
The XFORM routine would call the utility to produce a list of the user's requested subset of tags within the media file.
That list gets loaded into an EDIT TAB as usual, one tag/value pair per line, allowing viewing and (with care) modification of the values.
In simple terms, I imagine a format not dissimilar from the DIFF 2-column view, like:
cols 1 - 25 Tag label names
cols 27 on Tag values
BOUNDS set 27,MAX so that primary commands don't mess up the labels.
On closure XFORM feeds the lines back to EXIFTOOL.EXE to update the actual media file(s).
If the user wishes to work on multiple files at once, maybe some combination of XFORM and MEDIT could be deployed.
The point is, while the data is in SPFLITE, it is just text data, albeit presented in a somewhat specialised format.
I prefer the use of a utility program over the need to decipher the myriad of tag types myself via thinBasic,
safe, in the certain knowledge that the utility is capable of reading and writing the stuff without file corruption.
The advantages of this method are:
- You don't need to worry about all the tags and to what they should refer.
- You don't need to consider how to read/write the tag information - the utility does that.
- You only need ONE generalised XFORM macro which can reformat the utility output of a tag list into an SPFLite EDIT tab and reverse the process.
- The FM display screen remains largely unencumbered by the different column names, etc. It just displays filenames - as usual.
- The FM new code would be for the pop-up dialog panel and the call to the utility program.
- It will not take a fortnight to load the file display (and even if it did, the user only has him-/herself to blame).
I attach a picture of the EXIFTOOL output from one of my iTunes music files.
It would not be difficult for XFORM to:
- ingest this data
- split it at the first '=' character on each line
- load it into an EDIT Tab in 2 columns as describe above.