Skip to main content

Notice

Please note that most of the software linked on this forum is likely to be safe to use. If you are unsure, feel free to ask in the relevant topics, or send a private message to an administrator or moderator. To help curb the problems of false positives, or in the event that you do find actual malware, you can contribute through the article linked here.
Topic: oggenc with FLAC COMMENT COPY support (Read 5600 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

oggenc with FLAC COMMENT COPY support

I've just uploaded a version of oggenc, created by Stan Seibert (Volsung), that has integrated FLAC decoding and comment copying. Although Stan has a copy available elsewhere compiled against the FLAC 1.0.4 libs, the version I've uploaded is an ICL6 compile, compiled against the FLAC 1.1.0 libs.

I'd be grateful for any feedback, particularly as to whether the comment copying works correctly because this could provide a quick means of adding this function to oggdropXPd.

oggenc with FLAC COMMENT COPY support

Reply #1
I just tested this using Speek's Multi frontend (so I could manually change the location of the program, rather than renaming/overwriting my current oggenc), with two different sets of options:

    -q 6.25 --advanced-encode-option lowpass_frequency=19.5
    -q 6

  I chose the first since it was non-standard, and the second to double-check the results. Each time, I got the following results:

Code: [Select]
ERROR while decoding data
state = 3:FLAC__STREAM_DECODER_READ_FRAME


  Using either the standard oggenc (through Speek's Multi frontend for piping) or oggenc2.2, the same parameters begin properly encoding the file. So something isn't quite right yet. 

    - M.

oggenc with FLAC COMMENT COPY support

Reply #2
Quote
I just tested this using Speek's Multi frontend (so I could manually change the location of the program, rather than renaming/overwriting my current oggenc), with two different sets of options:

   -q 6.25 --advanced-encode-option lowpass_frequency=19.5
   -q 6

 I chose the first since it was non-standard, and the second to double-check the results. Each time, I got the following results:

Code: [Select]
ERROR while decoding data
state = 3:FLAC__STREAM_DECODER_READ_FRAME


 Using either the standard oggenc (through Speek's Multi frontend for piping) or oggenc2.2, the same parameters begin properly encoding the file. So something isn't quite right yet. 

   - M.

The problem is not in oggencFLAC, it is that Speeks Multifrontend sees a flac input file and then uses flac.exe to pipe the decoded flac file into oggencFLAC. From the command line the options you specified work fine!! 

Even using Multifrontend, they work fine here, but the input is thru stdin, so the FLAC decoding is not being invoked. The error message you are seeing is, I would suggest, coming from the standard flac.exe and not oggencFLAC.exe.

oggenc with FLAC COMMENT COPY support

Reply #3
All right, I tried it again using oggencFLAC -q 6 "G:\01 Blackbird.flac" as a command line and got the following "Unable To Locate Component" message:

Code: [Select]
This application has failed to start because libmmd.dll was not found. Re-installing the application may fix this problem.


  Next (even though I knew it wouldn't encode) I tried oggenc -q 6 "G:\01 Blackbird.flac" to see if I would get the same error. I didn't, of course; instead it just told me the following:

Code: [Select]
ERROR: Input file "G:\01 Blackbird.flac" is not a supported format


  So then I went straight to oggenc -q 6 "G:\01 Blackbird.wav", and it immediately began encoding. OggencFLAC works for you; therefore, there is some difference between your system and mine. Should a copy of "libmmd.dll" be included with the ZIP archive? Because it doesn't have one, and the file isn't anywhere on my system.

    - M.

oggenc with FLAC COMMENT COPY support

Reply #4
libmmd.dll is a maths library needed by programs compiled by the Intel C++ compiler. There are versions for ICL 6 and ICL 7 at rarewares.

oggenc with FLAC COMMENT COPY support

Reply #5
OK, but then why would the ICL6 compile of oggenc2.2 work fine on my system (without that DLL!)? Does simply adding the FLAC decode and "comment copy" support require referencing libmmd.dll, or would it be possible to compile the program such that the extra DLL was not necessary?

    - M.

oggenc with FLAC COMMENT COPY support

Reply #6
Quote
OK, but then why would the ICL6 compile of oggenc2.2 work fine on my system (without that DLL!)? Does simply adding the FLAC decode and "comment copy" support require referencing libmmd.dll, or would it be possible to compile the program such that the extra DLL was not necessary?

   - M.

It's a good question!  Would you do me a favour, just to test a theory? I just uploaded another version that doesn't need the 2 flac dlls. Would you delete the dlls and try that one, please? The theory, BTW, is that libmmd.dll may not be needed if it is compiled against the static libs.

Thanks in advance.

 

oggenc with FLAC COMMENT COPY support

Reply #7
Encoding works again, but there seems to be an intermittent error in the tag-copying routines. Here are the ASCII interpretations for a couple of tag segments, as shown in HexEdit:

Original FLAC tag for "Blackbird," as recorded by Crosby, Stills, Nash & Young
Code: [Select]
TITLE=BlackbirdTRACKNUMBER=01ALBUM='Ohio' single#ARTIST=Crosby, Stills, Nash & Young    DATE=1970GENRE=Volatile FolkComment=So Far Away


BAD Transcoded Vorbis tag, using the command line oggencFLAC -q 6 "G:\01 Blackbird.flac"
Code: [Select]
TITLE=BlackbirdTRACKNUMBER=01!ALBUM='Ohio' single.1.0 20030126    #ARTIST=Crosby, Stills, Nash & Young    DATE=1970GENRE=Volatile FolkComment=So Far Away


  For reference, I encoded "01 Blackbird.flac" using FLAC 1.0.4 with no padding, and a tag was manually added using Case's Tag/Speek's Tag frontend.

Original FLAC tag for "I Had Too Much to Dream (Last Night)," as recorded by the Electric Prunes
Code: [Select]
TITLE=I Had Too Much to Dream (Last Night)ARTIST=The Electric PrunesALBUM=Reprise single #0532TRACKNUMBER=001    DATE=1966GENRE=Garage PsychLComment=Nuggets: Original Artyfacts from the First Psychedelic Era 1965-1968


GOOD Transcoded Vorbis tag, using the command line oggencFLAC -q 6 "G:\Nuggets_1-01.flac"
Code: [Select]
TITLE=I Had Too Much to Dream (Last Night)ARTIST=The Electric PrunesALBUM=Reprise single #0532TRACKNUMBER=001    DATE=1966GENRE=Garage PsychLComment=Nuggets: Original Artyfacts from the First Psychedelic Era 1965-1968


  I encoded "Nuggets_1-01.flac" using FLAC 1.1.0 (padding is now enabled by default), and a tag was again manually added using Case's Tag/Speek's Tag frontend. For some reason, when transcoding tags from non-1.1.0 encoded files, the encoder is inserting a portion of the current libFLAC identifier. (!)

  Thanks for checking on this, john33.  It looks like your theory is sound... now it's just a problem of tracking down some elusive glitch in the tag parser.

    - M.

oggenc with FLAC COMMENT COPY support

Reply #8
Thanks a lot, M. 

I'll research this some. I'll produce a compile against flac 1.0.4 to see whether it is a compatibility problem.

oggenc with FLAC COMMENT COPY support

Reply #9
New compile uploaded and available from Mirror 1. I located and fixed the comment copying problem.

oggenc with FLAC COMMENT COPY support

Reply #10
Quote
New compile uploaded and available from Mirror 1. I located and fixed the comment copying problem.

Verified here as well... thank you! Is there any chance Garf might implement this in the final version of GT3?

    - M.