LameXP - audio conversion

Submit portable freeware that you find here. It helps if you include information like description, extraction instruction, Unicode support, whether it writes to the registry, and so on.
Post Reply
Message
Author
User avatar
deathcubek
Posts: 221
Joined: Thu Jul 14, 2011 9:42 am
Location: Island of Lost Minds

Re: LameXP

#61 Post by deathcubek »

Specular wrote:Btw, can portable users update directly from the app while still maintaining portability?

Edit: tried the in-app update, but it simply downloads the regular installer.
There is no separate "portable version" of LameXP. And there never has been such a version. All versions (regardless of whether you choose the installer or the ZIP package) of LameXP are "portable" - in the sense that the program is fully self-contained and does not require any "external" libraries, frameworks, codecs or whatever to be installed on the computer. Probably the only exceptions here are that you need to install "Apple Application Support", if you want to use QAAC, and that you need to install Avisynth, if you want to use Avisynth input.

There is a "portable mode" though. And the only difference is that, when running in "portable mode", LameXP will store its config files in the same directory where the program file is located - instead of the current user's %LOCALAPPDATA% directory. You can enable this "portable mode" with all versions of LameXP, simply by renaming the program file to "LameXP-Portable.exe" (actually anything that contains "portable" should suffice). Finally, to answer your question: The auto-updater is not supposed to change the name of the program file.

User avatar
webfork
Posts: 10821
Joined: Wed Apr 11, 2007 8:06 pm
Location: US, Texas
Contact:

Re: LameXP

#62 Post by webfork »

Yeah you've stumbled across the tediously difficult way to describe portable. For us there's a sliding scale of portability from bad to good:
  1. Will break if it's run outside Program Files
  2. Writes settings to the registry / appdata folders
  3. Doesn't require additional installation/downloads (exceptions are made for Visual C libraries, dotNET, and Java, but their use isn't preferred)
  4. Writes settings to the application folder
  5. Stealth (writes nothing anywhere besides the app folder or temp folders)
The portability bridge is on #3, with some items going up, some going down. Everything below is and everything above isn't portable. So in the case of LameXP (by site standards) only the "LameXP-Portable.exe" renaming system would be considered portable.

---

Additionally, this whole conversation gets more confusing when talking about the code's ability to run on another operating system. Many other sites use that term for portability so I try to list other operating systems to address this crowd.

User avatar
deathcubek
Posts: 221
Joined: Thu Jul 14, 2011 9:42 am
Location: Island of Lost Minds

Re: LameXP

#63 Post by deathcubek »

I have updated the User's Manual to (hopefully) make things more clear:
http://lamexp.sourceforge.net/doc/Manua ... table-mode
webfork wrote:Yeah you've stumbled across the tediously difficult way to describe portable. For us there's a sliding scale of portability from bad to good:
  1. Will break if it's run outside Program Files
  2. Writes settings to the registry / appdata folders
  3. Doesn't require additional installation/downloads (exceptions are made for Visual C libraries, dotNET, and Java, but their use isn't preferred)
  4. Writes settings to the application folder
  5. Stealth (writes nothing anywhere besides the app folder or temp folders)
LameXP should meet all of this criteria. Or, more specifically, points #1 and #2 do not apply to LameXP, while points #3, #4 and #5 do. The exceptions for point #3 aren't even needed for LameXP, as we don't require or use Java/dotNet. And the MSVC Runtime libraries are either linked statically, or "pivate" copies of the DLL's are loaded directly from the program directory. It is point #4, which requires the "portable mode" of LameXP to be enabled.

webfork wrote:Additionally, this whole conversation gets more confusing when talking about the code's ability to run on another operating system.
I think that is really only possible, if the program is deployed as some kind of "intermediate" language, such as Java's Bytecode or dotNET's CIL, which will be interpreted or JIT-compiled on the target platform. But then you need the corresponding Runtime Environment to be installed on the target system - which is usually pretty heavy (JDK: ~300 MB, dotNET Framework: ~4.5 GB). For most purposes, I prefer providing "cross-platform" support on the source-code level, like the Qt Framework does.

User avatar
webfork
Posts: 10821
Joined: Wed Apr 11, 2007 8:06 pm
Location: US, Texas
Contact:

Re: LameXP

#64 Post by webfork »

deathcubek wrote:I think that is really only possible, if the program is deployed as some kind of "intermediate" language, such as Java's Bytecode or dotNET's CIL, which will be interpreted or JIT-compiled on the target platform. But then you need the corresponding Runtime Environment to be installed on the target system - which is usually pretty heavy (JDK: ~300 MB, dotNET Framework: ~4.5 GB). For most purposes, I prefer providing "cross-platform" support on the source-code level, like the Qt Framework does.
Interesting. Thanks for the breakdown.

Specular
Posts: 443
Joined: Sun Feb 16, 2014 10:54 pm

Re: LameXP

#65 Post by Specular »

Was reminded yesterday of this annoying pop-up:

Image

Accompanied by 5-10 seconds elevator waiting music and another popup.

Image

Wish I could turn off all these dialogs and popups. While I like LameXP's functionality the program certainly isn't broken without an update. Especially considering they now appear on every startup.

User avatar
deathcubek
Posts: 221
Joined: Thu Jul 14, 2011 9:42 am
Location: Island of Lost Minds

Re: LameXP

#66 Post by deathcubek »

Well, being somewhat "annoying" is the whole point of the update reminder. People tend to be lazy when it comes to updates, so a little "motivation" is intended :wink:

Keep in mind that this will only pop up if you haven't updated for more than a whole year! During this year a lot of effort has been made to further improve the software. Also, updating shouldn't take longer than 3 minutes. So what exactly is the reason for concern here?

If you encounter any problem with an up-to-date version, I highly suggest that you report your problem, so it can (hopefully) be resolved...

Finally, please keep in mind that this is free software. If, for whatever reason, you really want to stick with an ancient version (or should development ever be discontinued), you can simply remove the update reminder. This can be done by commenting out a single line!

Specular
Posts: 443
Joined: Sun Feb 16, 2014 10:54 pm

Re: LameXP

#67 Post by Specular »

deathcubek wrote:Well, being somewhat "annoying" is the whole point of the update reminder. People tend to be lazy when it comes to updates, so a little "motivation" is intended :wink:

Keep in mind that this will only pop up if you haven't updated for more than a whole year! During this year a lot of effort has been made to further improve the software. Also updating shouldn't take longer than 3 minutes. So what exactly is the reason for concern here?
I'd absolutely agree for software like web browsers or programs with critical flaws it's best to encourage or just push auto updates. Often though for other programs there's little need for regular updates, unless necessary. I've run foobar2000 versions for example for more than a year without issues without suddenly breaking after working well all that time :) Portable software is also harder to update as it's typically a manual process.
deathcubek wrote:Also, please keep in mind that this is free software. If, for whatever reason, you really want to stick with an ancient version (or should development ever be discontinued), you can simply remove the update reminder. This can be done by commenting out a single line!
Thanks for the tip. I tried commenting out the AutoUpdate\LastCheck=... line in the LameXP-Portable.ini, and the AutoUpdate\Enabled=false option has also always been set to false but no difference in behavior. Is there a specific line I need to add?

User avatar
deathcubek
Posts: 221
Joined: Thu Jul 14, 2011 9:42 am
Location: Island of Lost Minds

Re: LameXP

#68 Post by deathcubek »

Specular wrote:I'd absolutely agree for software like web browsers or programs with critical flaws it's best to encourage or just push auto updates.
Just to give one example why updates are important, even for a tool like LameXP:

A few days ago, I updated the FLAC encoder/decoder that is included with LameXP from FLAC v1.3.0 to FLAC v1.3.1, which fixes two critical vulnerabilities in FLAC.

The vulnerabilities, that were present in FLAC v1.3.0, allowed "remote attackers to execute arbitrary code via a crafted .flac file" (details).
Specular wrote:
deathcubek wrote:Also, please keep in mind that this is free software. If, for whatever reason, you really want to stick with an ancient version (or should development ever be discontinued), you can simply remove the update reminder. This can be done by commenting out a single line!
Thanks for the tip. I tried commenting out the AutoUpdate\LastCheck=... line in the LameXP-Portable.ini, and the AutoUpdate\Enabled=false option has also always been set to false but no difference in behavior. Is there a specific line I need to add?
I was referring to the source code, not the config file :wink:

Also I won't post the specifics here (and I urge others to not do this either), but for everybody with rudimentary C/C++ skills this should be straight-forward to figure out...
Specular wrote:Portable software is also harder to update as it's typically a manual process.
Download the ZIP file, extract it into the same folder where you our old version was located and let it overwrite the deprecated files. Mission accomplished!

(I don't think that going through this process at least once per year is asking too much ^^)

Specular
Posts: 443
Joined: Sun Feb 16, 2014 10:54 pm

Re: LameXP

#69 Post by Specular »

Well, upgraded. It reset the existing ini settings which was kind of annoying, but less so than the notice :p At least it wasn't like recently updating Everything a single version and having hours worth of folder inclusion/exclusion and other settings reset (now that was a take-a-deep-breath moment).

User avatar
deathcubek
Posts: 221
Joined: Thu Jul 14, 2011 9:42 am
Location: Island of Lost Minds

Re: LameXP

#70 Post by deathcubek »

Specular wrote:Well, upgraded. It reset the existing ini settings which was kind of annoying
Actually, the settings for each version are kept in a separate section of the INI file.

Specular
Posts: 443
Joined: Sun Feb 16, 2014 10:54 pm

Re: LameXP

#71 Post by Specular »

deathcubek wrote:Actually, the settings for each version are kept in a separate section of the INI file.
Not here, unfortunately. Only replaced the exe but upon launch the ini was reset, and looking at it now only stores the current settings. Upgraded from 4.0.9.1524 -> 4.1.0.1558 Not such a big deal though, just had to remember what was what.

User avatar
deathcubek
Posts: 221
Joined: Thu Jul 14, 2011 9:42 am
Location: Island of Lost Minds

Re: LameXP

#72 Post by deathcubek »

LameXP v4.11 RC-1
Changes between v4.10 and v4.11 [unreleased]:
* Upgraded build environment to Microsoft Visual Studio 2013 with Update-4
* Updated Qt runtime libraries to v4.8.7 snapshot-4 (2015-02-16), compiled with MSVC 12.0
* Starting with this version, LameXP is based on the MUtilities library + massive code clean-up
* Updated MediaInfo to v0.7.72 (2015-01-07), compiled with ICL 15.0 and MSVC 12.0
* Updated SoX to v14.4.2-Git (2012-10-06), compiled with ICL 15.0 and MSVC 12.0
* Updated Opus libraries to v1.1.x and Opus-Tools v0.1.9 to latest Git Master (2014-10-04)
* Updated mpg123 decoder to v1.21.0 (2014-10-11), compiled with GCC 4.9.1
* Updated Vorbis encoder to OggEnc v2.87 (2014-06-24), using libvorbis v1.3.4 and aoTuV b6.03_2014
* Updated Vorbis decoder to OggDec v1.10.1 (2014-06-25), using libVorbis v1.3.4
* Updated FLAC encoder/decoder to v1.3.1 (2014-11-26), compiled with ICL 15.0 and MSVC 12.0
* Updated GnuPG to v1.4.18 (2014-06-30), compiled with GCC 4.9.1
* Updated QAAC add-in to the latest to QAAC v2.44, including a fix for the --artwork option
* Fixed potential crash in Cue Sheet importer (occurred when all input files were missing)
* Fixed a severe performance bottleneck, especially with a large number of parallel instances
* Fixed a very rare problem that, occasionally, prevented the TEMP folder from being removed
* The limit for the maximum number of parallel instances has been increased to 32
* Experimental support for Windows 10 Technical Preview
Last edited by deathcubek on Sun Mar 22, 2015 5:42 am, edited 1 time in total.

User avatar
deathcubek
Posts: 221
Joined: Thu Jul 14, 2011 9:42 am
Location: Island of Lost Minds

Re: LameXP

#73 Post by deathcubek »

LameXP v4.11 RC-3
Changes between v4.10 and v4.11 [unreleased]:
* Upgraded build environment to Microsoft Visual Studio 2013 with Update-4
* Starting with this version, LameXP is based on the MUtilities library + massive code clean-up
* Added support for the DynamicAudioNormalizer normalization filter
* Updated Qt runtime libraries to v4.8.7 snapshot-4 (2015-02-16), compiled with MSVC 12.0
* Updated MediaInfo to v0.7.72 (2015-01-07), compiled with ICL 15.0 and MSVC 12.0
* Updated SoX to v14.4.2-Final (2015-02-22), compiled with ICL 15.0 and MSVC 12.0
* Updated Opus libraries to v1.1.x and Opus-Tools v0.1.9 to latest Git Master (2014-10-04)
* Updated mpg123 decoder to v1.22.0 (2015-02-24), compiled with GCC 4.9.2
* Updated Vorbis encoder to OggEnc v2.87 (2014-06-24), using libvorbis v1.3.4 and aoTuV b6.03_2014
* Updated Vorbis decoder to OggDec v1.10.1 (2014-06-25), using libVorbis v1.3.4
* Updated FLAC encoder/decoder to v1.3.1 (2014-11-26), compiled with ICL 15.0 and MSVC 12.0
* Updated GnuPG to v1.4.18 (2014-06-30), compiled with GCC 4.9.1
* Updated QAAC add-in to the latest to QAAC v2.44, including a fix for the --artwork option
* Fixed potential crash in Cue Sheet importer (occurred when all input files were missing)
* Fixed a severe performance bottleneck, especially with a large number of parallel instances
* Fixed a very rare problem that, occasionally, prevented the TEMP folder from being removed
* The limit for the maximum number of parallel instances has been increased to 32
* Experimental support for Windows 10 Technical Preview
* Updated language files (big thank-you to all contributors !!!)
Last edited by deathcubek on Sat Mar 28, 2015 4:42 am, edited 1 time in total.

User avatar
deathcubek
Posts: 221
Joined: Thu Jul 14, 2011 9:42 am
Location: Island of Lost Minds

Re: LameXP

#74 Post by deathcubek »

LameXP v4.11 RC-4
Changes between v4.10 and v4.11 [unreleased]:
* Upgraded build environment to Microsoft Visual Studio 2013 with Update-4
* Starting with this version, LameXP is based on the MUtilities library + massive code clean-up
* Added support for the DynamicAudioNormalizer normalization filter
* Updated Qt runtime libraries to v4.8.7 snapshot-4 (2015-02-16), compiled with MSVC 12.0
* Updated MediaInfo to v0.7.72 (2015-01-07), compiled with ICL 15.0 and MSVC 12.0
* Updated SoX to v14.4.2-Final (2015-02-22), compiled with ICL 15.0 and MSVC 12.0
* Updated Opus libraries to v1.1.x and Opus-Tools v0.1.9 to latest Git Master (2015-03-26)
* Updated mpg123 decoder to v1.22.0 (2015-02-24), compiled with GCC 4.9.2
* Updated Vorbis encoder to OggEnc v2.87 (2014-06-24), using libvorbis v1.3.4 and aoTuV b6.03_2014
* Updated Vorbis decoder to OggDec v1.10.1 (2014-06-25), using libVorbis v1.3.4
* Updated FLAC encoder/decoder to v1.3.1 (2014-11-26), compiled with ICL 15.0 and MSVC 12.0
* Updated GnuPG to v1.4.18 (2014-06-30), compiled with GCC 4.9.1
* Updated QAAC add-in to the latest to QAAC v2.44, including a fix for the --artwork option
* Fixed potential crash in Cue Sheet importer (occurred when all input files were missing)
* Fixed a severe performance bottleneck, especially with a large number of parallel instances
* Fixed a very rare problem that, occasionally, prevented the TEMP folder from being removed
* The limit for the maximum number of parallel instances has been increased to 32
* Experimental support for Windows 10 Technical Preview
* Updated language files (big thank-you to all contributors !!!)
Updated QAAC Add-in for LameXP, based on QAAC v2.47 (2014-02-15)
http://sourceforge.net/projects/lamexp/ ... p/download
Last edited by deathcubek on Sun Apr 05, 2015 2:30 pm, edited 1 time in total.

User avatar
webfork
Posts: 10821
Joined: Wed Apr 11, 2007 8:06 pm
Location: US, Texas
Contact:

Re: LameXP

#75 Post by webfork »

Thanks for that ... more info on DynamicAudioNormalizer is here in the forums (also brought to our attention by deathcubek). Great to have a GUI for that tool.

Post Reply