Hi I am developing a free MP3 & Ogg encoder for Cakewalk music production software (see http://cwenc.sourceforge.net for details). I use the binary 1.0 Ogg Vorbis release for Windows for the actual encoding, but for handling of tags I have started to use the library. This became necessary as I wanted to reuse any tags (or "comments" as the correct Ogg term is, AFAIK) which might exist in an existing file (possibly entered by an external tag editor), instead of just overwriting the old file. (Note: I'm *not* trying to use ID3 tags, just pure Ogg Vorbis comments) Now I cannot figure out how to do the following: 1) I detect that the intended target file (foobar.ogg) already exists, open it, read any Ogg tags which might be inside the file, and save these for later use. This is easy using ov_open(), ov_comment(), etc. 2) I encode the file using the external oggenc.exe. Also easy. 3) I then want to add the saved tag values to the fresh file. I thought that I could just open the Ogg file, get a handle to the comments structure, and then use vorbis_comment_add_tag() for each saved tag. But the I cannot figure out how to flush/save the new & improved file *without* getting my hands dirty with handling Ogg streams, etc. (yes, I'm lazy) Not that I want to advertise MP3 or ID3 , but with the free id3lib I can just do something like: m_pMP3Tag->Link(filename, ID3TT_NONE); m_pMP3Tag->Update(ID3TT_ID3V2); where the m_pMP3Tag is a class that contains all ID tags from the old file, and "filename" point to the new file without any tags. I have managed to solve my problem for the time being by specifying all the tags on the commandline to oggenc.exe, but I would like to be able to do this programatically in the future. Any help & comments will be appreciated. Mikkel --- >8 ---- List archives: http://www.xiph.org/archives/ Ogg project homepage: http://www.xiph.org/ogg/ To unsubscribe from this list, send a message to 'vorbis-request@xiph.org' containing only the word 'unsubscribe' in the body. No subject is needed. Unsubscribe messages sent to the list will be ignored/filtered.