diff options
Diffstat (limited to 'Projects/dmp.markdown')
| -rw-r--r-- | Projects/dmp.markdown | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/Projects/dmp.markdown b/Projects/dmp.markdown new file mode 100644 index 0000000..9e3232f --- /dev/null +++ b/Projects/dmp.markdown @@ -0,0 +1,11 @@ + +The projects was started by me because I didn't like the fact that most crossplatform media player solutions didn't have a way to import other peoples librairies. DAAP shares are not widely supported and often a real pain to setup. So I set out to build a media player focussed on a shared library between connected clients and shared playlists. + +As a couple of my sub-goals I was going to learn gui programming and master some techniques and libraries. For example; I use Boost.Asio for network communication and timers. This library takes some getting used to when you use the asynchronous calls. Another library I use and learned during this project is Boost.Fusion which can adapt c++ structs to become iterable and allows for some primitive reflection. I use this to generate the views for my model. + +Ofcourse GUI programming is one of the challanges aswell, I'm using the crossplatform Qt GUI library for this. Gui programming has some really interesting problems to solve that take a different approach that I normally would take. Gui programming always tend to become inheritence heavy instead of template heavy, and notifiying the gui of changes in a generic way is still something I haven't fully figured out yet. + +That being said the project is coming along nicely and I have a crude working program as we speak. It still needs lots of work before it is finished though. And being a single person project does not help either. + +Here is a (at the time of writing already) outdated demo of the software. +{% include video.html ogv='../assets/dmpdemo.ogv' webm='../assets/dmpdemo.webm' mp4='../assets/dmpdemo.mp4'%} |
