History

For all interested in how winLAME came to be, here's a little story.

The early years (2000-2001)

winLAME started in the year 2000 when I was programming User Interfaces at a small company, during semester breaks. I had only two weeks left to work when the company was closed down due to the dot com bubble burst. My team lead said "You get paid for the remaining time, but you don't have to actually program anymore".

The idea to do winLAME came from experimenting with LAME. I had a small Linux server at home where I managed to compile LAME and encode Wave files to MP3. I thought, why not doing a Windows version with a neat User Interface. Together with the free time at work, I started coding.

Since LAME was an Open Source project, I also started winLAME as one, using the SourceForge services, which were very helpful at the time. The project was registered in February 2001, code was stored in CVS (Concurrent Versions System) and I did a small website to download the first versions:

The productive years (2001-2010)

The next years I was rather active on the project, experimenting with user interfaces and source code. I did several releases of the software, in the "release early, release often" style. I also got positive feedback from single enthusiastic users. The wizard style of the user interface was praised the most. I was also fascinated how many downloads the software packages had, which was about 800 dowloads/week, at peak times.

During these years LAME was updated very often. It had many obscure switches and was complicated to use. winLAME also used the same switches. The LAME team realized that presets would be easier for the average user to grasp, and so the "alt-presets" were introduced. I changed winLAME also, to only offer LAME options they could understand. After all, winLAME should be a tool for the normal user.

winLAME also incorporated other audio libraries, e.g. Ogg Vorbis or LibSndFile, which supported many audio input formats. Other programmers also worked on winLAME, e.g. a CD reading module from DeXT, a Monkey's Audio decoding module from Kjetil Haga or optimized LAME DLLs from John33.

In 2006 work on winLAME slowed down quite a bit. I did some releases in 2009 and 2010, but I considered winLAME as "mature" and complete.

The lazy years (2011-2016)

New ideas about user interface design sometimes came up, and I thought about reviving winLAME. I wanted to use multiple CPU cores, which now were a common thing. In 2012 I moved the source code from CVS to Git and started to refactor code, generally clean up the project and trying out some things. I implemented a ribbon style main window (ribbons were introduced in Office 2007) and began writing a task manager that manages running multiple encoder tasks in parallel. Development on the new version stalled again, and I didn't release a new version.

Now and the future (2016-2017)

In late 2016 I wanted to finally finish the winLAME project that accompanied me for the last 16 years. I first updated all the audio encoding and decoding libraries and realized that there wasn't a lot of movement in the audio encoding scene in the last years. LAME development has stalled, and the only new encoders were Speex (which was already obsolete again) and Opus.

I finished the parallel encoding task manager and the new ribbon interface and made many improvements under the hood. I decided to keep the wizard dialogs as "Classic UI", so that veteran users could switch to their known user interface. There are also presets for all encoders, not just LAME. I even cleaned up the winLAME help file, since one user wrote that he finds it very informational.

So now we are here in the present. I decided to do some "beta" releases in order to give the users something to try out, and to gather more feedback. Once the users (and me) are satisfied, I'd do a "winLAME 2017 Release" version and be done with it. But who knows how long winLAME will be maintained? After all, it exists for 17 years already!

Some interesting material


Creative Commons License This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License .