Week 89 Progress Update (things to make you go hmmmm)

I hope you’ve all been well as can be over the last week. I took a bit of ‘me’ time during this week so not as much was done but sometimes you need to have a bit of a break.

Anyway, we’re almost at a months worth of these updates and like before, development is a rolling process, you may want to check out last week’s update as some this week’s work is a continuation of it and even the prior week.

The following things were worked on (in no particular order as taken from my internal development progress changelog):

  • Got a lot further with the JTFE queue handling changes though it’s still not 100% complete
    - This involved a lot of re-validation and re-working of the existing code (i.e. most of the week’s working time was done on this) to make things work more in-sync with using the direct main playlist data structures
    - There’s more that needs to be done but at least it’s not crashing even if some of the queued states and queued positions are showing the wrong value

  • Re-checked a number of the live patches that weren’t working as expected
    - This was a side-effect of trying to force the original winamp.exe to have ASLR enabled but it caused some of the patches to fail due to the re-location of some aspects in memory that hadn’t been noticed when first making the patches

  • Improved the replacement transcoding plug-in to deal with some enc_*.dll plug-in loading failures
    - This is just one of those normal things in testing and refining code over time

  • Finished off a replacement MP3 encoder plug-in (enc_mp3.dll) to replace the native plug-in (enc_lame.dll)
    - This was started on back when I wasn’t doing the blog updates and finally was able to finish it off.
    - This replacement tries to act similarly to the native plug-in (i.e. you get the same config options due to the LAME interfaces used) but it resolves some quirks that the native encoder plug-in seems to have had for some.

  • A few other small plug-in tweaks in standardising code style & code usage

That’s it for this week’s update post which isn’t a lot but sometimes a lot of work is done which cannot really be all singing, all dancing and just a few lines is all that can be done to summarise many hours.

Until next week, happy Winamping!



  1. Hey Darren, glad to see you doing the blog updates again! I enjoy reading your progress. :)

    Mention of the new enc_mp3.dll raised a question for me however, is it still based on LAME?



  2. Glad you’re liking them :) Yup it’s still based on using LAME (that’s the defacto library to use imho) & with the removal of MP3 licensing, I don’t have to mess around with how it’s handled compared to how the native encoder plug-in it replaces. There’s a few aspects of the replacement encoder I still need to look at but it’s at a comparable state to the original enc_lame that it replaces (I changed the name of my replacement to better fit with the naming style of the other encoder plug-ins e.g. enc_opus, enc_vorbis, etc).