Unlike last week, I’m hoping that this will actually appear as posted in the same week it relates to (dunno how or why but I forgot to click publish on the prior week’s post).
Coding wise, this was a somewhat frustrating week at times and like before you may want to check out last week’s update as a few of 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):
- Updated to use LAME v3.100 (lame_enc.dll)
- The changes vs the prior v3.99.5 can be found here
- This is provided as a compile by myself as the normal source for pre-compiled versions doesn’t have a compile ready and the likely speed differential vs a smaller compile by using the shared CRT seems a fair choice
- There’s nothing to stop a different lame_enc.dll being used if wanted as long as the dll exports from it adhere to the normally expected ones - Did a hell of a lot of work on the Streaming Source (dsp_wc.dll) plug-in
- This is another one of those long standing things that has been in the works which I had an urge to work on again as it will eventually allow for taking what is playing through Winamp and have it go into the Streaming Server plug-in (for broadcasters this is effectively a Source DSP plug-in but made specifically for WACUP and it’s level of integration)
- A lot of the work done was in getting the streaming aspect stable and better handling of the MP3 and AAC encoders along with pre-emptive work towards Ogg Vorbis and Opus streaming modes (this is part of the reason for having a replacement enc_vorbis.dll and a pre-made shell for an enc_opus.dll so title updates can be handled ‘correctly’ for these Ogg based streams when completed)
- This streaming plug-in will only support the SHOUTcast v1 protocol (so it’s compatible with all of the common streaming servers) & I don’t plan on supporting the SHOUTcast v2 protocol any time soon (if at all as recent server software negates the need for that protocol vs what people are using) - Changed enc_mp3.dll and dsp_wc.dll to more consistently handle the shared LAME encoder (lame_enc.dll)
- This helps to make the plug-ins more robust in finding a valid lame_enc.dll to use within the WACUP installation - Got a nudge and resolved youtube video playback not working
- At some point over the last few months this feature (one of the earlier ones added into WACUP) broke due to a change between the video formats youtube defaults to using and the way that the youtube-dl tool interprets them.
- The helpful nudge I got helped me to identify what had changed (sometimes waiting a while before re-assessing an issue can be good) and thankfully it came down to a few string comparison changes to get the ‘right’ video urls
- The crux of the issue is that Winamp doesn’t have DASH support (I have plans) which is what youtube seems to favour nowadays but thankfully there are more ‘normal’ MP4 based streams still provided which Winamp is able to play.
That’s it for this week’s update post which is probably a more confusing / technical one than some of the others but the simple summary is that things are progressing on getting certain core parts that I want to be within WACUP.
Finally, I’m trying to spend the next two weeks focusing on getting to a point where I’ve got a new WACUP beta build ready for the beta testers which will be the WACUP beta anniversary build (as it’s almost a year since the first beta build was made available!).
Until next week, happy Winamping!
-dro
Keep it up Dr O, you’re doing great work and we all appreciate it!
Thanks Tim!