Welcome to Doom9's Forum, THE in-place to be for everyone interested in DVD conversion.

Before you start posting please read the forum rules. By posting to this forum you agree to abide by the rules.

 

Go Back   Doom9's Forum > Programming and Hacking > Development

Reply
 
Thread Tools Search this Thread Display Modes
Old 24th May 2020, 10:55   #1681  |  Link
MrVideo
Registered User
 
MrVideo's Avatar
 
Join Date: May 2007
Location: Wisconsin
Posts: 1,687
Quote:
Originally Posted by LoRd_MuldeR View Post
So, you are not talking about temporary WAV files created by LameXP, but some WAV files that you added as source files to be converted?
Correct, sort-of. The source files were actually FLAC files read in by reading the CUE file, so that the single FLAC file can be split into the separate song FLAC files.
Quote:
Maybe you consider these files as "temporary" in your worklfow, but for LameXP these are just normal source files.
Indeed, that I do.
Quote:
Deleting the source file after (successful) conversion is not currently supported. There were requests for such an option before, but I'm still not sure I like the idea...

(This option would have great potential for damage, if the user accidentally enables it, or forgets to turn it off again)
Yep, I understand that. The key to this option is that it would only be in effect when the WAV files were created as the result of importing a FLAC cue file and the final output file type being other than a WAV (flac, mp3, etc.). In other words, as long as the imported files are NOT WAV, then the option would take effect.

Last edited by MrVideo; 24th May 2020 at 10:57.
MrVideo is offline   Reply With Quote
Old 24th May 2020, 12:48   #1682  |  Link
LoRd_MuldeR
Software Developer
 
LoRd_MuldeR's Avatar
 
Join Date: Jun 2005
Location: Last House on Slunk Street
Posts: 13,135
Quote:
Originally Posted by MrVideo View Post
Yep, I understand that. The key to this option is that it would only be in effect when the WAV files were created as the result of importing a FLAC cue file and the final output file type being other than a WAV (flac, mp3, etc.). In other words, as long as the imported files are NOT WAV, then the option would take effect.
Well, the "problem" here is that, once those WAV files have been added to the source files list, they are just "normal" source files.

Of course, we cannot simply delete the source files (after conversion), just because they are WAV files, because WAV files can very well be added to the source file list in other ways - CUE import is not they only way.

So, yeah, to implement what you want, it would be necessary to carry some kind of additional "tag" along with each source file on the list which indicates how the particular source files was added to the list.

But, even then, it would be anything but clear whether the average user wants their source files to be deleted (after conversion), just because these files have been added to the source list via the CUE Sheet importer...
__________________
There was of course no way of knowing whether you were being watched at any given moment.
How often, or on what system, the Thought Police plugged in on any individual wire was guesswork.



Last edited by LoRd_MuldeR; 24th May 2020 at 12:58.
LoRd_MuldeR is offline   Reply With Quote
Old 24th May 2020, 14:52   #1683  |  Link
MrVideo
Registered User
 
MrVideo's Avatar
 
Join Date: May 2007
Location: Wisconsin
Posts: 1,687
Hence an option that defaults to no. Yes, it would require an internal flag, of sorts, to keep track of this. It is a computer program after all. We can do anything with computer programs.
MrVideo is offline   Reply With Quote
Old 27th May 2020, 20:52   #1684  |  Link
LoRd_MuldeR
Software Developer
 
LoRd_MuldeR's Avatar
 
Join Date: Jun 2005
Location: Last House on Slunk Street
Posts: 13,135
Quote:
Originally Posted by MrVideo View Post
Yes, it would require an internal flag, of sorts, to keep track of this. It is a computer program after all. We can do anything with computer programs.
Sure, it can be done, somehow. But I'm not sure the additional complexity to make this possible is worth it for a barely needed feature.

It's not done with the flag alone. If some files on the source files list do have a "self-destruct" flag set, while others don't, this needs to be indicated to the user in the GUI in some suitable way – because we don't want to have a "hidden" state in the application that will take the user by surprise. And, if so, then you'd probably want to also give the user a way to set or clear the "self-destruct" flag as needed...
__________________
There was of course no way of knowing whether you were being watched at any given moment.
How often, or on what system, the Thought Police plugged in on any individual wire was guesswork.



Last edited by LoRd_MuldeR; 27th May 2020 at 20:56.
LoRd_MuldeR is offline   Reply With Quote
Old 29th May 2020, 03:08   #1685  |  Link
MrVideo
Registered User
 
MrVideo's Avatar
 
Join Date: May 2007
Location: Wisconsin
Posts: 1,687
That begs the question.... do users that take a single flac file and extract the individual tracks from the file keep the WAVE files or manually remove them? Obviously I do not keep them.
MrVideo is offline   Reply With Quote
Old 29th May 2020, 09:39   #1686  |  Link
SeeMoreDigital
Life looks better in UHD
 
SeeMoreDigital's Avatar
 
Join Date: Jun 2003
Location: Notts, UK
Posts: 11,646
Quote:
Originally Posted by MrVideo View Post
That begs the question.... do users that take a single flac file and extract the individual tracks from the file keep the WAVE files or manually remove them? Obviously I do not keep them.
Remove them... Of-course
__________________
| I've been testing hardware media playback devices and software A/V encoders and decoders since 2001 | My Network Layout & A/V Gear |
SeeMoreDigital is offline   Reply With Quote
Old 29th May 2020, 21:08   #1687  |  Link
MrVideo
Registered User
 
MrVideo's Avatar
 
Join Date: May 2007
Location: Wisconsin
Posts: 1,687
Quote:
Originally Posted by SeeMoreDigital View Post
Remove them... Of-course
Hence my request for the automatic removal of the temporary WAV files.
MrVideo is offline   Reply With Quote
Old 7th June 2020, 08:29   #1688  |  Link
sloot
Registered User
 
Join Date: Mar 2020
Posts: 3
Hi LoRd_MuldeR.

Thank you for making the no-splash option available.
Can you say something about post # 1674?

Regards.
sloot is offline   Reply With Quote
Old 11th June 2020, 16:12   #1689  |  Link
LoRd_MuldeR
Software Developer
 
LoRd_MuldeR's Avatar
 
Join Date: Jun 2005
Location: Last House on Slunk Street
Posts: 13,135
Quote:
Originally Posted by sloot View Post
Can you say something about post # 1674?
Sorry, did not have time to look into this yet.
__________________
There was of course no way of knowing whether you were being watched at any given moment.
How often, or on what system, the Thought Police plugged in on any individual wire was guesswork.


LoRd_MuldeR is offline   Reply With Quote
Old 12th June 2020, 06:54   #1690  |  Link
MrVideo
Registered User
 
MrVideo's Avatar
 
Join Date: May 2007
Location: Wisconsin
Posts: 1,687
When encoding files, the status for filtering and encoding is not accurate. I've never seen them go above 20%. It varies as to what the peak percentage is. The only one that goes to 100% is decoding. Is there an issue as to why those two aren't displaying percentage correctly?
MrVideo is offline   Reply With Quote
Old 13th June 2020, 17:08   #1691  |  Link
LoRd_MuldeR
Software Developer
 
LoRd_MuldeR's Avatar
 
Join Date: Jun 2005
Location: Last House on Slunk Street
Posts: 13,135
Quote:
Originally Posted by MrVideo View Post
When encoding files, the status for filtering and encoding is not accurate. I've never seen them go above 20%. It varies as to what the peak percentage is. The only one that goes to 100% is decoding. Is there an issue as to why those two aren't displaying percentage correctly?
Well, we "simply" parse the progress that is reported by the current decoder, filter or encoder process, and then we show it in the GUI.

So, every time the decoder, filter or encoder process prints a progress update to the stdout, the corresponding "worker" thread will parse the new progress value and send a signal the "main" (GUI) thread. GUI will then be updated accordingly.

If you think that, for a particular encoder or decoder, the progress is not parsed properly by LameXP, you will have to tell us which exact encoder or decoder is affected. In that case, you should first check the progress updates that are actually printed to the stdout by the affected encoder or decoder (e.g. by running the affected encoder or decoder in the terminal) and compare that to the progress that is displayed in LameXP.

If and only if LameXP is "missing" progress updates that actually have been printed by the encoder or decoder process, we might by able to fix something on the LameXP side. Having said that, progress updates generally work smoothly for me:
http://www.mediafire.com/file/6vbmv2...gress.mkv/file

Last but not least: Be aware that, for short files, the process will complete quickly. So there simply may not be a large number of progress update before the process completes – in which case it may seem like the progress just "jumps" to 100%.
__________________
There was of course no way of knowing whether you were being watched at any given moment.
How often, or on what system, the Thought Police plugged in on any individual wire was guesswork.



Last edited by LoRd_MuldeR; 13th June 2020 at 17:24.
LoRd_MuldeR is offline   Reply With Quote
Old 13th June 2020, 20:30   #1692  |  Link
MrVideo
Registered User
 
MrVideo's Avatar
 
Join Date: May 2007
Location: Wisconsin
Posts: 1,687
Quote:
Originally Posted by LoRd_MuldeR View Post
If you think that, for a particular encoder or decoder, the progress is not parsed properly by LameXP, you will have to tell us which exact encoder or decoder is affected. In that case, you should first check the progress updates that are actually printed to the stdout by the affected encoder or decoder (e.g. by running the affected encoder or decoder in the terminal) and compare that to the progress that is displayed in LameXP.
Just to make things clear as to what I am doing, I'll repost it here: I'm taking flac files that contain multiple tracks and spliting them into separate flac tracks. So, the steps are create the WAV files. Then encode, which consists of decoding (what I do not know, since the WAV files are already there), filtering (normalizing the volume) and then encoding with the flac encoder.

The decoder does show all the way to 100%. The filter and encoder barely get above 0%. At most I've seen the encoder get to is 22% and these were files that took minutes to filter/encode. I'd run them on the command line, but in order to compare apples to apples, I'd have to know what the command line options are that you use. The console output doesn't supply that information.
Quote:
If and only if LameXP is "missing" progress updates that actually have been printed by the encoder or decoder process, we might by able to fix something on the LameXP side. Having said that, progress updates generally work smoothly for me:
http://www.mediafire.com/file/6vbmv2...gress.mkv/file
No idea what encoder you were using and you weren't doing any filtering.
MrVideo is offline   Reply With Quote
Old 13th June 2020, 23:10   #1693  |  Link
LoRd_MuldeR
Software Developer
 
LoRd_MuldeR's Avatar
 
Join Date: Jun 2005
Location: Last House on Slunk Street
Posts: 13,135
Quote:
Originally Posted by MrVideo View Post
Then encode, which consists of decoding (what I do not know, since the WAV files are already there), filtering (normalizing the volume) and then encoding with the flac encoder.

The decoder does show all the way to 100%.
The "decoder" for WAV files is a simple file copy. This is necessary to avoid modifications of the original file when the filter is applied (some filters work "in-place"). This step is simply skipped, if no filters are to be applied.

File copy does not invoke a separate process. We use CopyFileExW() to copy the WAV file. And we install a LPPROGRESS_ROUTINE callback to monitor the progress of the copy operation.

It is very possible that copying the file finishes so quickly that there is not much time to actually see any "intermediate" progress updates. So, in that case, it would effectively just "jump" to 100% very quickly.

Anyway, we can only update the progress displayed in the GUI when Windows actually invokes the supplied LPPROGRESS_ROUTINE callback. There is nothing else we could do on our side, I think.

Quote:
Originally Posted by MrVideo View Post
The filter and encoder barely get above 0%. At most I've seen the encoder get to is 22% and these were files that took minutes to filter/encode. I'd run them on the command line, but in order to compare apples to apples, I'd have to know what the command line options are that you use. The console output doesn't supply that information.
We can only update that progress shown in the GUI when the filter process (e.g. SoX) actually reports any progress update.

As explained before, the one and only case in which things could possibly be improved on the LameXP side would be if any progress updates actually written out by the filter process (e.g. SoX) were "missed" or parsed wrongly by LameXP.

You can see the full command-line that LameXP invokes in the log, as always (just double-click an item after it has finished). Either that, or just use a tool like Process Monitor.

Quote:
Originally Posted by MrVideo View Post
No idea what encoder you were using and you weren't doing any filtering.
I was converting AAC (MP4) to MP3 with normalization filter enabled, in order to show you that the progress is displayed smoothly for the AAC decoder (FAAD), as well as the normalization filterer (SoX) and the MP3 encoder (LAME).

If you look at the video more carefully, you will see that the "filter" progress smoothly goes up from 0% to 100%. You can best see this with Track #1, which is the longest – it still completes pretty fast, so may want to step frame-by-frame.
__________________
There was of course no way of knowing whether you were being watched at any given moment.
How often, or on what system, the Thought Police plugged in on any individual wire was guesswork.



Last edited by LoRd_MuldeR; 13th June 2020 at 23:20.
LoRd_MuldeR is offline   Reply With Quote
Old 14th June 2020, 11:39   #1694  |  Link
LoRd_MuldeR
Software Developer
 
LoRd_MuldeR's Avatar
 
Join Date: Jun 2005
Location: Last House on Slunk Street
Posts: 13,135
Here is new TEST build with some additional debug outputs in WAV decoder and Normalization filter:
http://www.mediafire.com/file/ax0bcn...06-14.zip/file

Looks all good to me, though, when converting a WAV file with the Normalization filter (SoX) enabled:
https://pastebin.com/tinPicAd

(Only "anomaly" we can see here is that SoX reports 100% several times in a row, after reaching 100% for the first time. That is probably because SoX only reports the percentage of the input file that has been read thus far, not the percentage of the output file that has been written. So there probably will be some extra delay at the end of the normalization process, when flushing that pending data that is still buffered inside SoX)
__________________
There was of course no way of knowing whether you were being watched at any given moment.
How often, or on what system, the Thought Police plugged in on any individual wire was guesswork.



Last edited by LoRd_MuldeR; 24th June 2020 at 22:10.
LoRd_MuldeR is offline   Reply With Quote
Old 24th June 2020, 20:01   #1695  |  Link
LoRd_MuldeR
Software Developer
 
LoRd_MuldeR's Avatar
 
Join Date: Jun 2005
Location: Last House on Slunk Street
Posts: 13,135
LameXP v4.19 Alpha-5
https://sourceforge.net/projects/lam...2.exe/download

Quote:
Changes between v4.18 and v4.19 [unreleased]
* Updated Monkey's Audio binary to v5.28 (2020-04-02), compiled with ICL 19.1 and MSVC 14.16
* Updated MediaInfo to v20.03 (2020-04-03), compiled with ICL 19.1 and MSVC 14.16
* Updated cURL to v7.69.1 (2020-03-11), with libcurl v7.69.1 and OpenSSL v1.1.0k
* Added command-line switch --no-splash, which can be used to hide the "splash" screen at startup
__________________
There was of course no way of knowing whether you were being watched at any given moment.
How often, or on what system, the Thought Police plugged in on any individual wire was guesswork.


LoRd_MuldeR is offline   Reply With Quote
Old 12th July 2020, 15:23   #1696  |  Link
LoRd_MuldeR
Software Developer
 
LoRd_MuldeR's Avatar
 
Join Date: Jun 2005
Location: Last House on Slunk Street
Posts: 13,135
LameXP v4.19 Alpha-6
https://sourceforge.net/projects/lam...4.exe/download

Quote:
Changes between v4.18 and v4.19 [unreleased]
* Updated Monkey's Audio binary to v5.28 (2020-04-02), compiled with ICL 19.1 and MSVC 14.16
* Updated mpg123 decoder to v1.26.2 (2020-07-05), compiled with GCC 10.1.0
* Updated MediaInfo to v20.03 (2020-04-03), compiled with ICL 19.1 and MSVC 14.16
* Updated cURL to v7.71.1 (2020-07-01), with libcurl v7.71.1 and OpenSSL v1.1.1g
* Added command-line switch --no-splash, which can be used to hide the "splash" screen at startup
__________________
There was of course no way of knowing whether you were being watched at any given moment.
How often, or on what system, the Thought Police plugged in on any individual wire was guesswork.


LoRd_MuldeR is offline   Reply With Quote
Reply

Tags
aac, aotuv, flac, lame, lamexp, mp3, mp4, ogg, oggenc, opus, vorbis

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +1. The time now is 13:55.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2020, vBulletin Solutions Inc.