All posts

Next three milestones for PlanMixPlay
Saturday August 8, 2020

I don't write these updates as often as I should. I think developers have a habit of believing that anything that isn't programming isn't making progress. I don't think this habit is unique to developers to be honest. I think any person with a job will feel that if they're not engaging in the core activity that job surrounds, they're not being productive. Be that accounting, managing, building, architecting, you name it. But that's foolish. 

First of all, almost no one becomes successful without being able to at least competently navigate and execute some add-on skills surrounding a core task. E.g. Einstein needed to understand patenting in addition to being a brilliant physicist. Jeff Bezos needed to both be a good developer and a good business man. I think the only individuals I can imagine where the focus is so laser sharp that few, if any, other skills matter, are athletes. But even athletes need to work with their trainer, manage a schedule, etc.

All of this is to say, that I should probably log and write about what I do more often, even if nobody reads it, because it still provides a good space for self-reflection and re-focus on what's important.

With that in mind, I'd like to list what's recently been completed on PlanMixPlay, and what I'd like to achieve next.

Recently completed:

    - MVP functionality - I demo'ed PlanMixPlay to a former colleague recently who noted the three things he felt were necessary "Minimum Viable Product" functionality. Specifically:
        - An audio cross-fade - The ability to cross-fade between two songs. It may not be beat-matching, but with proper co-ordination and planning, you can have a bitching set just fading at the right times.
        - Video playback re-enabled - As software keeps growing it is not unusual for features which aren't being actively maintained to break. Video playback was one these, and it is now back to prototypical working order.
        - Load/Save Mixmap - The ability to load and save a composition is another must-have feature if PlanMixPlay is every to be used for more than just local demo play. The framework to do this is now present.
    - Visualizer NeonGrid - The recently release PlanMixPlay Teaser 2 was a culmination of a several weeks of focused work towards visual output I wouldn't be ashamed of leveraging in-front of an audience. While it still sports a few rough edges, on the whole, it finally put together enough compelling elements to be worthy of sharing. The teaser was on top of Reddit's Vjing sub-reddit for a day, and I gained a couple of new YouTube subscribers. Overall, I'd call it a success!

Now let's look to the future. What's next for PlanMixPlay?

    1. NeonGrid control - The NeonGrid can currently only be properly controlled via a debug user-interface. PlanMixPlay must support controlling visual (and audial) elements in the Mixmap in an intuitive manner. A large re-factoring of the PlanMixPlay user-interface code has already been completed to pave the way for this upgrade.
    2. Release polish - In an ideal world, I would have resources to give PlanMixPlay a decent polish before its next release, but I'll have to settle for getting the roughest edges smoothed out. I.e.:
        - Make the audio-waveform somewhat pleasing to look at again.
        - Have audio widgets properly display a name, and have it move according to what's visible in the mixmap.
        - Look into the default media folder *constantly* appearing to reset to the current working directory.
        - Tweak drag interaction to remember where a drag began.
    3. Do a show - Ultimately, PlanMixPlay is being built to be used. I am, and should for the foreseeable future, be an avid user of it. Once the first two tasks have made reasonable progress, I'll do my best to announce a show date in advance to motivate my work.
Alright. That should be enough meandering for one post!

PlanMixPlay Teaser 2
Thursday July 16, 2020

It's taken a lot longer than anticipated, but a new teaser for PlanMixPlay is finally here. I think it is undoubtedly the best vertical slice of PlanMixPlay's functionality by far.

There's a fair bit work left to do, to have the PlanMixPlay User-Interface properly support the types of parameters this new visualizer style supports. The video presents a debugging interface to manipulate the visualizer. However, once this work has been done - it'll be ready to do a proper live show with!

Update re. show postponement
Sunday February 3, 2019

I'm currently facing a higher than usual load of personal activities in my life, forcing me to throttle the least life-crucial activities a bit which unfortunately includes the weekly shows I've been doing. Thus, the schedule moving forward will be bi-weekly. In addition I've had to postpone the show originally scheduled for today by a week.

The bad news is - no show today/tonight. The good news is, the show isn't canceled, so despite now being on a bi-weekly schedule you'll be getting two weekends in a row with a show. Yay for content!

In relation to PlanMixPlay, the most recent development involves better support of debugging visualizers as that's been a growing concern ever since the visualizer pipeline has matured to a point where it can now support the majority of the first envisioned ideas I'd like to implement.

I wish there was more to say/show, but I'll be keeping the cards a bit close to the chest until I have something I'm comfortable putting on display.

2018 comes to a close
Saturday December 22, 2018

This year seems to have passed even faster than the one that preceded it. It's been the year of my online streaming comeback and so far I'm fairly content with the result. If there's anything to be discontent about, it's perhaps the speed at which PlanMixPlay progresses. There's absolutely no lack of ideas and features I'd like to cram in there at the push of a button, but alas, it's also important to be able to prioritize.

I feel this is something I'm not great at, but hopefully getting better.

It's no secret that I've long wanted to get PlanMixPlay out in-front of an actual crowd, and while it's still not quite ready, I think 2019 might actually be the year I have not only my next prototype party, but perhaps even a proper live local show. Time will tell. But although progress has felt slow, it's been a steady slow. I try my best to balance my time between the actual live show I've started doing again on SlayRadio, as well as getting PlanMixPlay feature ready for a proper live show. A few recent upgrades that I recall would include...

On the application PlanMixPlay:

  • Basic audio spectrum analysis now supported
  • Basic visualizer utilizing spectrum analysis created
  • Updated most visualizers to run in native 1080p
  • C-64 console output now supports color
  • A single emoji (heart) supported via chat

On the website -

  • Partially fixed YouTube videos not being properly tied to completed shows. Given the sheer size of YouTube, it's not surprising that their system takes a little while (+5 mins perhaps?) to expose a new video via their API. Unfortunately, the previous code was fairly overzealous in trying to prevent needless quota calls - meaning if it doesn't absolutely have to poll YouTube, it doesn't. So the site only polled YouTube if informed that a show had recently ended. SlayRadio - being quite timely to do this - lead to querying for the completed show, before it was ever properly published. Although the window within which polls YouTube has been widened, there's still something off, as a recent show has yet to be properly tied to its associated video.
  • Fixed immediately reverting back to a non-show state if the show's a bit late. As exceedingly professional as the show is, it does happen, on occasion, once in a blue moon, that it's a little late. Previously, once we'd pass the official time of commencement, would revert back to just showing the regular (no active show) site. Any newcomers would be thoroughly confused by this, as even the 'upcoming shows' would no longer display the (almost begun) show, so it'd be as if it never happened. Now there's a bit of a window to allow for irregular starting times.
  • Minor user-friendly polish. Tweaked a few details such as showing the show title, on the site, as well as auto-refreshing the browser if the show is late.

Last, but certainly not least, I want to thank everyone who's bothered to give me their attention, as well as provided feedback.

Happy holidays and a happy new year!

A wild show appears
Monday September 10, 2018

You used listen. It's super effective!

Turns out, watch is also super effective.

This Sunday around noon in Europe, or about 8pm around these parts!

So why now, and why so late?

Well here's the skinny. My ISP's been sick. Throwing up all over the place, unable to keep anything down really. In short - I've never quite tried anything like it. Since the 11th of July my connection started exhibiting packet loss left and right. At first it was intermittent. Eventually it progressed into full-blown constant full-on packet loss.

Friends and family will hopefully agree that I am a patient man. Perhaps too patient.

I'd like to lead upfront by saying my ISP is/was clearly a family business. The upside of a small ISP is that their support is generally easier to deal with if you've got some basic computer skills. I.e. you'll not first have to wade through multiple tiers of support before finally getting to a person who can do more than ask you to turn off/on various pieces of hardware.

An example of this upside is when I was having issues broadcasting my stream to SlayRadio way back when I started trying to do shows here down-under. They actually got in touch with Slaygon (who runs SlayRadio) and did some troubleshooting directly with him. Try doing that with any other ISP. Admittedly, 99% of the time the problem won't be with the ISP, but on the off-chance that it is, you can count your blessings when you're not dealing with a massive corporation.

The downside of a smaller ISP is that their tools may be limited and the sheer manpower they have is also strongly capped. This I unfortunately experience in spades towards the 'end'.

I think it took my ISP about two weeks to even confirm the issue was not on my end. Then some ideas were hatched and attempts were made, none of which ultimately resolved the issue. I think that stretched over 2-3 weeks. At this stage my ISP seemed convinced it was likely their supplier (OptiComm) who was the source of the issue, perhaps even some hardware in my apartment supplied by OptiComm.

It took about another week to get a tech to show up from their supplier (we're now about 6 weeks in for those keeping count), only to confirm that the problem was indeed with my ISP and not OptiComm. Sigh. I was promised a solution within a week (more or less), and instead the ISP basically went belly up.

Sufficed to say, I am now with a new ISP. Despite the unbelievably poor service I was offered towards the end, I still appreciated when my old ISP was 'working'.

All that is old news now and I'm glad my connection has finally stabilized the point of doing shows again. So hopefully I'll see you all this Sunday!