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 12th November 2011, 16:55   #501  |  Link
Hobbe
Registered User
 
Join Date: Oct 2007
Posts: 42
Thanks for letting me know.. I have completely missed that! =)

Ok. I understand.. I have the same feeling like you regarding Quicktime.. But it produce great sounding aac files
Meanwhile, I'll try to use the FHG aac encoder
Hobbe is offline   Reply With Quote
Old 12th November 2011, 21:41   #502  |  Link
LoRd_MuldeR
Software Developer
 
LoRd_MuldeR's Avatar
 
Join Date: Jun 2005
Location: Last House on Slunk Street
Posts: 13,248
LameXP v4.03 R2 has been released

Quote:
Changes between v4.02 and v4.03:
* Added an option to rename the output files (based on an user-defined naming pattern)
* Added an option to enforce Stereo Downmix for Multi-Channel sources
* Added "built-in" WMA decoder (see this thread for details) and removed all remnants of "old" decoder
* Added optional support for the FHG AAC Encoder included with Winamp 5.62 (see FAQ doc for details)
* Added a menu for bookmarking "favorite" output folders to the "output folder" tab
* Added an option to hibernate the computer (aka "Suspend-to-Disk") instead of shutting it down
* Added Polish translation, thanks to Sir Daniel K <sir.daniel.k@gmail.com>
* Added channel equalization options to the normalization filter (also fixes multi-channel processing)
* Added indicators for current CPU usage, RAM usage and free diskspace to the processing window
* Updated Qt runtime libraries to v4.8.0 RC-1 (2011-10-13), compiled with MSVC 10.0
* Updated LAME encoder to v3.99.1 Final (2011-11-05), compiled with ICL 12.1.6 and MSVC 10.0 (details)
* Updated mpg123 decoder to v1.13.4 (2011-09-07), compiled with GCC 4.6.1
* Updated MediaInfo to v0.7.51 (2011-11-11), compiled with ICL 12.1.6 and MSVC 10.0
* Updated language files (big thank-you to all contributors !!!)
* Improved "downmix" filter by using explicit channel mappings for each number of input channels
* Fixed a potential bug in CPU type detection that might have caused the wrong binary to be used
* Fixed Cue Sheet import for tracks with certain characters in the title
* Fixed a bug with "Prepend relative source file path to output file" under certain conditions
* Workaround for malicious "anti-virus" programs that prevent innocent applications from functioning
* Enabled "Aero Glass" theme in installer and web-update program (Vista and Windows 7 only)
* Restored Windows 2000 support with Visual Studio 2010 builds (this is experimental!)
* The "Open File(s)" and "Open Folder" dialogs will now remember the most recent directory
* Miscellaneous bugfixes
No important changes since the first v4.03 release. Just updated the LAME and MediaInfo binaries to the latest versions.
__________________
Go to https://standforukraine.com/ to find legitimate Ukrainian Charities 🇺🇦✊
LoRd_MuldeR is offline   Reply With Quote
Old 12th November 2011, 21:55   #503  |  Link
mike20021969
Registered User
 
Join Date: Jul 2007
Location: UK
Posts: 336
After installing an update, I always have to set my personal preferences again - the output folder, disable sounds, uncheck .m3u option, disable shell integration etc...
Is it possible that when an update is installed that preferences are remembered?

This would be a welcome addition to this great program.
Thanks.
mike20021969 is offline   Reply With Quote
Old 12th November 2011, 22:06   #504  |  Link
LoRd_MuldeR
Software Developer
 
LoRd_MuldeR's Avatar
 
Join Date: Jun 2005
Location: Last House on Slunk Street
Posts: 13,248
Quote:
Originally Posted by mike20021969 View Post
After installing an update, I always have to set my personal preferences again - the output folder, disable sounds, uncheck .m3u option, disable shell integration etc...
Is it possible that when an update is installed that preferences are remembered?

This would be a welcome addition to this great program.
Thanks.
Possible, yes. But currently the settings for each version are store separately. And there is a reason for this

Some settings change their range/meaning between different versions and, the way it currently is implemented, a rude surprise is avoided.

After all, I should implement an automatic "import" function that will import settings from previous versions - if and only if possible.

(Nonetheless, if you only install major updates, then you won't update and thus loose your settings very often. So this isn't high priority)
__________________
Go to https://standforukraine.com/ to find legitimate Ukrainian Charities 🇺🇦✊

Last edited by LoRd_MuldeR; 13th November 2011 at 20:57.
LoRd_MuldeR is offline   Reply With Quote
Old 15th November 2011, 16:27   #505  |  Link
Caroliano
Registered User
 
Join Date: Feb 2005
Location: São Paulo, Brazil
Posts: 392
The Web Update and instalation windows should not be aways on top of everything... I'm writing it right now with the download window above the textbox...

Besides that, this is my favorite audio encoding tool. Thanks for the update!
Caroliano is offline   Reply With Quote
Old 15th November 2011, 16:36   #506  |  Link
LoRd_MuldeR
Software Developer
 
LoRd_MuldeR's Avatar
 
Join Date: Jun 2005
Location: Last House on Slunk Street
Posts: 13,248
I made the Installer and Web Updater windows "top most", because Windows has the annoying tendency to show the GUI of newly created processes in the background.

Having to minimize all other windows in order to find the Installer (or Updater) window may be very confusing, especially to less experienced users.

Therefore I think making those windows "top most", in order to ensure they will be visible right away, is the the lesser of two evils. Also: How often do you install/update LameXP?

Unless you use Beta updates, you shouldn't see the updater more often than once every 2 or 3 months. And, while updating, focusing on the Updater isn't the worst thing...

(You can minimize the updater at any time, of course. Probably makes sense only, if your internet connection is extremely slow)
__________________
Go to https://standforukraine.com/ to find legitimate Ukrainian Charities 🇺🇦✊

Last edited by LoRd_MuldeR; 15th November 2011 at 16:46.
LoRd_MuldeR is offline   Reply With Quote
Old 18th November 2011, 22:07   #507  |  Link
LoRd_MuldeR
Software Developer
 
LoRd_MuldeR's Avatar
 
Join Date: Jun 2005
Location: Last House on Slunk Street
Posts: 13,248
Diary of an GUI developer

A small excursion: LameXP uses "background" threads to monitor the encoder/decoder processes (e.g. LAME or OggEnc2) in real-time. A "background" thread will read and parse all text output that its encoder/decoder process writes to the STDOUT or STDERR. And, as soon as the process has written a progress update, the "background" thread emits an update signal. The update signal will then be processed in the "main" (GUI) thread's event loop, causing the progress indicator to be updated. Until now, each "background" thread was emitting update signals as soon as possible and even if the progress hadn't changed at all. It has to be noted that some encoder/decoder processes write a whole lot of status messages to their STDOUT/STDERR, often resulting in the same progress value (percentage) being reported multiple times. This happens, for example, if the progress hasn't changed between two (or more) consecutive status messages. Unfortunately as a result our "background" threads will emit update signals at a high rate! While playing around with the profiler (AMD CodeAnalyst), it came to my attention that the LameXP front-end process was eating a substantial amount of CPU time, in certain cases. It was obvious that this was caused by too many update signals being emitted/processed. For this reason I implemented update signal coalescing today. This means: Now a "background" thread will emit an update signal if and only if the progress has increased by at least 3% - relative to the previous update signal that has been emitted. Depending on the individual encoder/decoder, this significantly reduces the amount of update signals the "main" thread has to process, which clearly reduces the CPU time consumed by the LameXP front-end process. That CPU time is now available to the encoder/decoder processes, which will speed-up the overall process, or to other processes running on the system. It comes at cost of slightly delayed progress indicator updates.

This CPU usage graph shows the CPU load produced by the LameXP front-end process for the very same transcoding job, before (left) and after (right) the optimization:


And here is a more detailed analysis of the CPU time consumption for all processes running on the computer while transcoding, before (left) and after (right) the optimization:


(That's a reduction of LameXP's CPU time consumption to 1/5 in this particular case - using 'mpg123' as decoder and 'OggEnc2' as encoder)
__________________
Go to https://standforukraine.com/ to find legitimate Ukrainian Charities 🇺🇦✊

Last edited by LoRd_MuldeR; 20th November 2011 at 17:48.
LoRd_MuldeR is offline   Reply With Quote
Old 20th November 2011, 01:34   #508  |  Link
Chikuzen
typo lover
 
Chikuzen's Avatar
 
Join Date: May 2009
Posts: 595
Quote:
Originally Posted by LoRd_MuldeR View Post
If there is some OpenSource CLI front-end available for QuickTime AAC, I could add support for that in a similar way to FHG AAC encoder.
http://tmkk.pv.land.to/qtaacenc/
http://sites.google.com/site/qaacpage/
__________________
my repositories
Chikuzen is offline   Reply With Quote
Old 20th November 2011, 01:53   #509  |  Link
LoRd_MuldeR
Software Developer
 
LoRd_MuldeR's Avatar
 
Join Date: Jun 2005
Location: Last House on Slunk Street
Posts: 13,248
Thanks! I will have a look at that one. Though, as said before, adding support for QuickTime AAC is not a priority for me
__________________
Go to https://standforukraine.com/ to find legitimate Ukrainian Charities 🇺🇦✊

Last edited by LoRd_MuldeR; 20th November 2011 at 02:04.
LoRd_MuldeR is offline   Reply With Quote
Old 22nd November 2011, 20:17   #510  |  Link
VzK
Registered User
 
Join Date: Jan 2010
Posts: 9
These probably are dumb questions/suggestions:

Every time I open LameXP I have to clear 'Comment' field from Meta Data, it doesn't memorize the blank deleted info, both portable/install versions.
Then again when I'm editing tag infos on foobar there is always "LAME 32bits version 3.99.1 (http://lame.sf.net)" written in <encoding settings>. It would be cool if this could be personalized.

Regarding 32bits - I'm running under win7 x64 and it works fast without any problem but since there is a LAME 64-bit version available wouldn't make sense that be included/used?

I had the last version updated from the manager and today I noticed 'Adjust Bass (dB)' @ -1,00 and I'm positive I didn't change it.

It would be cool if it was possible to drag a .cue file instead of using the import tool. Lazy, I know.


Thanks for this indispensable app.
VzK is offline   Reply With Quote
Old 22nd November 2011, 20:46   #511  |  Link
LoRd_MuldeR
Software Developer
 
LoRd_MuldeR's Avatar
 
Join Date: Jun 2005
Location: Last House on Slunk Street
Posts: 13,248
Hello, VzK.

Quote:
Originally Posted by VzK View Post
Every time I open LameXP I have to clear 'Comment' field from Meta Data, it doesn't memorize the blank deleted info, both portable/install versions.
Then again when I'm editing tag infos on foobar there is always "LAME 32bits version 3.99.1 (http://lame.sf.net)" written in <encoding settings>. It would be cool if this could be personalized.
LAME adds that signature to the ID3v2 tag all by itself, it's not triggered by LameXP.

It's probably a help for the developers. So if somebody sends in a "problematic" file to the LAME developers, they can easily know form which LAME version that file originated.

Even if I could, I wouldn't modify LAME to suppress its signature. And I wonder what you want to hide? It doesn't leak any person information!

Quote:
Originally Posted by VzK View Post
Regarding 32bits - I'm running under win7 x64 and it works fast without any problem but since there is a LAME 64-bit version available wouldn't make sense that be included/used?
LameXP already contains a SSE2-optimized build (Intel-only) of LAME and a generic 'IA32' build with SSE2 runtime CPU-dispatching.

Including a 64-Bit build "just because we can" isn't a good idea. It would make LameXP.exe even bigger.

And, as the 64-Bit builds of LAME currently can't be build with Assembler-optimizations enabled, they would probably be even slower...

(I did a test with various compiler settings a while ago and the 64-Bit build was the slowest on my system)

Quote:
Originally Posted by VzK View Post
I had the last version updated from the manager and today I noticed 'Adjust Bass (dB)' @ -1,00 and I'm positive I didn't change it.
You probably changed it accidentally with the Mouse Wheel when scrolling down the Advanced Options page, seriously

(If not, I'll investigate it, as soon as you give me detailed instructions on how to reproduce the issue)

Quote:
Originally Posted by VzK View Post
It would be cool if it was possible to drag a .cue file instead of using the import tool. Lazy, I know.Thanks for this indispensable app.
LameXP uses MediaInfo to detect the type of a file.

That's why you can throw a bunch of files onto LameXP and still it will be able to tell the type of each file and select the suitable decoder.

That's not possible with Cue Sheets, because these are simple Text files.

Well, we could try to guess that a file with extension .cue is a Cue Sheet, but file extensions are not unambiguous and might even be "wrong".
__________________
Go to https://standforukraine.com/ to find legitimate Ukrainian Charities 🇺🇦✊

Last edited by LoRd_MuldeR; 22nd November 2011 at 21:20.
LoRd_MuldeR is offline   Reply With Quote
Old 23rd November 2011, 01:02   #512  |  Link
LoRd_MuldeR
Software Developer
 
LoRd_MuldeR's Avatar
 
Join Date: Jun 2005
Location: Last House on Slunk Street
Posts: 13,248
Here is experimental QAAC (Apple QuickTime/iTunes AAC encoder) support

You will need to install the QAAC Add-in for LameXP from this location:
http://www.mediafire.com/file/8ifdny...2011-11-22.zip

Last but not least, if you do not have an up-to-date QuickTime or iTunes installed yet, you will have to download and install that too

(Note: If both, Nero AAC and QAAC, are available, then LameXP will give preference to QAAC for now!)
__________________
Go to https://standforukraine.com/ to find legitimate Ukrainian Charities 🇺🇦✊

Last edited by LoRd_MuldeR; 4th December 2011 at 23:38.
LoRd_MuldeR is offline   Reply With Quote
Old 1st December 2011, 23:42   #513  |  Link
LoRd_MuldeR
Software Developer
 
LoRd_MuldeR's Avatar
 
Join Date: Jun 2005
Location: Last House on Slunk Street
Posts: 13,248
LameXP v4.04 Alpha-6:

Quote:
Changes between v4.03 and v4.04:
* Added support for the QAAC Encoder, requires QuickTime v7.7.1 or newer (see FAQ doc for details)
* Updated LAME encoder to v3.99.2 Final (2011-11-18), compiled with ICL 12.1.7 and MSVC 10.0 (details)
* Updated MediaInfo to v0.7.51+ (2011-11-19), compiled with ICL 12.1.6 and MSVC 10.0
* Implemented coalescing of update signals to reduce the CPU usage of the LameXP process (details)
* Run more than four instances in parallel on systems with more than four CPU cores (details)
__________________
Go to https://standforukraine.com/ to find legitimate Ukrainian Charities 🇺🇦✊

Last edited by LoRd_MuldeR; 4th December 2011 at 23:29.
LoRd_MuldeR is offline   Reply With Quote
Old 4th December 2011, 11:40   #514  |  Link
littleD
Registered User
 
littleD's Avatar
 
Join Date: Aug 2008
Posts: 343
Hello Lord Mulder, do you take in account Intel Hyperthreading? When i was compressing on corei3mobile 2cores/4threads with two cores set in lamexp, my cpu wasnt full utilised. When i set to 4 cores, cpu went on 100% and compressing was faster. Not big deal cause we can manualy set this option, but since you automate parallel instance count, You might consider Hyperthreading too. Wonder if same apply to bulldozer.
littleD is offline   Reply With Quote
Old 4th December 2011, 14:13   #515  |  Link
LoRd_MuldeR
Software Developer
 
LoRd_MuldeR's Avatar
 
Join Date: Jun 2005
Location: Last House on Slunk Street
Posts: 13,248
Quote:
Originally Posted by littleD View Post
Hello Lord Mulder, do you take in account Intel Hyperthreading? When i was compressing on corei3mobile 2cores/4threads with two cores set in lamexp, my cpu wasnt full utilised. When i set to 4 cores, cpu went on 100% and compressing was faster. Not big deal cause we can manualy set this option, but since you automate parallel instance count, You might consider Hyperthreading too. Wonder if same apply to bulldozer.
In general, Hyperthreading doesn't need any kind of special support. In theory, all applications with multi-core support will benefit automatically. So does LameXP

Hyperthreading simulates two "logical" cores for each "physical" one. But from the operating systems point of view, HT just doubles the number of CPU cores.

In "Auto" mode, LameXP will detect the number of CPU cores (using the GetNativeSystemInfo function ) and adjusts the maximum number of parallel instances accordingly.

The number of CPU cores reported by GetNativeSystemInfo() should include all CPU cores, e.g. on a Quadcore with HT enabled, it should report eight cores.

Consequently on your Dualcore "Core i3 Mobile" with HT - if it really does have HT (isn't that for the i5 M's only?) - LameXP should detect and use four cores/instances.

Still this is only a maximum! That maximum number of parallel instanced can only be reached, if the number of files transcoded "at once" is at least as high as the maximum.

Moreover: Up to and including LameXP v4.03, the upper bound for the maximum number of instances was four! I implemented a less restrictive formula in LameXP v4.04.

(Also note that, if you overwrite LameXP's decision by manually setting the number of instances, it will run exactly the number of instances you have configured!)

For details please see:
http://lamexp.git.sourceforge.net/gi...=HEAD#89cbd3d0
__________________
Go to https://standforukraine.com/ to find legitimate Ukrainian Charities 🇺🇦✊

Last edited by LoRd_MuldeR; 4th December 2011 at 15:15.
LoRd_MuldeR is offline   Reply With Quote
Old 4th December 2011, 20:38   #516  |  Link
littleD
Registered User
 
littleD's Avatar
 
Join Date: Aug 2008
Posts: 343
Yes, it works as u say in stable 4.03 release. My last version i used was beta-6 snapshot and i wasnt sure if my cpu threads was recognized properly. Now i can't verify, beta expired And nice cpu/ram usage indicator addon btw
First mobile hyperthreaded cpu was intel's 1st gen corei3 series if any wanna know.
littleD is offline   Reply With Quote
Old 4th December 2011, 21:25   #517  |  Link
LoRd_MuldeR
Software Developer
 
LoRd_MuldeR's Avatar
 
Join Date: Jun 2005
Location: Last House on Slunk Street
Posts: 13,248
Note that you can always run LameXP with "--console" option to check the number of CPU cores that have been detected.

Output should look like this:
Code:
   CPU vendor id  :  GenuineIntel (Intel: 1)
CPU brand string  :  Intel(R) Core(TM)2 Quad CPU           @ 2.40GHz
   CPU signature  :  Family: 6, Model: 15, Stepping: 7
CPU capabilities  :  MMX: 1, SSE: 1, SSE2: 1, SSE3: 1, SSSE3: 1, x64: 1
 Number of CPU's  :  4
__________________
Go to https://standforukraine.com/ to find legitimate Ukrainian Charities 🇺🇦✊

Last edited by LoRd_MuldeR; 5th December 2011 at 02:14.
LoRd_MuldeR is offline   Reply With Quote
Old 4th December 2011, 23:31   #518  |  Link
LoRd_MuldeR
Software Developer
 
LoRd_MuldeR's Avatar
 
Join Date: Jun 2005
Location: Last House on Slunk Street
Posts: 13,248
LameXP v4.04 Alpha-7:

Quote:
Changes between v4.03 and v4.04:
* Added support for the QAAC Encoder, requires QuickTime v7.7.1 or newer (see FAQ doc for details)
* Updated LAME encoder to v3.99.2 Final (2011-11-18), compiled with ICL 12.1.7 and MSVC 10.0 (details)
* Updated MediaInfo to v0.7.51+ (2011-11-19), compiled with ICL 12.1.6 and MSVC 10.0
* Implemented coalescing of update signals to reduce the CPU usage of the LameXP process (details)
* Run more than four instances in parallel on systems with more than four CPU cores (details)
* Workaround for a bug that causes MediaInfo to not detect the duration of Wave files (64-Bit only)
__________________
Go to https://standforukraine.com/ to find legitimate Ukrainian Charities 🇺🇦✊

Last edited by LoRd_MuldeR; 9th December 2011 at 01:42.
LoRd_MuldeR is offline   Reply With Quote
Old 7th December 2011, 13:28   #519  |  Link
Brazil2
Registered User
 
Join Date: Jul 2008
Posts: 532
Quote:
Originally Posted by VzK View Post
Then again when I'm editing tag infos on foobar there is always "LAME 32bits version 3.99.1 (http://lame.sf.net)" written in <encoding settings>. It would be cool if this could be personalized.
The encoding settings tag can be removed using the -t parameter:

Code:
-t    disable INFO/WAV header

    Disable writing of the INFO Tag on encoding.
    This tag in embedded in frame 0 of the MP3 file. It includes some information about the encoding options of the file,
    and in VBR it lets VBR aware players correctly seek and compute playing times of VBR files.

    When '--decode' is specified (decode to WAV), this flag will disable writing of the WAV header.
    The output will be raw PCM, native endian format. Use -x to swap bytes.
This is having a funny side effect though: if the encoding settings tag is present then the LAME version is reported with an "r" at the end (e.g. 3.98r, 3.99r), but if it's disabled then the full version of the encoder is shown (e.g. 3.98.4, 3.99.3). At least it works like that with LAME versions provided by Rarewares and Jacek Pazera's Lame Front-End.
Brazil2 is offline   Reply With Quote
Old 7th December 2011, 21:39   #520  |  Link
LoRd_MuldeR
Software Developer
 
LoRd_MuldeR's Avatar
 
Join Date: Jun 2005
Location: Last House on Slunk Street
Posts: 13,248
These are two different things:

The so called "LAME header" is an extension of the good old "Xing/Info header". The format of the extended Xing header is described here:
http://gabriel.mp3-tech.org/mp3infotag.html

In the LAME tag there are only 9 characters for the version info. The format for the 'VersionString ' field used to be "LAME3.XXr", but there was some confusion about that recently:
http://www.hydrogenaudio.org/forums/...dpost&p=775750

At the same time, the "long" version string, such as "LAME 32bits version 3.99.1 (http://lame.sf.net)", is included in a normal id3v2 tag.


ID3 (version 2) Tag:
http://img202.imageshack.us/img202/2...1402011120.png

Xing+LAME Header:
http://img248.imageshack.us/img248/2...1402011120.png
__________________
Go to https://standforukraine.com/ to find legitimate Ukrainian Charities 🇺🇦✊

Last edited by LoRd_MuldeR; 7th December 2011 at 23:08.
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 21:16.


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