I've set myself the task of implementing a real time MIDI application. Like all the other software I've written to date, I began by coding. I implemented a tiny GUI (GTK2) application that can control the transport state of the Jack Audio Connection Kit and its clients.
I have never written a real-time application before, and have only ever written one multi-threaded program. Both of these details combine to make this a substantial challenge for me as all the software I have written to date, has not required me to design it first. I've only occasionally needed a pen and paper to work things out.
This project however, won't let me proceed by coding. But I know next to nothing about software design, I am self taught (discounting a 2 yr computer studies course in the mid 1990s). I've always worked stepwise, getting something working and then building upon it.
During my research I've come across the Model View Controller pattern but I'm finding it really difficult to not think about details, and can't find any foundation to build upon without finding problems which bring it all tumbling down.
I need advice to get past this block. I need to stop finding distractions which loose my train of thought. This is one of the distractions. How do I get past this block?