For those following my intermediate updates on twitter then you’ll already know some of the things that will be covered in this combined update (which was started on monday but things got in the way so I’ve decided to combine in week 38 as well since i’m not likely to do much else this weekend). So without holding you up any more, lets get on with the update for the last two weeks…
The main thing done has been getting the bits needed to allow for tweeting what is currently playing in Winamp and was based on a recent user request to try to get around issues with the service that they’re currently using. So by shifting it to Winamp it should a) be more reliable and b) give better control over what is posted.
As can be seen from the screenshot above, it’s making use of Winamp’s ATF (advanced text formatting) support which makes it easy to use the metadata from the current file whilst still being able to add in normal text.
Since the tweet I put up about this, I’ve improved the handling so it now makes an attempt to warn from the preview if the tweet will be over size by changing the text colour of the group header in addition to just showing the character count.
Overall even with eventually finding a usable library to add this support it’s taken a bit longer to get done and working nicely than I’d expected it to take. The main pain was dealing with the authorisation aspect and getting the preferences UI to transition between the different steps involved (as you need to enter your details, then enter an access pin and then hope it’s all correct :) ). But the main thing is that it’s now in and works though am sure I’ll need to do some tweaking of it once it’s available to test.
Related to getting tweeting working, I decided to use twitcurl which relies upon libcurl (something I’ve previously used). As I’ve in mind making more use of it [libcurl] to do networking instead of using the existing jnetlib (which as covered months back doesn’t do HTTPS or more recent web technologies correctly or at all). So the end result is making a libcurl.dll for WACUP which allows for it to be more easily shared around (depending on how things progress).
— Darren Owen (@The_DoctorO) October 5, 2016
Going back to something from early in Week 37 and based on a feedback response, I’ve added the ability with the podcast handling to auto-fill in the tags based on the feed and episode information for those fields not set.
This is configurable via the preferences option highlighted above (default on) and will set title (episode title), artist (feed name), genre (just set as ‘podcast’), year (using published date information) & comment (episode or feed description depending on what is available).
I’m hoping that this will be helpful for those using Winamp to handle their podcasts as it’s already helping me in addition to the tooltip preview :)
The only other big addition has been a new diagnostics preference page tab which was based on some of the week 34 comments relating to memory usage to produce the following:
Firstly the numbers reported come from an OS provided API but don’t necessarily match up with what you may see in Task Manager or other tools (as that gets / calculates things in a different manner I believe). So like with any comparison, as long as it’s done consistently then that’s the best way to go (i.e. using this page).
I have gone a bit further than I initially thought and added the button and also the option which is an automated way of pressing the button not long after Winamp was started. Whether any of that is helpful or not is debatable as memory usage and impact on usability varies depending on the system, how much is used, what other programs are doing and using, etc.
So my thought is that this new page and options might be helpful for some (and myself as well to have a consistent measure for memory usage) but maybe not for everyone (other than the checkbox option :) ).
In general the OS is smart enough to know how to handle what memory it keeps available but once Winamp has been loaded, as can be seen from the screenshot, there’s a lot of potentially allocated or briefly used memory which is no longer directly needed and so can be recovered. This doesn’t mean Winamp is being bad in itself as a lot of the working set usage can come from just plug-ins being loaded and their initialisation code which is then never used again which is then OK for the OS to recover (either when forced or as it should do eventually with time).
Otherwise I’ve been working on some odd bugs I’ve found (nothing major, just little niggles) and trying to work out why an older modern skin (Vortex) was crashing.
The Vortex skin crash when starting playback happens in a component of Winamp which isn’t checking a timer delay from the skin correctly and based on what I remember of the bug reports that compatible Winamp releases were sending showed similar crashes. Fixing it is a bit tricky as there is source code for most of the component that is at fault via an older wasabi sdk but the skin source doesn’t exist either (and maki decompilers are very crude so it’s not simple to track down and fix it from that side). But at least I know what is causing the issue and can try to make a live patch or even a complete replacement component as time allows.
So that’s it for this combined update of what’s been going on over the last two weeks. I now just need to keep my head down and get on with things as the week of the 31st October should hopefully be an interesting one. Here’s a general summary of what was talked about:
- Winamp can now tweet what it’s playing
- Auto-filling missing tags in Winamp downloaded podcasts
- Adding some basic memory reporting / recovery options
- Looking at some weird and wonderful bugs
- The end of the month should be interesting…